こんにちは、ハイテックの池田です。
> > gettext*/src/write-po.c:message_list_print() でキャラクタセット名を抽
> > 出していますので、このへんをホゲって、コマンドラインオプションや環境変
> > 数で上書きできるようにすると便利だろうなと思います。
> なるほど!
> これなら、私でも何とか出来そうな気がします。
> ちょっと見てみます。
なんとかなりました!
おっしゃった通り、write-po.cにキャラクタセットを指定している部分がありましたので、
それをちょっとだけいじって、環境変数があれば、そちらを優先して
デフォルト設定にするように、コードを追加しました。
ただ、message_line_print()は、私が取得したgettext-0.14には、なかったので、
msgdomain_list_print_po()に記述することで解決しました。
具体的には、下記のように対処しました。
私の、稚拙なコードで申訳在りませんが、
もしどなたかの参考になればとおもい、載せておきます。
static void
msgdomain_list_print_po (msgdomain_list_ty *mdlp, FILE *fp, bool debug)
{
〜中略〜
/* Extract the charset name. */
charset = "ASCII";
/* ADD ***************************/
if( getenv("MSG_ENC_TYPE") )
{
charset = getenv("MSG_ENC_TYPE");
}
/*********************************/
〜中略〜
}
あまりデバッグしてないので、オールマイティな対処方ではないかもしれませんが、
これで、BlueQuartzにあるmoファイルは、無事poファイルにすることができました。
ちなみに、 $MSG_ENC_TYPE は ja_JP.eucJP でうまくいきました。
Kiichiroさんをはじめ、御返事いただいた方々ほんとうに有難う御座いました。
また、何かあれば、よろしくおねがいいたします。
また、私の一部のメールのタイムゾーン設定が原因で、
メールの日付が不正確になっていました。
日付順にソートすると、順番がくるってしまうとおもいます。
ご迷惑をおかけして、申訳在りませんでした。
また、ご指摘いただいた渋谷さん、ありがとうございました。
-+-+-+-+-+
Ikeda Takuya
ikeda (at mark) hightech.co.jp