Pet*_*uin 10 localization internationalization web-component polymer
我打算用Polymer创建一个webapp.对于该webapp,我需要本地化.是否有聚合物方式进行本地化?有没有人在Polymer webapp中做过本地化?
Dir*_*orf 13
I18n和l10n也在我的待办事项清单上.目前我正在将一个应用程序从AngularJS移植到Polymer.后端是Ruby on Rails.我使用i18n-js gem将Rails转换文件(en.yml,de.yml等)转换为一个包含带有所有翻译的I18n对象的大型JavaScript文件.此gem还提供用于执行文本转换和值本地化的JavaScript库.但是还有其他JavaScript库提供了类似的功能.
当前语言环境是根据HTTP请求的响应设置的,返回用户Accept-Language标头.
到目前为止,没有什么聚合物具体.
然后我创建了一堆全局Polymer表达式过滤器,它们对输入字符串执行各种语言环境转换.这与我学习在AngularJS应用程序中使用的方法相同.翻译过滤器如下所示(I18n.t是JavaScript库的翻译功能)
PolymerExpressions.prototype.i18n = function(key) {
return I18n.t(key);
};
Run Code Online (Sandbox Code Playgroud)
并且像这样使用
<paper-button label="{{ 'action.help' | i18n }}"></paper-button>
Run Code Online (Sandbox Code Playgroud)
日期本地化可以写为
{{ someDate | i18n_date('short') }}
Run Code Online (Sandbox Code Playgroud)
我将i18n过滤器和其他辅助函数打包到Polymer元素中,因此我也可以将此元素包含在另一个元素中,并使用其JavaScript代码中的转换函数.
i18n元素也包含在我的主app元素中,它初始化I18n库并设置默认和当前语言环境.
| 归档时间: |
|
| 查看次数: |
4889 次 |
| 最近记录: |