比較的大きな Java アプリケーションを React に移行しており、React アプリケーションに国際化を実装する必要があります。確かに、FormaJS や i18next など、React で i18n に使用できるライブラリは多数ありますが、それらのほとんどが私の要件に応えていないことがわかりました。
すべての変換は、キーとメッセージが次のように見える Java リソース バンドルの形式で既に行われています。
simpleKey = Hi! multiParamterKey = Dear {0}, I have {1} messages for you formattingKey = Ticket {0,number,#} has been closed multiLineKey = Dear {0}, \n\ \n\ Have a nice day \n\ otherKey = ...
複数形にする必要はありませんが、可能であれば、数値パラメータ
{0}
を名前付きパラメータに置き換えることは避けたいと考えています{key1}
。これは、特にフォーマットが関係する場合 (formattingKey) が複雑になる可能性があるためです。また、既存のキーを使用する必要があります。ライブラリは、フォールバック翻訳のロケールをサポートする必要があります。つまり、ドイツ語のロケールをフォールバック ロケールとして設定し、英語の翻訳キーを使用している場合、_en ファイル/ソース内の不足しているすべてのキーは、_ge ファイル/ソースを使用して翻訳する必要があります。
(理想的には) ライブラリは、フォールバックと現在のロケールを動的に変更できるようにする必要があります
(理想的には) ライブラリは、ajax を使用してバンドルをロードできるようにする必要があります
主に id がフォールバック ロケールをサポートしていないため、FormatJS を使用しないことにしました。これには、使用時にコンポーネントで提供する必要があるデフォルトの翻訳の概念があります。
私はi18nextに反対することを決定することに近づいています-React統合プロジェクトはあまり人気がないようです-名前付きパラメーターを使用するようにメッセージを変更する必要があります
他のライブラリを推奨できる人はいますか?