【发布时间】:2018-12-20 12:16:33
【问题描述】:
我想在 Angular 5 项目延迟加载模块中实现 ngx-translate,它仅适用于父模块,但不适用于我的子模块,因此请提出更好的解决方案。
我为应用模块编写代码。
我正在使用@ngx-translate/core 和@ngx-translate/http-loader
app.module.ts
TranslateModule.forRoot({
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
LayoutModule,
HttpClientModule,
BrowserAnimationsModule,
HttpModule, ReactiveFormsModule,
RouterModule.forRoot(
appRoutes,
{ enableTracing: false }
),
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: createTranslateLoader,
deps: [HttpClient]
}
})
export function createTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/app/', '.json');
}
child.module.ts
@NgModule({
imports: [
RouterModule,
CommonModule,
BrowserModule,
BrowserAnimationsModule,
GridModule,
DropDownsModule,
FormsModule,
ExcelModule,
ControlMessagesModule, ReactiveFormsModule,
TranslateModule.forChild({
loader: {
provide: TranslateLoader,
useFactory: (AdminTranslateLoader),
deps: [HttpClient]
},
isolate: true
})
],
export function AdminTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/admin/', '.json');
}
【问题讨论】:
-
尝试对两个模块使用相同的路径
'./assets/i18n/app/',看看它是否有效。我在不同的模块中使用相同的文件,它对我来说很好 -
我的要求是像模块一样将翻译存储在不同的 json 文件中,并将特定的翻译存储在特定的文件示例中翻译
标签: angular localization ngx-translate