Files
Termix/src/i18n/i18n.ts
T

166 lines
3.6 KiB
TypeScript
Raw Normal View History

2025-09-12 14:42:00 -05:00
import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import LanguageDetector from "i18next-browser-languagedetector";
+1
2025-12-31 22:20:12 -06:00
import enTranslation from "../locales/en.json";
import zhTranslation from "../locales/zh.json";
import deTranslation from "../locales/de.json";
import ptTranslation from "../locales/pt.json";
import ruTranslation from "../locales/ru.json";
import frTranslation from "../locales/fr.json";
import koTranslation from "../locales/ko.json";
import itTranslation from "../locales/it.json";
import esTranslation from "../locales/es.json";
import hiTranslation from "../locales/hi.json";
import bnTranslation from "../locales/bn.json";
import jaTranslation from "../locales/ja.json";
import viTranslation from "../locales/vi.json";
import trTranslation from "../locales/tr.json";
import heTranslation from "../locales/he.json";
import arTranslation from "../locales/ar.json";
import plTranslation from "../locales/pl.json";
import nlTranslation from "../locales/nl.json";
import svTranslation from "../locales/sv.json";
import idTranslation from "../locales/id.json";
import thTranslation from "../locales/th.json";
import ukTranslation from "../locales/uk.json";
import csTranslation from "../locales/cs.json";
import roTranslation from "../locales/ro.json";
import elTranslation from "../locales/el.json";
import nbTranslation from "../locales/nb.json";
2025-09-03 00:14:49 -05:00
i18n
2025-09-12 14:42:00 -05:00
.use(LanguageDetector)
.use(initReactI18next)
2025-09-03 00:14:49 -05:00
.init({
+1
2025-12-31 22:20:12 -06:00
supportedLngs: [
"en",
"zh",
"de",
"pt",
"ru",
"fr",
"ko",
"it",
"es",
"hi",
"bn",
"ja",
"vi",
"tr",
"he",
"ar",
"pl",
"nl",
"sv",
"id",
"th",
"uk",
"cs",
"ro",
"el",
"nb",
],
2025-09-12 14:42:00 -05:00
fallbackLng: "en",
2025-09-03 00:14:49 -05:00
debug: false,
2025-09-12 14:42:00 -05:00
2025-09-03 00:14:49 -05:00
detection: {
2025-09-12 14:42:00 -05:00
order: ["localStorage", "cookie"],
caches: ["localStorage", "cookie"],
lookupLocalStorage: "i18nextLng",
lookupCookie: "i18nextLng",
2025-09-03 00:14:49 -05:00
checkWhitelist: true,
},
2025-09-12 14:42:00 -05:00
resources: {
en: {
translation: enTranslation,
},
zh: {
translation: zhTranslation,
},
2025-10-08 23:55:33 -05:00
de: {
translation: deTranslation,
},
+1
2025-12-31 22:20:12 -06:00
pt: {
translation: ptTranslation,
+7
2025-11-05 10:36:16 -06:00
},
ru: {
translation: ruTranslation,
},
2025-11-17 09:46:05 -06:00
fr: {
translation: frTranslation,
},
+1
2025-12-31 22:20:12 -06:00
ko: {
translation: koTranslation,
},
it: {
translation: itTranslation,
},
es: {
translation: esTranslation,
},
hi: {
translation: hiTranslation,
},
bn: {
translation: bnTranslation,
},
ja: {
translation: jaTranslation,
},
vi: {
translation: viTranslation,
},
tr: {
translation: trTranslation,
},
he: {
translation: heTranslation,
},
ar: {
translation: arTranslation,
},
pl: {
translation: plTranslation,
},
nl: {
translation: nlTranslation,
},
sv: {
translation: svTranslation,
},
id: {
translation: idTranslation,
},
th: {
translation: thTranslation,
},
uk: {
translation: ukTranslation,
},
cs: {
translation: csTranslation,
},
ro: {
translation: roTranslation,
},
el: {
translation: elTranslation,
},
nb: {
translation: nbTranslation,
},
2025-09-03 00:14:49 -05:00
},
2025-09-12 14:42:00 -05:00
2025-09-03 00:14:49 -05:00
interpolation: {
2025-09-12 14:42:00 -05:00
escapeValue: false,
2025-09-03 00:14:49 -05:00
},
2025-09-12 14:42:00 -05:00
2025-09-03 00:14:49 -05:00
react: {
2025-09-12 14:42:00 -05:00
useSuspense: false,
2025-09-03 00:14:49 -05:00
},
});
2025-09-12 14:42:00 -05:00
export default i18n;