Next.js 日本語翻訳プロジェクト 2020

4 min read読了の目安(約3900字

これは Next.js Advent Calendar 2020 の10日目の投稿です。

2年前の Next.js Advent Calendar 2018 で、そのとき進めていた Next.js ドキュメントの日本語翻訳プロジェクトを紹介しました。

https://fiveteesixone.lackland.io/2018/12/08/nextjs-docs-japanese-translation-project/

当時からかなり Next.js ドキュメントの日本語翻訳を取り巻く状況が変わっているので、改めて紹介したいと思います。

Next.js 日本語翻訳プロジェクト

Next.js の公式ドキュメント を日本語に翻訳する非公式のプロジェクトが「Next.js 日本語翻訳プロジェクト」です。

https://github.com/Nextjs-ja-translation/Nextjs-ja-translation-docs

このプロジェクトは、

https://github.com/Shinyaigeek

https://github.com/hiro08gh

が中心となって発足しました。

プロジェクトでは多くの方にコントリビュートいただき精力的に翻訳を進めています。そしてその成果としてのドキュメント日本語訳はこちらで公開されています。

https://nextjs-ja-translation-docs.vercel.app

翻訳の進捗状況などはこの issue から確認できます。

https://github.com/Nextjs-ja-translation/Nextjs-ja-translation-docs/issues/3

プロジェクトの経緯

本投稿の冒頭で紹介した2年前の記事のプロジェクトでは、僕がメインのメンテナとして日本語訳を進めていましたが、本業の方が忙しくなってしまいなかなか更新できない状況が続いていました。特に、ドキュメント内容に大幅な変更が入ったことや、オリジナルのサイトやリポジトリの構造が大きく変わったことに追従できていない課題がありました。

そんなときに @Shinyaigeek さんから issues でコンタクトいただいたときに、こちらから半分お願いする形でプロジェクトを引き継いでいただきました。

以後、新たに Nextjs-ja-translation organization として新生し、旧翻訳プロジェクトのリポジトリも organizaion に transfer しました。

https://github.com/Nextjs-ja-translation

そして、オリジナルのサイト・ドキュメントの刷新に対応するために新規に用意された日本語翻訳用のプロジェクトが、前掲した Nextjs-ja-translation-docs リポジトリとなります。

旧プロジェクトが放置になってしまいそうだったところを引き継いでくれて本当に感謝しています。

翻訳を公開しているサイトも新しく作り直したので、旧サイトへのアクセスは新サイトへリダイレクトさせるようにしています。

プロジェクトのこれから

Next.js サイトのクローズドソース化について

Next.js のドキュメントが公開されている公式サイトのソースコードは、これまで next-site として GitHub 上にオープンソースで公開されていました。しかし、Next.js Conf で v10 が発表されたタイミングでクローズドソースとなり公開が停止されています。

Next.js v10 では、i18n に関する機能が追加されています。あくまで推測ではありますが、このソースコードの非公開化は、この i18n 機能を利用した多言語化などにも関連するのかもしれません。もしそうであるとすると、Next.js のサイトが公式に多言語化されることになるでしょう。

こういった状況を受けて、2020年12月現在、Next.js 日本語翻訳プロジェクトでは新規翻訳の取り込みなどを一時的に停止して様子見をしています。

今後また公式サイトのソースコードが公開されるのか、また、公式に多言語化されたときにその翻訳はコミュニティに委ねられるのか、それとも Vercel が主導するのかなど現段階では不明です。ただ、見通しが立たない状況が続いているので、日本語翻訳プロジェクトとしては、そろそろドキュメントの日本語訳作業を再開することについて議論をしているところです。

翻訳の更新について

OSS の翻訳では特に大事なのですが、継続的にオリジナルの文書が更新されるプロジェクトでは、どのようにしてその更新を取り込み継続的に翻訳を更新していくか、というのが最大の課題になると考えています。

以前、プログラミング言語 Crystal のドキュメントを翻訳したときは、CLI ツールを作って Git コミット差分から自動的にオリジナル側の更新を取得できるようにして、OmegaT という CAT (Computer-Assisted Translation) ツールと連携させて継続的に翻訳しやすい仕組みを作りました。

https://qiita.com/5t111111/items/d1e40b907e5e58e4c71d

Next.js 旧日本語翻訳プロジェクトでも、OmegaT を利用していました (現在のプロジェクトでは利用していません) 。

https://github.com/Nextjs-ja-translation/nextjs-docs-ja-omegat

翻訳プロジェクトは、初回以降の更新管理でメンテナの負荷が非常に高くなりがちなので、新生 Next.js 日本語翻訳プロジェクトでも、今後は何かしら作業負荷を軽減し効率的にオリジナルの更新差分を翻訳していける仕組みを作れればよいな、と思っています (この辺りまだプロジェクトで議論できていないので、あくまで僕個人の考えです) 。

Google Translator Toolkit 亡き今、翻訳メモリの利用できるフリーの CAT ツールとなるとやはり同様に OmegaT が第一候補になるかなと思います。もしかしたら公式が多言語化された場合には Crowdin といった翻訳支援 SaaS が導入されるなどもあり得るかもしれませんが。

Next.js 日本語翻訳プロジェクトに参加する!

Next.js の日本語翻訳プロジェクトに参加したい!ですか?ありがとうございます!

翻訳にご協力くださる場合、まずはプロジェクトのリポジトリの READMEこの issue をご覧ください。手順などは基本的にすべてここにまとまっています。

もし不明点などがあればココ👈から Slack に参加いただき、#questions チャンネルでお気軽にご質問ください。

また、貢献の形は実際に翻訳するだけではありません。もし誤字脱字や表記揺れ、より良い翻訳の案などがあれば、こちらの issue から報告ください。

前述の通り、Next.js 公式の動きを受けて、直近では一時的に翻訳の取り込みを停止している状況ではありますが、日本語ドキュメントを一層良くしていくためにご協力お待ちしています!