[Namazu-users-ja 516] Re: Namazuの検索結果を日本語にしたいのですが。

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2005年 9月 9日 (金) 16:59:13 JST


寺西です。

seijun86 @ yahoo.co.jp wrote:
> 
> > /cgi-bin/namazu2.cgi を次のようにした場合は、日本語メッセージに
> > なることを期待しますが、どうでしょう。
> >
> > #!/usr/bin/perl
> >
> > delete $ENV{'LC_ALL'};
> > $ENV{'LANG'} = "ja_JP.eucjp";
> > delete $ENV{'LC_MESSAGES'};
> > delete $ENV{'LANGUAGE'};
> > system("/usr/local/lib/namazu.cgi");
> 上記は検索件数(ヒット件数)の表示は日本語でした。

ということは、gettext はきちんと LANG を見ています。

> > それと、よろしければコンパイル時の config.h と config.log,
> > .namazurc (できれば加工していないもの)を tar でまとめて私のメール
> > アドレスにお送りください。

config.h を見たところ、

#define ENABLE_NLS 1
#define HAVE_SETENV 1
#define HAVE_SETLOCALE 1
#define HAVE_PUTENV 1

となっており、setenv, setlocale 等も問題ないようです。

> > あとは、namazu -C の実行結果と、またまたですが
> =====================================================
> $ namazu -C
> 読み込んだ設定ファイル: /usr/local/etc/namazu/namazurc

あれ?
デフォルトのインストールでは /usr/local/etc/namazu/namazurc は
インストールしませんが、このファイルはどうやって作りましたか?

インストール前に古い Namazu がインストールされていたということ
はありませんか?

> > /cgi-bin/namazu2.cgi を次の内容にした場合の結果をお知らせください。
> > (NAMAZUNORC が追加されています。)
> >
> > #!/usr/bin/perl
> >
> > delete $ENV{'LC_ALL'};
> > delete $ENV{'LANG'};
> > delete $ENV{'LC_MESSAGES'};
> > delete $ENV{'LANGUAGE'};
> > $ENV{'NAMAZUNORC'} = "all";
> > system("/var/www/cgi-bin/namazu.cgi");
> 上記は、英語でした。

これが英語である理由がわかりません。謎です。

/usr/local/etc/namazu/namazurc の Lang が ja になっていれば、
何となく今までの問題の理由に説明が付くのですが、これが英語になる
理由につながりません。
namazu.cgi のバージョンが古くて、2.0.12 以前ならありえるのですが...。

$ strings /cgi-bin/namazu.cgi | grep "^2\."

の結果は?
# パスは適当に書き換えてください。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E




Namazu-users-ja メーリングリストの案内