Skip to content
Soichiro Miki edited this page May 19, 2023 · 20 revisions

reactjs.org 日本語翻訳プロジェクト

(2023 年 5 月: ja.react.dev 対応)

このリポジトリでは React 公式ドキュメント日本語版 (ja.react.dev) に関する作業を行っています。経緯や概要について、まずは以下の記事をご覧ください。

react.dev は Next.js によって生成される静的サイトであり、英語ドキュメントおよびブログ記事が含まれています。本リポジトリ (ja.react.dev) はそのフォークです。src/content 内にある Markdown ファイルが日本語化されているほか(一部除く)、一部のレイアウト要素に対する JavaScript レベルでのいくつかのパッチ、日本語版でのみ使う textlint などが含まれています。

メンテナ(3 名)

  • @koba04
  • @smikitky
  • @potato4d

ドキュメント翻訳の手順

環境のセットアップ

README.md にある通りですが、さらなる簡略版は以下の通りです。

  1. Git, Node, Yarn をそれぞれ準備して ja.react.dev(のフォーク)をクローン
  2. yarn で依存ライブラリをインストール
  3. yarn dev でローカルウェブサーバーが立ち上がるのを確認
  4. エディタに Prettier などによる Markdown の保存時自動フォーマットが入っている場合、フォルダまたはワークスペース単位で無効にする(自動フォーマットにより Markdown のフォーマットが壊れてしまう)

実際の翻訳

ごく普通のプルリクエストの作成手順に従います。

  1. ブランチを作成し、yarn dev でローカルサーバを開き該当ファイルをブラウザで確認する。
  2. エディタで元原稿ファイルを編集する。VS Code の場合、Git の差分エディタで左に原文・右に訳文を並べながら作業するのが楽。ライブプレビューを見ながら確認する。
  3. src/sideBar***.json の対応する見出しも書き換える。
  4. git commit する。textlint による自動フォーマットチェックが入る(後述)。
  5. git push -u main translation-foobar などとしてプルリクエストを作成する。Vercel の deploy preview が走るので正しくページが作成されていることを確認する。

メンテナ 2 名によるレビューと承認のあと、マージが行われます。

作業の重複を防ぐための宣言

未翻訳記事の翻訳を行う前に、他の人との作業の重複を防ぐため、https://github.com/reactjs/ja.react.dev/issues/452 での宣言をお願いします。宣言したら、原則 1 週間以内くらいにはプルリクエストを作成してください。万が一他の人の作業と被ってしまった場合、原則的に先にプルリクエストを作った人ではなく先に宣言した人を優先します。

textlint によるフォーマットチェック

日本語翻訳プロジェクト内では textlint というスタイルチェッカを利用しており、基本的なスタイルに関する問題(全角英数を使わない、句読点の統一など)の検出が行われます。コミットの際に自動で走るようになっていますので、PR の作成の前に、エラーが出ないようにしてください。チェックを yarn textlint で手動で行うことも可能です。

textlint でおかしなエラーが出る場合 エラーの検出の一部は単なる正規表現マッチングなので、ルール通り正確に翻訳しているにも関わらず誤検出が起きる可能性があります。例えば `優雅な時を過ごす` の「時」を形式名詞と誤判断し、`優雅なときを過ごす` のような修正指示をしてきます。可能であれば `優雅な時間を過ごす` などのようにエラーの出ない表現に置き換えつつ、プルリクエスト内で状況を報告してください。絶対に正しく、かつ代替表現がない場合、ルール側を改善(ないし削除)する必要があるかもしれません。一旦 `git commit --no-verify` でコミット前フックを無視して強制コミットした上で、プルリクエスト内で相談してください。

自動翻訳

現在大部分の翻訳は、ChatGPT Markdown Translator による AI 自動翻訳をベースに、それを手直しする、という形で進めています。このツールを利用した時点で(GPT-4 モデルなら)既に 80 点くらいの翻訳にはなり、文章もかなり自然であるため、翻訳作業に要する時間を劇的に短縮できています。可能であれば翻訳時に利用することを検討してください。こちらのプロンプト案を参考にしてください。

しかし AI 翻訳はあくまで作業のスタート地点に過ぎません。ありえないような誤訳や訳語の不統一は大量に含まれています。本ページのスタイルガイドなどを読み、必ず自身の責任において、すべての訳文を丁寧にチェックするようにしてください。ツールにかけて微修正しただけのものをプルリクエストとして出したり、自身の語学力に自信がないのにツールだけ使ってプルリクエストを出したりすることは止めてください。実質 AI 製の翻訳に対して大量にレビューコメントを付けながら修正をお願いしていると、「レビューアが上記のツールでゼロから翻訳作業しなおした方が早い」という不毛な状況になってしまいます。ほぼ自動翻訳にかけただけに見えるプルリクエストの場合、レビューせずにクローズされることもあり得ますのでご了承ください。

スタイルガイド・訳語の統一

実際の翻訳にとりかかる前に以下のページを参照してください。