これらのプロパティファイルをプログラムで利用すると、以下のようになります。
KotowazaSample.java | |
|
(1)の個所で(日本語環境で実行している場合には)kotowaza_ja.propertiesファイルから設定値を読み込みます。そして、(2)、(3)、(4)の個所でキーに対応する文字列を取得します。
MESSAGE1: 急がば回れ。
MESSAGE2: 時は金なり。
MESSAGE3: 郷に入いっては郷に従え。
プロパティファイル化された文字列を利用してプログラムが動作していることが確認できます。
さて実は、このプログラムはすでに英語化対応が実現できています。Eclipseからアプリケーションをロケール指定で実行するには、下記の手順を踏みます。
ここで、前述のEclipseのロケール指定を行った起動方法と同様の内容を指定すると、ロケール指定を切り替えられます。
次に、強制的に英語ロケールのプロパティファイルを読み込む例を示します。先ほどのソースコードKotowazaSample.javaを以下の桃色太字のように書き換えて実行してください。
KotowazaSample.javaの一部 | |
|
MESSAGE1: Slow and steady wins the race.
MESSAGE2: Time is money.
MESSAGE3: When in rome, do as the romans do.
(5)の個所をご覧ください。Localeクラスを利用して、ロケールを明示的に英語として指定しています。ただし、強制的にロケールを指定することは、通常のプログラムでは、あまり必要がないと考えます。
java.util.Calendarと連動して動作する、時差を表すクラスとしてjava.util.TimeZoneクラスがあります(Calendarについては、前回の記事を参照ください。タイムゾーンに関する記載もあります)。
いま使っているOSのタイムゾーンを取得するプログラムでTimeZoneクラスの動作を見てみましょう。
TimeZoneSample.java | |
|
Asia/Tokyo
日本標準時
OS上でタイムゾーンが日本として設定されていると、上記のように日本のタイムゾーンになっていることが確認できます。
通貨も国や地域によって異なるものの1つです。Java APIには、通貨を表すクラスとしてjava.util.Currencyクラスがあります。このクラスを使って、通貨に関する情報を取得できます。
日本の通貨の情報を取得するには、(6)のように Localeクラスを併用して記述します。
CurrencySample.java(日本) | |
|
\
デフォルトの小数点けた数:0
米国の通貨を取得するには、(7)のように記述します。米国内では、小数点けた数が2けたと取得されることが確認できます。私たち日本の通貨においては、小数点以下は日常生活では利用しないので、あまり見慣れませんね。
CurrencySample.java(米国) | |
|
USD
デフォルトの小数点けた数:2
同じように、フランスの通貨を取得しましょう。(8)のように記述します。フランスでは、ユーロが利用されているのですね。
CurrencySample.java(フランス) | |
|
EUR
デフォルトの小数点けた数:2
なお、このCurrencyクラスはほとんどのJavaプログラマーは利用したことがないと思います。
次回は、「文字」についての常識を取り上げます。java.lang.Stringクラス、java.lang.Characterクラスで学ぶ文字列の概念や操作、パッケージjava.util.regexのクラスで学ぶ正規表現、今回の「国際化プログラミング」にも関係がある、パッケージjava.nio.charsetのクラスで学ぶ文字コードの基礎知識、Javaで使える文字エンコードの種類などについて学んでいきましょう。
blanco Framework(コミッタ)
伊賀 敏樹(いが としき)
ハンドル:いがぴょん
1968年生まれ。現在、NTTデータ ビジネスブレインズ 第一SI事業部 ソリューショングループ所属。システム開発の技術支援などに従事する。仕事におけるJava言語とのかかわりは1998年から。 現在 blanco Frameworkというオープンソースによるソースコード自動生成タイプの開発フレームワーク提供に取り組んでいる。 趣味はヴァイオリン演奏。アマチュアオーケストラで演奏することもある。
ホームページ
いがぴょんの日記ウェブページv2(1996年から続けているWeb日記)
Copyright © ITmedia, Inc. All Rights Reserved.
Java Agile 鬯ッ�ッ�ス�ョ�ス�ス�ス�ォ�ス�ス�ス�ス�ス�ス�ス�ェ鬯ョ�ッ陋ケ�コ�ス�サ郢ァ謇假スス�ス�ス�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�コ鬯ョ�」陋ケ�ス�ス�ス�ス�オ鬮ォ�エ遶擾スオ�ス�コ�ス�キ�ス�ス�ス�ク�ス�ス�ス�キ�ス�ス�ス�ス�ス�ス�ス�ケ鬮ォ�エ髮懶ス」�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ウ鬯ッ�ゥ陝キ�「�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ュ鬯ッ�ゥ陝キ�「�ス�ス�ス�「鬮ォ�エ髮懶ス」�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ウ鬯ッ�ゥ陝キ�「�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ー