RFCを翻訳するツール群 & 翻訳済みRFCサイト
- RFCの英語を読むのが辛いので、Google翻訳した文を横に並べたものを読みたい。 RFCの日本語訳リンク集では原文と日本語訳が別々のページで、日本語訳が正しいのか判断しにくい問題がある。
- RFCの本文は改行済みのため、改行を削除してからGoogle翻訳に貼り付けないと正しく翻訳されない。改行を削除する煩わしさを解決する。
- src/fetch_index.py: RFC一覧の取得。取得先: https://tools.ietf.org/rfc/index
- src/fetch_rfc.py: 個別RFCの取得。取得先: https://datatracker.ietf.org/doc/html/rfcXXXX
- src/fetch_rfc.py: セクション毎に分割 & 改行の除去
- src/trans_rfc.py: Google翻訳で英語を日本語に変換
- src/make_html.py: セクション毎に英文と日本語文を並べて表示するページの生成
- 人手: 有名なRFCやアクセス数の多いページは翻訳修正作業などを行う
- 複数ページにまたがる図表は適切に解釈できない場合があります。
- 図や表の中に空行が含まれるときも適切に解釈できない場合があります。
- RFCのHTMLが例外的な構造になっている場合も適切に解釈できません (特に番号の小さいRFC)。
- 翻訳はRFC2220以降を対象とします (http://rfc-jp.nic.ad.jp/copyright/translate.html)。
当サイトをご利用いただきありがとうございます。 翻訳修正の手順は以下の通りです。
- html/rfcXXXX.htmlの翻訳を修正します。
- 見出しは
<h5 class="text mt-2">
を使います。1番目に英文、2番目に和文を書きます。<div class="row"> <div class="col-sm-12 col-md-6"> <h5 class="text mt-2" id="1--Introduction"> 1. Introduction </h5> </div> <div class="col-sm-12 col-md-6"> <h5 class="text mt-2"> 1. はじめに </h5> </div> </div>
- 文章は
<p class="text indent-X">
を使います。「indent-X」classでインデントの深さを指定します。<div class="row"> <div class="col-sm-12 col-md-6"> <p class="text indent-3"> Hello, world! </p> </div> <div class="col-sm-12 col-md-6"> <p class="text indent-3"> こんにちは世界! </p> </div> </div>
- 図表やプログラムは
<pre class="text text-monospace">
を使います。英文のみです。<div class="row"> <div class="col-sm-12 col-md-12"> <pre class="text text-monospace"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - - | Option Type | Opt Data Len | Option Data +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - - </pre> </div> </div>
- 最後に修正者に自動翻訳だけではない旨を記載してください
<span class="updated_by">翻訳編集 : 自動生成&有志による翻訳・編集</span>
- 見出しは
- 修正したHTMLをブラウザで開いて正しく表示されるか確認します。
- GitHub上でPullRequestを出します。
- PullRequestの差分を確認し、HTML構造に問題がないか確認します。
- PullRequestのブランチをローカルにPullします。
python3 main.py --make-json --rfc <対象RFC>
でHTMLからJSONを逆作成し、変更差分を確認します。python3 main.py --make --rfc <対象RFC>
でJSONからHTMLを作成し、変更差分を確認します。- 問題点があれば
git checkout -- html/rfc<対象RFC>.html
で元に戻して、元データの JSON やプログラムの不備を調査します。 - 問題がなければMergeし、リモートにPushします。
全体像:
詳細は、README_ForDeveloper を参照ください