java.util
Class Locale
java.lang.Object
|
+--java.util.Locale
All Implemented Interfaces:
Serializable, Cloneable
Locales represent a specific country and culture. Classes which can be
passed a Locale object tailor their information for a given locale. For
instance, currency number formatting is handled differently for the USA
and France.
Locales are made up of a language code, a country code, and an optional
set of variant strings. Language codes are represented by
ISO 639:1988 w/ additions from ISO 639/RA Newsletter No. 1/1989
and a decision of the Advisory Committee of ISO/TC39 on August 8, 1997.
Country codes are represented by
ISO 3166. Variant strings are vendor and browser specific. Standard
variant strings include "POSIX" for POSIX, "WIN" for MS-Windows, and
"MAC" for Macintosh. When there is more than one variant string, they must
be separated by an underscore (U+005F).
The default locale is determined by the values of the system properties
user.language, user.region, and user.variant, defaulting to "en". Note that
the locale does NOT contain the conversion and formatting capabilities (for
that, use ResourceBundle and java.text). Rather, it is an immutable tag
object for identifying a given locale, which is referenced by these other
classes when they must make locale-dependent decisions.
Since:Authors:- Jochen Hoenicke
- Paul Fisher
- Eric Blake <ebb9@email.byu.edu>
See Also:
CANADA
public static final Locale CANADA
Locale which represents the English speaking portion of Canada.
CANADA_FRENCH
public static final Locale CANADA_FRENCH
Locale which represents the French speaking portion of Canada.
CHINA
public static final Locale CHINA
Locale which represents China.
Same as SIMPLIFIED_CHINESE Locale.
CHINESE
public static final Locale CHINESE
Locale which represents the Chinese language.
ENGLISH
public static final Locale ENGLISH
Locale which represents the English language.
FRANCE
public static final Locale FRANCE
Locale which represents France.
FRENCH
public static final Locale FRENCH
Locale which represents the French language.
GERMAN
public static final Locale GERMAN
Locale which represents the German language.
GERMANY
public static final Locale GERMANY
Locale which represents Germany.
ITALIAN
public static final Locale ITALIAN
Locale which represents the Italian language.
ITALY
public static final Locale ITALY
Locale which represents Italy.
JAPAN
public static final Locale JAPAN
Locale which represents Japan.
JAPANESE
public static final Locale JAPANESE
Locale which represents the Japanese language.
KOREA
public static final Locale KOREA
Locale which represents Korea.
KOREAN
public static final Locale KOREAN
Locale which represents the Korean language.
PRC
public static final Locale PRC
Locale which represents the People's Republic of China.
Same as CHINA Locale.
SIMPLIFIED_CHINESE
public static final Locale SIMPLIFIED_CHINESE
Locale which represents the Chinese language as used in China.
TAIWAN
public static final Locale TAIWAN
Locale which represents Taiwan.
Same as TRADITIONAL_CHINESE Locale.
TRADITIONAL_CHINESE
public static final Locale TRADITIONAL_CHINESE
Locale which represents the Chinese language as used in Taiwan.
Same as TAIWAN Locale.
UK
public static final Locale UK
Locale which represents the United Kingdom.
US
public static final Locale US
Locale which represents the United States.
Locale
public Locale(java.lang.String language)
Creates a new locale for a language.
Since:Parameters:
Throws:
Locale
public Locale(java.lang.String language, java.lang.String country)
Creates a new locale for the given language and country.
Parameters:
Throws:
Locale
public Locale(java.lang.String language, java.lang.String country, java.lang.String variant)
Creates a new locale for the given language and country.
Parameters:
Throws:
clone
public Object clone()
Does the same as Object.clone()
but does not throw
a CloneNotSupportedException
. Why anyone would
use this method is a secret to me, since this class is immutable.
Returns:
equals
public boolean equals(java.lang.Object obj)
Compares two locales. To be equal, obj must be a Locale with the same
language, country, and variant code.
Parameters:
Returns:
- true if obj is equal to this
getAvailableLocales
public static Locale[] getAvailableLocales()
Returns the list of available locales.
Returns:
getCountry
public String getCountry()
Returns the country code of this locale.
Returns:
- country code portion of this locale, or an empty String
getDefault
public static Locale getDefault()
Returns the default Locale. The default locale is generally once set
on start up and then never changed. Normally you should use this locale
for everywhere you need a locale. The initial setting matches the
default locale, the user has chosen.
Returns:
- the default locale for this virtual machine
getDisplayCountry
public String getDisplayCountry()
Returns the country name of this locale localized to the
default locale. If the localized is not found, the ISO code
is returned. This has the same effect as
getDisplayCountry(Locale.getDefault());
Returns:
- the country name of this locale localized to the given locale,
with the ISO code as backup
getDisplayCountry
public String getDisplayCountry(java.util.Locale locale)
Gets the country name suitable for display to the user, formatted
for a specified locale.
Parameters:
Returns:
- the country name of this locale localized to the given locale,
with the ISO code as backup
getDisplayLanguage
public String getDisplayLanguage()
Gets the country name suitable for display to the user, formatted
for the default locale. This has the same effect as
getDisplayLanguage(Locale.getDefault());
Returns:
- the language name of this locale localized to the default locale,
with the ISO code as backup
getDisplayLanguage
public String getDisplayLanguage(java.util.Locale locale)
Gets the language name suitable for display to the user, formatted
for a specified locale.
Parameters:
Returns:
- the language name of this locale localized to the given locale,
with the ISO code as backup
getDisplayName
public String getDisplayName()
Gets all local components suitable for display to the user, formatted
for the default locale. For the language component, getDisplayLanguage
is called. For the country component, getDisplayCountry is called.
For the variant set component, getDisplayVariant is called.
The returned String will be one of the following forms:
language (country, variant)
language (country)
language (variant)
country (variant)
language
country
variant
Returns:
- String version of this locale, suitable for display to the user
getDisplayName
public String getDisplayName(java.util.Locale locale)
Gets all local components suitable for display to the user, formatted
for a specified locale. For the language component,
getDisplayLanguage(Locale) is called. For the country component,
getDisplayCountry(Locale) is called. For the variant set component,
getDisplayVariant(Locale) is called.
The returned String will be one of the following forms:
language (country, variant)
language (country)
language (variant)
country (variant)
language
country
variant
Parameters:
Returns:
- String version of this locale, suitable for display to the user
getDisplayVariant
public String getDisplayVariant()
Returns the variant name of this locale localized to the
default locale. If the localized is not found, the variant code
itself is returned. This has the same effect as
getDisplayVariant(Locale.getDefault());
Returns:
- the variant code of this locale localized to the given locale,
with the ISO code as backup
getDisplayVariant
public String getDisplayVariant(java.util.Locale locale)
Returns the variant name of this locale localized to the
given locale. If the localized is not found, the variant code
itself is returned.
Parameters:
Returns:
- the variant code of this locale localized to the given locale,
with the ISO code as backup
getISO3Country
public String getISO3Country()
Returns the three-letter ISO country abbrevation of the locale.
Throws:
getISO3Language
public String getISO3Language()
Returns the three-letter ISO language abbrevation of this locale.
Throws:
getISOCountries
public static String[] getISOCountries()
Returns a list of all 2-letter uppercase country codes as defined
in ISO 3166.
Returns:
- a list of acceptible country codes
getISOLanguages
public static String[] getISOLanguages()
Returns a list of all 2-letter lowercase language codes as defined
in ISO 639 (both old and new variant).
Returns:
- a list of acceptable language codes
getLanguage
public String getLanguage()
Returns the language code of this locale. Some language codes have changed
as ISO 639 has evolved; this returns the old name, even if you built
the locale with the new one.
Returns:
- language code portion of this locale, or an empty String
getVariant
public String getVariant()
Returns the variant code of this locale.
Returns:
- the variant code portion of this locale, or an empty String
hashCode
public synchronized int hashCode()
Return the hash code for this locale. The hashcode is the logical
xor of the hash codes of the language, the country and the variant.
The hash code is precomputed, since Locale
s are often
used in hash tables.
Returns:
setDefault
public static void setDefault(java.util.Locale newLocale)
Changes the default locale. Normally only called on program start up.
Note that this doesn't change the locale for other programs. This has
a security check,
PropertyPermission("user.language", "write")
, because of
its potential impact to running code.
Parameters:
Throws:
toString
public final String toString()
Gets the string representation of the current locale. This consists of
the language, the country, and the variant, separated by an underscore.
The variant is listed only if there is a language or country. Examples:
"en", "de_DE", "_GB", "en_US_WIN", "de__POSIX", "fr__MAC".
Returns:
- the string representation of this Locale
See Also:
Locales are made up of a language code, a country code, and an optional set of variant strings. Language codes are represented by ISO 639:1988 w/ additions from ISO 639/RA Newsletter No. 1/1989 and a decision of the Advisory Committee of ISO/TC39 on August 8, 1997.
Country codes are represented by ISO 3166. Variant strings are vendor and browser specific. Standard variant strings include "POSIX" for POSIX, "WIN" for MS-Windows, and "MAC" for Macintosh. When there is more than one variant string, they must be separated by an underscore (U+005F).
The default locale is determined by the values of the system properties user.language, user.region, and user.variant, defaulting to "en". Note that the locale does NOT contain the conversion and formatting capabilities (for that, use ResourceBundle and java.text). Rather, it is an immutable tag object for identifying a given locale, which is referenced by these other classes when they must make locale-dependent decisions.