在多模块angular应用中出现ng-translate的问题

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

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

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

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

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

谢谢你的提示。

aeiou159 回答:在多模块angular应用中出现ng-translate的问题

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,并将加载程序路径更改为:asset / i18n / app / *。json。

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

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

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

本文链接:https://www.f2er.com/2886609.html

大家都在问