Index: [Article Count Order] [Thread]

Date:  25 Jun 2004 19:21:22 +0900
From:  Ikeda Takuya <ikeda (at mark) hightech.co.jp>
Subject:  [coba-o:00686] Re: I DID IT !!!!
To:  Blue Quartz Mailing List <coba-o (at mark) open.cobaltqube.org>
Message-Id:  <1088158882.18877.79.camel (at mark) bq-test.localdomain>
In-Reply-To:  <1088195128.4252.20.camel (at mark) bq-test.localdomain>
References:  <1088114451.5472.20.camel (at mark) bq-test.localdomain>	 <20040624080549.GA22234 (at mark) mail.turbolinux.co.jp>	 <1088195128.4252.20.camel (at mark) bq-test.localdomain>
X-Mail-Count: 00686

こんにちは、ハイテックの池田です。

> > 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