Ember.js / Ember-i18n:是否可以从 Handlebars 模板中迭代翻译文件中的属性



假设我有以下翻译代码:

languageOptions: {
  en: {
    code: "en"
    displayName: "English"
  },
  es: {
    code: "es"
    displayName: "Español"
  }
}

我想从我的车把模板中迭代语言选项中的属性。我也在使用 ember-i18n 插件。有没有办法做像我在这里尝试做的事情?(不幸的是,下面的代码不起作用。

{{#each-in (t 'languageOptions') as | language | }}
    {{language}}
{{/each-in}}

我认为一个简单的{{each}},从循环中翻译文本,应该给你你想要的结果。

{{#each languageOptions as |language|}}
    {{t language.displayName}}
{{/each}}

你不能这样使用。因为t帮助程序返回字符串。您需要创建一个帮助程序以从翻译文件中返回纯对象

检查这个维基页面(https://github.com/jamesarosen/ember-i18n/wiki/Example:-Language-Chooser),它显示了如何做你所追求的事情......

最新更新