|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.util.Locale
Locale
オブジェクトは、特定の地理的、国家的、または文化的地域を表すためのものです。ある操作で Locale
を必要とするタスクがある場合、その操作をロケールに依存する操作といいます。この場合、情報は Locale
によりユーザに合わせて調整されます。たとえば、数値を表示するのは、ロケールに依存する操作です。この数値は、ユーザの国や地域、文化の習慣や規則に従ってフォーマットする必要があります。
Locale
オブジェクトを作成するには、このクラスのコンストラクタを使用します。
言語の引数は、有効な ISO 言語コードです。これらのコードは、ISO-639 で定義される 2 桁の小文字です。コードの完全なリストは、Locale(String language) Locale(String language, String country) Locale(String language, String country, String variant)
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
を始めいくつかの場所で入手できます。
バリアントの引数はベンダーまたはブラウザに固有のコードです。たとえば、Windows には WIN、Macintosh には MAC、POSIX には POSIX を使用します。バリアントが 2 つある場合には、それらを下線で区切り、重要なものを最初に指定します。たとえば、Traditional Spanish (イスパニア語) の照合を使用する場合は、言語、国、バリアントのパラメータとして、「es」、「ES」、および「Traditional_WIN」を指定してロケールを構築します。
Locale
オブジェクトは、ある地域を示す単なる識別子なので、Locale
を構築する際、それが妥当かどうかの検査は行われません。構築する Locale
に対し特定のリソースがあるかどうかを調べるには、これらのリソースの照会を行う必要があります。たとえば、NumberFormat
に、その getAvailableLocales
メソッドを使って、それがサポートするロケールを照会します。
注: 特定のロケールのリソースについて照会すると、使用可能な中でもっともよく一致するものが返されます。要求に完全に適合するとは限りません。詳細は、ResourceBundle
を参照してください。
Locale
クラスには、いくつかの便利な定数があるので、これらを使って、よく使われるロケールの Locale
オブジェクトを作成することができます。たとえば、次の例は、米国の Locale
オブジェクトを作成する例です。
Locale.US
Locale
を作成したあとは、このオブジェクトにそれ自身の情報を照会することができます。ISO 国コードを得るには getCountry
を、ISO 言語コードを得るには getLanguage
をそれぞれ使用します。getDisplayCountry
を使用すれば、適した国名がユーザーに表示されます。同じように、getDisplayLanguage
を使用すれば、適した言語の名前がユーザーに表示されます。興味深いことに、getDisplayXXX
メソッド自体もロケールに依存します。これには 2 つのバージョンがあり、一方はデフォルトのロケールを使用し、他方は引数として指定されたロケールを使用します。
Java 2 プラットフォームには、ロケールに依存する操作を行ういくつかのクラスがあります。たとえば、NumberFormat
クラスは、数値や通貨、パーセントをロケールに依存する形でフォーマットします。NumberFormat
などのクラスには、この型のオブジェクトを作成するための簡易メソッドがいくつかあります。たとえば、NumberFormat
クラスには、デフォルトの NumberFormat
オブジェクトを作成するために次の 3 つのメソッドがあります。
これらのメソッドには 2 つのバリアントがあります。明示的なロケールを持つものと、持たないものです。後者の場合はデフォルトロケールが使用されます。NumberFormat.getInstance() NumberFormat.getCurrencyInstance() NumberFormat.getPercentInstance()
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
,
Collator
,
直列化された形式フィールドの概要 | |
static Locale |
CANADA
国に使用する定数です。 |
static Locale |
CANADA_FRENCH
国に使用する定数です。 |
static Locale |
CHINA
国に使用する定数です。 |
static Locale |
CHINESE
言語に使用する定数です。 |
static Locale |
ENGLISH
言語に使用する定数です。 |
static Locale |
FRANCE
国に使用する定数です。 |
static Locale |
FRENCH
言語に使用する定数です。 |
static Locale |
GERMAN
言語に使用する定数です。 |
static Locale |
GERMANY
国に使用する定数です。 |
static Locale |
ITALIAN
言語に使用する定数です。 |
static Locale |
ITALY
国に使用する定数です。 |
static Locale |
JAPAN
国に使用する定数です。 |
static Locale |
JAPANESE
言語に使用する定数です。 |
static Locale |
KOREA
国に使用する定数です。 |
static Locale |
KOREAN
言語に使用する定数です。 |
static Locale |
PRC
国に使用する定数です。 |
static Locale |
SIMPLIFIED_CHINESE
言語に使用する定数です。 |
static Locale |
TAIWAN
国に使用する定数です。 |
static Locale |
TRADITIONAL_CHINESE
言語に使用する定数です。 |
static Locale |
UK
国に使用する定数です。 |
static Locale |
US
国に使用する定数です。 |
コンストラクタの概要 | |
Locale(String language)
言語コードからロケールを構築します。 |
|
Locale(String language,
String country)
言語、国からロケールを構築します。 |
|
Locale(String language,
String country,
String variant)
言語、国、バリアントからロケールを構築します。 |
メソッドの概要 | |
Object |
clone()
Cloneable をオーバーライドします。 |
boolean |
equals(Object obj)
この Locale がもう 1 つのオブジェクトと等しい場合に true を返します。 |
static Locale[] |
getAvailableLocales()
インストールされているすべてのロケールのリストを返します。 |
String |
getCountry()
ロケールの国/地域コードを返します。 |
static Locale |
getDefault()
Java 仮想マシンのこのインスタンスに対して、デフォルトロケールの現在の値を取得します。 |
String |
getDisplayCountry()
ユーザへの表示に適した、ロケールの国の名前を返します。 |
String |
getDisplayCountry(Locale inLocale)
ユーザへの表示に適した、ロケールの国の名前を返します。 |
String |
getDisplayLanguage()
ユーザへの表示に適した、ロケールの言語の名前を返します。 |
String |
getDisplayLanguage(Locale inLocale)
ユーザへの表示に適した、ロケールの言語の名前を返します。 |
String |
getDisplayName()
ユーザへの表示に適した、ロケールの名前を返します。 |
String |
getDisplayName(Locale inLocale)
ユーザへの表示に適した、ロケールの名前を返します。 |
String |
getDisplayVariant()
ユーザへの表示に適した、ロケールのバリアントコードの名前を返します。 |
String |
getDisplayVariant(Locale inLocale)
ユーザへの表示に適した、ロケールのバリアントコードの名前を返します。 |
String |
getISO3Country()
ロケールの国の 3 文字の省略形を返します。 |
String |
getISO3Language()
ロケールの言語の 3 文字の省略形を返します。 |
static String[] |
getISOCountries()
ISO 3166 で定義されている 2 桁の国コードのリストを返します。 |
static String[] |
getISOLanguages()
ISO 639 で定義されている 2 桁の言語コードのリストを返します。 |
String |
getLanguage()
ロケールの言語コードを返します。 |
String |
getVariant()
ロケールのバリアントコードを返します。 |
int |
hashCode()
hashCode をオーバーライドします。 |
static void |
setDefault(Locale newLocale)
Java 仮想マシンのこのインスタンスに対するデフォルトロケールを設定します。 |
String |
toString()
ロケール全体のプログラム上の名前を取得します。 |
クラス java.lang.Object から継承したメソッド |
finalize, getClass, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
public static final Locale ENGLISH
public static final Locale FRENCH
public static final Locale GERMAN
public static final Locale ITALIAN
public static final Locale JAPANESE
public static final Locale KOREAN
public static final Locale CHINESE
public static final Locale SIMPLIFIED_CHINESE
public static final Locale TRADITIONAL_CHINESE
public static final Locale FRANCE
public static final Locale GERMANY
public static final Locale ITALY
public static final Locale JAPAN
public static final Locale KOREA
public static final Locale CHINA
public static final Locale PRC
public static final Locale TAIWAN
public static final Locale UK
public static final Locale US
public static final Locale CANADA
public static final Locale CANADA_FRENCH
コンストラクタの詳細 |
public Locale(String language, String country, String variant)
language
- 2 桁の小文字からなる ISO-639 コードcountry
- 2 桁の大文字からなる ISO-3166 コードvariant
- ベンダーとブラウザに固有のコード。クラスの説明を参照
NullPointerException
- 引数が null の場合にスローされます。public Locale(String language, String country)
language
- 2 桁の小文字からなる ISO-639 コードcountry
- 2 桁の大文字からなる ISO-3166 コード
NullPointerException
- どちらかの引数が null の場合にスローされます。public Locale(String language)
language
- 2 桁の小文字からなる ISO-639 コード
NullPointerException
- 引数が null の場合にスローされます。メソッドの詳細 |
public static Locale getDefault()
Java 仮想マシンでは、ホスト環境に基づいて起動時にデフォルトロケールが設定されます。ロケールが明示的に指定されていない場合、ロケールに依存するメソッドの多くでデフォルトロケールが使用されます。setDefault
メソッドを使用して変更できます。
public static void setDefault(Locale newLocale)
セキュリティマネージャが存在する場合、デフォルトロケールが変更される前に、セキュリティマネージャの checkPermission
メソッドがアクセス権 PropertyPermission("user.language", "write")
を指定して呼び出されます。
Java 仮想マシンでは、ホスト環境に基づいて起動時にデフォルトロケールが設定されます。ロケールが明示的に指定されていない場合、ロケールに依存するメソッドの多くでデフォルトロケールが使用されます。
デフォルトロケールの変更はさまざまな機能の領域に影響する可能性があるため、このメソッドは、ユーザインタフェースなど、同じ Java 仮想マシンで実行されるロケール依存コードを呼び出し側が再初期化できる場合にだけ使用します。
newLocale
- 新しいデフォルトのロケール
SecurityException
- セキュリティマネージャが存在する場合に、セキュリティマネージャの checkPermission
メソッドがオペレーションを許可しないとき
NullPointerException
- newLocale
が null の場合SecurityManager.checkPermission(java.security.Permission)
,
PropertyPermission
public static Locale[] getAvailableLocales()
public static String[] getISOCountries()
public static String[] getISOLanguages()
public String getLanguage()
注: ISO 639 は確定した規格ではありません。一部の言語のコードは変更されています。ロケールのコンストラクタは、コードが変更された言語の新しいコードと従来のコードの両方を認識しますが、この関数は常に古い方のコードを返します。コードが変更された特定の言語を調べる場合は、
if (locale.getLanguage().equals("he") ...を使わないで、次のようにコーディングします。
if (locale.getLanguage().equals(new Locale("he", "", "").getLanguage()) ...
getDisplayLanguage()
public String getCountry()
getDisplayCountry()
public String getVariant()
getDisplayVariant()
public final String toString()
Object
内の toString
getDisplayName()
public String getISO3Language() throws MissingResourceException
ftp://dkuug.dk/i18n/iso-639-2.txt
にあります。
MissingResourceException
- ロケールに対する 3 文字の言語省略形がないと、MissingResourceException がスローされるpublic String getISO3Country() throws MissingResourceException
MissingResourceException
- ロケールに対する 3 文字の国省略形がないと、MissingResourceException がスローされるpublic final String getDisplayLanguage()
public String getDisplayLanguage(Locale inLocale)
public final String getDisplayCountry()
public String getDisplayCountry(Locale inLocale)
public final String getDisplayVariant()
public String getDisplayVariant(Locale inLocale)
public final String getDisplayName()
language (country, variant)ロケールに指定されているフィールドが何かにより変わります。言語、国、およびバリアントの各フィールドがすべて空の場合、この関数は空の文字列を返します。language (country)
language (variant)
country (variant)
language
country
variant
public String getDisplayName(Locale inLocale)
language (country, variant)ロケールに指定されているフィールドが何かにより変わります。言語、国、およびバリアントの各フィールドがすべて空の場合、この関数は空の文字列を返します。language (country)
language (variant)
country (variant)
language
country
variant
public Object clone()
Object
内の clone
Cloneable
public int hashCode()
Object
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Object
内の equals
obj
- 比較対象の参照オブジェクト
Object.hashCode()
,
Hashtable
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.