前で述べたように、X11R6 の国際化において、システムのロケール関数で 使用されているものは、setlocale だけで、これはチェックの目的で利用 されています。
そこで、裏技的になってしまいますが、LANG に設定した locale を常に 受け付けるダミーの setlocale を作成して組み込むことによって X の国際化機能を 利用します。
ダミーの例: dmysetlocale.c
#include <stdlib.h> #include <string.h> char *setlocale(int cat,const char *locale) { static char name[100]="C"; if(locale) if(!*locale) strcpy(name,getenv("LANG")); else strcpy(name,locale); return name; }していることは単純で、
この関数をシステムの setlocale の変わりに libc にいれてしまうか、 国際化対応のクライアントのコンパイル時にこのコードを一緒にリンクさせるこ とで使用できます。