2016-09-08 1 views
0

i18next jqueryバージョンを使用して、フレームワーク7コードのテキストをローカライズしています。ボタンをクリックして言語を変更すると(言語オプションを保存するためにlocalstorageを使用して)、各ファイルで動作します。しかし、たとえばページについてのビューで別のファイルを読み込んだ場合、それは動作しません。Framework7 ajaxが読み込まれたページでi18next翻訳を読み込む方法は?

私はjavascriptの初心者です。私はチュートリアルやその他のヘルプを使用してこれを行っています。

ボタンをクリックして変更する必要なく、ビューに読み込まれたすべてのページにどのように翻訳を適用できますか?

var itemslang = { 
    "en": { 
     "translation": { 
      /* MENU */ 
      "About-Framework7": "About-Framework7", 
      "Welcome-to-Framework7": "Welcome-to-Framework7", 
     } 
    }, 
     "br": { 
     "translation": { 
      /* MENU */ 
      "About-Framework7": "Sobre o Framework7", 
      "Welcome-to-Framework7": "Bem Vindo ao Framework7", 
     } 
    } 
}; 

$(document).ready(function() { 
    var language = "en"; 
    if (localStorage.getItem("language") != null) 
     language = localStorage.getItem("language"); 

    i18n.init({ 
     lng: language, 
     resStore: itemslang, 
     fallbackLng: "en" 
    }, function(o) { 
     $(document).i18n() 
    }), $(".lang").click(function() { 
     var o = $(this).attr("data-lang"); 

     localStorage.setItem("language", o); 

     i18n.init({ 
      lng: o 
     }, function(o) { 
      $(document).i18n() 
     }) 
    }) 
}); 

そして、ここで言語を変更ボタン:ここ

は、翻訳(language.js)と私のi18next機能です

<button class="lang en" data-lang="en">EN</button> 
<button class="lang br" data-lang="br">BR</button> 

答えて

0

は答えを見つけました!

私は翻訳作業のためのコードを持っていたのindex.html

ではmy-app.jsファイルをロードするのを忘れ:

$$(document).on('pageInit', function (e) { 
    $(document).i18n(); 
}); 

これは、すべてのロードされたビューで翻訳を適用します。

関連する問題