我是否需要i18​​next-xhr-backend在分离的json文件中使用翻译?

时间:2018-06-11 06:15:52

标签: html i18next

我在纯HTML网站上使用i18next。

这里是错误消息:

  

i18next :: translator:missingKey en translation title title

以下是代码:

 ///multilng.js
(function () {


i18next
.init({
    "debug": true,
    "lng": "en",
    "ns": [
      "translation"
    ],
    "fallbackLng": false,
    "keySeparator": false,
    "nsSeparator": false,
    resources: {
      "backend": {
        "loadPath": "../locales/{{lng}}/{{ns}}.json"
      }
    }
  }, function(err, t) {
   console.log(err);
 });

  function changeLng(lng) {
    i18next.changeLanguage(lng);
  }

  i18next.on('languageChanged', () => {
    updateContent();
  });

  updateContent();
})();

function updateContent() {
  var title = i18next.t("title");
  $("#logo.dark-logo").html(title);
}

这是项目结构: enter image description here

以下是我引用js文件的方法:

<script type='text/javascript' src='js/vendor/jquery-1.12.4.min.js'></script>
<script type='text/javascript' src="js/vendor/i18next.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-i18next/1.1.0/jquery-i18next.min.js"></script>
<script type='text/javascript' src='js/i18nextXhr.js'></script>
<script type='text/javascript' src='js/main.js'></script>
<script type='text/javascript' src='js/multilng.js'></script>

这是translation.json的内容:

{
    "title":"My Studio",
    "slogan":"Your expert."
}

请帮忙。

1 个答案:

答案 0 :(得分:0)

如果您想通过xhr加载它们 - 是的。还有其他选项,如捆绑它们或自定义后端,列表是无穷无尽的:https://www.i18next.com/overview/plugins-and-utils

或创建自己的实施:https://www.i18next.com/misc/creating-own-plugins

我在你的选项中发现的一个错误配置是后端选项嵌套在资源中...那些应该在顶层,如果你想加载它们,不要在init上添加资源。