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