0

私はアプリで使用ember-cli-i18nしていember-cliます..

私は返すプロパティを持ってmenuItemsいます..

[{
  text: 'leftnav_nonfollower',
  route: 'nonFollowers'
}, {
  text: 'leftnav_nonfans',
  route: 'fans'
}]

テンプレートでは、私はmenuItems..として使用します

{{#each menuItem in navItems}}
  <li {{action 'changeRoute' menuItem }} >
    <a href="#" class='nav-circle'>
     {{t menuItem.text}}
    </a>
  </li>
{{/each}}

..の翻訳を探す代わりにleftnav_nonfollower、ライブラリユーティリティt()は実際には文字列の翻訳を探していますmenuItem.text..したがって、エラーが発生しますAssertion Failed: Missing translation for key "menuItem.text".

4

1 に答える 1

1

tコントローラー、コンポーネント、ルート、およびモデルに自動的に挿入されます。

ソース: https://github.com/dockyard/ember-cli-i18n#utility

したがって、テンプレートでそれを行う代わりに、配列を形成するときにそれを行ってみませんか。このようなもの:

var menu = [{
 text: 'leftnav_nonfollower',
 route: 'nonFollowers'
}, {
  text: 'leftnav_nonfans',
  route: 'fans'
}]

menu = menu.map(function(item) {
  item.text = this.t(item.text);
  return item;
});

これにより、テンプレートで直接使用できるキーの翻訳済みテキストが得られます。

于 2015-02-21T10:18:11.240 に答える