あおきです。
In mail "[ruby-list:16648] RD and internationalization"
wakou / fsinet.or.jp wrote:
> 青山です。
> ちょっと例として。
>
> 例えば、こんな感じで言語指定を加えて、
(略)
> 配布するのは、この形式の状態。
この案は、ぼくが提案した新しいほうの案とほとんど同じに見えます。
ruby-talkといったりきたりしながら話していたのでわかりにくかった
かもしれません(まつもとさんごめんなさい…)ので、簡単にこれまでの
経緯をまとめます。
発端
[ruby-talk:00737] RD with multi charset
[ruby-list:16338] maillib? 0.5.0
ソースコードでも日本語を使いたいよーと提案
同じ内容のドキュメントを複数の言語(スクリプト)で用意し、「危険な」
スクリプトは全部base64して格納する
ruby-(list|talk)ではおおむね不評。主な理由は
* めんどくさい
* どれがエンコードされてるのかわからない
* ビューアやエディタでそのまま見えるのがRDのいいところ
この理由に納得したので最初の提案をちょっと修正する。
修正案1
[ruby-list:16338] maillib? 0.5.0
[ruby-talk:00760] RD with multi charset
code+英+日 のファイルから、(Code+英) と (日) を生成する。
このとき、日本語ファイルには「RDヘッダ」を残しておき、
元のファイルを復元できるようにする。
あとからツールで処理すれば、(Code+日) や (英) を作ることができる
しかしまつもとさんのメールに「エンコードの過程を通るのが好きでない」
とあったのをあとから発見、このままではきっと納得してくれないと思い
さらに修正
修正案2
[ruby-list:16344] maillib? 0.5.0
[ruby-talk:00764] RD with multi charset
修正案1では最初にひとつのファイルをつくることになっていたが、
最初から複数のファイルを作ってもよいことにする。RDヘッダが
つかないかわりに、RD部分はすべての言語で同じ構造になるように
書いてもらう。そうやってつくられたファイルならあとから
対応する部分を探してRDだけ別の言語にいれかえることができる。
ちなみにtalkでは修正案1と2の区別をほとんどせず適当に話をまるめこんだ。
また [ruby-talk:00773] では \cle 氏がこの入れかえ作業を行う
rdswap.rb を提供してくれた。
結局、ぼくの修正案2は最初にまつもとさんがおっしゃった
「ソースには英語RDでドキュメントをつけて日本語は別ファイル」
とほとんど同じで、RD構造を各国語ドキュメントで同じにするという
ところだけが違います。
しかしこの案ではRDのスペックにはまったく関係がないので、
結局無駄な提案だったなあ、反省、というのが現状です。
-------------------------------------------------------------------
あおきみねろう