【问题标题】:i18next is not workingi18next 不工作
【发布时间】:2013-08-13 07:59:15
【问题描述】:

我正在使用 phonegap,我需要 i18n 支持这个应用程序,所以我最终选择了 i18next。下面是我的示例代码,但是 i18next 失败了,有人可以帮我吗?我得到的输出只是名称为“nav.home”、“nav.page1”、“nav.page2”的链接列表。此外,此 HTML5 示例代码仅适用于 Chrome,不适用于 Mozilla。

//HTML code
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8"> 
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script type="text/javascript" src="i18next-1.6.3.js" ></script>
  <script type="text/javascript" src="translation.en.json" ></script>
  <script type="text/javascript" >
    $(document).ready(function(){
      i18n.init(function(t) {
        $(".nav").i18n();
        var appName = t("app.name");
      });
    });
  </script>
</head>

<body>
  <ul class="nav">
    <li><a href="#" data-i18n="nav.home"></a></li>
    <li><a href="#" data-i18n="nav.page1"></a></li>
    <li><a href="#" data-i18n="nav.page2"></a></li>
  </ul>
</body>
</html>

translation.en.js 文件

{
  "app": {
    "name": "i18next"
  },
  "nav": {
    "home": "Home",
    "page1": "Page One",
    "page2": "Page Two"
  }
}

【问题讨论】:

    标签: javascript html i18next


    【解决方案1】:

    我看到两件事:

    1. 英语语言环境应位于locales/en/translation.json
    2. 您不必附加.json 文件&lt;head&gt; 部分

    【讨论】:

      【解决方案2】:

      尝试这样做:

      $(document).ready(function(){
          $.i18n.init({
              lng: 'en'
          }, function(t) {
              $(".nav").i18n();
              var appName = t("app.name");
          });
      });
      

      我认为您缺少选项字典。

      【讨论】:

      • 不,即使在 中移动代码后它也无法正常工作
      【解决方案3】:

      试试这个(因为我在手机上没有正确测试)

      //HTML code
      <!DOCTYPE html>
      <html>
      <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8"> 
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
        <script type="text/javascript" src="i18next-1.6.3.js" ></script>
        <script type="text/javascript" >
          $(document).ready(function(){
            i18n.init({ 
              resGetPath: 'translation.__lng__.json' 
            }, 
            function(t) {
              $(".nav").i18n();
              var appName = t("app.name");
            });
          });
        </script>
      </head>
      
      <body>
        <ul class="nav">
          <li><a href="#" data-i18n="nav.home"></a></li>
          <li><a href="#" data-i18n="nav.page1"></a></li>
          <li><a href="#" data-i18n="nav.page2"></a></li>
        </ul>
      </body>
      </html>
      

      但我认为按照 yarl 所说的重新排列到文件夹中会更正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-16
        • 2020-06-05
        • 1970-01-01
        • 2017-10-25
        相关资源
        最近更新 更多