FastAPIのドキュメント翻訳について書きます。FastAPIに貢献してみたい、OSSに興味がある方などへ向けた記事です。
FastAPI
FastAPIはPythonのWeb frameworkで、Flaskのようなマイクロフレームワークです。
パフォーマンスの高さ、書きやすさ、本番運用を強く意識した設計、モダンな機能などが強みです。
公式ドキュメント
FastAPIの強みの一つとして充実したドキュメントが挙げられます。
日本語ドキュメントも一部公開されています。
日本語以外にも多くの翻訳プロジェクトが立ち上がっています。10か国語に翻訳されています(2020年11/25時点)。
翻訳
FastAPIの公式ドキュメントは静的サイトジェネレーターであるMkDocsで生成されています。markdownでドキュメントを書き、yamlで構成を設定できます。
各ページ、言語に対応したmarkdownとyaml ファイルがFastAPIのレポジトリ内に配置されています。masterブランチが更新されるとGitHub Actionsで自動的にデプロイされます。
FastAPIは1人で開発されており、開発者は日本語など翻訳されているほとんどの言語を話せません。なので、各言語圏のコミュニティに翻訳を任せています。
現状、誰でも翻訳のプルリクエストを出せますし、レビューも歓迎されています。
翻訳の流れ
翻訳はページ毎 (1つのmarkdown毎) に順次プルリクエストを出す形式になっています。
プルリクエストは、レビュワーが誤字脱字などをチェックします (参考)。(注: 誰でもレビュワーになれます。何の手続きもなく、ただレビューするだけです。)
プルリクエストは、2人以上 (あくまで目安です) のレビュワーからApproveされるとマージしてもらえて、公開されます。
日本語への翻訳
日本語圏のコミュニティの貢献によって、以下の様に多くのプルリクがでており、マージされています。他言語の翻訳と比べると非常に活発な方です。
(レビューが追い付いていないですが。。。)
さいごに
ドキュメントが手厚いので翻訳対象が結構多いです。まだまだ、チュートリアルは半分以上手つかずで、レビューが必要な翻訳はそれ以上にたくさんあります。
ドキュメントは細かくセクション分けされているので一つ一つのプルリクエストは内容や翻訳の分量が様々です。興味のあるセクションがあればぜひ参加してみてください。
興味や質問がある方はぜひこちらの日本語翻訳issueへ!
翻訳に関して以下のドキュメントにより詳しい説明があります。