1200行超えのOSSドキュメント翻訳から得られた3つの学び

はじめに

こんにちは、新卒の小林です。
この記事では、私が1200行を超えるOSSのドキュメント翻訳に初挑戦してみたこと、そして、そこから得られた3つの学びについて書き記します。

挑戦したきっかけ

OSSのドキュメント翻訳を行うに至ったきっかけは、OSSコントリビューションへの単なる興味でした。

私が初めてOSSについて学んだとき、普段何気なく使っているライブラリが実は有志のコントリビュータたちによって支えられていることを知りました。 そして、「かっこいいな、自分もこの人達みたいに技術で世界に貢献したいな」と思うようになりました。

最近、それがきっかけで、私もパッケージのドキュメントを修正したりパッケージのサンプルコードを微修正したりするなど、微力ながらOSS活動に少しずつ参加するようになりました。 しかし、どれも数行程度の軽い修正だったため、どこか物足りなさを感じ、もっとインパクトのあることに挑戦したいと思うようになりました。

そんな中で見つけたのが「Freezed」というOSSのドキュメントです。Freezedとは、Flutter/Dartで非常に人気を誇るモデル生成のパッケージで、pub.devで公開されているLIKES数は3907(記事執筆現在)を高い数値を誇り、多くの人々に利用されているパッケージです。

そんなFreezedですが、英語に加えて中国語や韓国語のドキュメントはあれど、日本語のドキュメントは存在しないことに気づきました。「これは絶好のコントリビューションチャンスなのでは!?」と思い、人生初となるドキュメント翻訳への挑戦を即決しました。

想像以上に過酷な翻訳作業

後先考えずに勢いだけで始めてしまったドキュメント翻訳ですが、想像していたよりも過酷でした。 Freezedのドキュメントは、サンプルコードも含んでいるとはいえ、マークダウン形式で1200行以上あり、翻訳作業はかなり骨が折れました。

翻訳は、DeepLやChatGPT、Geminiを総動員しましたが、文章量が多すぎて一気に翻訳を行うことができなかったため、細かい文章に切り分けて何度も何度も翻訳を繰り返しました。 また、ドキュメントを読んだ方がFreezedについて理解できるように、少しでも違和感のない日本語訳になるように、最終的には時間をかけて自分の手で翻訳内容を調整しました。

こうした地道な作業を、およそ10時間ほど淡々と続けた結果、ドキュメントの翻訳が無事に完了しました。

翻訳が完了すると、Freezedのリポジトリにドキュメント翻訳の差分を含んだプルリクを提出しました。Freezedはかなりメンテナンスが行き届いているため、提出から1日足らずでプルリクがマージされました。翻訳作業はとても大変でしたが、プルリクがマージされたのを知った瞬間はとても嬉しかったです!

↓完成したFreezedの日本語版ドキュメント github.com

得られた3つの学び

最初は興味本位で始めたOSSのドキュメント翻訳でしたが、実際に挑戦してみて気づいた学びが3つあります。

1. 英語(特に技術関連)の勉強になる

これは当たり前のことかもしれませんが、1200行以上のドキュメントを翻訳したため、英語の勉強になりました。

特に、技術に関する英語の勉強になりました。翻訳を行うにあたって翻訳前の英語のドキュメントと翻訳後の日本語のドキュメントを何度も読み比べたため、技術関連の英単語や英語表現をよく学べました。

通常の英語学習では、これだけ多くの技術英語に触れる機会はないので、これはドキュメント翻訳ならではの学びだと思います。

2. OSSドキュメントの裏側を知ることができる

OSSのリポジトリを見ることで、ドキュメントの言語の切り替えの仕組みや今まで知らなかったマークダウンの記法などを学ぶことができました。

また、自分でドキュメント翻訳をやってみることで、その大変さを身を持って体感することができました。

そして、私たちが普段何気なく日本語版ドキュメントを読んでいる裏側には、これだけ大変な作業をしている有志の方々がいるということを実感しました。偉大な先人達には、本当に頭が下がります。ありがとうございます。

3. 翻訳対象の技術について網羅的な知識が身に付く

ドキュメント翻訳を通して、翻訳対象の技術について網羅的な知識が身に付きました。

普段ドキュメントを読む習慣がなかったとしても、ドキュメント翻訳を行うには、最低でも一度はドキュメントに全て目を通す必要があります。また、きちんと読み手に伝わるような翻訳を行うためにドキュメントを何度も読んで文章の内容を理解する必要もあります。わからない英語だけでなく、わからない技術があれば、都度その技術も調べる必要があります。

そのため、ドキュメント翻訳を行うことにより、その技術に対して網羅的な知識を身に付けることができるようになります。実際に、私も翻訳作業前と後では、Freezedに対する理解度が段違いに深まりました。

最後に

最初は興味本位で取り組んでみたOSSのドキュメント翻訳ですが、とても大変な一方で、やってみると多くのことを学ぶことができました。 今後もコントリビューションチャンスがあれば、さらにドキュメント翻訳に挑戦したいと思います。