|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.util.Locale
Locale
オブジェクトは、特定の地理的、国家的、または文化的地域を表すためのものです。ある操作で Locale
を必要とするタスクがある場合、その操作をロケールに依存する操作といいます。この場合、情報は Locale
によりユーザに合わせて調整されます。たとえば、数値を表示するのは、ロケールに依存する操作です。この数値は、ユーザの国や地域、文化の習慣や規則に従ってフォーマットする必要があります。
Locale
オブジェクトを作成するには、このクラスの 2 つのコンストラクタのどちらかを使用します。
コンストラクタの最初の引数は、有効な ISO 言語コードです。これらのコードは、ISO-639 で定義される 2 桁の小文字です。コードの完全なリストは、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
を始めいくつかの場所で入手できます。
2 番目のコンストラクタには、3 番目の引数 variant が必要です。バリアントコードは、ベンダーやブラウザに固有のものです。たとえば、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 つのバージョンがあり、一方はデフォルトのロケールを使用し、他方は引数として指定されたロケールを使用します。
JDK には、ロケールに依存する操作を行ういくつかのクラスがあります。たとえば、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,
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()
現在のデフォルトロケールを得るための共通メソッドで、メニューやダイアログなどの表示に使用します。 |
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)
JVM 全体のデフォルトロケールを設定します。 |
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
- ベンダーとブラウザに固有のコード。クラスの説明を参照public Locale(String language, String country)
language
- 2 桁の小文字からなる ISO-639 コードcountry
- 2 桁の大文字からなる ISO-3166 コードメソッドの詳細 |
public static Locale getDefault()
さらに高度なプログラム (たとえば、スプレッドシートなど) では、フィールドによって別のロケールを使用することができます。
初期設定はホストシステムに合わされます。
public static void setDefault(Locale newLocale)
setDefault
はホストロケールをリセットしません。
セキュリティマネージャが存在する場合、セキュリティマネージャの checkPermission
メソッドがアクセス権 PropertyPermission("user.language", "write")
を指定して呼び出されます。
newLocale
- 新しいデフォルトの LocalecheckPermission
メソッドがオペレーションを許可しないとき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()
getDisplayName()
public String getISO3Language() throws MissingResourceException
public String getISO3Country() throws 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()
public int hashCode()
public boolean equals(Object obj)
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |