在主干网-requirejs项目中使用i18n动态更改语言



我正在尝试使用主干和requirejs创建一个应用程序。我正在尝试使用i18n(requirejsamd支持的插件)将国际化包含在项目中。

我想为用户提供更改语言的选项。

那么,如何配置i18n,以便任何人都可以根据自己的需要更改语言。

使用的p.S.模板引擎是Handlebars。

推荐的任何其他国际化插件也可以。

这是我的项目结构。

  • js

    • 应用

      • 配置
        • appConfig.js
      • 初始化
        • 应用程序.js
        • AppInit.js
      • nls

        • home.js(根文件)
        • fr-fr
          • 主页.js
      • 路由器

        • AppRouter.js
      • 模板
        • 主页Tmpl.html
      • 查看
        • homeView.js
  • lib

这是我的index.html页面,有更改语言的选项

<html>
<head>
<title>i18n test with backbone and requirejs</title>
<script type="text/javascript" src="lib/jquery-2.1.3.js"></script>
<script data-main="js/app/config/appConfig" type="text/javascript"
src="lib/require.js"></script>
<style>
#content{
    width: 800px;
    height: 400px;
    top:200px;
    left:100px;
    border: 3px dotted #0F0;
}
#lang{
    float:right;
}
</style>
</head>
<body>
<h3> Hello World , Good Morning</h3>
<div id ="lang">
    <a href="javascript:void(0);" class="lang" id="en">English</a>
    <a href="javascript:void(0);" class="lang" id="fr">French</a>
</div>
<a href='#home'>Home</a><br/>
<a href='#about'>About Us</a><br/>
<a href='#contact'>Contact</a><br/>
<div id="content"></div>
</body>
</html>

摘自此处的文档:http://i18next.com/pages/doc_init.html

i18n.setLng('en-US', function(t) { /* loading done */ });

如果你想像在你的例子中那样使用内联JavaScript,你可以这样做:

<a href="javascript:i18n.setLng('en');" id="en">English</a>
<a href="javascript:i18n.setLng('fr');" id="fr">French</a>

最新更新