我正在创建一个国际化的Ember.js应用,我正在使用Ember-I18n。这在大多数情况下都可以正常工作,但现在考虑语言字符串:
'To do some action {{link}}'
{{link}}
需要用某个链接替换。翻译字符串无法分解,因为{{link}}
的位置可能因语言而异。所以我需要找到一种方法来获取链接;这当然是另一个带翻译的模板,如:
<a {{action someAction}}>{{t click_here}}</a>
我已经尝试了几件事情:使用自定义块帮助器为链接创建自定义视图;但我还没有任何工作要做。
这样做的最佳方法是什么?换句话说,如何将渲染模板作为变量插入到Ember.js中的另一个模板中?
答案 0 :(得分:0)
我不使用该库来翻译我的应用程序,但据我从其文档中了解,这可能有用:
1)为模板创建一个视图,如下所示:
var view = Em.View.create({
templateName: "mytemplate",
link: "http://emberjs.com",
});
2)在模板中使用Ember-I18n提供的绑定:
<a {{action someAction}}>{{t click_here linkBinding="view.link"}}</a>
假设翻译字符串位于“click_here”键中。
更多信息:https://github.com/jamesarosen/ember-i18n#bind-interpolated-values