Files
hello-algo/ja/CONTRIBUTING.md
Ikko Eltociear Ashimine 954c45864b docs: add Japanese translate documents (#1812)
* 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>
2025-10-17 05:04:43 +08:00

7.3 KiB
Raw Permalink Blame History

中国語から日本語への貢献ガイドライン

「Hello アルゴリズム」を中国語から日本語に翻訳するにあたり、以下のアプローチを採用しています:

  1. AI翻訳: 大規模言語モデルを使用して初期翻訳を実施します。
  2. 人による最適化: 機械生成された出力を手動で改良し、正確性と自然さを確保します。
  3. プルリクエストレビュー: 最適化された翻訳は、GitHubのプルリクエストワークフローを通じてレビュアーによって二重チェックされます。
  4. さらなる改善のため、ステップ 2.3. を繰り返します。
translation_pipeline

参加方法

以下の基準を満たす貢献者を求めています:

  • 技術的背景: コンピュータサイエンス、特にデータ構造とアルゴリズムに関する強固な基礎知識
  • 言語スキル: 日本語ネイティブまたは日本語に精通した方、中国語の読解力
  • 利用可能な時間: オープンソースプロジェクトへの貢献に専念し、長期的な翻訳作業に参加する意欲

つまり、私たちの貢献者は、さまざまな言語背景を持つコンピュータサイエンティスト、エンジニア、学生であり、それぞれの目的には異なる焦点があります:

  • 中国語読解力を持つ日本語ネイティブ: 中国語版と日本語版の間の翻訳の正確性と一貫性を確保する
  • 日本語に精通した中国語話者: 日本語コンテンツの自然さと流暢さを向上させ、自然で読みやすいものにする

Note

参加にご興味がある方は、お気軽に krahetx@gmail.com またはWeChat krahets-jyd までご連絡ください。

進捗管理とタスク割り当てには、このNotionページを使用しています。詳細はこちらをご覧ください。

翻訳プロセス

Important

作業を開始する前に、GitHubのプルリクエストワークフローに慣れ、以下の「翻訳基準」と「翻訳のための疑似コード」を必ずお読みください。

  1. タスク割り当て: Notionワークスペースでタスクを自己割り当てします。
  2. 翻訳: ローカルPCで翻訳を最適化します。詳細は以下の「翻訳疑似コード」セクションを参照してください。
  3. ピアレビュー: プルリクエストPRを提出する前に、変更を慎重にレビューしてください。PRは2名のレビュアーの承認後にメインブランチにマージされます。

翻訳基準

Tip

「正確性」と「自然さ」は、主に中国語を理解できる日本語ネイティブスピーカーによって扱われます。

場合によっては、「正確性(一貫性)」と「自然さ」はトレードオフの関係にあり、一方を最適化すると他方に大きな影響を与える可能性があります。そのような場合は、プルリクエストにコメントを残して議論してください。

正確性:

  • 用語集セクションを参照して、翻訳全体で用語の一貫性を保ちます。
  • 技術的な正確性を優先し、中国語版のトーンとスタイルを維持します。
  • 修正が正確で包括的であることを確保するため、常に中国語版の内容とコンテキストを考慮してください。

自然さ:

  • 翻訳は日本語の表現慣習に従い、自然で流暢に読めるようにすべきです。
  • 記事を調和させるために、常にコンテンツのコンテキストを考慮してください。
  • 中国語と日本語の文化的な違いに注意してください。例えば、中国語の「拼音」は日本語には存在しません。
  • 最適化された文が元の意味を変える可能性がある場合は、議論のためにコメントを追加してください。

フォーマット:

  • 図表は展開時に自動的に番号付けされるため、手動で番号を付けないでください。
  • バグ修正を除き、各PRは管理可能なレビューサイズを確保するため、少なくとも1つの完全なドキュメントをカバーすべきです。

レビュー:

  • レビュー中は、変更の評価を優先し、必要に応じて周囲のコンテキストを参照してください。
  • お互いの視点から学ぶことで、より良い翻訳とより一貫性のある結果につながります。

翻訳疑似コード

以下の疑似コードは、典型的な翻訳プロセスのステップをモデル化しています。

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)

以下はレビュアー向けの疑似コードです:

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)