{
  "common": {
    "refresh": "刷新",
    "loading": "加载中",
    "cancel": "取消",
    "confirm": "确认",
    "approve": "批准",
    "deny": "拒绝",
    "reject": "拒绝",
    "clear": "清空",
    "reset": "重置",
    "close": "关闭",
    "save": "保存",
    "edit": "编辑",
    "delete": "删除",
    "search": "搜索",
    "next_step": "下一步",
    "second_confirm": "二次确认",
    "rethink": "再想想",
    "ipc_error": "IPC 错误"
  },
  "nav": {
    "protection": "保护成效",
    "approvals": "审批队列",
    "activity": "活动流",
    "servers": "服务器注册",
    "sessions": "会话回放",
    "privacy": "隐私发现"
  },
  "protection": {
    "page_title": "保护成效概览",
    "subtitle": "Vigil 为你拦下了什么 —— 来自本地审计账本(与 `vigil-hub inspect protection` 同源)。",
    "secrets_blocked": "输入侧拦截的裸密钥",
    "secrets_blocked_hint": "原始密钥在到达 server / 模型前被拒。",
    "leaks_detected": "检测到的工具结果泄漏",
    "leaks_detected_hint": "工具输出里命中的 secret;开启结果脱敏时在到达 agent 前已遮蔽。",
    "aliases_withheld": "withheld 的 secret 别名",
    "aliases_withheld_hint": "未能解析的 secret:// 占位符,故该调用被拒。",
    "events_audited": "已审计事件",
    "events_audited_hint": "覆盖 {sessions} 个 session —— Vigil 在记录活动。",
    "chain_ok_title": "审计链完整",
    "chain_ok_body": "审计日志未被篡改 —— 防篡改哈希链校验通过。",
    "chain_bad_title": "审计链断裂",
    "chain_bad_body": "审计日志哈希链校验失败(可能被篡改)。为安全起见,最近明细已隐藏。",
    "recent_title": "最近的保护事件",
    "recent_empty": "暂无保护事件。把 MCP 工具经 Vigil 网关、正常用你的 agent —— Vigil 会在它们运行时记录并脱敏。",
    "recent_suppressed": "因审计链校验失败,最近明细已隐藏(被篡改的日志可能含注入的 secret)。",
    "loading_failed": "无法加载保护成效汇总。"
  },
  "sidebar": {
    "app_title": "Vigils 桌面",
    "app_subtitle": "本地 AI 控制平面",
    "shortcuts_button": "⌨ 快捷键",
    "theme_dark": "深色",
    "theme_light": "浅色",
    "theme_system": "系统",
    "theme_tooltip": "主题:{label}(点击切换)",
    "language_tooltip": "语言:{label}(点击切换)"
  },
  "approval": {
    "page_title": "审批队列",
    "pending_count": "{count} 条待审批",
    "col_approval_id": "审批 ID",
    "col_title": "标题",
    "col_summary": "摘要",
    "col_status": "状态",
    "col_expires": "过期时间",
    "status_expired": "已过期",
    "empty_description": "暂无待审批项",
    "empty_extra": "需要人工审核的高风险工具调用将显示在此处。",
    "scope_modal_title": "选择批准范围 (scope)",
    "scope_modal_title_bulk": "选择批准范围 (scope) — 批量 {count} 条",
    "scope_modal_hint_single": "dispatcher 要求 Approve 动作必须带 scope。所选范围将应用到本次 approval。",
    "scope_modal_hint_bulk": "dispatcher 要求 Approve 动作必须带 scope。所选范围将应用到选中的 {count} 条 approval。",
    "scope_once": "Once",
    "scope_once_desc": "仅本次 invocation 放行;消费即失效",
    "scope_this_session": "ThisSession",
    "scope_this_session_desc": "对同一 session + 同 (server_id, tool_name, args_hash) 的后续调用自动放行",
    "confirm_approve_title": "确认批准?",
    "confirm_approve_content": "本操作将写入审计账本,不可撤销。\n审批 ID: {id}\n范围: {scope}",
    "confirm_deny_title": "确认拒绝?",
    "confirm_cancel_title": "确认取消?",
    "confirm_deny_content": "本操作将写入审计账本,不可撤销。\n审批 ID: {id}",
    "bulk_selected": "已选中 {count} 条 approval",
    "bulk_approve": "批量批准",
    "bulk_deny": "批量拒绝",
    "bulk_clear": "清空选择",
    "bulk_approve_confirm_title": "确认批准 {count} 条 approval?",
    "bulk_approve_confirm_content": "每条独立写入审计账本(per-event hash chain),不可撤销。\n范围: {scope}",
    "bulk_approve_button": "批准全部({count})",
    "bulk_deny_confirm_title": "确认拒绝 {count} 条 approval?",
    "bulk_deny_confirm_content": "每条独立写入审计账本(per-event hash chain),不可撤销。",
    "bulk_deny_button": "拒绝全部({count})"
  },
  "activity": {
    "page_title": "活动流",
    "count_live": "{count} 条事件,实时流",
    "count_search": "{count} 条事件,搜索模式",
    "search_placeholder": "FTS5 查询 — 例:\"token\" / task AND approved / prefix*",
    "search_button": "搜索",
    "back_to_feed": "返回事件流",
    "search_error": "搜索出错:{msg}",
    "session_filter_placeholder": "会话筛选(留空 = 全部)",
    "type_filter_placeholder": "事件类型筛选",
    "reset_filters": "重置筛选",
    "empty_no_hits": "无搜索结果",
    "empty_no_events": "暂无近期事件",
    "empty_hits_extra": "尝试其他关键词或清空搜索。",
    "empty_events_extra": "接入 AI agent(Claude Code / Cursor / Zed)后开始记录事件。"
  },
  "session": {
    "page_title": "会话回放",
    "verify_chain_button": "校验账本链",
    "source_filter_placeholder": "来源筛选(mcp_hub / desktop / ...)",
    "verify_on_replay": "回放时校验链",
    "reset_filters": "重置筛选",
    "chain_ok": "账本链:正常",
    "chain_broken": "账本链:已损坏",
    "chain_verify_failed": "链校验失败",
    "first_broken_event": "首个损坏事件 event_id = {id}",
    "export_md": "导出 Markdown",
    "export_html": "导出 HTML",
    "export_error": "导出出错:{msg}",
    "sessions_card_title": "会话",
    "empty_no_sessions": "暂无会话",
    "empty_sessions_extra": "接入 AI agent(如 Claude Code / Cursor)后开始记录会话。",
    "replay_loading": "加载回放中…",
    "replay_no_events": "本会话无事件"
  },
  "privacy": {
    "page_title": "隐私发现",
    "page_subtitle_1": "Vigils 在 firewall preflight + 扩展粘贴 + 凭据扫描 等路径拦下的敏感命中。",
    "page_subtitle_strong": "原文绝不持久化",
    "page_subtitle_2": "— 此面板仅展 label / count / fingerprint 元数据。",
    "load_error": "无法加载 Privacy Findings:{msg}",
    "by_label_title": "按标签(全局聚合)",
    "by_label_empty": "暂无 PII 命中(或 firewall preflight 未跑过)",
    "recent_scans_title": "近期扫描",
    "col_time": "时间",
    "col_source": "来源",
    "col_findings": "命中数",
    "col_scan_id": "扫描 ID",
    "col_session": "会话",
    "col_fingerprint": "指纹"
  },
  "server": {
    "page_title": "服务器注册",
    "tab_servers": "服务器",
    "tab_tool_approvals": "工具审批",
    "tab_drift": "漂移",
    "empty_no_servers": "暂无已注册的 MCP 服务器",
    "empty_servers_extra": "通过 vigil-hub add-remote-mcp 或本地 stdio 接入 MCP 服务器后显示。",
    "empty_no_tool_approvals": "暂无待审批工具",
    "empty_no_drift": "暂无漂移项",
    "approve": "批准",
    "reject": "拒绝",
    "approve_drift": "批准漂移",
    "reject_drift": "拒绝漂移",
    "count_summary": "{approved} 个已批准,{pending} 个待审工具,{drifted} 个漂移",
    "servers_register_cta": "通过 CLI 或 `vigil-hub serve --stdio` 注册 — 参见文档 / 快速上手。",
    "pending_tools_tab": "待审工具",
    "drifted_tools_label": "漂移工具(descriptor 漂移)",
    "drifted_servers_label": "漂移服务器(argv 漂移)",
    "onboarding_title": "服务器接入",
    "onboarding_loading": "加载中…",
    "onboarding_no_data": "无接入数据"
  },
  "detail": {
    "drawer_title": "审批详情",
    "loading": "加载中…",
    "status_pending": "待审批",
    "status_approved": "已批准",
    "status_denied": "已拒绝",
    "status_cancelled": "已取消",
    "status_expired": "已过期",
    "label_approval_id": "审批 ID",
    "label_session": "会话",
    "label_decision_id": "决策 ID",
    "label_invocation_id": "调用 ID",
    "label_title": "标题",
    "label_summary": "摘要",
    "label_expires_at": "过期时间",
    "privacy_findings_title": "隐私发现",
    "privacy_findings_note": "本 session 内 Vigils 拦下的 PII / 凭证类型 + 次数;原文绝不持久化。",
    "effect_vector_title": "副作用向量",
    "effect_kinds_label": "推断出的副作用类型",
    "effect_destructive": "破坏性(destructive)",
    "effect_reversible": "可回滚(reversible)",
    "effect_none": "— 未推断出副作用(纯计算调用)",
    "effect_raw_summary": "原始 JSON(透明性附注 — 点击展开)",
    "effect_paths_read": "读文件路径",
    "effect_paths_write": "写文件路径",
    "effect_network_hosts": "网络目标",
    "effect_secret_refs": "引用凭据(alias)",
    "effect_recipients": "对外接收方",
    "resolved_note": "该请求已解析 — resolution 详情需独立查询(α 后续补)"
  },
  "eventModal": {
    "title": "事件详情",
    "loading": "加载中…",
    "no_event": "未选择事件",
    "label_event_id": "事件 ID",
    "label_session": "会话",
    "label_type": "类型",
    "label_created_at": "创建时间",
    "label_prev_hash": "前序哈希",
    "label_event_hash": "事件哈希",
    "redacted_summary_title": "脱敏摘要",
    "payload_title": "Payload(JCS 规范化,已脱敏)"
  },
  "shortcuts": {
    "modal_title": "键盘快捷键",
    "footnote": "随时按 ? 切换此帮助。在输入框内时快捷键禁用。",
    "group_navigation": "导航",
    "group_global": "全局",
    "group_approval_queue": "审批队列",
    "go_activity": "前往活动流",
    "go_approvals": "前往审批队列",
    "go_servers": "前往服务器注册",
    "go_sessions": "前往会话回放",
    "go_privacy": "前往隐私发现",
    "focus_search": "聚焦搜索框(当前页)",
    "toggle_help": "显示 / 隐藏本帮助",
    "close": "关闭帮助 / 抽屉",
    "next_approval": "下一条待审批",
    "prev_approval": "上一条待审批",
    "open_drawer": "打开选中行的详情抽屉",
    "approve_selected": "批准选中(打开范围弹窗)",
    "deny_selected": "拒绝选中(确认)",
    "cancel_selected": "取消选中(确认)"
  },
  "onboardingCard": {
    "drift_alert_title": "检测到命令漂移",
    "drift_alert_body": "该 server 的启动 argv 已漂移,新 hash 待审批。Runner spawn 路径处于 fail-closed 状态。",
    "label_server_id": "服务器 ID",
    "label_transport": "传输方式",
    "label_trust_level": "信任级别",
    "label_first_seen": "首次出现",
    "label_url": "URL",
    "label_command_hash": "命令 hash",
    "label_pending_hash": "待审 hash(新)",
    "label_sandbox_profile": "沙箱配置",
    "sandbox_inherit_default": "—(继承默认最小权限)",
    "argv_title": "命令 argv(精确)",
    "argv_non_stdio": "—(非 stdio transport)",
    "env_keys_title": "请求的 env keys",
    "env_keys_pending": "等待 lease 分析(I06)—— 首次 spawn 后可见",
    "env_keys_none": "—(明确无 env 需求)",
    "approve_drift": "批准漂移",
    "reject_drift": "拒绝漂移",
    "confirm_approve_title": "批准命令漂移?",
    "confirm_approve_content": "Server {serverId} 的 argv 将被认可为新 hash {hash}。审计事件会记录该决策。",
    "confirm_reject_title": "拒绝命令漂移?",
    "confirm_reject_content": "拒绝新 argv,恢复为旧 hash {hash}。下次 spawn 仍会被拦截直到认可或清除。"
  },
  "notImplemented": {
    "badge": "尚未实装",
    "body": "本页对应的路由暂未实装,后续子迭代补齐。"
  }
}
