![]() ![]() ![]() ![]() |
以下の節では、インターナショナライゼーションおよびローカライゼーションに使用される WebLogic Server ユーティリティに関する情報を記述します。
WebLogic Server では、以下の 3 つのインターナショナライゼーション ユーティリティが用意されています。
注意 : | カタログ定義のテキストでは読みやすいように書式設定文字 (行末文字など) が使用される場合がありますが、それらの文字はパーサでは維持されません。テキスト データは、1 行の文字列に標準化されます。先頭と末尾のホワイト スペースはすべて削除されます。埋め込まれている行末文字は、単語の区切りを維持するために必要に応じてスペースに置き換えられます。タブはそのまま残されます。 |
注意 : | エスケープは、埋め込まれている改行 ('\n' など) に使用します。保存され、出力すると改行として出力されます。 |
weblogic.i18ngen
ユーティリティを使用すると、メッセージ カタログを検証し、ローカライズされたメッセージの生成に必要な実行時クラスを作成できます。weblogic.l10ngen
ユーティリティを使用すると、ロケール固有のカタログを検証し、カタログで定義されたさまざまな異なるロケールで使用される追加のプロパティ ファイルを作成できます。
WebLogic Server で実行しているシンプル テキストベースのユーティリティは、それらのユーティリティでテキスト データのアクセスに Localizer
を使用するように指定することにより、インターナショナライズできます。weblogic.i18ngen
ユーティリティから生成された Logger
および TextFormatter
クラスを使用して、アプリケーションをコンフィグレーションします。
Logger
クラスおよび TextFormatter
クラスの詳細については、「WebLogic Server 用の TextFormatter クラスのリファレンス」および「WebLogic Server 用の Logger クラスのリファレンス」を参照してください。
生成された Logger
クラスは、英語のテキストをログに書き込む従来の方法に代わるログ記録の手段として使用されます。たとえば、weblogic.i18ngen
では、カタログ xyz.xml
に対して適切なパッケージにクラス xyzLogger
が生成されます。また、MyUtilLog.xml
カタログでは、クラス programs.utils.MyUtilLogger.class
が生成されます。カタログで定義されているログ メッセージごとに、このクラスでは method
属性で定義されているとおりに静的なパブリック メソッドが格納されます。
TextFormatter
クラスは、シンプル メッセージ カタログごとに生成されます。これらのクラスには、カタログのローカライズおよびフォーマットされたテキストにアクセスするために使用するメソッドがあります。このクラスは、メッセージ本文、プレースホルダ、および MessageFormat
とのインタフェースを処理するコンビニエンス クラスです。フォーマット用メソッドは、各メッセージ定義の method 属性により指定します。たとえば、あるカタログのメッセージ定義に属性 method=getErrorNumber(int err)
が指定されている場合、コード リスト 7-1 に示されている TextFormatter
クラスが生成されます。
package my.text;
public class xyzTextFormatter
{
. . .
public String getErrorNumber(int err)
{
. . .
}
}
コード リスト 7-2 は、getErrorNumber
メソッドのコードでの使用例を示しています。
import my.text.xyzTextFormatter
. . .
xyzTextFormatter xyzL10n = new xyzTextFormatter();
System.out.println(xyzL10n.getErrorNumber(someVal));
この場合、someVal
引数が適切に挿入された状態で現在のロケールのメッセージ テキストが出力されます。
weblogic.i18ngen
ユーティリティを使用すると、メッセージ カタログ (XML ファイル) を解析し、ログ メッセージのテキストをローカライズするための Logger
クラスおよび TextFormatter
クラスを生成できます。このユーティリティでは、次のプロパティ ファイル (メッセージ ID のルックアップ クラス ハッシュテーブル weblogic.i18n.L10nLookup
のロードに使用) が作成、または更新されます。
targetdirectory\
i18n_user.properties
エラーや警告などのメッセージはすべて stderr
に送信されます。
ユーザ カタログが認識されるように、i18n_user.properties
ファイルは WebLogic クラスパスで識別されたディレクトリに置く必要があります。
たとえば、targetdirectory
\i18n_user.properties
となります。
i18n_user.properties
ファイルは、サーバ クラスパスに置くようにお勧めします。i18n_user.properties
ファイルが targetdirectory
にある場合は、targetdirectory
がサーバ クラスパスにある必要があります。
java weblogic.i18ngen [options
] [filelist
]
注意 : | ユーティリティはどのディレクトリからでも実行できますが、ファイルがコマンドラインで指定される場合、ファイル パスはカレント ディレクトリに対する相対パスになります。 |
weblogic.l10ngen
ユーティリティは、ファイル リストで指定されたメッセージ カタログをローカライゼーションするためのプロパティ リソースを生成します。ファイルリストでは、翻訳されたカタログではなく、最上位カタログが識別されます。
同様に、対象ディレクトリ (-d
オプション) は、デフォルトのローカライゼーションが置かれた同一の対象ディレクトリを識別します。たとえば、デフォルト カタログが $SRC\weblogic\msgcat
にあり、生成されたリソースを $CLASSESDIR に置く場合、l10ngen
を適切に呼び出すコマンドは次のようになります。
java weblogic.l10ngen -d $CLASSESDIR $SRC\weblogic\msgcat
このコマンドでは、定義されたすべてのロケールに対するローカライズされたリソースが、weblogic\msgcat
サブディレクトリに生成されます。
java weblogic.l10ngen [options
] [filelist
]
注意 : | ユーティリティはどのディレクトリからでも実行できますが、ファイルがコマンドラインで指定される場合、ファイル パスはカレント ディレクトリに対する相対パスになります。 |
カタログ サブディレクトリの名前は、小文字 2 文字の ISO 639 言語コード (日本語は ja
、フランス語は fr
など) に基づいて付けられます。サポートされている言語コードは、java.util.Locale
javadoc で確認できます。
言語コードのバリエーションは、言語コードの下位にある大文字 2 文字の ISO 3166 国コードとバリアントを使用するとできます。一般的な構文は、lang\country\variant
です。
たとえば、zh
は中国の言語コードです。CN
は簡体字中国語の国コードで、TW
は繁体字中国語の国コードです。このため、zh\CN
および zh\TW
は中国語の異なる 2 つのロケールです。
バリアントは、特定のロケールを扱うプラットフォーム ベンダの機能に違いがある場合などに役立ちます。ベンダ バリアントには、WIN、MAC、POSIX などがあります。ロケールをさらに修飾するために 2 つのバリアントが使用される場合もあります。この場合、バリアントはアンダースコアで区切ります (Traditional_Mac
と Modern_MAC
など)。
注意 : | 言語、国、およびバリアントは、すべて大文字/小文字が区別されます。 |
完全修飾ロケールは zh\TW\WIN
のようになり、Win32 プラットフォームでの繁体字中国語を識別します。
上記のロケールをサポートするメッセージ カタログには、次のファイルが含まれます。
特定のローカライゼーションは、親ローカライゼーションで定義されたすべてのメッセージに対応する必要はありません。
java weblogic.l10ngen -d $CLASSESEDIR |
java weblogic.l10ngen -d $CLASSESEDIR -language zh -country TW
|
java weblogic.l10ngen -d $CLASSESEDIR -language zh |
java weblogic.l10ngen -d $CLASSESEDIR |
注意 : | 例 2 は例 3 のサブセットです。すべての中国語 (zh ) には、任意の国指定 (TW など) およびバリアントが含まれます。 |
注意 : | weblogic.l10ngen は、ロケール識別子 (言語、国、バリアント) を検証しません。 |
weblogic.GetMessage
ユーティリティは、以前のバージョンの WebLogic Server で提供された CatInfo
ユーティリティに代わるユーティリティです。このユーティリティはメッセージ コンテンツを表示しますが、インストールされたすべてのメッセージ、または一部のメッセージを一覧表示するためにも使用できます。デフォルト (オプションなし) では、weblogic.GetMessage
は使用方法を出力します。
java weblogic.GetMessage [options
]
注意 : | -verbose を除いて、すべてのオプションは 1 文字に短縮できます。 |
引数を指定しないと、weblogic.GetMessage
は -help
が指定された場合と同様に、使用方法が出力されます。
![]() ![]() ![]() |