import i18n from 'i18next'; import { initReactI18next } from 'react-i18next'; import resourcesToBackend from 'i18next-resources-to-backend'; const localeModules = import.meta.glob>('@/locales/**/*.ts', { eager: true }); i18n .use( resourcesToBackend((lng: string, ns: string) => { const path = `/src/locales/${lng}/${ns}.ts`; const module = localeModules[path]; return module?.default ?? {}; }) ) .use(initReactI18next) .init({ lng: localStorage.getItem('app-language') || 'zh-CN', fallbackLng: 'zh-CN', interpolation: { escapeValue: false }, }); export default i18n;