lemmy/ui/src/i18next.ts

46 lines
1.0 KiB
TypeScript
Raw Normal View History

2020-01-06 09:22:51 -07:00
import i18next from 'i18next';
import { getLanguage } from './utils';
import { en } from './translations/en';
2019-08-26 15:42:53 -06:00
import { eo } from './translations/eo';
import { es } from './translations/es';
import { de } from './translations/de';
2019-08-10 12:33:54 -06:00
import { fr } from './translations/fr';
import { sv } from './translations/sv';
2019-08-19 15:29:28 -06:00
import { ru } from './translations/ru';
2019-08-29 12:20:21 -06:00
import { zh } from './translations/zh';
import { nl } from './translations/nl';
2019-10-18 02:10:26 -06:00
import { it } from './translations/it';
2020-01-26 10:35:47 -07:00
import { fi } from './translations/fi';
2020-01-26 13:20:25 -07:00
import { ca } from './translations/ca';
// https://github.com/nimbusec-oss/inferno-i18next/blob/master/tests/T.test.js#L66
const resources = {
en,
2019-08-26 15:42:53 -06:00
eo,
es,
de,
zh,
fr,
sv,
2019-08-19 15:29:28 -06:00
ru,
2019-08-29 12:20:21 -06:00
nl,
2019-10-18 02:10:26 -06:00
it,
2020-01-26 10:35:47 -07:00
fi,
2020-01-26 13:20:25 -07:00
ca,
};
2020-01-26 12:31:34 -07:00
const format = (value: any, format: any, lng: any) => format === 'uppercase' ? value.toUpperCase() : value;
2020-01-06 09:22:51 -07:00
i18next.init({
debug: false,
// load: 'languageOnly',
// initImmediate: false,
lng: getLanguage(),
fallbackLng: 'en',
resources,
2020-01-26 11:53:57 -07:00
interpolation: { format },
});
2020-01-06 09:22:51 -07:00
export { i18next as i18n, resources };