在 Angular 5 中哪里可以使用 ngx-translate 和 ngrx 进行翻译?

fro*_*.io 5 redux ngrx ngx-translate angular ngrx-store

我们有一个应用程序,它使用带有ngrx的 Redux-Pattern以及针对 i18n 的ngx-translate。我已经从这个答案中学习了如何与 ngrx 一起处理 Angular i18n 方法,但我不知道 ngx-translate-approach 最适合 ngrx 应用程序的位置。

可以做翻译

  • 按服务:this.translateService.get('SOME_KEY')
  • 或通过管道:{{ 'SOME_KEY' | translate }}

它提供了四个可能的位置,可以在其中翻译密钥:

  1. 在组件中,在调用操作之前
  2. 在操作本身中,在将数据传递到存储之前
  3. 在减速机中
  4. 在视图中,当状态更改触发重新渲染时

您认为将翻译过程放在哪里是最简洁的方式?

a d*_*ren 5

理想情况下,您应该首先将翻译放入模板中,因为这最接近翻译出现的位置。

如果当您发现无法使用模板来显示某些翻译时,您可以考虑translateService在组件、服务等中使用模板。

顺便说一句,您还可以使用该ngx-translate 指令来显示翻译:

<div [translate]="'SOME_OTHER_KEY'"></div>
Run Code Online (Sandbox Code Playgroud)