如何通过globalservice在打字稿文件中使用TranslateService(ngx-translate)?

时间:2018-12-19 08:56:45

标签: angular ngx-translate

我正在尝试使用ngx-translate库在angular 4应用程序中实现翻译功能。在这里,我尝试使用TranslateService,该服务被注入到整个应用程序中使用的全局服务中。会在实用程序文件中调用此全局服务(包含所有常用功能)。最后,在组件级别调用实用程序方法。这里是总体用法图:

enter image description here

我还在以下位置创建了示例应用程序:https://stackblitz.com/edit/angular-6vlspz

有人可以在这里提供一些代码示例来帮助我吗?

1 个答案:

答案 0 :(得分:1)

从您的示例中,有几件事要做:

  • 使testService上的moreText为可观察的文本。我认为最好的事情是BehaviorSubject。
  • 在此处订阅语言更改,并更新更多可观察的文本。
  • 在组件中使用此可观察的结果。

我想到了在拦截器中添加Accept-Language标头的想法。为什么需要从中抽象出实际的转换值?只需直接在组件中使用它即可:

<span>Something something {{ 'moreText' | translate }} </span>

您无需在服务中传递标签。