2013-06-18 38 views
0

我想用i18n的javascript库设置一个简单的动态页面。我使用的在这里找到了自己的主页的代码示例:i18n Javascript设置

http://i18next.com/index.html

我不能让它加载概述JSON数据,根据样本HTML,JavaScript和JSON代码如下。请让我知道是否有一个步骤,或我缺少的文件命名约定。

home.html的

<!DOCTYPE html> 
<html> 
    <head> 
    <script type="text/javascript" src="../jquery.js" ></script> 
    <script type="text/javascript" src="../i18next.js" ></script> 
    <script type="text/javascript" src="script.js"></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> 
    <p>Test Paragraph</p> 
    </body> 
</html> 

的script.js

i18n.init(function(t) { 
    // translate nav 
    $(".nav").i18n(); 

    // programatical access 
    var appName = t("app.name"); 
}); 

data.json

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

任何建议将是有益的。

谢谢!

回答

2

如果未配置i18next将加载资源与这一模式:

locales/__lng__/__ns__.json 

如果没有命名空间设置它会使用转换为命名空间。所以如果你将你的data.json重命名为translation.json并将它放到文件夹location/en(或者你得到的任何语言),它应该可以工作。

更多的初始化可以在这里找到 http://i18next.com/pages/doc_init.html

+0

感谢您的澄清。这工作完美。目前还不清楚,如果没有先前声明的路径,默认的json文件必须在该确切的文件夹路径中命名为translation.json。 – preynolds