角度转换文件(ngx-translate)被加载两次

时间:2017-08-22 15:58:24

标签: angular ngx-translate

我注意到,在浏览器的开发者工具网络标签中,我的Angular应用翻译文件被加载了两次。

有什么问题? 这应该发生吗?

network tab

1 个答案:

答案 0 :(得分:0)

如果您使用的语言和使用ng2-translate的TranslateService设置的默认语言相同,则可能会发生这种情况。

<强>错误:

  constructor(translate: TranslateService) {
    const DEFAULT_LANG = 'en';
    const userLang = translate.getBrowserLang();

    translate.setDefaultLang(DEFAULT_LANG);
    translate.use(userLang);
  }

建议的解决方案:

  constructor(translate: TranslateService) {
    const DEFAULT_LANG = 'en';
    const userLang = translate.getBrowserLang();

    if (userLang !== DEFAULT_LANG) {
      translate.setDefaultLang(DEFAULT_LANG);
    }

    translate.use(userLang);
  }

这在ngx-translate issue进一步讨论。

注意:您应该在服务中运行此逻辑,该服务会在用户语言更改时进行监视。