国际化实现之基于jquery

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格式就可以。

猜你喜欢

转载自www.cnblogs.com/wanan-01/p/9274780.html
今日推荐