guide.elm-lang.org 日本語化プロジェクト
たまに大元のプロジェクトの変更をマージします。
え? 貢献してくれるんですか?! It's super helpful!
現状では本家の最新版と翻訳版のバージョンが一致しているので、あらたに翻訳していただくものはありません。 代わりに「ここはちょっと日本語としてわかりにくいなぁ」とか「説明が足りない気がする」みたいなのがあれば、ぜひ改善のご提案をいただけると嬉しいです!
他の方が翻訳した内容をレビューしていただける方も大募集です! ご都合の良いときにマージ前のプルリクに対して「もしかしたらここはこうしたらもっとわかりやすくなるかも!」みたいなコメントをつけていただくだけです。 翻訳作業もレビュアーとしての参加もとてもとてもありがたいです!
新しく追加されてまったく翻訳されていないページの翻訳方法です。
./book
以下のファイルの英語の原文をコメントアウトして、その下に日本語を記入していきます。
サンプル
$ npx pretranslate ./book/your_file_to_translate
を実行することで、自動的に対象ファイルをパラグラフごとにコメントアウトし、さらに ./book/about_translation.md
の対訳表にしたがって文中に出てくる用語の標準的な対訳を付記してくれます。
対訳表自体は手動で更新が必要です。重要そうな単語を訳した際に都度対訳表に追加してください。
既存のページのコンテンツが変わった場合に、<!-- TODO -->
とコメントをつけて英語のままになっているところがあります。
こういうところの翻訳をして、<!-- TODO -->
を削除してください。
翻訳の方針については翻訳についてを事前にご確認ください。
せっかく翻訳していただいたのに、実は同時に他の人が同じところを翻訳していて先にPRを出されちゃったらすごくもったいないですよね? それを防ぐためにまず対応する issue を探して「これを担当します」とコメントするか、権限がある方は自分を assign してください。 他の人が「お、これは作業中だな」と気づくのでオススメです!
また、こちらは任意ですが
$ git checkout -b ${your_branch_name}
$ git commit --allow-empty -m 'Empty commit'
$ git push origin ${your_branch_name}
のように空のコミットでブランチをプッシュして、「[WIP] interop/flags.md」 みたいなタイトルのPRを作っても良いでしょう。
まず下記のコマンドで依存するプログラムをインストールします。 (ついでにページ埋め込み型 repl 用のソースをコンパイルしたりいろいろします)
$ npm i && npm run postinstall
下記のコマンドで開発サーバーが立ち上がります。
$ npm start
...
...
Starting server ...
Serving book on http://localhost:4000
http://localhost:4000
にアクセスすることで表示の確認ができます。
いまはCIが自動でやっていますが、念のため記載しておきます。
$ git checkout master
$ npm run build
$ git add docs && git commit -m 'Update docs' && git push origin master
原文も更新されているので、ときどき更新に追従しないといけません。
原文に追従する際は、git
のちからを借りて基本的に以下のフローにそって手作業でがんばります。
- 事前にEvanの元リポジトリを別の
remote
として登録しておく
$ git remote add evan github:evancz/guide.elm-lang.org.git
$ git remote -v
evan github:evancz/guide.elm-lang.org.git (fetch)
evan github:evancz/guide.elm-lang.org.git (push)
origin github:elm-jp/guide.git (fetch)
origin github:elm-jp/guide.git (push)
- 最新の
evan/origin
をfetchして日本語版のmasterにマージしたブランチを作成する
$ git checkout master
$ git pull origin master
$ git fetch evan
$ git checkout -b merge-evan
$ git merge evan/master
この段階でめっちゃコンフリクトが起きるので頑張ってうんしょうんしょと解決する。 事前にどこが変更されているかを確認しておくと、変なマージをしてしまうのを防げます。
typoやちょっとした変更であればこの場で変更を翻訳に反映させてしまいますが、大きな変更の場合は変更部分のみ原文に置き換え、
上部に <!-- TODO -->
と記載しておきます。
あとで誰かがそこの翻訳をしてくれることでしょう。
例:
<!--
This sentence is not modified by this change.
-->
ここの文章は特に変わりなく昔からあるものです。
<!--
This sentence is inserted anew.
-->
<!-- TODO -->
This sentence is inserted anew.
マージ後に、about_translation.md
の「 翻訳がベースとしているバージョンと英語版の最新バージョンとの差分」のところのURLを最新のものに変更してください。