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