2

见: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>

输入字段中的占位符也应该说“信息”,因此不是“T1005”(作为字符串的引用)。

4

4 回答 4

6

你也可以这样做,通过将Ember.I18n.TranslateableAttributesmixin 添加到需要翻译感知的视图中,如下所示:

Ember.TextField.reopen(Ember.I18n.TranslateableAttributes)

然后将后缀添加Translation到您想要翻译的属性中:

{{view Ember.TextField placeholderTranslation="T1005"}}

在这里查看您更新的jsfiddle

希望能帮助到你。

于 2013-08-05T20:59:23.843 回答
4

这将适用于翻译任何属性,而不仅仅是占位符属性。

翻译文件:

{
    accounts:{
        emailAddress:'Email Address'
    }
}

车把/Ember标记:

{{input type="email" placeholder=(t 'accounts.emailAddress') }}

标准标记

<input name="email" placeholder=(t 'login.email-placeholder')>
于 2015-12-08T21:54:23.837 回答
2

您可能应该子类Ember.TextField化并将占位符添加为计算属性:

App.TextField = Ember.TextField.extend({
    placeholder : function(){
        return Ember.I18n.t("T1005");
    }.property()
});

并在您的车把模板中使用以下内容:

{{view App.TextField}}
于 2013-08-05T20:50:36.100 回答
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>
于 2016-09-12T07:47:00.370 回答