i18n转换无法使用ember-断言失败:缺少键的转换

i18n translation not working with ember - Assertion Failed: Missing translation for key

本文关键字:转换 失败 ember- i18n 断言      更新时间:2024-03-19

我在ember-cli应用程序中使用ember-cli-i18n。。

我有返回..的属性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寻找翻译。。库实用程序CCD_ 6实际上是在寻找字符串CCD_。。从而给出错误Assertion Failed: Missing translation for key "menuItem.text".

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;
});

这将为您提供密钥中的翻译文本,您可以直接在模板中使用该密钥。