1

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

怎么了?这应该发生吗?

网络选项卡

4

1 回答 1

3

如果您使用的语言和您使用 ng2-translate's 设置的默认语言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中进一步讨论。

注意:您可能应该在监视用户语言更改的服务中运行此逻辑。

于 2017-08-22T16:06:27.330 回答