我刚刚开始研究使用 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()
演示的方式使用,但这也解决了未定义的问题。
假设我无法更改翻译密钥的来源,是否有适当的方法将翻译密钥从控制器获取到助手?