我在纯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);
}
以下是我引用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."
}
请帮忙。
答案 0 :(得分:0)
如果您想通过xhr加载它们 - 是的。还有其他选项,如捆绑它们或自定义后端,列表是无穷无尽的:https://www.i18next.com/overview/plugins-and-utils
或创建自己的实施:https://www.i18next.com/misc/creating-own-plugins
我在你的选项中发现的一个错误配置是后端选项嵌套在资源中...那些应该在顶层,如果你想加载它们,不要在init上添加资源。