对不起,如果我没有正确地问这个问题,目前,我们的系统使用i18next与i18next-http-backend和i18next-browser-languagedetector。当浏览器使用英语区域设置时,使用i18next-browser-languagedetector返回en-US。然而,nodejs应用程序是用i18next-http-backend设置的,翻译是用英文为/public/locales/en/language.json设置的。现在的问题是,i18next包依赖于回退语言,因为en-US不映射到en (/public/locales/en/)命名空间/文件夹位置。
我知道,只要重命名文件夹就够简单了,或者简单到可以将回退语言更改为en。
但我觉得有一种方法可以映射这个或另一种我无法在文档中找到的方法,所以我想知道如果可能的话,当语言检测器检测到en-US地区时,它将映射到/public/locales/en/位置。
任何帮助都是非常感谢的,谢谢提前!
发布于 2022-03-29 16:25:46
您必须在nonExplicitSupportedLngs: true,配置文件中添加: i18next,例如:
i18next
...
.use(LanguageDetector)
.init({
supportedLngs: ['en', 'es'],
nonExplicitSupportedLngs: true, //support language variation
...
});发布于 2022-03-29 18:27:29
或者,将load选项设置为'languageOnly':https://www.i18next.com/overview/configuration-options#languages-namespaces-resources

https://stackoverflow.com/questions/68381365
复制相似问题