Javaで多言語対応をする方法
Javaで多言語対応をするには、ResourceBundle クラスとプロパティファイルを使用するのが一般的な方法です。
以下の手順で多言語対応を実装できます。
ステップ1: プロパティファイルを作成する
1. 各言語ごとにプロパティファイルを作成します。
例えば、英語(en)と日本語(ja)のファイルを作成します。
MessagesBundle_en.properties
greeting = Hello farewell = Goodbye
MessagesBundle_ja.properties
greeting = こんにちは farewell = さようなら
ステップ2: ResourceBundleを使用してプロパティファイルを読み込む
Javaのコード内で、ResourceBundle クラスを使って適切なプロパティファイルを読み込みます。
import java.util.Locale; import java.util.ResourceBundle; public class MultiLanguageSupport { public static void main(String[] args) { // ロケールを指定 Locale enLocale = new Locale("en", "US"); Locale jaLocale = new Locale("ja", "JP"); // ResourceBundleを取得 ResourceBundle enBundle = ResourceBundle.getBundle("MessagesBundle", enLocale); ResourceBundle jaBundle = ResourceBundle.getBundle("MessagesBundle", jaLocale); // メッセージを表示 System.out.println("English: "); System.out.println(enBundle.getString("greeting")); System.out.println(enBundle.getString("farewell")); System.out.println("\nJapanese: "); System.out.println(jaBundle.getString("greeting")); System.out.println(jaBundle.getString("farewell")); } }
出力結果としては、以下のように表示されます。
English: Hello Goodbye Japanese: こんにちは さようなら
多言語サイトはURLパラメータ等で言語を出し分けするのがよくあるパターンであり、ロケールについてはそのパラメータから取得するのが良いでしょう。
まとめ
- プロパティファイルを各言語ごとに作成する。
- ResourceBundleを使ってプロパティファイルを読み込む。
この方法を使うことで、Javaアプリケーションで多言語対応が容易に実現できます。
ResourceBundle.Controlクラスを拡張すれば、propertiesファイルではなくxmlファイルをリソースファイルとして使用することもできます。
プロパティファイルで十分だと思いますが、プロジェクトによってはxmlで管理するのも良いでしょう。