-
Notifications
You must be signed in to change notification settings - Fork 13
Get started with translation of Mozilla documentations
これは、Google、Microsoft、Mozilla が共同でメンテナンスしている Web 開発者向けのドキュメントサイト、MDN Web Docs プロジェクトの開発ドキュメントを翻訳する作業ステップを簡単にまとめたものです。このページのオリジナルは、2015-03-25に行われた MDN 翻訳ミートアップで、marさんが解説してくれた内容を元に、catchさんが整理したものです(元ページ)。MDN の現状に合わせて、適宜更新を加えています。
ミートアップのスライド経由でこのページにいらっしゃった方は「作業ステップ」の内容はすでにスライドで説明済みかと思いますので、「作業上のヒント」や「FAQ」 などのセクションを読むと役立つかもしれません。
MDN 日本語版では、Web 開発者向けドキュメントである MDN Web Docs の日本語訳を作成しています。
各ドキュメントは、英語ページは en-US
、日本語ページは ja
の階層に配置します。
(例)
原文 : https://developer.mozilla.org/en-US/Firefox
日本語: https://developer.mozilla.org/ja/Firefox
各ページのLANGUAGE(言語)アイコン(右上)でも、翻訳済みの言語が確認できます。
まだ未翻訳のドキュメントがあった場合、翻訳のリクエストと作業の進捗状況は、以下で確認できます。
- GitHub mozilla-japan/translation
- GitHub mozilla-japan/translation 翻訳リスト
- GitHub mozilla-japan/translation 翻訳Wiki
- 最近の変更リビジョン | Mozilla サポート
API documentation status overview – The MDN project翻訳の進捗状況(Overview – The MDN project)タグ「editorial」の付いた要レビュー記事
MDN Web Docs の内容は、github で管理されています。(2020年の終わりごろまでは、一種の Wiki でした) 翻訳の反映も、github の Pull Request を利用して行います。
GitHub のアカウントが必要ですので、持ってない方は取得してください。 (https://github.com/)
GitHub のアカウントをすでに持っている人はそのアカウントを使えます。 サインインしてください。
なお、MDNそのもの にも github のアカウントでサインインできます。(貢献者としてのプロファイルを登録できます。以前は、編集のために MDN へのサインインが必須でした。)
上記の「原文ページと翻訳ページのURL対応」や「翻訳リクエストとステータス」を参考に、作業するページを選びます。自分が得意/知識を持つジャンルや、興味を持つページから始めるのがオススメです。最初から長いページを選ぶと挫折してしまう場合もあるので、ペース配分に注意しましょう。
github の mdn/translated-content/files/ja 以下から、対応するファイルを見つけます。 MDN の URL 階層と、github リポジトリの格納場所の階層とは一致しています。
まだ日本語ページがない場合、mdn/content/en-US 以下から、対応する原文のファイルを見つけます。 → mdn/translated-content 側に追加する手順が必要 (ToDo)
既存の訳に、軽微な変更(数文字の誤字訂正など)をする場合は、ブラウザーから直接 github の編集機能を使うのが簡単です。 (必要であればリンクをたどって)目的のファイルまで移動します。
それ以上の編集が必要な場合、新規の訳を追加する場合には、必要なツールをインストールした上で、下記にあるような準備作業をします。 このあたりの説明と ツールの1つ yarn へのリンクは、 https://github.com/mdn/content#setup にあります。 (Debian系の Linux では、 yarn は yarnpkg パッケージに含まれています。 また、Node.js の 14.x が必要なので、Debianリポジトリのものが古い場合 ──buster 用の node.js は 10.x── は、Node.js 開発元の案内を参考に、新しいものをインストールしてください。)
yarn のインストールが済んだら、以下の手順で、ローカルでMDNサイトのテスト実行ができる環境を構築します。
- GitHubブラウザ上でmdn/contentリポジトリをforkする。
- Githubブラウザ上でmdn/translated-contentリポジトリをforkする。
- forkしたレポジトリをローカルへ`git clone`する。 (mdn/content が約300MB、 mdn/translated-contentが約650MBです。 2021年4月時点)
- クローンしたcontentレポジトリへ移動して`yarn install`を実行する。 (Debian系の Linux では、 `yarnpkg install` コマンドの実行前に NODE_PATH の設定が必要なことがある。)
- ローカルのcontentレポジトリに`.env`ファイルを追加してtranslated-contentリポジトリ内のfilesディレクトリを環境変数CONTENT_TRANSLATED_ROOTに設定する。
- yarn startを実行する。
- ブラウザでlocalhost:5000へアクセスする。
- ローカルでMDN Web Docsのテスト環境が動作する。
- localhost:5000/ja/<ページ>で日本語ページを確認できる。
ローカルでMDNのサイトをテスト実行できるようになりました。
あとはtranslated-content/files以下の目的のファイルを更新、テスト実行して正常動作と見た目を確認、OKならfork元へプルリクエストを出すということですね。
forkからのpull requestの流れはなんとなく以下のサイトを確認中です。
http://kik.xii.jp/archives/179contentリポジトリに配置する`.env`ファイルのCONTENT_TRANSLATED_ROOTの値ですが、ホームディレクトリを$HOME、~で指定するとエラーでした。
ルート(/)からのフルパス指定だと正常動作しました。
http://localhost:5000/ja にアクセスして翻訳/修正したいページまで行く
該当するファイルをエディタで開くか、ページ上部のOpen in your editor でエディタを開くか Quick-edit で編集する(と、localhostに反映されるので確認する)
forkしたリポジトリの作業ブランチにコミット->pushする
基本的に HTML で記述されています。
(ToDo このあたりは Yari でも該当?) MDN 専用テンプレート({・・・})もあるので、そこはいじらないよう注意するといいでしょう。HTML タグの中の ID 属性も、修正しないでください。
とはいえ、英語文を日本語にするのが大事です。細かなタグや属性は、レビューで直してもらえる(こともある)。
Github の Pull Request を作成します。
Githubのmdn/translated-contents ページからPullRequestを生成(自動でレビュワーが設定される。レビュワーは自分から変えたりできない模様)
スラグとは、URLの中で一番右にある / 以下のフレーズで、システム的には格納場所のディレクトリ名です。従来は、言語ごとに編集することができましたが、Yari では原文に統一することになりました。
たとえば、ページ内のリンクが https://developer.mozilla.org/en-US/Firefox
となっていたら、en-US/
の部分を ja/
に置換します。
このようにすると、日本語のページに飛ぶようになります(日本語ページがまだない場合は翻訳のお誘いが表示されます)。
※以前は en-US/
を削除するという方法もありましたが、この場合との違いについては、こちらを参照してください。
“編集”ボタンの右の歯車のアイコンをクリックすると、詳細メニューが開きます。
ここで”履歴”を選択すると、そのページの編集履歴を見ることができます。
「ソースの表示」ボタンをクリックすると、Wikiのソースを表示して、直接編集できるようになります。
ソースを直接編集する場合は、タグの閉じ忘れに注意してください。閉じ忘れは自動補完されますが、不完全な場合があるため、構造的によろしくない感じになってしまうことがあります。
ページの末尾に、ページの種類ごとにタグを付与することができます。とりあえず、英語ページと同じタグを割り当てるといいでしょう。
タグが複数ある場合は、カンマで区切ります。
たとえ記事が英語版の翻訳であったとしても、すべてのページに少なくともひとつのタグが付ける必要があります。
検索結果のフィルタリングや貢献者同士の規約として使われているタグは翻訳されるべきではありません。より詳しいルールや使い方などは、How to properly tag pages をご参照ください。なお、既存のタグで記事の中身を表せない場合には、新たなタグを自由に作ることができます。
PRが承認されてから、(ToDo 定期的な cron による更新??)編集結果が公開されます。
以下のフラグで、読者にページの状態を伝えることができます。
- Localizationフラグ:作業中
Reviewフラグは、次のものがあります。
始める前に、とりあえず保存すると、他の人が編集できないようにロックされる。※編集状態フラグを立てても、編集ロックされる仕様はありません。
気にせず翻訳を始めるのが吉です。
一度にページの全部を翻訳しなくても構いません。タイトルと見出しだけとか、テキストを段落ごとに置き換えていくのでもいいです。
※ページ中のセクション id を利用するマクロ(Page マクロ等)やセクション指定のリンクがうまく行かないときも同じ解決手順になります。
ライブサンプル (EmbedLiveSample) を使う場合、要素の中のテキストコンテンツと EmbedLiveSample ライブサンプルの引数が一致する必要があります。また、id 属性には何を付けていても保存時にテキストコンテンツの値で上書きされてしまいます。
これは、name 属性をつけることで防げます。
<!-- 原文 -->
<h2 id="Examples">Examples</h2> <!-- ライブサンプルに使われる見出し -->
{{EmbedLiveSample("Examples")}}
<!-- 日本語訳 -->
<h2 id="Examples" name="Examples">例</h2> <!-- 必ず name 属性を追加する -->
{{EmbedLiveSample("Examples")}}
詳しくはこちらの記事をご覧下さい: https://qiita.com/sutara79/items/940948f9ba786cecd985#%E4%B8%8D%E5%85%B7%E5%90%88
- Slack の Mozilla Japan の translation チャンネル
- Mozilla 翻訳グループ – Google グループ
- Mozilla 翻訳フォーラム
- Twitter Mozilla 翻訳ハッシュタグ