在Angular 5中使用延迟加载模块@ ngx-translate

Sae*_*far 8 ngx-translate angular5

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

问题是转换管道在急切加载的模块中工作正常但不是懒惰加载的模块.我该如何解决这个问题?

Kif*_*fin 8

我也一直在努力解决相同的问题,但尚未找到可行的答案。

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

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

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


Dan*_*Waw 6

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

TranslateModule.forChild({
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps: [HttpClient]
      }
    })
Run Code Online (Sandbox Code Playgroud)

也在lazyloaded组件中我做了类似的事情:

import {TranslateService} from '@ngx-translate/core';
Run Code Online (Sandbox Code Playgroud)

在构造函数中:

private translate: TranslateService
Run Code Online (Sandbox Code Playgroud)

最后是onInit:

this.translate.use(language);
Run Code Online (Sandbox Code Playgroud)

它工作得很好.

  • @DanielWaw 这完全是救星!我一整天都在努力让这项工作成功。这就像一个魅力!绝对是我一直在寻找的修复方法。 (2认同)