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

Troubles with ng-translate in multi-modules angular app

我有一个 Angular 应用程序,由几个模块组成: 1.应用程序 2.展示 三、简介 4. 分享

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

显示模块中有一个组件负责显示一个对象。这是导出的。

如果组件显示在 App 的上下文中,则翻译和所有其他导入都有效。 如果我将此组件集成到女士加载模块(配置文件)中,则所有依赖项和翻译都将丢失。

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

感谢您的提示。

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 以及您想要多少种语言。

For root or app.module.ts see above: app.module.ts and change isolate to true and loader path to: assets/i18n/app/*.json.

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

imports: [TranslateModule.forChild({loader: {...}, isolate: true})]

现在 root 和 children 将拥有自己的延迟加载翻译。