20.1 Java Platform Localization Classes
In the Java platform, java.util.Locale (
http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html) represents a specific geographical, political, or cultural region. The string representation of a locale consists of the international standard two-character abbreviation for language and country and an optional variant, all separated by underscore (
_) characters. Examples of locale strings include
de_CH (Swiss German), and
en_US_POSIX (English on a POSIX-compliant platform).
Locale-sensitive data is stored in a java.util.ResourceBundle (
http://docs.oracle.com/javase/7/docs/api/java/util/ResourceBundle.html). A resource bundle contains key-value pairs, where the keys uniquely identify a locale-specific object in the bundle. A resource bundle can be backed by a text file (properties resource bundle) or a class (list resource bundle) containing the pairs. You construct a resource bundle instance by appending a locale string representation to a base name.
The Duke's Bookstore application (see Chapter 57, "Duke's Bookstore Case Study Example") contains resource bundles with the base name
messages.properties for the locales
es (Spanish), and
fr (French). The default locale,
en (English), which is specified in the
faces-config.xml file, uses the resource bundle with the base name,
For more details on internationalization and localization in the Java platform, see