IlvMessageDatabase クラス
Rogue Wave Views には、多言語対応アプリケーションを操作する上で役立つ簡単なメカニズムが用意されています。このメカニズムはメッセージ・メカニズムと呼ばれ、
IlvMessageDatabase クラスに基づいています。
これは、1 つのメッセージに対するさまざまな翻訳文を格納するデータベースを使用します。現在の言語に応じて、適切なメッセージにアクセスします。
IlvDisplay クラスの各インスタンスは、独自のメッセージ・データベースを作成します。このデータベースでは、環境変数
ILVDB に与えたファイル名からデータベースの詳細を読み込みます。またこの変数が設定されていない場合は、
views .dbm から読み込みます。このファイルはディスプレイ・パスで検索されます。このデータベースは、
IlvDisplay::getDatabase メンバー関数を呼び出すことでアクセスできます。
それぞれの言語で表示させたい各文字列は、それぞれの翻訳文でデータベースに格納できます。すなわち、1 つのメッセージ識別子 が、使用する言語に従いそれぞれのメッセージ文字列に関連付けられます。言語はシンボル・オブジェクト (IlSymbol クラス) で指定します。以下は、サンプル・コードです。
IlvMessageDatabase database;
IlSymbol* en_US = IlGetSymbol("en_US);
IlSymbol* fr_FR = IlGetSymbol("fr_FR");
database.putMessage("&cancel", en_US, "Cancel");
database.putMessage("&cancel", fr_FR, "Annuler");
Rogue Wave Views 環境変数
ILVLANG を使用すると、現在の言語 (英語、フランス語、日本語など) を上書きできます。詳細については、
Rogue Wave Views のローカライズ・メッセージ・データベース を参照してください。
メモ: Rogue Wave Views は多言語対応アプリケーションをサポートしていませんが、互換性のあるエンコーディングを使用する場合は同じアプリケーションで多言語を使用できます。 |
Version 5.6
Copyright © 2012, Rogue Wave Software, Inc. All Rights Reserved.