Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internationalization react-i18next无法解析密钥_Internationalization_I18next_React I18next - Fatal编程技术网

Internationalization react-i18next无法解析密钥

Internationalization react-i18next无法解析密钥,internationalization,i18next,react-i18next,Internationalization,I18next,React I18next,我的react-i18next有一个问题,无法解析我的密钥,因此我得到的所有输出都是密钥本身 我不得不将我的项目作为gui项目嵌入到VisualStudio解决方案中。运行我的原始项目工作得很好,相反,解决方案项目无法解决我的translate函数调用的关键部分 t('user:KEY_CONSTANT') //output: KEY_CONSTANT 我的i18n.config如下所示: i18n .use(XHR) .init({ lng: i18nHelp

我的react-i18next有一个问题,无法解析我的密钥,因此我得到的所有输出都是密钥本身

我不得不将我的项目作为gui项目嵌入到VisualStudio解决方案中。运行我的原始项目工作得很好,相反,解决方案项目无法解决我的translate函数调用的关键部分

t('user:KEY_CONSTANT') //output: KEY_CONSTANT
我的i18n.config如下所示:

i18n
    .use(XHR)
    .init({
        lng: i18nHelper.languageDetector(),
        load: 'currentOnly',
        fallbackLng: 'en-US',
        backend: {
            loadPath: 'i18n/{{lng}}/{{ns}}.json'
        },

        ns: ['admin', 'user'],
        defaultNS: 'admin',
        debug: false,

        interpolation: {
            escapeValue: false,
            formatSeparator: ',',
            format: function (vale, format, lng) {
                if (format === 'uppercase') return value.toUpperCase();
                return value;
            }
        }
    });
在解决方案中嵌入项目时,我必须更改webpacks输出文件夹,我认为这是出现故障的实际原因,但我找不到问题发生的确切位置。我试着改变加载路径,但如果这是失败的原因,我只是没有用正确的方法:S

我的项目树如下所示:

Solution
|-gui
|  |-src
|    |-i18n
|      |-de-DE(containing the german admin.json and user.json files)
|      |-en-US(containing the english admin.json and user.json files) 
|    |-utils
|      |-i18n.js
|-out
|  |-prgFiles
|    |-html
|      |-i18n(contains same items as i18n under src)
在我以前的项目中,webpack输出是“/dist/”,与解决方案“../out/prgFiles/html”中的src处于同一级别

admin.json现在根本不包含任何键,user.json包含的键与您预期的一样:

{
    "KEY_CONSTANT": "Actual string value"
}
如前所述,我尝试了一些路径更改,检查了translate、i18next和i18next提供程序,一切都很好。它无法将KEY_常量解析为实际值


你知道问题可能是什么吗?

在i18next init>中将debug option设置为true->我打赌你会得到一个错误,说明backendConnector无法加载命名空间用户


请确保客户端能够加载翻译,webpack dev server在这方面做得很好,但在生产中,您需要自己提供这些文件

我尝试过这样做,但得到的错误是“i18next::translator:missingKey en US user”。我自己没有关于如何提供这些文件的ideo。有什么建议吗?远离.net端很长时间了…所以在那里帮不了你多少忙…所以没有计划如何在那里生成你的服务器-唯一的选择是我可以给你i18next的服务层-你可以在那里管理你的翻译并从那里加载它们。因此不需要自己的服务器。我必须围绕我的项目包装的解决方案已经生成,而且它似乎还提供了一种将字符串直接呈现到我的页面的方法。尽管我必须再次添加所有字符串,但这似乎是一条路要走。所以,即使这个答案不是我问题的完美解决方案,它对我帮助很大,所以我接受了这个答案。谢谢你的帮助!