【发布时间】:2014-04-29 15:52:14
【问题描述】:
我刚刚开始研究一个使用 ember-i18n.js 进行本地化的现有 Ember.js 项目。
Ember.Mixin.create({
setupController: function (controller, model) {
controller.set("somePropertyName", "my.translation.key");
}
});
我定义了另一个帮助器,它可以让我从上下文属性中获取翻译键,而不是直接传递它,例如我可以使用{{tr someContext.someProperty}} 而不是{{t "my.translation.key"}}。
Ember.Handlebars.registerBoundHelper('tr', function(property, options) {
return Ember.I18n.t(property);
});
我对 Ember 还很陌生,所以我的想法是,我可以简单地将模板中的 {{somePropertyName}} 替换为 {{tr somePropertyName}}。那没有用。当我在帮助程序中设置断点时,我看到 property 始终未定义。
我还尝试修改我的助手以使用 Ember.Handlebars.get(),如 here 所示,但这也未定义。
假设我无法更改翻译密钥的来源,是否有适当的方法将翻译密钥从控制器获取到帮助程序?
【问题讨论】:
标签: javascript ember.js translation ember-i18n