【问题标题】:How to use TranslateService (ngx-translate) in a typescript file via a globalservice?如何通过全局服务在打字稿文件中使用 TranslateService (ngx-translate)?
【发布时间】:2018-12-19 08:56:45
【问题描述】:

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

我还在https://stackblitz.com/edit/angular-6vlspz创建了一个示例应用程序

谁能帮我提供一些代码示例来实现它。

【问题讨论】:

    标签: angular ngx-translate


    【解决方案1】:

    从你的例子中,有几件事要做:

    • 使 testService 上的 moreText 成为可观察的文本。我认为最好的方法是 BehaviorSubject。
    • 订阅那里的语言更改,并更新更多可观察的文本。
    • 在你的组件中使用这个 observable。

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

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

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

    【讨论】:

    • 非常感谢 Zlatko 快速详细的回复。在这种情况下,我有方法:test.model.ts 文件中的 moreTextContent,该方法用于通过 testService 类与组件关联的视图之一
    • 我试过但不适合我。你能帮我提供一些代码示例吗?
    猜你喜欢
    • 2021-08-08
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多