是的,这是的常春藤i18n问题v8.x.x
。我已将其发布在Angular仓库中,并已得到@Ocombe(正在研究Ivy i18n的作者)的确认。
如果您急于解决此问题,可以执行以下操作:
当Ivy正在搜索运行时语言环境时,您可以AppModule
像这样简单地提供默认语言,然后提供APP_INITIALIZER
:
... providers: [ ... { provide: LOCALE_ID, useValue: 'en' } { provide: APP_INITIALIZER, useFactory: initializeAppSettings, deps: [AppInitializerService], multi: true } ... ] ...
这将首先设置默认语言环境,然后运行您的APP_INITIALIZER
。接下来,在您的服务器CoreModule
(仅加载一次)中,只需提供LOCALE_ID
从后端获取的新文件:
... providers: [ ... { provide: LOCALE_ID, useFactory: (localeService: LocaleService) => localeService.getCurrentLocale(), deps: [LocaleService] } ... ] ...