请参阅:http://jsfiddle.net/cyclomarc/36VS3/1/
我正在使用Ember i18n lib进行翻译。如何在Ember.TextField视图中使用已翻译的字符串?
同意textarea视图并选择视图。
<script type="text/x-handlebars">
<h2>Ember Translate placeholder</h2>
{{t T1005}}<br>
{{view Ember.TextField placeholder="T1005"}}
</script>
输入字段中的占位符也应该说'Info',因此不是'T1005'(作为字符串的引用)。
答案 0 :(得分:6)
你也可以这样做,将Ember.I18n.TranslateableAttributes
mixin添加到需要翻译的视图中,如下所示:
Ember.TextField.reopen(Ember.I18n.TranslateableAttributes)
然后将后缀Translation
添加到您想要翻译的属性中:
{{view Ember.TextField placeholderTranslation="T1005"}}
请在此处查看更新后的jsfiddle。
希望它有所帮助。
答案 1 :(得分:4)
这将转换任何属性,而不仅仅是占位符属性。
翻译文件:
{
accounts:{
emailAddress:'Email Address'
}
}
Handlebars / Ember 标记:
{{input type="email" placeholder=(t 'accounts.emailAddress') }}
标准标记
<input name="email" placeholder=(t 'login.email-placeholder')>
答案 2 :(得分:2)
您可能应该将Ember.TextField
子类化,并将占位符添加为计算属性:
App.TextField = Ember.TextField.extend({
placeholder : function(){
return Ember.I18n.t("T1005");
}.property()
});
在手柄模板中使用以下内容:
{{view App.TextField}}
答案 3 :(得分:0)
对我而言,如下所述: https://github.com/jamesarosen/ember-i18n/wiki/Doc:-Translating-Text
<script type="text/x-handlebars">
<h2>Ember Translate placeholder</h2>
{{t T1005}}<br>
{{view Ember.TextField placeholder=(t "T1005")}}
</script>