ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Serverアプリケーション・ロギングのためのロギング・サービスの使用
11g リリース1 (10.3.6)
B61615-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

7 WebLogic Server国際化ユーティリティの使い方

以下の節では、国際化およびローカライゼーションに使用されるWebLogic Serverユーティリティに関する情報を記述します。

WebLogic Server国際化ユーティリティ

WebLogic Serverでは、以下の3つの国際化ユーティリティが用意されています。


注意:

カタログ定義のテキストでは読みやすいように書式設定文字(行末文字など)が使用される場合がありますが、それらの文字はパーサーでは維持されません。テキスト・データは、1行の文字列に標準化されます。先頭と末尾のホワイト・スペースはすべて削除されます。埋め込まれている行末文字は、単語の区切りを維持するために必要に応じてスペースに置き換えられます。タブはそのまま残されます。

エスケープは、埋め込まれている改行('\n'など)に使用します。保存され、出力すると改行として出力されます。


WebLogic Server国際化およびローカライゼーション

weblogic.i18ngenユーティリティを使用すると、メッセージ・カタログを検証し、ローカライズされたメッセージの生成に必要な実行時クラスを作成できます。weblogic.l10ngenユーティリティを使用すると、ロケール固有のカタログを検証し、カタログで定義された様々な異なるロケールで使用される追加のプロパティ・ファイルを作成できます。

WebLogic Serverで実行しているシンプル・テキスト・ベースのユーティリティは、それらのユーティリティでテキスト・データのアクセスにLocalizerを使用するように指定することにより、国際化できます。weblogic.i18ngenユーティリティから生成されたLoggerおよびTextFormatterクラスを使用して、アプリケーションを構成します。

LoggerクラスおよびTextFormatterクラスの詳細は、「付録C WebLogic Server用のTextFormatterクラスのリファレンス」および「D 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クラスが生成されます。

例7-1 TextFormatterクラスの例

package my.text;
public class xyzTextFormatter 
{
   . . .
   public String getErrorNumber(int err) 
   {
   . . .
   }
}

例7-2は、getErrorNumberメソッドのコードでの使用例を示します。

例7-2 getErrorNumberメソッドの例

import my.text.xyzTextFormatter
. . .

xyzTextFormatter xyzL10n = new xyzTextFormatter();
System.out.println(xyzL10n.getErrorNumber(someVal));

この場合、someVal引数が適切に挿入された状態で現在のロケールのメッセージ・テキストが出力されます。

weblogic.i18ngenユーティリティ

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]

注意:

ユーティリティはどのディレクトリからでも実行できますが、ファイルがコマンド・ラインで指定される場合、ファイル・パスはカレント・ディレクトリに対する相対パスになります。

オプション

オプション 定義
-build
必要なすべてのファイルを生成し、コンパイルします。

-buildオプションは、-i18n-l10n-keepgenerated-compileの各オプションを組み合せたものです。

-d targetdirectory
生成されたJavaソース・ファイルの宛先となるルート・ディレクトリを指定します。ユーザー・カタログ・プロパティは、指定されたターゲット・ディレクトリの相対パスにある i18n_user.propertiesに配置されます。ファイルは、メッセージ・カタログのi18n_package値およびl10n_package値に基づいて適切なディレクトリに配置されます。デフォルトのターゲット・ディレクトリは現在のディレクトリとなります。このディレクトリは必要に応じて作成されます。

この引数が省略された場合は、メッセージ・カタログに指定されたクラス階層に関係なく、すべてのクラスがカレント・ディレクトリに生成されます。

-n
解析し、有効性を検証しますが、クラスは生成しません。
-keepgenerated 
生成されたJavaソース(クラス・ファイルと同じディレクトリに存在)を保持します。
-ignore
エラーを無視します。
-i18n
インターナショナライザ(LoggersTextFormattersなど)を生成します。

i18ngen -i18nでは、国際化されたメッセージのロギングをサポートするインターナショナライザ・ソース(*Logger.javaなど)が作成されます。

-l10n
localizers(LogLocalizersTextLocalizersなど)を生成します。

i18ngen -l10nでは、メッセージ・カタログで定義されている各メッセージにアクセスできるようにするローカライザ・ソース(リソースのまとまり)が作成されます。これらのクラスは、メッセージをローカライズするためにローカライゼーション・ユーティリティによって使用されます。

-compile
現在のCLASSPATHを使用して生成されたJavaファイルをコンパイルします。生成されたクラスは、-dオプションで識別されるディレクトリに配置されます。生成されたクラスは、ソースと同じディレクトリに配置されます。

通常は、コンパイルの途中でエラーが検出されると、クラス・ファイルやプロパティ・ファイルが作成されません。i18ngenは異常な終了ステータスで終了します。

-nobuild
解析と有効性の検証のみを実行します。
-debug
デバッグ・モード。
-dates
weblogic.i18ngenに、カタログ内のメッセージ・タイムスタンプを更新させます。カタログが書込み可能でタイムスタンプが更新された場合、カタログは上書きされます。
filelist
このファイル・リストのファイルとディレクトリを処理します。ディレクトリが指定されている場合は、そのディレクトリのすべてのXMLファイルが処理されます。すべてのファイルの名前には、XMLの接尾辞が付いている必要があります。すべてのファイルはmsgcat.dtd構文に準拠している必要があります。weblogic.i18ngenは、実際に生成されたファイルに対して、完全修飾名リスト(Javaソース)をstdoutログに出力します。

weblogic.l10ngenユーティリティ

weblogic.l10ngenユーティリティは、ファイル・リストで指定されたメッセージ・カタログをローカライゼーションするためのプロパティ・リソースを生成します。ファイル・リストでは、翻訳されたカタログではなく、最上位カタログが識別されます。

同様に、ターゲット・ディレクトリ(-dオプション)は、デフォルトのローカライゼーションが置かれた同一のターゲット・ディレクトリを識別します。たとえば、デフォルト・カタログが$SRC\weblogic\msgcatにあり、生成されたリソースを$CLASSESDIRに置く場合、l10ngenを適切に呼び出すコマンドは次のようになります。

java weblogic.l10ngen -d $CLASSESDIR $SRC\weblogic\msgcat

このコマンドでは、定義されたすべてのロケールに対するローカライズされたリソースが、weblogic\msgcatサブディレクトリに生成されます。

構文

java weblogic.l10ngen [options] [filelist]

注意:

ユーティリティはどのディレクトリからでも実行できますが、ファイルがコマンド・ラインで指定される場合、ファイル・パスはカレント・ディレクトリに対する相対パスになります。

オプション

オプション 定義
-d target
プロパティを配置するディレクトリ。デフォルトはカレント・ディレクトリ。
-language code
言語コード。デフォルト値はallです。
-country code
国コード。デフォルト値はallです。
-variant code
バリアント・コード。デフォルト値はallです。
filelist
プロパティ・ファイルを生成するメッセージ・カタログを指定します。メッセージ・エディタで作成される最上位のカタログを指定する必要があります。メッセージ・ローカライザで作成される特定ロケールのカタログは指定しません。通常は、i18ngenコマンドで指定したものと同じソース・ファイルまたはソース・ディレクトリ。

メッセージ・カタログのローカライゼーション

カタログ・サブディレクトリの名前は、小文字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_MacModern_MACなど)。


注意:

言語、国、およびバリアントは、すべて大文字/小文字が区別されます。

完全修飾ロケールはzh\TW\WINのようになり、Win32プラットフォームでの繁体字中国語を識別します。

上記のロケールをサポートするメッセージ・カタログには、次のファイルが含まれます。

  • \*.xml - デフォルト・カタログ

  • \zh\*.xml - 中国語ローカライゼーション

  • \zh\TW\*.xml - 繁体字中国語ローカライゼーション

  • \zh\TW\WIN\*.xml - Win32コード・セットに対する繁体字中国語ローカライゼーション

特定のローカライゼーションは、親ローカライゼーションで定義されたすべてのメッセージに対応する必要はありません。

  1. すべてのロケールに対するローカライゼーション・プロパティを生成するには、次のコマンドを実行します。

    java weblogic.l10ngen -d $CLASSESEDIR catalogdirectory
    
  2. すべての繁体字中国語ロケールに対するローカライゼーション・プロパティを生成するには、次のコマンドを実行します。

    java weblogic.l10ngen -d $CLASSESEDIR -language zh -country TW catalogdirectory
    
  3. すべての中国語ロケールに対するローカライゼーション・プロパティを生成するには、次のコマンドを実行します。

    java weblogic.l10ngen -d $CLASSESEDIR -language zh catalogdirectory
    
  4. すべてのロケールでJMSカタログに対するローカライゼーション・プロパティを生成するには、次のコマンドを実行します。

    java weblogic.l10ngen -d $CLASSESEDIR catalogdirectory
    

    注意:

    例2は例3のサブセットです。すべての中国語(zh)には、任意の国指定(TWなど)およびバリアントが含まれます。

    weblogic.l10ngenは、ロケール識別子(言語、国、バリアント)を検証しません。


weblogic.GetMessageユーティリティ

weblogic.GetMessageユーティリティは、以前のバージョンのWebLogic Serverで提供されたCatInfoユーティリティにかわるユーティリティです。このユーティリティはメッセージ・コンテンツを表示しますが、インストールされたすべてのメッセージ、または一部のメッセージを一覧表示するためにも使用できます。デフォルト(オプションなし)では、weblogic.GetMessageは使用方法を出力します。

構文

java weblogic.GetMessage [options]

オプション


注意:

-verboseを除いて、すべてのオプションは1文字に短縮できます。

オプション 定義
-id nnnnnn
nnnnnnはメッセージIDを表します。

-idオプションは特定のメッセージを指定するために使用します。

-subsystem identifier
サブシステムの識別子。-subsystemオプションでは指定されたサブシステムに一致するメッセージだけが出力されます。
-nodetail
詳細でないリストをリクエストし、メッセージのメッセージ本文のみ出力されます。デフォルトでは、重大度、サブシステム、メッセージ詳細、原因、およびアクション情報などの詳細なリストが出力されます。
-verbose
詳細なリストをリクエストします。-verboseオプションを指定すると、パッケージ化、スタック・トレース・オプション、重大度、サブシステム、メッセージ詳細、原因、およびアクション情報も出力されます。
-lang code
使用する言語。たとえば、英語の場合はenです。
-country code
使用する国コード。たとえば、米国の場合はUSです。
-variant code
ロケールに対するバリアント識別子。
-help
ヘルプ情報を提供します。
-retired
リタイアされたすべてのメッセージをリストします。リタイアされたメッセージは、このオプションを使用しないと表示されません。メッセージのサブシステムおよびIDのみリストされます。

引数を指定しないと、weblogic.GetMessage-helpが指定された場合と同様に、使用方法が出力されます。