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

[debian-devel:14194] Re: ja.po of lynx



むつみです。

>>>>> In [debian-devel : No.14193] 
>>>>>	Atsuhito Kohda <kohda@xxxxxxxxxxxxxxxxxxxx> wrote:

>> > 佐野@浜松です。
>> > 
>> > 「文字列の中で改行」というのは実際に ja.po を眺めた時に
>> > そのとおりなんでしょうか。例えば vi などで表示させると
>> > 文字化けしたりしますか ?

>> 以前は問題なかったので gettext の問題、少なくとも

 えーと すくなくとも 以下の現象を見る限り基本的には
今の gettext の問題ではありません。過去 問題があった
gettext で japo を処理したために ja.po が破戒されて
いたために、その破戒をしなくなり正常に処理されるように
修正された gettext では、過去に破戒された japo が
読めなくなった ということです。

 gettext には 以前から一文が長いと多バイト文字の
途中であることを考慮せずに改行を入れて切ってしまう
(たとえば euc-jp の 1 バイト目と 2 バイト目の間に
改行を入れてしまう)というバグがあるのが知られていました。

 ただ、このバグは編集時に意図的に改行を入れてやることで
回避できてしまうこと、さらに改行を入れられてしまっても
人間から見て読めなくなるだけで gettext 自体は正常な stream
として処理してしまう(しまっていた)ので、ja.po 自体が
こわれても (その後、編集をおこなわずにいるために)気がつかないで放置さ
れていることが ままあります。

 で、今回 gettext 側で この改行の処理のハンドリングを
ちゃんと行うようになったため、逆に過去 多バイト文字の途中で
あやまって改行が入れられてしまった状態になっていた 今回の
lynx-cur の ja.po のようなものが処理できなくなった(処理しなくなった)
ということでしょう。

 基本的には ja.po を修正するのが(今後のことも考えると)正しい対処
だろうと思います。

-- 
いしかわ むつみ
 <ishikawa@xxxxxxxxxxx>, <ishikawa@debian.org>, <ishikawa@xxxxxxxxxx>