2

我有一个角度应用程序,我正在为 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 }}

但核心信息仍然没有翻译。

我究竟做错了什么?提前致谢!

4

0 回答 0