インターナショナライゼーション ガイド
![]() |
![]() |
![]() |
![]() |
以下の節では、インターナショナライゼーションおよびローカライゼーションに使用される WebLogic Server ユーティリティに関する情報を記述します。
WebLogic Server では、以下の 3 つのインターナショナライゼーション ユーティリティが用意されています。
注意 : カタログ定義のテキストでは読みやすいように書式設定文字 (行末文字など) が使用される場合がありますが、それらの文字はパーサでは維持されません。テキスト データは、1 行の文字列に標準化されます。先頭と末尾のホワイト スペースはすべて削除されます。埋め込まれている行末文字は、単語の区切りを維持するために必要に応じてスペースに置き換えられます。タブはそのまま残されます。
注意 : エスケープは、埋め込まれている改行 (\n など) に使用します。保存され、出力すると改行として出力されます。
weblogic.i18ngen
ユーティリティを使用すると、メッセージ カタログを検証し、ローカライズされたメッセージの生成に必要な実行時クラスを作成できます。weblogic.l10ngen
ユーティリティを使用すると、ロケール固有のカタログを検証し、カタログで定義されたさまざまな異なるロケールで使用される追加のプロパティ ファイルを作成できます。
WebLogic Server で実行しているシンプル テキストベースのユーティリティは、それらのユーティリティでテキスト データのアクセスに Localizer
を使用するように指定することにより、インターナショナライズできます。weblogic.i18ngen
ユーティリティから生成された Logger
および TextFormatter
クラスを使用して、アプリケーションをコンフィグレーションします。
weblogic.i18ngen
ユーティリティの詳細については、「weblogic.i18ngen ユーティリティ」を参照してください。Logger
クラスおよび TextFormatter
クラスの詳細については、「BEA WebLogic Server 用の TextFormatter クラスのリファレンス」および「BEA WebLogic Server 用の Logger クラスのリファレンス」を参照してください。
生成された Logger
クラスは、英語のテキストをログに書き込む従来の方法に代わるログ記録の手段として使用されます。たとえば、weblogic.i18ngen
では、カタログ xyz.xml
に対して適切なパッケージにクラス xyzLogger
が生成されます。また、たとえば MyUtilLog.xml
カタログでは、クラス programs.utils.MyUtilLogger.class
が生成されます。カタログで定義されているログ メッセージごとに、このクラスでは method
属性で定義されているとおりに静的なパブリック メソッドが格納されます。
TextFormatter
クラスは、シンプル メッセージ カタログごとに生成されます。TextFormatter クラスには、カタログのローカライズおよびフォーマットされたテキストにアクセスするために使用するメソッドがあります。このクラスは、メッセージ本文、プレースホルダ、および MessageFormat
とのインタフェースを処理するコンビニエンス クラスです。フォーマット用メソッドは、各メッセージ定義の method 属性により指定します。たとえば、あるカタログのメッセージ定義に属性 method=getErrorNumber(int err)
が指定されている場合、コード リスト 4-1 に示されている TextFormatter
クラスが生成されます。
コード リスト 4-1 TextFormatter クラスの例
package my.text;
public class xyzTextFormatter
{
. . .
public String getErrorNumber(int err)
{
. . .
}
}
コード リスト 4-2 は、getErrorNumber
メソッドのコードでの使用例を示しています。
コード リスト 4-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
weblogic.i18ngen
ユーティリティでは、i18n_user.properties
ファイルの作成または更新も行われます。エラーや警告などのメッセージはすべて stderr
に送信されます。
ユーザ カタログが認識されるように、i18n_user.properties ファイルは WebLogic クラスパスで識別されたディレクトリに置く必要があります。
targetdirectory/i18n_user.properties
i18n_user.properties ファイルは、サーバ クラスパスに置くようにお勧めします。i18n_user.properties ファイルが targetdirectory にある場合は、targetdirectory がサーバ クラスパスにある必要があります。
java weblogic.i18ngen [options
]
注意 : ユーティリティはどのディレクトリからでも実行できますが、ファイルがコマンドラインで指定される場合、ファイル パスはカレント ディレクトリに対する相対パスになります。
weblogic.l10ngen
ユーティリティは、ファイルリストで指定されたメッセージ カタログをローカライゼーションするためのプロパティ リソースを生成します。ファイルリストでは、翻訳されたカタログではなく、最上位カタログが識別されます。
同様に、target ディレクトリ (-d オプション) は、デフォルトのローカライゼーションが置かれた同一の target ディレクトリを識別します。たとえば、デフォルト カタログが $SRC/weblogic/msgcat にあり、生成されたリソースを $CLASSESDIR に置く場合、l10ngen を適切に呼び出すコマンドは次のようになります。
java weblogic.i18n.tools.l10ngen -d $CLASSESDIR $SRC/weblogic/msgcat
このコマンドでは、定義されたすべてのロケールに対するローカライズされたリソースが、weblogic/msgcat サブディレクトリに生成されます。
java weblogic.l10ngen [options
]
注意 : ユーティリティはどのディレクトリからでも実行できますが、ファイルがコマンドラインで指定される場合、ファイル パスはカレント ディレクトリに対する相対パスになります。
|
カタログ サブディレクトリの名前は、小文字 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.i18ntools.l10ngen -d $CLASSESEDIR catalogdirectory
java weblogic.i18ntools.l10ngen -d $CLASSESEDIR -language zh -country TW catalogdirectory
java weblogic.i18ntools.l10ngen -d $CLASSESEDIR -language zh catalogdirectory
java weblogic.i18ntools.l10ngen -d $CLASSESEDIR catalogdirectory
注意 : 例 2 は例 3 のサブセットです。すべての中国語 (zh) には、任意の国指定 (TW など) およびバリアントが含まれます。
weblogic.l10ngen は、ロケール識別子 (言語、国、バリアント) を検証しません。
weblogic.GetMessage ユーティリティは、以前のバージョンの WebLogic Server で提供された CatInfo ユーティリティに代わるユーティリティです。このユーティリティはメッセージ コンテンツを表示しますが、インストールされたすべてのメッセージ、または一部のメッセージを一覧表示するためにも使用できます。デフォルト (オプションなし) では、weblogic.GetMessage は使用方法を出力します。
java weblogic.GetMessage [options
]
注意 : -verbose を除いて、すべてのオプションは 1 文字に短縮できます。
|
|
|
引数を指定しないと、weblogic.GetMessage は -help
が指定された場合と同様に、使用方法が出力されます。
![]() ![]() |
![]() |
![]() |