Angular ngx-translate не разделяет перевод приложений в лениво загруженных модулях - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть приложение на угловых и я использую ngx-translate для i18n. Я хотел бы иметь перевод, который является общим для всех модулей (ленивый) приложения и конкретный для каждого модуля. Вот что у меня есть:

- 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');
      }

- lazy.loading.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 }}

но основные сообщения остаются без перевода.

Что я делаю не так? Заранее спасибо!

...