前で述べたように、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 にいれてしまうか、 国際化対応のクライアントのコンパイル時にこのコードを一緒にリンクさせるこ とで使用できます。