import { TranslationKeys } from './types';

export const ja: TranslationKeys = {
  // Navbar
  'navbar.features': '特徴',
  'navbar.benchmark': 'ベンチマーク',
  'navbar.quickstart': 'クイックスタート',
  'navbar.docs': 'ドキュメント',
  'navbar.blog': 'ブログ',
  'navbar.getStarted': '始める',

  // Hero
  'hero.title': 'AIコードレビュー\n数百万の実タスクで検証済み',
  'hero.description': 'Open Code Review は、アリババの実戦検証済みコードレビュー Agent をワークフローに統合します。任意の LLM に接続し、データを完全にプライベートに保ち、開発者が実際に採用するレビューコメントを取得できます。',
  'hero.quickStart': 'クイックスタート',
  'hero.learnMore': '詳しく見る',
  'hero.terminal': 'ターミナル',
  'hero.copied': 'コピーしました',
  'hero.copyFailed': 'コピー失敗',

  // Highlights
  'highlights.stat1Value': '20K+',
  'highlights.stat1Label': 'アクティブユーザー',
  'highlights.stat1Caption': 'Alibabaグループ内で実戦検証済み',
  'highlights.stat2Value': '> 30%',
  'highlights.stat2Label': '採用率',
  'highlights.stat2Caption': 'Alibabaグループ内で実戦検証済み',
  'highlights.stat3Value': '1M+',
  'highlights.stat3Label': '実タスク',
  'highlights.stat3Caption': '実行されたコードレビュータスク',
  'highlights.stat4Value': '1/9',
  'highlights.stat4Label': 'トークンコスト',
  'highlights.stat4Caption': 'Claude Code との比較 · 1,000 PR',
  'highlights.stat5Value': '25.10%',
  'highlights.stat5Label': 'AACR-BENCH',
  'highlights.stat5Caption': 'SEM.F1 ベンチマークスコア',

  // Use Cases
  'usecases.sectionLabel': 'ユースケース',
  'usecases.title': 'Open Code Review は誰のためのもの？',
  'usecases.case1Title': '個人開発者',
  'usecases.case1Desc': 'Open Code Review をローカルの AI 支援開発ワークフローに組み込み、即座に高品質なコードレビューフィードバックを取得できます。',
  'usecases.case2Title': 'プラットフォームチーム',
  'usecases.case2Desc': '内部システムにシームレスに統合し、データフローとレビューポリシーを完全に制御できます。',
  'usecases.case3Title': 'ML研究者',
  'usecases.case3Desc': 'RL トレーニングパイプラインのコード品質検証器として使用し、コード生成モデルに信頼性の高い報酬信号を提供します。',

  // Features
  'features.sectionBadge': 'コア機能',
  'features.title': 'コードレビュー専用に構築された Agent システム',
  'features.subtitle': 'ファイルの読み取り、コードベースの検索、コンテキストの相互参照、きめ細かいルールの適用による深いレビューを行う AI Agent。',
  'features.feat1Title': 'ハイブリッドアーキテクチャ：確定性 + Agent',
  'features.feat1Desc': '確定性エンジニアリング（タスク分割、ファイルフィルタリング、行番号位置決め、ルールルーティング、非同期スケジューリング）と LLM Agent 推論（リスク検出、コンテキスト探索、問題分類）を分離し、品質・トークンコスト・速度を最適化します。',
  'features.feat2Title': '精密なコメント配置とリフレクション',
  'features.feat2Desc': '独立した行レベルのコメント配置モジュールと3段階の漸進的 LLM 戦略により、各コメントを正確な行番号に配置。独立したリフレクションモジュールが幻覚や知識のドリフトを早期に検出します。',
  'features.feat3Title': 'マルチモデルプロトコルサポート',
  'features.feat3Desc': 'Anthropic Messages API と OpenAI Chat Completions API の両方をサポート。Anthropic、OpenAI、DashScope、DeepSeek、Z.AI などのプリセットプロバイダーを内蔵し、カスタムモデルエンドポイントにも対応。',
  'features.feat4Title': '動的並行処理',
  'features.feat4Desc': '設定可能な goroutine ワーカー（デフォルト8）でサブタスクを動的に分割し並列レビュー。大規模な変更セットでも迅速に完了します。',
  'features.feat5Title': 'スマートメモリ圧縮',
  'features.feat5Desc': 'コードレビュー専用のメモリ圧縮方式。3段階パーティション（凍結/圧縮/アクティブ）コンテキスト管理により、トークン制限を突破して深いレビューを実現。',
  'features.feat6Title': '組み込みレビュールール',
  'features.feat6Desc': '大規模な実環境で検証されたレビュールール。Java、TypeScript、Go、Python、Kotlin、Rust、C++、C など10以上の言語をカバーし、NPE、スレッドセーフティ、XSS、SQLインジェクションなどの専門ルールを搭載。',

  // Benchmark
  'benchmark.sectionLabel': 'オープンベンチマーク',
  'benchmark.title': '80名以上のシニアエンジニアによるクロスバリデーション',
  'benchmark.subtitle': '50の人気オープンソースリポジトリから選定した200の実PullRequestを含む、10のプログラミング言語、多様な問題タイプ、様々な変更規模をカバーする実世界のCodeReviewベンチマーク。',
  'benchmark.colRank': 'ランク',
  'benchmark.colModel': 'モデル',
  'benchmark.colSource': 'ソース',
  'benchmark.colF1': 'F1',
  'benchmark.colPrecision': '適合率',
  'benchmark.colRecall': '再現率',
  'benchmark.colAvgTime': '平均時間',
  'benchmark.colAvgToken': '平均トークン',

  // QuickStart
  'quickstart.sectionLabel': 'クイックスタート',
  'quickstart.title': '数分で使い始められます',
  'quickstart.subtitle': '複雑な設定は不要。選択した LLM プロバイダー以外のサードパーティアカウントは必要ありません。',
  'quickstart.step1Title': 'インストール',
  'quickstart.step1Desc': 'npm でワンコマンドグローバルインストール。',
  'quickstart.step1Label1': 'インストール',
  'quickstart.step1Label2': 'インストール確認',
  'quickstart.step2Title': '設定',
  'quickstart.step2Desc': 'LLM プロバイダーを対話的にセットアップ、または手動で設定。',
  'quickstart.step2Label1': '対話式セットアップ（推奨）',
  'quickstart.step2Label2': '手動設定（代替）',
  'quickstart.step2Label3': '設定確認',
  'quickstart.step3Title': 'レビュー実行',
  'quickstart.step3Desc': '最初のコードレビューを開始します。',
  'quickstart.step3Label1': 'レビュー実行',
  'quickstart.commentReview': '# 現在の変更をレビュー',
  'quickstart.commentBranch': '# ブランチ間の差分をレビュー',
  'quickstart.commentCommit': '# 特定のコミットをレビュー',
  'quickstart.copied': 'コピーしました！',

  // Footer
  'footer.brand': 'Open Code Review',
  'footer.copyright': '© Copyright 2026. All rights reserved.',

  // Docs Page
  'docs.toc': '目次',
  'docs.install': 'インストール',
  'docs.config': 'ocr config',
  'docs.review': 'ocr review',
  'docs.scan': 'ocr scan',
  'docs.viewer': 'ocr viewer',
  'docs.mcp': 'MCP Server',
  'docs.env': 'Claude Code 統合',
  'docs.installTitle': 'インストール',
  'docs.installLabel': 'インストール',
  'docs.installVerifyLabel': 'インストール確認',
  'docs.configTitle': '設定と検証',
  'docs.configDesc': '統一されたプロバイダーシステムで CLI 設定を管理します。多数の内蔵プロバイダーを搭載し、プライベートデプロイメント向けのカスタムプロバイダーもサポート。設定は <code>~/.opencodereview/config.json</code> に保存されます。',
  'docs.configInteractive': '対話式セットアップ（推奨）',
  'docs.configInteractiveDesc': '最も簡単な設定方法。内蔵プロバイダーから選択するかカスタムプロバイダーを追加し、API キーを設定してモデルを選びます。',
  'docs.configModelSelect': 'モデル選択',
  'docs.configModelSelectDesc': 'プロバイダーを選択した後、使用するモデルを選びます。',
  'docs.configListProviders': '内蔵プロバイダー一覧',
  'docs.configListProvidersDesc': '利用可能なすべての内蔵 LLM プロバイダーを表示します。',
  'docs.configManual': '手動設定',
  'docs.configManualBuiltin': '内蔵プロバイダーを使用',
  'docs.configManualBuiltinDesc': '内蔵プロバイダーには API URL とプロトコルがプリセットされています。API キーを提供するだけで始められます。',
  'docs.configManualCustom': 'カスタムプロバイダーを使用',
  'docs.configManualCustomDesc': 'プライベートデプロイメントや他の互換エンドポイントに接続します。',
  'docs.configManualCustomNote': 'カスタムプロバイダーには url と protocol が必須です。サポートされるプロトコル：anthropic、openai。',
  'docs.configKeys': 'サポートされる設定キー',
  'docs.configKeyProvider': 'アクティブなプロバイダー名',
  'docs.configKeyProviderApiKey': 'プロバイダーの API キー',
  'docs.configKeyProviderModel': 'モデル名',
  'docs.configKeyProviderUrl': 'API URL オーバーライド',
  'docs.configKeyProviderExtraBody': 'カスタムリクエストボディフィールド (JSON)',
  'docs.configKeyProviderExtraHeaders': 'カスタム HTTP ヘッダー (key=value)',
  'docs.configKeyLanguage': '出力言語',
  'docs.configKeyTelemetry': 'テレメトリ',
  'docs.configVerify': '設定確認',
  'docs.configVerifyDesc': '設定後にこのコマンドを実行して LLM 接続をテストし、設定が正しいことを確認します。',
  'docs.reviewTitle': 'ocr review',
  'docs.reviewDesc': '<code>ocr review</code> は AI コードレビューを開始するためのコアコマンドです。',
  'docs.reviewModes': 'レビューモード',
  'docs.reviewWorkspace': 'ワークスペースモード（デフォルト）',
  'docs.reviewWorkspaceDesc': '現在のワークスペースのステージ済み + 未ステージ + 未追跡の変更をレビューします。',
  'docs.reviewBranch': 'ブランチ差分モード',
  'docs.reviewBranchDesc': '2つの参照間の差分をレビューします（merge-base ベース）。',
  'docs.reviewCommit': '単一コミットモード',
  'docs.reviewCommitDesc': '特定のコミットをレビューします（親コミットとの差分）。',
  'docs.reviewAdvanced': '高度な使い方',
  'docs.reviewBackground': '要件コンテキスト付きレビュー',
  'docs.reviewBackgroundDesc': '要件コンテキスト（重要な境界条件を含む）を提供してレビュー品質を向上させます。',
  'docs.reviewJson': 'JSON 出力',
  'docs.reviewJsonDesc': '構造化 JSON 形式で結果を出力し、プログラム処理に対応します。',
  'docs.reviewAgent': 'Agent モード',
  'docs.reviewAgentDesc': '実行プロセスを表示せず最終サマリーのみ出力。自動化パイプラインに適しています。',
  'docs.reviewPreviewLabel': 'Dry-Run プレビュー',
  'docs.reviewPreviewDesc': 'レビュー対象のファイル一覧と統計情報（ファイル数、変更行数）を表示します。LLM 呼び出しなし、コストなし —— 本番レビュー前にスコープを確認するのに役立ちます。',
  'docs.reviewFlags': 'フラグリファレンス',
  'docs.reviewFlagCol1': 'フラグ',
  'docs.reviewFlagCol2': '説明',
  'docs.reviewFlagCol3': 'デフォルト',
  'docs.reviewFlag1Desc': 'レビューするコミットハッシュを指定',
  'docs.reviewFlag2Desc': '開始参照（差分の起点）',
  'docs.reviewFlag3Desc': 'ターゲット参照（差分の終点）',
  'docs.reviewFlag4Desc': '出力形式：text または json',
  'docs.reviewFlag5Desc': 'Git リポジトリルート',
  'docs.reviewFlag5Default': '現在のディレクトリ',
  'docs.reviewFlag6Desc': 'レビュールール JSON ファイルパス',
  'docs.reviewFlag6Default': '内蔵',
  'docs.reviewFlag7Desc': '最大並行ファイルレビュー数',
  'docs.reviewFlag8Desc': '単一タスクタイムアウト（分）',
  'docs.reviewFlag9Desc': '出力対象：human（プロセス表示）または agent（サマリーのみ）',
  'docs.reviewFlag10Desc': 'ファイルあたりの最大ツール呼び出しラウンド数',
  'docs.reviewFlag10Default': '内蔵',
  'docs.reviewFlag11Desc': '最大並行 git サブプロセス数',
  'docs.reviewNote': '注意：<code>--from/--to</code> と <code>--commit</code> は同時に使用できません。<code>--from</code> を指定する場合、<code>--to</code> も指定する必要があります。',
  'docs.scanTitle': 'ocr scan',
  'docs.scanDesc': '<code>ocr scan</code> は diff の代わりにファイル全体をレビューします。Git 履歴や意味のある diff は不要です。未知のコードベースの調査、移行前のディレクトリ調査、diff の対象がないプロジェクトのレビューに使用します。',
  'docs.scanVsTitle': 'ocr scan と ocr review の違い',
  'docs.scanVsReviewLabel': 'ocr review',
  'docs.scanVsReview': '<code>ocr review</code> は diff ベースです。ワークスペースのステージ済み/未ステージ/未追跡の変更、ブランチ範囲、または単一コミットなど、Git の変更をレビューします。diff を計算するために Git 履歴が必要です。',
  'docs.scanVsScanLabel': 'ocr scan',
  'docs.scanVsScan': '<code>ocr scan</code> はファイル全体ベースです。Git 履歴の有無にかかわらず、ファイルの完全な内容をレビューします。非 git ディレクトリでも動作し、その場合は .gitignore に従ったファイルシステム走査にフォールバックします。',
  'docs.scanUsage': '基本的な使い方',
  'docs.scanUsageWhole': 'リポジトリ全体をスキャン',
  'docs.scanUsageWholeDesc': '--path を指定しない場合のデフォルトの動作。',
  'docs.scanUsagePath': '特定のパスをスキャン',
  'docs.scanUsagePathDesc': 'リポジトリ相対のディレクトリを指定してスキャン範囲を絞り込みます。',
  'docs.scanUsageFile': '特定のファイルをスキャン',
  'docs.scanUsageFileDesc': 'カンマ区切りの複数ファイルパスも指定できます。',
  'docs.scanUsagePreviewLabel': 'Dry-Run プレビュー',
  'docs.scanUsagePreviewDesc': 'スキャン範囲内のすべてのファイルを列挙し、統計情報（ファイル総数、レビュー対象/除外数と理由、総行数）を報告します。LLM 呼び出しなし、コストなし —— 大きなリポジトリでトークンを消費する前にスコープを確認するのに役立ちます。',
  'docs.scanBatching': 'バッチ処理戦略',
  'docs.scanBatchingDesc': '<code>--batch</code> フラグは、ファイルがどのようにレビューバッチへグループ化されるかを制御します。スキャンテンプレートのデフォルトは <code>by-language</code> です。空の値や認識できない値は <code>none</code> にフォールバックします。',
  'docs.scanBatchingNone': 'none',
  'docs.scanBatchingNoneDesc': '各ファイルが独立したバッチになります —— グループ化なし。',
  'docs.scanBatchingLang': 'by-language',
  'docs.scanBatchingLangDesc': 'ファイル拡張子（小文字化）でグループ化されます。テンプレートのデフォルト。',
  'docs.scanBatchingDir': 'by-directory',
  'docs.scanBatchingDirDesc': 'リポジトリルート直下の第一階層ディレクトリでグループ化されます。ルート直下のファイルはそれぞれ独立したバッチになります。',
  'docs.scanToggles': 'ステージの切り替え：--no-plan、--no-dedup、--no-summary',
  'docs.scanTogglesDesc': 'スキャン実行には、コアとなるファイル単位のレビューに加えて3つのオプションステージがあります。各ステージは個別に無効化でき、レビュー品質とスピード・トークンコストのバランスを調整できます。',
  'docs.scanTogglesPlanDesc': 'メインレビューの前に注力すべき範囲を決める、ファイル単位の PLAN_TASK 前処理をスキップします。ファイルごとに LLM 呼び出しを1回節約できますが、レビューの焦点が薄れる可能性があります。',
  'docs.scanTogglesDedupDesc': 'バッチ単位の DEDUP_TASK をスキップします。通常は重複除去でまとめられる類似コメントも含め、すべての生コメントを保持します。',
  'docs.scanTogglesSummaryDesc': '実行後の PROJECT_SUMMARY_TASK（すべてのバッチ完了後に生成されるリポジトリ単位の markdown サマリー）をスキップします。',
  'docs.scanBudget': 'トークン予算：--max-tokens-budget',
  'docs.scanBudgetDesc': 'ディスパッチ前に、<code>ocr scan</code> はおおまかなトークンコストの見積もりを表示します。<code>--max-tokens-budget</code> は LLM API から報告される入力+出力トークンの総使用量を制限します。累積使用量が上限を超えた時点で、次のバッチの開始前にディスパッチが停止します。デフォルトの <code>0</code> は無制限を意味します。',
  'docs.scanFlags': 'フラグリファレンス',
  'docs.scanFlagCol1': 'フラグ',
  'docs.scanFlagCol2': '説明',
  'docs.scanFlagCol3': 'デフォルト',
  'docs.scanFlag1Desc': 'カンマ区切りのリポジトリ相対ディレクトリ/ファイル',
  'docs.scanFlag1Default': 'リポジトリ全体',
  'docs.scanFlag2Desc': 'カンマ区切りの gitignore 形式の除外パターン。rule.json の excludes と統合されます',
  'docs.scanFlag3Desc': 'LLM を実行せずにスキャン対象ファイルをプレビュー',
  'docs.scanFlag4Desc': 'トークン使用量（入力+出力）の合計を制限。超過するとディスパッチを停止（0 = 無制限）',
  'docs.scanFlag5Desc': 'ファイル単位の PLAN_TASK 前処理をスキップ',
  'docs.scanFlag6Desc': 'バッチ単位の DEDUP_TASK をスキップ',
  'docs.scanFlag7Desc': '実行後の PROJECT_SUMMARY_TASK をスキップ',
  'docs.scanFlag8Desc': 'バッチ処理戦略：none | by-language | by-directory',
  'docs.scanFlag9Desc': '出力形式：text または json',
  'docs.scanFlag10Desc': '最大並行ファイルスキャン数',
  'docs.scanFlag11Desc': '並行タスクのタイムアウト（分）',
  'docs.scanFlag12Desc': '出力対象：human（進捗表示）または agent（サマリーのみ）',
  'docs.scanFlag13Desc': 'スキャンに関する任意の要件・業務背景情報',
  'docs.scanFlag14Desc': 'ファイルあたりの最大ツール呼び出しラウンド数。テンプレートのデフォルトより大きい場合のみ有効',
  'docs.scanFlag14Default': '内蔵',
  'docs.scanFlag15Desc': '最大並行 git サブプロセス数',
  'docs.scanFlag16Desc': 'カスタム JSON レビュールールのパス',
  'docs.scanFlag17Desc': 'カスタム JSON ツール設定のパス',
  'docs.scanFlag17Default': '内蔵',
  'docs.scanFlag18Desc': 'スキャンするリポジトリまたはディレクトリのルート',
  'docs.scanFlag18Default': '現在のディレクトリ',
  'docs.scanNote': '注：<code>--max-tools</code> はスキャンテンプレートのファイル単位ツール呼び出し予算を引き上げる場合にのみ効果があります —— テンプレートのデフォルトより低い値を設定しても効果はありません。',
  'docs.viewerTitle': 'ocr viewer',
  'docs.viewerDesc': 'WebUI セッションビューアーを起動し、Web インターフェースでレビューセッションログを閲覧します。',
  'docs.viewerNote': '実行後、ローカル HTTP サーバーが起動し、レビューセッションログを閲覧するためのビジュアルインターフェースを提供します。',
  'docs.mcpTitle': 'MCP Server',
  'docs.mcpDesc': 'Open Code Review は Model Context Protocol (MCP) サーバーをサポートしており、レビュー Agent が stdio transport 経由でコードレビュー中に外部ツールを使用できます。',
  'docs.mcpConfig': 'MCP Server の設定',
  'docs.mcpConfigLocation': 'MCP server の設定は ~/.opencodereview/config.json に保存されます。',
  'docs.mcpDelete': 'MCP Server の削除',
  'docs.mcpFields': '設定フィールド',
  'docs.mcpFieldCol': 'フィールド',
  'docs.mcpRequiredCol': '必須',
  'docs.mcpDescCol': '説明',
  'docs.mcpYes': 'はい',
  'docs.mcpNo': 'いいえ',
  'docs.mcpFieldCommandDesc': 'MCP server を起動する実行コマンド',
  'docs.mcpFieldArgsDesc': 'server に渡すコマンドライン引数',
  'docs.mcpFieldEnvDesc': 'KEY=VALUE 形式の環境変数',
  'docs.mcpFieldToolsDesc': '許可するツール名。空の場合は server が提供するすべてのツールを使用できます',
  'docs.mcpFieldSetupDesc': 'server 起動前に実行する shell コマンド。例：インデックスの構築',
  'docs.mcpNote': 'MCP ツール名が組み込みツールと競合する場合、そのツールは警告付きでスキップされます。setup コマンドのタイムアウトは 5 分です。',
  'docs.mcpExample': '例：CodeGraph を追加してコード構造を分析',
  'docs.envTitle': 'Claude Code 統合',
  'docs.envDesc': 'すでに Claude Code ユーザーで以下の環境変数を設定済みの場合、Open Code Review は自動的に認識します。追加設定は不要です：',
  'docs.envNote': '<code>ocr config</code> を使用してこれらの設定を上書きまたは補完することもできます。',
  'docs.copy': 'コピー',

  // Docs Sidebar
  'docs.sidebar.gettingStarted': '入門ガイド',
  'docs.sidebar.userGuide': '利用ガイド',
  'docs.sidebar.quickstart': 'クイックスタート',
  'docs.sidebar.installation': 'インストール',
  'docs.sidebar.configuration': '設定',
  'docs.sidebar.cliReference': 'CLI リファレンス',
  'docs.sidebar.reviewRules': 'レビュールール',
  'docs.sidebar.architecture': 'アーキテクチャ',
  'docs.sidebar.tools': 'ツール',
  'docs.sidebar.mcp': 'MCP サーバー',
  'docs.sidebar.viewer': 'セッションビューア',
  'docs.sidebar.telemetry': 'テレメトリ',
  'docs.sidebar.integrations': '統合',
  'docs.sidebar.agentSkill': 'Agent Skill',
  'docs.sidebar.claudeCode': 'Command（Claude Code）',
  'docs.sidebar.subprocess': 'Direct Subprocess',
  'docs.sidebar.cicd': 'CI/CD',
  'docs.sidebar.contributing': 'コントリビュート',
  'docs.sidebar.faq': 'FAQ',
  'docs.search.placeholder': '検索...',
  'docs.search.noResults': '結果が見つかりません',
  'docs.search.hint.select': '選択',
  'docs.search.hint.open': '開く',
  'docs.search.hint.close': '閉じる',

  // Blog
  'blog.title': 'ブログ',
  'blog.allTags': 'すべて',
  'blog.backToList': '← ブログに戻る',
  'blog.toc': '目次',
  'blog.noPosts': 'まだ記事がありません。',
  'blog.noPostsForTag': 'このタグの記事が見つかりません。',
  'blog.search.placeholder': '記事を検索...',
  'blog.search.noResults': '結果が見つかりません',
};
