タイトルを設定する一般的な方法は、リソースを使用することです。しかしアプリケーションが直接ウィンドウのタイトルを設定する場合は、ローカライズされたタイトルをウィンドウ・マネージャに送信しなければなりません。次のガイドラインの他に、XICCEncodingStyle() に定義された XCompundTextStyle() エンコーディングを使用してください。
コンパウンド・テキストは、XmbTextListToTextProperty() か XwcTextListToTextProperty() のいずれかで作成できます。
ローカライズされたタイトルは、WMShell() ウィジェットの XmNtitle() リソースと XmNtitleEncoding() リソースを使用して表示できます。ローカライズされたアイコン名は、TopLevelShell() ウィジェットの XmNiconName() リソースか XmNiconNameEncoding() リソースを使用して表示できます。
ダイアログ・ボックスのローカライズされたタイトルは、XmBulletinBoard() ウィジェットの XmNdialogTitle() リソースを使用して表示できます。
ウィンドウ・マネージャは、ローカライズされた文字列を表示するのに適切なフォント・リストを持っていなければなりません。
次の例は、ローカライズされたタイトルとアイコン名を表示します。この例ではコンパウンド・ストリングからコンパウンド・テキストが作成されます。
#include       <nl_types.h>
Widget         toplevel;  
Arg            al[10];  
int            ac;  
XTextProperty  title;  
char           *localized_string;  
nl_catd        fd;   
XtSetLanguageProc( NULL, NULL, NULL );  
fd = catopen( "my_prog", 0 );  
localized_string = catgets(fd, set_num, mes_num, "defaulttitle");  
XmbTextListToTextProperty( XtDisplay(toplevel), &localized_string,
       1, XCompoundTextStyle, &title);
ac = 0;  
XtSetArg(al[ac], XmNtitle, title.value); ac++;  
XtSetArg(al[ac], XmNtitleEncoding, title.encoding); ac++;  
XtSetValues(toplevel, al, ac);
ウィジェットでなくウィンドウを使用している場合は、XmbSetWMProperties() 関数がローカライズされた文字列を適切な XICCEncodingStyle に自動的に変換します。