2019-08-09 20:14:43 -04:00
|
|
|
import * as i18n from 'i18next';
|
|
|
|
import { getLanguage } from './utils';
|
|
|
|
import { en } from './translations/en';
|
|
|
|
import { de } from './translations/de';
|
2019-08-10 11:51:21 -04:00
|
|
|
import { zh } from './translations/zh';
|
2019-08-10 14:33:54 -04:00
|
|
|
import { fr } from './translations/fr';
|
2019-08-09 20:14:43 -04:00
|
|
|
|
|
|
|
// https://github.com/nimbusec-oss/inferno-i18next/blob/master/tests/T.test.js#L66
|
|
|
|
// TODO don't forget to add moment locales for new languages.
|
|
|
|
const resources = {
|
|
|
|
en: en,
|
|
|
|
de: de,
|
2019-08-10 11:51:21 -04:00
|
|
|
zh: zh,
|
2019-08-10 14:33:54 -04:00
|
|
|
fr, fr,
|
2019-08-09 20:14:43 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
function format(value: any, format: any, lng: any) {
|
|
|
|
if (format === 'uppercase') return value.toUpperCase();
|
|
|
|
return value;
|
|
|
|
}
|
|
|
|
|
|
|
|
i18n
|
|
|
|
.init({
|
|
|
|
debug: true,
|
|
|
|
// load: 'languageOnly',
|
|
|
|
|
|
|
|
// initImmediate: false,
|
|
|
|
lng: getLanguage(),
|
|
|
|
fallbackLng: 'en',
|
|
|
|
resources,
|
|
|
|
interpolation: {
|
|
|
|
format: format
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
export { i18n, resources };
|