問題タブ [formatjs]

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.

0 投票する
0 に答える
900 参照

reactjs - React で i18n に Java リソース バンドルを使用する

比較的大きな Java アプリケーションを React に移行しており、React アプリケーションに国際化を実装する必要があります。確かに、FormaJS や i18next など、React で i18n に使用できるライブラリは多数ありますが、それらのほとんどが私の要件に応えていないことがわかりました。

  1. すべての変換は、キーとメッセージが次のように見える Java リソース バンドルの形式で既に行われています。

    複数形にする必要はありませんが、可能であれば、数値パラメータ{0}を名前付きパラメータに置き換えることは避けたいと考えています{key1}。これは、特にフォーマットが関係する場合 (formattingKey) が複雑になる可能性があるためです。また、既存のキーを使用する必要があります。

  2. ライブラリは、フォールバック翻訳のロケールをサポートする必要があります。つまり、ドイツ語のロケールをフォールバック ロケールとして設定し、英語の翻訳キーを使用している場合、_en ファイル/ソース内の不足しているすべてのキーは、_ge ファイル/ソースを使用して翻訳する必要があります。

  3. (理想的には) ライブラリは、フォールバックと現在のロケールを動的に変更できるようにする必要があります

  4. (理想的には) ライブラリは、ajax を使用してバンドルをロードできるようにする必要があります

主に id がフォールバック ロケールをサポートしていないため、FormatJS を使用しないことにしました。これには、使用時にコンポーネントで提供する必要があるデフォルトの翻訳の概念があります。

私はi18nextに反対することを決定することに近づいています-React統合プロジェクトはあまり人気がないようです-名前付きパラメーターを使用するようにメッセージを変更する必要があります

他のライブラリを推奨できる人はいますか?