我正在为ECMAScript国际化API寻找一个填充程序。有人知道这样一个项目吗?(即使目前仍在进行中。)
是的,有一个适用于ECMA-402的polyfill(也称为ECMA国际化API规范)可在https://github.com/andyearnshaw/Intl.js.
为了在Node.js应用程序中使用,您可以使用NPM:进行安装
npm install intl
它也可用作前端的Bower组件:
bower install intl
支持NumberFormat
和DateTimeFormat
,但不支持Collator
。目前,对于客户端浏览器环境,您需要使用单独的函数添加区域设置数据。有关详细信息,请参阅README.md文件。
免责声明:@AndyE是Intl.js
的作者。
这个SO问题提供了一些javascript支持i18n的框架。https://stackoverflow.com/questions/9640630/javascript-i18n-internationalization-frameworks-libraries-for-client-side-use
我假设您知道"Google Chrome版本24,目前处于测试版,实现了带有如上所述的排序规则、NumberFormat和DateTimeFormat对象的API。"(请参阅此处)。就区域覆盖而言,任何垫片都可能是巨大的和/或不完整的——你真的想实现卡纳达数字(这是班加罗尔人说的语言)吗?
我的建议是,用你需要的零件滚动你自己的瘦身垫片,从其他库中挑选,根据需要做类似的事情。例如,您可能想要日期/时间格式,但不想要排序(这很复杂)。
刚刚发现这个老问题,由于ECMA-402实现并非在所有浏览器中都可用,我发现formatjs.io的polyfill在您需要支持Safari或IE等浏览器的情况下很有用。