Foundation > 国際化 > Rogue Wave Views のローカライズ・メッセージ・データベース > .dbm ファイル形式
 
.dbm ファイル形式
.dbm 形式では、サポートされている言語それぞれのファイルは別々のディレクトリーにあり、それぞれのエンコード方式を使用して多言語を処理します。
.dbm ファイルは以下の形式になっています。
// IlvMessageDatabase ...
// Language:<ll_TT>
// Encoding:<encoding>
“&message” “message translation...”
最初の行は Rogue Wave® Views のバージョン、作成日、および IlvMessageDatabase に関する情報です。
言語は Rogue Wave Views の ll_TT 命名規則を使用して表示されています。ここで、ll は言語名の 2 文字略語で、TT は地域名の 2 文字略語です。
エンコード方式は、Rogue Wave Views でサポートされているものでなければなりません。サポートされているエンコード方式のリストについては、リファレンス:エンコーディング・リスト を参照してください。
以下の例は、フランス語のメッセージ・データベース・ファイルの一部です。
// IlvMessageDatabase
// Language:fr_FR
// Encoding:ISO-8859-1
"&AlignmentLabelPicture" "Alignement texte / image"
"&Appearance" "Apparence"
"&April" "avril"
.dbm ファイルをローカル言語に翻訳する場合、ファイルが .dbm 形式であることを確認してください。
メモ: アメリカ英語のローカライズ・データベース・メッセージ・ファイルに関しては、以下に従うようにしてください。ファイルの locale ディレクトリーに en_US.US-ASCII サブディレクトリーを作成しないでください。ファイルをデータ・ディレクトリーに直接配置してください。たとえば、views.dbm<$ILVHOME>/data/ilviews/ に置きます。アメリカ英語用に使用するエンコーディングが US-ASCII ではない場合でも、以下の例のようにファイルの内容を設定してください。これは US-ASCII がもっとも弱いエンコーディングであり、Rogue Wave Views がサポートするその他のエンコーディングによって読む込めるためです。
 
// IlvMessageDatabase
// Language:en_US
// Encoding:US-ASCII
"&AlignmentLabelPicture" "Alignment text / picture"
"&Appearance" "Appearance"
"&April" "April"
 
バージョン 3.0 以前の .dbm ファイル形式
Rogue Wave Views バージョン 3.0 は、.dbm ファイル形式に互換性のないさまざまなエンコード方式を使用するさまざまな言語をサポートするように改良されました。バージョン 3.0 以前の .dbm ファイル形式では、メッセージ・データベースにサポートされている各言語に対応するメッセージの翻訳が含まれていました。すなわち、サポートされているすべての言語の翻訳が同じデータベースにありました。旧 .dbm 形式のファイルは、Rogue Wave Views 3.0 以降を使用して読み込み可能ですが、新しいファイルは新しい形式で生成されます。
データベース・ファイルが旧 .dbm 形式である場合、サポートされている言語ごとに、データベースをいくつかのファイルに分けることをお勧めします。これで管理が簡単になるだけでなく、エンコーディングの非互換性を避けることができます。
旧形式のデータベース・ファイルを分割するには、次のプログラムを使用します。
$ILVHOME/bin/src/splitdbm.cpp
このプログラムは .dbm ファイルでさまざまな言語を検索するだけでなく、各言語の新しい言語名 (Rogue Wave Views 命名規則ll_TT の使用を推奨)、エンコード方式 (選択されたエンコード方式は現在のものと互換性がなければなりません)、新しい形式のファイル名を提案します。
メモ:  splitdbm プログラムはもっとも強力なエンコーディングを使用して実行してください。もっとも強力なエンコーディングとは、他を含むものです。たとえば、英語 (US-ASCII) および日本語 (Shift_JIS) を含むファイルを分割したい場合、日本語ロケールを使用して splitdbm を実行してください。Shift_JIS は US-ASCII を含みますが、逆は成立しません。したがって、Shift_JIS がもっとも強力なエンコーディングとなり、プログラムの実行に使用することになります。
メモ: アメリカ英語のメッセージを含むファイルを分割する場合、以下に従うようにしてください。splitdbm が情報の入力を促したら、US-ASCII エンコーディングを選択し、ローカライズされたファイルを locale サブディレクトリーではなくデータ・ディレクトリーに格納してください。
この例は、データベース・メッセージ・ファイルの分割方法を示しています。
次の your_data_dir/testall.dbm ファイルには、アメリカ英語、フランス語、イタリア語の 3 言語のメッセージ・テキストが含まれています。
// IlvMessageDatabase 3 Web Jun 3 11:50:35 1998
"&Hello" 3
"en_US" "Hello"
"fr_FR" "Bonjour"
"it_IT" "Buongi?rno"
"&Goodbye" 3
"en_US" "Goodbye"
"fr_FR" "Au revoir"
"it_IT" "Ciao"
このファイルの各言語ごとに 3 つのファイルに分割するには、フランス語またはイタリア語ロケールで splitdbm プログラムを実行する必要があります。プログラムの実行時に、プログラムの終了に必要な情報の入力を促されます。実行が終了すると、言語ごとのメッセージを含む 3 つのファイルが作成されます。UNIX システムの場合、結果としてできるファイルは次のようになります。
your_data_dir/test.dbm
locale/fr_FR.ISO-8859-1/test.dbm
locale/it_IT.ISO-8859-1/test.dbm
各ファイルの内容は、次のようになります。
// IlvMessageDatabase
// Language:en_US
// Encoding:US-ASCII
"&Goodbye" "Goodbye"
"&Hello" "Hello"
 
// IlvMessageDatabase
// Language:fr_FR
// Encoding:ISO-8859-1
"&Goodbye" "Au revoir"
"&Hello" "Bonjour"
 
// IlvMessageDatabase
// Language:it_IT
// Encoding:ISO-8859-1
"&Goodbye" "Ciao"
"&Hello" "BuongiÞrno"
.dbm ファイルのエンコーディングの互換性
Rogue Wave Views アプリケーションは、システム環境と互換性のあるエンコーディングを使用して作成された .dbm ファイルのみを読み込みます。同じ文字セットを共有する場合、エンコーディングには互換性があります。エンコーディング情報を含まない旧形式の .dbm を読み込む場合、これらのファイルは現在のロケールのエンコーディングとなっています。そうでない場合、情報は不適切に読み込まれるか、または全体が読み込まれない場合があります。

Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.