ruby-dev translationのご紹介

はじめに

ruby-dev translation (http://ruby-dev.info) は筆者が個人的に運営しているWebサイトで、Ruby処理系の開発者向け日本語メーリングリスト「ruby-dev」をみんなで英訳し、言語の壁を乗り越えようというプロジェクトです。

本稿ではruby-dev translationの概要と問題点、今後の展望などについて解説します。

ruby-devとは

最初に、ruby-devそのものについて少し解説しておきましょう。 Ruby公式のメーリングリストはいくつかありますが、以下の4つが主に使われています。

英語日本語
ユーザ向けruby-talkruby-list
開発者向けruby-coreruby-dev

ruby-devはこのうち、「CRuby*1開発者のための」「日本語で議論を行う」メーリングリストに当たります。

Rubyは世界中で使われるプログラミング言語ですが、CRubyの開発者に占める 日本人の割合は今でもかなり高いままです

開発用メーリングリストを英語と日本語に分けるのは、 日本人の開発者にとって議論をやりやすくするというメリットがあります。 一方、海外のプログラマにとっては、全く読めない日本語で議論が行われる ruby-devについては、何か極めて素晴らしい情報がやりとりされているのではないかとか、 逆に密談が行われているのではないかと思われていることもあるようです。

ruby-dev translationは、このような「言語の壁」、すなわち英語と日本語によるコミュニケーションの断絶に対して解決を試みるプロジェクトです。

ruby-dev translationの機能

それでは、(現状の) ruby-dev translationで何ができるのかを紹介しましょう。トップページはこちらです。

メールの閲覧

ruby-devに流れたメールを新しい順に表示します。同じトピックのメールは、一画面でまとめて見ることができます。

またキーワードでメールを検索したり、投稿者名をクリックして同じ投稿者からのメールを一覧表示することもできます。

翻訳の投稿

右上の「Sign in with Twitter」からログインすると、メールに対し翻訳を投稿することができるようになります。また、他人の翻訳を修正することもできます。

メール全体を訳すのはちょっと大変だという場合は、タイトルだけ翻訳することもできます。ログイン状態でメール一覧を開くと、タイトルが日本語のままのトピックの横に「(edit)」というリンクが表示されます。

翻訳のリクエスト

ログイン状態でメール一覧を見ると、メールの横に「☆」マークが表示されます。これは「翻訳希望」マークで、海外の人に押してもらうことを想定しています。

この翻訳希望マークが付いたメールの一覧は、メニューから見ることができます (新着順 / 多い順)。

問題点

さて、先ほどの最後のリンクを実際にクリックしてみた人は、★がほとんど付けられていないことに気づいたかも知れません。 残念ながら、ruby-dev translationは今のところ活発に利用されているとは言えません。考えられる理由を挙げてみます。

(海外の人にとって)気になるメールを見つけるのが難しい/面倒くさい

翻訳前のメールは、タイトルこそ英語になっているものが多いですが、本文は一部の英単語を除いて漢字やひらがなで書かれています。 英語圏の人にとっては、この中から読みたいメールを見つけるのはそれなりに手間がかかりそうです。

あるいは、翻訳があれば読むけれど、気になるメールを探すほどの積極的な興味はない、という層も多いかも知れません。

読者層が限られる

ruby-devに流れるメールはRuby処理系というコアな話題を扱っているので、Railsなどアプリ開発の話題に比べると興味を持つ人の数はぐっと少なくなってしまいます。

宣伝が足らない

今のところ、Twitterとruby-talk/ruby-coreで少し宣伝しただけなので、rubyflowに投稿するなどの手段は残されています。 この記事も宣伝の一環です。:-)

さてどうしよう

当初の計画

翻訳という作業を続けるためには、何らかのフィードバックが必要です。家で独りで翻訳をしていても、なんの反応も得られないのでは モチベーションを維持することは難しいでしょう。公開前に意図していたデザインとしては、以下のようなことを考えていました。

「翻訳希望」マーク
自分の翻訳を必要としている人がいることが分かります。また、翻訳すべきメールを絞ることで、翻訳者が少なくてもうまく回せることを期待しました。
翻訳の修正
ネイティブの人に翻訳を添削してもらえば、英語の勉強になり、翻訳者にとってもメリットがあると考えました(もちろん、ただ翻訳を行うだけでもかなり勉強になるのですが)。

翻訳を楽しくしたい

上記のようなモデルは実現すれば素晴らしいですが、一つ大きな問題があることが分かりました。 このモデルは、ある程度読者と翻訳者が増えてからでないとうまく回りません。しかし、翻訳を続けるためには読者が必要で、 読者を集めるには翻訳をしなけばならないという、鶏と卵のような問題があるのです。

このブートストラップをうまく行うには、読者だけで回るシステムか、翻訳者だけで回るシステムを考えないといけません。 翻訳がないのに読者だけが来ることはありえませんから、後者の方法を考えることになります。

読者がいないのに翻訳を行うなんて、当初の目的からずれてしまうようにも思いますが、 極端な話、海外読者が0で日本人だけがサイトを使うような状況でも、翻訳作業が楽しいと感じられればシステムが回っていく可能性があります。 そして、翻訳がある程度安定して供給されるようになれば、少しずつ読者も増えていくのではないかと思います。

とりあえず、わりと成果が出るまで時間をかけないといけなさそうな雰囲気なので、翻訳した数のランキングが出たり、Foursquareのように成果しだいでバッジが点灯したりすると面白いんじゃないかなぁ、などとぼんやりと考えています。

機能の追加

そういう長期的な話は置いておくとしても、短期的にできる改善がまだいろいろあります。

デフォルトでGoogle翻訳を使うようにする
Googleの提供する自然言語翻訳のAPIを利用して、翻訳がついていないメールも機械翻訳で読めるようにします。
既に英語になっている投稿は翻訳済みにする
ruby-coreとクロスポストされたメールなど、最初から英語で書かれているメールを自動で翻訳済みにするようにします。
Tweetボタン、Likeボタン等
メールをWeb上で簡単に紹介できるようにします。
非ログイン状態でも☆を付けられるようにする
より気軽に参加できるようにします。また、☆も一人一個ではなく、はてなスターのように何個でも付けられる方が楽しそうです。

おわりに

本稿ではruby-dev translationの概要と今後の課題について紹介しました。

とりあえず、ruby-devをbladeで読んでいる人はruby-dev translationを代わりに使ってみてください。同じトピックのメールを一画面でまとめて読めたり、Redmineのチケット単位でスレッドをまとめたりと、いろいろと読みやすさのためのチューニングを施してあります。

さらに、もし興味が湧けば、実際にログインして翻訳を試してみて下さい。タイトルだけでも構いません。翻訳時には、Redmineの定型文は自動で英語にするなど多少の補助を行っていますが、まだ始まって間もないプロジェクトなので、簡単にできる改善がいくつもあると思います。 もし何かアイデアを思いついたら、Twitterの@yharagithubのITSまでご一報ください。

ソースコードはgithubで公開しているので、パッチも歓迎です。WebフレームワークはRails3で、サーバはHerokuを使っています。

著者について

yhara(原 悠)
ネットワーク応用通信研究所所属。滋賀県から松江に来て4年目になる。BiwaSchemeもよろしくね。

*1 JRubyやMacRuby、Rubinius等に対し、C言語で実装された「いわゆるRuby」のことをCRubyと呼びます

*2 ドメインは@mrknさんが取得してくれました。ありがとうございます。