是否有适用于JavaScript的i18n(Intl)垫片?

时间:2013-02-07 16:03:43

标签: javascript internationalization ecmascript-5 ecma262 ecmascript-intl

我正在寻找ECMAScript Internationalization API的垫片。有谁知道这样的项目? (即使它目前仍在进行中。)

4 个答案:

答案 0 :(得分:15)

是的,https://github.com/andyearnshaw/Intl.js提供了ECMA-402(又名ECMA国际化API规范)的填充物。

要在Node.js应用程序中使用,可以使用NPM安装:

npm install intl

它也可用作前端的Bower组件:

bower install intl

支持NumberFormatDateTimeFormat,但不支持Collator。目前,对于客户端浏览器环境,您需要使用单独的函数添加区域设置数据。有关详细信息,请参阅README.md文件。

免责声明: @AndyE是Intl.js的作者。

答案 1 :(得分:1)

答案 2 :(得分:1)

我假设您知道“目前处于测试阶段的Google Chrome版本24使用Collat​​or,NumberFormat和DateTimeFormat对象实现API,如上所述。” (见here)。任何垫片在地区覆盖范围方面要么是巨大的和/或不完整的 - 你真的想要实现卡纳达语数字(这是他们在班加罗尔所说的语言)吗?

我的建议是用自己需要的部件卷起自己的瘦身垫片,挑选和选择其他需要做类似事情的图书馆。例如,您可能需要日期/时间格式,但不需要排序(这很复杂)。

答案 3 :(得分:0)

刚刚发现这个老问题,由于 ECMA-402 实现并非在所有浏览器中都可用,我发现 formatjs.io 的 polyfills 在您需要支持 Safari 或 IE 等浏览器时很有用。