Как загрузить перевод i18next на загруженную страницу Framework7 ajax?

Я использую версию i18next jquery для локализации текста в моем коде framework7. Он работает с каждым файлом, если я нажимаю кнопку, чтобы изменить язык (используя localstorage для сохранения параметра языка). Но если я загружу другой файл в представление, например, о странице, это не сработает.

Я новичок в javascript, я сделал это, используя учебные пособия и другую помощь.

Как я могу применить перевод к каждой странице, загруженной в представление, без необходимости нажимать кнопку, чтобы изменить его?

Вот моя функция i18next с переводом (language.js):

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()
        })
    })
});

А вот кнопки смены языка:

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

person RogerHN    schedule 08.09.2016    source источник


Ответы (1)


Нашел ответ!

Я забыл загрузить файл my-app.js в index.html

Который имел код для переводческой работы:

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

Это применит перевод в каждом загруженном представлении.

person RogerHN    schedule 12.09.2016