【问题标题】:i18next mapping en-US locale to en namespace folder/filei18next 将 en-US 语言环境映射到 en 命名空间文件夹/文件
【发布时间】:2022-03-30 02:27:29
【问题描述】:

抱歉,如果我没有正确提出这个问题,目前,我们的系统使用 i18next 和 i18next-http-backendi18next-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/ 位置

任何帮助表示赞赏,在此先感谢!

【问题讨论】:

    标签: node.js internationalization i18next i18next-http-backend i18next-browser-languagedetector


    【解决方案1】:

    你必须在 i18next 配置文件中添加:nonExplicitSupportedLngs: true,,例如:

    i18next
        ...
        .use(LanguageDetector)
        .init({
            supportedLngs: ['en', 'es'],
            nonExplicitSupportedLngs: true, //support language variation
            ...
        });
    

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-10-07
        • 2019-09-21
        • 2017-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-27
        • 1970-01-01
        相关资源
        最近更新 更多