例: java.util.ResourceBundle クラスを使用してロケール固有データを国際化する

この例では、リソース・バンドルとともにロケールを使用して、プログラム・ストリングを国際化する方法を示します。

ResourceBundleExample プログラムが意図されたとおりに機能するためには、以下のプロパティー・ファイルが必要です。

RBExample.properties の内容
Hello.text=Hello
RBExample_de.properties の内容
Hello.text=Guten Tag
RBExample_fr_FR.properties の内容
Hello.text=Bonjour

例 1: ロケール固有データを国際化するための java.util.ResourceBundle クラスの使用

注: サンプル・コードをご使用の場合は、コードに関するライセンス情報および特記事項に同意していただいているものとします。
//*********************************
// File: ResourceBundleExample.java
//*********************************
 
import java.util.*;
 
public class ResourceBundleExample {
   public static void main(String args[]) throws MissingResourceException {
 
     String resourceName = "RBExample";
     ResourceBundle rb;
 
     // Default locale
     rb = ResourceBundle.getBundle(resourceName);
     System.out.println("Default : " + rb.getString("Hello" + ".text"));
     
     // Request a resource bundle with explicitly specified locale
     rb = ResourceBundle.getBundle(resourceName, Locale.GERMANY);
     System.out.println("German : " + rb.getString("Hello" + ".text"));
     
     // No property file for China in this example... use default 
     rb = ResourceBundle.getBundle(resourceName, Locale.CHINA); 
     System.out.println("Chinese : " + rb.getString("Hello" + ".text"));
 
     // Here is another way to do it...
     Locale.setDefault(Locale.FRANCE);
     rb = ResourceBundle.getBundle(resourceName);
     System.out.println("French : " + rb.getString("Hello" + ".text"));
 
     // No property file for China in this example... use default, which is now fr_FR.
     rb = ResourceBundle.getBundle(resourceName, Locale.CHINA);
     System.out.println("Chinese : " + rb.getString("Hello" + ".text"));
   } 
}