[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:14820] Re: OUTPUT_CHARSET はまだ必要 ?
From: Takashi Okamoto <toraneko@xxxxxxxxx>
Subject: [debian-devel:14819] Re: OUTPUT_CHARSET はまだ必要 ?
Date: Mon, 14 Jan 2002 22:15:22 +0900
> 上記の部分を、(例えば、cccp.c)下記のように書き換えるとか?
>
> #ifdef HAVE_LC_MESSAGES
> setlocale (LC_MESSAGES, "");
> #endif
> (void) bindtextdomain (PACKAGE, localedir);
> (void) textdomain (PACKAGE);
> + (void) bind_textdomain_codeset(PACKAGE, nl_langinfo(CODESET));
>
> # setlocale (LC_ALL,"") とかも必要かな...
上記の記述は、嘘でした。すみません。
ちょっと調べた感じでは、
gettext1.c
---
#include <locale.h>
int
main(int argc, char* argv[])
{
setlocale(LC_MESSAGES, "");
bindtextdomain("libc", "/usr/share/locale");
textdomain("libc");
printf("%s\n", gettext("Quit"));
}
---
$ gcc gettext1.c
$ export LANG=ja_JP.eucJP ./a.out
??
--
gettext2.c
---
#include <locale.h>
int
main(int argc, char* argv[])
{
setlocale(LC_MESSAGES, "");
setlocale(LC_CTYPE, ""); // ここ追加
bindtextdomain("libc", "/usr/share/locale");
textdomain("libc");
printf("%s\n", gettext("Quit"));
}
---
$ gcc gettext2.c
$ export LANG=ja_JP.eucJP ./a.out
終了
--
となるようです。で、gcc のディレクトリの LC_CTYPE と、LC_MESSAGES の対
応を調べると、
c-lex.c:241: setlocale (LC_CTYPE, "");
cccp.c:1303: setlocale (LC_CTYPE, "");
cccp.c:1249: setlocale (LC_MESSAGES, "");
collect2.c:1021: setlocale (LC_MESSAGES, "");
cppmain.c:56: setlocale (LC_MESSAGES, "");
gcc.c:4657: setlocale (LC_MESSAGES, "");
gcov.c:230: setlocale (LC_MESSAGES, "");
protoize.c:4562: setlocale (LC_MESSAGES, "");
toplev.c:4794: setlocale (LC_MESSAGES, "");
対応が取れていませんね。この辺りが原因でしょうか....
----
おかもとたかし