![]() | |
Sun™ Identity Manager 8.0 配備に関する技術概要 |
第 8 章
メッセージカタログをカスタマイズするメッセージカタログエントリを追加したり、システムから提供されるエントリを修正したりするために、カスタマイズしたメッセージカタログを作成できます。
カスタムメッセージカタログの利点
カスタムメッセージカタログには、次の利点があります。
Identity Manager がメッセージカタログエントリを取得する方法
Identity Manager は、次の順序でメッセージカタログエントリを取得します。
メッセージカタログの形式
WPMessages.properties ファイルでは、エントリは KeyName=MessageText の形式で定義されます。カスタマイズしたメッセージカタログでは、各エントリは個別の Msg 要素で指定されます。KeyName は id 属性で指定されます。MessageText は <Msg> タグと </Msg> タグの間にあるテキストです。次の例は、メッセージカタログエントリを示しています。
<Msg id='UI_REMEMBER_PASSWORD'>Remember to set your password.</Msg>
メッセージテキストに HTML タグを含めてテキストのレンダリング方法を制御できますが、これはお勧めできません。HTML タグを使用する必要がある場合は、< や > などの記号の代わりに < や > などのコードを使用してください。
メッセージテキストには、文字列が表示されるときに Identity Manager によって文字列に挿入されるデータの変数を含めることもできます。次の例は、AR_CORRELATED_USER キーのデフォルトメッセージです。
Correlated account with user {0}.
描画されたものは次のようになります。
Correlated account with user jdoe.
カスタマイズしたメッセージカタログを作成する
次の手順では、ユーザー定義のメッセージカタログを作成する方法について説明します。
- デフォルトのメッセージカタログエントリを上書きする場合は、WPMessages.properties ファイルで該当するエラーメッセージキーの場所を特定します。これらのキーは、カスタマイズしたメッセージカタログで指定する必要があります。
新しいメッセージを作成する場合は、これらのキーが WPMessages.properties ファイルにないことを確認します
- 次の構造で XML ファイルまたはブロックを作成します。
各表記の意味は次のとおりです。
CatalogName は、メッセージカタログの名前です。この値は、System Configuration オブジェクトのカタログの定義にも使用されます。
KeyName はメッセージキー名です。
MessageText は、グラフィカルユーザーインタフェースに表示される文字列です。このテキストには、HTML タグと変数を含めることができます。
en_US 以外のロケールをサポートする場合は、language 属性と country 属性を変更します。複数のロケールをサポートする場合は、ロケールごとに個別の MessageSet 要素を作成します。
参考例については、「例」の項を参照してください。
- ファイルまたはブロックを Identity Manager にインポートします。
- System Configuration オブジェクトを読み込み、次の行を <Configuration><Extension><Object> 要素内に追加します。
<Attribute name='customMessageCatalog' value='CatalogName'/>
- 変更を System Configuration オブジェクトに保存します。
- アプリケーションサーバーを再起動します。これで、新しいメッセージカタログエントリがシステムで利用できるようになりました。
例
次の例では、myCustomCatalog という名前のカスタマイズしたメッセージカタログを作成します。ここでは、「交換ファイルのインポート」サブタブのラベルとヘルプテキストを置き換えます。
コード例 8-1 カスタマイズした myCustomCatalog メッセージカタログを作成する
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'>
<Configuration name='myCustomCatalog'>
<Extension>
<CustomCatalog id='myCustomCatalog' enabled='true'>
<MessageSet language='en' country='US'>
<Msg id='UI_SUBNAV_CONFIGURE_IMPORT_EXCHANGE'>XML ファイル のインポート</Msg>
<Msg id='UI_SUBNAV_CONFIGURE_IMPORT_EXCHANGE_HELP'>指定し た XML ファイルをインポートします。< /Msg>
</MessageSet>
</CustomCatalog>
</Extension>
</Configuration>