我注意到,在浏览器的开发者工具网络选项卡中,我的 Angular 应用程序翻译文件被加载了两次。
怎么了?这应该发生吗?
如果您使用的语言和您使用 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中进一步讨论。
注意:您可能应该在监视用户语言更改的服务中运行此逻辑。