この記事は、PHP Advent Calendar 2019の18日目の記事です。
TL;DR
- CakePHPなどフレームワークの多くには、コミュニティでメンテされている日本語翻訳ドキュメントが存在する
- ドキュメントの変更を追って自ら翻訳対応していくことで、英語力とフレームワーク自身の理解が進む
CakePHP Book
つい最近、メジャーバージョンアップ(4)がリリースされたことで話題(!?)のCakePHPには、開発者向けのドキュメントとしてCakePHP Bookというものが公開されています。
CakePHPを触ったことがある方なら一度は訪れたことがあるサイトかと思います。CakePHPはOSSですので、もちろんこのサイト自体も、GitHubに公開されています。
こちらのサイトは、様々な言語で翻訳されており、特に日本語ドキュメントのメンテナンスも盛んに行われています。
筆者自身も昨年からちらほらと翻訳やもとの英語ドキュメントを修正したりしています。
山があるのは、マイナーバージョンアップ時の移行ガイドを翻訳した際のものです。
3.7 Migration Guide: https://github.com/cakephp/docs/pull/5950
3.8 Migration Guide: https://github.com/cakephp/docs/pull/6128
3.9 Migration Guide: https://github.com/cakephp/docs/pull/6228
CakePHP Bookの翻訳を継続してやってみると色々メリットがあったので紹介して、あわゆくば、読んでいただいた方々をこちらの沼に誘えればと思います。
ドキュメント翻訳のメリット
仕様の変化をおえる
これは、特に移行ガイドを翻訳する際の気づきですが、ただ流し読みするのではなく、一文づつ翻訳していくため、どのような変更が行われたのかを知ることに繋がります。また、どう訳していいかわからない場面において、一度その機能の仕様自体を調べるので、普段業務で触れない部分についての理解を深めることが出来ます。
さらに、継続してバージョンアップの移行ガイドをやっていくと、ちょっとした傾向みたいな部分も見えてきます。とくにCakePHP3.6以降は、CakePHP4に向けた非推奨機能の追加が多かったのですが、なんとなくの情報として得るのと、実体験としてドキュメントメンテナンスを通じて知るのでは大きな違いがあります。
対応する技術的な英語文を知れる
シンプルですが、英語文を訳して読んでいく際に、普段、日本語で見聞きする技術的単語や文章がどういうふうに表現されるのかを知る切っ掛けに繋がります。「英語がなければなるべく翻訳されたやつがいい」という方でも、強制的に英語に立ち向かう土俵に立つので、強制的な英語学習となります。
コミュニティのコアな方々と触れ合える
ドキュメントをメンテナンスするような方は、そのフレームワークにおいて、非常に熱量の高い方々が多いです。そのような方々とGitHub上で触れ合えることは刺激になります。また、そこでやっておくとリアルであった際にすでにGitHub上でコミュニケーションを取っているので話の種に繋がります。コミュ力がなくても事前に知ってもらえるのはメリットですね。
ドキュメントを翻訳したいぞと思ったら
「CakePHP Cookbook を直す方法(表示確認してからプルリクエストを出すまで)」という記事にて、 @tenkoma さんが環境構築の仕方から丁寧に解説してくださっています(さすが丁寧のてんこまさん!)。CakePHP Bookは、PHPコミュニティで広く知られている上に、修正ポイントが多く、コントリビュートチャンスは非常に多くなっています。ぜひ、チャレンジしてみてください!