構成メタデータのローカライズ
各メタデータ・エントリーの name 属性と description 属性はローカライズすることができます。翻訳されたストリングは、言語固有のプロパティー・ファイルにパッケージ化されます。
例
以下の例は、ローカライズ済みファイルのロケーションをメタタイプ・ファイルのヘッダーに指定する方法を示しています。
<metatype:MetaData xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.1.0"
localization="OSGI-INF/I10n/metatype">
ここで、OSGI-INF/I10n はバンドル内の翻訳済みプロパティー・ファイルのロケーションで、
metatype は、デフォルト言語のプロパティー・ファイルのプレフィックスです。
例えば、デフォルト値 (通常、英語) が metatype.properties というファイル内にある場合、
各ロケールがその固有のサフィックスで追加されます (metatype_fr.properties、
metatype_es.properties など)。OSGI-INF/metatype ディレクトリーに常に存在する必要があるメタタイプ XML ファイルとは異なり、翻訳済みファイルは、localization 属性で指定された、バンドル内の任意のロケーションに存在することができます。 プロパティー・ファイルをメタタイプ XML ファイルと一緒に OSGI-INF/metatype ディレクトリー に入れないことをお勧めします。この場所に入っているものを Metatype サービス はすべて XML ファイルとして解析しようとし、それによって 障害が発生することはないものの、コンソールに不要な例外が生成されるため です。Liberty プロファイルの規則では、OSGI-INF/I10n ディレクトリーに置きますが、それが必須ではありません。
メタタイプ XML ファイルでは、値がローカライズ済みストリングであることを示すために、
値の先頭に % 記号を使用します。
例えば、メタタイプ XML ファイルで次の定義を使用します。
<AD name="%client.inactivity.timeout" description="%client.inactivity.timeout.desc"
id="clientInactivityTimeout" required="false" type="Integer" default="60" />
また、プロパティー・ファイルで次の定義を使用します。
client.inactivity.timeout=Client inactivity timeout
client.inactivity.timeout.desc=The maximum duration, in seconds, between transactional requests
from a remote client. クライアントの非活動時間がこのタイムアウトを超過すると、このアプリケーション・サーバーでトランザクションがロールバックされます。