// i18n.ts import AsyncStorage from '@react-native-async-storage/async-storage'; import i18n from 'i18next'; import { initReactI18next } from 'react-i18next'; import en from './locales/en.json'; import ru from './locales/ru.json'; import uz from './locales/uz.json'; const languageDetector = { type: 'languageDetector' as const, async: true, detect: async (callback: (lang: string) => void) => { const savedLang = await AsyncStorage.getItem('lang'); callback(savedLang || 'uz'); }, init: () => {}, cacheUserLanguage: async (lang: string) => { await AsyncStorage.setItem('lang', lang); }, }; i18n .use(languageDetector as any) .use(initReactI18next) .init({ resources: { uz: { translation: uz }, ru: { translation: ru }, en: { translation: en }, }, fallbackLng: 'uz', interpolation: { escapeValue: false }, react: { useSuspense: false }, }); export default i18n;