{
  "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": "守护进程重启后，时间线详情已过期",
      "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": "Token",
    "sdk_agents_prompt": "Prompt",
    "sdk_agents_result": "结果",
    "sdk_agents_running_children": "{{count}} 个子 agent 运行中",
    "sdk_agents_receiver_count": "{{count}} 个接收方",
    "sdk_agents_diagnostic_unsupported_runtime": "运行时未暴露 agent 状态",
    "sdk_agents_diagnostic_unknown_runtime_support": "运行时支持状态未知",
    "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 仅提供快照状态",
    "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": "Slash 命令不会触发相关记忆查找。",
    "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": "全部系统内置中文字体",
      "cjkFamilies": {
        "system-cjk": "系统中文",
        "pingfang-sc": "苹方简体",
        "songti-sc": "宋体-简",
        "kaiti-sc": "楷体-简",
        "stheiti": "华文黑体",
        "stsong": "华文宋体",
        "stkaiti": "华文楷体",
        "stfangsong": "华文仿宋",
        "microsoft-yahei": "微软雅黑",
        "simsun": "宋体",
        "nsimsun": "新宋体",
        "dengxian": "等线",
        "kaiti": "楷体",
        "fangsong": "仿宋",
        "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": "正在复制 团队 设置",
        "committing": "正在提交",
        "rolling_back": "正在回滚",
        "succeeded": "已成功",
        "failed": "失败",
        "cancelled": "已取消",
        "cleanup_required": "需要清理"
      },
      "errorCode": {
        "invalid_request": "复制请求无效。",
        "forbidden": "只有所有者和管理员可以复制会话组。",
        "unsupported_command": "daemon 尚未报告支持复制会话组。请更新或重连 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": "团队 配置无法复制。",
        "persist_failed": "复制结果无法保存。",
        "idempotency_conflict": "这个重试键已用于另一个复制请求。",
        "server_commit_failed": "服务器无法提交复制的会话。",
        "server_p2p_commit_failed": "服务器无法复制 团队 设置。",
        "cancelled": "复制已取消。",
        "cleanup_required": "重试前需要手动清理。",
        "internal_error": "复制意外失败。"
      },
      "warningCode": {
        "running_source_excluded_state": "源会话正在运行的工作已排除",
        "p2p_prompt_session_reference": "团队 自由文本引用可能仍提到源会话",
        "p2p_skipped_participant_dropped": "已从副本中移除被跳过的 团队 参与者",
        "skipped_member": "有成员被跳过",
        "scheduled_work_skipped": "计划工作未复制",
        "p2p_config_missing": "未找到可复制的 团队 配置",
        "rollback_partial": "回滚不完整"
      },
      "cleanupResourceKind": {
        "daemon_session": "daemon 会话",
        "daemon_p2p_scope": "daemon 团队 配置",
        "server_db_session": "服务器会话记录",
        "server_p2p_pref": "服务器 团队 偏好",
        "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 网关未连接。请在 daemon 机器上运行以下命令连接：",
    "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 token 以显示每周（7 天）限额",
    "weekly_quota_confirm": "这将读取本机的 Claude 登录令牌（token）以获取每周（7 天）限额。确认授权？",
    "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": "团队",
    "thinking": "级别",
    "thinking_title": "级别：{{value}}",
    "supervision": {
      "title": "会话监督",
      "help": "先设置新 Auto 会话默认使用的全局配置，再按需覆盖当前会话配置。",
      "globalDefaultsTitle": "全局默认配置",
      "globalDefaultsHelp": "用于预填新的 Auto transport 会话。这里保存的是你的默认监督后端、模型和超时。",
      "sessionConfigTitle": "当前会话配置",
      "sessionConfigHelp": "只作用于当前会话。这里的后端、模型、超时可覆盖全局默认，审计模式和自定义提示词也仅在当前会话生效。",
      "intro": {
        "title": "Auto 是做什么的",
        "howToUseTitle": "怎么用",
        "howToUseBody": "先选择 Off、Supervised 或 Supervised + audit，再配置监督模型的后端和模型并保存。本会话启用 Auto 后，系统会在空闲时自动判断是否完成。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 的监督判定和 continue 提示词中。",
      "globalCustomInstructionsLabel": "全局自定义提示词",
      "globalCustomInstructionsPlaceholder": "例如：任何时候都优先写测试，不允许注释掉失败的代码。",
      "globalCustomInstructionsHelp": "可选。对所有启用了 Auto 的会话生效，除非下方的「覆盖全局」被勾选。",
      "customInstructionsOverrideLabel": "覆盖全局自定义提示词",
      "customInstructionsOverrideHelp": "勾选后，本会话仅使用上方自己的提示词。不勾选时，全局提示词会被拼在前面，用一个空行分隔。",
      "customInstructionsMergedPreviewHeading": "发送给监督者的合并提示词：",
      "presetLabel": "预设（env 套餐）",
      "presetHelp": "让监督流量走某个预设的 endpoint（独立的 base URL、API key 与固定模型）。预设在共享上下文面板里管理。",
      "presetNone": "（无）",
      "auditMode": {
        "audit": "审计",
        "review": "复核",
        "audit_plan": "审计→计划",
        "review_plan": "复核→计划",
        "audit_review_plan": "审计→复核→计划"
      },
      "selectAuditMode": "选择审计模式",
      "maxAuditLoops": "最大审计循环",
      "maxAutoContinueStreak": "同类自动继续上限",
      "maxAutoContinueStreakHelp": "同一种 continue 类型连续命中到这个次数后停止自动继续。0 表示不限制。",
      "maxAutoContinueTotal": "自动继续硬上限",
      "maxAutoContinueTotalHelp": "单次任务运行内所有 auto-continue 的绝对上限。0 表示不限制。",
      "summaryTitle": "已解析的监督配置",
      "summaryMode": "模式：{{value}}",
      "summaryBackendModel": "后端：{{backend}} · 模型：{{model}}",
      "summaryUnset": "未设置",
      "summaryDisabled": "监督已关闭",
      "summaryTimeout": "超时：{{value}}",
      "summaryContinueLimits": "继续限制：同类 {{streak}} · 硬上限 {{total}}",
      "summaryCustomInstructions": "自定义提示词：{{value}}",
      "summaryCustomInstructionsSet": "已设置",
      "summaryAudit": "审计：{{auditMode}} · 循环 {{loops}} 次",
      "summaryMeta": "提示词 {{promptVersion}}，修复 {{repairVersion}}，解析重试 {{parseRetries}}，任务运行 {{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": "✕ 删除 server",
    "upgrade_sent": "升级命令已发送到「{{name}}」，daemon 将自动安装最新版并重启。",
    "upgrade_failed": "发送失败，daemon 可能不在线。",
    "delete_title": "删除 server：{{name}}",
    "delete_warning": "这将从服务器删除所有绑定、会话记录，并通知 daemon 停止运行并删除本地凭据。",
    "delete_tmux_note": "tmux 会话不会被关闭",
    "delete_tmux_suffix": "，但 daemon 将不再自动启动。",
    "delete_confirm_prompt": "输入 server 名称确认删除：",
    "delete_confirm": "确认删除"
  },
  "quick_input": {
    "title": "快捷输入",
    "commands": "快捷命令",
    "phrases": "快捷短语",
    "history": "历史记录",
    "this_session": "本 Session",
    "all": "全部",
    "no_history_session": "本 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": "此电脑",
    "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": "团队 仍在运行。请先停止，再升级 daemon。",
    "upgrade_blocked_transport_busy": "还有 transport session 正在 turn 中。等它回到 idle 再升级 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": "描述你想让各 Agent 讨论的内容…",
    "field_cwd": "工作目录",
    "field_participants": "参与者",
    "add_participant": "+ 添加",
    "field_max_rounds": "最大轮数",
    "team_label": "Team",
    "complete_status": "已完成",
    "failed_status": "失败",
    "error": {
      "missing_fields": "缺少必填项(主题以及至少两名参与者)。",
      "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 类型",
    "agent_flavor_cli": "CLI：适合喜欢原生界面的用户。聊天模式不支持流式输出。",
    "agent_flavor_sdk": "SDK：支持流式输出，界面更简洁。",
    "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": "请先选择或新增一个 API Provider 预设，再启动自定义供应商 SDK。",
    "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": "生成 Key",
    "generating": "生成中...",
    "revoke": "撤销",
    "save_once": "保存好这个 Key——之后不会再显示",
    "raw_key": "API Key",
    "bind_url": "绑定链接",
    "bind_command": "绑定命令",
    "copy_bind_command": "复制绑定命令",
    "dismiss": "关闭"
  },
  "getting_started": {
    "step1_pending": "步骤 1：生成 API Key",
    "step1_done": "✓ 步骤 1：API Key 已就绪"
  },
  "language": {
    "label": "语言",
    "en": "English",
    "zh_CN": "中文（简体）",
    "zh_TW": "中文（繁體）",
    "es": "Español",
    "ru": "Русский",
    "ja": "日本語",
    "ko": "한국어"
  },
  "login": {
    "subtitle": "远程控制你的 AI 编程 Agent",
    "passkey_signin": "使用 Passkey 登录",
    "passkey_create": "使用 Passkey 创建账号",
    "passkey_register_hint": "输入你的名称，然后注册设备 Passkey（面容 ID、Touch ID、Windows Hello…）",
    "passkey_register_btn": "注册 Passkey",
    "passkey_error": "Passkey 验证失败，请重试。",
    "passkey_not_found": "该网站未找到 Passkey，请先注册或使用 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": "密码必须包含至少一个大写字母",
    "password_missing_lowercase": "密码必须包含至少一个小写字母",
    "password_missing_digit": "密码必须包含至少一个数字",
    "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 Key…",
    "native_status_redirecting": "正在跳转…",
    "native_status_creating_passkey": "正在创建 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": "无法连接到服务器，请检查地址后重试。",
    "errorNotHttps": "服务器地址必须使用 HTTPS",
    "changeServer": "更换服务器",
    "addServer": "+ 添加服务器",
    "httpWarning": "警告：HTTP 连接不安全。非本地服务器请使用 HTTPS。"
  },
  "passkey": {
    "title": "Passkey 管理",
    "none": "尚未注册任何 Passkey",
    "add": "添加 Passkey",
    "add_error": "添加 Passkey 失败，请重试。",
    "delete_error": "移除 Passkey 失败。",
    "unnamed": "未命名设备",
    "added": "添加于",
    "last_used": "最近使用",
    "device_name_placeholder": "设备名称（可选）"
  },
  "account": {
    "delete_title": "删除账号",
    "delete_warning": "此操作不可撤销。你的所有服务器、会话、API 密钥、Passkey 和其他数据将被永久删除。",
    "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": "团队 讨论已经完成。请把讨论文件作为上下文，然后在当前会话里直接落实并完成用户的原始请求。\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": "还没有 团队 讨论。使用 @@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_desc": "发起团队讨论",
      "select_mode": "选择模式",
      "all_agents": "全部 Agent",
      "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_intro_body": "多代理先讨论并总结，再实施用户请求；增加轮数会基于上一轮结果继续复核和加固。",
      "team_intro_tooltip": "讨论 → 总结 → 实施 → 复核；多轮会把上一轮结果带入下一轮。",
      "workflows_empty": "还没有保存的工作流。打开「设置 → 高级工作流」开始设计。",
      "workflows_manage": "管理工作流"
    },
    "settings_button": "设置",
    "settings_title": "团队讨论设置",
    "settings_process_title": "团队讨论流程",
    "settings_process_body": "Team 模式会执行「讨论 → 总结 → 实施 → 复核」闭环。1 轮只跑一次闭环；多轮会把上一轮实施结果作为新上下文继续审计/复核，让代理补齐遗漏需求、回归风险、边界场景和测试缺口，再认为任务完成。",
    "alpha_badge": "Alpha",
    "alpha_hint": "实验能力，尚未正式投入验证。",
    "cross_session": "包含其他项目的会话",
    "tab": {
      "advanced_workflow": "高级工作流",
      "advanced_workflow_intro": "设计有向 团队 工作流。节点为智能体轮次（LLM、脚本或逻辑判定），边用于控制路由。在此编辑会覆盖「智能体」标签页里配置的简易轮次/模式流水线。",
      "advanced_workflow_alpha_notice": "实验能力，尚未正式投入验证。关键任务建议优先使用预设组合流程。",
      "advanced_workflow_empty_hint": "正在初始化空白工作流草稿。请在下方画布中添加节点与边以编排你的 团队 流程。",
      "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": "请先到 团队 设置里选择参与者，再启用组合流程。",
    "member_cannot_initiate_discussion": "该会话已被设为团队成员，不能发起讨论。请改用其它 session 启动（建议使用最顶级模型）。",
    "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": "团队 讨论通常 2 轮效果最佳。",
      "dont_show_again": "此账号不再提示",
      "more_agents": "@ 更多",
      "send_anyway": "仍然发送",
      "tip_history": "多 Agent 是共享文件、历史更完整的讨论；一对一则是一次性讨论。"
    },
    "settings_workflow_migration_title": "工作流迁移",
    "settings_workflow_migration_body": "这个已保存的高级配置仍使用旧轮次格式。请保存以生成工作流启动信封，再启动高级 团队。",
    "settings_workflow_migration_ready": "高级 团队 启动所需的工作流启动信封已就绪。",
    "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": "与 daemon 失联 — 已保存的配置不受影响，但新的高级工作流启动会暂停，直到 daemon 重连（通常 <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 团队 workflow message was ignored.",
        "unmatched_edge_route": "没有匹配的条件出边，且不存在默认边。"
      },
      "editor": {
        "title": "高级工作流草稿",
        "add_node": "添加节点",
        "remove_node": "删除节点",
        "remove_edge": "删除边",
        "normalize_banner_one": "{{count}} 个旧节点的 preset/scope 与 logic/script 规则不一致,点击 Apply 自动修复。",
        "normalize_banner_other": "{{count}} 个旧节点的 preset/scope 与 logic/script 规则不一致,点击 Apply 自动修复。",
        "normalize_banner": "{{count}} 个旧节点的 preset/scope 与 logic/script 规则不一致,点击 Apply 自动修复。",
        "normalize_apply": "应用",
        "normalize_dismiss": "忽略",
        "diagnostics_header": "诊断",
        "read_only_notice": "此工作流使用未来 schema,这里只读。",
        "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": "脚本命令（每行一个 argv 条目，首行为可执行文件）",
          "script_argv_placeholder": "/usr/bin/python3\n/绝对路径/脚本.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": "尚未允许任何可执行文件。本工作流的脚本节点会在 bind 阶段被拒绝，添加至少一条后才能运行。",
        "script_nodes_need_entries": "脚本节点必须配置"
      },
      "library": {
        "title": "工作流库",
        "hint": "本会话保存的工作流。激活的会用于 团队 调用。最多 {{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",
    "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}} 推到完成。检查所有剩余任务和产物，完成必要的实现与规范工作，按需直接更新 {{reference}} 下的 proposal、design、specs、tasks，关闭未完成项，必要时同步受影响的主规范，并在满足完成条件后归档该变更。不要只汇报状态，直接把它做完。",
    "propose_from_discussion_prompt": "根据最近的讨论生成一个 OpenSpec 变更。提炼目标、范围、关键需求和验收标准；不明确的部分明确列为待确认项；并直接把 proposal、design、specs、tasks 写到 openspec/changes/ 下，而不是只停留在草稿说明。",
    "propose_from_description_prompt": "根据下面的描述生成一个 OpenSpec 变更。整理目标、范围、关键需求和验收标准；缺失信息明确列为待确认项；并直接把 proposal、design、specs、tasks 写到 openspec/changes/ 下，而不是只停留在草稿说明。"
  },
  "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": "密码必须包含至少一个大写字母",
    "password_missing_lowercase": "密码必须包含至少一个小写字母",
    "password_missing_digit": "密码必须包含至少一个数字",
    "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": "Passkey 账号默认没有用户名和密码。先验证一次 Passkey，再设置用户名和密码，之后即可同时支持密码登录。",
    "set_password_btn": "验证 Passkey 并设置密码",
    "password_setup_success": "已启用密码登录",
    "password_setup_error": "设置密码登录失败，请验证 Passkey 后重试。",
    "passkey_verify_browser_only": "当前仅支持在网页端验证 Passkey 后设置密码登录。",
    "passkey_verify_wrong_account": "你验证的是另一个账号的 Passkey，请使用当前账号绑定的 Passkey。",
    "passkey_verify_no_passkeys": "当前账号还没有绑定 Passkey。",
    "native_status_verifying_passkey": "正在验证 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": "议题",
    "tab_prs": "拉取请求",
    "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": "暂无议题",
    "empty_prs": "暂无拉取请求",
    "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": "本地",
    "branch_remote_label": "远程分支",
    "branch_remote_short": "远程",
    "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 分离时不能切换分支。",
    "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": "双行",
    "layout_single": "单行",
    "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": "团队讨论",
    "p2p_compact_show": "显示 团队 紧凑栏",
    "p2p_compact_hide": "收起 团队 为紧凑栏",
    "p2p_compact_expand": "显示 团队 详细栏",
    "p2p_discussions_with_running_one": "{{count}} 个进行中的讨论 — 查看全部",
    "p2p_discussions_with_running_other": "{{count}} 个进行中的讨论 — 查看全部",
    "p2p_discussions_with_running": "{{count}} 个进行中的讨论 — 查看全部",
    "p2p_running_count_aria_one": "{{count}} 个 团队 讨论进行中",
    "p2p_running_count_aria_other": "{{count}} 个 团队 讨论进行中",
    "p2p_running_count_aria": "{{count}} 个 团队 讨论进行中",
    "repository": "仓库",
    "scheduled_tasks": "定时任务",
    "width_short": "宽",
    "height_short": "高",
    "apply": "应用",
    "reset": "重置",
    "empty_prefix": "还没有子会话，点击",
    "empty_suffix": "添加一个"
  },
  "localWebPreview": {
    "title": "本地网页预览",
    "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": "团队 讨论",
    "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": "查看 团队 讨论 →",
    "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 适合做旁路线任务、review、实验和并行工作。"
      },
      "discussions": {
        "title": "这里打开讨论历史",
        "body_1": "这里可以查看之前的讨论记录和结果。"
      },
      "repo": {
        "title": "这里打开 Repo 面板",
        "body_1": "这里可以查看仓库状态、分支、提交、PR 和 CI。"
      },
      "cron": {
        "title": "这里打开定时任务",
        "body_1": "这里可以为当前项目创建和管理定时任务。"
      },
      "view_toggle": {
        "title": "这里切换 Chat / Terminal",
        "body_1": "用这个按钮在当前 session 的聊天视图和实时终端视图之间切换。"
      },
      "p2p_defaults": {
        "title": "这里配置默认参与讨论的 Session",
        "body_1": "打开这里并选择 Config，可以设置哪些 session 会默认参与 @all 讨论。",
        "body_2": "这里也能快速设置默认讨论轮数。"
      },
      "p2p_send": {
        "title": "从输入框快速发起讨论",
        "body_1": "在输入框输入 @@all(discuss)、@@all(review) 或其它模式，就能快速发起共享讨论。",
        "body_2": "Agent 讨论通常至少 2 个更好，尤其是不同厂商、不同类型的 Agent，一起更容易突破定式思维，效果通常更好。",
        "body_3": "多 Agent 讨论会共享文件、保留更完整的历史；一对一更像一次性讨论。实战里 2 轮通常是一个很好的默认值。"
      }
    }
  },
  "sharedContext": {
    "loading": "加载共享上下文中…",
    "refresh": "刷新",
    "empty": "暂无数据",
    "roles": {
      "owner": "所有者",
      "admin": "管理员",
      "member": "成员"
    },
    "notice": {
      "enterpriseCreated": "企业已创建",
      "inviteCreated": "邀请已创建",
      "joinedEnterprise": "已加入企业",
      "memberUpdated": "成员已更新",
      "memberRemoved": "成员已移除",
      "workspaceCreated": "工作区已创建",
      "projectEnrolled": "项目已加入共享",
      "policySaved": "策略已保存",
      "projectPendingRemoval": "项目已标记待移除",
      "projectRemoved": "项目已移除",
      "documentCreated": "文档已创建",
      "versionCreated": "版本已创建",
      "versionActivated": "版本已激活",
      "bindingCreated": "绑定已创建",
      "processingConfigSaved": "处理配置已保存",
      "memoryPreferenceSaved": "偏好已保存",
      "memoryPreferenceDeleted": "偏好已删除",
      "memorySkillRegistryRebuilt": "技能 registry 已重建",
      "memorySkillDeleted": "技能已删除",
      "memoryMdIngestCompleted": "Markdown 导入完成",
      "memoryObservationPromoted": "Observation 已提升",
      "memoryFeatureEnabled": "已开启 {{flag}}",
      "memoryFeatureDisabled": "已关闭 {{flag}}",
      "memoryPreferenceUpdated": "Preference 已更新",
      "memoryObservationUpdated": "Observation 已更新",
      "memoryObservationDeleted": "Observation 已删除",
      "memoryCreated": "记忆已保存。",
      "memoryUpdated": "记忆已更新。",
      "memoryPinned": "记忆已置顶，将用于后续摘要。"
    },
    "management": {
      "title": "共享上下文",
      "heroDescription": "在一个地方管理共享企业、注册项目、编撰知识和处理行为。",
      "inviteDescription": "以成员身份邀请人员加入企业。如需要可稍后在成员标签页中提升为管理员。",
      "inviteFlowTitle": "邀请流程",
      "memberRolesDescription": "所有者可以提升管理员。管理员可以管理项目和知识但不能任命其他管理员。",
      "workspaceDescription": "使用工作区对共享项目进行分组。工作区是可选的，不改变所有权。",
      "enrollDescription": "注册一个标准仓库以使其处理后的上下文和编撰知识可在此企业中共享。",
      "policyDescription": "为共享项目设置运行时策略。这些策略影响共享上下文如何被注入到实时发送中。",
      "knowledgeDescription": "编撰编码标准、架构指南和可复用知识作为版本化的共享上下文。",
      "versionDescription": "为所选文档起草新版本，准备好后激活。",
      "bindingDescription": "将文档版本附加到企业、工作区或注册项目，支持可选的语言和路径过滤器。",
      "selectEnterprise": "选择企业",
      "enterpriseNamePlaceholder": "新企业名称",
      "createEnterprise": "创建企业",
      "invites": "邀请",
      "inviteEmailPlaceholder": "邀请邮箱（可选）",
      "createInvite": "创建邀请",
      "inviteToken": "邀请令牌",
      "joinTokenPlaceholder": "邀请令牌",
      "joinEnterprise": "接受邀请",
      "members": "成员",
      "promoteAdmin": "提升为管理员",
      "demoteMember": "降级为成员",
      "removeMember": "移除",
      "workspaces": "工作区",
      "workspaceNamePlaceholder": "工作区名称",
      "createWorkspace": "创建工作区",
      "projects": "项目",
      "projectRelationshipTitle": "共享项目上下文如何工作",
      "projectRelationshipLine1": "个人记忆不需要企业。",
      "projectRelationshipLine2": "只有把仓库加入当前企业后，才会产生共享项目上下文。",
      "projectRelationshipLine3": "工作区是这个企业下面的可选分组，不是独立归属主体。",
      "projectRelationshipLine4": "共享范围只决定这个项目和谁共享，不会改变它隶属于哪个企业。",
      "belongsToTitle": "归属关系",
      "belongsToEnterprise": "企业：",
      "belongsToWorkspace": "工作区：",
      "belongsToWorkspaceValue": "当前企业下面的可选分组。",
      "belongsToProject": "项目：",
      "belongsToProjectValue": "已加入共享的规范仓库。",
      "sharesWithTitle": "共享范围",
      "sharesWithProjectValue": "只有这个仓库自己共享上下文。",
      "sharesWithWorkspaceValue": "同一个工作区里的项目一起共享上下文。",
      "sharesWithEnterpriseValue": "当前企业里所有已加入共享的项目都可共享上下文。",
      "chooseSharingLevelTitle": "选择共享级别",
      "chooseSharingLevelProject": "一个仓库一个共享边界，大多数团队用这个。",
      "chooseSharingLevelWorkspace": "同一工作区下的几个相关仓库一起共享。",
      "chooseSharingLevelEnterprise": "范围最大。只有当整个企业下的项目都要共享时才用。",
      "scopeProjectLabel": "仅此项目",
      "scopeProjectDescription": "只对当前加入共享的仓库开放上下文。",
      "scopeWorkspaceLabel": "工作区",
      "scopeWorkspaceDescription": "对同一工作区内的项目共享上下文。",
      "scopeEnterpriseLabel": "企业",
      "scopeEnterpriseDescription": "对当前企业下所有已加入共享的项目共享上下文。",
      "scopeSourceWithWorkspace": "工作区来源：{{enterprise}} 下的 {{workspace}}。",
      "scopeSourceWithoutWorkspace": "未选择工作区。这个项目仍然属于 {{enterprise}}。",
      "selectedEnterprise": "当前选中的企业",
      "notSelected": "未选择",
      "canonicalRepoId": "规范仓库 ID",
      "displayName": "显示名称",
      "noWorkspace": "无工作区",
      "workspaceLabel": "工作区",
      "noWorkspaceAssigned": "无工作区",
      "enrollProject": "加入共享项目",
      "editPolicy": "编辑策略",
      "pendingRemoval": "待移除",
      "removeProject": "移除项目",
      "selectProject": "选择项目",
      "allowDegraded": "允许降级 provider",
      "allowLocalFallback": "允许本地回退",
      "requireFullSupport": "要求完整支持",
      "savePolicy": "保存策略",
      "documents": "知识与规范",
      "documentTitle": "文档标题",
      "createDocument": "创建文档",
      "selectDocument": "选择文档",
      "selectVersion": "选择版本",
      "documentContent": "文档内容",
      "createVersion": "创建版本",
      "bindings": "绑定",
      "required": "必须",
      "advisory": "建议",
      "language": "语言",
      "pathPattern": "路径模式",
      "createBinding": "创建绑定",
      "tabs": {
        "enterprise": "企业",
        "members": "成员",
        "projects": "项目",
        "knowledge": "知识库",
        "processing": "处理",
        "memory": "记忆",
        "mcp": "MCP"
      },
      "policyTitle": "项目策略",
      "policyLoading": "正在加载已保存策略…",
      "policyExplainTitle": "这个策略控制什么",
      "policyExplainLine1": "这些设置决定了：当 provider 不能完整支持共享上下文，或者远端共享状态暂时不可用时，这个共享项目应该怎么处理。",
      "policyExplainLine2": "团队核心项目建议用更严格的选项。只有在你更看重连续性而不是强一致性时，才开启更宽松的选项。",
      "allowDegradedHelp": "允许只能以降级方式注入共享上下文的 provider 继续工作。若团队要求不同 provider 行为尽量一致，就关闭它。",
      "allowLocalFallbackHelp": "当远端共享上下文过期或暂时不可用时，允许当前机器继续使用本地处理后的上下文。",
      "requireFullSupportHelp": "只允许完整支持标准化共享上下文注入的 provider。这是最严格的设置。",
      "requireFullProviderSupportHelp": "只允许完整支持标准化共享上下文注入的 provider。这是最严格的设置。",
      "processingSummaryTitle": "处理流程",
      "processingSummaryLine1": "原始活动先在本地暂存，然后由延迟任务物化为处理后的本地上下文。",
      "processingSummaryLine2": "共享项目可在本地物化成功后，把处理后的上下文复制到远端共享存储。",
      "processingSummaryLine3": "此面板管理企业策略和编撰知识，不会直接运行物化器。",
      "processingModelTitle": "物化模型选择",
      "processingPrimaryCardTitle": "主处理路径",
      "processingPrimaryBackend": "主 SDK / 后端",
      "processingPrimaryModel": "默认主模型",
      "processingPrimaryPreset": "主预设",
      "processingBackupCardTitle": "备用处理路径",
      "processingBackupBackend": "备用 SDK / 后端",
      "processingBackupModel": "备用模型",
      "processingBackupPreset": "备用预设",
      "processingBackupPlaceholder": "可选备用模型",
      "processingPresetNone": "无预设",
      "processingSave": "保存处理配置",
      "processingSaving": "保存中…",
      "processingReload": "重新加载云端配置",
      "processingSavedPrimaryBackend": "已保存的主后端",
      "processingSavedPrimary": "已保存的主模型",
      "processingSavedBackupBackend": "已保存的备用后端",
      "processingSavedBackup": "已保存的备用模型",
      "processingUnsetValue": "未设置",
      "processingCloudSyncNote": "此设置会保存到所选服务器的云端，并在 daemon 已连接或重启时同步到 daemon。",
      "processingServerRequired": "管理处理设置前请先选择服务器。",
      "processingPrimaryOverride": "主路径覆盖环境变量",
      "processingBackupOverride": "备用路径覆盖环境变量",
      "processingServerScope": "当前服务器范围",
      "processingProviderNote": "这里需要同时选择 SDK/后端 和 模型。daemon 运行本地 shared-context materialization job 时会使用这组组合。",
      "processingBackendNote": "只选模型不够，后端决定了具体用哪个运行时去执行它。",
      "processingUiGap": "此设置按服务器生效，不是企业全局设置。",
      "processingOperationalTitle": "运行说明",
      "processingOperationalLine1": "如果没有服务器保存值，主模型默认使用 “sonnet”。",
      "processingOperationalLine2": "备用模型是可选项，默认未设置。",
      "processingOperationalLine3": "不同服务器仍可使用不同的处理模型；此面板只编辑当前选中的服务器。",
      "memorySummaryTitle": "记忆可见性",
      "memorySummaryLine1": "本地个人记忆会同时保留未处理原始事件和处理后的摘要，这样你能同时看到还在等待压缩的内容和已经压缩完成的记忆。",
      "memorySummaryLine2": "开启个人云同步后，只有处理后的摘要会同步到用户级全局云端记忆池，用于跨设备连续性。",
      "memorySummaryLine3": "共享记忆统计展示的是企业范围内可被已加入项目复用的压缩上下文。",
      "personalSyncTitle": "个人记忆云同步",
      "personalSyncDescription": "控制是否把个人压缩记忆同步到你账号级的云端个人记忆池。",
      "personalSyncToggle": "开启个人记忆云同步",
      "personalSyncHelp": "默认开启，用于跨设备连续性和相关历史召回。只有你明确希望个人记忆只留在本地时才建议关闭。",
      "personalSyncDisableConfirm": "确定关闭个人记忆云同步吗？跨设备记忆、最近 summary 同步和相关历史召回等功能可能会受影响，直到你重新开启。",
      "memoryRecallThresholdTitle": "相关历史召回阈值",
      "memoryRecallThresholdDescription": "调整消息相关历史注入前所需的最低综合分数。",
      "memoryRecallThresholdLabel": "最低相关度分数",
      "memoryRecallThresholdHelp": "数值越低，越容易注入历史；数值越高，越严格。默认值：{{defaultValue}}。",
      "memoryRecallThresholdReset": "恢复已保存值",
      "memoryRecallThresholdSaved": "已保存阈值",
      "memoryAdvancedScoringTitle": "高级评分设置",
      "memoryAdvancedScoringDescription": "调整相似度、最近使用、召回次数和项目亲和度在记忆排序中的占比。",
      "memoryAdvancedScoringShow": "显示高级评分控制",
      "memoryAdvancedScoringHide": "隐藏高级评分控制",
      "memoryAdvancedScoringHelp": "这些控制用于高级调优。保存前会自动归一化，总和固定为 1.0。",
      "memoryAdvancedScoringSum": "归一化前当前权重总和：{{value}}",
      "memoryAdvancedScoringReset": "重置高级权重",
      "memoryWeightSimilarity": "相似度权重",
      "memoryWeightRecency": "最近使用权重",
      "memoryWeightFrequency": "召回次数权重",
      "memoryWeightProject": "项目亲和度权重",
      "personalSyncSave": "保存同步设置",
      "memoryTabLocalProcessed": "本地已处理",
      "memoryTabLocalPending": "本地待处理",
      "memoryTabCloud": "个人云端",
      "memoryTabShared": "企业共享",
      "memoryTabPersonal": "个人",
      "memoryTabEnterprise": "企业",
      "memoryTabUnprocessed": "未处理",
      "memoryTabProcessed": "已处理",
      "memoryTabSharedMemory": "共享记忆",
      "memoryTabAuthoredContext": "编撰内容",
      "memoryAuthoredTitle": "企业编撰上下文",
      "memoryAuthoredDescription": "绑定到共享项目的企业管理文档。在知识库标签页中管理。",
      "memoryAuthoredSeeKnowledge": "编撰上下文绑定在上方的知识库标签页中管理。此视图显示适用于当前项目范围的绑定。",
      "memoryQueryTitle": "查询压缩记忆",
      "memoryQueryDescription": "使用同一组过滤条件查询本地个人记忆、云端个人记忆和企业共享记忆。",
      "memoryProjectPlaceholder": "按 canonical repo ID 过滤",
      "memoryQueryPlaceholder": "搜索摘要和压缩内容",
      "memoryAllClasses": "全部记录类型",
      "memoryRecentSummary": "近期摘要",
      "memoryRecentDescription": "由最近本地活动生成的轮次级压缩摘要。",
      "memoryDurableCandidate": "持久记忆候选",
      "memoryDurableDescription": "压缩后的长期偏好、约束和已固定决策。",
      "memoryLocalTitle": "本地个人记忆",
      "memoryCloudTitle": "全局云端个人记忆",
      "memoryProcessedNote": "这里展示的是处理后的记忆投影，并使用语义向量搜索。未处理原始事件只保留在本地，且仅支持文本过滤；云端个人记忆和企业共享记忆都只存处理后的摘要。",
      "memorySharedTitle": "企业共享记忆",
      "memoryStatTotal": "总记录数",
      "memoryStatHits": "命中记录数",
      "memoryStatRecent": "近期摘要数",
      "memoryStatDurable": "持久候选数",
      "memoryStatPending": "未处理事件数",
      "memoryStatDirtyTargets": "待压缩目标数",
      "memoryStatPendingJobs": "排队任务数",
      "memoryStatProjects": "项目数",
      "memoryRecordProject": "项目",
      "memoryRecordStatus": "状态",
      "memoryStatusProcessed": "已处理摘要",
      "memoryStatusPending": "待处理原始事件",
      "memoryRecordClass": "类型",
      "memoryRecordSources": "来源事件",
      "memoryRecordUpdated": "更新时间",
      "memoryRecordOwner": "所有者",
      "memoryRecordCreatedBy": "创建者",
      "memoryRecordUpdatedBy": "修改者",
      "memoryPendingTitle": "未处理原始事件",
      "memoryPendingDescription": "这些事件还没有完成压缩处理，仍然是本地原始活动，只支持文本过滤，不支持语义向量搜索。",
      "memoryPendingEventType": "事件类型",
      "memoryPendingSession": "会话",
      "memoryProcessedTitle": "已处理记忆",
      "memoryProcessedDescription": "这里展示的是处理后的记忆摘要，并按语义向量搜索结果排序。只有本地视图会同时显示未处理原始事件；云端和企业视图只显示处理后的摘要。",
      "memoryProcessedEmptyPending": "还没有处理后的摘要，下面只显示待处理原始事件。",
      "memoryExpand": "展开",
      "memoryCollapse": "收起",
      "memoryRecalls": "{{count}} 次召回",
      "memoryNeverRecalled": "从未被召回",
      "memoryLastRecalled": "上次召回：{{time}}",
      "memoryArchive": "归档",
      "memoryRestore": "恢复",
      "memoryDelete": "删除",
      "memoryDeleteConfirm": "确定永久删除这条记忆吗？此操作不可撤销。",
      "memoryDeleteFailed": "删除记忆失败",
      "memoryArchived": "已归档",
      "memoryShowArchived": "显示已归档",
      "memoryMasterSummary": "主摘要",
      "memoryPost11AdminTitle": "Post-1.1 记忆管理",
      "memoryPost11AdminDescription": "管理运行时可见的偏好、技能 registry、Markdown 导入和 observation 显式提升，数据来自当前本地 daemon。",
      "memoryAdminDaemonRequired": "连接 daemon 后才能管理本地偏好、技能、Markdown 导入和 observations。",
      "memoryAdminActionFailed": "记忆管理操作失败",
      "memoryPreferencesTitle": "用户偏好",
      "memoryPreferencesDescription": "管理会注入 provider context 的 @pref 条目。",
      "memoryPreferenceUserPlaceholder": "偏好用户 ID",
      "memoryPreferenceTextPlaceholder": "偏好内容",
      "memoryPreferenceSave": "保存偏好",
      "memoryPreferenceUser": "用户",
      "memoryPreferenceDeleteConfirm": "确定删除这条偏好吗？后续轮次将不再注入。",
      "memoryPreferencesEmpty": "没有已保存的偏好。",
      "memorySkillsTitle": "技能",
      "memorySkillsDescription": "查看启动时使用的轻量技能 registry。完整技能正文只在预览或 agent 按需读取时加载。",
      "memoryProjectDirPlaceholder": "项目目录（用于项目技能 / MD 导入）",
      "memorySkillRebuildRegistry": "重建 registry",
      "memorySkillName": "技能",
      "memorySkillLayer": "层级",
      "memorySkillPath": "路径",
      "memorySkillPreview": "预览",
      "memorySkillPreviewTitle": "技能预览",
      "memorySkillDeleteConfirm": "确定删除这个技能文件并从 registry 移除吗？",
      "memorySkillsEmpty": "没有 registry 条目。安装或创建技能后请重建。",
      "memoryMdIngestTitle": "Markdown 导入",
      "memoryMdIngestDescription": "对可信项目 Markdown 文件执行有界手动导入。不支持的跨 scope 导入会 fail-closed，不会静默降级。",
      "memoryMdIngestRun": "执行导入",
      "memoryMdFilesChecked": "检查文件数",
      "memoryMdObservationsWritten": "写入 observations",
      "memoryMdIngestEmpty": "还没有手动导入结果。",
      "memoryObservationsTitle": "Observation 存储",
      "memoryObservationsDescription": "查看 typed durable observations，并只能通过显式审计 UI 动作提升 scope。",
      "memoryAllScopes": "全部 scope",
      "memoryScopeLabel": "作用域",
      "memoryPromotionReasonPlaceholder": "提升原因（可选）",
      "memoryObservationPromote": "提升",
      "memoryObservationsEmpty": "当前过滤条件下没有 observations。",
      "memoryScope": {
        "user_private": "用户私有",
        "personal": "个人项目",
        "project_shared": "项目共享",
        "workspace_shared": "工作区共享",
        "org_shared": "组织共享"
      },
      "memoryObservationClass": {
        "fact": "事实",
        "decision": "决策",
        "bugfix": "缺陷修复",
        "feature": "功能",
        "refactor": "重构",
        "discovery": "发现",
        "preference": "偏好",
        "skill_candidate": "技能候选",
        "workflow": "工作流",
        "code_pattern": "代码模式",
        "note": "备注"
      },
      "memoryFeatureStatusTitle": "功能开关",
      "memoryFeatureStatusDescription": "post-1.1 记忆功能的用户级线上全局开关。变更会存入你的账号，并应用到你名下所有服务器；本地 daemon/env 配置只作为兜底。",
      "memoryFeatureEnabled": "已启用",
      "memoryFeatureDisabled": "已禁用",
      "memoryFeatureUnknown": "未知",
      "memoryFeatureDisabledNotice": "该功能已禁用；启用功能开关前会阻止管理写入。",
      "error": {
        "missing_observation_text": "Observation 文本不能为空。",
        "observation_not_found": "Observation 不存在。",
        "observation_mutation_forbidden": "你没有权限修改这个 observation。",
        "missing_memory_text": "记忆内容不能为空。",
        "memory_not_found": "未找到该记忆记录。"
      },
      "memoryToolsTitle": "记忆工具",
      "memoryToolsDescription": "基于已选择的项目身份管理偏好、技能、Markdown 导入、观察记录和 daemon 记忆功能状态。",
      "memoryToolTabStatus": "状态",
      "memoryToolTabPreferences": "偏好",
      "memoryToolTabSkills": "技能",
      "memoryToolTabMdIngest": "Markdown",
      "memoryToolTabObservations": "观察记录",
      "mcpTitle": "模型上下文协议",
      "mcpSummaryLine1": "托管 provider 可通过 daemon 控制的 MCP 服务器暴露十一个运行时作用域工具：记忆搜索/最近 summary/来源查看、观察记录和偏好写入、Scoped Send，以及 Cron 调度。",
      "mcpSummaryLine2": "记忆工具会返回带 ref 和 projectionId 的紧凑命中；list_memory_summaries 可拉取最近摘要，当需要精确历史指令、bug 细节或来源证据时，get_memory_sources 可展开相关命中。",
      "mcpSummaryLine3": "Send 工具可发现兄弟会话，并通过受保护的 imcodes send 管线发送有作用域的文本、文件引用、回复请求或广播。",
      "mcpSummaryLine4": "Cron 工具可创建、列出、更新和删除定时结构化发送任务，用于提醒、周期检查、委托 review 和 follow-up。",
      "mcpSummaryLine5": "此视图显示 provider 就绪状态、降级原因、功能门控和最近脱敏工具调用；如果尚无 MCP 状态上报，会明确显示未上报，而不会假设工具健康。",
      "mcpProviderStatusTitle": "Provider MCP 状态",
      "mcpProviderStatusDescription": "十一工具 stdio MCP MVP 会跟踪六个托管 provider。",
      "mcpToolGatesTitle": "工具族门控",
      "mcpToolGatesDescription": "记忆、Send 和 Cron 工具必须同时通过底层功能门控和 MCP kill-switch。",
      "mcpRecentCallsTitle": "最近脱敏 MCP 调用",
      "mcpRecentCallsDescription": "这里只显示 daemon 已脱敏的请求和结果片段。",
      "mcpNoDaemon": "连接本地 daemon 后才能加载 MCP 状态。",
      "mcpStatusLoading": "正在等待 daemon 返回 MCP 状态…",
      "mcpStatusTimeout": "尚未收到 MCP 状态响应。当前 daemon 可能还没有暴露此视图。",
      "mcpStatusError": "无法加载 MCP 状态。",
      "mcpUpdatedAt": "更新时间",
      "mcpUpdatedNever": "未上报",
      "mcpProvidersReported": "已上报 provider",
      "mcpCallsReported": "已上报调用",
      "mcpProviderConnected": "Provider 已连接",
      "mcpProviderDisconnected": "Provider 已断开",
      "mcpProviderNoSignal": "无 provider 信号",
      "mcpProviderNoDegradedReasons": "未上报降级原因。",
      "mcpProviderStatusHint": "MCP 专用状态会独立于 provider 连接状态上报。",
      "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": "Provider",
      "mcpCallTool": "工具",
      "mcpCallStatus": "状态",
      "mcpCallDuration": "耗时",
      "mcpCallDurationValue": "{{ms}} ms",
      "mcpCallTime": "时间",
      "mcpCallFamily": "工具族",
      "mcpCallInput": "脱敏输入",
      "mcpCallResult": "脱敏结果",
      "mcpStatus": {
        "ready": "就绪",
        "degraded": "降级",
        "disabled": "已禁用",
        "unknown": "未知"
      },
      "mcpToolFamily": {
        "memory": "记忆",
        "send": "Send",
        "cron": "Cron"
      },
      "mcpCallStatusValue": {
        "ok": "正常",
        "error": "错误",
        "disabled": "已禁用",
        "unknown": "{{status}}"
      },
      "mcpReason": {
        "env_forwarding_unverified": "尚未证明可转发每会话 MCP 环境变量。",
        "feature_disabled": "所需功能门控已禁用。",
        "mcp_registration_failed": "托管 MCP 注册失败。",
        "provider_not_connected": "Provider 未连接。",
        "status_not_reported": "尚未上报 MCP 状态。",
        "unknown": "{{reason}}"
      },
      "memoryProjectPickerTitle": "项目选择器",
      "memoryProjectPickerDescription": "默认跨所有项目浏览记忆。只有需要过滤浏览结果，或运行依赖本地文件的工具时，才需要选择项目。",
      "memoryProjectSearchPlaceholder": "搜索项目名、canonical ID 或目录",
      "memoryProjectSelected": "已选项目",
      "memoryProjectEmpty": "暂无已知项目。请先打开该项目的会话，或使用高级解析兜底。",
      "memoryProjectCanonicalId": "Canonical ID",
      "memoryProjectDirectory": "目录",
      "memoryProjectSourceLabel": "来源",
      "memoryProjectNeedsResolve": "需要 daemon 解析后才能运行本地工具。",
      "memoryProjectResolving": "正在解析项目…",
      "memoryProjectCanonicalOnlyNotice": "该项目可用于过滤记忆；会读写本地文件的操作还需要解析后的本地目录。",
      "memoryProjectAdvanced": "高级解析兜底",
      "memoryProjectAdvancedDescription": "手动值只是高级兜底。优先选择已知项目，让 daemon 校验目录与 ID 的对应关系。",
      "memoryProjectLocalToolsDisabled": "依赖本地文件的工具需要选择同时具备已校验目录和 canonical ID 的项目；不选项目仍可浏览全部记忆。",
      "memoryProjectUnknown": "未知项目",
      "memoryPreferenceSearchPlaceholder": "搜索偏好",
      "memorySkillSearchPlaceholder": "按名称、层级、路径或描述搜索技能",
      "memoryObservationSearchPlaceholder": "搜索已加载的观察记录",
      "memoryProjectStatus": {
        "resolved": "已解析",
        "needs_resolution": "需要解析",
        "canonical_only": "仅 canonical ID",
        "directory_only": "仅目录",
        "no_repo": "不是仓库",
        "multiple_remotes": "多个 remote",
        "unauthorized": "未授权",
        "invalid_dir": "无效目录",
        "mismatch": "ID 不匹配",
        "error": "解析失败"
      },
      "memoryProjectSource": {
        "active_session": "当前会话",
        "recent_session": "最近会话",
        "enterprise_enrollment": "企业项目",
        "resolved_directory": "已解析目录",
        "manual_resolved": "手动解析",
        "memory_index": "记忆索引"
      },
      "memoryFeatureLabel": {
        "preferences": "偏好",
        "mdIngest": "Markdown 导入",
        "skills": "技能",
        "skillAutoCreation": "技能自动创建",
        "observationStore": "观察记录存储",
        "namespaceRegistry": "命名空间注册表"
      },
      "memoryFeatureUnavailable": "服务器不可用",
      "memoryFeatureUnavailableDetail": "请先连接服务器，才能加载账号级功能开关并启用管理操作。",
      "memoryFeatureLoading": "加载中",
      "memoryFeatureLoadingDetail": "正在等待服务器返回功能状态…",
      "memoryFeatureNoResponse": "无响应",
      "memoryFeatureNoResponseDetail": "服务器没有响应该功能状态请求。请刷新或重新连接。",
      "memoryFeatureError": "错误",
      "memoryFeatureErrorDetail": "无法加载功能状态。",
      "memoryFeatureUnknownDetail": "服务器响应里没有包含该功能开关。",
      "memoryFeatureEnabledDetail": "该功能已对你的账号启用，并会应用到你的所有服务器。",
      "memoryFeatureDisabledHint": "已在你的账号中关闭。可在这里点“开启”并线上持久化到你的所有服务器；{{env}} 仅作为 daemon 启动兜底。{{behavior}}",
      "memoryBrowseProjectFilter": "记忆浏览过滤器",
      "memoryBrowseAllProjects": "所有项目（默认）",
      "memoryAllProjectsActive": "所有项目",
      "memoryActiveProjectFilter": "按 {{project}} 过滤",
      "memoryClearProjectFilter": "清除过滤",
      "memoryToolProjectSelector": "本地操作项目（需要目录）",
      "memoryToolProjectNone": "选择用于本地工具的项目",
      "memoryProjectPickerSplitHelp": "上面的过滤器只控制记忆浏览，默认是所有项目。下面的本地操作项目只给 Markdown 导入、技能重建/读取等需要目录的工具使用。",
      "memoryProjectKnownProjects": "已知项目",
      "memoryProjectNoCanonicalId": "无 canonical ID",
      "memoryProjectNoDirectory": "无本地目录",
      "memoryPersonalBreakdown": "个人记忆总数拆分：本地已处理 {{processed}} · 本地待处理 {{pending}} · 云端 {{cloud}}。",
      "memoryFilteredByProject": "当前按 {{project}} 过滤结果。",
      "memoryProcessedEmptyWithCloud": "没有本地已处理摘要；个人云端有 {{count}} 条记录可查看。",
      "memoryViewPersonalCloud": "查看个人云端",
      "memoryUnprocessedEmptyWithData": "没有本地待处理原始事件；已处理/云端记录在其他标签页中。",
      "memoryLocalStatusLoading": "正在加载本地 daemon 记忆…",
      "memoryLocalStatusUnavailable": "本地 daemon 不可用，无法加载本地已处理和待处理计数。",
      "memoryLocalStatusNoResponse": "本地 daemon 无响应；本地计数可能过期或不可用。",
      "memoryLocalStatusError": "加载个人记忆时本地 daemon 返回了错误。",
      "memoryToolDisabledNoDaemon": "请先连接本地 daemon，再使用该管理操作。",
      "memoryToolDisabledFeature": "此功能已关闭。请在“功能开关”状态页为账号全局开启；{{env}} 仅作为 daemon 启动兜底。",
      "memoryToolDisabledFeatureUnknown": "功能状态尚未加载；请先刷新管理面板。",
      "memoryToolDisabledProjectRequired": "运行本地工具前，请选择同时具备 canonical ID 和本地目录的已解析项目。",
      "memoryFeatureEnableAction": "开启",
      "memoryFeatureDisableAction": "关闭",
      "memoryFeatureToggleSaving": "保存中…",
      "memoryFeatureDependencyBlockedHint": "已请求开启，但依赖仍关闭：{{deps}}。请先开启依赖。{{behavior}}",
      "memoryFeatureBlocked": "依赖阻塞",
      "processingPresetLabel": "预设",
      "processingPresetNoneTitle": "不使用预设，走默认 provider 端点",
      "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": "路径",
      "memoryFeatureDisabledBehavior": {
        "preferences": "@pref 行会按普通文本透传，不会持久化或剥离。",
        "mdIngest": "不会读取、解析或导入 Markdown 文件。",
        "skills": "加载器返回空集合；技能渲染被跳过；管理写入会被拒绝或禁用。",
        "skillAutoCreation": "不会领取或创建技能审查任务；已存在技能在“技能”开启后仍会加载。",
        "observationStore": "不会写入新的 observation 行；已处理投影仍可读取。",
        "namespaceRegistry": "除迁移/回填外不会写入新的 namespace 记录；旧投影读取仍可用。"
      },
      "memoryPromotionTargetLabel": "提升目标作用域",
      "memoryPromotionReasonLabel": "提升原因",
      "memoryPromotionHelp": "提升是两步审计操作。先选择目标 scope，再在具体记录上检查源/目标变化，最后确认。确认后该 observation 会按目标 scope 的授权规则参与后续记忆选择。",
      "memoryPromotionNotAllowed": "不能从 {{from}} 提升到 {{to}}。",
      "memoryObservationPromoteTitle": "检查从 {{from}} 到 {{to}} 的提升",
      "memoryObservationPromoteTo": "提升到 {{scope}}…",
      "memoryPromotionConfirmTitle": "确认提升 observation",
      "memoryPromotionConfirmBody": "这会把该 observation 从 {{from}} 提升到 {{to}}，并写入提升审计记录。原始来源文本不会被修改，但后续记忆选择可能按目标 scope 的可见性规则使用它。",
      "memoryPromotionReasonPreview": "原因：{{reason}}",
      "memoryPromotionNoReason": "未填写原因。审计记录仍会记录操作者、源 scope、目标 scope 和时间。",
      "memoryPromotionCancel": "取消",
      "memoryPromotionConfirmAction": "确认提升",
      "memoryPreferenceUpdate": "更新偏好",
      "memoryEdit": "修改",
      "memoryEditCancel": "取消修改",
      "memoryObservationEditTextLabel": "Observation 文本",
      "memoryObservationUpdate": "更新 observation",
      "memoryObservationDeleteConfirm": "确定删除这个 observation？如果存在关联投影，也会一并删除。",
      "memoryPin": "置顶",
      "memoryUpdate": "更新记忆",
      "memoryEditTextLabel": "记忆内容",
      "memoryManualAddTitle": "手动添加记忆",
      "memoryManualAddDescription": "不等待自动压缩，直接保存一条绑定当前项目的个人记忆。",
      "memoryManualAddClassLabel": "记忆类型",
      "memoryManualAddTextLabel": "手动记忆内容",
      "memoryManualAddPlaceholder": "写入这个项目需要长期记住的笔记、决定或摘要…",
      "memoryManualAddSave": "保存记忆",
      "memoryManualAddProjectRequired": "添加记忆前，请先在项目选择器或浏览过滤器中选择项目。"
    },
    "diagnostics": {
      "title": "诊断",
      "load": "加载诊断",
      "workspaceId": "工作区 ID",
      "enrollmentId": "加入记录 ID",
      "filePath": "文件路径",
      "mode": "检索模式",
      "visibility": "可见性",
      "remoteProcessed": "远端处理结果存在",
      "derivedOnDemand": "按需派生",
      "persistedSnapshotAvailable": "可用持久化快照",
      "appliedVersions": "应用版本",
      "runtimeBindings": "运行时 authored context",
      "snapshotTitle": "持久化快照",
      "snapshotBindings": "快照绑定数"
    }
  },
  "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": "展开"
  }
}
