Files
Gitea/web_src/js/modules/i18n.test.ts
T
wxiaoguang c2ebe3724f refactor: introduce trString for frontend (#38741)
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: delvh <dev.lh@web.de>
2026-08-03 04:40:02 +00:00

18 lines
848 B
TypeScript

import {trN, trString} from './i18n.ts';
test('trN', () => {
expect(trN(0, '%d job', '%d jobs', {lang: 'en-US'})).toEqual('0 jobs');
expect(trN(1, '%d job', '%d jobs', {lang: 'en-US'})).toEqual('1 job');
expect(trN(2, '%d job', '%d jobs', {lang: 'en-US'})).toEqual('2 jobs');
expect(trN(1000, '%d job', '%d jobs', {lang: 'en-US'})).toEqual('1000 jobs');
// languages without a distinct singular always use the plural form
expect(trN(1, '%d job', '%d jobs', {lang: 'zh-CN'})).toEqual('1 jobs');
});
test('trString', () => {
expect(trString('from %s to %d', 'main', 12)).toBe('from main to 12');
expect(trString('from %[1]s to %[2]d', 'main', 12)).toBe('from main to 12');
expect(trString('from %s to %[2]d', 'main', 12)).toBe('from main to 12');
expect(trString('from %s to %[3]d', 'main', 12)).toBe('from main to %[3]d');
});