项目主页: [url]https://code.google.com/p/jquery-i18n-properties/[/url]

一直在寻找js的i18n解决方案,今天使用了一下jquery.i18n.properties觉得很不错,向大家推荐一下。

在jquery.1.3.2下调试过程

1、在js/i18n/目录下创建message.properties,message_zh_CN.properties,message_en_US.properties三个文件,推荐使用eclipse下的插件resourcebundleeditor编辑文档,文档存为ISO-8859-1或utf-8.
英文文件中插入
[color=darkblue] msg_hello = Hello
msg_world = World
msg_complex = Good morning {0}! [/color]
中文同上就不写了。
2、在使用前初始化jquery.i18n.properties。

// This will initialize the plugin
// and show two dialog boxes: one with the text "Olá World"
// and other with the text "Good morning John!"
jQuery.i18n.properties({
    name:'message', //使用资源文件名称
    path:'js/i18n/', //资源文件所在路径
    mode:'both',    //调用方式,可用值‘vars’ (default) 变量方式, ‘map’map方式 or ‘both’两者均支持
    language:'en_US', //语言
    callback: function() {
        //回调函数
        // We specified mode: 'both' so translated values will be
        // available as JS vars/functions and as a map

        // Accessing a simple value through the map 通过map调用
        jQuery.i18n.prop('msg_hello');
        // Accessing a value with placeholders through the map 带参数Map调用,john会替换相应参数,支持多个参数
        jQuery.i18n.prop('msg_complex', ['John']);

        // Accessing a simple value through a JS variable通过变量调用
        alert(msg_hello +' '+ msg_world);
        // Accessing a value with placeholders through a JS function通过变量函数方式替换占位符,支持多个参数,不过在360浏览器下测试失败,在chrome下成功
        alert(msg_complex('John'));
    }
});


使用心得:


建议使用工具编辑i18n文件,方便。


为了获得最好的兼容性,还是使用map方式访问吧