上个月,我写了一篇关于微软如何在向jQuery贡献代码的文章,也谈到了在第一批贡献的代码中的一些功能:jQuery模板和数据链接支持.
今天,我们发布了一个新的jQuery国际化插件的原型,你可以在你的JavaScript程序中引用这个插件添加国际化功能。插件涵盖了超过350种文化的国际化信息,从苏格兰盖尔语、佛里斯兰语、匈牙利语、日语到加拿大英语等。插件将以开源的形式发布。
你可以从我们的Github代码库下载插件的原型版本:
http://github.com/nje/jquery-glob
另外也可以在这里下载一些示例了解简单的用法。
理解国际化
jQuery国际化插件可以让你在JavaScript代码中轻松地处理不同文化之间的数字、货币和日期格式。例如,你可以使用这个插件正确地显示一个国家的货币符号:
你也可以用这个插件编排日期格式,这样日期和月份会以正确的顺序显示,而日期和月份的名称也能够得到正确的翻译:
请注意上图阿拉伯的日期格式中,年份显示成了1431。这是因为年份已经按照回历的方式转换过了。
一些文化差异比较明显,例如使用不同的货币或者不同的月份名称等。但另外一些差异却细微而又出人意料。例如,在有一些文化里,数字不是以均衡的方式分组的。在语言标记为“te-IN”的文化中(印度东部的泰卢固语),数字先按3位数字分组,然后再每2位数字分组。因此象数字一百万(1000000)就会被写成“10,00,000”。而有些文化就根本不对数字进行分组。所有这些细微的差异都能够被jQuery国际化插件自动处理。
要得到正确的日期可能非常需要技巧。不同的文化采用不同的历法,比如公历和回历。同一种文化也可能会采用多个历法,比如日本就同时采用公历和以天皇年号推算的纪年历。插件提供了函数将日期在所有这些历法中相互转换。
使用语言标记
jQuery国际化插件依据RFC 4646和RFC 5646标准里定义的语言标记来识别文化(参见 http://tools.ietf.org/html/rfc5646),语言标记通常由连字符将多个辅标签组合而成,比如:
语言标记 语言名称 (中文)
en-AU 英文(澳大利亚)
en-BZ 英文(伯利兹)
en-CA 英文(加拿大)
Id 印度尼西亚文
zh-CHS 中文(简体) — 标记不再使用
Zu 祖鲁文
请注意单一语言例如英语可以同时有多个语言标记。同是英语国家,加拿大采用的数字、货币和日期格式就不同于澳大利亚或者美国。你可以使用下面的语言辅标签查找工具来获取某个文化的语言标记: