我正在尝试使用主干和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>