【问题标题】:TranslateService.use() works half of the time (ngx-translate)TranslateService.use() 工作一半的时间(ngx-translate)
【发布时间】:2020-01-14 22:24:09
【问题描述】:

我的应用程序通过某些本地化模块中的 observable 从后端检索有关本地化的信息

constructor(translate: TranslateService){
  locale.subscribe(fetched_lang =>
    translate.use(fetched_lang)
  );
}

问题是语言可以作为 before 以及 after 根组件初始化来检索。 在第一种情况下,代码可以正常工作,但在第二种情况下,translate.use() 不会更新翻译,而是根据网络 devtools 获取带有翻译的 json。

之后我尝试使用 simple 手动切换不同的语言

<button (click)="translate.use(other_lang)"></button>

当我点击按钮时,首先快速显示来自fetched_language 的翻译,然后切换到other_lang

问题是:如何在检索语言后立即更改翻译?

【问题讨论】:

    标签: angular internationalization observable translation ngx-translate


    【解决方案1】:

    答案是(可能)NgZone 没有检测到异步数据流。这就是为什么你需要把你的translate.use() 放在NgZone.run() 里面

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多