繁体   English   中英

i18next 显示键而不是值

[英]i18next Displayed key instead of value

我在/locales/en/translation.json文件

{
    "app": {
        "name": "Example App"
    }
}

html ,我有:

<a href="/" data-i18n="app.name">

js

$(document).ready(function() {

    var language_complete = navigator.language.split("-");
    var language = (language_complete[0]);

    console.log('language', language);

    $.i18n.init({
        lng: language,
        fallbackLng: false,
        debug: false
    }, function() {
        $('a').i18n();
    });
});

它显示app.name而不是Example App 我在代码中遗漏了什么? 谢谢

您必须将useLocalStorageuseDataAttrOptions设置为 true

$.i18n.init({useLocalStorage: true , useDataAttrOptions:true, ....});

从 i18next V2 开始,不再提供开箱即用的后端请参阅迁移指南),因此您需要在 init 块中定义backend配置:

backend: {
    loadPath: '/locales/{{lng}}/{{ns}}.json'
},

如果你不这样做,你的资源将不会被加载,翻译值将回退到它们各自的键( 参见源代码)。

在 js 中,这是因为$(document).ready不等待加载外部内容。 您需要使用$(window).on('load',function(){...})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM