ナビゲーションをスキップ

インターナショナライゼーション ガイド

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

BEA WebLogic Server インターナショナライゼーション ユーティリティの使い方

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

 


WebLogic Server インターナショナライゼーション ユーティリティ

WebLogic Server では、以下の 3 つのインターナショナライゼーション ユーティリティが用意されています。

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

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

 


WebLogic Server インターナショナライゼーションおよびローカライゼーション

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 ユーティリティ

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]

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

オプション


 


 


 


 


 


 

オプション

定義

-build

必要なすべてのファイルを生成し、コンパイルする。

-build オプションは、-i18n、-l10n、-keepgenerated、および -compile オプションを兼ね備える。

-d targetdirectory

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

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

-n

解析し、有効性を検証するが、クラスは生成しない。

-keepgenerated

生成された Java ソース (クラス ファイルと同じディレクトリに存在) を保持する。

-ignore

エラーを無視する。

-i18n

インターナショナライザ (Loggers および TextFormatters など) を生成する。

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

-l10n

Localizer (LogLocalizers および TextLocalizers など) を生成する。

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

-compile

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

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

-nobuild

解析と有効性の検証のみを実行する。

-debug

デバッグ モード。

-dates

weblogic.i18ngen に、カタログ内のメッセージ タイムスタンプを更新させる。カタログが書き込み可能でタイムスタンプが更新された場合、カタログは上書きされる。

files

このファイル リストのファイルとディレクトリを処理する。ディレクトリが指定されている場合は、そのディレクトリのすべての XML ファイルが処理される。すべてのファイルの名前には、XML のサフィックスが付いている必要がある。すべてのファイルは msgcat.dtd 構文に準拠している必要がある。weblogic.i18ngen は、実際に生成されたファイルに対して、完全修飾名リスト (Java ソース) を stdout ログに出力する。


 

 


weblogic.l10ngen ユーティリティ

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]

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

オプション

オプション

定義

-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_Mac と Modern_MAC など)。

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

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

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

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

  1. すべてのロケールに対するローカライゼーション プロパティを生成するには、次のコマンドを実行します。
  2. java weblogic.i18ntools.l10ngen -d $CLASSESEDIR catalogdirectory
  3. すべての繁体字中国語ロケールに対するローカライゼーション プロパティを生成するには、次のコマンドを実行します。
  4. java weblogic.i18ntools.l10ngen -d $CLASSESEDIR -language zh -country TW catalogdirectory
  5. すべての中国語ロケールに対するローカライゼーション プロパティを生成するには、次のコマンドを実行します。
  6. java weblogic.i18ntools.l10ngen -d $CLASSESEDIR -language zh catalogdirectory
  7. すべてのロケールで JMS カタログに対するローカライゼーション プロパティを生成するには、次のコマンドを実行します。
  8. java weblogic.i18ntools.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 が指定された場合と同様に、使用方法が出力されます。

 

フッタのナビゲーションのスキップ  ページの先頭 前 次