{
  "common": {
    "cancel": "キャンセル",
    "confirm": "確認",
    "loading": "読み込み中…",
    "send": "送信",
    "rename": "名前を変更",
    "delete": "削除",
    "close": "閉じる",
    "save": "保存",
    "copy": "コピー",
    "quote": "引用",
    "quote_block": "全文引用",
    "copied": "コピーしました！",
    "generating": "生成中...",
    "starting": "起動中...",
    "yes": "はい",
    "connected": "接続済み",
    "disconnected": "切断済み",
    "reconnecting": "再接続中…",
    "refresh": "更新",
    "show": "表示",
    "hide": "隠す",
    "this_feature": "この機能"
  },
  "window": {
    "maximize": "最大化",
    "restore": "元に戻す",
    "minimize": "最小化",
    "close": "閉じる",
    "hide": "隠す"
  },
  "appUpdate": {
    "banner_title": "IM.codes が更新されました",
    "banner_body": "最新バージョンを使うには更新してください。セッションは引き続き利用できます。",
    "later": "後で",
    "refresh": "更新",
    "chunk_title": "更新が必要です",
    "blocking_title": "続行する前に更新してください",
    "chunk_body": "このページは古いフロントエンドで動作しており、必要なアプリファイルを読み込めませんでした。更新すると正常に復旧できます。",
    "blocking_body": "サーバー更新後、{{feature}} には最新のフロントエンドが必要です。パネルが固まらないよう、更新してから続行してください。",
    "refresh_continue": "更新して続行",
    "error_reload_message": "アプリが更新されました。再読み込みして続行してください",
    "error_retry_message": "コンポーネントエラーです。タップして再試行してください",
    "reload": "再読み込み",
    "retry": "再試行"
  },
  "chat": {
    "dpad": {
      "title": "矢印キー — ドラッグで移動"
    },
    "sendFailedReason": {
      "daemonOffline": "接続が切れました",
      "ackTimeout": "エージェントから応答がありません",
      "daemonError": "エージェントエラー"
    },
    "loading": "チャットを読み込み中...",
    "syncing": "↻ 同期中...",
    "no_events": "イベントはまだありません",
    "session_state": "セッション {{state}}",
    "load_older": "古いメッセージを読み込む",
    "loading_older": "読み込み中...",
    "refreshing_history": "履歴を更新中…",
    "timelineStatus": {
      "ok": "履歴を更新しました",
      "empty": "これ以前のタイムラインイベントはありません",
      "partial": "タイムラインを一部だけ読み込みました",
      "deferred": "タイムラインを準備中です",
      "canceled": "タイムラインリクエストはキャンセルされました",
      "payloadTruncated": "高速化のためタイムラインを短縮しました",
      "cursorReset": "タイムライン位置が変わりました。履歴を更新してください",
      "queueFull": "タイムライン worker が混み合っています",
      "deadlineExceeded": "タイムラインリクエストがタイムアウトしました",
      "timeout": "タイムライン worker がタイムアウトしました",
      "unavailable": "タイムライン履歴を利用できません",
      "projectionUnavailable": "タイムライン索引を利用できません",
      "malformedRequest": "タイムラインリクエストが無効です",
      "internalError": "タイムライン履歴の読み込みに失敗しました",
      "detailMissing": "タイムライン詳細は利用できなくなりました",
      "detailExpired": "タイムライン詳細の期限が切れました",
      "detailUnauthorized": "このセッションでは詳細を利用できません",
      "detailOversized": "タイムライン詳細が大きすぎます",
      "detailMalformed": "タイムライン詳細リクエストが無効です",
      "detailEpochMismatch": "daemon 再起動後にタイムライン詳細の期限が切れました",
      "detailGenerationMismatch": "更新後にタイムライン詳細の期限が切れました",
      "detailHydrated": "タイムライン詳細を読み込みました",
      "pageCursorReset": "タイムラインページの期限が切れました。履歴を更新してください",
      "pageMalformed": "タイムラインページリクエストが無効です",
      "error": "タイムライン履歴の読み込みに失敗しました"
    },
    "thinking_running": "考え中 · {{sec}}s",
    "thinking_done": "{{sec}}s 考えた",
    "show_file_panel": "ファイルパネルを開く",
    "hide_file_panel": "ファイルパネルを閉じる",
    "sync_history": "チャット履歴を同期",
    "sdk_agents_toggle": "Agents",
    "sdk_agents_toggle_aria": "SDK agents ステータスを切り替え、{{count}} 件実行中",
    "sdk_agents_badge_aria": "{{count}} 件の SDK agents が実行中",
    "sdk_agents_panel_title": "Agents",
    "sdk_agents_close": "Agents パネルを閉じる",
    "sdk_agents_running_count": "{{count}} 件実行中",
    "sdk_agents_active_section": "実行中",
    "sdk_agents_recent_section": "最近",
    "sdk_agents_diagnostics_section": "診断",
    "sdk_agents_provider_claude": "Claude SDK",
    "sdk_agents_provider_codex": "Codex SDK",
    "sdk_agents_provider_qwen": "Qwen",
    "sdk_agents_provider_gemini": "Gemini SDK",
    "sdk_agents_provider_unknown": "SDK agent",
    "sdk_agents_status_pending": "待機中",
    "sdk_agents_status_running": "実行中",
    "sdk_agents_status_complete": "完了",
    "sdk_agents_status_error": "エラー",
    "sdk_agents_status_interrupted": "中断",
    "sdk_agents_status_stale": "期限切れ",
    "sdk_agents_status_unknown": "不明",
    "sdk_agents_id": "ID",
    "sdk_agents_model": "モデル",
    "sdk_agents_started_at": "開始",
    "sdk_agents_duration": "実行時間",
    "sdk_agents_tokens": "トークン",
    "sdk_agents_prompt": "Prompt",
    "sdk_agents_result": "結果",
    "sdk_agents_running_children": "{{count}} 件の子 agent が実行中",
    "sdk_agents_receiver_count": "{{count}} 件の受信先",
    "sdk_agents_diagnostic_unsupported_runtime": "runtime が agent ステータスを公開していません",
    "sdk_agents_diagnostic_unknown_runtime_support": "runtime サポート状態が不明です",
    "sdk_agents_diagnostic_malformed_payload": "agent メタデータが不正です",
    "sdk_agents_diagnostic_missing_id": "agent 識別子がありません",
    "sdk_agents_diagnostic_unknown_state": "provider 状態が不明です",
    "sdk_agents_diagnostic_stale_without_terminal": "完了前にステータスが期限切れになりました",
    "sdk_agents_diagnostic_snapshot_only": "provider ステータスは snapshot のみです",
    "sdk_agents_diagnostic_generic": "agent ステータス診断",
    "html_preview": "HTML をレンダー",
    "html_preview_title": "レンダー済み HTML プレビュー",
    "html_preview_open_new_window": "プレビューを新しいウィンドウで開く",
    "html_preview_too_large": "HTML ファイルが大きすぎるため安全にレンダーできません。",
    "html_preview_unavailable": "HTML プレビューは利用できません",
    "html_preview_frame": "レンダー済み HTML プレビュー",
    "tool_fold_more": "... {{count}} 行 ...",
    "tool_fold_collapse": "折りたたむ",
    "tool_group_more": "··· あと {{count}} 件",
    "tool_group_collapse": "▲ 折りたたむ",
    "tool_calls_toggle_show": "ツールと思考を表示",
    "tool_calls_toggle_hide": "ツールと思考を非表示",
    "tool_calls_toggle_undecided": "AI の動作の表示方法を選択",
    "tool_calls_choose_prompt": "表示を選択 ↓",
    "memory_summary_sync": "最近の summary を同期",
    "memory_summary_sync_busy": "summary を同期中...",
    "memory_summary_sync_instruction": "これはコンテキスト同期のみです。以下の最近の summary を背景情報として消化してください。タスク実行、ファイル変更、ツール呼び出し、このメッセージへの返信はせず、次のユーザー指示を待ってください。",
    "memory_summary_sync_heading": "最近の summary（{{count}}/{{limit}}、最大約 {{maxChars}} 文字）:",
    "user_message_expand": "全文を表示",
    "user_message_collapse": "折りたたむ",
    "tool_chooser_title": "AI の動作をどう表示しますか？",
    "tool_chooser_subtitle": "ツール呼び出し・ファイル変更・推論は詳細ですが画面が混み合います。",
    "tool_chooser_simple_label": "シンプル",
    "tool_chooser_simple_hint": "AI の返答のみ",
    "tool_chooser_developer_label": "開発者",
    "tool_chooser_developer_hint": "ツール・ファイル・推論を表示",
    "tool_chooser_footnote": "レンチアイコンからいつでも切り替え可能。",
    "new_file": "新しいファイル",
    "new_file_name": "ファイル名",
    "new_folder": "新しいフォルダ",
    "new_folder_name": "フォルダ名",
    "create": "作成",
    "external_link_title": "外部リンクを開く",
    "external_link_warning": "このリンクはAIエージェントによって生成されました。外部サイトへのアクセスに伴うリスクはご自身の責任となります。",
    "external_link_cancel": "キャンセル",
    "external_link_open": "リンクを開く",
    "zoom_title": "メッセージ",
    "zoom_copy_all": "すべてコピー",
    "zoom_hint": "長押しで選択し、ハンドルをドラッグして範囲を調整してからコピーします。",
    "tool_detail_toggle": "詳細",
    "tool_detail_input": "入力",
    "tool_detail_output": "出力",
    "tool_detail_meta": "メタ",
    "tool_detail_raw": "生データ",
    "pinned_last_sent_label": "直近の送信",
    "pinned_last_sent_aria": "直近に送信したメッセージへ移動",
    "memory_context_title": "関連履歴",
    "memory_context_startup_title": "履歴コンテキスト・注入済み",
    "memory_context_summary": "{{count}} 件を想起",
    "memory_context_query": "クエリ: {{query}}",
    "memory_context_score": "スコア {{score}}",
    "memory_context_startup_reason": "セッション起動時に注入",
    "memory_context_section_preferences": "設定メモリ（{{count}} 件）",
    "memory_context_section_durable": "長期メモリ（{{count}} 件）",
    "memory_context_section_recent": "最近の要約（{{count}} 件）",
    "memory_context_section_master": "マスター要約（{{count}} 件）",
    "memory_context_section_other": "その他のコンテキスト（{{count}} 件）",
    "memory_context_collapse_bottom": "折りたたむ",
    "memory_context_status_no_matches": "関連メモリは見つかりませんでした",
    "memory_context_status_deduped_recently": "{{count}} 件の関連メモリが見つかりましたが、最近すでに注入されています",
    "memory_context_status_deduped_recently_detail": "{{count}} 件の関連メモリが見つかりました。{{deduped}} 件は直近のターンですでに注入済みのため除外されました。",
    "memory_context_status_skipped_template_prompt": "内部/テンプレートプロンプトのためメモリ検索をスキップしました",
    "memory_context_status_skipped_template_prompt_detail": "このメッセージは組み込みワークフローまたはテンプレートプロンプトに一致したため、関連メモリ検索を意図的に行いませんでした。",
    "memory_context_status_skipped_short_prompt": "プロンプトが短すぎるためメモリ検索をスキップしました",
    "memory_context_status_skipped_short_prompt_detail": "短いプロンプトでは信頼できる関連メモリを安定して見つけられません。",
    "memory_context_status_skipped_control_message": "コマンドメッセージのためメモリ検索をスキップしました",
    "memory_context_status_skipped_control_message_detail": "スラッシュコマンドでは関連メモリ検索は実行されません。",
    "memory_context_status_failed": "関連メモリ検索は一時的に利用できません",
    "memory_context_status_failed_detail": "メッセージ自体は送信されましたが、今回はメモリ検索に失敗しました。",
    "file_change_title": "ファイル変更 ({{count}})",
    "file_change_patch_count": "{{count}} 件のパッチ",
    "file_change_provider_claude_code": "Claude Code",
    "file_change_provider_opencode": "OpenCode",
    "file_change_provider_codex_sdk": "Codex SDK",
    "file_change_provider_qwen": "Qwen",
    "file_change_provider_gemini": "Gemini",
    "file_change_operation_create": "作成",
    "file_change_operation_update": "更新",
    "file_change_operation_delete": "削除",
    "file_change_operation_rename": "名前変更",
    "file_change_operation_unknown": "変更",
    "file_change_operation_mixed": "混在",
    "file_change_confidence_exact": "正確",
    "file_change_confidence_derived": "推定",
    "file_change_confidence_coarse": "粗い",
    "file_change_confidence_mixed": "混在",
    "file_change_removed": "変更前",
    "file_change_added": "変更後",
    "file_change_truncated": "切り詰め",
    "file_change_no_before": "（元のテキストなし）",
    "file_change_no_after": "（新しいテキストなし）",
    "file_change_derived_no_preview": "（プレビューなし）",
    "file_change_coarse_hint": "ファイルパスはありますが、diff テキストはありません。",
    "file_change_renamed_from": "{{oldPath}} → {{newPath}}",
    "font": {
      "dialogLabel": "フォント",
      "typeLabel": "フォント種別",
      "codeTab": "コード",
      "cjkTab": "日本語",
      "familyLabel": "コードフォント",
      "cjkFamilyLabel": "日本語フォント",
      "allBuiltInCjk": "すべての内蔵 CJK フォント",
      "cjkFamilies": {
        "system-cjk": "システム CJK",
        "pingfang-sc": "PingFang SC",
        "songti-sc": "Songti SC",
        "kaiti-sc": "Kaiti SC",
        "stheiti": "STHeiti",
        "stsong": "STSong",
        "stkaiti": "STKaiti",
        "stfangsong": "STFangsong",
        "microsoft-yahei": "Microsoft YaHei",
        "simsun": "SimSun",
        "nsimsun": "NSimSun",
        "dengxian": "DengXian",
        "kaiti": "KaiTi",
        "fangsong": "FangSong",
        "microsoft-jhenghei": "Microsoft JhengHei"
      }
    }
  },
  "session": {
    "restart": "↺ 再起動",
    "restart_plain": "再起動",
    "confirm_restart": "再起動しますか？",
    "new": "+ 新規",
    "start_fresh": "やり直す",
    "confirm_new": "新規作成しますか？",
    "tab_pin": "📌 ピン留め",
    "tab_unpin": "📌 ピン留め解除",
    "pin_plain": "ピン留め",
    "unpin_plain": "ピン留め解除",
    "stop": "✕ 停止",
    "stop_session": "セッションを停止",
    "stop_main_title": "メインセッションを停止しますか？",
    "stop_main_body": "{{project}} はメインセッションです。停止すると、その tmux プロセスがすべて終了します。この操作は元に戻せません。",
    "really_stop_project": "⚠ 本当に {{project}} を停止しますか？",
    "stop_plain": "停止",
    "unpin_to_stop": "先にタブのピン留めを解除してください",
    "state_stop_requested": "停止をリクエストしました",
    "state_stopping": "停止中...",
    "state_compacting": "コンテキストを圧縮中...",
    "state_idle": "Agent 待機中 — 入力待ち",
    "state_running": "Agent 作業中...",
    "state_started": "セッションを開始しました",
    "state_starting": "セッションを開始中...",
    "state_stopped": "セッションを停止しました",
    "confirm_stop": "停止しますか？",
    "confirm_stop_dialog": "このセッションを停止してもよろしいですか？この操作は元に戻せません。",
    "confirm_sub_stop_2": "⚠ 本当に {{label}} を停止しますか？",
    "confirm_sub_restart_2": "⚠ 本当に {{label}} を再起動しますか？",
    "confirm_sub_new_2": "⚠ 本当に {{label}} を置き換えますか？",
    "confirm_sub_stop_dialog": "サブセッションを停止しますか？\n\nタイプ：{{type}}\nラベル：{{label}}\nセッション：{{name}}\n\nエージェントが終了され、元に戻せません。",
    "confirm_sub_restart_dialog": "サブセッションを再起動しますか？\n\nタイプ：{{type}}\nラベル：{{label}}\nセッション：{{name}}\n\nエージェントが再起動されます。",
    "confirm_sub_new_dialog": "サブセッションを新規作成しますか？\n\nタイプ：{{type}}\nラベル：{{label}}\nセッション：{{name}}\n\n現在のセッションは置き換えられます。",
    "confirm_restart_dialog": "このセッションを再起動してもよろしいですか？",
    "confirm_new_dialog": "新しいセッションを開始してもよろしいですか？現在のセッションは置き換えられます。",
    "settings": "セッション設定",
    "type": "タイプ",
    "label": "ラベル",
    "workingDir": "作業ディレクトリ",
    "parentSession": "親セッション",
    "rename": "✎ 名前を変更",
    "rename_plain": "名前を変更",
    "no_session": "セッションなし",
    "send_queued": "再接続中… (送信待ち)",
    "transport_send_queued": "キュー済み — 現在の応答が終わった後に送信します",
    "transport_send_queued_collapsed": "{{count}} 件キュー中 · 最新のみ表示",
    "transport_send_queued_count": "{{count}} 件キュー中",
    "send_placeholder": "{{name}} へ送信…",
    "send_placeholder_desktop_upload": "{{placeholder}} 複数ファイルの貼り付け/ドラッグによる高速アップロードに対応",
    "actions": "セッション操作",
    "new_btn": "新規セッション",
    "clone": {
      "menu": "セッショングループをコピー",
      "title": "セッショングループをコピー",
      "source": "コピー元セッション",
      "targetProjectName": "コピー先プロジェクト名",
      "targetProjectPlaceholder": "my-project-copy",
      "finalSessionName": "最終セッション",
      "previewUnavailable": "プロジェクト名を入力してください",
      "preserveDirectories": "既定: 複製されたセッションは元の作業ディレクトリを使用します",
      "overrideDirectories": "複製されたセッションに新しい作業ディレクトリを使う",
      "cwdOverride": "置換作業ディレクトリ",
      "cwdOverridePlaceholder": "/work/new-checkout",
      "browseCwd": "作業ディレクトリを参照",
      "daemonHostValidation": "作業ディレクトリは、リソース作成前に daemon ホスト上で検証されます。",
      "runningWarning": "コピーされたグループは新しい状態から始まります。コピー元の保留メッセージ、ターミナル履歴、実行中の作業はコピーされません。",
      "capabilityMissing": "接続中の daemon はまだセッショングループコピー対応を報告していません。daemon を更新または再接続してから再試行してください。",
      "submit": "グループをコピー",
      "submitting": "コピー中...",
      "blankProject": "コピー先プロジェクト名は必須です。",
      "notConnected": "セッショングループをコピーする前にサーバーへ接続してください。",
      "daemonOffline": "daemon がオフラインです。再接続してからセッショングループをコピーしてください。",
      "missingServer": "セッショングループをコピーする前にサーバーを選択してください。",
      "cwdRequired": "置換作業ディレクトリを入力するか、コピー元ディレクトリを保持してください。",
      "progress": "状態: {{state}}",
      "subSessionProgress": "サブセッション: {{created}}/{{total}} コピー済み",
      "operationId": "操作: {{operationId}}",
      "success": "コピーされたグループを {{session}} として作成しました。切り替えています。",
      "cleanupRequired": "クリーンアップが必要",
      "cleanupRequiredBody": "作成済みリソースの一部は手動クリーンアップが必要な場合があります。再試行前に daemon またはサーバーの詳細を確認してください。",
      "cleanupResourceDetail": "{{kind}}: {{id}}",
      "warningsTitle": "{{count}} 件の警告",
      "skippedMembersTitle": "{{count}} 件のメンバーをスキップ",
      "skippedMemberDetail": "{{session}}: {{reason}}",
      "skippedCronJobs": "{{count}} 件のスケジュールタスクはコピーされませんでした。",
      "skippedOrchestrationRuns": "{{count}} 件のディスカッション/オーケストレーション実行はコピーされませんでした。",
      "state": {
        "validating": "検証中",
        "reserving": "コピー先名を予約中",
        "creating_main": "メインセッションを作成中",
        "creating_subs": "サブセッションを作成中",
        "writing_db": "サーバーレコードを書き込み中",
        "provider_create": "プロバイダーセッションを作成中",
        "writing_pref": "Team 設定をコピー中",
        "committing": "コミット中",
        "rolling_back": "ロールバック中",
        "succeeded": "成功",
        "failed": "失敗",
        "cancelled": "キャンセル済み",
        "cleanup_required": "クリーンアップが必要"
      },
      "errorCode": {
        "invalid_request": "コピーリクエストが無効です。",
        "forbidden": "セッショングループをコピーできるのはオーナーと管理者のみです。",
        "unsupported_command": "daemon はまだセッショングループコピー対応を報告していません。更新または再接続してから再試行してください。",
        "source_not_found": "コピー元セッションが見つかりません。",
        "source_not_role_compatible": "ロール互換のメイン brain セッションのみコピーできます。",
        "blank_target_project": "コピー先プロジェクト名は必須です。",
        "name_taken": "そのコピー先セッション名はすでに使用されています。",
        "invalid_cwd": "その作業ディレクトリは daemon ホストで使用できません。",
        "incomplete_clone_spec": "実行中の子セッションにコピー可能な起動設定が不足しています。",
        "unsupported_session_type": "いずれかのセッションはまだコピーできません。",
        "p2p_config_invalid": "Team 設定をコピーできませんでした。",
        "persist_failed": "コピーを保存できませんでした。",
        "idempotency_conflict": "この再試行キーは別のコピーリクエストで既に使用されています。",
        "server_commit_failed": "サーバーがコピー済みセッションをコミットできませんでした。",
        "server_p2p_commit_failed": "サーバーが Team 設定をコピーできませんでした。",
        "cancelled": "コピーはキャンセルされました。",
        "cleanup_required": "再試行前に手動クリーンアップが必要です。",
        "internal_error": "コピーが予期せず失敗しました。"
      },
      "warningCode": {
        "running_source_excluded_state": "コピー元の実行中作業は除外されます",
        "p2p_prompt_session_reference": "自由記述の Team 参照がコピー元をまだ含む可能性があります",
        "p2p_skipped_participant_dropped": "スキップされた Team 参加者をコピーから削除しました",
        "skipped_member": "メンバーをスキップしました",
        "scheduled_work_skipped": "スケジュールされた作業はコピーされませんでした",
        "p2p_config_missing": "コピーする Team 設定が見つかりません",
        "rollback_partial": "ロールバックは一部のみ完了しました"
      },
      "cleanupResourceKind": {
        "daemon_session": "daemon セッション",
        "daemon_p2p_scope": "daemon Team 設定",
        "server_db_session": "サーバーセッション行",
        "server_p2p_pref": "サーバー Team 設定",
        "provider_session": "プロバイダーセッション"
      },
      "skippedReason": {
        "stopped": "停止済み",
        "error": "エラー",
        "closed": "クローズ済み",
        "hidden": "非表示",
        "nested": "ネストされた子",
        "server_only_orphan": "サーバーのみの孤立レコード",
        "unsupported": "未対応",
        "incomplete_spec": "設定不足"
      }
    },
    "agentType": {
      "openclaw": "OpenClaw",
      "qwen": "Qwen Code",
      "claude_code_sdk": "Claude Code SDK",
      "codex_sdk": "Codex SDK",
      "claude_code_cli": "Claude Code CLI",
      "codex_cli": "Codex CLI",
      "copilot_sdk": "Copilot",
      "cursor_headless": "Cursor",
      "gemini_sdk": "Gemini SDK",
      "kimi_sdk": "Kimi Code"
    },
    "agentGroup": {
      "transport_sdk": "SDK",
      "cli_process": "CLI"
    },
    "openclaw_not_connected": "未接続",
    "openclaw_connect_hint": "OpenClaw ゲートウェイに接続されていません。デーモンマシンで以下のコマンドを実行してください：",
    "sessionMode": "セッションモード",
    "newSession": "新規セッション",
    "bindExisting": "既存の OC セッションをバインド",
    "selectSession": "セッションを選択",
    "loadingSessions": "セッションを読み込み中...",
    "noSessions": "利用可能なセッションがありません",
    "description": "説明",
    "descriptionPlaceholder": "セッションのペルソナまたは目的（任意）",
    "sessionKey": "セッションキー",
    "autoGenerate": "自動生成",
    "codex_ctx_short": "文脈",
    "codex_5h_short": "5時間",
    "codex_wk_short": "週",
    "codex_ctx_title": "コンテキスト残り {{percent}}%",
    "codex_limit_title": "{{label}} 残り {{percent}}% · リセット {{reset}}",
    "provider_plan_title": "プラン: {{value}}",
    "provider_quota_title": "上限: {{value}}",
    "weekly_quota_authorize": "週間上限を表示",
    "weekly_quota_authorize_hint": "ローカルの Claude トークンの読み取りを許可して週間（7日）の上限を表示します",
    "weekly_quota_confirm": "週間（7日）の上限を取得するため、ローカルの Claude ログイントークンを読み取ります。許可しますか？",
    "provider_quota_usage_title": "利用状況: {{value}}",
    "history_loading_label": "履歴",
    "history_step_cache": "キャッシュ",
    "history_step_text_tail": "高速テール",
    "history_step_daemon": "daemon",
    "history_step_http": "HTTP補完",
    "history_step_older": "過去履歴",
    "provider_plan_free": "無料",
    "provider_plan_paid": "有料",
    "provider_plan_byo": "自前キー",
    "qwen_tier_free": "無料",
    "qwen_tier_paid": "有料",
    "qwen_tier_byo": "自前キー",
    "qwen_source_title": "Qwen ソース: {{tier}}",
    "qwen_model_title": "Qwen ソース: {{tier}} · モデル: {{model}}",
    "p2p_tag": "Team",
    "thinking": "レベル",
    "thinking_title": "レベル: {{value}}",
    "supervision": {
      "title": "セッション監督",
      "help": "まず新しい Auto セッション向けのグローバル既定値を設定し、必要に応じてこのセッション専用の設定で上書きします。",
      "globalDefaultsTitle": "グローバル既定値",
      "globalDefaultsHelp": "新しい Auto 対応 transport セッションの初期値として使われます。ここで監督バックエンド、モデル、タイムアウトの既定値を保存します。",
      "sessionConfigTitle": "このセッション",
      "sessionConfigHelp": "現在のセッションにだけ適用されます。ここではバックエンド、モデル、タイムアウトで既定値を上書きでき、監査モードとカスタム指示もこのセッション専用です。",
      "intro": {
        "title": "Auto の役割",
        "howToUseTitle": "使い方",
        "howToUseBody": "Off、Supervised、Supervised + audit のいずれかを選び、監督用のバックエンドとモデルを設定して保存します。このセッションで Auto を有効にすると、idle 時に自動判定が走ります。Audit モードでは監査パイプラインと手戻り回数の上限も使われます。",
        "purposeTitle": "用途",
        "purposeBody": "Auto は、現在のタスクが完了したか、自動で続行すべきか、人の判断が必要かを監督モデルに判定させるための機能です。Audit モードでは、実装完了後に追加のレビューも行います。",
        "howItWorksTitle": "仕組み",
        "howItWorksBody": "セッションが idle になると、IM.codes は直近のタスク文脈を設定済みの監督モデルに送り、構造化された判定を解析します。その結果に応じて停止、自動続行、または手動対応へフォールバックします。Audit モードが有効な場合は、完了した応答が自動監査と手戻りループにも入ります。",
        "expandHint": "詳細を表示",
        "collapseHint": "折りたたむ"
      },
      "mode": {
        "off": "オフ",
        "supervised": "監督",
        "supervised_audit": "監督+監査"
      },
      "backend": "バックエンド",
      "model": "モデル",
      "timeout": "タイムアウト（秒）",
      "selectBackend": "バックエンドを選択",
      "selectModel": "モデルを選択",
      "customInstructionsLabel": "カスタム指示",
      "customInstructionsPlaceholder": "例: 完了判定の前に必ずテストと検証結果を要求する。",
      "customInstructionsHelp": "任意。このセッションに限り、Auto の supervision 判定と continue プロンプトに追加されます。",
      "globalCustomInstructionsLabel": "グローバル カスタム指示",
      "globalCustomInstructionsPlaceholder": "例: 失敗するコードをコメントアウトするより、常にテストを優先すること。",
      "globalCustomInstructionsHelp": "任意。Auto が有効な全セッションに適用されます（下の上書きチェックがオンの場合を除く）。",
      "customInstructionsOverrideLabel": "グローバル指示を上書きする",
      "customInstructionsOverrideHelp": "オンにすると、このセッションは上のセッション指示のみを使用します。オフの場合は、グローバル指示が空行を挟んで先頭に結合されます。",
      "customInstructionsMergedPreviewHeading": "監督に送信される結合済み指示:",
      "presetLabel": "プリセット (env バンドル)",
      "presetHelp": "監督トラフィックを独自の base URL・API キー・固定モデルを持つプリセットエンドポイント経由にします。プリセットは Shared Context パネルで管理します。",
      "presetNone": "(なし)",
      "auditMode": {
        "audit": "監査",
        "review": "レビュー",
        "audit_plan": "監査 → 計画",
        "review_plan": "レビュー → 計画",
        "audit_review_plan": "監査 → レビュー → 計画"
      },
      "selectAuditMode": "監査モードを選択",
      "maxAuditLoops": "監査ループ上限",
      "maxAutoContinueStreak": "同種 auto-continue 上限",
      "maxAutoContinueStreakHelp": "同じ種類の continue が連続してこの回数に達すると Auto を停止します。0 は無制限です。",
      "maxAutoContinueTotal": "auto-continue ハード上限",
      "maxAutoContinueTotalHelp": "1 回のタスク実行で送れる auto-continue 全体の絶対上限です。0 は無制限です。",
      "summaryTitle": "解決済み監督設定",
      "summaryMode": "モード: {{value}}",
      "summaryBackendModel": "バックエンド: {{backend}} · モデル: {{model}}",
      "summaryUnset": "未設定",
      "summaryDisabled": "監督オフ",
      "summaryTimeout": "タイムアウト: {{value}}",
      "summaryContinueLimits": "continue 制限: 同種 {{streak}} ・ ハード {{total}}",
      "summaryCustomInstructions": "カスタム指示: {{value}}",
      "summaryCustomInstructionsSet": "設定済み",
      "summaryAudit": "監査: {{auditMode}} · ループ {{loops}}",
      "summaryMeta": "プロンプト {{promptVersion}}、修復 {{repairVersion}}、解析再試行 {{parseRetries}}、task-run {{taskRunVersion}}",
      "disabledHint": "監督は transport セッションでのみ利用できます。",
      "unsupported": "process セッションでは監督設定を利用できません。",
      "validation": {
        "backendRequired": "監督バックエンドを選択してください。",
        "modelRequired": "監督モデルを選択または入力してください。",
        "modelInvalid": "{{backend}} ではこのモデルは無効です。",
        "auditModeRequired": "監査モードを選択してください。"
      },
      "modeLabel": "モード",
      "auditModeLabel": "監査モード",
      "invalidStoredConfig": "保存済みの監督設定が無効です。修正して保存するまで自動化は無効のままです。",
      "quickLabel": "自動",
      "quickTitle": "自動モード"
    },
    "approval": {
      "pending": "承認が必要",
      "allow": "許可",
      "deny": "拒否",
      "tool": "{{tool}} の承認が必要"
    },
    "workingDirPlaceholder": "~/projects/myapp"
  },
  "server": {
    "upgrade_daemon": "↑ Daemonをアップグレード",
    "upgrade_all": "↑ 全デバイス更新",
    "delete": "✕ サーバーを削除",
    "upgrade_sent": "「{{name}}」にアップグレードコマンドを送信しました。Daemonは最新バージョンをインストールして再起動します。",
    "upgrade_failed": "アップグレードコマンドの送信に失敗しました。Daemonがオフラインの可能性があります。",
    "delete_title": "サーバーを削除: {{name}}",
    "delete_warning": "サーバーからすべてのバインディングとセッション記録が削除され、Daemonに停止とローカル認証情報の削除が通知されます。",
    "delete_tmux_note": "tmuxセッションは閉じられません",
    "delete_tmux_suffix": "が、Daemonは自動起動しなくなります。",
    "delete_confirm_prompt": "削除を確認するにはサーバー名を入力してください：",
    "delete_confirm": "削除を確認"
  },
  "quick_input": {
    "title": "クイック入力",
    "commands": "クイックコマンド",
    "phrases": "クイックフレーズ",
    "history": "履歴",
    "this_session": "このセッション",
    "all": "すべて",
    "no_history_session": "このセッションの履歴はありません",
    "no_history": "履歴はまだありません — メッセージは自動保存されます",
    "clear_history": "履歴をクリア",
    "add_command": "＋ コマンド",
    "add_phrase": "＋ フレーズ",
    "label_command": "コマンド",
    "label_phrase": "フレーズ",
    "placeholder_phrase": "この問題を修正",
    "newer": "← 新しい",
    "older": "古い →",
    "loading": "読み込み中…",
    "tab_quick": "クイック",
    "tab_files": "ファイル",
    "confirm_delete": "この項目を削除しますか？"
  },
  "file_browser": {
    "title_dir": "ディレクトリを選択",
    "title_file": "ファイルを選択",
    "select": "選択",
    "insert": "{{count}}件挿入",
    "browse": "参照",
    "show_hidden": "隠しファイル",
    "this_pc": "PC",
    "home": "ホーム",
    "selected_count": "{{count}}件選択中",
    "timeout": "リクエストがタイムアウトしました",
    "timeout_detail": "ディレクトリを読み取れませんでした。ネットワークドライブの遅延や利用不可が原因の可能性があります。",
    "preview_loading": "読み込み中…",
    "preview_too_large": "ファイルが大きすぎてプレビューできません（> 100 MB）",
    "preview_error": "プレビュー不可",
    "preview_binary": "バイナリファイル — プレビュー不可",
    "preview_video_unsupported": "お使いのブラウザはこの動画形式を再生できません。",
    "mkdir_failed": "フォルダを作成できませんでした",
    "create_file_failed": "ファイルを作成できませんでした",
    "file_exists": "ファイルはすでに存在します",
    "view_diff": "差分",
    "view_source": "ソース",
    "view_rendered": "レンダー",
    "tab_files": "ファイル",
    "tab_changes": "変更",
    "changes_title": "変更 ({{count}})",
    "no_changes": "変更なし"
  },
  "toast": {
    "finished": "完了",
    "upgrade_blocked_title": "アップグレードはブロックされました",
    "upgrade_blocked_p2p_active": "Team がまだ実行中です。daemon をアップグレードする前に停止してください。",
    "upgrade_blocked_toolchain_unavailable": "daemon ホストの Node が見つかりません（ツールチェーンが削除されました）。Node を再インストールしてください。それまで自動アップグレードは無効です。"
  },
  "discussion": {
    "role_critic": "批評家",
    "role_pragmatist": "実用主義者",
    "role_innovator": "革新者",
    "role_custom": "カスタム...",
    "arbiter": "仲裁者",
    "arbiter_active": "⚖️ 仲裁者",
    "starting": "開始中…",
    "start_failed_title": "ディスカッションを開始できませんでした",
    "start_failed_offline": "オフラインです。再接続してからもう一度お試しください。",
    "dialog_title": "ディスカッションを開始",
    "start_button": "ディスカッションを開始",
    "field_topic": "トピック",
    "topic_placeholder": "エージェントに議論させたい内容を記述してください…",
    "field_cwd": "作業ディレクトリ",
    "field_participants": "参加者",
    "add_participant": "+ 追加",
    "field_max_rounds": "最大ラウンド数",
    "team_label": "チーム",
    "complete_status": "完了",
    "failed_status": "失敗",
    "error": {
      "missing_fields": "必須項目が不足しています(トピックと参加者2名以上)。",
      "generic": "ディスカッションを開始できませんでした。もう一度お試しください。"
    }
  },
  "new_session": {
    "project_required": "プロジェクト名は必須です",
    "dir_required": "作業ディレクトリは必須です",
    "not_connected": "Daemonに接続されていません",
    "daemon_offline": "Daemonがオフラインです — imcodes daemonが実行中か確認してください",
    "start": "開始",
    "starting": "起動中...",
    "timeout": "セッションの起動待ちがタイムアウトしました。Daemonのログを確認してください。",
    "title": "新しいセッションを開始",
    "project_name": "プロジェクト名",
    "working_directory": "作業ディレクトリ",
    "browse": "参照",
    "agent_type": "エージェント種別",
    "agent_flavor_cli": "CLI: 元のUIを好む人向けのネイティブ画面です。チャットモードはストリーミング非対応です。",
    "agent_flavor_sdk": "SDK: ストリーミング対応で、よりシンプルなUIです。",
    "qwen_provider_hint": "サードパーティの Coding Plan を使うなら、Qwen Code を選択してください。",
    "qwen_provider_selected_hint": "Qwen Code は、下の API Provider プリセット経由で Anthropic 互換のサードパーティ Coding Plan プロバイダーを利用できます。",
    "custom_provider_sdk": "カスタムプロバイダー SDK",
    "custom_provider_sdk_help": "Qwen SDK トランスポートを互換レイヤーとして使い、下で API Provider プリセットを選択します。",
    "custom_provider_preset": "カスタムプロバイダープリセット",
    "custom_provider_preset_required": "カスタムプロバイダー SDK には API Provider プリセットを選択または追加してください。",
    "compatible_api_via_qwen": "互換 API（Qwen 経由）",
    "api_provider": "API Provider",
    "api_provider_add_edit": "+ 追加 / 編集",
    "api_provider_default": "既定（Anthropic）",
    "api_provider_default_help": "既定（Anthropic）— 「+ 追加 / 編集」をクリックして設定",
    "api_provider_import_json": "JSONをインポート",
    "api_provider_export_json": "JSONをエクスポート",
    "api_provider_import_error": "クリップボードから preset JSON をインポートできませんでした",
    "api_provider_export_success": "preset JSON をクリップボードにコピーしました",
    "api_provider_export_error": "preset JSON をクリップボードにコピーできませんでした"
  },
  "api_key": {
    "copy": "コピー",
    "copied": "コピーしました！",
    "label_placeholder": "ラベル（任意）",
    "generate": "キーを生成",
    "generating": "生成中...",
    "revoke": "無効化",
    "save_once": "このキーを保存してください。再表示されません",
    "raw_key": "APIキー",
    "bind_url": "バインドURL",
    "bind_command": "バインドコマンド",
    "copy_bind_command": "バインドコマンドをコピー",
    "dismiss": "閉じる"
  },
  "getting_started": {
    "step1_pending": "ステップ1: APIキーを生成する",
    "step1_done": "✓ ステップ1: APIキーの準備完了"
  },
  "language": {
    "label": "言語",
    "en": "English",
    "zh_CN": "中文（简体）",
    "zh_TW": "中文（繁體）",
    "es": "Español",
    "ru": "Русский",
    "ja": "日本語",
    "ko": "한국어"
  },
  "login": {
    "subtitle": "AIコーディングエージェントをリモートコントロール",
    "passkey_signin": "パスキーでサインイン",
    "passkey_create": "パスキーでアカウント作成",
    "passkey_register_hint": "名前を入力し、デバイスのパスキー（Face ID・Touch ID・Windows Hello…）を登録してください",
    "passkey_register_btn": "パスキーを登録",
    "passkey_error": "パスキー認証に失敗しました。もう一度お試しください。",
    "passkey_not_found": "このサイトのパスキーが見つかりません。先に登録するかGitHubでログインしてください。",
    "display_name_placeholder": "お名前（例：Alice）",
    "device_name_placeholder": "デバイス名（任意、例：MacBook Pro）",
    "or": "または",
    "github_signin": "GitHubでサインイン",
    "password_signin": "パスワードでサインイン",
    "username_placeholder": "ユーザー名",
    "password_placeholder": "パスワード",
    "signin": "サインイン",
    "remember_password": "このデバイスでパスワードを記憶する",
    "invalid_credentials": "ユーザー名またはパスワードが正しくありません",
    "account_pending": "アカウントは管理者の承認待ちです。管理者にお問い合わせください。",
    "account_disabled": "アカウントが無効化されています。管理者にお問い合わせください。",
    "must_change_password": "続行するにはパスワードを変更してください",
    "new_password_placeholder": "新しいパスワード",
    "confirm_password_placeholder": "新しいパスワードを確認",
    "change_password_btn": "パスワードを変更",
    "passwords_mismatch": "パスワードが一致しません",
    "password_too_short": "パスワードは8文字以上で入力してください",
    "password_missing_uppercase": "パスワードには大文字を1文字以上含めてください",
    "password_missing_lowercase": "パスワードには小文字を1文字以上含めてください",
    "password_missing_digit": "パスワードには数字を1文字以上含めてください",
    "password_register": "パスワードでアカウント作成",
    "password_register_btn": "アカウント作成",
    "password_register_hint": "ユーザー名と強力なパスワード（8文字以上、大文字・小文字・数字を含む）を設定してください。",
    "username_taken": "このユーザー名は既に使用されています",
    "registration_disabled": "現在、登録は無効になっています",
    "invalid_username_format": "ユーザー名は3〜32文字で、英数字で始まり英数字で終わる必要があります",
    "nonce_exchange_failed": "認証は完了しましたが、接続に失敗しました。もう一度お試しください。",
    "native_callback_fallback": "自動で戻らない場合はここをタップしてください",
    "native_status_getting_challenge": "チャレンジを取得中…",
    "native_status_authenticating": "認証中…",
    "native_status_getting_api_key": "APIキーを取得中…",
    "native_status_redirecting": "リダイレクト中…",
    "native_status_creating_passkey": "パスキーを作成中…",
    "native_status_registering": "登録中…",
    "native_status_saving": "保存中…",
    "native_status_logging_in": "ログイン中…"
  },
  "serverSetup": {
    "title": "サーバーを選択",
    "description": "IM.codesサーバーのアドレスを入力してください",
    "placeholder": "https://your-server.com",
    "connect": "接続",
    "useDefault": "デフォルトサーバーを使用",
    "verifying": "確認中...",
    "error": "サーバーに接続できません。URLを確認して再試行してください。",
    "errorNotHttps": "サーバーURLはHTTPSを使用する必要があります",
    "changeServer": "サーバーを変更",
    "addServer": "+ サーバーを追加",
    "httpWarning": "警告：HTTP接続は安全ではありません。localhost以外のサーバーにはHTTPSを使用してください。"
  },
  "passkey": {
    "title": "パスキー管理",
    "none": "登録済みのパスキーはありません",
    "add": "パスキーを追加",
    "add_error": "パスキーの追加に失敗しました。もう一度お試しください。",
    "delete_error": "パスキーの削除に失敗しました。",
    "unnamed": "未命名デバイス",
    "added": "追加日",
    "last_used": "最終使用",
    "device_name_placeholder": "デバイス名（任意）"
  },
  "account": {
    "delete_title": "アカウントを削除",
    "delete_warning": "この操作は元に戻せません。すべてのサーバー、セッション、APIキー、パスキー、その他のデータが完全に削除されます。",
    "delete_btn": "アカウントを削除",
    "delete_confirm_prompt": "アカウント削除を確認するには DELETE と入力してください：",
    "delete_confirm": "完全に削除",
    "delete_error": "アカウントの削除に失敗しました。もう一度お試しください。"
  },
  "voice": {
    "listening": "音声認識中...",
    "paused": "一時停止",
    "speak_now": "話してください...",
    "voice_input": "音声入力",
    "stop_voice": "音声入力を停止",
    "send": "送信",
    "mic_permission_failed": "開始に失敗しました — 設定でマイク/音声認識の権限を確認してください",
    "error": "音声エラー：{{error}}"
  },
  "p2p": {
    "final_original_request_reminder": "議論の要約だけで終わらせず、議論を統合した後は必ず元のユーザー依頼に直接対応してください。\n元のユーザー依頼: \"{{request}}\"",
    "post_summary_execute_prompt": "Team議論は完了しました。議論ファイルを文脈として使い、このセッションで元のユーザー依頼を直接実行してください。\n議論ファイル: {{discussionFile}}\n元のユーザー依頼: \"{{request}}\"\n議論の要約だけで再び終わらせないでください。",
    "discussion_language_instruction": "{{language}}で回答してください。",
    "ring": {
      "active": "R{{round}}/{{totalRounds}}",
      "label_active": "Round {{round}}/{{totalRounds}}",
      "active_hops": "R{{round}}/{{totalRounds}} H{{hop}}/{{totalHops}}"
    },
    "status": {
      "done": "完了",
      "active": "進行中",
      "pending": "待機中",
      "skipped": "スキップ",
      "queued": "待機列",
      "dispatched": "送信中",
      "running": "実行中",
      "awaiting_next_hop": "次のホップ待ち",
      "completed": "完了",
      "failed": "失敗",
      "timed_out": "タイムアウト",
      "cancelled": "キャンセル済み",
      "setup": "準備中"
    },
    "discussions": {
      "title": "ディスカッション",
      "live_progress": "進行状況",
      "slogan": "IM.codes - the IM for agents",
      "hide": "隠す",
      "show": "表示",
      "untitled": "ディスカッション",
      "empty": "まだ Team ディスカッションはありません。@@all(discuss) または @agent で開始してください。",
      "select": "表示するディスカッションを選択",
      "load_failed": "（読み込み失敗）",
      "phase_initial": "初期",
      "phase_hop": "ホップ",
      "phase_summary": "要約",
      "phase_execution": "実行",
      "phase_queued": "待機中",
      "round_label": "ラウンド",
      "hop_label": "ホップ",
      "auto_follow_latest": "最新に自動追従",
      "copy_path": "パスをコピー",
      "copy_content": "内容をコピー",
      "scroll_top": "先頭へスクロール",
      "scroll_bottom": "末尾へスクロール"
    },
    "mode_solo": "Solo",
    "mode_audit": "監査",
    "mode_review": "レビュー",
    "mode_plan": "設計",
    "mode_brainstorm": "ブレスト",
    "mode_discuss": "ディスカッション",
    "combo_label": "コンボ",
    "combo_presets": "プリセットコンボ",
    "combo_custom": "マイコンボ",
    "combo_custom_empty": "カスタムコンボはまだありません。",
    "combo_builder": "新しいコンボを追加",
    "combo_recommended_hint": "ほとんどの監査タスクにおすすめです。",
    "exclude_same_type": "同タイプを除外",
    "picker": {
      "back": "戻る",
      "files": "ファイル",
      "agents": "エージェント",
      "search_project_files": "プロジェクトファイルを検索",
      "quick_discussion_with_agent": "エージェントとクイックディスカッション",
      "team": "Team",
      "team_desc": "チーム討論を開始",
      "select_mode": "モードを選択",
      "all_agents": "全エージェント",
      "sessions": "セッション",
      "type_to_search": "入力して検索",
      "keep_typing": "入力を続けてください...",
      "no_files_found": "ファイルが見つかりません",
      "no_agents_available": "利用可能なエージェントがありません",
      "you": "あなた",
      "busy": "使用中"
    },
    "mode": {
      "audit": "監査",
      "review": "レビュー",
      "plan": "設計",
      "brainstorm": "ブレインストーミング",
      "discuss": "ディスカッション"
    },
    "team_button": "チーム",
    "mode_config": "設定",
    "dropdown": {
      "tab_combos": "コンボ",
      "tab_workflows": "ワークフロー",
      "solo_hint": "下のフローを選んでワークフローを開始",
      "team_intro_title": "Team ディスカッション",
      "team_intro_body": "エージェントが討議、要約、実装を行い、その結果をレビューします。ラウンドを増やすとこのループを繰り返して成果を強化します。",
      "team_intro_tooltip": "討議 → 要約 → 実装 → レビュー。ラウンドを増やすと前回の結果をもとにループを繰り返します。",
      "workflows_empty": "保存済みのワークフローはまだありません。設定 → 高度なワークフローで作成してください。",
      "workflows_manage": "ワークフローを管理"
    },
    "settings_button": "設定",
    "settings_title": "Team ディスカッション設定",
    "settings_process_title": "Team ディスカッションの流れ",
    "settings_process_body": "Team モードは、討議・要約・実装・レビューのループを実行します。1 ラウンドはこのループを 1 回完了し、追加ラウンドでは前回の実装結果を文脈としてもう一度監査/レビューを行い、漏れた要件、回帰リスク、境界ケース、テスト不足を検出してから完了とみなします。",
    "alpha_badge": "Alpha",
    "alpha_hint": "実験的な機能で、まだ正式には検証されていません。",
    "cross_session": "他のプロジェクトのセッションを含める",
    "tab": {
      "advanced_workflow": "高度なワークフロー",
      "advanced_workflow_intro": "有向 Team ワークフローを設計します。ノードはエージェントのラウンド（LLM・スクリプト・論理ゲート）、エッジはルーティングを制御します。ここでの編集は「エージェント」タブで構成された簡易ラウンド/モードパイプラインを上書きします。",
      "advanced_workflow_alpha_notice": "実験的な機能で、まだ正式には検証されていません。重要な作業ではプリセットコンボを優先してください。",
      "advanced_workflow_empty_hint": "空のワークフロー下書きを初期化中です。下のキャンバスでノードとエッジを追加し、Team パイプラインを設計してください。",
      "advanced_workflow_starter_title": "無題のワークフロー",
      "advanced_workflow_starter_node_title": "開始"
    },
    "settings_filter_sdk": "SDK",
    "settings_filter_cli": "CLI",
    "settings_save": "保存",
    "settings_save_and_close": "保存して閉じる",
    "settings_close": "閉じる",
    "confirm_cancel": "キャンセルしますか?",
    "combo_send_confirm_title": "コンボ送信の確認",
    "combo_send_confirm_body": "このメッセージはコンボフロー {{mode}} で直接送信されます。続行しますか？",
    "combo_send_confirm_skip": "次回から確認せず直接送信する",
    "combo_empty_message_warning": "コンボ送信には本文が必要です。実際の依頼内容を入力してから送信してください。",
    "combo_requires_participants_hint": "コンボモードを有効にするには、先に Team 設定で参加者を選んでください。",
    "member_cannot_initiate_discussion": "このセッションは Team のメンバーのため、ディスカッションを開始できません。別のセッションから開始してください（最上位モデルを推奨）。",
    "settings_enabled": "参加",
    "settings_mode": "モード",
    "settings_skip": "スキップ",
    "settings_default_hint": "新規セッションのデフォルト：有効 + audit",
    "settings_rounds": "ラウンド数",
    "settings_rounds_hint": "レビューサイクル",
    "settings_rounds_explanation": "各ラウンドは完全なマルチエージェント分析ループです。依頼を討議して実行し、その後もう一度複合監査/レビューサイクルに入り、漏れ、回帰リスク、境界ケースを検出してさらに強化します。",
    "settings_hop_timeout": "ホップタイムアウト",
    "settings_hop_timeout_unit": "分/ホップ",
    "settings_hop_timeout_hint": "各エージェントの応答待ち時間。複雑なタスクでは増やしてください。",
    "settings_extra_prompt": "追加指示",
    "settings_extra_prompt_hint": "全参加者への追加プロンプト（例：「日本語で回答」）",
    "settings_advanced_title": "高度なワークフロー",
    "settings_advanced_preset": "高度なプリセット",
    "settings_advanced_run_timeout": "全体タイムアウト",
    "settings_advanced_run_timeout_unit": "合計分数",
    "settings_advanced_rounds": "高度なラウンド",
    "settings_context_reducer_mode": "要約モード",
    "settings_context_reducer_reuse": "既存の SDK 参加者を再利用",
    "settings_context_reducer_clone": "SDK セッションのテンプレートを複製",
    "settings_context_reducer_session": "要約参加者",
    "settings_context_reducer_template": "テンプレート参加者",
    "settings_single_main": "メインのみ",
    "settings_multi_dispatch": "マルチディスパッチ",
    "settings_round_timeout": "ラウンドのタイムアウト",
    "settings_verdict_policy": "判定ポリシー",
    "settings_smart_gate": "スマートゲート",
    "settings_forced_rework": "強制リワーク",
    "settings_jump_target": "ジャンプ先",
    "settings_jump_marker": "ジャンプマーカー",
    "settings_min_triggers": "最小トリガー回数",
    "settings_max_triggers": "最大トリガー回数",
    "settings_artifact_outputs": "成果物出力",
    "settings_prompt_append": "プロンプト追記",
    "all_label": "全員",
    "all_rounds": "{{count}}ラウンド",
    "all_rounds_plural": "{{count}}ラウンド",
    "all_plus": "全員 + カスタムラウンド",
    "all_preview_empty": "参加者が未設定",
    "single_agent_prompt": {
      "title": "Agent をもっと追加しますか？",
      "body": "今は 1 つの Agent しか選択されていません。",
      "tip_multi": "異なる種類・提供元の Agent を組み合わせると、発想の固定化を崩しやすく、通常は最も良い結果になります。",
      "tip_rounds": "Team ディスカッションは通常 2 ラウンドが最適です。",
      "dont_show_again": "このアカウントでは今後表示しない",
      "more_agents": "@ さらに追加",
      "send_anyway": "そのまま送信",
      "tip_history": "複数 Agent の議論はファイル共有があり、履歴もより完全に残ります。1 対 1 は単発の議論として扱われます。"
    },
    "settings_workflow_migration_title": "ワークフロー移行",
    "settings_workflow_migration_body": "保存済みの高度な設定は古いラウンド形式です。高度な Team を起動する前に保存して、ワークフロー起動エンベロープを作成してください。",
    "settings_workflow_migration_ready": "高度な Team 起動用のワークフロー起動エンベロープが準備できています。",
    "settings_workflow_migration_error": "高度なワークフローの移行に失敗しました。起動前に保存済みラウンドを確認してください。",
    "workflow": {
      "diagnostics": {
        "forbidden_envelope_field": "The launch envelope contains a forbidden private field.",
        "unsupported_schema_version": "This workflow schema version is not supported.",
        "unknown_future_schema_read_only": "This future workflow version is read-only here.",
        "mixed_advanced_schema_fields": "Old and new advanced workflow fields are mixed.",
        "static_policy_mismatch_recompiled": "Daemon policy changed, so the workflow was recompiled.",
        "missing_required_capability": "The daemon is missing a required workflow capability.",
        "capability_stale": "デーモンとの通信が途絶えました — 保存済み設定は引き続き動作しますが、新しい高度ワークフローの起動はデーモンの再接続まで一時停止されます（通常 30 秒以内）。",
        "capability_downgraded_during_run": "A required capability was downgraded during the run.",
        "invalid_launch_envelope": "The workflow launch envelope is invalid.",
        "invalid_workflow_graph": "The workflow graph is invalid.",
        "invalid_routing_authority": "The workflow routing authority is invalid.",
        "invalid_edge_condition": "A workflow edge condition is invalid.",
        "loop_budget_exhausted": "The workflow loop budget was exhausted.",
        "invalid_workflow_variable": "A workflow variable is invalid.",
        "invalid_prompt_append": "A workflow prompt append is invalid.",
        "missing_context_source": "A required workflow context source is missing.",
        "context_source_too_large": "A workflow context source is too large.",
        "unsafe_artifact_path": "A workflow artifact path is unsafe.",
        "artifact_identity_collision_resolved": "An artifact identity collision was resolved.",
        "artifact_baseline_too_large": "An artifact baseline is too large.",
        "artifact_baseline_mismatch": "An artifact baseline did not match.",
        "artifact_contract_not_satisfied": "An artifact contract was not satisfied.",
        "invalid_script_contract": "A workflow script contract is invalid.",
        "script_executable_denied": "The script executable is not allowed.",
        "script_machine_output_invalid": "Script machine output is invalid.",
        "script_timeout": "The script timed out.",
        "script_cancelled": "The script was cancelled.",
        "daemon_busy": "The daemon is busy with other advanced workflows.",
        "workflow_stale_after_restart": "The workflow became stale after daemon restart.",
        "private_projection_field_dropped": "A private projection field was dropped.",
        "legacy_progress_snapshot_sanitized": "A legacy progress snapshot was sanitized.",
        "unknown_p2p_message": "An unknown Team workflow message was ignored.",
        "unmatched_edge_route": "ルートに一致する条件付き出力エッジがなく、デフォルトのエッジも存在しません。"
      },
      "editor": {
        "title": "詳細ワークフロー下書き",
        "add_node": "ノードを追加",
        "remove_node": "ノードを削除",
        "remove_edge": "エッジを削除",
        "normalize_banner_one": "{{count}} 個のレガシーノードが logic/script の preset/scope 整合を必要としています。Apply で修正してください。",
        "normalize_banner_other": "{{count}} 個のレガシーノードが logic/script の preset/scope 整合を必要としています。Apply で修正してください。",
        "normalize_banner": "{{count}} 個のレガシーノードが logic/script の preset/scope 整合を必要としています。Apply で修正してください。",
        "normalize_apply": "適用",
        "normalize_dismiss": "閉じる",
        "diagnostics_header": "診断",
        "read_only_notice": "このワークフローは将来のスキーマを使用しており、ここでは読み取り専用です。",
        "canvas_hint": "ノードをドラッグして配置します。右のアンカー (●) から別のノードへドラッグするとエッジを作成できます。マウスホイールまたはピンチでズーム。",
        "zoom_in": "拡大",
        "zoom_out": "縮小",
        "zoom_reset": "ズームをリセット",
        "inspector_empty": "プロパティを編集するノードまたはエッジを選択してください。",
        "node": {
          "section_label": "ノード",
          "preset_label": "プリセット",
          "permission_scope_label": "権限スコープ",
          "dispatch_style_label": "ディスパッチ方式",
          "summary_prompt_label": "ラウンドサマリープロンプト（ノード後に自動実行）",
          "script_argv_label": "スクリプトコマンド（1行につき argv 1項目、最初の行が実行ファイル）",
          "script_argv_placeholder": "/usr/bin/python3\n/絶対パス/script.py\n--flag\nvalue"
        },
        "edge": {
          "section_label": "エッジ",
          "from_label": "元",
          "to_label": "先",
          "condition_label": "条件値"
        }
      },
      "allowed_executables": {
        "title": "スクリプト実行ファイル許可リスト",
        "hint": "スクリプト起動時に強制適用されます。スクリプトノードが起動できる絶対パス（例: /usr/bin/jq）または PATH 相対名を追加してください。LLM のみのワークフローには項目を追加する必要はありません。",
        "placeholder": "/usr/bin/jq",
        "input_label": "新しい実行ファイルのパス",
        "add": "追加",
        "remove": "削除",
        "empty": "まだ許可された実行ファイルはありません。このワークフローのスクリプトノードは、少なくとも 1 件追加するまで bind 時に拒否されます。",
        "script_nodes_need_entries": "スクリプトノードに必須"
      },
      "library": {
        "title": "ワークフローライブラリ",
        "hint": "このセッション用に保存されたワークフロー。アクティブなものが Team 起動に送られます。最大 {{max}} 個。",
        "new": "+ 新規",
        "duplicate": "複製",
        "delete": "削除",
        "delete_confirm": "ワークフロー「{{title}}」を削除しますか？この操作は取り消せません。",
        "copy_suffix": "（コピー）",
        "active_badge": "アクティブ",
        "name_label": "ワークフロー名",
        "name_placeholder": "例：監査 + 計画ワークフロー"
      }
    }
  },
  "openspec": {
    "title": "OpenSpec",
    "changes": "変更",
    "empty": "OpenSpec の変更はありません",
    "load_timeout": "OpenSpec の変更の読み込みがタイムアウトしました。daemon の再接続後にもう一度試してください。",
    "load_unavailable": "daemon 接続の準備ができるまで OpenSpec の変更は利用できません。",
    "load_error": "OpenSpec の変更をスキャンできません",
    "audit_action": "監査",
    "audit_implementation_action": "実装を監査",
    "audit_spec_action": "仕様を監査",
    "implement_action": "実装",
    "achieve_action": "完了",
    "propose_action": "提案",
    "propose_from_discussion_action": "直近の議論から生成",
    "propose_from_description_action": "下の説明から生成",
    "audit_implementation_prompt": "{{reference}} について、OpenSpec の成果物に照らした厳格な実装監査を実施してください。不一致、抜け漏れ、回帰リスク、境界ケースの欠落、未整備のテストをすべて洗い出し、そのうえでコード、テスト、必要な関連修正まで直してください。実装に合わせて仕様成果物も動かす必要がある場合は、同じ作業の中で {{reference}} 配下の OpenSpec ファイルも直接更新してください。レポートだけで終わらせず、実装を仕様完全準拠まで持っていってください。",
    "audit_spec_prompt": "{{reference}} について、厳格な仕様監査を実施してください。スコープ、要件、受け入れ条件、境界ケース、失敗モード、依存関係、テスト容易性を強化し、曖昧さと内部矛盾を除去したうえで、{{reference}} 配下の proposal・design・specs・tasks を直接更新し、実装可能な品質まで仕様を仕上げてください。レビューコメントだけで終わらせないでください。",
    "implement_prompt": "{{reference}} の実装を強力に前進させてください。作業を具体的なサブタスクに分解し、サブエージェントへ明確な責務で割り当て、成果を統合し、仕様との差分を解消し、テストを追加または更新し、最終結果を検証してください。作業中は {{reference}} 配下の OpenSpec 成果物も同期させ、後続メモに先送りしないでください。あなたがオーケストレーション、技術判断、最終受け入れを担ってください。",
    "achieve_prompt": "完全な OpenSpec ワークフローで {{reference}} を done まで持っていってください。残っているタスクと成果物をすべて確認し、必要な実装と仕様の作業を完了し、必要に応じて {{reference}} 配下の proposal・design・specs・tasks を直接更新し、未解決事項を閉じ、必要なら影響するメイン仕様を同期し、完了条件を満たしたら変更をアーカイブしてください。進捗報告だけで止まらないでください。",
    "propose_from_discussion_prompt": "直近の議論から OpenSpec 変更を生成してください。目的、スコープ、主要要件、受け入れ基準を整理し、不明点は確認事項として明示したうえで、draft note で止めずに openspec/changes/ 配下へ proposal・design・specs・tasks を実際に書き出してください。",
    "propose_from_description_prompt": "下の説明から OpenSpec 変更を生成してください。目的、スコープ、主要要件、受け入れ基準を整理し、不足情報は確認事項として明示したうえで、draft note で止めずに openspec/changes/ 配下へ proposal・design・specs・tasks を実際に書き出してください。"
  },
  "upload": {
    "upload_file": "ファイルをアップロード",
    "uploading": "アップロード中...",
    "upload_failed": "アップロード失敗",
    "file_too_large": "ファイルが大きすぎます（最大 {{max}}MB）",
    "long_text_attached": "長い貼り付けテキストを {{name}} として添付しました",
    "long_text_requires_attachment": "この貼り付け内容は入力欄に直接入れるには長すぎます。ファイルとしてアップロードしてください。",
    "drop_overlay_title": "ドロップしてアップロード",
    "drop_overlay_hint": "このセッションウィンドウ内ならどこでも離せます",
    "download_file": "ダウンロード",
    "downloading": "ダウンロード中...",
    "preview_unavailable": "プレビューできません",
    "download_expired": "ダウンロードリンクの期限切れ",
    "download_timeout": "ダウンロードがタイムアウトしました",
    "download_failed": "ダウンロードに失敗しました",
    "daemon_offline": "デーモンがオフラインです"
  },
  "settings": {
    "title": "設定",
    "back": "← 戻る",
    "team_discussion_label": "Team ディスカッション",
    "team_discussion_title": "複雑な作業は複数 Agent で議論できます",
    "team_discussion_body": "Team ディスカッションはコードだけでなく、複雑な文書、提案、監査、意思決定にも向いています。異なるモデルが互いに補完し、反論することで、より質が高く厳密な結果を出しやすくなります。",
    "team_discussion_point_1": "まず入力欄に議論したい内容を書き、ディスカッションモードを選んで開始します。",
    "team_discussion_point_2": "難しい作業ではラウンドを増やし、前回の結論をさらにレビューして強化できます。",
    "team_discussion_point_3": "OpenSpec 監査、複雑な提案、コードレビュー、アーキテクチャ判断は単一モデルの盲点を見つけやすい用途です。",
    "display_name": "表示名",
    "no_name": "未設定",
    "edit": "編集",
    "save": "保存",
    "name_placeholder": "表示名を入力",
    "name_saved": "表示名を更新しました",
    "name_error": "表示名の更新に失敗しました",
    "change_password": "パスワード変更",
    "old_password": "現在のパスワード",
    "new_password": "新しいパスワード",
    "confirm_password": "新しいパスワードを確認",
    "change_password_btn": "パスワードを変更",
    "password_changed": "パスワードを変更しました",
    "password_error": "パスワードの変更に失敗しました。現在のパスワードを確認してください。",
    "passwords_mismatch": "パスワードが一致しません",
    "password_too_short": "パスワードは8文字以上で入力してください",
    "password_missing_uppercase": "パスワードには大文字を1文字以上含めてください",
    "password_missing_lowercase": "パスワードには小文字を1文字以上含めてください",
    "password_missing_digit": "パスワードには数字を1文字以上含めてください",
    "privacy_policy": "プライバシーポリシー",
    "terms_of_service": "利用規約",
    "account_identity": "アカウント情報",
    "username": "ユーザー名",
    "no_username": "未設定",
    "username_placeholder": "ユーザー名を設定",
    "username_required": "ユーザー名を入力してください",
    "username_invalid": "ユーザー名は3〜32文字で、小文字・数字・ドット・アンダースコア・ハイフンのみ使用できます",
    "username_taken": "そのユーザー名は既に使われています",
    "set_password_login": "パスワードログインを設定",
    "set_password_hint": "パスキーアカウントには通常ユーザー名とパスワードがありません。まずパスキーを一度確認し、その後ユーザー名とパスワードを設定すると、パスワードでもログインできるようになります。",
    "set_password_btn": "パスキーを確認してパスワードを設定",
    "password_setup_success": "パスワードログインを有効にしました",
    "password_setup_error": "パスワードログインの設定に失敗しました。パスキーを確認して再試行してください。",
    "passkey_verify_browser_only": "パスワード設定のためのパスキー確認は現在ブラウザ版でのみ利用できます。",
    "passkey_verify_wrong_account": "そのパスキーは別のアカウントに紐づいています。このアカウントに登録されたパスキーを使ってください。",
    "passkey_verify_no_passkeys": "このアカウントにはパスキーが登録されていません。",
    "native_status_verifying_passkey": "パスキーを確認中…",
    "native_status_saving_password": "パスワードログインを保存中…"
  },
  "admin": {
    "title": "管理パネル",
    "back": "← 戻る",
    "settings": "設定",
    "users": "ユーザー",
    "load_error": "管理データの読み込みに失敗しました",
    "action_error": "操作に失敗しました",
    "registration_enabled": "登録を有効化",
    "registration_enabled_desc": "新規ユーザーの登録を許可",
    "require_approval": "承認が必要",
    "require_approval_desc": "新規登録は管理者の承認が必要",
    "require_approval_disabled": "承認を設定するには、まず登録を有効にしてください",
    "col_username": "ユーザー名",
    "col_display_name": "表示名",
    "col_status": "ステータス",
    "col_role": "ロール",
    "col_created": "作成日",
    "col_actions": "操作",
    "status_active": "アクティブ",
    "status_pending": "承認待ち",
    "status_disabled": "無効",
    "approve": "承認",
    "disable": "無効化",
    "confirm_delete_title": "ユーザーを削除",
    "confirm_delete_msg": "ユーザー「{{name}}」を完全に削除してもよろしいですか？この操作は元に戻せません。",
    "confirm_disable_title": "ユーザーを無効化",
    "confirm_disable_msg": "ユーザー「{{name}}」を無効にしてもよろしいですか？ログインできなくなります。"
  },
  "repo": {
    "title": "リポジトリ",
    "back": "← 戻る",
    "refresh": "更新",
    "last_refresh": "最終更新：{{time}}秒前",
    "tab_issues": "Issue",
    "tab_prs": "PR",
    "tab_branches": "ブランチ",
    "tab_commits": "コミット",
    "tab_cicd": "CI/CD",
    "overview_branch": "{{default}} ← {{current}}",
    "cli_ok": "{{cli}} {{version}} ✓",
    "cli_not_installed": "CLIが未インストール",
    "load_more": "さらに読み込む",
    "loading": "読み込み中...",
    "retry": "再試行",
    "current_branch": "現在",
    "error_cli_missing": "リポジトリ機能を使用するには {{cli}} をインストールしてください",
    "error_cli_missing_hint": "リポジトリ機能を使用するにはGitHub CLIをインストールしてください：",
    "error_cli_outdated": "{{cli}} をバージョン {{version}}+ に更新してください",
    "error_unauthorized": "`{{command}}` を実行して認証してください",
    "error_unauthorized_hint": "CLIで認証してください：",
    "error_rate_limited": "APIレート制限に達しました。しばらくしてから再試行してください。",
    "error_generic": "データの読み込みに失敗しました",
    "empty_issues": "Issueはありません",
    "empty_prs": "PRはありません",
    "empty_branches": "ブランチはありません",
    "empty_commits": "コミットはありません",
    "empty_actions": "ワークフロー実行が見つかりません",
    "state_open": "オープン",
    "state_closed": "クローズ",
    "state_merged": "マージ済み",
    "draft": "下書き",
    "default_branch": "デフォルト",
    "ahead": "{{count}} 先行",
    "behind": "{{count}} 遅延",
    "actions_refresh": "更新",
    "actions_last_updated": "更新 {{time}}",
    "actions_view": "表示",
    "detail_loading": "読み込み中...",
    "detail_error": "詳細の読み込みに失敗",
    "detail_retry": "再試行",
    "files": "ファイル",
    "more_files": "その他のファイル — GitHubで全件表示",
    "view_on_platform": "GitHubで表示",
    "body_truncated": "内容が省略されています — GitHubで全文表示",
    "checks_success": "チェック成功",
    "checks_failure": "チェック失敗",
    "checks_pending": "チェック実行中",
    "mergeable": "マージ可能",
    "conflicts": "コンフリクトあり",
    "comments_count": "件のコメント",
    "comments_header": "{{count}}件のコメント",
    "no_comments": "コメントなし",
    "show_changed_files": "変更ファイルを表示",
    "refresh_tab": "更新",
    "branch_summary_title": "現在のブランチ: {{branch}}",
    "branch_summary_label": "{{branch}} ブランチのリポジトリ情報を開く",
    "info_title": "リポジトリ情報",
    "info_current_branch": "ブランチ",
    "info_project_dir": "プロジェクト",
    "info_repository": "リポジトリ",
    "info_provider": "プロバイダー",
    "info_default_branch": "デフォルト",
    "branch_local_label": "ローカルブランチ",
    "branch_local_short": "local",
    "branch_remote_label": "リモートブランチ",
    "branch_remote_short": "remote",
    "checkout_switch": "切り替え",
    "checkout_switching": "切り替え中...",
    "checkout_switch_to": "{{branch}} に切り替え",
    "checkout_pending": "{{branch}} に切り替え中",
    "checkout_success": "{{branch}} に切り替えました。",
    "checkout_remote_only_disabled": "このバージョンではリモート専用ブランチに切り替えられません。",
    "checkout_dirty_worktree": "ブランチを切り替える前にローカル変更を整理またはコミットしてください。",
    "checkout_git_operation_in_progress": "現在の git 操作を完了してからブランチを切り替えてください。",
    "checkout_invalid_target": "既存のローカルブランチにのみ切り替えられます。",
    "checkout_in_progress": "このリポジトリでは既にブランチ切り替えが進行中です。",
    "checkout_busy": "リポジトリ操作が混み合っています。少し後に再試行してください。",
    "checkout_branch_in_use": "そのブランチには現在切り替えられません。",
    "checkout_detached_head": "HEAD が detached の間は切り替えできません。",
    "checkout_not_a_git_repo": "このプロジェクトは git リポジトリではありません。",
    "checkout_failed": "ブランチ切り替えに失敗しました。",
    "local_commit_fallback_loading": "ローカル git 履歴を読み込み中...",
    "local_commit_fallback_error": "ローカル git 履歴を読み込めませんでした。"
  },
  "transport_chat": {
    "inputPlaceholder": "メッセージを入力...",
    "send": "送信",
    "streaming": "考え中...",
    "error": "エラー",
    "connectionLost": "接続が切断されました",
    "empty": "まだメッセージはありません"
  },
  "sidebar": {
    "collapse": "サイドバーを折りたたむ",
    "expand": "サイドバーを展開する",
    "noSessions": "セッションがありません",
    "sessionTree": "セッション一覧",
    "unpin": "パネルの固定を解除",
    "pinned_repo": "ファイル",
    "session_unavailable": "セッションは利用できません",
    "drop_to_pin": "ドロップして固定",
    "pin_to_sidebar": "サイドバーに固定",
    "expand_all": "すべて展開",
    "collapse_all": "すべて折りたたむ",
    "drag_to_resize": "ドラッグしてサイズ変更"
  },
  "subsessionBar": {
    "show": "表示",
    "hide": "非表示",
    "layout_double": "2段表示",
    "layout_single": "1段表示",
    "card_size": "カードサイズ",
    "subs_count": "Subs ({{count}})",
    "new_sub_session": "新しいサブセッション",
    "add_sub_session_short": "+ サブセッション",
    "close_all_open": "開いているサブセッションウィンドウをすべて閉じる",
    "quick_close_open": "開いているサブセッションウィンドウをすばやく閉じる",
    "restore_quick_closed": "直前に閉じたサブセッションウィンドウを復元",
    "quick_close_unavailable": "先にサブセッションウィンドウを開いてください",
    "p2p_discussions": "Team ディスカッション",
    "p2p_compact_show": "コンパクトな Team バーを表示",
    "p2p_compact_hide": "Team バーをコンパクト化",
    "p2p_compact_expand": "詳細な Team バーを表示",
    "p2p_discussions_with_running_one": "{{count}} 件の進行中のディスカッション — すべて表示",
    "p2p_discussions_with_running_other": "{{count}} 件の進行中のディスカッション — すべて表示",
    "p2p_discussions_with_running": "{{count}} 件の進行中のディスカッション — すべて表示",
    "p2p_running_count_aria_one": "{{count}} 件の Team ディスカッションが進行中",
    "p2p_running_count_aria_other": "{{count}} 件の Team ディスカッションが進行中",
    "p2p_running_count_aria": "{{count}} 件の Team ディスカッションが進行中",
    "repository": "リポジトリ",
    "scheduled_tasks": "スケジュールされたタスク",
    "width_short": "幅",
    "height_short": "高",
    "apply": "適用",
    "reset": "リセット",
    "empty_prefix": "サブセッションはまだありません。",
    "empty_suffix": "をクリックして追加"
  },
  "localWebPreview": {
    "title": "ローカルWebプレビュー",
    "port": "ポート",
    "path": "パス",
    "open": "開く",
    "refresh": "更新",
    "openInNewTab": "新しいタブで開く",
    "closePreview": "プレビューを閉じる",
    "sandboxNote": "プレビューは sandbox 制限付き iframe で実行されます。一部のアプリは新しいタブのほうが適しています。",
    "invalidPort": "1 から 65535 の間のポートを入力してください。",
    "openFailed": "ローカルプレビューを開けませんでした。",
    "opening": "プレビューを開いています…",
    "empty": "ローカルポートとパスを入力してからプレビューを開いてください。",
    "noServer": "先にサーバーを選択してください。",
    "previewing": "プレビュー中：",
    "initialPathNote": "このパスは最初に開くページだけを指定します。読み込み後の移動範囲はこのパスではなくポート単位です。",
    "portHistoryLabel": "最近のポート",
    "pathHistoryLabel": "最近のパス"
  },
  "cron": {
    "title": "スケジュールタスク",
    "create": "新規タスク",
    "edit": "タスクを編集",
    "name": "タスク名",
    "name_placeholder": "例：毎日のCIチェック",
    "schedule": "スケジュール",
    "schedule_help": "Cron式（例：0 9 * * 1-5 = 平日の午前9時）",
    "mode_picker": "ビジュアル選択",
    "mode_advanced": "詳細 (cron)",
    "advanced_help": "形式：分 時 日 月 曜日 — 例: 0 9 * * 1-5 = 平日午前9時",
    "field_minute": "分",
    "field_hour": "時",
    "field_day": "日",
    "field_month": "月",
    "field_weekday": "曜日",
    "every_hour": "毎時",
    "any": "任意",
    "target": "対象セッション",
    "action_type": "アクション種別",
    "action_command": "コマンド",
    "action_p2p": "Teamディスカッション",
    "send_target": "送信先",
    "send_target_placeholder": "正確なセッション名、ラベル、またはエージェント種別",
    "send_message": "メッセージ",
    "send_message_placeholder": "送信するメッセージを入力...",
    "send_reply": "送信先に返信を依頼",
    "send_broadcast": "兄弟セッションへ一斉送信",
    "command": "コマンド",
    "command_placeholder": "エージェントに送るコマンドを入力...",
    "shell_hint": "ヒント：Shellセッションはスクリプトを直接実行できます。スクリプトのパスを入力してください（例: /path/to/script.sh）",
    "p2p_topic": "ディスカッションのトピック",
    "p2p_topic_placeholder": "ディスカッションのトピックを入力...",
    "p2p_mode": "ディスカッションモード",
    "p2p_participants": "参加者",
    "p2p_rounds": "ラウンド数",
    "expires_at": "有効期限",
    "expires_never": "なし",
    "status": "ステータス",
    "active": "有効",
    "paused": "一時停止",
    "expired": "期限切れ",
    "error": "エラー",
    "last_run": "前回の実行",
    "next_run": "次回の実行",
    "no_tasks": "スケジュールタスクはありません",
    "confirm_delete": "このスケジュールタスクを削除しますか？",
    "pause": "一時停止",
    "resume": "再開",
    "save": "保存",
    "cancel": "キャンセル",
    "invalid_cron": "無効なCron式です",
    "interval_too_short": "最小間隔は5分です",
    "history": "実行履歴",
    "no_history": "まだ実行記録はありません",
    "no_detail": "出力なし",
    "status_sent": "送信済み",
    "status_skipped_offline": "スキップ（オフライン）",
    "status_skipped_busy": "スキップ（ビジー）",
    "status_error": "エラー",
    "no_participants": "他に利用可能なセッションがありません",
    "show_all_projects": "全プロジェクト",
    "show_all_servers": "全サーバー",
    "exec_latest": "最新",
    "exec_all": "すべて",
    "view_discussion": "Team ディスカッションを見る →",
    "confirm_trigger": "このタスクを今すぐ実行しますか？",
    "status_manual_trigger": "手動実行",
    "go_to_session": "セッションへ移動",
    "go_and_quote": "移動して結果を引用",
    "read_only": "読み取り専用",
    "read_only_scope": "この cron ジョブは別の server または tab に属しているため、ここでは一時的に読み取り専用です。"
  },
  "fileBrowser": {
    "edit": "編集",
    "preview": "プレビュー",
    "save": "保存",
    "saving": "保存中…",
    "unsavedChanges": "未保存の変更があります。破棄しますか？",
    "conflictTitle": "ファイルが外部で変更されました",
    "conflictKeepMine": "自分の変更を維持",
    "conflictUseDisk": "ディスク版を使用",
    "conflictCancel": "キャンセル",
    "saveSuccess": "保存しました",
    "saveError": "保存に失敗しました",
    "fileTooLarge": "ファイルが大きすぎて保存できません（> 1 MB）",
    "saveTimeout": "保存がタイムアウトしました — ファイルを再読み込みしてください",
    "copyPath": "パスをコピー",
    "copied": "コピーしました!",
    "insertPath": "パスを挿入"
  },
  "onboarding": {
    "prompt": {
      "title": "新規ユーザー向けガイドを開始しますか？",
      "body_1": "最初のメイン session の準備ができました。初めてなら、この短いガイドで主要な操作を確認できます。",
      "body_2": "まず基本ボタンを説明し、最後にマルチ Agent 議論の使い方を案内します。",
      "beginner": "初心者なのでガイドを開始",
      "expert": "慣れているので今後は表示しない",
      "later": "閉じる、次回また表示"
    },
    "team_discussion_guide": {
      "title": "ここが Team ディスカッションです",
      "body_1": "ディスカッションはコードだけでなく、複雑な文書、提案、OpenSpec 監査、コードレビュー、アーキテクチャ判断にも有効です。",
      "body_2": "異なるモデルが互いに補完し、反論することで、単一モデルより質が高く、より厳密な結果を出しやすくなります。",
      "body_3": "まず議論したい内容を入力し、ディスカッションモードを選んで開始します。難しい問題はラウンドを増やして結論を強化できます。",
      "dismiss": "了解"
    },
    "step_counter": "ステップ {{current}} / {{total}}",
    "prev": "戻る",
    "next": "次へ",
    "finish": "完了",
    "steps": {
      "new_main": {
        "title": "ここでメイン Session を作成",
        "body_1": "このボタンでプロジェクト用の新しいメイン session を作成します。",
        "body_2": "メイン session は terminal、chat、repo、discussion の入口です。"
      },
      "new_sub": {
        "title": "ここでサブ Session を作成",
        "body_1": "このボタンで現在のプロジェクトに worker/helper のサブ session を追加します。",
        "body_2": "サブ session は並列作業、レビュー、実験に向いています。"
      },
      "discussions": {
        "title": "ここで議論履歴を開く",
        "body_1": "過去の議論と結果をここで確認できます。"
      },
      "repo": {
        "title": "ここで Repo パネルを開く",
        "body_1": "リポジトリ状態、ブランチ、コミット、PR、CI をここで確認できます。"
      },
      "cron": {
        "title": "ここで定期タスクを開く",
        "body_1": "現在のプロジェクトの定期タスクをここで作成・管理できます。"
      },
      "view_toggle": {
        "title": "ここで Chat / Terminal を切り替える",
        "body_1": "このボタンで現在の session の chat 表示と live terminal 表示を切り替えます。"
      },
      "p2p_defaults": {
        "title": "ここで既定の議論参加 Session を設定",
        "body_1": "このメニューで Config を選ぶと、@all に既定で参加する session を設定できます。",
        "body_2": "既定の議論ラウンド数もここで素早く設定できます。"
      },
      "p2p_send": {
        "title": "入力欄から素早く議論を開始",
        "body_1": "@@all(discuss) や @@all(review) などを入力すると、共有ディスカッションをすばやく開始できます。",
        "body_2": "議論は異なる提供元や種類の Agent を 2 つ以上使うと効果的です。固定化した発想を崩しやすく、より良い結果になりやすいです。",
        "body_3": "マルチ Agent 議論はファイル共有とより完全な履歴を持ちます。1 対 1 は単発の議論に近い扱いです。実運用では 2 ラウンドが強い既定値です。"
      }
    }
  },
  "sharedContext": {
    "loading": "Loading shared context…",
    "refresh": "Refresh",
    "empty": "Nothing yet",
    "roles": {
      "owner": "owner",
      "admin": "admin",
      "member": "member"
    },
    "notice": {
      "enterpriseCreated": "Enterprise created",
      "inviteCreated": "Invite created",
      "joinedEnterprise": "Joined enterprise",
      "memberUpdated": "Member updated",
      "memberRemoved": "Member removed",
      "workspaceCreated": "Workspace created",
      "projectEnrolled": "Project enrolled",
      "policySaved": "Policy saved",
      "projectPendingRemoval": "Project marked pending removal",
      "projectRemoved": "Project removed",
      "documentCreated": "Document created",
      "versionCreated": "Version created",
      "versionActivated": "Version activated",
      "bindingCreated": "Binding created",
      "processingConfigSaved": "Processing config saved",
      "memoryPreferenceSaved": "Preference saved",
      "memoryPreferenceDeleted": "Preference deleted",
      "memorySkillRegistryRebuilt": "Skill registry rebuilt",
      "memorySkillDeleted": "Skill deleted",
      "memoryMdIngestCompleted": "Markdown ingest completed",
      "memoryObservationPromoted": "Observation promoted",
      "memoryFeatureEnabled": "{{flag}} を有効にしました",
      "memoryFeatureDisabled": "{{flag}} を無効にしました",
      "memoryPreferenceUpdated": "Preference updated",
      "memoryObservationUpdated": "Observation updated",
      "memoryObservationDeleted": "Observation deleted",
      "memoryCreated": "メモリを保存しました。",
      "memoryUpdated": "メモリを更新しました。",
      "memoryPinned": "今後の要約用にメモリをピン留めしました。"
    },
    "management": {
      "title": "共有コンテキスト",
      "heroDescription": "共有エンタープライズ、登録プロジェクト、ナレッジ、処理動作を一か所で管理します。",
      "inviteDescription": "メンバーとしてエンタープライズに招待します。必要に応じてメンバータブで管理者に昇格できます。",
      "inviteFlowTitle": "招待フロー",
      "memberRolesDescription": "オーナーは管理者を昇格できます。管理者はプロジェクトとナレッジを管理できますが、他の管理者を任命できません。",
      "workspaceDescription": "ワークスペースを使用して共有プロジェクトをグループ化します。オプションであり、所有権は変更されません。",
      "enrollDescription": "正規リポジトリを登録して、処理済みコンテキストとナレッジをこのエンタープライズで共有可能にします。",
      "policyDescription": "共有プロジェクトのランタイムポリシーを設定します。",
      "knowledgeDescription": "コーディング標準、アーキテクチャガイドライン、再利用可能なナレッジをバージョン管理された共有コンテキストとして作成します。",
      "versionDescription": "選択したドキュメントの新しいバージョンを作成し、準備ができたらアクティブにします。",
      "bindingDescription": "ドキュメントバージョンをエンタープライズ、ワークスペース、またはプロジェクトに言語とパスフィルター付きで添付します。",
      "selectEnterprise": "Select enterprise",
      "enterpriseNamePlaceholder": "New enterprise name",
      "createEnterprise": "Create enterprise",
      "invites": "Invites",
      "inviteEmailPlaceholder": "Invite email (optional)",
      "createInvite": "Create invite",
      "inviteToken": "Invite token",
      "joinTokenPlaceholder": "Invite token",
      "joinEnterprise": "Accept invite",
      "members": "Members",
      "promoteAdmin": "Promote to admin",
      "demoteMember": "Demote to member",
      "removeMember": "Remove",
      "workspaces": "Workspaces",
      "workspaceNamePlaceholder": "Workspace name",
      "createWorkspace": "Create workspace",
      "projects": "Projects",
      "projectRelationshipTitle": "共有プロジェクトコンテキストの仕組み",
      "projectRelationshipLine1": "個人メモリはエンタープライズなしで使えます。",
      "projectRelationshipLine2": "共有プロジェクトコンテキストは、選択中のエンタープライズにリポジトリを登録して初めて始まります。",
      "projectRelationshipLine3": "ワークスペースは任意で、常に同じエンタープライズに属します。所有主体ではなくグルーピング層です。",
      "projectRelationshipLine4": "スコープは、そのプロジェクトがエンタープライズ内でどこまで共有するかを決めるだけで、所属先は変えません。",
      "belongsToTitle": "所属",
      "belongsToEnterprise": "Enterprise:",
      "belongsToWorkspace": "ワークスペース:",
      "belongsToWorkspaceValue": "選択中のエンタープライズ内の任意サブグループ。",
      "belongsToProject": "プロジェクト:",
      "belongsToProjectValue": "登録済みの正規リポジトリ。",
      "sharesWithTitle": "共有先",
      "sharesWithProjectValue": "この登録済みリポジトリだけがコンテキストを共有します。",
      "sharesWithWorkspaceValue": "同じワークスペース内のプロジェクト同士でコンテキストを共有します。",
      "sharesWithEnterpriseValue": "現在のエンタープライズ内の全登録プロジェクトでコンテキストを共有できます。",
      "chooseSharingLevelTitle": "共有レベルを選択",
      "chooseSharingLevelProject": "1 リポジトリにつき 1 つの共有境界。ほとんどのチームはこれを使います。",
      "chooseSharingLevelWorkspace": "同じワークスペース内の関連リポジトリ同士でコンテキストを共有します。",
      "chooseSharingLevelEnterprise": "最も広い範囲です。登録済み全プロジェクトで同じコンテキストプールを共有したい場合だけ使ってください。",
      "scopeProjectLabel": "このプロジェクトのみ",
      "scopeProjectDescription": "この登録済みリポジトリだけにコンテキストを共有します。",
      "scopeWorkspaceLabel": "ワークスペース",
      "scopeWorkspaceDescription": "同じワークスペースに属するプロジェクト間で共有します。",
      "scopeEnterpriseLabel": "エンタープライズ",
      "scopeEnterpriseDescription": "現在のエンタープライズ内の全登録プロジェクトで共有します。",
      "scopeSourceWithWorkspace": "ワークスペースの所属元: {{enterprise}} 配下の {{workspace}}。",
      "scopeSourceWithoutWorkspace": "ワークスペースは未選択です。このプロジェクトは引き続き {{enterprise}} に属します。",
      "selectedEnterprise": "選択中のエンタープライズ",
      "notSelected": "未選択",
      "canonicalRepoId": "Canonical repo ID",
      "displayName": "Display name",
      "noWorkspace": "No workspace",
      "workspaceLabel": "Workspace",
      "noWorkspaceAssigned": "No workspace",
      "enrollProject": "Enroll project",
      "editPolicy": "Edit policy",
      "pendingRemoval": "Pending removal",
      "removeProject": "Remove project",
      "selectProject": "Select project",
      "allowDegraded": "Allow degraded provider",
      "allowLocalFallback": "Allow local fallback",
      "requireFullSupport": "Require full support",
      "savePolicy": "Save policy",
      "documents": "Knowledge & standards",
      "documentTitle": "Document title",
      "createDocument": "Create document",
      "selectDocument": "Select document",
      "selectVersion": "Select version",
      "documentContent": "Document content",
      "createVersion": "Create version",
      "bindings": "Bindings",
      "required": "Required",
      "advisory": "Advisory",
      "language": "Language",
      "pathPattern": "Path pattern",
      "createBinding": "Create binding",
      "tabs": {
        "enterprise": "組織",
        "members": "メンバー",
        "projects": "プロジェクト",
        "knowledge": "ナレッジ",
        "processing": "処理",
        "memory": "メモリ",
        "mcp": "MCP"
      },
      "policyTitle": "Project policy",
      "policyLoading": "Loading saved policy…",
      "policyExplainTitle": "What this policy controls",
      "policyExplainLine1": "These settings control how this shared project behaves when a provider cannot fully support shared context or when the remote shared state is unavailable.",
      "policyExplainLine2": "Use the stricter options for team-owned codebases. Use the more permissive options only when you need continuity over strict consistency.",
      "allowDegradedHelp": "Allow providers that can only inject shared context in a reduced or message-side form. Turn this off if the team requires consistent behavior across providers.",
      "allowLocalFallbackHelp": "Allow this machine to keep using its local processed context when shared remote context is stale or temporarily unavailable.",
      "requireFullSupportHelp": "Only allow providers that fully support normalized shared-context injection. This is the strictest setting.",
      "requireFullProviderSupportHelp": "Only allow providers that fully support normalized shared-context injection. This is the strictest setting.",
      "processingSummaryTitle": "Processing flow",
      "processingSummaryLine1": "Raw activity is staged locally, then materialized into processed local context on delayed jobs.",
      "processingSummaryLine2": "Shared projects can replicate processed context to the remote shared store after local materialization succeeds.",
      "processingSummaryLine3": "This panel manages enterprise policy and authored knowledge. It does not directly run the materializer.",
      "processingModelTitle": "Materialization model selection",
      "processingPrimaryCardTitle": "Primary processing path",
      "processingPrimaryBackend": "Primary SDK / backend",
      "processingPrimaryModel": "Default primary model",
      "processingPrimaryPreset": "Primary preset",
      "processingBackupCardTitle": "Backup processing path",
      "processingBackupBackend": "Backup SDK / backend",
      "processingBackupModel": "Backup model",
      "processingBackupPreset": "Backup preset",
      "processingBackupPlaceholder": "Optional fallback model",
      "processingPresetNone": "No preset",
      "processingSave": "Save processing config",
      "processingSaving": "Saving…",
      "processingReload": "Reload cloud config",
      "processingSavedPrimaryBackend": "Saved primary backend",
      "processingSavedPrimary": "Saved primary model",
      "processingSavedBackupBackend": "Saved backup backend",
      "processingSavedBackup": "Saved backup model",
      "processingUnsetValue": "unset",
      "processingCloudSyncNote": "This setting is saved in the cloud for the selected server and synced into the daemon when it is connected or restarts.",
      "processingServerRequired": "Select a server before managing processing settings.",
      "processingPrimaryOverride": "Primary override env",
      "processingBackupOverride": "Backup override env",
      "processingServerScope": "Current server scope",
      "processingProviderNote": "Choose both the SDK/backend and the model. The daemon will use this pair when it runs local shared-context materialization jobs.",
      "processingBackendNote": "The backend decides which runtime executes the model. The model alone is not enough.",
      "processingUiGap": "This setting is server-scoped, not enterprise-global.",
      "processingOperationalTitle": "Operational notes",
      "processingOperationalLine1": "If no server-saved value exists, the primary model defaults to \"sonnet\".",
      "processingOperationalLine2": "The backup model is optional and defaults to unset.",
      "processingOperationalLine3": "Different servers can still use different saved processing models. This panel edits the selected server only.",
      "memorySummaryTitle": "Memory visibility",
      "memorySummaryLine1": "Personal memory is materialized locally first, then optionally replicated to the cloud for cross-device continuity.",
      "memorySummaryLine2": "Cloud personal memory is scoped to the current signed-in user and shared across that user's devices when sync is enabled.",
      "memorySummaryLine3": "Shared memory stats show enterprise-scoped processed context that other enrolled projects can reuse.",
      "personalSyncTitle": "Personal cloud sync",
      "personalSyncDescription": "Choose whether processed personal memory should replicate to your account-wide cloud memory pool.",
      "personalSyncToggle": "Enable cloud sync for personal memory",
      "personalSyncHelp": "Enabled by default so summaries can power cross-device continuity and related-history recall. Turn it off only if you want personal memory to stay local-only.",
      "personalSyncDisableConfirm": "Turn off personal cloud sync? Cross-device memory, recent summary sync, and related-history recall may be affected until you turn it back on.",
      "memoryRecallThresholdTitle": "関連履歴リコール閾値",
      "memoryRecallThresholdDescription": "関連履歴をメッセージへ注入する前に必要な最小複合スコアを調整します。",
      "memoryRecallThresholdLabel": "最小関連度スコア",
      "memoryRecallThresholdHelp": "値を下げるほど履歴を注入しやすくなります。値を上げるほど厳しくなります。既定値: {{defaultValue}}。",
      "memoryRecallThresholdReset": "保存済みの値に戻す",
      "memoryRecallThresholdSaved": "保存済み閾値",
      "memoryAdvancedScoringTitle": "高度なスコア設定",
      "memoryAdvancedScoringDescription": "類似度、最近性、呼び出し回数、プロジェクト親和性がメモリ順位に与える重みを調整します。",
      "memoryAdvancedScoringShow": "高度なスコア設定を表示",
      "memoryAdvancedScoringHide": "高度なスコア設定を隠す",
      "memoryAdvancedScoringHelp": "これらは高度な調整用です。保存時に重みの合計が 1.0 になるよう正規化されます。",
      "memoryAdvancedScoringSum": "正規化前の現在の重み合計: {{value}}",
      "memoryAdvancedScoringReset": "高度な重みをリセット",
      "memoryWeightSimilarity": "類似度の重み",
      "memoryWeightRecency": "最近性の重み",
      "memoryWeightFrequency": "呼び出し回数の重み",
      "memoryWeightProject": "プロジェクト親和性の重み",
      "personalSyncSave": "Save sync setting",
      "memoryTabLocalProcessed": "Local processed",
      "memoryTabLocalPending": "Local pending",
      "memoryTabCloud": "Personal cloud",
      "memoryTabShared": "Enterprise shared",
      "memoryTabPersonal": "個人",
      "memoryTabEnterprise": "企業",
      "memoryTabUnprocessed": "未処理",
      "memoryTabProcessed": "処理済み",
      "memoryTabSharedMemory": "共有メモリ",
      "memoryTabAuthoredContext": "作成コンテキスト",
      "memoryAuthoredTitle": "企業作成コンテキスト",
      "memoryAuthoredDescription": "共有プロジェクトにバインドされた企業管理ドキュメント。ナレッジタブで管理します。",
      "memoryAuthoredSeeKnowledge": "作成コンテキストバインディングは上のナレッジタブで管理されます。",
      "memoryQueryTitle": "Query processed memory",
      "memoryQueryDescription": "Search local personal memory, cloud personal memory, and enterprise shared memory using the same filters.",
      "memoryProjectPlaceholder": "Filter by canonical repo ID",
      "memoryQueryPlaceholder": "Search summaries and compressed content",
      "memoryAllClasses": "All record classes",
      "memoryRecentSummary": "Recent summaries",
      "memoryRecentDescription": "Turn-level compressed summaries generated from recent local activity.",
      "memoryDurableCandidate": "Durable memory candidates",
      "memoryDurableDescription": "Condensed long-lived preferences, constraints, and pinned decisions.",
      "memoryLocalTitle": "Local personal memory",
      "memoryCloudTitle": "Global personal cloud memory",
      "memoryProcessedNote": "Processed memory uses semantic vector search. Raw pending events stay local and use text filtering only; cloud personal memory and enterprise shared memory store processed summaries, not raw chat transcripts.",
      "memorySharedTitle": "Enterprise shared memory",
      "memoryStatTotal": "Total records",
      "memoryStatHits": "Matched records",
      "memoryStatRecent": "Recent summaries",
      "memoryStatDurable": "Durable candidates",
      "memoryStatPending": "Unprocessed events",
      "memoryStatDirtyTargets": "Dirty targets",
      "memoryStatPendingJobs": "Queued jobs",
      "memoryStatProjects": "Projects",
      "memoryRecordProject": "Project",
      "memoryRecordStatus": "Status",
      "memoryStatusProcessed": "Processed summary",
      "memoryStatusPending": "Pending raw event",
      "memoryRecordClass": "Class",
      "memoryRecordSources": "Source events",
      "memoryRecordUpdated": "Updated",
      "memoryRecordOwner": "所有者",
      "memoryRecordCreatedBy": "作成者",
      "memoryRecordUpdatedBy": "更新者",
      "memoryPendingTitle": "Pending raw events",
      "memoryPendingDescription": "These events have not been materialized yet. They remain local raw activity and only support text filtering, not semantic vector search.",
      "memoryPendingEventType": "Event type",
      "memoryPendingSession": "Session",
      "memoryProcessedTitle": "Processed memory",
      "memoryProcessedDescription": "These entries are processed memory summaries ranked with semantic vector search. Local views show processed summaries beside local pending events; cloud and enterprise views contain processed summaries only.",
      "memoryProcessedEmptyPending": "No processed summaries yet. Only pending raw events are available below.",
      "memoryExpand": "Expand",
      "memoryCollapse": "Collapse",
      "memoryRecalls": "{{count}} 回呼出",
      "memoryNeverRecalled": "未使用",
      "memoryLastRecalled": "最終呼出: {{time}}",
      "memoryArchive": "アーカイブ",
      "memoryRestore": "復元",
      "memoryDelete": "削除",
      "memoryDeleteConfirm": "この記憶を完全に削除しますか？この操作は元に戻せません。",
      "memoryDeleteFailed": "記憶を削除できませんでした",
      "memoryArchived": "アーカイブ済み",
      "memoryShowArchived": "アーカイブを表示",
      "memoryMasterSummary": "マスター要約",
      "memoryPost11AdminTitle": "Post-1.1 memory management",
      "memoryPost11AdminDescription": "Manage runtime-visible preferences, skill registry entries, markdown ingest, and observation promotion from the daemon that owns the local memory store.",
      "memoryAdminDaemonRequired": "Connect to a daemon to manage local preferences, skills, markdown ingest, and observations.",
      "memoryAdminActionFailed": "Memory management action failed",
      "memoryPreferencesTitle": "User preferences",
      "memoryPreferencesDescription": "Manage @pref entries that are injected into provider context for matching user scopes.",
      "memoryPreferenceUserPlaceholder": "Preference user id",
      "memoryPreferenceTextPlaceholder": "Preference text",
      "memoryPreferenceSave": "Save preference",
      "memoryPreferenceUser": "User",
      "memoryPreferenceDeleteConfirm": "Delete this preference? It will no longer be injected into future turns.",
      "memoryPreferencesEmpty": "No stored preferences found.",
      "memorySkillsTitle": "Skills",
      "memorySkillsDescription": "Inspect the lightweight skill registry used at startup. Full skill bodies are read only when previewed or when the agent asks for a matching skill.",
      "memoryProjectDirPlaceholder": "Project directory (for project skills / MD ingest)",
      "memorySkillRebuildRegistry": "Rebuild registry",
      "memorySkillName": "Skill",
      "memorySkillLayer": "Layer",
      "memorySkillPath": "Path",
      "memorySkillPreview": "Preview",
      "memorySkillPreviewTitle": "Skill preview",
      "memorySkillDeleteConfirm": "Delete this skill file and remove it from the registry?",
      "memorySkillsEmpty": "No registry entries found. Rebuild after installing or creating skills.",
      "memoryMdIngestTitle": "Markdown ingest",
      "memoryMdIngestDescription": "Run a bounded manual ingest for trusted project markdown files. Unsupported cross-scope ingest fails closed instead of silently downgrading.",
      "memoryMdIngestRun": "Run ingest",
      "memoryMdFilesChecked": "Files checked",
      "memoryMdObservationsWritten": "Observations written",
      "memoryMdIngestEmpty": "No manual ingest result yet.",
      "memoryObservationsTitle": "Observation store",
      "memoryObservationsDescription": "Inspect typed durable observations and promote scope only through an explicit audited UI action.",
      "memoryAllScopes": "All scopes",
      "memoryScopeLabel": "Scope",
      "memoryPromotionReasonPlaceholder": "Promotion reason (optional)",
      "memoryObservationPromote": "Promote",
      "memoryObservationsEmpty": "No observations found for the selected filters.",
      "memoryScope": {
        "user_private": "User private",
        "personal": "Personal project",
        "project_shared": "Project shared",
        "workspace_shared": "Workspace shared",
        "org_shared": "Org shared"
      },
      "memoryObservationClass": {
        "fact": "Fact",
        "decision": "Decision",
        "bugfix": "Bug fix",
        "feature": "Feature",
        "refactor": "Refactor",
        "discovery": "Discovery",
        "preference": "Preference",
        "skill_candidate": "Skill candidate",
        "workflow": "Workflow",
        "code_pattern": "Code pattern",
        "note": "Note"
      },
      "memoryFeatureStatusTitle": "機能フラグ",
      "memoryFeatureStatusDescription": "post-1.1 メモリ機能のユーザー単位オンライン全体スイッチです。変更はアカウントに保存され、所有するすべてのサーバーへ適用されます。ローカル daemon/env 設定はフォールバックです。",
      "memoryFeatureEnabled": "有効",
      "memoryFeatureDisabled": "無効",
      "memoryFeatureUnknown": "不明",
      "memoryFeatureDisabledNotice": "This feature is disabled; management writes are blocked until the feature flag is enabled.",
      "error": {
        "missing_observation_text": "Observation text is required.",
        "observation_not_found": "Observation not found.",
        "observation_mutation_forbidden": "You are not authorized to modify this observation.",
        "missing_memory_text": "メモリ本文が必要です。",
        "memory_not_found": "メモリレコードが見つかりません。"
      },
      "memoryToolsTitle": "Memory tools",
      "memoryToolsDescription": "Manage preferences, skills, markdown ingest, observations, and daemon memory feature status with the selected project identity.",
      "memoryToolTabStatus": "Status",
      "memoryToolTabPreferences": "Preferences",
      "memoryToolTabSkills": "Skills",
      "memoryToolTabMdIngest": "Markdown",
      "memoryToolTabObservations": "Observations",
      "mcpTitle": "Model Context Protocol",
      "mcpSummaryLine1": "管理対象プロバイダーは、daemon 管理の MCP server 経由で 11 個の runtime-scoped tools を公開できます: memory search/recent summaries/source lookup、observation/preference writes、scoped Send、Cron scheduling。",
      "mcpSummaryLine2": "Memory tools は ref と projectionId 付きの compact hits を返します。list_memory_summaries は recent digests を取得し、正確な過去指示、bug details、source evidence が必要なとき get_memory_sources が relevant hits を展開できます。",
      "mcpSummaryLine3": "Send tools は sibling sessions を見つけ、guarded imcodes send pipeline で scoped text、file references、reply requests、broadcasts を送れます。",
      "mcpSummaryLine4": "Cron tools は reminders、recurring checks、delegated reviews、follow-ups 用の scheduled structured sends を作成、一覧、更新、削除できます。",
      "mcpSummaryLine5": "このビューは provider readiness、degraded setup reasons、feature gates、recent redacted tool calls を表示します。MCP report が未着なら、tools が healthy だと仮定せず明示します。",
      "mcpProviderStatusTitle": "プロバイダー MCP 状態",
      "mcpProviderStatusDescription": "11 ツール stdio MCP MVP 用に 6 つの管理対象プロバイダーを追跡します。",
      "mcpToolGatesTitle": "ツールファミリーのゲート",
      "mcpToolGatesDescription": "Memory、Send、Cron は基礎機能ゲートと MCP kill-switch の両方を通過する必要があります。",
      "mcpRecentCallsTitle": "最近の秘匿済み MCP 呼び出し",
      "mcpRecentCallsDescription": "daemon が秘匿したリクエストと結果の断片だけを表示します。",
      "mcpNoDaemon": "MCP 状態を読み込むにはローカル daemon に接続してください。",
      "mcpStatusLoading": "daemon からの MCP 状態を待っています…",
      "mcpStatusTimeout": "MCP 状態の応答はまだありません。現在の daemon はこのビューを公開していない可能性があります。",
      "mcpStatusError": "MCP 状態を読み込めませんでした。",
      "mcpUpdatedAt": "更新",
      "mcpUpdatedNever": "未報告",
      "mcpProvidersReported": "報告済みプロバイダー",
      "mcpCallsReported": "報告済み呼び出し",
      "mcpProviderConnected": "プロバイダー接続済み",
      "mcpProviderDisconnected": "プロバイダー切断",
      "mcpProviderNoSignal": "プロバイダー信号なし",
      "mcpProviderNoDegradedReasons": "劣化理由は報告されていません。",
      "mcpProviderStatusHint": "MCP 固有の状態はプロバイダー接続とは別に報告されます。",
      "mcpProviderClaudeSdk": "Claude SDK",
      "mcpProviderGeminiAcp": "Gemini ACP",
      "mcpProviderKimiAcp": "Kimi ACP",
      "mcpProviderCopilotSdk": "Copilot SDK",
      "mcpProviderCodexSdk": "Codex SDK",
      "mcpProviderCursorHeadless": "Cursor headless",
      "mcpProviderQwen": "Qwen",
      "mcpProviderUnknown": "{{provider}}",
      "mcpDisabledFlag": "無効化フラグ: {{flag}}",
      "mcpDisabledFlagNone": "無効化フラグは未報告",
      "mcpDegradedReasons": "理由: {{reasons}}",
      "mcpGateNoDetails": "ゲート詳細は報告されていません。",
      "mcpRecentCallsEmpty": "秘匿済み MCP 呼び出しはまだ報告されていません。",
      "mcpCallProvider": "プロバイダー",
      "mcpCallTool": "ツール",
      "mcpCallStatus": "状態",
      "mcpCallDuration": "時間",
      "mcpCallDurationValue": "{{ms}} ms",
      "mcpCallTime": "時刻",
      "mcpCallFamily": "ファミリー",
      "mcpCallInput": "秘匿済み入力",
      "mcpCallResult": "秘匿済み結果",
      "mcpStatus": {
        "ready": "準備完了",
        "degraded": "劣化",
        "disabled": "無効",
        "unknown": "不明"
      },
      "mcpToolFamily": {
        "memory": "メモリ",
        "send": "Send",
        "cron": "Cron"
      },
      "mcpCallStatusValue": {
        "ok": "OK",
        "error": "エラー",
        "disabled": "無効",
        "unknown": "{{status}}"
      },
      "mcpReason": {
        "env_forwarding_unverified": "セッションごとの MCP 環境変数転送は未検証です。",
        "feature_disabled": "必要な機能ゲートが無効です。",
        "mcp_registration_failed": "管理対象 MCP の登録に失敗しました。",
        "provider_not_connected": "プロバイダーが接続されていません。",
        "status_not_reported": "MCP 状態は未報告です。",
        "unknown": "{{reason}}"
      },
      "memoryProjectPickerTitle": "Project selector",
      "memoryProjectPickerDescription": "既定ではすべてのプロジェクトのメモリを閲覧します。閲覧結果を絞り込む場合、またはローカルファイルを使うツールを実行する場合だけプロジェクトを選択します。",
      "memoryProjectSearchPlaceholder": "Search project name, canonical ID, or directory",
      "memoryProjectSelected": "Selected project",
      "memoryProjectEmpty": "No known projects yet. Open a session in the project or use the advanced resolver fallback.",
      "memoryProjectCanonicalId": "Canonical ID",
      "memoryProjectDirectory": "Directory",
      "memoryProjectSourceLabel": "Source",
      "memoryProjectNeedsResolve": "Needs daemon resolution before local tools can run.",
      "memoryProjectResolving": "Resolving project…",
      "memoryProjectCanonicalOnlyNotice": "このプロジェクトはメモリの絞り込みに使えます。ローカルファイルを読み書きする操作には、解決済みのローカルディレクトリが必要です。",
      "memoryProjectAdvanced": "Advanced resolver fallback",
      "memoryProjectAdvancedDescription": "Manual values are an advanced fallback. Prefer selecting a known project so the daemon can validate the directory-to-ID mapping.",
      "memoryProjectLocalToolsDisabled": "ローカルファイル系ツールには、検証済みディレクトリと canonical ID を持つプロジェクト選択が必要です。プロジェクト未選択でも閲覧はできます。",
      "memoryProjectUnknown": "Unknown project",
      "memoryPreferenceSearchPlaceholder": "Search preferences",
      "memorySkillSearchPlaceholder": "Search skills by name, layer, path, or description",
      "memoryObservationSearchPlaceholder": "Search loaded observations",
      "memoryProjectStatus": {
        "resolved": "Resolved",
        "needs_resolution": "Needs resolution",
        "canonical_only": "Canonical ID only",
        "directory_only": "Directory only",
        "no_repo": "No repository",
        "multiple_remotes": "Multiple remotes",
        "unauthorized": "Unauthorized",
        "invalid_dir": "Invalid directory",
        "mismatch": "ID mismatch",
        "error": "Resolve failed"
      },
      "memoryProjectSource": {
        "active_session": "Active session",
        "recent_session": "Recent session",
        "enterprise_enrollment": "Enterprise project",
        "resolved_directory": "Resolved directory",
        "manual_resolved": "Manual resolved",
        "memory_index": "メモリインデックス"
      },
      "memoryFeatureLabel": {
        "preferences": "設定",
        "mdIngest": "Markdown 取り込み",
        "skills": "スキル",
        "skillAutoCreation": "スキル自動作成",
        "observationStore": "Observation ストア",
        "namespaceRegistry": "Namespace レジストリ"
      },
      "memoryFeatureUnavailable": "サーバー未接続",
      "memoryFeatureUnavailableDetail": "アカウント単位の機能スイッチを読み込み管理操作を有効にするには、サーバーに接続してください。",
      "memoryFeatureLoading": "読み込み中",
      "memoryFeatureLoadingDetail": "サーバーの機能状態応答を待っています…",
      "memoryFeatureNoResponse": "応答なし",
      "memoryFeatureNoResponseDetail": "サーバーが機能状態リクエストに応答しませんでした。更新または再接続してください。",
      "memoryFeatureError": "エラー",
      "memoryFeatureErrorDetail": "機能状態を読み込めませんでした。",
      "memoryFeatureUnknownDetail": "サーバー応答にこの機能フラグが含まれていません。",
      "memoryFeatureEnabledDetail": "この機能はアカウントで有効になっており、すべてのサーバーへ適用されます。",
      "memoryFeatureDisabledHint": "アカウントで無効です。ここで有効にするとオンラインで保存され、すべてのサーバーへ適用されます。{{env}} は daemon 起動時のフォールバックです。{{behavior}}",
      "memoryBrowseProjectFilter": "Memory browse filter",
      "memoryBrowseAllProjects": "All projects (default)",
      "memoryAllProjectsActive": "All projects",
      "memoryActiveProjectFilter": "Filtered by {{project}}",
      "memoryClearProjectFilter": "Clear filter",
      "memoryToolProjectSelector": "ローカル操作プロジェクト（ディレクトリ必須）",
      "memoryToolProjectNone": "Select a project for local tools",
      "memoryProjectPickerSplitHelp": "上のフィルターはメモリ閲覧だけを制御し、既定はすべてのプロジェクトです。下のローカル操作プロジェクトは Markdown 取り込みや skill の再構築/読み取りなど、ディレクトリが必要なツールだけで使います。",
      "memoryProjectKnownProjects": "Known projects",
      "memoryProjectNoCanonicalId": "no canonical ID",
      "memoryProjectNoDirectory": "no local directory",
      "memoryPersonalBreakdown": "Personal total breakdown: {{processed}} local processed · {{pending}} local pending · {{cloud}} cloud.",
      "memoryFilteredByProject": "Showing results filtered by {{project}}.",
      "memoryProcessedEmptyWithCloud": "No local processed summaries. Personal cloud has {{count}} records available.",
      "memoryViewPersonalCloud": "View personal cloud",
      "memoryUnprocessedEmptyWithData": "No local pending raw events. Existing processed/cloud records are available in the other tabs.",
      "memoryLocalStatusLoading": "Loading local daemon memory…",
      "memoryLocalStatusUnavailable": "Local daemon is unavailable; local processed and pending counts cannot be loaded.",
      "memoryLocalStatusNoResponse": "No response from the local daemon; local counts may be stale or unavailable.",
      "memoryLocalStatusError": "Local daemon returned an error while loading personal memory.",
      "memoryToolDisabledNoDaemon": "Connect the local daemon before using this management action.",
      "memoryToolDisabledFeature": "この機能は無効です。Feature flags でアカウント全体に有効化してください。{{env}} は daemon 起動時のフォールバックです。",
      "memoryToolDisabledFeatureUnknown": "機能状態はまだ読み込まれていません。先に管理パネルを更新してください。",
      "memoryToolDisabledProjectRequired": "Select a resolved project with both canonical ID and local directory before running this local tool.",
      "memoryFeatureEnableAction": "有効化",
      "memoryFeatureDisableAction": "無効化",
      "memoryFeatureToggleSaving": "保存中…",
      "memoryFeatureDependencyBlockedHint": "有効化が要求されていますが、依存関係がまだ無効です: {{deps}}。先に依存関係を有効にしてください。{{behavior}}",
      "memoryFeatureBlocked": "ブロック中",
      "memoryFeatureDisabledBehavior": {
        "preferences": "@pref 行は通常テキストとして通過し、永続化も除去もされません。",
        "mdIngest": "Markdown ファイルの読み取り、解析、取り込みは行いません。",
        "skills": "ローダーは空集合を返し、スキル描画はスキップされ、管理書き込みは拒否または無効化されます。",
        "skillAutoCreation": "スキルレビュー job は取得も作成もされません。既存スキルは「スキル」が有効なら引き続き読み込まれます。",
        "observationStore": "新しい observation 行は書き込まれません。処理済み projection は引き続き読めます。",
        "namespaceRegistry": "移行/backfill 以外では新しい namespace レコードを書きません。従来 projection の読み取りは引き続き利用できます。"
      },
      "processingPresetLabel": "プリセット",
      "processingPresetNoneTitle": "プリセットなし — 既定の provider endpoint を使用",
      "processingPresetBundleModelTitle": "プリセットバンドル → モデル: {{model}}",
      "processingPresetBundleTitle": "プリセットバンドル: {{preset}}",
      "processingModelLabel": "モデル",
      "processingModelPresetTitle": "モデルは有効なプリセットで決まります。別のモデルを選ぶにはプリセットを解除してください。",
      "processingModelDefinedByPreset": "（プリセットで定義）",
      "relativeLessThanOneMinute": "1分未満前",
      "relativeMinutesAgo": "{{count}}分前",
      "relativeHoursAgo": "{{count}}時間前",
      "relativeDaysAgo": "{{count}}日前",
      "serverUnbound": "未バインド",
      "statEnterprise": "エンタープライズ",
      "noneValue": "なし",
      "statRole": "ロール: {{role}}",
      "statChooseOrCreateEnterprise": "選択または作成してください",
      "statMembers": "メンバー",
      "statProjects": "プロジェクト",
      "statKnowledgeDocs": "ナレッジ文書",
      "statServer": "サーバー",
      "statCloudSyncedRuntimeSettings": "クラウド同期された実行時設定",
      "statSelectServerToSync": "処理設定を同期するサーバーを選択",
      "inviteFlowLine1": "新しい招待はメンバー権限のみを付与します。",
      "inviteFlowLine2": "管理者ロールの変更は参加後にメンバー管理で行います。",
      "workspaceId": "ワークスペース ID",
      "activeCount": "{{count}} 件有効",
      "role": "ロール",
      "joined": "参加日時",
      "statusLabel": "状態",
      "scopeLabel": "スコープ",
      "meaningLabel": "意味",
      "documentKind": {
        "coding_standard": "コーディング規約",
        "architecture_guideline": "アーキテクチャガイド",
        "repo_playbook": "リポジトリ手順書",
        "knowledge_doc": "ナレッジ文書"
      },
      "versions": "バージョン",
      "activeVersion": "有効",
      "documentLabel": "文書",
      "versionLabel": "バージョン",
      "anyValue": "任意",
      "pathLabel": "パス",
      "memoryPromotionTargetLabel": "Promotion target scope",
      "memoryPromotionReasonLabel": "Promotion reason",
      "memoryPromotionHelp": "Promotion is a two-step audited action. Choose a target scope, review the exact from/to change on the record, then confirm. Confirming may make the observation available under the target scope authorization rules.",
      "memoryPromotionNotAllowed": "Cannot promote from {{from}} to {{to}}.",
      "memoryObservationPromoteTitle": "Review promotion from {{from}} to {{to}}",
      "memoryObservationPromoteTo": "Promote to {{scope}}…",
      "memoryPromotionConfirmTitle": "Confirm observation promotion",
      "memoryPromotionConfirmBody": "This will promote the observation from {{from}} to {{to}} and write a promotion audit entry. The original source text is not edited, but future memory selection may use the target scope visibility rules.",
      "memoryPromotionReasonPreview": "Reason: {{reason}}",
      "memoryPromotionNoReason": "No reason provided. The audit entry will still record actor, source scope, target scope, and time.",
      "memoryPromotionCancel": "Cancel",
      "memoryPromotionConfirmAction": "Confirm promotion",
      "memoryPreferenceUpdate": "Update preference",
      "memoryEdit": "Edit",
      "memoryEditCancel": "Cancel edit",
      "memoryObservationEditTextLabel": "Observation text",
      "memoryObservationUpdate": "Update observation",
      "memoryObservationDeleteConfirm": "Delete this observation and its linked projection when present?",
      "memoryPin": "ピン留め",
      "memoryUpdate": "メモリを更新",
      "memoryEditTextLabel": "メモリ本文",
      "memoryManualAddTitle": "メモリを手動追加",
      "memoryManualAddDescription": "自動コンパクションを待たずに、プロジェクトに紐づく個人メモリを保存します。",
      "memoryManualAddClassLabel": "メモリ種別",
      "memoryManualAddTextLabel": "手動メモリ本文",
      "memoryManualAddPlaceholder": "このプロジェクトで覚えるべき永続ノート、決定、要約を書く…",
      "memoryManualAddSave": "メモリを保存",
      "memoryManualAddProjectRequired": "メモリを追加する前に、プロジェクト選択またはフィルターでプロジェクトを選んでください。"
    },
    "diagnostics": {
      "title": "Diagnostics",
      "load": "Load diagnostics",
      "workspaceId": "Workspace ID",
      "enrollmentId": "Enrollment ID",
      "filePath": "File path",
      "mode": "Retrieval mode",
      "visibility": "Visibility",
      "remoteProcessed": "Remote processed present",
      "derivedOnDemand": "Derived on demand",
      "persistedSnapshotAvailable": "Persisted snapshot available",
      "appliedVersions": "Applied versions",
      "runtimeBindings": "Runtime authored context",
      "snapshotTitle": "Persisted snapshot",
      "snapshotBindings": "Snapshot bindings"
    }
  },
  "embedding": {
    "status_unknown": "エンベディング状態不明（古いデーモンまたは切断中）",
    "status_ready": "エンベディング準備完了 — セマンティック検索はローカルで実行",
    "status_loading": "エンベディングモデルを読み込み中…",
    "status_fallback": "エンベディング: ローカルパイプライン利用不可、サーバーフォールバックを使用中",
    "status_unavailable": "エンベディング利用不可 — このデーモンでセマンティック検索は無効",
    "status_idle": "エンベディング待機中（本セッションでは未使用）"
  },
  "memory": {
    "quickSearch": {
      "disabled": "メモリ検索は無効です",
      "noResults": "許可されたメモリ結果はありません",
      "citationUnavailable": "引用は利用できません"
    },
    "skills": {
      "disabled": "スキルは無効です",
      "loadFailed": "スキルの読み込みに失敗しました",
      "renderDropped": "スキルはコンテキストから省略されました",
      "layerDiagnostics": "スキルレイヤー診断",
      "enforced": "強制",
      "additive": "追加"
    }
  },
  "todos": {
    "title": "タスク",
    "progress": "{{done}}/{{total}}",
    "collapse": "折りたたむ",
    "expand": "展開"
  }
}
