多模块角度应用程序中ng-translate的问题

问题描述 投票:0回答:1

我有一个由几个模块组成的Angular应用程序:1.应用2.展示3.个人资料4.共享

翻译服务已在共享模块中注册。这适用于模块(应用程序,显示)。

在显示模块中,有一个组件负责显示对象。这已导出。

如果该组件显示在App的上下文中,则翻译和所有其他导入均有效。如果我将此组件集成到Lady Loading Module(配置文件)中,则所有依赖项和翻译都将丢失。

我在做什么错?我在哪里可以读到它?

感谢提示。

angular lazy-loading ngx-translate
1个回答
0
投票
1。一种用于延迟加载模块的加载器设置:

shared.module.ts

import { TranslateModule } from '@ngx-translate/core'; // Inside @NgModule imports: [TranslateModule], exports: [TranslateModule],

app.module.ts

// No need to set up isolate !!! defoult is false it meens loader will work on all lazy loaded modules imports: [TranslateModule.forRoot({loader: {...}, isolate: false})]

2。对于大型应用程序,延迟加载的翻译:

JSON文件

assets / i18n / app / en.json和fr.json以及您想要多少种语言。

    assets / i18n / home / en.json和fr.json以及您想要多少种语言。
  • 对于root或app.module.ts,请参见上文:
    app.module.ts
  • ,并将隔离更改为true,并将加载程序路径更改为:assets / i18n / app / *。json。

    延迟加载的home.module.ts加载程序设置为路径:assets / i18n / home / *。json。

    imports: [TranslateModule.forChild({loader: {...}, isolate: true})] 现在,root和children将拥有自己的延迟加载翻译。

    © www.soinside.com 2019 - 2024. All rights reserved.