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

[debian-devel:10504] gettextization (from devel@Org - Re: ARGH!!! Re: ITP: jnethack)



佐野@浜松です。

# debian-devel@lists.debian.org より

In article <Pine.LNX.4.02.9910011152280.14779-100000@xxxxxxxxxxxx>
 vincent@xxxxxxxxx (Vincent Renardias) さん writes:

> On 1 Oct 1999, Peter Makholm wrote:
> 
> > Vincent Renardias <vincent@xxxxxxxxx> writes:
> > 
> > > >  - All messages were translated to Japanese language.
> > 
> > > Can you *PLEASE* try to merge this patch with the upstream version 1st.
> > > If the patch is done correctly, I see no reason the upstream maintainer
> > > should refuse it. (And if he does, why should Debian accept it?)
> > 
> > Nethack has no support for multiple languages, and it would take a
> > major rewrite to let it use different languages.
> 
> Since when is adding gettext support considered as a major rewrite?!
> Or is there a reason that makes gettextization impossible?
> 
> > I can't think of any easy way to merge japanese messages into the
> > existing nethack code without removing the english.
> 
> man gettext

Vincent もしつこいなぁ、とか思って傍観しようかと (^^;;) 考えていたのですが
ちょっと別の用事で slink の util-linux を眺めていたら、Vincent は自分で
 cfdisk の gettextization をやってますね。 util-linux_2.9g-6.diff.gz の
中の cfdisk.c に対する変更個所を見るか、 slink 版 util-linux のパッケージ
ソースを展開して util-linux-2.9g/disk-utils/ の下で

 diff -u cfdisk.c.orig cfdisk.c

の結果 (wc で見ると 920 行) を確認してみてください。

あと、同じ場所の i18n.h や util-linux-2.9g/po の下も眺めてみてください。

今確認したら potato 版は既に日本語メッセージが入ってますね。

# 実は potato 版では既に日本語メッセージが入っている、という
# ことに最初まったく気が付かず、一所懸命 slink 版の fr.po を
# ベースに ja.po を作っていたという、、、
# あとで気がついたけど悔しいからとりあえず最後までやってみた
# (途中から英語をコピーするだけでお茶を濁した) 
# でも、結局 potato の ja/util-linux.mo をコピーするだけで
# slink の cfdisk も日本語メッセージが表示できることがわかった。
# とりあえず gettextization するだけで、どんどんメッセージを
# locale に合わせて取り換えられる。これは知っている人にとっては
# 当然のことなんだろうけど、今回自分で試してみてあらためてその
# 有難味がわかった気がしました。
## つい今しがたわかったんだけど、 .po -> .mo は msgfmt で
##  .mo -> .po は msgunfmt なんですね。まだまだ知らないことが
## 多くて、「新たな発見」がたくさんです。 ^^;;

slink 版には util-linux.mo が Vincent の母国語である fr のぶんだけしか
ありませんでしたが、potato 版には fr, cs, de, it, ja, nl, pt_BR と
英語以外に 7 か国語のメッセージが入っています。

すくなくとも Vincent の場合には、自分でこの cfdisk の gettext 化を
行なうことで i18n のために努力してきたという自負があるんでしょうね。
だから彼から見て安易な localization に走っていると思えるような行動には
ああやって警鐘を鳴らしているのだと思います。

「持っていく」立場から見ると、i18n とか upstream へのフィードバックとか
考えないでポンポン放り込めたほうが楽ですけどね。聞いた話では FreeBSD の
 ports とかはそういう感じで、 ./ja というサブディレクトリの中に -ja な
ものがどんどん入っているとか。でも長い目で見ると私は Debian のように
「統合」を促すような動きがあったほうがいいんじゃないかという気もします。

本題の jnethack のほうはコードを見たこと無いので、 i18n 化がどれだけ
困難なのかわかりません。もし jnethack の開発が既に nethack のコードから
離れて独自でどんどん進められているようなら、"already forked upstream" 
として主張したほうがいいかもしれません。すくなくとも Debian のパッケージ
に適当に日本語対応パッチを当てた "forked package" では無い、ということ、
日本国内を中心に "nethack" ではなく "jnethack" という名前のソフトウェア
として広く楽しまれていること、は主張しておいたほうがいいように思います。

# コマンド名も jnethack だし。

もちろん gettext 化が可能ならそのほうが良いので、韓国語や中国語にも
対応した "jnethack" という別のソフトウェアとして upload できるなら、
もっと説得力があるだろうと思います。jnethack を開発されている方々は
 i18n 対応についてはまったく考えていないのでしょうか ? ちょっとでも
脈がありそうなら、とりあえず jnethack のオリジナルで i18n 対応して
もらえるように頼んでみては ?

 MH-JP の時もそう思ったんですが、xcalendar の場合のように単に
日本語対応パッチを公開してそれっきり、というのと、日本語化した
ソフトウェアに「別の名前」を付けて継続的にバグフィックスやサポート
などの開発を行なっている場合とでは、分けて考えるべきじゃないかと
いう気がします。

 jnethack はおそらく後者ではないかと思うのですが、この場合、
もし「別の名前」を付けたソフトウェアに元のソフトウェアと違う
ライセンスを付けて配布していたりしたら、その派生版のコードを
元のソフトウェアに単純に取り入れることはできないですよね。

# ちょっと違うけど、Emacs と XEmacs の話が最近出ていたっけ。

ただし、jnethack の README.j を見ると、jnethack の配布ライセンスは
オリジナルの nethack のライセンスと完全に同じ、ということが書いて
あるし、オリジナルの nethack のライセンスは DFSG 互換らしい (main 
に収録されているから) ので、jnethack のコードを nethack に持ち込む
ことは可能だと思います。

そう言えば potato には gnomehack という Gnome 版 nethack というのが
ありますね。nethack のメンテナーとは別の人がやってるみたいです。
こういうのは "fork" じゃないのかな ? conflicts: nethack だから
一緒に使うためのものじゃ無さそうだし。

昔 JE (JG ?) には fj 版のメッセージの rougue とかあって
なかなか笑わせてもらったような覚えがあります。

# 今ひさしぶりにやってみたら「運命の fj へようこそ」の次が
# 「かねこ@ひたちのポストは命中した。」だった @@)

あれなんか、Debian の rogue に Bug Report して、中身をそっくり
入れ換えてもらってもいいかも。Debian だと bsdgames-nonfree に
あるみたいですが、potato 版は maintainer: debian-qa だし、あっちを
 orphan して JG の rogue を入れてくれ、と頼んでみることは可能なんじゃ
ないかな。

jnethack もあの rogue みたいにメッセージを入れ換えられると楽しい
かもしれません。

以上、まとまりがついていませんが、雑感でした。

-- 
     # 11/13 に何かが起きる? > "http://www.szlug.factory.to";
     # (わたしのおうちは浜松市、「夜のお菓子」で有名さ。)
    <xlj06203@xxxxxxxxxxx> : Taketoshi Sano (佐野 武俊)