我试图使用角度翻译,我有一个最好的练习题。最好的做法是使用键作为字符串,如下所示:
app.config(function($translateProvider) {
$translateProvider.translations('en', {
HEADLINE: 'Hello there, This is my awesome app!',
INTRO_TEXT: 'And it has i18n support!'
});
});
和
<h2>{{ 'HEADLINE' | translate }}</h2>
<p>{{ 'INTRO_TEXT' | translate }}</p>
与以下内容相反:
<h2 ng-bind="'Hello there, This is my awesome app!' | translate"></h2>
如果是这样,为什么一种方法最佳实践优于另一种?使用多语言支持所需的密钥是什么?
答案 0 :(得分:6)
我更喜欢使用短按键而不是英文文本作为密钥..这会破坏您的HTML和配置JS文件..当您使用短按键时,您还可以嵌套密钥,例如
{
user: {
name: 'Name',
email: 'E-Mail'
}
}
并在HTML中使用它
<p translate="user.name"></p>
你应该使用指令而不是过滤器..这就是为什么:https://github.com/angular-translate/angular-translate/wiki/Getting-Started#using-translate-directive