国際化

この記事の所要時間: 約3分

プロパティファイルの作成

クラスやHTMLと同じページ名のプロパティファイルを作成し、同じ階層に置く。ロケールを後ろにつけるとロケールの一致するメッセージを優先的に読みにいき、無い場合はデフォルトのメッセージを取得するなど、よくあるルールはそのまま通用する。

wicket_message_01.png

propertiesファイルのかわりにxmlファイルを用意しても大丈夫。

メッセージの取得

HTMLに記述する方法と、クラス側で取得する方法がある。

  • HTMLに記述:<wicket:message>タグ
  • HTMLに記述:wicket:message属性
  • クラスで取得:getString(String)

HTMLに記述の例

<wicket:message>タグを使う場合、「key」属性でプロパティキーを指定する。一番わかりやすいパターン。ちなみに、実行時に画面に表示された場合も<wicket:message>タグは残りっぱなしになるので注意。

wicket:message属性を使う場合、「対象属性:プロパティキー」という形式で指定する。上記の例の場合、「value属性の内容を、msg2というキーで取得したメッセージに置換する」という意味になる。カンマ区切りで複数の属性の指定が可能。

クラスに記述の例

getStringメソッドの引数にキーを指定するだけ。簡単。

プロパティファイル(native2asciiする前)の内容は以下の通り。

xmlファイルを使う場合は以下のようにする。

画面表示

wicket_message_02.png

以下は、実行時のHTMLのpタグ内の抜粋。Wicket用のタグや属性はそのまま残っている。これは国際化に限らずWicketの特徴。イヤなら設定で消すこともできる。