Как использовать i18next? Проблемы с переводами

Я хочу использовать опцию интернационализации на своем веб-сайте jQuery Mobile и jQuery. Я попытался сгенерировать пример с документацией наhttp://i18next.com но, похоже, мне это не удалось. У кого-нибудь есть опыт работы с i18next?

Вот мой пример:

index.html:

<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <script src="jquery-mobile/jquery-1.6.4.min.js"       type="text/javascript"></script>
    <script src="jquery-mobile/jquery.mobile-1.0.min.js"  type="text/javascript"></script>
    <script src="js/i18next-1.5.6.min.js"                 type="text/javascript"></script>
    <script src="js/translation.js"                       type="text/javascript"></script>
  </head>
  <body>
    <div data-role="page" id="page">
    <div data-role="content">
      <div id="headline1" data-i18n="headline"></div>
        <table width="100%" border="0" id="menu1" class="menu">
          <tr id="surname">
            <td width="50%" data-i18n="menu.surname"></td>
            <td width="50%">&nbsp;</td>
          </tr>
          <tr id="firstName">
            <td width="50%" data-i18n="menu.firstName"></td>
            <td width="50%">&nbsp;</td>
          </tr>
        </table>
      </div>
    </div>
  </body>
</html>

Файлы перевода: /locales/de/translation.json

{
  "menu": {
    "surname": "Name:",
    "firstName": "Vorname:"
  },

  "headline": "Daten:",
  "headline_1": "Daten Allgemein:",
  "headline_2": "Daten Speziell:"
}

/locales/en/translation.json

/locales/dev/translation.json

{
  "menu": {
    "surname": "Name:",
    "firstName": "First Name:"
  },

  "headline": "Data:",
  "headline_1": "Daten Common:",
  "headline_2": "Daten Specific:"
}

/js/translation.js

$(document).ready(function(){
  language_complete = navigator.language.split("-");
  language = (language_complete[0]);
  console.log("Sprache (root): %s", language);

  i18n.init({ lng: language });
  i18n.init({ debug: true });
  $(".menu").i18n();
  $("headline").i18n();
});

Перевод для меню, которое я получаю - «menu.name» вместо ожидаемого «Name:». В качестве заголовка я не получаю перевод, но я ожидал «Данные:» или «Daten:».

Если я попробую следующий прямой вызов, я не получу перевод: i18n.t ("menu.surname", {defaultValue: "Name:"});

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

Ответы на вопрос(2)

Ваш ответ на вопрос