我有一个角度应用程序,我正在为 i18n 使用 ngx-translate。我想为应用程序的所有模块(惰性)共享一个翻译,并且每个模块都有一个特定的翻译。这就是我所拥有的:
-- app.module.ts -->
export function createTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/core/', '.json');
}
@NgModule({
...
imports: [
...
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [HttpClient]
}
}),
...
exports: [TranslateModule],
-- app.component.ts -->
...
constructor(
private translate: TranslateService
) {
translate.setDefaultLang('es');
}
-- 惰性加载.module.ts -->
export function createTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/login/', '.json');
}
@NgModule({
imports: [
...
TranslateModule.forChild({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [HttpClient]
},
isolate: true
}),
--lazy.loading.component.ts -->
...
constructor(
protected translate: TranslateService,
protected currentLanguageService: CurrentLanguageService
) {
translate.setDefaultLang('es');
}
登录模块的消息使用管道翻译进行翻译:
{{ 'login.or' | translate }}
但核心信息仍然没有翻译。
我究竟做错了什么?提前致谢!