トップ «前の日記(2012-02-03) 最新 次の日記(2012-02-23)» 編集

Route 477



2012-02-15

[ruby] 例のリファレンスマニュアルのやつ

いまこんな感じになってます。

右上のセレクトボックスで英語と日本語を切り替えられます。

  • 検索ボックスはまだダミーです。
  • 内容はまだいろいろバグってます。

デザインはmiyamaeさんのchm風のやつをとても参考にしています。

何をやろうとしているのか

英語・日本語のリファレンスマニュアルが両方見れるWebサイトを作ろうとしています。

Rubyのリファレンスも、php.netみたいに言語を切り替えて表示できるべきじゃね? そしたら日英以外の言語へ翻訳するモチベも上がるんじゃね?っていう話です。

Rubyのリファレンスは、歴史的経緯で、日英が全然別のツールで書かれてるんですよね。英語は、Rubyのソースコード中にrdoc形式で埋め込まれている。 日本語は、bitclustというツールを使っている(もとはRWiki上で執筆されていました。順序としては、日本語のリファレンスの方が先にありました)。

で、記法&ツールをどっちかに統一するのがシンプルな解法なんですが、大変なわりに短期的なメリットがあまりない。 ので、記述ツールはそのままにしておいて、Webから見える部分だけ統一するという作戦を採用しようとしています。

データどうすんの

  • 英語は、Rubyのソースコードに含まれるrdoc部分を使用する。
  • 日本語は、るりまプロジェクトのデータを使用する。

それ以外の言語は、当初はこのRailsアプリ上で翻訳が書けるようなものを考えてたんですが、 須藤さんがyardにgettextベースの国際化機能を付けるというプロジェクトを行ってらっしゃるので、 いまはその成果を利用することを考えています。つまり、

Rubyソースコードに含まれるrdoc
 ↓ [yardoc --output locale --format pot]
.potファイル
 ↓
.poファイル(訳文)
 ↓
本システムに取り込み

という感じ。

ソース

https://github.com/yhara/ruby_api/ です。

3/19までの目標

  • 日・英のリファレンスをちゃんと見れるようにする
    • ライブラリの扱いについて考える
    • 1.8.7, 1.9.2, 1.9.3のデータを用意する
  • 検索
    • Refeのように「Ar i」とかで検索できるようにする
  • 訳文の取り込み
    • .poファイルからデータを取り込めるようにする

それよりあとのこと

  • php.netはユーザがノート書けるようになってますが、そういうのもあるといいのかなぁ。
  • Web上から、ドキュメントの訂正を送れる機能。
  • るりまにある「Rubyの文法」などのコンテンツをどうするかについて考える。システム的には追加するのは簡単ですが、対応する英語文書を用意しないといけないですね。