一个基于jQuery的轻量级的国际化(i18n)插件。
- 支持根据设置默认语言
- 支持切换语言
- 支持使用json文件存储翻译内容
可以根据用户自定义的不同语言版本的json文件,按需渲染网页上的语言,实现国际化。
您可以到https://github.com/ZOMAKE/jquery.i18n/releases 下载最新版本
在项目中先引入jQuery文件:
<script src="jquery.js"></script>
然后在jQuery之后引入jquery.i18n.js:
<script src="jquery.i18n.js"></script>
注意!请在服务器端运行该程序。因为 XMLHttpRequest cannot load file:xxx.
首先在项目中新建 i18n
文件夹,在此文件夹下放置不同语言版本的 i18n_xx.json
语言文件。(您也可以自定义文件名的开头和结尾如BaiduCnLang.js,下面的示例中以i18n_为文件名开头)
在需要使用国际化功能的DOM结构处引入i18n属性(i18n中的value为语言文件中key,可自定义):
<div i18n="i18n.test">multi-language</div>
<div i18n="i18n.test2">internationalization</div>
接着只需在语言文件中增加内容。
例如中文版的语言文件命名为 i18n_cn.json
,英文版的语言文件命名为 i18n_en.json
:
i18n_cn.json
:
{
"i18n.test": "多语言",
"i18n.test2": "国际化"
}
与之对应的翻译文件 i18n_en.json
:
{
"i18n.test": "multi-language",
"i18n.test2": "internationalization"
}
最后在脚本中执行如下方法,初始化该插件。
$("[i18n]").i18n({
defaultLang: "en",
filePath: "/i18n/", //注意!要配置好语言文件的正确路径
filePrefix: "i18n_",
fileSuffix: "",
forever: true,
callback: function() {
}
});
defaultLang: defaultLang,
默认语言名称,插件会自动将 filePrefix
+defaultLang
+fileSuffix
拼接在一起作为语言文件文件名。
filePath: "/i18n/",
该参数指定了语言文件所在文件夹在项目中的位置。
filePrefix: "i18n_",
该参数指定了语言文件的命名的前缀。
fileSuffix: "",
该参数指定了语言文件的命名的后缀。
callback:function(){
//do something
}
默认会将HTML元素的placeholder、value、html一起进行翻译替换,如果您只需要替换其中一个,可以在HTML标签中声明 i18nOnly
属性。
<input i18n="i18n.test" i18n-only="placeholder" placeholder="多语言"></input>