import i18n from 'i18next'; import { initReactI18next } from 'react-i18next'; import LanguageDetector from 'i18next-browser-languagedetector'; // Import translation files import en from './locales/en.json'; import fr from './locales/fr.json'; import ru from './locales/ru.json'; import es from './locales/es.json'; import zh from './locales/zh.json'; i18n .use(LanguageDetector) .use(initReactI18next) .init({ resources: { en: { translation: en }, fr: { translation: fr }, ru: { translation: ru }, es: { translation: es }, zh: { translation: zh }, }, lng: localStorage.getItem('i18nextLng') || 'en', fallbackLng: 'en', interpolation: { escapeValue: false, }, detection: { order: ['localStorage', 'navigator'], caches: ['localStorage'], }, }); i18n.on('languageChanged', (lng) => { localStorage.setItem('i18nextLng', lng); }); export default i18n;