Ruby on Rails 4.1リリース前にアップグレードガイドを先行翻訳 & 同じ翻訳を2回しないで済むようにした

こんにちは、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を生成しました。
railsguide

翻訳は、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を使用して、更新時に差分だけを翻訳すればよい体制を作りました。インフラの出費ゼロです。いい時代になったものです。

概要

以下の図のような流れになります。
chart

内容はいたってシンプルです。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しようと思います。
  • linefeed

Google Translator ToolkitがGithubリポジトリを直接取り込んで翻訳でき、さらに翻訳後にpushまでできたら最高なのですが。いかがですか、Googleさん。

今後

体制ができたので、ぼちぼちRails Guideの他の章も翻訳しようかと思っています。今のところ自分ひとりで回す前提ですが、Google Translator Toolkit上での翻訳と、 Githubでのレビューは複数で作業できます。もしご協力いただける方がいましたらコメント欄にてお知らせください。訳文へのツッコミも歓迎しますので、upgrading_ruby_on_rails.mdまでどうぞ。

Railsに限らず、他の翻訳プロジェクトの参考になれば幸いです。

デザインも頼めるシステム開発会社をお探しならBPS株式会社までどうぞ 開発エンジニア積極採用中です! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

hachi8833

Twitter: @hachi8833、GitHub: @hachi8833 コボラー、ITコンサル、ローカライズ業界、Rails開発を経てTechRachoの編集・記事作成を担当。 これまでにRuby on Rails チュートリアル第2版の監修および半分程度を翻訳、Railsガイドの初期翻訳ではほぼすべてを翻訳。その後も折に触れて更新翻訳中。 かと思うと、正規表現の粋を尽くした日本語エラーチェックサービス enno.jpを運営。 実は最近Go言語が好きで、Goで書かれたRubyライクなGoby言語のメンテナーでもある。 仕事に関係ないすっとこブログ「あけてくれ」は2000年頃から多少の中断をはさんで継続、現在はnote.muに移転。

hachi8833の書いた記事

夏のTechRachoフェア2019

週刊Railsウォッチ

インフラ

ActiveSupport探訪シリーズ