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

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2005年 9月 7日 (水) 21:22:20 JST


寺西です。

seijun86 @ yahoo.co.jp wrote:
> 
> Tadamasa Teranishi <yw3t-trns @ asahi-net.or.jp>さん:
> > 標準インストール先だと、
> > /usr/local/share/locale/ja/LC_MESSAGES/namazu.mo
> > というファイルがあります。
> > このファイル(およびここまでのディレクトリ)のパーミッションの設定に
> > よっては、(おそらくはCGIの実行ユーザーの)nobody でアクセスができなく
> > 日本語が表示できないのです。(日本語のメッセージがこの namazu.mo
> > ファイルの中に入っているため)
...
> -rw-r--r--    1 root     root        xxxxxx  Jul 14 xx:xx namazu.mo
> となっていました。ですから、namazu.moのパーミッションが理由ではないようです。

このファイルが大丈夫でも、[ここまでのディレクトリのどこか]で
アクセスが禁止されていると、やっぱりダメですよ。
なので、ディレクトリのパーミッションも調べないといけません。

# もっとも、大丈夫かもしれませんが。

次のような CGI を namazu.cgi と同じ環境で動かして、"BAD" と表示され
ないようでしたら、パーミッションの問題はないと思います。

#!/usr/local/bin/perl

print "Content-Type: text/plain\n\n";
print "*****\n";
open(IN, "/usr/local/share/locale/ja/LC_MESSAGES/namazu.mo") || print
"BAD\n";
close(IN);
print "*****\n";


> やはり、英語モードでNamazuを構築したのが原因かな・・・などと思ったりしています。

英語モードと書かれていますが、LANG=C でコンパイルしても大丈夫
ですよ。gettext がリンクできていなければダメですが、それは
おそらく大丈夫なはずです。
#define ENABLE_NLS 1
が含まれていますから。
公式にはGNU gettext 0.13.1を使うことになっていますので、若干
gettext のバージョンが古いのですが、たぶんそれも問題にならない
でしょう。

# さて、何が問題なんでしょうね。
-- 
=====================================================================
寺西 忠勝(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 メーリングリストの案内