全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

クラス java.util.Locale

java.lang.Object
   |
   +----java.util.Locale

public final class Locale
extends Object
implements Cloneable, Serializable
Localeオブジェクトは、特定の地理的、政治的、または文化的地域を表すためのものです。ある操作で Localeを必要とするタスクがある場合、その操作をロケールに依存する操作といいます。この場合、情報は Localeによりユーザに合わせて調整されます。たとえば、数値を表示するのは、ロケールに依存する操作です。この数値は、ユーザの国や地域、文化の習慣や規則に従ってフォーマットする必要があります。

Localeオブジェクトを作成するには、このクラスの 2つの構築子のどちらかを使用します。

 Locale(String language, String country)
 Locale(String language, String country, String variant)
 
これらの構築子の最初の引数は、有効な ISO言語コードです。これらのコードは、ISO-639で定義される 2桁の小文字です。これらのコードのリストは、
http://www.ics.uci.edu/pub/ietf/http/related/iso639.txtを始めいくつかの場所で得られます。

これらの構築子の次の引数は、有効な ISO国コードです。これらのコードは、ISO-3166で定義される 2桁の大文字です。これらのコードのリストは、
http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.htmlを始めいくつかの場所で得られます。

2つめの構築子には、3つめの引数 Variantが必要です。Variantコードは、ベンダやブラウザ固有のものです。たとえば、Windowsには WIN、Macintoshには MAC、POSIXには POSIXを使用します。バリアントが 2つある場合には、それらを下線で区切り、重要なものを最初に指定します。たとえば、Traditional のスペイン語照合を使用する場合には、"ES", "ES", "Traditional_WIN"などと指定します。

Localeオブジェクトは、ある地域を示す単なる識別子ですので、Localeを構築する際、それが妥当かどうかの検査は行われません。構築する Localeに対し特定のリソースがあるかどうかを知るには、これらのリソースの照会を行う必要があります。たとえば、NumberFormatに、その getAvailableLocalesメソッドを使って、それがサポートするロケールを照会します。
注: 特定のロケールのリソースについて照会すると、使用可能で最もよく一致するものが返されます。つまり、求めたものと全く同じとは限りません。詳しくは、ResourceBundleを参照してください。

Localeクラスには、いくつかの便利な定数がありますので、これらを使って、よく使われるロケールの Localeオブジェクトを作成することができます。たとえば、次の例は、米国の Localeオブジェクトを作成する例です。

 Locale.US
 

Localeを作成した後は、このオブジェクトにそれ自身の情報を照会することができます。ISO国コードを得るには、getCountryを、ISO言語コードを得るには getLanguageをそれぞれ使用します。getDisplayCountryを使用すれば、ユーザのための表示に適した国の名前を得ることができます。同じように、getDisplayLanguageを使用すれば、ユーザのための表示に適した言語の名前を得ることができます。おもしろいことに、getDisplayXXXメソッド自体もロケールに依存します。これには 2つのバージョンがあり、一方はデフォルトのロケールを使用し、他方は引数として指定されたロケールを使用します。

JDKには、ロケールに依存する操作を行ういくつかのクラスがあります。たとえば、NumberFormatクラスは、数値や通貨、パーセントをロケールに依存する形でフォーマット化します。NumberFormatなどのクラスには、この型のオブジェクトを作成するためのコンビニエンスメソッドがいくつかあります。たとえば、NumberFormatクラスには、デフォルトの NumberFormatオブジェクトを作成するために次の 3つのメソッドがあります。

 NumberFormat.getInstance()
 NumberFormat.getCurrencyInstance()
 NumberFormat.getPercentInstance()
 
これらのメソッドには 2つのバリアントがあります。明示的なロケールをもつものと、もたないものです。後者の場合はデフォルトロケールが使用されます。
 NumberFormat.getInstance(myLocale)
 NumberFormat.getCurrencyInstance(myLocale)
 NumberFormat.getPercentInstance(myLocale)
 
Localeは、どのオブジェクト (NumberFormat)を使用するかを指定するためのメカニズムです。ロケールは、オブジェクトを指定するための単なるメカニズムであり、オブジェクト自体のコンテナではありません

ロケールに依存する操作を行うクラスでは、その型をもつ使用可能なすべてのオブジェクトを得ることができます。これらのオブジェクトを言語や国、バリアントによって選別し、それらの表示名を使用してメニューをユーザに表示することができます。たとえば、ある言語に適したすべての照合オブジェクトを示すメニューを作成することができます。このようなクラスには、次の 3つのクラスメソッドの実装が必要です。

 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

Variable Index

 o CANADA
国に使用する定数。
 o CANADA_FRENCH
国に使用する定数。
 o CHINA
国に使用する定数。
 o CHINESE
言語に使用する定数。
 o ENGLISH
言語に使用する定数。
 o FRANCE
国に使用する定数。
 o FRENCH
言語に使用する定数。
 o GERMAN
言語に使用する定数。
 o GERMANY
国に使用する定数。
 o ITALIAN
言語に使用する定数。
 o ITALY
国に使用する定数。
 o JAPAN
国に使用する定数。
 o JAPANESE
言語に使用する定数。
 o KOREA
国に使用する定数。
 o KOREAN
言語に使用する定数。
 o PRC
国に使用する定数。
 o SIMPLIFIED_CHINESE
言語に使用する定数。
 o TAIWAN
国に使用する定数。
 o TRADITIONAL_CHINESE
言語に使用する定数。
 o UK
国に使用する定数。
 o US
国に使用する定数。

Constructor Index

 o Locale(String, String)
言語、国からロケールを構築する。
 o Locale(String, String, String)
言語、国、バリアントからロケールを構築する。

Method Index

 o clone()
Cloneableをオーバーライドする。
 o equals(Object)
2つのオブジェクトが等しいかどうかを比べる。
 o getCountry()
フィールドのプログラム上の名前を入手する。これは、2桁の大文字からなる ISO-3166コードである。
 o getDefault()
現在のデフォルトロケールを入手する共通メソッドである。
 o getDisplayCountry()
ユーザへのフィールドの表示を入手する。
 o getDisplayCountry(Locale)
ユーザへのフィールドの表示を入手する。
 o getDisplayLanguage()
ユーザへのフィールドの表示を入手する。
 o getDisplayLanguage(Locale)
ユーザへのフィールドの表示を入手する。
 o getDisplayName()
ユーザへのロケール全体の表示を入手する。
 o getDisplayName(Locale)
ユーザへのロケール全体の表示を入手する。
 o getDisplayVariant()
ユーザへのフィールドの表示を入手する。
 o getDisplayVariant(Locale)
ユーザへのフィールドの表示を入手する。ローカル化された名前が見つからないと、バリアントコードが返される。
 o getISO3Country()
ロケールの 3文字の ISO国省略形を入手する。
 o getISO3Language()
ロケールの 3文字の ISO言語省略形を入手する。
 o getLanguage()
フィールドのプログラム上の名前を入手する。これは、2桁の小文字からなる ISO-639コードである。
 o getVariant()
フィールドのプログラム上の名前を入手する。
 o hashCode()
hashCodeをオーバーライドする。
 o setDefault(Locale)
デフォルト値を設定する。
 o toString()
ロケール全体のプログラム上の名前を入手する。言語、国、バリアントを下線で区切る。

Variables

 o ENGLISH
  public static final Locale ENGLISH
言語に使用する定数。

 o FRENCH
  public static final Locale FRENCH
言語に使用する定数。

 o GERMAN
  public static final Locale GERMAN
言語に使用する定数。

 o ITALIAN
  public static final Locale ITALIAN
言語に使用する定数。

 o JAPANESE
  public static final Locale JAPANESE
言語に使用する定数。

 o KOREAN
  public static final Locale KOREAN
言語に使用する定数。

 o CHINESE
  public static final Locale CHINESE
言語に使用する定数。

 o SIMPLIFIED_CHINESE
  public static final Locale SIMPLIFIED_CHINESE
言語に使用する定数。

 o TRADITIONAL_CHINESE
  public static final Locale TRADITIONAL_CHINESE
言語に使用する定数。

 o FRANCE
  public static final Locale FRANCE
国に使用する定数。

 o GERMANY
  public static final Locale GERMANY
国に使用する定数。

 o ITALY
  public static final Locale ITALY
国に使用する定数。

 o JAPAN
  public static final Locale JAPAN
国に使用する定数。

 o KOREA
  public static final Locale KOREA
国に使用する定数。

 o CHINA
  public static final Locale CHINA
国に使用する定数。

 o PRC
  public static final Locale PRC
国に使用する定数。

 o TAIWAN
  public static final Locale TAIWAN
国に使用する定数。

 o UK
  public static final Locale UK
国に使用する定数。

 o US
  public static final Locale US
国に使用する定数。

 o CANADA
  public static final Locale CANADA
国に使用する定数。

 o CANADA_FRENCH
  public static final Locale CANADA_FRENCH
国に使用する定数。

Constructors

 o Locale
  public Locale(String language,
                String country,
                String variant)
言語、国、バリアントからロケールを構築します。

パラメータ:
language - 2桁の小文字からなる ISO-639コード。
country - 2桁の大文字からなる ISO-3166コード。
variant - ベンダとブラウザ固有のコード。クラスの説明を参照。
 o Locale
  public Locale(String language,
                String country)
言語、国からロケールを構築します。

パラメータ:
language - 2桁の小文字からなる ISO-639コード。
country - 2桁の大文字からなる ISO-3166コード。

Methods

 o getDefault
  public static synchronized Locale getDefault()
現在のデフォルトロケールを得るための共通メソッドで、メニューやダイアログなどの表示に使用します。一般に、アプレットやアプリケーションを初期化するときに一度設定したら、その後はリセットしません。2桁の小文字からなる ISO-639コード(デフォルトロケールをリセットする場合は、おそらく GUIを再ロードする必要があるでしょう。そうすれば、その変更がインタフェースに反映されます。)

さらに進んだプログラム(たとえば、スプレッドシートなど)では、フィールドによって別のロケールを使用することができます。
初期設定はホストシステムに合わせてあります。

 o setDefault
  public static synchronized void setDefault(Locale newLocale)
デフォルト値を設定します。通常、アプレットやアプリケーションの始めに一度設定したら、その後はリセットしません。setDefaultはホストロケールをリセットしません。

パラメータ:
newLocale - 設定するロケール。
 o getLanguage
  public String getLanguage()
フィールドのプログラム上の名前を入手します。2桁の小文字からなる ISO-639コードです。

参照:
getDisplayLanguage
 o getCountry
  public String getCountry()
フィールドのプログラム上の名前を入手します。2桁の大文字からなる ISO-3166コードです。

参照:
getDisplayCountry
 o getVariant
  public String getVariant()
フィールドのプログラム上の名前を入手します。

参照:
getDisplayVariant
 o toString
  public final String toString()
ロケール全体のプログラム上の名前を入手します。言語、国、バリアントが下線で区切られます。フィールドが欠落している場合、最高 1つの下線が表示されます。例: "EN", "DE_DE", "EN_US_WIN", "DE_POSIX", "FR_MAC"。

オーバーライド:
クラス ObjecttoString
参照:
getDisplayName
 o getISO3Language
  public String getISO3Language() throws MissingResourceException
ロケールの 3文字の ISO言語省略形を入手します。

例外: MissingResourceException
このロケールに対する 3文字の言語省略形がないと、MissingResourceExceptionがスローされる。
 o getISO3Country
  public String getISO3Country() throws MissingResourceException
ロケールの 3文字の ISO国省略形を入手します。

例外: MissingResourceException
このロケールに対する 3文字の国省略形がないと、MissingResourceExceptionがスローされる。
 o getDisplayLanguage
  public final String getDisplayLanguage()
ユーザへのフィールドの表示を入手します。ローカル化された名前が見つからないと、ISOコードが返されます。必要なユーザ言語はデフォルトロケールから入手されます。

 o getDisplayLanguage
  public String getDisplayLanguage(Locale inLocale)
ユーザへのフィールドの表示を入手します。ローカル化された名前が見つからないと、ISOコードが返されます。例: "English (UK)", "Deutch", "Germany"

パラメータ:
inLocale - 必要なユーザ言語を指定する。
 o getDisplayCountry
  public final String getDisplayCountry()
ユーザへのフィールドの表示を入手します。ローカル化された名前が見つからないと、ISOコードが返されます。表示言語にはデフォルトロケールが使用されます。

 o getDisplayCountry
  public String getDisplayCountry(Locale inLocale)
ユーザへのフィールドの表示を入手します。ローカル化された名前が見つからないと、ISOコードが返されます。

パラメータ:
inLocale - 必要なユーザ言語を指定する。
 o getDisplayVariant
  public final String getDisplayVariant()
ユーザへのフィールドの表示を入手します。ローカル化された名前が見つからないと、バリアントコードが返されます。表示言語にはデフォルトロケールが使用されます。

 o getDisplayVariant
  public String getDisplayVariant(Locale inLocale)
ユーザへのフィールドの表示を入手します。ローカル化された名前が見つからないと、バリアントコードが返されます。

パラメータ:
inLocale - 必要なユーザ言語を指定する。
 o getDisplayName
  public final String getDisplayName()
ユーザへのフィールドの表示を入手します。ローカル化された名前が見つからないと、ISOコードが使用されます。表示言語にはデフォルトロケールが使用されます。

 o getDisplayName
  public String getDisplayName(Locale inLocale)
ユーザへのフィールドの表示を入手します。ローカル化された名前が見つからないと、ISOコードが使用されます。

パラメータ:
inLocale - 必要なユーザ言語を指定する。
 o clone
  public Object clone()
Cloneableをオーバーライドします。

オーバーライド:
クラス Objectclone
 o hashCode
  public synchronized int hashCode()
hashCodeをオーバーライドします。ハッシュテーブルでは Localeがしばしば使用されますので、速度を上げるために値がキャシュされます。

オーバーライド:
クラス ObjecthashCode
 o equals
  public boolean equals(Object obj)
2つのオブジェクトが等しいかどうかを比較します。

オーバーライド:
クラス Objectequals

全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス