Javaに関する様々な情報をご紹介します。

14メッセージ・リソースファイルの日本語処理

Javaに関する様々な情報をご紹介します。

メッセージ・リソースファイルの日本語処理

ここでは、Strutsメッセージ・リソースファイル日本語を利用する場合の方法について解説します。

実行環境
  • ・WindowsXP Home Edition
  • ・J2SDK 1.4.2_04
  • ・Tomcat 5.0.18
  • ・Struts 1.2.4

日本語処理

メッセージ・リソースファイルで日本語を利用する場合は、native2asciiコマンドを利用し日本語をUnicodeでエンコードする必要があります。native2asciiコマンドはJAVA_HOME\binディレクトリ配下にあります。-encodingオプションには変換前ファイルのエンコード方式を指定します。指定しない場合は、OSのデフォルトのエンコード方式が使用されます。-reverseオプションはUnicodeでエンコードされたファイルを元に戻します。

native2ascii [ -encoding エンコード方式 ] [ -reverse ] 変換前ファイル 変換後ファイル

【application.txt(変換前)】natice2asciiコマンド利用前のメッセージ・リソースファイルです。

message.hello=こんにちは

【application.properties(変換後)】natice2asciiコマンド利用後のメッセージ・リソースファイルです。

message.hello=\u3053\u3093\u306b\u3061\u306f

【実行例】native2asciiコマンドの実行例です。

C:\java>native2ascii application.txt application.properties

C:\java>

ロケールの指定

メッセージ・リソースファイルのファイル名にロケールを指定することでブラウザに設定されている言語に合わせたメッセージ・リソースファイルを使用することができます。ブラウザに設定されている言語のメッセージ・リソースファイルがない場合は、デフォルトのメッセージ・リソースファイルが使用されます。

ファイル名[_ISO言語コード][_ISO国コード].properties


ISO言語コード:http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
ISO国コード:http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html

【application_ja.properties】日本語用のメッセージ・リソースファイルです。

message.hello=\u3053\u3093\u306b\u3061\u306f

【application.properties】デフォルトのメッセージ・リソースファイルです。

message.hello=Hello

【実行結果1】言語に日本語が指定されていた場合の実行結果です。

Struts実行結果_1

【実行結果2】言語に英語が指定されていた場合の実行結果です。

Struts実行結果_2

14メッセージ・リソースファイルの日本語処理