|
|
@@ -121,6 +121,7 @@ i18n.use(LanguageDetector)
|
|
|
// ****************** 使用 LanguageDetector、支持按需加载翻译文件 时 i18n 的配置方法 ******************
|
|
|
// 临时只启用英文,恢复多语言时把数组清空或删掉过滤逻辑
|
|
|
const ENABLED_LANGS = ['en-US'];
|
|
|
+// const ENABLED_LANGS: string[] = [];
|
|
|
|
|
|
// 匹配 locales 下所有 .ts,显式排除 dirMap.ts(fast-glob 否定语法)
|
|
|
const modules = import.meta.glob(['@/locales/*.ts', '!@/locales/dirMap.ts']);
|
|
|
@@ -166,8 +167,9 @@ i18n.on('languageChanged', async (lang) => {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
-// 初始化i18n
|
|
|
-i18n.use(LanguageDetector)
|
|
|
+// 初始化i18n,并在初始语言的翻译文件加载完成后 resolve,供 main.tsx 等待后再挂载 React
|
|
|
+export const i18nReady = i18n
|
|
|
+ .use(LanguageDetector)
|
|
|
.use(initReactI18next)
|
|
|
.init({
|
|
|
supportedLngs: supportedLanguages,
|
|
|
@@ -191,7 +193,8 @@ i18n.use(LanguageDetector)
|
|
|
suffix: '}',
|
|
|
},
|
|
|
resources: {},
|
|
|
- });
|
|
|
+ })
|
|
|
+ .then(() => loadLanguage(i18n.language));
|
|
|
// ****************** 使用 LanguageDetector、支持按需加载翻译文件 时 i18n 的配置方法 end ******************
|
|
|
|
|
|
export default i18n;
|