turkmen-textile-front/src/i18n.ts

55 lines
1.5 KiB
TypeScript
Raw Normal View History

2025-02-07 13:39:14 +00:00
import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import headerEn from "./locales/en/header.json";
import headerRu from "./locales/ru/header.json";
2025-02-25 10:34:21 +00:00
import navEn from "./locales/en/nav.json";
import navRu from "./locales/ru/nav.json";
2025-02-07 13:39:14 +00:00
import homeEn from "./locales/en/home.json";
import homeRu from "./locales/ru/home.json";
import aboutEn from "./locales/en/about.json";
import aboutRu from "./locales/ru/about.json";
2025-05-28 10:27:48 +00:00
import mainEn from "./locales/en/main.json";
import mainRu from "./locales/ru/main.json";
2025-02-08 07:45:24 +00:00
import contactsEn from "./locales/en/contacts.json";
import contactsRu from "./locales/ru/contacts.json";
2025-02-07 13:39:14 +00:00
import { useLangStore } from "./store/lang";
const initialLanguage = useLangStore.getState().lang;
i18n.use(initReactI18next).init({
resources: {
en: {
2025-02-25 10:34:21 +00:00
nav: navEn,
2025-02-07 13:39:14 +00:00
header: headerEn,
home: homeEn,
about: aboutEn,
2025-02-08 07:45:24 +00:00
contacts: contactsEn,
2025-05-28 10:27:48 +00:00
main: mainEn,
2025-02-07 13:39:14 +00:00
},
ru: {
2025-02-25 10:34:21 +00:00
nav: navRu,
2025-02-07 13:39:14 +00:00
header: headerRu,
home: homeRu,
about: aboutRu,
2025-02-08 07:45:24 +00:00
contacts: contactsRu,
2025-05-28 10:27:48 +00:00
main: mainRu,
2025-02-07 13:39:14 +00:00
},
},
lng: initialLanguage, // Язык по умолчанию
fallbackLng: "en",
2025-05-28 10:27:48 +00:00
ns: ["home", "about", "header", "contacts", "nav", "main"], // список namespaces
2025-02-07 13:39:14 +00:00
defaultNS: "home", // namespace по умолчанию (можно менять в компонентах)
interpolation: {
escapeValue: false, // React уже экранирует значения
},
});
export default i18n;