类 java.util.Locale
java.lang.Object
|
+----java.util.Locale
- public final class Locale
- extends Object
- implements Cloneable, Serializable
一个 Locale 对象描述了一个特定地理的、政治的和文化的语言环境。一个要求 Locale 执行的任务操作是 语言环境敏感的
,它使用 Locale 来为用户裁剪信息。例如,显示一个数是语言环境敏感的操作--数应根据用户的国家、地区或文化的风俗/传统来格式化。
使用该类中的两个构造子之一创建一个 Locale :
Locale(String language, String country)
Locale(String language, String country, String variant)
第一个参数是对两个构造子都有效的 ISO 语言代码。 这些代码是根据 ISO-639 定义的小写的两字母代码。
第二个参数是对两个构造子都有效的 ISO 国家代码。 这些代码是根据 ISO-3166 定义的大写的两字母代码。
第二个构造子需要第三个参数 Variant。
变量代码是由供应商和浏览器指定的。例如,用 WIN 代表 Windows, MAC 代表 Macintosh 和 POSIX 代表 POSIX。
当有两个变量时,把它们用下划线区分开来,把最重要的放在前面。例如,一个传统的西班牙小吃可用 "ES"、"ES"、"Traditional_WIN" 引用。
因为一个 Locale 对象就是一个地区的标识符,当构造一个 Locale 时,没有有效性检查。
如果想看特定的资源在您构造的 Locale 中是否可用,必须查询那些资源。例如,使用 getAvailableLocales 方法向 NumberFormat 询问它支持的语言环境。
注意: 当询问一个特定的地区的资源时,可得到最好的可用的匹配,没必要精确地如您要求的那样。详见 ResourceBundle.
Locale 类提供了一些便利的常量,可用它们为通常使用的语言环境创建 Locale 对象。例如,下面为美国创建一个 Locale 对象:
Locale.US
一旦已经创建了一个 Locale ,可查询它获得关于它自身的信息。使用 getCountry 来获取 ISO 国家代码和使用 getLanguage 方法来获取 ISO 语言代码。可使用 getDisplayCountry 方法来获取适合对用户显示的国家名字。同样,可使用 getDisplayLanguage 方法来获取适合对用户显示的语言名字。
有趣地是,getDisplayXXX 方法本身是语言环境敏感的,它有两个版本:一个使用缺省的语言环境,另一个使用指定的语言环境作为参数。
JDK 提供了一些执行语言环境敏感的操作的类。例如,NumberFormat 类以语言环境敏感的方式格式化数、货币或百分比。
NumberFormat 这样的类有一些创建那个类型的缺省对象的便捷方法。例如,NumberFormat 类提供了下面三个创建缺省的 NumberFormat 对象的便利方法:
NumberFormat.getInstance()
NumberFormat.getCurrencyInstance()
NumberFormat.getPercentInstance()
这些方法有两个变量;一个有明确的语言环境而另一个没有;后者使用缺省的语言环境。
NumberFormat.getInstance(myLocale)
NumberFormat.getCurrencyInstance(myLocale)
NumberFormat.getPercentInstance(myLocale)
一个 Locale 是识别您想获取的对象(NumberFormat)的种类的机制。语言环境仅是识别对象的机制,不是对象本身的容器。
每个执行语言环境敏感的操作的类允许您获取那个类型的所有可用对象。可以通过语言、国家或变量来筛选对象,和使用显示名字为用户显示一个菜单。例如,可创建一个适合于一个给定语言的所有小吃对象的菜单。这样的类必须执行下面三个类方法:
public static Locale[] getAvailableLocales()
public static String getDisplayName(Locale objectLocale,
Locale displayLocale)
public static final String getDisplayName(Locale objectLocale)
// getDisplayName will throw MissingResourceException if the locale
// is not one of the available locales.
- 参见:
- ResourceBundle, Format, NumberFormat, Collation
变量索引
- CANADA
- 用于表示国别的常量。
- CANADA_FRENCH
- 用于表示国别的常量。
- CHINA
- 用于表示国别的常量。
- CHINESE
- 用于表示语言的常量。
- ENGLISH
- 用于表示语言的常量。
- FRANCE
- 用于表示国别的常量。
- FRENCH
- 用于表示语言的常量。
- GERMAN
- 用于表示语言的常量。
- GERMANY
- 用于表示国别的常量。
- ITALIAN
- 用于表示语言的常量。
- ITALY
- 用于表示国别的常量。
- JAPAN
- 用于表示国别的常量。
- JAPANESE
- 用于表示语言的常量。
- KOREA
- 用于表示国别的常量。
- KOREAN
- 用于表示语言的常量。
- PRC
- 用于表示国别的常量。
- SIMPLIFIED_CHINESE
- 用于表示语言的常量。
- TAIWAN
- 用于表示国别的常量。
- TRADITIONAL_CHINESE
- 用于表示语言的常量。
- UK
- 用于表示国别的常量。
- US
- 用于表示国别的常量。
构造子索引
- Locale(String, String)
- 根据语言和国家构造一个语言环境。
- Locale(String, String, String)
- 根据语言、国家和变量构造一个语言环境。
方法索引
- clone()
- 覆盖 Cloneable
- equals(Object)
- 比较两对象是否相等。
- getCountry()
- 获取域的编程名字,它是一个大写的两字母的 ISO-3166 代码。
- getDefault()
- 获取当前缺省语言环境的通用方法。
- getDisplayCountry()
- 返回一个适合于对用户显示的语言环境的国家名。
- getDisplayCountry(Locale)
- 返回一个适合于对用户显示的语言环境的国家名。
- getDisplayLanguage()
- 返回一个适合对用户显示的语言环境的语言名。
- getDisplayLanguage(Locale)
- 返回一个适合对用户显示的语言环境的语言名。
- getDisplayName()
- 返回一个适合于对用户显示的语言环境的名字。
- getDisplayName(Locale)
- 返回一个适合于对用户显示的语言环境的名字。
- getDisplayVariant()
- 返回一个适合于对用户显示的变量代码的名字。
- getDisplayVariant(Locale)
- 返回一个适合于对用户显示的变量代码的名字。
- getISO3Country()
- 获取语言环境的三字母的 ISO 国家缩写名。
- getISO3Language()
- 获取语言环境的三字母的 ISO 语言缩写名。
- getLanguage()
- 获取域的编程名字,它是一个小写的两字母的 ISO-639 代码。
- getVariant()
- 获取域的编程名字。
- hashCode()
- 覆盖 hashCode。
- setDefault(Locale)
- 设置缺省值。
- toString()
- 用下划线隔开的语言、国家和变量来获取整个语言环境的编程名字。
变量
ENGLISH
public static final Locale ENGLISH
- 用于表示语言的常量。
FRENCH
public static final Locale FRENCH
- 用于表示语言的常量。
GERMAN
public static final Locale GERMAN
- 用于表示语言的常量。
ITALIAN
public static final Locale ITALIAN
- 用于表示语言的常量。
JAPANESE
public static final Locale JAPANESE
- 用于表示语言的常量。
KOREAN
public static final Locale KOREAN
- 用于表示语言的常量。
CHINESE
public static final Locale CHINESE
- 用于表示语言的常量。
SIMPLIFIED_CHINESE
public static final Locale SIMPLIFIED_CHINESE
- 用于表示语言的常量。
TRADITIONAL_CHINESE
public static final Locale TRADITIONAL_CHINESE
- 用于表示语言的常量。
FRANCE
public static final Locale FRANCE
- 用于表示国别的常量。
GERMANY
public static final Locale GERMANY
- 用于表示国别的常量。
ITALY
public static final Locale ITALY
- 用于表示国别的常量。
JAPAN
public static final Locale JAPAN
- 用于表示国别的常量。
KOREA
public static final Locale KOREA
- 用于表示国别的常量。
CHINA
public static final Locale CHINA
- 用于表示国别的常量。
PRC
public static final Locale PRC
- 用于表示国别的常量。
TAIWAN
public static final Locale TAIWAN
- 用于表示国别的常量。
UK
public static final Locale UK
- 用于表示国别的常量。
US
public static final Locale US
- 用于表示国别的常量。
CANADA
public static final Locale CANADA
- 用于表示国别的常量。
CANADA_FRENCH
public static final Locale CANADA_FRENCH
- 用于表示国别的常量。
构造子
Locale
public Locale(String language,
String country,
String variant)
- 根据语言、国家和变量构造一个语言环境。
- 参数:
- language - 小写的两字母的 ISO-639 代码。
- country - 大写的两字母的 ISO-3166 代码。
- variant - 供应商和浏览器指定的代码。参见类描述。
Locale
public Locale(String language,
String country)
- 根据语言和国家构造一个语言环境。
- 参数:
- language - 小写的两字母的 ISO-639 代码。
- country - 大写的两字母的 ISO-3166 代码。
方法
getDefault
public static Locale getDefault()
- 这是获取当前缺省语言环境的通用方法。
用于显示:菜单、对话框等。通常在您的 applet 或 应用初始化时设置一次,并且不再设置。
(如果重新设置缺省的语言环境,您可能想重新装入您的 GUI, 以便变化能在您的接口中反映出来。)
更高级的程序将允许用户为不同的域使用不同的语言环境,例如,在一个扩展单上。
注意初始的设置将匹配主机系统。
setDefault
public static synchronized void setDefault(Locale newLocale)
- 设置缺省值。
通常在 applet 或 应用的开始设置一次, 并且不再设置。
setDefault 不重新设置主机的语言环境。
- 参数:
- newLocale - 新的语言环境。
getLanguage
public String getLanguage()
- 获取域的编程名字,它是一个小写的两字母的 ISO-639 代码。
- 参见:
- getDisplayLanguage
getCountry
public String getCountry()
- 获取域的编程名字,它是一个大写的两字母的 ISO-3166 代码。
- 参见:
- getDisplayCountry
getVariant
public String getVariant()
- 获取域的编程名字。
- 参见:
- getDisplayVariant
toString
public final String toString()
- 用下划线隔开的语言、国家和变量来获取整个语言环境的编程名字。语言总是小写,国家总是大写。如果丢失一个域,至多出现一个下划线。例子:"Een, "de_DE", "en_US_WIN", "de_POSIX", "fr_MAC"
- 覆盖:
- 类 Object 中的
toString
- 参见:
- getDisplayName
getISO3Language
public String getISO3Language() throws MissingResourceException
- 获取语言环境的三字母的 ISO 语言缩写。 如果语言环境没有指定语言,返回空字符串。
- 抛出: MissingResourceException
- 如果三字母的语言缩写对该语言环境不可用,抛出 MissingResourceException 。
getISO3Country
public String getISO3Country() throws MissingResourceException
- 获取语言环境的三字母的 ISO 国家缩写。 如果语言环境没有指定国家,返回空字符串。
- 抛出: MissingResourceException
- 如果三字母的语言缩写对该语言环境不可用,抛出 MissingResourceException 。
getDisplayLanguage
public final String getDisplayLanguage()
- 返回一个适合于对用户显示的语言环境的语言名。这是为缺省的语言环境限制的语言环境的语言的名字,如果那个数据可用的话。例如,如果语言环境是 fr_FR ,缺省的语言环境是 en_US, getDisplayLanguage() 将返回 "French";如果语言环境是 en_US 和缺省的语言环境是 fr_FR, getDisplayLanguage() 将返回 "anglais"。如果没有适当的名字可用(例如,没有 Croatian 的日本名字), 该函数依赖于英文名字并使用 ISO 代码作为最后的采用值。如果语言环境没有指定一个语言,该函数返回空字符串。
getDisplayLanguage
public String getDisplayLanguage(Locale inLocale)
- 返回一个适合于对用户显示的语言环境的语言名。这是为 inLocale 限制的语言环境的语言的名字,如那个数据可用的话。 例如,如果语言环境是 fr_FR 和 inLocale 是 en_US, getDisplayLanguage() 将返回 "French";如果语言环境是 en_US 和 inLocale 是 fr_FR, getDisplayLanguage() 将返回 "anglais"。如果没有适当的名字可用(例如,没有 Croatian 的日本名字), 该函数依赖于缺省语言环境的英文名字并最终使用 ISO 代码作为最后的采取值。 如果语言环境没有指定一个语言,该函数返回空字符串。
getDisplayCountry
public final String getDisplayCountry()
- 返回一个适合于对用户显示的语言环境的国家名。 这是为缺省的语言环境限制的语言环境的国家名字,如果那个数据可用的话。
例如,如果语言环境是 fr_FR ,缺省的语言环境是 en_US,
getDisplayLanguage() 将返回 "Frence";如果语言环境是 en_US ,缺省的语言环境是 fr_FR, getDisplayLanguage() 将返回 "Etats-Unis"。
如果适当的名字不可用(例如,没有 Croatia 的日本名字), 该函数依赖于英文名字并使用 ISO 代码作为最后的采取值。如果语言环境没有指定国家,返回空字符串。
getDisplayCountry
public String getDisplayCountry(Locale inLocale)
- 返回一个适合于对用户显示的语言环境的国家名。 这是为
inLocale 限制的语言环境的国家名字,如那个数据可用的话。 例如,如果语言环境是 fr_FR , inLocale 是 en_US, getDisplayCountry() 将返回
"France";如果语言环境是 en_US 而 inLocale 是 fr_FR,
getDisplayLanguage() 将返回 "Etats-Unis"。如果适当的名字不可用(例如,没有 Croatia 的日本名字), 该函数依赖于缺省语言环境的英文名字并最终使用 ISO 代码作为最后的采用值。如果语言环境没有指定国家,返回空字符串。
getDisplayVariant
public final String getDisplayVariant()
- 返回一个适合于对用户显示的语言环境的变量代码的名字。如果可能,该名字将被限制在缺省的语言环境。如果语言环境没有指定变量代码,该函数返回空字符串。
getDisplayVariant
public String getDisplayVariant(Locale inLocale)
- 返回一个适合于对用户显示的语言环境的变量代码的名字。如果可能,该名字将被限制于 inLocale。 如果语言环境没有指定变量代码,该函数返回空字符串。
getDisplayName
public final String getDisplayName()
- 返回一个适合于对用户显示的语言环境的名字。这是 getDisplayLanguage()、getDisplayCountry() 和 getDisplayVariant() 返回的值,它被组装为一个单个的字符串。显示名字有以下形式:
language (country, variant)
language (country)
language (variant)
country (variant)
language
country
variant
取决于在语言环境中指定了哪个域。如果语言、国家和变量域都为空,该函数返回空字符串。
getDisplayName
public String getDisplayName(Locale inLocale)
- 返回一个适合于对用户显示的语言环境的名字。这是 getDisplayLanguage()、getDisplayCountry() 和 getDisplayVariant() 返回的值,它被组装为一个单个的字符串。显示名字有以下形式:
language (country, variant)
language (country)
language (variant)
country (variant)
language
country
variant
取决于在语言环境中指定了哪个域。如果语言、国家和变量域都为空,该函数返回空字符串。
clone
public Object clone()
- 覆盖 Cloneable
- 覆盖:
- 类 Object 中的 clone
hashCode
public synchronized int hashCode()
- 覆盖 hashCode。
因为 Locale 经常用于散列表中,为了提高速度缓存值。
- 覆盖:
- 类
Object 中的 hashCode
equals
public boolean equals(Object obj)
- 比较两对象是否相等。
- 覆盖:
- 类 Object 中的
equals