Angular 翻译的良好做法

Good practice with Angular Translate

我正在尝试使用 angular 翻译,我有一个最佳实践问题。像这样对字符串使用键是最佳做法吗:

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>

如果是这样,为什么一种方法优于另一种方法? using key 是多语言支持所必需的吗?

我更喜欢短键而不是英文文本作为键。这会破坏你的 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