聚合物的本地化?

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库并设置默认和当前语言环境.


Pet*_*uin -4

我自己创建了一个实现。看看我所做的,做起来并不难。