@ngx-translate 延迟加载模块 Angular 5

@ngx-translate with lazy-loaded module in Angular 5

我在我正在创建的 Angular 5 应用程序中使用 @ngx-translate 进行语言处理。该应用程序有两个功能模块,一个延迟加载和一个急切加载。

问题是翻译管道在预加载模块中工作正常,但在延迟加载模块中工作不正常。我该如何解决?

我也一直在为同样的问题苦苦挣扎,还没有找到可行的答案。

Angular 的好心人正在研究 i18n,但这可能需要更多时间。

虽然不理想,但您可能需要查看以下文章:

“如何使用 ngx-translate 将您的 i18n 文件拆分为每个延迟加载的模块?” @frogeret https://medium.com/@TuiZ/how-to-split-your-i18n-file-per-lazy-loaded-module-with-ngx-translate-3caef57a738f

在我的延迟加载模块中,我不得不将其添加到导入中:

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

我也在延迟加载组件中做了类似的事情:

import {TranslateService} from '@ngx-translate/core';

在构造函数中:

private translate: TranslateService

最后是 onInit:

this.translate.use(language);

它工作得很好。

您可以检查适用于 Angular 和 Ionic 应用程序的 ngstack/translate 库。还提供对延迟加载、页面标题翻译、自定义管道和许多其他强大功能的支持。