【问题标题】:How to use i18n on angular component library如何在角度组件库上使用 i18n
【发布时间】:2019-08-18 02:34:07
【问题描述】:

我在自己的组件库中使用 i18n,但它不起作用

在我的模块中

// AoT requires an exported function for factories
export function HttpLoaderFactory(http: HttpClient) {
  return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}

@NgModule({
  declarations: [myLibraryModuleComponent],
  imports: [
    CommonModule,
    TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps: [HttpClient]
      }
    })
  ],
  exports: [myLibraryModuleComponent, TranslateModule]
})
export class myLibraryModule { }


我明白了

http://localhost:4200/assets/i18n/en.json

未找到。这不是一条好路

【问题讨论】:

    标签: javascript angular internationalization


    【解决方案1】:

    你在用aot吗? 如果是,根据文档,您必须使用导出函数而不是内联函数

    TranslateModule.forRoot({
                loader: {
                    provide: TranslateLoader,
                    useFactory: (createTranslateLoader),
                    deps: [HttpClient]
                }
            })
    

    注意括号之间的createTranslateLoader

    如果没有,试试这个:

    export function HttpLoaderFactory(http: HttpClient) {
        return new TranslateHttpLoader(http);
    }
    

    【讨论】:

    • 您好,我尝试了您的解决方案,但仍然无法正常工作,同样的错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 2019-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多