可以将i18n应用于emberjs TextFields / Labels等吗?

时间:2013-01-25 12:36:13

标签: twitter-bootstrap ember.js handlebars.js rails-i18n

有没有办法在ember / emberjs-bootstrap TextField标签上使用i18n。

例如

{{view "Bootstrap.Forms.TextField"  valueBinding="account.email" label={{t 'account.email'}}}}

这不起作用,但我正在寻找一些东西,如果它可能通过Handlebars语法,而我不需要扩展我想支持i18n的每个元素。

2 个答案:

答案 0 :(得分:2)

我不确定你是否已经使用Ember-i18n,但它与Ember有很好的集成,似乎是构建或扩展的良好开端。以下是一些简单的示例,一个使用插值数据。

<h2>{{t user.edit.title}}</h2>

<h2>{{t user.followers.title count="2"}}</h2>

你的钥匙被定义为

Em.I18n.translations = {
  'user.edit.title': 'Edit User',
  'user.followers.title.one': 'One Follower',
  'user.followers.title.other': 'All {{count}} Followers',
  'button.add_user.title': 'Add a user',
  'button.add_user.text': 'Add',
  'button.add_user.disabled': 'Saving...'
};

答案 1 :(得分:0)

我正在使用它作为一种解决方法,而不是优雅的地方。

{{#T frontend.signup.name}}
{{view "Bootstrap.Forms.TextField"  valueBinding="account.name"  label=i18Label}}
{{/T}}

Handlebars.registerHelper "T", (key, options) ->
 ret = options.fn( i18Label: I18n.t(key) )

通常我一次得到一个字符串的情况。只有其他方法是扩展TextField视图。