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

ウィンドウ・タイトル

タイトルを設定する一般的な方法は、リソースを使用することです。しかしアプリケーションが直接ウィンドウのタイトルを設定する場合は、ローカライズされたタイトルをウィンドウ・マネージャに送信しなければなりません。次のガイドラインの他に、XICCEncodingStyle() に定義された XCompundTextStyle() エンコーディングを使用してください。

次の例は、ローカライズされたタイトルとアイコン名を表示します。この例ではコンパウンド・ストリングからコンパウンド・テキストが作成されます。

#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 に自動的に変換します。