type=page
status=published
title=Java Platform Localization Classes
next=webi18n002.html
prev=webi18n.html
~~~~~~
Java Platform Localization Classes
==================================

[[BNAXV]]

[[java-platform-localization-classes]]
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 `fr` (French), `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
link:dukes-bookstore.html#GLNVI[Chapter 60, "Duke's Bookstore Case Study
Example"]) contains resource bundles with the base name
`messages.properties` for the locales `de` (German), `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, `messages.properties`.

For more details on internationalization and localization in the Java
platform, see `http://docs.oracle.com/javase/tutorial/i18n/index.html`.
