# 中国語から日本語への貢献ガイドライン 「Hello アルゴリズム」を中国語から日本語に翻訳するにあたり、以下のアプローチを採用しています: 1. **AI翻訳**: 大規模言語モデルを使用して初期翻訳を実施します。 2. **人による最適化**: 機械生成された出力を手動で改良し、正確性と自然さを確保します。 3. **プルリクエストレビュー**: 最適化された翻訳は、GitHubのプルリクエストワークフローを通じてレビュアーによって二重チェックされます。 4. さらなる改善のため、ステップ `2.` と `3.` を繰り返します。 translation_pipeline ## 参加方法 以下の基準を満たす貢献者を求めています: - **技術的背景**: コンピュータサイエンス、特にデータ構造とアルゴリズムに関する強固な基礎知識 - **言語スキル**: 日本語ネイティブまたは日本語に精通した方、中国語の読解力 - **利用可能な時間**: オープンソースプロジェクトへの貢献に専念し、長期的な翻訳作業に参加する意欲 つまり、私たちの貢献者は、さまざまな言語背景を持つコンピュータサイエンティスト、エンジニア、学生であり、それぞれの目的には異なる焦点があります: - **中国語読解力を持つ日本語ネイティブ**: 中国語版と日本語版の間の翻訳の正確性と一貫性を確保する - **日本語に精通した中国語話者**: 日本語コンテンツの自然さと流暢さを向上させ、自然で読みやすいものにする > [!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) ```