lemmy-ui/src/shared/i18next.ts

123 lines
2.8 KiB
TypeScript
Raw Normal View History

2021-03-01 20:33:57 +00:00
import i18next, { i18nTyped } from "i18next";
import { ar } from "./translations/ar";
2022-01-09 17:57:39 +00:00
import { as } from "./translations/as";
import { bg } from "./translations/bg";
2021-09-28 14:56:38 +00:00
import { bn } from "./translations/bn";
import { ca } from "./translations/ca";
2021-09-28 14:56:38 +00:00
import { cs } from "./translations/cs";
import { cy } from "./translations/cy";
import { da } from "./translations/da";
import { de } from "./translations/de";
2021-02-22 02:39:04 +00:00
import { el } from "./translations/el";
import { en } from "./translations/en";
2021-02-22 02:39:04 +00:00
import { eo } from "./translations/eo";
import { es } from "./translations/es";
import { eu } from "./translations/eu";
2021-02-22 02:39:04 +00:00
import { fa } from "./translations/fa";
import { fi } from "./translations/fi";
import { fr } from "./translations/fr";
import { ga } from "./translations/ga";
import { gl } from "./translations/gl";
2021-02-22 02:39:04 +00:00
import { hi } from "./translations/hi";
import { hr } from "./translations/hr";
import { hu } from "./translations/hu";
import { id } from "./translations/id";
import { it } from "./translations/it";
2021-02-22 02:39:04 +00:00
import { ja } from "./translations/ja";
import { ka } from "./translations/ka";
import { km } from "./translations/km";
import { ko } from "./translations/ko";
2022-01-09 17:57:39 +00:00
import { lt } from "./translations/lt";
2021-09-28 14:56:38 +00:00
import { ml } from "./translations/ml";
import { mnc } from "./translations/mnc";
import { nb_NO } from "./translations/nb_NO";
import { nl } from "./translations/nl";
import { oc } from "./translations/oc";
import { pl } from "./translations/pl";
2021-09-03 03:12:08 +00:00
import { pt } from "./translations/pt";
import { pt_BR } from "./translations/pt_BR";
import { ru } from "./translations/ru";
import { sk } from "./translations/sk";
import { sq } from "./translations/sq";
import { sr_Latn } from "./translations/sr_Latn";
import { sv } from "./translations/sv";
import { th } from "./translations/th";
import { tr } from "./translations/tr";
import { uk } from "./translations/uk";
import { vi } from "./translations/vi";
import { zh } from "./translations/zh";
import { zh_Hant } from "./translations/zh_Hant";
import { getLanguage } from "./utils";
// https://github.com/nimbusec-oss/inferno-i18next/blob/master/tests/T.test.js#L66
const resources = {
en,
el,
eu,
eo,
es,
ka,
hi,
de,
zh,
fr,
sv,
ru,
nl,
it,
fi,
ca,
fa,
pl,
pt_BR,
ja,
gl,
tr,
hu,
uk,
sq,
km,
ga,
sr_Latn,
2020-12-09 15:15:53 +00:00
da,
2021-01-15 21:57:45 +00:00
oc,
2021-02-05 18:13:39 +00:00
hr,
2021-03-01 21:20:08 +00:00
th,
2021-04-02 14:14:33 +00:00
bg,
ar,
ko,
id,
nb_NO,
zh_Hant,
cy,
mnc,
sk,
vi,
2021-09-03 03:12:08 +00:00
pt,
2021-09-28 14:56:38 +00:00
bn,
ml,
cs,
2022-01-09 17:57:39 +00:00
as,
lt,
};
2020-10-24 17:12:13 +00:00
function format(value: any, format: any): any {
2021-02-22 02:39:04 +00:00
return format === "uppercase" ? value.toUpperCase() : value;
}
i18next.init({
debug: false,
2021-10-19 00:42:24 +00:00
compatibilityJSON: "v3",
// load: 'languageOnly',
// initImmediate: false,
lng: getLanguage(),
2021-02-22 02:39:04 +00:00
fallbackLng: "en",
resources,
interpolation: { format },
});
2021-03-01 20:33:57 +00:00
export const i18n = i18next as i18nTyped;
export { resources };