namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ja_JP.sjis or ja_JP.SJIS? (Re: commitreport)
Abe Ryuji <raeva@xxxxxxxxxxxx> wrote:
>> は EUC-JP で出力される、というおかしな挙動を示します。
>> gettext 0.10.35 付属の libintl を使っています。
>
>うちではja_JP.sjis、ja_JP.SJISともに同じ結果だったのですが、挙動が
>ちょっと変でした。環境はVine Linux 1.1で、glibcのバージョンが2.0.7、
>wcsmbs-localeは0.4.11だったかな?どうも
>
>$ LANG=ja_JP.sjis namazu --help
>とか
>$ LC_ALL=ja_JP.sjis namazu --help
>でロケールが切り換えられないらしく、
>$ LANGUAGE=ja_JP.sjis namazu --help
>で試したのですが、文字化けしてしまいました。
うーん、安部さんの環境では ja_JP.sjis のロカールを設定すると
うまく動かないのか…。ja_JP.ujis は大丈夫ですよね? それから、
ja_JP.iso-2022-jp はどうですか?
手元の環境では
% LANG=ja namazu --help
% LANG=ja_JP.ujis namazu --help
% LANG=ja_JP.sjis namazu --help
% LANG=ja_JP.iso-2022-jp namazu --help
ともに、すべてきちんと動作します。検索を行っても大丈夫です。
# ほかの方の環境ではどうなのか気になります。報告してもらえる
# と助かります。
が、LANG=ja_JP.SJIS のときは挙動が変です。どうも ja_JP.sjis
のカタログが中途半端に使われているようです。
ja_JP.SJIS のカタログを用意すれば解決するので、ja_JP.sjis,
ja_JP.SJIS の両方を用意すればいいかな、と思いました。
システム側で
% ln -s $(LOCALEDIR)/ja_JP.sjis $(LOCALEDIR)/ja_JP.SJIS
のように ja_JP.sjis と ja_JP.SJIS が symlink になっていれば
いいんですけどね。
>> # Windows だったら sjis/SJIS の違いは吸収されるかな?
>
>いや、autoexec.batに
>set LANG=ja_JP.sjis(あるいはja_JP.SJIS)
>という一行を加える必要があるでしょうが。
namazu.conf の LANG に ja_JP.sjis を設定してもいいです。
namazuコマンド内部で setenv してしまうので (i18n.c)。
autoexec.bat を書き換えるよりずっと手軽でしょう。
ところで、
>> # Windows だったら sjis/SJIS の違いは吸収されるかな?
と言ったのは、ファイル名の大文字・小文字の区別があやふや (よ
くわからん) なのでどっちでも同じかな、というつもりでした。:)
ファイル名の大文字・小文字の区別があやふやということは、
ja_JP.sjis.po と ja_JP.SJIS の両方を含めると Win32 では困っ
てしまいそうです。
>> >あと、ja_JP.EUC.poは要らないのでは?
>>
>> たしか ja_JP.EUC が標準の UNIXがあった気がします。どなたか知
>> りませんか?
>
>FreeBSDなどはja_JP.EUCですよね?あれは、
>$(LOCALEDIR)/ja_JP.EUC/LC_MESSAGES/foo.moがない場合には、
>$(LOCALEDIR)/ja/LC_MESSAGES/foo.moを見に行くと思いますが。
>そうでないOSがあるのかな?
OS ではありませんが、 gettext-0.10 の libintl が該当します。
$(LOCALEDIR)/ja_JP.EUC/LC_MESSAGES/foo.moがない場合に、
$(LOCALEDIR)/ja/LC_MESSAGES/foo.moを見に行ってくれません。
/usr/local/lib なりに gettext-0.10 の libintl.a が存在して、
configure がそれを見つけてしまった場合に問題となります。
(gettext-0.10 の libintl.a がリンクされてしまう)
というわけで、
>逆にja_JP.EUC.poがあって、ja.poがないとja_JP.ujisなLinuxには都合
>が悪いと思います。
そういった面倒を避けるために、 ja.po, ja_JP.EUC, ja_JP.ujis
(すべて同じ内容) を用意しています。だめかしら?
-- Satoru Takabayashi