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

Re: damned-lies の不調?


岡野です

この件について、西堀さんが原因を突き止められ、
メールをいただきました
(下記; 一部修正しています)

> Gitリポジトリ上のファイルに問題がなくて、
> DLを経由すると、おかしなことがあるなら、おそらくDLの問題でしょうか。
> DLの問題はBTSかgnome-i18@で相談するのがよいと思います。
> 仮にDLに問題があるとして、すぐに修正されるかどうかはわかりませんが。

今後のことは gimp-developer-list@, gnome-i18n@ で相談するとして、
当面の作業はどうするのがよいでしょうね。
# 実は scheme とか damned-lies のことをよく知らないので、
# そのへんに詳しい方に加わっていただけると心強いのですが。

--- ここから:

> 島本です。
>
> にしぼりさんのヒントにすべて答えがありそうです。 私の環境は
> gettext-0.18.1.1
> intltool-0.41.1
> を使用しています。 試しに intltool-0.50.2 を別個に用意し、
> それぞれ処理途中に ^Z をさしはさんでプロセス情報をみたところ、
>
> -* intltool の旧式 (ver. 0.41.1) は
> - - intltool-extract が .scm ファイルからテキストを抽出して
> - - c 言語仕様の一時ファイルに書き出し、 それを gettext に処理させる
> - - ---> すべてのテキストが PO 化される
>
> -* intltool の新式 (ver. 0.50.2) は
> - - 直に .scm ファイルを gettext に読ませ処理させる
> - - ---> テキストは一部しか PO 化されない
>
> という違いがありました。
>

仰るとおりのようです。
xgettext の仕様として、gimp の *.scm では、'(_'
に続くクォーテーションで囲まれた文字列のみが翻訳文字列として抽出されます。このことが intltool0.50 を用いた場合、gimp の
po-script-fu では翻訳文字列が 61件しか抽出されない理由です。

現状、Damned Lies と gimp では次のような状態になっていると考えられます。

1. 現在の Damned Lies は、intltool 0.50 を採用している。
2. intltool 0.50 と xgettext が上述の仕様のため、 gimp の po-script-fu で抽出されない翻訳可能文字列が存在する。
3. *.scm ファイル中の _"hoge" を (_"hoge") に置き換えると、翻訳可能文字列として抽出はされるようだが
その .scm ファイルは機能しない。(script-fu 読み込み時にエラーが発生して実行できないようです。)
4. Damned Lies の intltool を 0.41 にダウングレードすれば、gimp の po-script-fu
の問題は解決するが、1つのドメインのために intltool
をダウングレードすることは非常に困難と考えられる(というか、ほとんど不可能?)。
5. 同様に、 xgettext の仕様を変更することも極めて難しそう。(ひょっとすると、gimp の script-fu が scheme
の仕様に従っていない?)
6. 以上のことから、gimp/po-script-fu は Damned Lies を利用することは、現状では事実上不可能。

さて、どうするのが最善なのでしょうか… ちょっと困った問題ですね。

# このメールを転送あるいは公開いただいても差し支えありません。
西堀 清貴