Web ページが別の言語で表示されるように、ご使用の Web アプリケーションをローカライズすることができます。Web アプリケーションをローカライズするには、サポートする言語ごとにリソース・バンドル を作成する必要があります。これらのリソース・バンドルには、実行時に Web ページで表示されるストリングが含まれます。
各リソース・バンドルは人間言語に固有のものであるため、異なるリソース・バンドルに切り替えると、Web ページ上のストリングも別の言語に切り替わります。
変換可能ストリングを Web ページのテキストとして使用することができます。ここでは、こうしたストリングを Web ページで使用する際の方法の一部を紹介します。また、変換可能ストリングを Web ページのエラー・メッセージとして使用することもできます。詳しくは、Web ページでのエラー・メッセージの表示を参照してください。
出力フィールドとしての変換可能ストリングの使用
JSF フィールド (出力フィールドなど) の値として、変換可能ストリングを使用する場合、そのフィールドにバインドされた EGL 変数に、変換可能ストリングのキーを割り当てることはできません。変換可能ストリングを JSF フィールドの値として使用する場合、そのフィールドは、いかなる EGL 変数にもバインドすることはできません。代わりに、変換可能ストリングにフィールドを直接バインドすることが必要になります。
そのためには、以下のステップを実行してください。
- EGL Web プロジェクトの JSP ファイルで、JSF 出力コンポーネント (例えば、出力フィールドなど) を、「パレット」ビューの「拡張 Faces コンポーネント」ドロワーからページにドラッグします。
- フィールドをクリックして、選択します。
- 「プロパティー」ビューで、「値」フィールドを見つけます。
このフィールドに、コンポーネントのテキストが表示されます。
- 「値」フィールドの隣にある「ページ・データ・オブジェクトの選択」ボタンをクリックします。
「ページ・データ・オブジェクトの選択」ウィンドウが開きます。通常は、このウィンドウから JSF ハンドラーの変数を選択しますが、このケースでは、代わりにリソース・バンドルのストリングを使用することにします。
- 「ストリング・リソース」タブにジャンプします。
- 「プロパティー・ファイルの追加」をクリックします。
- 「プロパティー・ファイルの選択/作成」ウィンドウの
「既存ファイル」タブで、使用するリソース・バンドル・ファイルを選択します。
新規のリソース・バンドルを作成する場合は、「新規ファイル」タブにジャンプしてください。いずれの場合にも、リソース・バンドルの作成で説明されている、命名および配置の規則を守ってください。
- リソース・バンドル・ファイルの選択または作成を終えたら、そのファイルを表すニーモニックを「ファイル識別子」フィールドに入力します。デフォルトのニーモニックは labels です。
このデフォルトのニーモニックを変更する場合は、EGL Page Designer 設定で設定されたニーモニックと一致させる必要があります (Web プロジェクトの設定の変更で説明しています)。
- 「OK」をクリックして、「プロパティー・ファイルの選択/作成」ウィンドウを閉じます。
「ストリング・リソース」タブのテーブルに、そのファイルのストリングが表示されます。
既にファイルにあるストリングを使用することもできますし、「リソースの追加」ボタンを使用して、
新規のストリングを追加することもできます。
- フィールドで使用したいストリングを選択し、「OK」をクリックします。変換可能ストリングのキーが、フィールドに表示されます。ページを実行すると、サーバーはこのストリングをフィールドの値として使用します。
EGL プロパティーでの変換可能ストリングの使用
特定の EGL プロパティーの値として、変換可能ストリングを使用することもできます。
この使用例としてよく挙げられるのは、DisplayName です。
- プロジェクトの Java™ リソース・フォルダーの jsfhandlers パッケージに、アプリケーションで使用するストリングを保持するリソース・バンドルを作成します。
リソース・バンドルの作成を参照してください。
例えば、米国英語を使用する場合に、myBundle_en_US.properties という名前のリソース・バンドルを作成するとします。
- そのリソース・バンドルで、Web ページで使用するテキストのキーおよびストリング値を追加します (次のサンプルを参照)。
myString01=Hello there!
myString02=Welcome to my Web page.
- このリソース・バンドルをデフォルト・ニーモニックを使用して表すように、ワークベンチの設定を変更します。
- とクリックします。
- 「設定」ウィンドウで「EGL」を展開し、「Page Designer」をクリックします。
- 「Loadbundle 変数」フィールドに、変換可能ストリングのニーモニックを入力します。デフォルトのニーモニックは labels です。
ニーモニックを変更する場合は、前述の「プロパティー・ファイルの選択/作成」ウィンドウの「ファイル識別子」フィールドで使用しているニーモニックと一致させる必要があります。
- 「OK」をクリックします。
- Web ページの JSF ハンドラーで、変数の DisplayName プロパティーまたは Help プロパティーに、Web ページで使用するテキストを表すキーを設定します。
myFieldString string {DisplayUse = button,
DisplayName = "%myString01",
Action = "DoSomething"};
% 記号 (%) が、DisplayName の値の中にあることに注意してください。 この記号は、その値をリソース・バンドルの所定のキーから取り出すよう指示するものです。
- JSF ハンドラーに関連付けられている JSP 上で、変数をページにドラッグします。例えば、直前の例にある変数をページにドラッグした場合、JSP で作成されるコードは次のようになります。
<hx:commandExButton id="buttonMyFieldString1"
styleClass="commandExButton" type="submit"
value="#{labels.myString01}"
actionListener="#{testResourceBundle._commandActionListener}"
action="DoSomething"></hx:commandExButton>
ボタンの値は、変数の名前や変数の値ではなく、(設定で入力したニーモニックと、JSF ハンドラーで使用されるキーから構成される) リソース・バンドルのストリングであることに注意してください。
変換可能ストリングをページで使用する方法は、他にもあります。
関連ページなしで JSF ハンドラー・パーツを定義し、そのハンドラーの変数を基にして、EGL にページ作成を行わせるようにするという方法です。
Web ページの作成の『既存の JSF ハンドラー・パーツからページを作成する』を参照してください。
この方法を使用すれば、JSF ハンドラーの title
プロパティーにも変換可能ストリングを使用できます。
EGL がページを作成する際、そのストリングがページのトップに明確に表示されます。
- JSP のコードで、次のコード行を、<f:view> コードのすぐ下に追加します。
<f:loadBundle basename="myBundle" var="labels"/>
- basename 属性と var 属性の値をそれぞれ、
リソース・バンドルの接頭部とニーモニックに設定します。このサンプルでは、リソース・バンドルの名前を myBundle_locale.properties
とし、デフォルトのニーモニックには labels を使用しているものとします。
このコードは、ページ上で labels.keyname として表された変換可能ストリングを、接頭部が myBundle の名前を持つリソース・バンドル・ファイルで検出するように指定しています。
このタグの basename 属性は、リソース・バンドル・ファイル名の接頭部を指定し、var 属性は、コードで使用される変換可能ストリングの開始を指定します。
実行時における異なる言語での変換可能ストリングの使用
異なる言語の変換可能ストリングを実行時に使用するには、以下のステップを実行します。
- アプリケーションがサポートする言語ごとに 1 つのリソース・バンドルを作成します。
アプリケーション内の各リソース・バンドルのファイル名は、同じ接頭部を持っていなければなりません。
最初のリソース・バンドルの名前が myBundle_en_US.properties
であるならば、他のリソース・バンドルの名前は myBundle で始まる必要があります。
- 「プロジェクト・エクスプローラー」ビューで、ファイル faces-config.xml をダブルクリックして
開きます。
このファイルは、フォルダー WebContent/WEB-INF にあります。
- faces-config.xml ファイルの <application> タグ内で、<locale-config> タグを追加します。
<faces-config>
<application>
<locale-config>
</locale-config>
...
</application
</faces-config>
- <locale-config> タグ内で、デフォルトのリソース・バンドルのロケールが含まれている <default-locale> タグを追加します。例えば、ご使用のアプリケーションをドイツ語で表示させるときに、ユーザーがロケールを指定していない場合、またはアプリケーションでサポートされていないロケールを指定した場合には、<locale-config> タグ内に以下のコードを追加します。
<default-locale>de</default-locale>
デフォルト・ロケールを指定することをお勧めしますが、必須ではありません。
- <default-locale> タグの後に、アプリケーションがサポートするロケールごとに <supported-locale> タグを追加します。例えば、ご使用のアプリケーションが米国英語をサポートしている場合、以下のコードを <locale-config> タグ内に追加します。
<supported-locale>en_US</supported-locale>
以下は、いくつかのロケールをサポートするアプリケーションからの例です。
<faces-config>
<application>
<locale-config>
<default-locale>de</default-locale>
<supported-locale>en_US</supported-locale>
<supported-locale>es</supported-locale>
<supported-locale>de</supported-locale>
<supported-locale>fr_FR</supported-locale>
<supported-locale>it_IT</supported-locale>
<supported-locale>pt_br</supported-locale>
</locale-config>
...
</application>
</faces-config>
デフォルト・ロケールを定義する場合、そのロケールを、サポートされるロケールとしても定義する必要があります。
注: このファイルで定義される各ロケールでは、一致するリソース・バンドルがそのロケールに定義されている必要があります。
- ファイルを保存して閉じます。
- 別の言語に設定された Web ブラウザーを使用して、アプリケーションをテストし、ストリングの相違を調べます。