mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-23 18:11:45 +08:00
* docs: add Japanese documents (`ja/docs`) * docs: add Japanese documents (`ja/codes`) * docs: add Japanese documents * Remove pythontutor blocks in ja/ * Add an empty at the end of each markdown file. * Add the missing figures (use the English version temporarily). * Add index.md for Japanese version. * Add index.html for Japanese version. * Add missing index.assets * Fix backtracking_algorithm.md for Japanese version. * Add avatar_eltociear.jpg. Fix image links on the Japanese landing page. * Add the Japanese banner. --------- Co-authored-by: krahets <krahets@163.com>
134 lines
7.3 KiB
Markdown
134 lines
7.3 KiB
Markdown
# 中国語から日本語への貢献ガイドライン
|
||
|
||
「Hello アルゴリズム」を中国語から日本語に翻訳するにあたり、以下のアプローチを採用しています:
|
||
|
||
1. **AI翻訳**: 大規模言語モデルを使用して初期翻訳を実施します。
|
||
2. **人による最適化**: 機械生成された出力を手動で改良し、正確性と自然さを確保します。
|
||
3. **プルリクエストレビュー**: 最適化された翻訳は、GitHubのプルリクエストワークフローを通じてレビュアーによって二重チェックされます。
|
||
4. さらなる改善のため、ステップ `2.` と `3.` を繰り返します。
|
||
|
||
<img width="650" alt="translation_pipeline" src="https://github.com/user-attachments/assets/201930ef-723e-4179-b670-e5a084a8211e">
|
||
|
||
## 参加方法
|
||
|
||
以下の基準を満たす貢献者を求めています:
|
||
|
||
- **技術的背景**: コンピュータサイエンス、特にデータ構造とアルゴリズムに関する強固な基礎知識
|
||
- **言語スキル**: 日本語ネイティブまたは日本語に精通した方、中国語の読解力
|
||
- **利用可能な時間**: オープンソースプロジェクトへの貢献に専念し、長期的な翻訳作業に参加する意欲
|
||
|
||
つまり、私たちの貢献者は、さまざまな言語背景を持つコンピュータサイエンティスト、エンジニア、学生であり、それぞれの目的には異なる焦点があります:
|
||
|
||
- **中国語読解力を持つ日本語ネイティブ**: 中国語版と日本語版の間の翻訳の正確性と一貫性を確保する
|
||
- **日本語に精通した中国語話者**: 日本語コンテンツの自然さと流暢さを向上させ、自然で読みやすいものにする
|
||
|
||
> [!note]
|
||
> 参加にご興味がある方は、お気軽に krahetx@gmail.com またはWeChat `krahets-jyd` までご連絡ください。
|
||
>
|
||
> 進捗管理とタスク割り当てには、この[Notionページ](https://hello-algo.notion.site/chinese-to-english)を使用しています。詳細はこちらをご覧ください。
|
||
|
||
## 翻訳プロセス
|
||
|
||
> [!important]
|
||
> 作業を開始する前に、GitHubのプルリクエストワークフローに慣れ、以下の「翻訳基準」と「翻訳のための疑似コード」を必ずお読みください。
|
||
|
||
1. **タスク割り当て**: Notionワークスペースでタスクを自己割り当てします。
|
||
2. **翻訳**: ローカルPCで翻訳を最適化します。詳細は以下の「翻訳疑似コード」セクションを参照してください。
|
||
3. **ピアレビュー**: プルリクエスト(PR)を提出する前に、変更を慎重にレビューしてください。PRは2名のレビュアーの承認後にメインブランチにマージされます。
|
||
|
||
## 翻訳基準
|
||
|
||
> [!tip]
|
||
> **「正確性」と「自然さ」は、主に中国語を理解できる日本語ネイティブスピーカーによって扱われます。**
|
||
>
|
||
> 場合によっては、「正確性(一貫性)」と「自然さ」はトレードオフの関係にあり、一方を最適化すると他方に大きな影響を与える可能性があります。そのような場合は、プルリクエストにコメントを残して議論してください。
|
||
|
||
**正確性**:
|
||
|
||
- [用語集](https://www.hello-algo.com/chapter_appendix/terminology/)セクションを参照して、翻訳全体で用語の一貫性を保ちます。
|
||
- 技術的な正確性を優先し、中国語版のトーンとスタイルを維持します。
|
||
- 修正が正確で包括的であることを確保するため、常に中国語版の内容とコンテキストを考慮してください。
|
||
|
||
**自然さ**:
|
||
|
||
- 翻訳は日本語の表現慣習に従い、自然で流暢に読めるようにすべきです。
|
||
- 記事を調和させるために、常にコンテンツのコンテキストを考慮してください。
|
||
- 中国語と日本語の文化的な違いに注意してください。例えば、中国語の「拼音」は日本語には存在しません。
|
||
- 最適化された文が元の意味を変える可能性がある場合は、議論のためにコメントを追加してください。
|
||
|
||
**フォーマット**:
|
||
|
||
- 図表は展開時に自動的に番号付けされるため、手動で番号を付けないでください。
|
||
- バグ修正を除き、各PRは管理可能なレビューサイズを確保するため、少なくとも1つの完全なドキュメントをカバーすべきです。
|
||
|
||
**レビュー**:
|
||
|
||
- レビュー中は、変更の評価を優先し、必要に応じて周囲のコンテキストを参照してください。
|
||
- お互いの視点から学ぶことで、より良い翻訳とより一貫性のある結果につながります。
|
||
|
||
## 翻訳疑似コード
|
||
|
||
以下の疑似コードは、典型的な翻訳プロセスのステップをモデル化しています。
|
||
|
||
```python
|
||
def optimize_translation(markdown_texts, lang_skill):
|
||
"""翻訳を最適化する"""
|
||
for sentence in markdown_texts:
|
||
"""正確性は主に中国語を理解できる日本語ネイティブスピーカーによって処理される"""
|
||
if lang_skill is "日本語ネイティブ + 中国語読解力":
|
||
if is_accurate_Chinese_to_Japanese(sentence):
|
||
continue
|
||
# 正確性を最適化
|
||
result = refine_accuracy(sentence)
|
||
|
||
"""
|
||
自然さは主に日本語ネイティブスピーカーによって処理され、
|
||
副次的に中国語話者によって処理される
|
||
"""
|
||
if is_authentic_Japanese(sentence):
|
||
continue
|
||
# 自然さを最適化
|
||
result = refine_authenticity(sentence)
|
||
# 一貫性を損なう可能性がある場合はPRにコメントを追加
|
||
if break_consistency(result):
|
||
add_comment(description)
|
||
|
||
pull_request = submit_pull_request(markdown_texts)
|
||
# PRは2名以上のレビュアーによる承認後にマージされる
|
||
while count_approvals(pull_request) < 2:
|
||
continue
|
||
merge(pull_request)
|
||
```
|
||
|
||
以下はレビュアー向けの疑似コードです:
|
||
|
||
```python
|
||
def review_pull_requests(pull_request, lang_skill):
|
||
"""PRをレビューする"""
|
||
# PR内のすべての変更をループ
|
||
while is_anything_left_to_review(pull_request):
|
||
change = get_next_change(pull_request)
|
||
|
||
"""正確性は主に中国語を理解できる日本語ネイティブスピーカーによって処理される"""
|
||
if lang_skill is "日本語ネイティブ + 中国語読解力":
|
||
# 中国語版と日本語版の間の正確性(一貫性)をチェック
|
||
if is_accurate_Chinese_to_Japanese(change):
|
||
continue
|
||
# 正確性(一貫性)を最適化
|
||
result = refine_accuracy(change)
|
||
# PRにコメントを追加
|
||
add_comment(result)
|
||
|
||
"""
|
||
自然さは主に日本語ネイティブスピーカーによって処理され、
|
||
副次的に中国語話者によって処理される
|
||
"""
|
||
if is_authentic_Japanese(change):
|
||
continue
|
||
# 自然な日本語でない場合は自然さを最適化
|
||
result = refine_authenticity(change)
|
||
# PRにコメントを追加
|
||
add_comment(result)
|
||
|
||
approve(pull_request)
|
||
``` |