Angular 7 i18n 内部服务、组件和无模板的翻译

Sur*_*ava 5 internationalization ngx-translate angular7

我正在尝试从 ngx-translate 迁移到 Angular i18n 方法,并希望在迁移前确定几点。

  1. 是否可以在没有任何模板的情况下在服务和组件内部进行翻译?在 ngx-translate 中,可以使用翻译管道。
  2. angular 是否为 V7 引入了任何方法或计划在 v8 中引入用于转换内部组件和服务级别的方法?
  3. 这目前是否只能使用变通方法并且没有角度的方法来做到这一点?如果是,我应该使用 angular i18n 方法还是更好地继续使用ng-tranlate包?

提前致谢!

sev*_*vic 2

您可以在这里找到相应的gitlab 问题 。目前还没有设定里程碑,所以我估计这个功能还需要一些时间才能实现。

对于那些正在寻找可能的解决方法以在 Angular 7- 组件中获取翻译的人:我个人使用以下解决方法,您也可以在gitlab 问题中找到它以及其他一些建议:

在模板中创建隐藏元素

<span style="display: none;" #trans-foo i18n>foo</span>
Run Code Online (Sandbox Code Playgroud)

使用绑定它们

@ViewChild('trans-foo') transFoo : ElementRef;
Run Code Online (Sandbox Code Playgroud)

然后检索翻译后的值

transFoo.nativeElement.textContent
Run Code Online (Sandbox Code Playgroud)