Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ja_JP.SJIS.po



安部です。

0.10.36以降のGNU gettextでmake update-poしようとすると、
以下のようにja_JP.SJIS.poのところでこけてしまいます。


ja_JP.SJIS.po: warning: Charset "Shift_JIS" is not a portable encoding name.
                        Message conversion to user's charset might not work.
(snip)
ja_JP.SJIS.po:42: 不正なコントロールシーケンスが検出されました
ja_JP.SJIS.po:171: 不正なコントロールシーケンスが検出されました
(snip)
エラーが多すぎるため実行を中止しました


実はこれ、known problemです。
<http://www.gnome.gr.jp/ml/gnome-translation/200106/msg00005.html>
0.10.35以前のGNU gettextはBig5やShift_JISなどの文字列に
\を入れる必要があったのですが、0.10.36以降ではその必要が
なくなりました。というか、入れてはいけません。

で、今後の方針を考えてみたのですが、どっちがいい
ですかね?

1. ja_JP.SJIS.poに\を入れるのをやめる。
2. ja_JP.SJIS.poを配布に含めない。

1.だと逆に0.10.35以前のgettextで問題が起こります。
0.10.35以前を使っている人が少数派ならあまり問題では
ないのかもしれませんが。

2.の方針ではWindowsやOS/2な人にはnkfか何かでja.poを
Shift_JISに変換してmsgfmtしてもらうことになります。

既に何度も書いていますが、0.10.36以降のlibintlは
iconv()がある環境では、poのcodeset -> current locale
のcodesetに変換する機能が使えます。が、Namazuの場合、
mknmzがcodeset変換機能の無いgettext.plを使っている
ために、結局Shift_JISなpoを別途用意しなければならない
のです。


  A A
= . . =
   V
end
Ryuji Abe