私のインターンシップでは、ソフトウェアの国際化と現在の慣行と解決策について調査するよう依頼されました。
私はいくつかの調査を行いましたが、実行可能な解決策はありません。プロジェクト マネージャーから、stackoverflow で質問するように依頼されました。
Javaソフトウェアを国際化するために、あなたの仕事で現在どのような慣行を行っていますか?
編集
以下は、他の人が私の調査結果に興味を持っている場合に備えて、私の調査の要約です。
ソフトウェアは Java で記述されているため、当然 RessourceBundles が使用されます。RessourceBundles は、現在のロケールの特定の翻訳が存在しない場合に、既定値にフォールバックする適切なキー値ルックアップを提供します。ResourceBundle は、テキストの翻訳だけでなく、リソースの国際化にも使用されます。たとえば、色やイメージは、文化が異なれば意味も異なります。
それはすべて素晴らしいことですが、純粋に Java PropertiesResourceBundles を使用するだけでは、翻訳者にメタデータを提供できず、複数形を処理できません。
GNU Gettext は、国際化に別のアプローチを採用しています。メッセージは英語のソース コードで記述され、抽出されてファイルに保存されます。抽出プログラムは関数呼び出しを検索し、パラメーターを抽出します。たとえば、コマンド ライン ユーティリティ xgettext の tr("Hello, World!") は、関数 "tr" の発生を検索し、すべての文字列リテラルを抽出します。
次のような gettext の Java 実装が存在します。
ResourceBundles が提供しない gettext は、複数形の処理と翻訳のコンテキストです。