この章の内容は次のとおりです。
ADFスキンのソース・ファイルには、ADF Facesコンポーネントがアプリケーションのユーザー・インタフェースにレンダリングするテキストは保存されません。ADF Facesコンポーネントをレンダリングするアプリケーションでは、これらのコンポーネントがレンダリングするテキストをリソース文字列として抽象化し、リソース文字列をリソース・バンドルに保存します。たとえば、図8-1に、OKおよびCancelのラベルが付いたボタンをレンダリングするADF Faces dialog
コンポーネントを示します。
図8-1 ADF Facesのdialogコンポーネント
これらのボタンのラベルとして表示されるテキスト(OKおよびCancel)は、リソース・バンドルで定義され、リソース文字列によって参照されます。ボタンのラベルに表示されるテキストを変更する場合は、次のリソース文字列に代替テキストを指定することによって、表示する値を定義するリソース・バンドルを作成します。
af_dialog.LABEL_OK
af_dialog.LABEL_CANCEL
注意:
「ADFスキン・ファイルの作成」で説明しているように、デフォルトで、新規ADFスキンの作成時にリソース・バンドル(skinBundle.properties
)がプロジェクトに作成されます。
特定のコンポーネントのユーザー・インタフェースに表示されるテキストを定義するリソース文字列以外に、コンポーネントに関係なく表示されるテキストを定義する様々なリソース文字列があります。これらのリソース文字列は、グローバル・リソース文字列と呼ばれます。ADF Facesコンポーネントのリソース文字列およびグローバル・リソース文字列の詳細は、Oracle ADF Facesスキン・セレクタ・タグ・リファレンスを参照してください。
ADF Facesコンポーネントでは自動変換がサポートされています。ADF Facesコンポーネントのスキンに使用されるリソース・バンドルは、28の言語に変換されます。たとえば、エンド・ユーザーがブラウザでドイツ語を使用するよう設定している場合、コンポーネント内に含まれるテキストはすべて自動的にドイツ語で表示されます。このため、新規ADFスキン用のリソース・バンドルを作成した場合は、Webアプリケーションでサポートされている他の言語に対応するそのリソース・バンドルのローカライズ済バージョンも作成する必要があります。
リソース・バンドルとリソース文字列の作成およびADF Facesコンポーネントのローカライズの詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』のリソース・バンドルおよびロケールの手動による定義に関する項を参照してください。
アプリケーションのADF Facesコンポーネントのユーザー・インタフェースにレンダリングされるデフォルトのテキスト値をオーバーライドするために、リソース・バンドルに代替テキストを入力する場合は、そのリソース・バンドルをアプリケーションに指定する必要があります。実行時に、オーバーライドするリソース文字列に対しては、リソース・バンドル内の代替テキストがアプリケーションによってレンダリングされます。オーバーライドしないリソース文字列に対しては、ベースのリソース・バンドルで定義されているテキストがレンダリングされます。たとえば、図8-4に示すADF Facesのdialogコンポーネントでは、アプリケーション開発者はaf_dialog.LABEL_OK
リソース文字列のデフォルト値であるOK
にYay
をオーバーライドし、af_dialog.LABEL_CANCEL
リソース文字列のデフォルト値は変更していません。つまり、アプリケーション開発者はリソース・バンドルのaf_dialog.LABEL_CANCEL
リソース文字列の値を定義しておらず、アプリケーションでは、このリソース文字列の値について、ベースのリソース・バンドルを参照します。
図8-2 オーバーライドされた値とデフォルト値のリソース文字列
リソース・バンドルを作成する方法および文字列キーの値を定義する方法の詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』のリソース・バンドルおよびロケールの手動による定義に関する項を参照してください。
ADFスキンにリソース・バンドルを指定するには、その名前と場所を値としてtrinidad-skins.xml
ファイルのbundle-name
プロパティに追加します。
ADFスキンに追加のリソース・バンドルを指定するには、次のようにします。
trinidad-skins.xml
ファイルでは、bundle-name
プロパティの値として次の例のように定義したリソース・バンドルを参照します。
<skin> <id>skin1.desktop</id> <family>skin1</family> <extends>skyros-v1.desktop</extends> <render-kit-id>org.apache.myfaces.trinidad.desktop</render-kit-id> <style-sheet-name>skins/skin1/skin1.css</style-sheet-name> <bundle-name>resources.skinBundle</bundle-name> </skin>
実行時に、デフォルトのテキスト値をオーバーライドするためにリソース・バンドルに指定したテキスト値が、アプリケーションによってレンダリングされます。たとえば、Yeah
をaf_dialog.LABEL_OK
リソース文字列の値として指定し、Oops
をaf_dialog.LABEL_CANCEL
の値として指定したリソース・バンドルを定義したとします。図8-4に、これらの値を使用してラベルをレンダリングするdialog
コンポーネントを示します。
図8-4 カスタム・リソース・バンドルで定義されたラベルをレンダリングするダイアログ