WebSphere Application Server - Express, Version 6.0.x   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows

             目次と検索結果のパーソナライズ化

LocalizableTextFormatter クラス

com.ibm.websphere.i18n.localizabletext パッケージに含まれている LocalizableTextFormatter クラスは、 ローカライズ可能テキスト・パッケージを使用する際の 基本プログラミング・インターフェースです。 このクラスのインスタンスには、鍵やリソース・バンドルから言語特有のストリングを作成するのに必要な情報が含まれています。

LocalizableTextFormatter クラスは java.lang.Object クラスを拡張し、以下のインターフェースを実装します。

クラス・インスタンスの作成および初期化

LocalizableTextFormatter クラスは、以下のコンストラクターをサポートします。
  • LocalizableTextFormatter()
  • LocalizableTextFormatter(String resourceBundleName, String patternKey, String appName)
  • LocalizableTextFormatter(String resourceBundleName, String patternKey, String appName, Object[] args)
LocalizableTextFormatter インスタンスは、リソース・バン ドル名、鍵、およびフォーマット設定アプリケーションの名前などの特定の値を持たなければなりません。 上記の 2 番目のコンストラクターを使用して、これらの値を渡さない場合には、 以下の呼び出しを実行して、個別に値を設定することができます。
  • setResourceBundleName(String resourceBundleName)
  • setPatternKey(String patternKey)
  • setApplicationName(String appName)

4 番目のメソッド setArguments(Object[] args) を使用して、 オプションで構成の後にローカリゼーション値を設定できます。 このトピックの最後の アプリケーション固有の値の処理 を参照してください。 使用法の例については、複合ストリングの構成 を参照してください。

フォーマット・テキストの API

LocalizableTextFormatter クラスの format メソッドは、 ロケールと時間帯の値のいくつかの組み合わせを基に、メッセージ鍵および リソース・バンドルのセットからストリングを生成します。 各メソッドは、実装される 4 つのローカライズ可能テキスト・インターフェースの中の 1 つと対応します。 以下のリストは、format メソッドが定義されるインターフェースを示します。
  • LocalizableText.format()
  • LocalizableTextL.format(java.util.Locale locale)
  • LocalizableTextTZ.format(java.util.TimeZone timeZone)
  • LocalizableTextLTZ.format(java.util.Locale locale、java.util.TimeZone timeZone)

引数を持たない format メソッドは、Java 仮想マシン (JVM) のデフォルトに設定されたロケールと時間帯の値を使用します。 4 つのメソッドは すべて、必要に応じて LocalizableException オブジェクトを発行します。

メッセージ・カタログのロケーションおよび appName 値

ローカライズ 可能テキスト・パッケージで作成されたアプリケーションは、ローカルまたはリモートのアクセス・メッセージ・カタログにアクセスできます。 分散環境には、中心に位置指定されたリモート・メッセージ・カタログの使 用が適しています。 すべてのクライアントが同じカタログを使用するので、カタログの保守は単純化されます。 ローカル・フォーマットは、テスト状態で役立ち、一部の環境下で適しています。 ローカル・フォーマットまたはリモート・フォーマットのいずれかをサポートするには、 LocalizableTextFormatter インスタンスはフォーマット・アプリケーションの名前を示さなければなりません。

例えば、アプリケーションがリモート・カタログを使用してメッセージをフォーマットする場合、 実際には、メッセージはサーバー上のエンタープライズ Bean によってフォーマットされます。 ローカライズ可能テキスト・パッケージにはコードが含まれており、 フォーマッター Bean の検索やフォーマッター Bean への呼び出しの発行は自動化されますが、 アプリケーションはフォーマッター Bean の名前を認識する必要があります。 LocalizableTextFormatter クラスのいくつかのメソッドは、appName という 値を使用します。これは、フォーマット・アプリケーションの名前を参照します。 これは必ずしも値が設定されるアプリケーションの名前であるとは限りません。

メッセージのキャッシング

LocalizableTextFormatter インスタンスは、 オプションで、フォーマット設定メッセージをキャッシュできるため、 再度必要なときに再フォーマット設定を要求しません。 デフォルトでは、キャッシングは使用可能ではありませんが、 LocalizableTextFormatter.setCacheSetting(true) 呼び出しを使用すると、キャッシングを使用可能にすることができます。 キャッシングが使用可能で、format メソッドが呼び出されると、format メソッドはメッセージがすでにフォーマットされているかどうかを判別します。 フォーマットされている場合は、キャッシュにあるメッセージが戻されます。 メッセージがキャッシュにない場合は、メッセージはフォーマットされて、 呼び出し元に戻され、メッセージのコピーが将来の使用のためにキャッシュされます。

メッセージがキャッシュされた後にキャッシングが使用不可になる場合は、 これらのメッセージは、キャッシュが LocalizableTextformatter.clearCache メソッドへの 呼び出しによってクリアされるまで、キャッシュ内に残されます。キャッシュはいつでもクリアできます。 キャッシュは、以下のメソッドが呼び出されると自動的にクリアされます。
  • setResourceBundleName(String resourceBundleName)
  • setPatternKey(String patternKey)
  • setApplicationName(String appName)
  • setArguments(Object[] args)

フォールバック情報を提供する API

環境によっては、メッセージのフォーマットができない場合があります。 ローカライズ可能テキスト・パッケージは、フォールバック・ストラテジーを実装することにより、 メッセージが、要求した言語に正しくフォーマットされない場合でも、情報を得られるようにします。 LocalizableTextFormatter インスタンスは、オプションで、メッセージ・ストリングのフォールバック値、時間帯、およびロケールを保管できます。 これらの値は、LocalizableTextFormatter インスタンスが例外を発行しない限り、無視されます。 フォールバック値を設定するには、必要に応じて次のようなメソッドを呼び出します。
  • setFallBackString(String message)
  • setFallBackLocale(Locale locale)
  • setFallBackTimeZone(TimeZone timeZone)

使用法の例については、ローカライズ済みテキストの生成 を参照してください。

アプリケーション固有の値の処理

ローカライズ可能 テキスト・パッケージでは、時間帯およびロケールに基づいたローカリゼー ションのネイティブ・サポートを提供しますが、さらに他の値に基づいてメッセージを構成できます。 ローカライズしたテキストのフォーマットで、ロケールおよび時間帯以外の変数を 考慮する必要がある場合は、ユーザー独自のフォーマッター・クラスを作成してください。

ユーザー作成のフォーマッター・クラスは、LocalizableTextFormatter クラスを拡張できます。 あるいは、同じローカライズ可能テキスト・インターフェースの一部またはすべてを 個別に実装できます。 少なくとも、ユーザー・クラスは java.io.Serializable インターフェースと、 最低 1 つのローカライズ可能テキスト・インターフェース、 およびそれに対応する format メソッドを実装しなければなりません。 ユーザー・クラスが複数のローカライズ可能テキスト・インターフェース および format メソッドを実装する場合、インターフェースを評価する順番は次のとおりです。
  1. LocalizableTextLTZ
  2. LocalizableTextL
  3. LocalizableTextTZ
  4. LocalizableText

例として、ローカライズ可能テキスト・パッケージは、時刻と日付を レポートするクラス (LocalizableTextDateTimeArgument) を提供します。このクラスでは、 時刻と日付のフォーマットは、ロケール、時間帯、およびスタイルの 3 つの値に応じてローカライズされます。




関連タスク
タスクの概説: インターフェース・ストリング (ローカライズ可能テキスト API) の国際化対応
複合ストリングの構成
ローカライズ済みテキストの生成
フォーマット・メソッドの動作のカスタマイズ
関連資料
グローバリゼーション: 学習用リソース
ローカリゼーション API のサポート
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 11:31:28 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/rin_ltfapi.html