表 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: |
カラー名はポータブル文字セットに限定するという X プロトコルの制限により、フォアグラウンド・カラーおよびバックグラウンド・カラーはローカライズされません。ローカライズされたカラー名の提供方法は、アプリケーションにゆだねられ、ポータブル文字セットでエンコードされた名前にマップするためにローカライズされたデータベースを提供するべきです。
XmRowColumn ウィジェットには、別のローカライズ可能な文字列リソースがあります。それらのリソースは XmRowColumn のマニュアル・ページの、「シンプル・メニュー作成リソース・セット」の見出しの所にリストされています。このタイトルが示すように、これらのリソースは XmCreateSimpleMenu() 関数で作成された RowColumn ウィジェットにしか影響を与えません。影響を受けるリソースは次のとおりです。
*buttonAccelerator、*buttonAcceleratorText、*buttonMnemonics、 *optionLabel、*optionMnemonic
これらのリソースはほとんど使用されず、またシンプル・メニューの作成時のみ RowColumn に適用されるので、表 2-3 には入っていません。