]> Untitled Git - lemmy-ui.git/blob - src/shared/i18next.ts
60edeb4c74b787e802d3bf22ffdf35c2402aeb47
[lemmy-ui.git] / src / shared / i18next.ts
1 import i18next, { i18nTyped } from "i18next";
2 import { getLanguage } from "./utils";
3 import { en } from "./translations/en";
4 import { el } from "./translations/el";
5 import { eu } from "./translations/eu";
6 import { eo } from "./translations/eo";
7 import { es } from "./translations/es";
8 import { de } from "./translations/de";
9 import { fr } from "./translations/fr";
10 import { sv } from "./translations/sv";
11 import { ru } from "./translations/ru";
12 import { zh } from "./translations/zh";
13 import { nl } from "./translations/nl";
14 import { it } from "./translations/it";
15 import { fi } from "./translations/fi";
16 import { ca } from "./translations/ca";
17 import { fa } from "./translations/fa";
18 import { hi } from "./translations/hi";
19 import { pl } from "./translations/pl";
20 import { pt_BR } from "./translations/pt_BR";
21 import { ja } from "./translations/ja";
22 import { ka } from "./translations/ka";
23 import { gl } from "./translations/gl";
24 import { tr } from "./translations/tr";
25 import { hu } from "./translations/hu";
26 import { uk } from "./translations/uk";
27 import { sq } from "./translations/sq";
28 import { km } from "./translations/km";
29 import { ga } from "./translations/ga";
30 import { sr_Latn } from "./translations/sr_Latn";
31 import { da } from "./translations/da";
32 import { oc } from "./translations/oc";
33 import { hr } from "./translations/hr";
34 import { th } from "./translations/th";
35 import { bg } from "./translations/bg";
36
37 // https://github.com/nimbusec-oss/inferno-i18next/blob/master/tests/T.test.js#L66
38 const resources = {
39   en,
40   el,
41   eu,
42   eo,
43   es,
44   ka,
45   hi,
46   de,
47   zh,
48   fr,
49   sv,
50   ru,
51   nl,
52   it,
53   fi,
54   ca,
55   fa,
56   pl,
57   pt_BR,
58   ja,
59   gl,
60   tr,
61   hu,
62   uk,
63   sq,
64   km,
65   ga,
66   sr_Latn,
67   da,
68   oc,
69   hr,
70   th,
71   bg,
72 };
73
74 function format(value: any, format: any): any {
75   return format === "uppercase" ? value.toUpperCase() : value;
76 }
77
78 i18next.init({
79   debug: false,
80   // load: 'languageOnly',
81
82   // initImmediate: false,
83   lng: getLanguage(),
84   fallbackLng: "en",
85   resources,
86   interpolation: { format },
87 });
88
89 export const i18n = i18next as i18nTyped;
90
91 export { resources };