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

Xlib メッセージおよびリソース機能

システム環境の国際化対応の一部であるツールキット・ベースのアプリケーションは、アプリケーションのソースの中にハードコードされたロケール固有のデータを持っていません。ロケール固有の共通項目は、標準 I/O のアプリケーションによって返される (エラーおよび警告) メッセージです。

一般に、システム環境ツールキット・ウィジェットまたはガジェットを介してユーザに表示されるすべてのエラー・メッセージおよび警告メッセージについては、メッセージ・カタログを介してメッセージをアプリケーションの外側に置いてください。

ツールキット・コンポーネントを介して表示されるダイアログ・メッセージについては、ローカライズされたリソース・ファイルを介してメッセージをアプリケーションの外側に置いてください。この方法は、XmLabelXmPushButton クラスの XmNlabelString リソースやウィンドウのタイトルなどのリソースのローカライズと同じです。

たとえば、警告メッセージが XmMessageBox ウィジェット・クラスを介して表示される場合、XmNmessageString リソースはアプリケーションのソースコード内でハードコードできません。その代わりに、このリソースの値はメッセージ・カタログから取り出さなければなりません。異なる複数のロケールで実行される国際化対応のアプリケーションの場合は、サポートされる各ロケールに対してローカライズされた別個のカタログが存在しなければなりません。このようにすれば、アプリケーションは再構築する必要はありません。

ローカライズされたリソース・ファイルは /usr/lib/X11/%L/app-defaults サブディレクトリに入るか、または XENVIRONMENT 環境変数によって指定されます。%L 変数は、実行時に使用されるロケール名に置換されます。