Locales

A Java locale identifier has three parts:

Language
A lower-case, two-letter, ISO-639 code.

See http://www.unicode.org/onlinedat/languages.html.

Country
An upper-case, two-letter, ISO-3166 code.

See http://www.unicode.org/onlinedat/countries.html.

Variant
A vendor-specific or browser-specific code.

The language code is required, but the other parts are optional. The individual parts are separated by an underscore character. Some examples of valid locales are: "en" (English language), "en_US" (English language for the United States), zh_HK (Chinese language for Hong Kong). This system is used within the Cúram application to identify locales. Most locale-specific information in the application are contained in properties files.