問題タブ [angular-localize]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - angular localize でローカライズされたアセットを使用するにはどうすればよいですか
Angular プロジェクトの 1 つでAngular ローカライズ ( @angular/localize )を使用したいと考えています。ドキュメントの助けを借りて、テキストを別の言語に翻訳するのは簡単でした。ただし、ローカライズされた画像もいくつかあり、それらを処理する方法がわかりません。
たとえば、英語 (en) とドイツ語 (de) の 2 つの言語を対象とする場合、言語ごとに 1 つのイメージがmy-image_en.png
ありmy-image_de.png
ます。1 つ目は英語のサイトに表示され、2 つ目はドイツ語のサイトに表示されます。
プロジェクトをビルドすると、言語ごとに個別のフォルダーが生成されます。
それぞれに独自のアセットフォルダーがあります。とmy-image_en.png
に入る方法があることは論理的に思えますが、ドキュメントやインターネットで検索しても、それについては何も見つかりません。dist/my-site/en/assets
my-image_de.png
dist/my-site/de/assets
これがAngular localizeで達成できるかどうかは誰にも分かりますか? または、これはangular.json
ファイルで構成する必要があるものですか?
angular - Angular ローカライズの混乱
あるプロジェクトで angular localize を使用しようとしていますが、その使用法について混乱しています。このようなコードがあるとしましょう。
私がそれを正しく理解していれば、最初にキー「text-to-translate」でjsonファイルからの翻訳を使用しようとしますが、そのファイルが利用できない場合は文字列「IAmText」を使用します。
今私の質問はです。フォールバック言語ファイルの代わりに文字列を使用するのは悪い習慣ですか? だから、これの代わりにこのようなものを使うべきではありませんか?
多くの場所に文字列があり、それを変更する必要がある場合、たとえば 1 つの場所を忘れる可能性があるためです。または、角度のローカライズでより良いアプローチがありますか? 提案をありがとう。
angular - angular.json のすべてのロケールをサポートしていない Angular i18n
私のAngularアプリケーションは、フランス語(カナダ)、フランス語(フランス)、および米国英語の言語をサポートしたいと考えています。これは私の angular.json ファイル i18n コードです。
アプリケーションをビルドすると (npm run build) 、'fr-FR' のロケール データが見つかりませんというメッセージが表示されます。「fr」にロケール データを使用します。
- ISO-639リストにないため、これはangular.jsonでfr-FRが許可されていないことを意味しますか?
"fr": "src/locale/messages.fr.xlf"
fr-FR の代わりに使用する必要があります。次に、フランス (fr-FR ロケール) のユーザーが fr から dist フォルダーにコードをロードする場合に一致する必要があります。- 「2」が間違っている場合は、警告を無視し、dist フォルダーで fr-Fr 固有のアプリケーションを生成するビルドとしてそれを使用します。
- 「2」が正しい場合、それはすべてのロケールに適用され、「en-GB」、「en-CA」の場合はenを使用します...
日付と通貨を表示するための registerLocaleData のようなものがあることは知っています。
ドキュメントhttps://angular.io/guide/i18n-overviewを数回確認しました。私は何かが欠けていることを知っています。