Skip to content

Commit ebdf588

Browse files
committed
AI使った翻訳手順をREADMEに追記
1 parent e6d78f1 commit ebdf588

2 files changed

Lines changed: 69 additions & 0 deletions

File tree

‎AGENTS.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,10 @@
66
- 重要な用語は既存 PO から用例を検索してください。検索対象は `.tx/config` に載っている現行 PO を基本とし、未翻訳・fuzzy・obsolete のエントリーを訳例として採用しないでください。
77
- 明示された用語の決定を優先し、文体は対象節の既存訳に合わせてください。
88
- 既存訳が食い違う場合は黙って統一せず、レビュー資料に候補と判断理由を記載してください。
9+
10+
## 語順と読点
11+
12+
- 日本語として自然な語順に組み替え、主語と述語、修飾語と被修飾語を近づけてください。
13+
- 理由・条件などの説明は、主語と述語の間に挟まず、文頭に置くことを検討してください。
14+
- 読点は意味のまとまりを区切るために使い、主語の直後に機械的に打たないでください。
15+
- 読点で読みやすくしようとする前に、語順を見直してください。

‎README.md‎

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,68 @@ https://www.python.org/dev/peps/pep-0545/#repository-for-po-files
44

55
Please see [CONTRIBUTING.md](.github/CONTRIBUTING.md)
66

7+
## AI Agentを使った翻訳作業
8+
9+
AI Agent に PO ファイルの翻訳と差分の作成を依頼し、人が Markdown でレビューします。
10+
修正を繰り返して訳文が確定したら、Transifex に送信します。
11+
例えば、次のように依頼して作業を始めます。
12+
13+
> tutorial からファイルを1つ選んで、既存訳の改善と未訳部分の翻訳をして。
14+
> 関連する翻訳も確認して文体や用語を選び、差分は Markdown にして見せて。
15+
16+
1. **対象と関連する訳例を確認する。**
17+
対象の PO 全体と [AGENTS.md](AGENTS.md)、[用語集](scripts/python_global_japanese-ja.csv)
18+
を読みます。用語集は `translation_ja` を基準に、`pos` と `notes` で適用する文脈を確認します。
19+
関連するチュートリアルやライブラリの説明も読み、文体と訳語を選びます。
20+
訳例は `.tx/config` に登録された現行 PO から探し、未訳・fuzzy・obsolete のエントリーは採用しません。
21+
22+
2. **既存訳を改善し、未訳部分を翻訳する。**
23+
誤訳、訳抜け、不自然な語順や読点を見直します。
24+
原文、参照先、数式、コード例の計算式や出力を保持し、コード例では必要に応じてコメントを翻訳します。
25+
既存訳に揺れがある場合は、候補・採用した訳語・判断理由・参照した PO をレビュー資料に記載します。
26+
27+
3. **差分を Markdown にする。**
28+
`scripts/po_review.py` で、対象ファイルの原文・変更前・変更後を並べた資料を生成します。
29+
翻訳件数、主な修正理由、訳語の判断理由、検証結果も補足します。
30+
例えば `tutorial/floatingpoint.po` の差分は次のコマンドで確認できます。
31+
32+
```sh
33+
python scripts/po_review.py --base HEAD tutorial/floatingpoint.po -o translation-review-floatingpoint.md
34+
```
35+
36+
4. **人がレビューし、修正を反映する。**
37+
Markdown の該当箇所を示して、訳語や文章の修正を依頼します。
38+
AI Agent は PO を修正し、その都度 Markdown を再生成します。
39+
再生成すると出力ファイルは上書きされるため、追記したレビュー補足は保持して戻します。
40+
今後も適用する訳語の決定は用語集に、語順や読点などの翻訳ルールは `AGENTS.md` に反映します。
41+
例えば、コマンドラインの文脈では「実引数」ではなく「引数」を使う、といった使い分けを残します。
42+
43+
5. **変更内容を検証する。**
44+
`git diff --check`、PO の構文・重複チェック、reStructuredText の検査を行います。
45+
参照、数式、コード、出力が保持されていることを確認し、必要に応じてコード例を実行します。
46+
実施した検証と、HTML ビルドなど未実施の検証をレビュー資料に記載します。
47+
`polib` と `sphinx-lint` は `python -m pip install polib sphinx-lint` でインストールできます。
48+
49+
```sh
50+
git diff --check -- tutorial/floatingpoint.po
51+
sphinx-lint --enable all --disable line-too-long tutorial/floatingpoint.po
52+
```
53+
54+
6. **確認済みの日本語訳を Transifex に送信する。**
55+
レビュー後に「このファイルの日本語訳を tx push して」と依頼します。
56+
Transifex CLI と認証を設定した環境で、対象ファイルだけを送信します。
57+
このリポジトリの `.tx/config` は `<lang>/LC_MESSAGES/` 以下を参照するため、
58+
例えば `tutorial/floatingpoint.po` は一時ディレクトリの
59+
`ja/LC_MESSAGES/tutorial/floatingpoint.po` にコピーします。
60+
一時ディレクトリの `.tx/config` には、元の設定の `[main]` と対象リソースの節だけをコピーし、
61+
`file_filter` を `<lang>/LC_MESSAGES/tutorial/floatingpoint.po` にします。
62+
**その一時ディレクトリに移動して**次のコマンドを実行し、対象リソースの `[ja]` に対する
63+
`Uploading file` と `Done` を確認します。
64+
65+
```sh
66+
tx push --translation --languages ja
67+
```
68+
769
## ローカルの翻訳差分をレビューする
870

971
`scripts/po_review.py` は PO の差分を原文・変更前・変更後を並べた

0 commit comments

Comments
 (0)