こんにちは、hachi8833です。ニコマスおっホイは危険と痛感しました。
Rails Guideの「A Guide for Upgrading Ruby on Rails」を翻訳しました。
元にしているのはrails/docrailsのガイドですが、これはオフィシャルなガイドやedgeguides.rubyonrails.orgよりも新しく、その分不安定ですので、その点ご了承ください。
Rails 4.1は現時点でRC2なので記述は確定ではありません。ご注意ください。4.1リリース後にオフィシャル版を翻訳し直します。
Ruby on Railsアップグレードガイド
ローカルのMacにgit cloneしたRails Guideのguides/source/upgrading_ruby_on_rails.mdを翻訳し、guidesディレクトリでrake guides:generate ALL=1
を実行してhtmlを生成しました。
翻訳は、Github上の「Ruby on Rails アップグレードガイド」で参照できます。
Rails Guideの形式にビルドしたzipファイルも作成しました。以下をクリックしてダウンロードできます。
Ruby on Railsアップグレードガイド(html、zip圧縮)
原文は以下です。
A Guide for Upgrading Ruby on Rails
参考: 翻訳の方法
Rails Guideに限らず、ネット上のドキュメントは更新が激しいので、せっかく頑張って翻訳しても次回にまた大きな更新が行われると「また同じ翻訳をしないといけないのか...やってられねえ!」となりがちです。特に、大勢で寄ってたかって翻訳した後の大更新は精神的にこたえます。
実際、Rails Guideの一部は散発的に翻訳されているようですが、こうした理由からかなかなか続かないのが現状です。
そこで、一度行った翻訳を二度と行わないで済むよう、これまでにもTechRachoでご紹介したGoogle Translator ToolkitとGithubを使用して、更新時に差分だけを翻訳すればよい体制を作りました。インフラの出費ゼロです。いい時代になったものです。
概要
内容はいたってシンプルです。Github上にある本家rails/docrailsをまるごと自分のMacにgit cloneし、その中のguides/sourceにあるマークダウンファイルを前処理(改行除去と拡張子をtxtに変更)してからGoogle Translator Toolkitにアップロードし、ここで翻訳します。翻訳した内容はセンテンス単位で翻訳メモリに蓄積されるので、次回はこれを流し込むだけで差分翻訳を開始できます。
翻訳が完了したら再び自分のMacに取り込んで後処理(拡張子をmdに戻す)を行い、自分のリポジトリにgit pushします。なお私のリポジトリはそのまんまhachi8833/docrailsにあります。ブランチはひとまずgit-flowをそのまま適用してdevelopで動かしてます。
本当は大元のrails/docrailsリポジトリから直接原文をGoogle Translator Toolkitに取り込みたかったのですが、2つの理由からいったんローカルPCに取り込むことにしました。
- Google Translator Toolkitがマークダウン(.md)に対応していない。これはまことに惜しい点です。テキストに対応しているのですから、Googleなら秒殺でマークダウンにも対応できるはずなのですが。そこで前処理その1として、拡張子をいったん.mdから.txtに変更します。
- Rails Guideのあちこちに邪魔な改行がある。これも非常にいまいましい点です。以下のように文章が改行で分断されていると、翻訳メモリの効果が台無しになってしまいます。スクリプトで改行を外すと事故が怖いので、前処理その2として目視でこれらの改行を取り除きます。時間ができたら本家にpull requestしようと思います。
Google Translator ToolkitがGithubリポジトリを直接取り込んで翻訳でき、さらに翻訳後にpushまでできたら最高なのですが。いかがですか、Googleさん。
今後
体制ができたので、ぼちぼちRails Guideの他の章も翻訳しようかと思っています。今のところ自分ひとりで回す前提ですが、Google Translator Toolkit上での翻訳と、 Githubでのレビューは複数で作業できます。もしご協力いただける方がいましたらコメント欄にてお知らせください。訳文へのツッコミも歓迎しますので、upgrading_ruby_on_rails.mdまでどうぞ。
Railsに限らず、他の翻訳プロジェクトの参考になれば幸いです。