0

这是当前的解决方案。

过滤器/index.hbs

{{view App.CardFilterView labelTranslation="filter.provider.label" controllerBinding="controllers.cardProviders"
filterName="provider"}}

{{view App.CardFilterView labelTranslation="filter.rewards.label" controllerBinding="controllers.cardRewards"
filterName="rewards"}}

card_filter.hbs

<h3>{{view.label}}</h3>
{{view Ember.Select  contentBinding="content" optionValuePath="content.id" optionLabelPath="content.name"
classNames="multiselect" multiple="multiple"}}

卡片过滤视图

  label: (->
    Ember.I18n.t @get('labelTranslation')
  ).property('labelTranslation')

我可以在没有计算属性的情况下以某种方式去做这样的事情吗:

<h3>{{t view.label}}</h3>? (这当然行不通)

4

2 回答 2

1

您可以做到这一点的一种方法是定义一个车把助手来完成这项工作。

像这样的东西:

Ember.Handlebars.registerBoundHelper('i18n', function(key) {
  return new Handlebars.SafeString(Ember.I18n.t(key))
});

然后像这样使用它:

<h3>{{i18n view.label}}</h3>

希望能帮助到你。

于 2013-07-10T12:43:46.100 回答
0

我知道这是一种旧线程,并且该功能未在答案中实现。

  #### Translate attributes on a plain tag:
  <a {{translateAttr title="button.add_user.title">text</a>

这是自 v1.6.0 (2014-02-06) 以来的 ember-i18n 文档。

谢谢更新日志。

于 2014-06-19T14:15:44.553 回答