共通デスクトップ環境 プログラマーズ・ガイド (ヘルプ・システム編)

第 14 章 母国語のサポート

この章では、ヘルプ・ボリュームを複数の言語で提供する場合に変更が必要なヘルプ・システムが使用するファイルを説明します。

国際化されたオンライン・ヘルプ

外国のユーザ向けの製品の場合、オンライン・ヘルプをユーザの母国語で提供することが大切です。ヘルプ・システムは、オンライン・ヘルプの記述と表示を実質的にどの言語でもサポートします。

実行時のヘルプ・ファイルを作成するためにヘルプ・ボリュームを処理する場合、ファイルの記述にどの言語および文字セットを使用したかをヘルプタグ・ソフトウェアに必ず指示しなければなりません。言語および文字セットの情報は、ヘルプ・ボリュームを表示するのに適切なフォントを決定するためにも使用されます。

国際化の要因

次節で説明するいくつかの要因は、オンライン・ヘルプをユーザの母国語で提供するのに役立ちます。

文字セットおよびマルチバイト文字

文字セットは、文字を認識するためのコンピュータの内部文字コードのマップ方法を決定します。ほとんどの言語は、1 つの文字セット全体を表すにはシングル・バイト文字で十分です。しかし、何千もの文字を使用する言語もあります。そのような言語は、1 つ 1 つの文字を一意に表すのに 2、3、4 バイトを必要とします。

ヘルプ・システムがサポートする文字セットを表 14-1 にリストします。しかし、すべてのプラットフォームに存在するわけではない文字セットもあります。

表 14-1 共通デスクトップ環境文字セット

言語 

文字セット名 

説明 

 

 

 

西ヨーロッパおよび南北アメリカ 

ISO-8859-1 

ISO ラテン 1 

 

HP-ROMAN8 

HP ローマン  

 

IBM-850 

PC 多国語 

 

 

 

中央ヨーロッパ 

ISO-8859-2 

ISO ラテン 2  

 

 

 

キリル文字 

ISO-8859-5 

ISO ラテン / キリル文字 

 

 

 

アラビア語 

ISO-8859-6 

ISO ラテン / アラビア語 

 

HP-ARABIC8 

HP アラビア語 8 

 

IBM-1046 

PC アラビア語 

 

 

 

ヘブライ語 

ISO-8859-8 

ISO ラテン / ヘブライ語 

 

HP-HEBREW8 

HP ヘブライ語 8 

 

IBM-856 

PC ヘブライ語 

 

 

 

ギリシャ語 

ISO-8859-7 

ISO ラテン / ギリシャ語 

 

HP GREEK8 

HP ギリシャ語 8 

 

 

 

トルコ語 

ISO-8859-9 

ISO ラテン 5  

 

HP-TURKISH8 

HP トルコ語 8 

 

 

 

日本語 

EUC-JP 

日本語 EUC (JIS X-0201, JIS X-0208, JIS X-0212) 

 

HP-SJIS 

HP 日本語 シフト JIS 

 

HP-KANA8 

HP 日本語 カタカナ 8 (JIS X-0201 1976) 

 

IBM-932 

PC 日本語 シフト JIS 

 

 

 

韓国語 

EUC-KR 

韓国語 EUC 

 

 

 

中国語 

EUC-CN 

簡体字 EUC (中華人民共和国) (GB2312) 

 

EUC-TW 

繁体字 EUC (台湾) (CNS 11643.*) 

 

HP-BIG5 

HP 繁体字 Big5 

 

HP-CCDC 

HP 繁体字 CCDC 

 

HP-15CN 

HP 繁体字 EUC 

 

 

 

タイ語 

TIS-620 

タイ語 

ヘルプタグ・ファイルを記述する際、どんなヘルプ・テキストにもマルチバイト文字を使用できます。しかし、ヘルプタグのマークアップ自体 (タグ名、エンティティ名、ID など) は、8 ビット文字で入力しなければなりません。

言語および地域名

言語を選択する場合は、文字セットと言語および地域名の両方を選択します。言語および地域名は、指定された国または地域に対して、通貨や日付の書き方などの違いを適用するために使用されます。

ヘルプ・システムがサポートする言語および地域名を表 14-2 にリストします。言語を選択する前に、ご使用のプラットフォームでサポートされる言語および文字セットを識別するために、システムに付属のマニュアルを参照してください。

表 14-2 ヘルプ・システムの言語および地域名

言語 

言語/地域 

言語 

地域 

標準 

 

 

 

 

 

 

POSIX 

 

西ヨーロッパ/南北アメリカ 

 

 

 

 

da_DK 

デンマーク語 

デンマーク 

 

de_AT 

ドイツ語 

オーストリア 

 

de_CH 

ドイツ語 

スイス 

 

de_DE 

ドイツ語 

ドイツ 

 

en_AU 

英語 

オーストラリア 

 

en_CA 

英語 

カナダ 

 

en_DK 

英語 

デンマーク 

 

en_GB 

英語 

イギリス 

 

en_IE 

英語 

アイルランド 

 

en_MY 

英語 

マレーシア 

 

en_NZ 

英語 

ニュージーランド 

 

en_US 

英語 

アメリカ 

 

es_AR 

スペイン語 

アルゼンチン 

 

es_BO 

スペイン語 

ボリビア 

 

es_CL 

スペイン語 

チリ 

 

es_CO 

スペイン語 

コロンビア 

 

es_CR 

スペイン語 

コスタリカ 

 

es_EC 

スペイン語 

エクアドル 

 

es_ES 

スペイン語 

スペイン 

 

es_GT 

スペイン語 

グアテマラ 

 

es_MX 

スペイン語 

メキシコ 

 

es_PE 

スペイン語 

ペルー 

 

es_UR 

スペイン語 

ウルグアイ 

 

es_VE 

スペイン語 

ベネズエラ 

 

et_EE 

エストニア語 

エストニア 

 

fi_FI 

フィンランド語 

フィンランド 

 

fo_FO 

フェロー語 

フェロー諸島 

 

fr_BE 

フランス語 

ベルギー 

 

fr_CA 

フランス語 

カナダ 

 

fr_CH 

フランス語 

スイス 

 

fr_FR 

フランス語 

フランス 

 

is_IS 

アイスランド語 

アイスランド 

 

it_CH 

イタリア語 

スイス 

 

it_IT 

イタリア語 

イタリア 

 

kl_GL 

グリーンランド語 

グリーンランド 

 

lt_LT 

リトアニア語 

リトアニア 

 

lv_LV 

ラトビア語 

ラトビア 

 

nl_BE 

オランダ語 

ベルギー 

 

nl_NL 

オランダ語 

オランダ 

 

no_NO 

ノルウェー語 

ノルウェー 

 

pt_BR 

ポルトガル語 

ブラジル 

 

pt_PT 

ポルトガル語 

ポルトガル 

 

sv_FI 

スウェーデン語 

フィンランド 

 

sv_SE 

スウェーデン語 

スウェーデン 

中央ヨーロッパ 

 

 

 

 

cs_CS 

チェコ語 

 

 

hr_HR 

クロアチア語 

クロアチア 

 

hu_HU 

ハンガリー語 

ハンガリー 

 

pl_PL 

ポーランド語 

ポーランド 

 

ro_RO 

ルーマニア語 

ルーマニア 

 

sh_YU 

セルボクロアチア語 

ユーゴスラビア 

 

si_CS 

スロベニア語 

 

 

si_SI 

スロベニア語 

 

 

sk_SK 

スロバキア語 

 

キリル文字 

 

 

 

 

bg_BG 

ブルガリア語 

ブルガリア 

 

mk_MK 

マケドニア語 

 

 

ru_RU 

ロシア語 

 

 

ru_SU 

ロシア語 

 

 

sp_YU 

セルビア語 

ユーゴスラビア 

アラビア語1

 

 

 

 

ar_SA 

アラビア語 

 

 

ar_AA 

アラビア語 

 

 

ar_DZ 

アラビア語 

 

 

 

 

 

ヘブライ語 

 

 

 

 

iw_IL 

ヘブライ語 

イスラエル 

ギリシャ語 

 

 

 

 

el_GR 

ギリシャ語 

ギリシャ 

トルコ語 

 

 

 

 

tr_TR 

トルコ語 

トルコ 

アジア 

 

 

 

 

ja_JP 

日本語 

日本 

 

ko_KR 

韓国語 

韓国 

 

zh_CN 

中国語 

中華人民共和国 

 

zh_TW 

中国語 

台湾 

タイ語 

 

 

 

 

th_TH 

タイ語 

タイ 

  1. 世界中でアラビア語を話す地域に対する ISO 地域名は存在しません。ベンダは、共通デスクトップ環境で使用するために採用した独自の地域名を供給してきました。

ロケールおよび文字セット

ヘルプ・ボリュームのデフォルトの言語および文字セットは、エンティティとして helplang.ent ファイルに定義できます。完全なロケール名を指定するには、次の形式を使用して、言語および地域名と文字セット名を組み合わせてください。

language-and-territory-name.character-set-name

helplang.ent ファイルについては、「helplang.ent ファイル」を参照してください。

ロケールが helplang.ent ファイルに指定されていない場合は、LANG 環境変数から値が引き出されます。

ヘルプタグ・ソフトウェア

実行時のヘルプ・ファイルを作成するためにヘルプ・ボリュームを処理する場合、ファイルの記述にどの言語および文字セットを使用したかをヘルプタグ・ソフトウェアに必ず指示しなければなりません。言語および文字セットの情報は、ヘルプ・トピックを表示するのに適切なフォントを決定するために使用されます。言語および文字セットを指定しない場合、ヘルプタグはデフォルト (英語および ISO-8859-1) を選択します。

言語および文字セットは helplang.ent ファイルに定義できます (詳細は、「helplang.ent ファイル」を参照してください)。また、文字セットは端末エミュレータで dthelptag を実行するときにオプションとしてコマンド行に指定できます。


注 -

ヘルプタグ・ファイルを記述する際、どんなヘルプ・テキストにもマルチバイト文字を使用できます。しかし、ヘルプタグ・マークアップ自体 (タグ名、エンティティ名、ID など) は、8 ビット文字で入力しなければなりません。


DtHelp メッセージ・カタログ

ヘルプ・ダイアログのメニュー、ボタン、ラベルもユーザの母国語で表示されるべきです。これを実現するために、ヘルプ・ダイアログはそれらの文字列を DtHelp.cat という名前のメッセージ・カタログから読み取ります。

メッセージ・カタログのソース・ファイル DtHelp.msg には、メニュー、ボタン、メッセージの文字列が指定されています。必要な言語が提供されていない場合は、サンプルのメッセージ・カタログ (/usr/dt/dthelp/nls/C/DtHelp.msg) を翻訳し、次に gencat コマンドで実行時のメッセージ・カタログ・ファイルを作成しなければなりません。手順については、「メッセージ・カタログを作成するには」を参照してください。

新規のメッセージ・カタログをインストールする正しいディレクトリを決定するには、システムに付属のマニュアルを参照してください。

LANG 環境変数

ユーザの LANG 環境変数は、次の 2 つの理由により重要です。

関連項目

helplang.ent ファイル

helplang.ent ファイルは、ヘルプ・ボリュームのデフォルトのロケールと文字セットを決定するために、ヘルプタグ・ソフトウェアが使用するテキスト・エンティティを定義します。ヘルプ・ボリュームの言語および文字セットの指定方法については、「ロケールおよび文字セット」を参照してください。

helplang.ent ファイルは、注、注意、警告などのデフォルト文字列のテキスト・エンティティも定義します。ヘルプタグ・ソフトウェアに組み込まれている英語の文字列を無効にしたい場合は、ファイルをコピーして文字列をローカライズしてください。ファイルはディレクトリ /usr/dt/dthelp/dthelptag にあります。

helplang.ent ファイルからの抜粋を次に示します。

<!ENTITY LanguageElementDefaultLocale          SDATA "C.ISO-8859-1">
<!ENTITY NoteElementDefaultHeadingString       SDATA "NOTE">
<!ENTITY CautionElementDefaultHeadingString    SDATA "CAUTION">
<!ENTITY WarningElementDefaultHeadingString    SDATA "WARNING">
<!ENTITY ChapterElementDefaultHeadingString    SDATA "Chapter">
<!ENTITY FigureElementDefaultHeadingString     SDATA "Figure">
<!ENTITY GlossaryElementDefaultHeadingString   SDATA "Glossary">
 .
 .
 .

フォーマット・テーブル

日本語や中国語などのマルチバイト言語には、フォーマット・テーブルが必要です。フォーマット・テーブルは、行頭にできない文字と行末にできない文字のリストを提供します。ヘルプ・ファイルが処理されるときに、フォーマット・テーブルは行が確実に正しく折り返すようにします。「フォーマット・テーブルの作成」で、新規テーブルの作成方法と、ヘルプ開発者用キットで提供されるサンプル・テーブルの編集方法を説明しています。

フォント・スキーマ

ヘルプタグ・ソフトウェアの主な機能の 1 つは、マークアップされたファイルを、ヘルプ・システムが解釈できる実行時の形式に変換することです。テキストは、型ファミリ、サイズ、傾斜、線の太さなどの特定の属性を指定してフォーマットされています。フォント・スキーマは、別名のように、ヘルプ・システムがヘッダ、プロシージャ、リストなどのヘルプタグ要素にフォントを割り当てるために使う単なる名前です。フォント・スキーマにより、ヘルプ・システムが使用する一かたまりのテキスト属性を特定のフォントにマップできます。

標準の共通デスクトップ環境フォントを使用するアプリケーションは、追加のフォント・リソースを定義する必要はありません。それ以外のフォント・セットにアプリケーションが依存する場合は、そのアプリケーション用にフォント・スキーマを作成して追加しなければなりません。

関連項目

フォント・スキーマの理解

ヘルプタグ・マークアップ言語を使用してヘルプ・ボリュームを記述する場合は、テキストのフォントおよびサイズは指定しません。ヘルプタグ・ソフトウェアを起動すると、入力した要素が、テキスト属性を含む実行時のヘルプ・ファイルにフォーマットされます。

フォント・スキーマは、テキスト属性を実際のフォント指定にマップします。たとえば、ヘルプ・トピックがボールドの sans serif (サンセリフ) フォントを使用してフォーマットされている場合、フォント・スキーマは、どの共通デスクトップ環境標準フォントまたは X フォントが実際にテキスト表示に使用されているかを識別します。

フォント・スキーマを使用する主な目的は、フォント・サイズの選択肢を提供することです。ヘルプタグ・ソフトウェアはほとんどのトピックの本文を 10 ポイントにフォーマットします。しかし、実際に表示されるフォントは使用されているフォント・スキーマが決定するため、10 ポイントのテキストはすべて 14 ポイント・フォントを使用するよう指定されます。

フォント・リソース

各フォント・スキーマは、実際は X リソースのセットです。X リソースは、ヘルプを表示しているアプリケーションによって読み取られます。フォント・スキーマを変更したい場合は、フォント・リソースをアプリケーションのデフォルトのリソース・ファイルに設定できます。

フォント・スキーマ内の各リソースの一般的な形式は次のとおりです。

*pitch.size.slant.weight.style.lang.char-set: font specification

pitch

文字間の水平方向の間隔を指定します。このフィールドは、p (プロポーショナル) か m (モノスペース) のいずれかです。

size

希望するフォントの高さを指定します。ヘルプタグでフォーマットされたヘルプ・ファイルは、この値は 68101214 のいずれかです。

slant

希望するフォントの傾斜を指定します。このフィールドは通常、垂直な文字なら roman、傾斜した文字なら italic のいずれかになります。

weight

希望するフォントの線の太さを指定します。このフィールドは通常、mediumbold のいずれかです。

style

希望するフォントの一般的なスタイルを指定します。ヘルプタグでフォーマットされたヘルプ・ファイルのこの値は serifsans_serif のいずれかです。

lang

この言語を使用してコンパイルされたボリュームが、これらのフォントを使用するように指定します。通常、指定された char_set を使用するすべてのボリュームがこれらのフォントを使用するように、* (アスタリスク) をエントリに使用します。

char-set

ヘルプ・テキストの記述に使用する文字セットを指定します。この値は、ヘルプタグを実行したときに指定した文字セットと一致しなければなりません。デフォルトは ISO-8859-1 です。一部の特殊文字は symbol 文字セットを使用して表示されます。

* (アスタリスク) を使用すると、特定の属性のすべての値を持つフォントを指定できます。たとえば、記号セット (特殊文字と特殊記号) はサイズと文字セットのみに基づいて一意のフォントを識別します。

フォント・リソースはフォント・スキーマ内で次のように表示されます。

*.6.*.*.*.*.DT-SYMBOL-1:
    -adobe-symbol-medium-r-normal-*-*-60-*-*-p-*-adobe-fontspecific
*.8.*.*.*.*.DT-SYMBOL-1:
    -adobe-symbol-medium-r-normal-*-*-80-*-*-p-*-adobe-fontspecific 
*.10.*.*.*.*.DT-SYMBOL-1:
   -adobe-symbol-medium-r-normal-*-*-100-*-*-p-*-adobe-fontspecific 
*.12.*.*.*.*.DT-SYMBOL-1:
   -adobe-symbol-medium-r-normal-*-*-120-*-*-p-*-adobe-fontspecific 
*.14.*.*.*.*.DT-SYMBOL-1:
   -adobe-symbol-medium-r-normal-*-*-140-*-*-p-*-adobe-fontspecific

[char-set] フィールドは * (アスタリスク) を使用できない唯一のフィールドです。

日本語や韓国語などのマルチバイト言語を表示するには、フォント・セットを使用してフォント・リソースを指定しなければなりません。フォント・セットは、実際にはフォントのグループです。フォント・セットのリソース・エントリは、複数のフォント名が , (カンマ) で区切られ、指定が : (コロン) で終了する点を除き、単一のフォントと同様です。次の例は、日本語フォント・セット用の完全に指定したフォント・リソースです。

bridge-gothic-medium-r-normal--18-180-75-75-c-80-jisx0201.1976-0,
bridge-gothic-medium-r-normal--18-180-75-75-c-160-jisx0208.1983-0,
bridge-gothic-medium-r-normal--18-180-75-75-c-160-jisx0212.1990-0: 

マルチバイト言語のフォントを指定するには、最小限の XLFD フォント指定を提供し、システムがフォント・セットを生成するために文字セットの値を指定できるようにすることも可能です。

*.12.roman.medium.*.ja_JP.EUC-JP: -*-*-*-*-*-*-*-120-*-*-*-*-*-*:

フォント・セットを指定するときには、必ず指定を : (コロン) で終了してください。これにより、ヘルプ・システムは情報を表示するためのフォント・セットをロードします。フォント・セットはマルチバイト言語の表示に使用されます。シングルバイト情報を持つボリュームについては、標準フォント指定を使用してください。

フォント・スキーマの例

/usr/dt/dthelp/fontschemes ディレクトリには次の 4 つのフォント・スキーマが格納されています。

fontDef.fns

ヘルプ・システムが使用するデフォルト・フォント

fontLarge.fns

大きなフォントの例

fontMulti.fns

マルチバイト・フォントの例

fontX11.fns

X11 フォントの例

フォント・スキーマを選択するには

    オンライン・ヘルプを表示するアプリケーション用のデフォルトのリソース・ファイルを編集します。(もしあれば) 現在のフォント・リソースを新規スキーマに置換します。

自分だけのためにこの変更を行う場合は、デフォルトのリソース・ファイルを自分のホーム・ディレクトリにコピーしてから編集を行なってください。

DtStopWatch という名前の個人用アプリケーションの大きいサイズのフォントを (ヘルプ・ダイアログで) 使用するには、次の手順を実行します。

ホーム・ディレクトリへ移動します。

cd

次に、アプリケーションのデフォルトのリソース・ファイル DtStopWatch をコピーし、書き込み可能にします。

cp /usr/dt/app-defaults/C/DtStopWatch .
chmod u+w DtStopWatch

最大のスキーマ (fontLarge.fns) を追加するよう DtStopWatch ファイルを編集します。ファイルの最後に次のファイルの内容を挿入します。

/usr/dt/dthelp/fontschemes/fontLarge.fns

新しい DtStopWatch ファイルを保存します。

DtStopWatch アプリケーションを起動し、[ヘルプ] を選択し、ヘルプ・トピックが新しいフォント・スキーマを使用して表示されるかを確認します。

フォーマット・テーブルの作成

日本語や中国語などのマルチバイト言語にはフォーマット・テーブルが必要です。フォーマット・テーブルには 3 つのメッセージ・セットが含まれています。1 番目のセットは行頭にできない文字から成ります。2 番目のセットは行末にできない文字をリストしています。3 番目のセットは、シングルバイト文字とマルチバイト文字の間に発生する改行文字の処理方法を示しています。

フォーマット・テーブルは ASCII ファイルで、ファイル名は必ず拡張子 .msg が付きます。図 14-1 は中国語 (簡体字) 用のフォーマット・テーブルからの抜粋です。

図 14-1 フォーマット・テーブルの例

Graphic

$ (ドル記号) と 1 つの空白で始まる行はすべてコメントです。

フォーマット・テーブルの例

マルチバイト文字セット用のフォーマット・テーブルの例は /usr/dt/dthelp/nls/zh_CN.dt-eucCN ディレクトリにあり、名前は fmt_tbl.msg です。

テーブルの例は文字を追加したり削除したりして変更できます。フォーマット・テーブルを編集するには、ヘルプ情報用に選択した言語の文字を構成できるエディタを使用してください。マルチバイト言語でヘルプ情報を作成したい場合は、フォーマット・テーブルを作成する必要があります。

メッセージ・カタログを作成するには

DtHelp.msg ファイルを翻訳したり、新しいフォーマット・テーブルを作成したり、テーブルの例 (fmt_tbl.msg) を変更したりした場合は、ヘルプ・システムが使用するメッセージ・カタログを必ず更新してください。

    カタログ・ファイルを生成するには、次のコマンド構文を使用します。

gencat file.cat file.msg

標準デスクトップ・アプリケーションのメッセージ・カタログは /usr/dt/lib/nls/msg/lang ディレクトリに位置します。メッセージ・カタログをインストールするには、ご使用のオペレーティング・システムのマニュアルを参照してください。

関連項目

ローカライズされたヘルプ・ボリュームの表示

現在のシステムとは異なるロケールのために作成されたヘルプ・ボリュームを表示するには、そのヘルプ・ボリュームに合うように LANG 環境変数を設定しなければなりません。LANG 環境変数の値はプラットフォーム固有です。この変数がよくわからない場合は、環境を設定するための正しい値およびプロシージャをシステム管理者に確認してください。

オンライン・ヘルプの国際化対応の確認事項

オンライン・ヘルプを外国のユーザに提供する場合に確認すべき事項を次のチェックリストにまとめます。

関連項目