共通デスクトップ環境 プログラマーズ・ガイド (国際化対応編)

ラベルおよびボタン

表 2-3 に、ラベルとして使用されるローカライズできるリソースを示します。多くは XmString 型です。その他の型は color か char* です。これらのリソースの詳しい説明は、『Motif 1.2 Reference Manual』を参照してください。どんな場合でも、アプリケーションはこれらのリソースをハードコードしてはいけません。リソース値がアプリケーションによって指定されなければならない場合は、app-defaults ファイルで指定してください。それにより、そのリソースがローカライズできることが保証されます。

ここにはウィジェット・クラス・リソースのみを示し、それらのウィジェットのサブクラスは示していません。たとえば、XmDrawnButton ウィジェット・クラスは、ローカライズされた新しいリソースを使えるようにしませんが、このウィジェットは XmLabelWidget ウィジェット・クラスのサブクラスです。したがって、そのアクセラレータ・リソース、acceleratorText リソースその他が同様にローカライズされ、アプリケーションによるハードコードはできません。

表 2-3 ローカライズできるリソース

ウィジェット・クラス 

リソース名 

Core

*background: 1

XmCommand

*command:

XmCommand

*promptString:

XmFileSelectionBox

*dirListLabelString:

XmFileSelectionBox

*fileListLabelString:

XmFileSelectionBox

*filterLabelString:

XmFileSelectionBox

*noMatchString:

XmLabel[Gadget]

*accelerator:

XmLabel[Gadget]

*acceleratorText:

XmLabel[Gadget]

*labelString:

XmLabel[Gadget]

*mnemonic:

XmList

*stringDirection:

XmManager

*stringDirection:

XmMessageBox

*cancelLabelString:

XmMessageBox

*helpLabelString:

XmMessageBox

*messageString:

XmMessageBox

*okLabelString:

XmPrimitive

*foreground: 1

XmRowColumn

*labelString:

XmRowColumn

*menuAccelerator:

XmRowColumn

*mnemonic:

XmRowColumn(SimpleMenu*)

*buttonAccelerators:

XmRowColumn

*mnemonic:

XmRowColumn

*mnemonic:

XmRowColumn

*mnemonic:

XmRowColumn

*mnemonic:

XmSelectionBox

*applyLabelString:

XmSelectionBox

*cancelLabelString:

XmSelectionBox

*helpLabelString:

XmSelectionBox

*listLabelString:

XmSelectionBox

*okLabelString:

XmSelectionBox

*selectionLabelString:

XmSelectionBox

*textAccelerators:

  1. カラー名はポータブル文字セットに限定するという X プロトコルの制限により、フォアグラウンド・カラーおよびバックグラウンド・カラーはローカライズされません。ローカライズされたカラー名の提供方法は、アプリケーションにゆだねられ、ポータブル文字セットでエンコードされた名前にマップするためにローカライズされたデータベースを提供するべきです。

XmRowColumn ウィジェットには、別のローカライズ可能な文字列リソースがあります。それらのリソースは XmRowColumn のマニュアル・ページの、「シンプル・メニュー作成リソース・セット」の見出しの下で確認できます。このタイトルが示すように、これらのリソースは XmCreateSimpleMenu() 関数で作成された RowColumn ウィジェットにしか影響を与えません。影響を受けるリソースは次のとおりです。

*buttonAccelerator*buttonAcceleratorText*buttonMnemonics*optionLabel*optionMnemonic

これらのリソースはほとんど使用されず、またシンプル・メニューの作成時のみ RowColumn に適用されるので、表 2-3 には入っていません。