2017-12-22 1 views
0

テンプレートにコンポーネントのプロパティを表示したいが、ユーザーのロケールに応じて変換したい。 リンゴパイナップルまたはスイカi18nSelectパイプで複数のロケールをサポートする

は例えば、私のコンポーネントはプロパティに次のいずれかの値にfruitセットを持っていたとします。

このプロパティをテンプレートに表示して、その値をユーザーの言語に変換したいとします。私は達成することができます

そのi18nSelectパイプ使用:

Your fruit: {{fruit | i18nSelect:fruitMap}} 

をそして、私のコンポーネント上:正常に動作します

fruitMap = { apple: 'maçã', pineapple: 'abacaxi', watermelon: 'melancia' } 

。しかし、私は複数のロケールをサポートしたいと思います。言語ごとに1つずつ、複数の翻訳ファイルを用意し、サーバーの起動時にそれらのいずれかから選択することは素晴らしいことです(ng start --locale=ptなど)。

i18nSelectパイプを使用すると何とかできますか?

私はAngularが国際化(https://angular.io/guide/i18n)をサポートしていることを知っていますが、補間されたプロパティの値をどのように翻訳するかについては、ドキュメント上のどこにも見つかりませんでした。テンプレート上の静的テキストを翻訳することがすべてのようだ。 https://angular.io/guide/i18n#translate-select)を選択する以外は、私が必要とするものですが、テンプレート全体に同じ選択条件を複製する必要があります。

答えて

0

第三者のライブラリhttps://github.com/ngx-translate/coreは、標準的なi18n以上の角度を実際に行うことができます。サーバーを再起動しなくても翻訳を遅延ロードすることができます。 DBレベル/アプリレベルでの翻訳の保存+その他の便利な機能の使用

関連する問題