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

Fwd: gcomprisの翻訳について




---------- Forwarded message ----------
From: Satoru SATOH <satoru.satoh@xxxxxxxxx>
Date: 2006/11/10 14:47
Subject: Re: gcomprisの翻訳について
To: r38495@xxxxxxxxxxxxxxxxxxxx

いやその方法 (%2d) ではダメなはずです。作者もそれに気づいて最新ではソースコードの
方を直しています。

パラメータにインデックスをつけ、その訳文中での順番を翻訳者が変えられるように
するやり方には対象のプログラム言語によっていくつかあります。

一般的な C の場合は '%INDEX_NO$型' (e.g. %1$d) という表現を使います。
( http://www.gnu.org/software/gettext/manual/html_chapter/gettext_3.html#SEC18)

Python の場合は通常、辞書 (python のネイティブの型; '%(DIC_KEY)型',
e.g. %(key0)s ) を使います。
http://www.python.org/doc/2.2.1/lib/typesseq-strings.html

gcompris の場合、cvs 版では次のようになっています。

--------------------------------------------------------- gcompris/src/boards/python/gnumch.py
...
    def getError(self, num):
        # Translators: You can swap %(x)y elements in the string.
        fmt = _('Multiples of %(d1)d include %(s)s,\nbut %(d2)d is not a multiple of %(d3)d.')
        n = int(num.text)
        mults = []
        for i in range(2, 5):
            mults.append(n*i)
        return fmt % { 'd1': n,
                       's': makeNumList(mults) % tuple(mults),
                       'd2': self.level_multiple[self.cur_sublevel-1 ],
                       'd3': n }
...
----------------------------------------------------------------------------

cvs HEAD の po/ja.po について次のようにして最新のソースの変更に追従し、

$ (cd gcompris/po && intltool-update ja)

該当する箇所を見ると次のようになります。

-------------------------------------------------------------------------------- gcompris/po/ja.po
#. Translators: You can swap %(x)y elements in the string.
#: ../src/boards/python/gnumch.py:151
#, fuzzy, python-format
msgid ""
"Multiples of %(d1)d include %(s)s,\n"
"but %(d2)d is not a multiple of %(d3)d."
msgstr ""
"%d を含む %s の倍数,\n"
"しかし、%d は %d の倍数ではありません."
----------------------------------------------------------------------------

この場合 %(d1)d などとなっている部分は訳文中で自由に順番を変えることができます。
すなわち、"%(s)s を含む %(d1)d の倍数。しかし %(d2)d は %(d3)d の倍数では
ありません。" というような感じになるでしょうか。

なお、このように訳文中でパラメータの順番が変えられるように、ソースコード側で
対応されていない場合は翻訳者側で対応するのは訳でごまかす以外に他に方法はありません。


python+gettext のテストコード (アーカイブ中 hello.py) をつくったので、
以下の場所においておきます。参考までに。
http://www.gnome.gr.jp/~ss/t/pygettext-test.tar.bz2

# ところでこのメールは gnome-translation@xxxxxxxxxxx にそのまま転送しても
# いいでしょうか? 問題なければそうします。

06/11/09 に 平田 優子 < r38495@xxxxxxxxxxxxxxxxxxxx > さんは書きました:
おひさしぶりです。平田です。

>遅レスですが、gcompris を担当していらっしゃる方はいないはずです。ぜひよ
>ろしくお願いします。できあがったものは作者に直接投げていただくか、こちらの
>リストまでご連絡いただければ、gnome-cvs に代理コミットします。
>Satoru SATOH

とのお返事をいただき、
GComprisのアップデートについても連絡を取りたかったので、
GComprisを製作・管理しているBrunoさんに連絡をとったところ
翻訳中のPOファイルを直接送ることになり送ったのですが

以下のようなエラー起きたと報告を受けました。

#: ../src/boards/python/gnumch.py:151
#, python-format
msgid ""
"Multiples of %d include %s,¥n"
"but %d is not a multiple of %d."
msgstr ""
"%s を含む %d の倍数,¥n"
"しかし、%d は %d の倍数ではありません."

このmsgstrの部分でエラーが起こりコミットできず

msgstr ""
"%2d を含む %s の倍数,¥n"
"しかし、%d は %d の倍数ではありません."

と変更したところコミットできた(翻訳としては間違っているが)。
と聞いたのですが、このようなことはPython-formatの場合よくあるエラーなのでしょうか?何か改善策があればと思いメールさせていただきました。

Yuko Hirata
Thanks,
Satoru SATOH

--
Thanks,
Satoru SATOH