青山です。 ruby-talk は未読のまま... On Tue, 24 Aug 1999 16:02:32 +0900, Minero Aoki wrote: > まず、デコードが必要なのは確かですが、デコードはインストールの時 > (例えば、make install の時に)一回すればいいので、さほど問題に > ならないのではないかと思っています。 > 例えば、/usr/local/lib/ruby/1.4/*.rb には、デコードしたものを > 置くわけです。もちろん、展開したその場でオリジナルを置きかえて > しまってもかまいません。それなら、コードとドキュメントを > いっしょに(しかも日本語(など))で見ることができます。 この方式は、debian, rpm 等のパッケージ化で問題があるように思います。 ruby-jp のようなパッケージを用意するという対応は出来ますが、それでは Perl での JPerl のような状態で、JRuby が無いという Ruby の利点が失われ ると思います。 また、ドキュメント以外にも、ソース中の文字列についても多言語対応が必要 ですから、RD 部分のみをこのように手を加えるのでは不十分と思います。 ちょっと話しは外れますが、例えばソース中については、ファイルのコードを EUC にして、次のような感じで、ASCII, EUC, SJIS には対応できます。 print {"n" => "string", "e" => Kconv::kconv("文字列", Kconv::EUC), "s" => Kconv::kconv("文字列", Kconv::SJIS) }[code] Regexp::compile({"n" => "string", "e" => Kconv::kconv("文字列", Kconv::EUC), "s" => Kconv::kconv("文字列", Kconv::SJIS) }[code], false, code) === string このような感じの事をより手軽に記述できるような方法を検討する事と、RD の国際化は同じレベルとして考えても良いように思われます。 > また実際問題として、3コード以上同時編集するのはまれではないでしょうか。 > たとえば、日本語と中国語と英語だったら困りますが、それはそう簡単には > ありそうもないですよね。 上の例のように、少なくとも ASCII, EUC, SJIS の3つの混在はとても身近な 事ですし、locale に対応して、ドイツ語も... という要望はあると思います。 -- 青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>