Javaの国際化:1つのResourceBundleパッケージごとアクセサ、またはプロジェクト全体のための1つを使用して?

StackOverflow https://stackoverflow.com/questions/2067336

質問

私は国際化については何も知りません。

私はいくつかのパッケージを使用してプロジェクトを持っています。私は、プロパティファイルに私のクラスで文字列定数を抽出し、静的アクセサの呼び出しでこれらの文字列を置き換えるためにEclipseの内蔵の「外部化文字列」ウィザードを使用しています。だから、代わりに

System.out.println("Hello, world!");

私は

で終わります
System.out.println(Messages.getString("MyKey"));

とすべてのパッケージでMessagesユーティリティクラス([この場合getStringファイル]のResourceBundleから所望の文字列を取得するための静的.properties方法を提供します)。それは、すべてのパッケージにMessagesクラスを持っている、またはプロジェクト全体のための単一のMessagesクラスを持っているのがベストですか?

役に立ちましたか?

解決

私は、グローバルローカライズファイルに賛成です。あなたが重複またはネストを必要と思われる(「OK」、「キャンセル」)、およびリソースが集約されている場合は外のローカライズ人とのインタフェースが容易になり、重複キーを持つことになります。

他のヒント

私は1つあたりのパッケージを続けるだろう。この方法で、保守/リファクタリング/ユニットテストがはるかに簡単です。

また、単一のファイルには世界的な依存関係はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top