6. ロケール/プロパティ/リソースバンドルこの章ではJavaの特徴の1つである「国際化対応」において、中心的な役割を果たす「ロケール」「プロパティ」「リソースバンドル」について説明します。 6.1. ロケールロケールとは言語を共有する区域の事で、Javaでは「java.util.Locale」クラスを利用して管理されています。ロケールが違えば使用言語はもちろんの事、「数字」「日付」「通貨」などの表記法も異なってきます。したがってアプリケーションを全世界に対応させるためには、エラーメッセージなどの文言を1つずつ変えていかなければなりません。そういった言語依存の部分を容易に実装できる仕組をJavaは提供しているのですが、その仕組の鍵となる区域情報を管理するのがLocaleクラスです。 ロケールはJava内部では (言語コード2桁)_(国コード2桁)_(付加情報) という形式で管理されています(国コード、付加情報は省略される場合があります)。例えばアメリカの場合は、言語コード「en」国コード「US」を組み合わせて「en_US」となります。イタリアで通貨としてユーロを基本とする場合には、「it_IT_EURO」となります(リラの場合は「it_IT」)。日本は「ja_JP」です。なお言語コードはISO-639、国コードはISO-3166に従っています。付加情報はJava独自のものです。 さてLocaleには引数が1つのものから3つのものまで3種類のコンストラクタがあり、それぞれ「言語コードのみ」「言語コードと国コード」「3種類全て」に対応しています。しかし通常はコンストラクタからLocaleインスタンスを作成する事は無く、Localeクラスに定数として定義されているものを使用するか、「getDefault」メソッドの返り値(デフォルトロケール)を使用するかのいずれかです。 以下はデフォルトロケールの国名および言語名を表示するサンプルプログラムです。 import java.util.Locale; ... Locale defaultLocale=Locale.getDefault(); System.out.println(defaultLocale.getDisplayCountry()); System.out.println(defaultLocale.getDisplayLanguage()); 他に、利用可能なロケール一覧を返す「getAvailableLocales」メソッド、デフォルトロケールを設定する「setLocale」メソッドなどがあります。 (実習課題1)以下のアプリケーションを作成する事。
|
![]()
![]()
|