Angular Translate的良好实践

时间:2015-06-16 19:06:38

标签: angularjs angular-translate

我试图使用角度翻译,我有一个最好的练习题。最好的做法是使用键作为字符串,如下所示:

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>

如果是这样,为什么一种方法最佳实践优于另一种?使用多语言支持所需的密钥是什么?

1 个答案:

答案 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