Java file based resource bundle : ResourceBundle « I18N « Java Tutorial






import java.util.Enumeration;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.MissingResourceException;

public class HelloResourceBundleExample {

  public static void main(String [] argv) {
    try {
      Locale frenchLocale = new Locale("fr", "FR");
      ResourceBundle rb = ResourceBundle.getBundle("HelloResourceBundle", frenchLocale);

      System.out.println(rb.getString("Hello"));
      System.out.println(rb.getString("Goodbye"));

    } catch (MissingResourceException mre) {
      mre.printStackTrace();
    }
  }
}
import java.util.Enumeration;
import java.util.ResourceBundle;
import java.util.StringTokenizer;

public class HelloResourceBundle extends ResourceBundle {

  private String keys = "Hello Goodbye";

    public Object handleGetObject(String key) {
      if (key.equals("Hello")) return "Hello";
      if (key.equals("Goodbye")) return "Goodbye";

      return null;
    }

    public Enumeration getKeys() {
      StringTokenizer keyTokenizer = new StringTokenizer(keys);

      return keyTokenizer;
    }
}
import java.util.Enumeration;
import java.util.ResourceBundle;
import java.util.StringTokenizer;

public class HelloResourceBundle_fr extends HelloResourceBundle {

  public Object handleGetObject(String key) {
    if (key.equals("Hello")) return "Bonjour";

    return null;
  }
}
import java.util.Enumeration;
import java.util.ResourceBundle;
import java.util.StringTokenizer;

public class HelloResourceBundle_fr_FR extends HelloResourceBundle_fr {

  public Object handleGetObject(String key) {
    if (key.equals("Goodbye")) return "Au Revoir";

    return null;
  }
}








13.4.ResourceBundle
13.4.1.File name for java.util.ResourceBundle
13.4.2.Load resources via a resources file
13.4.3.Reading Properties Files using ResourceBundle
13.4.4.Convert ResourceBundle to Properties
13.4.5.Convert ResourceBundle to Map
13.4.6.An Internationalized Swing Application
13.4.7.JOptionPane Resources
13.4.8.Using the JDK 6 ResourceBundle class
13.4.9.Displaying Calendar Names
13.4.10.Customizing Resource Bundle Loading
13.4.11.XML resource bundle
13.4.12.Get resource bundle for a certain locale
13.4.13.Java file based resource bundle
13.4.14.ResourceBundle: avoid a performance penalty by superfluous resource (and classes loaded by Class.forName) lookups on web server in applets.