jQuery.i18n.properties是一款轻量级的jQuery国际化插件,能实现Web前端的国际化。
jQuery.i18n.properties 采用 .properties 文件对 JavaScript 进行国际化。jQuery.i18n.properties 插件根据用户指定的(或浏览器提供的 )语言和国家编码(符合 ISO-639 和 ISO-3166 标准)来解析对应的以“.properties”为后缀的资源文件。
jQuery.i18n.properties 插件首先加载默认的资源文件(例如:strings.properties),然后加载针对特定语言环境的资源文件(例如:strings_zh.properties),这就保证了在未提供某种语言的翻译时,默认值始终有效。开发人员可以以 JavaScript 变量(或函数)或 Map 的方式使用资源文件中的 key。
接下来具体说怎样实现前端的国际化:
第一步:创建properties资源文件。
例如创建如下文件名 :为 strings.properties,那么与之对应的必须要有 strings_zh.properties,两个文件名的key 值必须保持一致。
strings.properties文件中书写例子:username= User Name
strings_zh.properties文件中书写例子:username=用户名 需要注意的是两个文件名的键值必须保持一致
第二步:在js文件中引入jQuery.i18n.properties所需js文件。(当然在此之前需引入jquery文件)
<script type="text/javascript" src="js/jquery.i18n.properties.js"></script>
第三步:使用jQuery.i18n.properties 的API
//国际化加载属性文件
$.i18n.properties({
name: 'strings', //定义的资源文件中语言简码前面的字符串,可以是一个数组
path: 'i18n/', //资源文件的相对路径,对于整个工程来说的
language:'zh', //以哪种语言显示,这里zh对应的是资源文件中strings_zh.properties这个文件的内容,en对应另一个文件名,如果语言多的话,可以在资源文件配置前写strings_en.properties
//加载模式,”vars”表示以JavaScript变量或函数的形式加载资源文件中的key值(默认为这种),“map”表示以map的方式加载资源文件中的key值。“both表示可以同时使用这两种方式”。
mode: 'map',
callback: function() { // 加载成功后设置显示内容,回调函数
alert($.i18n.prop('username')); //用户名(对应资源文件配置的)
}
});
第四步:可以根据回调函数返回的的数据来设置页面的内容
$.i18n.prop('username');对应着资源文件中的key值
$("#id").html($.i18n.prop('username'))
通过以上四步可以实现一个简单的前端国际化。
遇到问题:在创建资源文件时候,会弹出一个框提示你保存格式什么的,保存为utf-8格式就可以。