From 5960ab62b7f160d770732f1ed1eb0897ec00c6dc Mon Sep 17 00:00:00 2001 From: mehrzadghdev Date: Sun, 6 Jul 2025 19:17:34 +0330 Subject: [PATCH] chore: i18n config moved to the app route --- src/i18n.ts | 16 ++++++++++++++++ src/main.tsx | 1 + src/providers/LanguageProvider.tsx | 17 +---------------- 3 files changed, 18 insertions(+), 16 deletions(-) create mode 100644 src/i18n.ts diff --git a/src/i18n.ts b/src/i18n.ts new file mode 100644 index 0000000..6466d4c --- /dev/null +++ b/src/i18n.ts @@ -0,0 +1,16 @@ +import i18next from 'i18next'; +import I18NextHttpBackend from 'i18next-http-backend'; +import { initReactI18next } from 'react-i18next'; + +i18next + .use(I18NextHttpBackend) + .use(initReactI18next) + .init({ + lng: 'en', + interpolation: { + escapeValue: false, + }, + backend: { + loadPath: `${window.location.origin}/i18n/{{lng}}.json`, + }, + }); diff --git a/src/main.tsx b/src/main.tsx index de77833..fda2990 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,6 +1,7 @@ import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import './index.css'; +import './i18n'; import App from './App'; import { LanguageProvider } from './providers/LanguageProvider'; diff --git a/src/providers/LanguageProvider.tsx b/src/providers/LanguageProvider.tsx index 5250cfe..7013504 100644 --- a/src/providers/LanguageProvider.tsx +++ b/src/providers/LanguageProvider.tsx @@ -1,24 +1,9 @@ import type { Language } from '@/types/language'; import { changeLanguage } from 'i18next'; import { useLayoutEffect, type JSX, type PropsWithChildren } from 'react'; -import { initReactI18next, useTranslation } from 'react-i18next'; +import { useTranslation } from 'react-i18next'; import { useLocalStorage } from '@/hooks/useLocalStorage'; import { LangaugeContext } from '@/contexts/LangaugeContext'; -import i18n from 'i18next'; -import i18nBackend from 'i18next-http-backend'; - -i18n - .use(i18nBackend) - .use(initReactI18next) - .init({ - lng: 'en', - interpolation: { - escapeValue: false, - }, - backend: { - loadPath: `${window.location.origin}/i18n/{{lng}}.json`, - }, - }); export const LanguageProvider = (props: PropsWithChildren): JSX.Element => { const [currentLanguage, setCurrentLangauge] = useLocalStorage(