javascript - i18next 从 json 文件加载翻译

标签 javascript jquery translation i18next

我在路径中有英文 json 翻译文件:translation/en.json

我这样初始化 i18next:

i18next.init({
    lng: navigator.language,
    fallbackLng : "en",
    backend: {
        loadPath: '/translation/{{lng}}.json',
    }
});

运行后

i18next.t(KEY);

将打印“KEY”而不是它在翻译文件中的值

当翻译位于 i18next 对象的“资源”参数内时,它运行良好。如下所示:

i18next.init({
    lng: navigator.language,
    fallbackLng : "en",
    resources: {
        en: {
            translation: {
                "KEY": "keyValue"
            }
        }
    }
});

我用的是i18next框架

最佳答案

我使用了 initImmediate:false,它将等待翻译被加载。

i18next
  .use(i18nextXHRBackend)
  .init({
    //debug:true,
    initImmediate: false, // set initImmediate false -> init method finished only when all resources/translation finish loading (async behaviour)
    lng: "en",
    fallbackLng : "en",
    backend:{
      loadPath: chrome.runtime.getURL('translation/{{lng}}.json')
    }
});

我使用了 chrome.runtime.getURL 因为我在 chrome 扩展中使用了 i18next 并且翻译文件应该加载到这个文件夹“translation”

关于javascript - i18next 从 json 文件加载翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52538790/

相关文章:

javascript - 恢复 console.log()

javascript - 嵌套函数作用域变量

javascript - 如何禁用所有 tinyMCE textarea?

php - 如何使用 Laravel 将德语翻译成英语(本地化?)

c++ - Qt tr 似乎不适用于静态常量成员?

javascript - 单击重置单选按钮尝试在 Django 中提交表单

javascript - 具有条件循环逻辑的 Css

javascript - JqueryUI 无法将行移动到容器的顶部

translation - 泰雷兹 HSM 上的 PIN block 翻译不起作用

javascript - UI-router 空参数导致导航到错误的路线