web-dev-qa-db-ja.com

Angular 5の遅延ロードされたモジュールでの@ ngx-translate

私が作成しているAngular 5アプリの言語処理に@ ngx-translateを使用しています。このアプリには、遅延読み込みと熱心読み込みの2つの機能モジュールがあります。

問題は、変換パイプがeager-loadedモジュールでは正常に機能するが、lazy-loadedモジュールでは機能しないことです。どうすれば修正できますか?

10
Saeb Panahifar

私も同じ問題に取り組んできましたが、まだ実現可能な答えを見つけることができていません。

Angularの親切な人々はi18nで作業していますが、これにはさらに時間がかかる場合があります。

理想的ではありませんが、次の記事をチェックすることをお勧めします。

「ngx-translateで遅延読み込みされたモジュールごとにi18nファイルを分割する方法は?」 @frogeret https://medium.com/@TuiZ/how-to-split-your-i18n-file-per-lazy-loaded-module-with-ngx-translate-3caef57a738f

10
Kiffin

私のレイジーロードモジュールでは、これをインポートに追加する必要がありました:

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

遅延ロードされたコンポーネントでも私はそのようなことをしました:

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

コンストラクタで:

private translate: TranslateService

そして最後にonInit:

this.translate.use(language);

そして、それはうまく機能しています。

8
DanielWaw

AngularおよびIonicアプリで機能する ngstack/translate ライブラリを確認できます。遅延読み込み、ページタイトルの翻訳、カスタムパイプ、その他の多くの優れた機能もサポートしています。

0
Denys Vuika