テンプレートにコンポーネントのプロパティを表示したいが、ユーザーのロケールに応じて変換したい。 リンゴ、パイナップルまたはスイカ: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)を選択する以外は、私が必要とするものですが、テンプレート全体に同じ選択条件を複製する必要があります。