![]() |
![]() |
|
|
| |
BEA WebLogic Server のインターナショナライゼーション インタフェースとローカライゼーション インタフェースの使い方
この章では、インターナショナライゼーションおよびローカライゼーションに使用するインタフェースについて説明します。
インターナショナライゼーション インタフェースの使い方
シンプル テキスト ベースのユーティリティのインターナショナライゼーションは、それらのユーティリティが Localizer を使用してテキスト データにアクセスするように指定することで実現します。ただし、ロギングが目的の場合は、英語のテキストをログに書き込む従来の手段の代わりに、生成された Logger クラスを使用する必要があります。たとえば、i18ngen
では、カタログ xyz.xml
に対して適切なパッケージにクラス xyzLogger
が生成されます。
もう 1 つ例を挙げると、たとえば MyUtilLog.xml
カタログが使用される場合は、クラス programs.utils.MyUtilLogger.class
が生成されます。カタログで定義されているログ メッセージごとに、このクラスでは method
属性で定義されているとおりに静的なパブリック メソッドが格納されます。
ローカライゼーション インタフェースの使い方
TextFormatter クラスは、シンプル メッセージ カタログごとに生成されます。TextFormatter クラスには、カタログのローカライズおよびフォーマットされたテキストにアクセスするために使用する静的なメソッドがあります。このクラスは、メッセージ本文、プレースホルダ、および MessageFormat とのインタフェースを処理するコンビニエンス クラスです。フォーマット用のメソッドは、各メッセージ定義の method 属性を通じて指定されます。たとえば、メッセージの定義に属性 method=getErrorNumber(int err)
が含まれている場合、生成される TextFormatter クラスは次のようになります。
package my.text;
public class xyzTextFormatter {
. . .
public static String getErrorNumber(int err) {
. . .
}
}
上のメソッドを使用することは、次のコード例を実行することと同じです。
import my.text.xyzTextFormatter
. . .
xyzTextFormatter xyzL10n = new xyzTextFormatter();
System.out.println(xyzL10n.getErrorNumber(someVal));
この場合、someVal 引数が適切に挿入された状態で現在のロケールのメッセージ テキストが出力されます。
2 つのコンストラクタが用意されています。デフォルトのコンストラクタは、Java 仮想マシン(JVM)のデフォルトのロケールで使用します。もう 1 つのコンストラクタでは、JVM 全体のロケールを変更することなく別のロケールを指定できます。
![]() |
![]() |
![]() |