簡體   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