便利なコードパーツ集!

やまろうのプログラミングTips

Java

[Java] Localeを使ってメッセージを国際化

投稿日:

2004/02

Java APIリファレンスとか読んでると時々出てくる"Locale"って単語なんやねん?と
思ったことありませんか?なんとなく、国とか地域とかの意味なんだろうなーと
いうイメージはあるんだけど、実際どうつかうのかねぇ?ということで
今回はLocaleを使ってResourceBundleを切り替えてみたいと思います。

まずは、propertiesファイルを作成、
日本語、英語、フランス語の3種類を用意します。
[msg_ja.properties] 日本語用

aisatsu=\u3053\u3093\u306b\u3061\u308f

"こんにちわ"をnative2asciiでUnicode化

[msg_en.properties] 英語用

aisatsu=Hello

[msg_fr.properties] フランス語用

aisatsu=Bon Voyage

んではプログラムー!!

スポンサーリンク



[実行結果]

デフォルト語=こんにちわ
日本語=こんにちわ
フランス語=Bon Voyage
英語=Hello

つまり、
ResourceBundle.getBundle("msg", Locale.FRANCE);
って書くとmsg_fr.propertiesを読みに行く仕様のようですな!
ResourceBundle.getBundle(プロパティファイルの接頭辞, _XXのロケール);
ってわけ。

ResourceBundle.getBundle("msg");
って、Localeを指定しないとデフォルトのLocaleが日本だから
msg_jp.propertiesを読みにいったわけね。
ファイル名をmsg.propertiesにしても、読みにいきます。

ところで、Bon Voyageってこんにちわって意味なのかな?てきとーに
書いたもので、ガッハッハー!!!(風俗にいたバカ風)

あと、mainの冒頭でコメントアウトしてる部分のコメントはずすと
利用出来るLocaleが表示されます。ぜひ試してみてくださいな!

んじゃ
やまろう

スポンサーリンク

-Java

Copyright© やまろうのプログラミングTips , 2020 AllRights Reserved Powered by AFFINGER4.