Previous | Next | Trail Map | Internationalization | Contents

Setting the Locale

An internationalized program displays information differently throughout the world. For example, the program will display different messages in Paris, Tokyo, and New York. If the localization process has been fine-tuned, the program will display different messages in New York and London, to account for the differences in American and British English. How does an internationalized program identify the appropriate language and region of its end-users? Easy. It references a Locale object.

A Locale object is an identifier for a particular combination of language, region, and culture. If a class varies its behavior according to Locale, it is said to be locale-sensitive. For example, the NumberFormat class is locale-sensitive, because the format of the number it returns depends on the Locale. NumberFormat may return a number as 902 300 (France), or 902.300 (Germany), or 902,300 (U.S.). Locale objects are only identifiers. The real work, such as formatting and detecting word boundaries, is performed by the methods of the locale-sensitive classes.

In this lesson, you'll learn how to work with Locale objects, and how to perform the following tasks:

Creating a Locale

When creating a Locale object, you must specify a language and code and a country code. A third parameter, the variant, is optional.

Identifying Available Locales

Locale-sensitive classes only support certain Locale definitions. This section shows you how to determine which Locale definitions are supported.

The Default Locale

If you don't explicitly assign a Locale to a locale-sensitive object, the default Locale will be used. Fortunately, you can set the default Locale.

The Scope of a Locale

On the Java platform, you do not specify a global Locale by setting an environment variable before running the application. Instead, you assign a Locale to each locale-sensitive object.


Previous | Next | Trail Map | Internationalization | Contents