angular - 在 Angular 5 中使用 ngx-translate 和 ngrx 在哪里翻译?
问题描述
我们有一个应用程序,它使用带有ngrx的 Redux-Pattern以及用于 i18n的ngx-translate 。我已经从这个答案中学到了如何与ngrx一起处理Angular i18n方法,但我不知道ngx-translate-approach在哪里最适合ngrx应用程序。
可以翻译
- 按服务:
this.translateService.get('SOME_KEY')
- 或通过管道:
{{ 'SOME_KEY' | translate }}
它提供了四个可能的位置,可以在其中翻译键:
- 在组件中,在调用操作之前
- 在动作本身中,在将数据传递到存储之前
- 在减速机中
- 在视图中,当状态更改触发重新渲染时
您认为将翻译过程放在哪里最简洁?
解决方案
理想情况下,您应该首先将翻译放在模板中,因为它最接近翻译出现的位置。
如果并且当您发现无法使用模板显示某些翻译时,您可以考虑translateService
在您的组件、服务等中使用。
顺便说一句,您还可以使用该ngx-translate
指令来显示翻译:
<div [translate]="'SOME_OTHER_KEY'"></div>
推荐阅读
- java - 将 Class[] 的数组转换为 List 类型的不同类
- javascript - javascript style.display 阻止两个切换在一起
- reactjs - React hooks 状态未更新
- excel - 使用 2 张纸,如果单元格值匹配,则从另一列中引入日期值
- authentication - 如何向 JWT 令牌生命周期验证添加额外检查?
- angular - Angular 7:'找不到名称''
- android - 空对象引用上的 AlertDialog 按钮侦听器
- r - 自动识别变量之前在 R 的回归中已被分解
- c# - 控制器中的 Asp.Net Core 单元测试删除方法
- wordpress - htaccess | 阿帕奇 | 最佳实践 | WordPress 插件 | 允许覆盖