{
  "settingsSections": {
    "overview": "系统状态",
    "appearance": "偏好设置",
    "agent": "智能体",
    "agent-defaults": "智能体配置",
    "agent-chat": "默认配置",
    "agent-workspace": "工作区",
    "agent-browser": "浏览器",
    "agent-runtime": "单轮限制",
    "agent-context": "上下文",
    "agent-memory": "记忆",
    "agent-tools": "工具",
    "agent-skills": "默认可用技能",
    "agent-mcp": "外部工具 (MCP)",
    "agent-system-prompt": "系统提示词",
    "providers": "服务商与密钥",
    "credentials": "模型与能力",
    "models": "自定义模型",
    "image-models": "图片",
    "channels": "消息通道",
    "voice": "语音",
    "gateway": "网关",
    "heartbeat": "心跳",
    "tunnel": "远程访问",
    "remote-access": "远程访问",
    "shares": "文件分享",
    "search": "网络搜索",
    "dreams": "后台反思",
    "goals": "目标模式",
    "agents": "智能体",
    "system": "系统授权",
    "app-management": "应用管理",
    "cron": "定时任务",
    "skills": "技能"
  },
  "settingsPage": {
    "comingSoon": "设置 · {{title}}（即将推出）。"
  },
  "modelsHub": {
    "subtitle": "配置服务商密钥、自定义模型、能力模型和默认使用状态。",
    "docsLink": "查看文档",
    "tabsAria": "模型与能力分区",
    "saveBar": {
      "title": "未保存改动汇总",
      "cleanSummary": "所有分区都已保存。",
      "dirtySummary": "{{count}} 个分区有未保存改动。",
      "savedSummary": "所有改动已保存。",
      "failuresSummary": "{{count}} 个分区保存失败。",
      "saveAll": "全部保存",
      "discardAll": "全部丢弃"
    },
    "tabs": {
      "services": "模型服务",
      "imageModels": "图片",
      "voice": "语音",
      "search": "网络搜索"
    },
    "servicesHint": "管理已接入的模型服务商，或接入新的服务。",
    "imageModelsHint": "配置图片理解、图片生成模型与相关服务商密钥。",
    "voiceHint": "配置语音识别、文字转语音服务商与触发模式。",
    "searchHint": "配置 web_search 工具使用的搜索服务商和限制规则。",
    "connectedProviders": {
      "title": "已接入的服务",
      "titleCount": "已接入的服务 ({{count}})",
      "empty": "还没有接入任何模型服务",
      "emptyHint": "接入一个服务商，填写 API Key 即可开始使用。",
      "addProvider": "接入新的服务商",
      "manage": "管理",
      "models": "模型",
      "modelsCount": "{{count}} 个模型",
      "custom": "自定义",
      "loading": "加载中…",
      "noModels": "暂无模型"
    },
    "addProviderDialog": {
      "title": "接入新的服务商",
      "searchPlaceholder": "搜索服务商…",
      "builtinSection": "内置服务商",
      "customSection": "自定义服务",
      "customDescription": "接入 OpenAI 兼容的私有部署或第三方模型服务",
      "addCustom": "添加自定义模型服务",
      "configured": "已配置",
      "notConfigured": "未配置",
      "apiKeyLabel": "API Key",
      "apiKeyPlaceholder": "输入 API Key…",
      "baseUrlLabel": "Base URL",
      "baseUrlPlaceholder": "https://api.example.com/v1",
      "providerIdLabel": "服务商 ID",
      "providerIdPlaceholder": "例如 my-provider",
      "save": "保存",
      "saving": "保存中…",
      "saved": "已保存",
      "cancel": "取消",
      "close": "关闭",
      "back": "返回",
      "getApiKey": "获取 API Key",
      "getApiKeyIntl": "获取 API Key (国际)",
      "getApiKeyCn": "获取 API Key (国内)",
      "saveError": "保存失败，请重试。",
      "addModel": "添加模型",
      "modelIdLabel": "模型 ID",
      "modelIdPlaceholder": "例如 gpt-4o",
      "noResults": "没有匹配的服务商",
      "step1Title": "选择服务商",
      "step2BuiltinTitle": "配置服务商",
      "step2CustomTitle": "添加自定义模型服务",
      "presetLabel": "预设",
      "presetCustom": "自定义",
      "presetOllama": "Ollama",
      "presetLmStudio": "LM Studio",
      "presetOpenRouter": "OpenRouter",
      "presetZhipuCn": "智谱 GLM（国内 · Coding 端点）",
      "presetZaiGeneral": "智谱 GLM（国际 · 通用 API）",
      "apiTypeLabel": "API 类型",
      "providerIdRequired": "请填写服务商 ID。",
      "baseUrlRequired": "请填写 Base URL。",
      "categories": {
        "common": "常用",
        "specialty": "专业",
        "enterprise": "企业",
        "oauth": "OAuth 授权",
        "extension": "扩展"
      }
    },
    "manageProviderDialog": {
      "apiKeyLabel": "API Key",
      "apiKeyPlaceholder": "输入新的 API Key…",
      "apiUrlLabel": "API 地址",
      "apiUrlExtensionHint": "请求由扩展插件转发，无固定公开 API 地址。",
      "baseUrlLabel": "Base URL",
      "modelsLabel": "可用模型",
      "noModels": "该服务商下暂无模型",
      "modelsCount": "{{count}} 个模型",
      "save": "保存",
      "saving": "保存中…",
      "saved": "已保存",
      "cancel": "取消",
      "close": "关闭",
      "remove": "移除",
      "removeConfirmTitle": "移除服务商",
      "removeConfirmDescription": "确定移除 {{provider}} 的配置？移除后需要重新填写密钥才能使用。",
      "removeConfirmAction": "移除",
      "saveError": "保存失败，请重试。",
      "getApiKey": "获取 API Key",
      "getApiKeyIntl": "获取 API Key (国际)",
      "getApiKeyCn": "获取 API Key (国内)",
      "showKey": "显示密钥",
      "hideKey": "隐藏密钥",
      "copy": "复制",
      "copied": "已复制",
      "maskedHelp": "已保存的密钥默认隐藏。点击眼睛图标可从网关凭据或 models.json 读取（不含环境变量中的密钥）。",
      "notInConfigFile": "网关与 models.json 中未找到密钥 — 该服务商可能使用环境变量或 OAuth。",
      "extensionKeyHint": "此扩展服务商由插件自行管理凭据，无需在网关保存 API Key。如需可选密钥，请在扩展设置或环境变量中配置。",
      "openExtensionSettings": "打开扩展设置",
      "extensionSettingsLinkTitle": "在扩展设置页配置可选凭据",
      "loadFailed": "无法读取 API Key。",
      "custom": "自定义"
    }
  },
  "setupStatus": {
    "title": "系统状态",
    "subtitle": "查看当前配置进度，完成必要步骤后即可开始对话。",
    "refresh": "刷新",
    "loading": "正在加载状态…",
    "loadError": "无法加载系统状态，请检查网关连接后重试。",
    "summaryTitle": "概览",
    "summarySubtitle": "对话所需的核心服务。",
    "summaryGateway": "网关",
    "summaryProviders": "服务商",
    "summaryModel": "默认模型",
    "statusOnline": "在线",
    "statusOffline": "离线",
    "requiredCompleteMessage": "基础配置已完成，可以开始对话。",
    "requiredIncompleteMessage": "完成下方基础步骤后即可开始对话。",
    "checklistTitle": "设置清单",
    "checklistSubtitle": "点击步骤进入对应设置。带「可选」标记的步骤可稍后再做。",
    "optionalBadge": "可选",
    "labels": {
      "gatewayOnline": "已连接网关",
      "gatewayOffline": "未连接 — 请检查令牌与网关",
      "providersConfigured": "已配置 {{count}} 个服务商",
      "providersMetaReady": "{{configured}} / {{total}} 个服务商已就绪",
      "providersMissing": "尚未配置服务商",
      "modelConfigured": "{{model}}",
      "modelMissing": "尚未选择默认模型",
      "channelConfigured": "已连接至少一个消息通道",
      "channelMissing": "尚未配置消息通道",
      "skillsConfigured": "已有 {{count}} 个可用技能",
      "skillsMissing": "尚未安装技能",
      "presetsConfigured": "已配置 {{count}} 个智能体",
      "presetsMissing": "仅有默认智能体 — 可添加预设角色"
    },
    "items": {
      "gateway": {
        "title": "连接网关",
        "description": "确认网页控制台可以访问 xopc 网关。"
      },
      "provider": {
        "title": "配置 LLM 服务商",
        "description": "至少添加一家 AI 服务商的 API 密钥或 OAuth 令牌。"
      },
      "defaultModel": {
        "title": "选择默认模型",
        "description": "设置新对话使用的默认模型。"
      },
      "channel": {
        "title": "连接消息通道",
        "description": "关联 Telegram、微信或飞书，从即时通讯应用对话。"
      },
      "skill": {
        "title": "安装技能",
        "description": "从市场或目录安装技能，扩展智能体能力。"
      },
      "presets": {
        "title": "添加预设智能体",
        "description": "创建专用智能体（如编程、写作等）以应对不同任务。"
      }
    },
    "scenarios": {
      "title": "快速场景向导",
      "subtitle": "按使用方式选择路径 — 每一步会打开对应设置页。",
      "dismiss": "隐藏",
      "steps": {
        "stepProviders": "配置 LLM 服务商密钥",
        "stepDefaultModel": "选择默认对话模型",
        "stepChannel": "连接消息通道",
        "stepPresets": "添加专用智能体",
        "stepCron": "设置定时任务",
        "stepSkills": "从目录安装技能"
      },
      "presets": {
        "lightChat": {
          "title": "轻量对话",
          "description": "在网页控制台对话 — 配置一家服务商并选择默认模型即可。"
        },
        "multiChannel": {
          "title": "多频道助手",
          "description": "从 Telegram 等通道回复，并为不同场景配置专用智能体。"
        },
        "automation": {
          "title": "自动化工作流",
          "description": "结合技能与定时任务，完成周期性后台工作。"
        }
      }
    }
  },
  "credentialsHub": {
    "title": "密钥与授权",
    "subtitle": "集中管理对话、搜索、图像和语音所需的 API 密钥与 OAuth 授权。",
    "refresh": "刷新",
    "loading": "正在加载凭证状态…",
    "loadError": "无法加载凭证状态，请检查网关连接后重试。",
    "domainsTitle": "密钥分类",
    "domainsSubtitle": "在对应详情页管理密钥，保存后写入本地网关配置。",
    "footerHint": "LLM 密钥在「LLM 服务商」页管理。图像、语音和网页搜索密钥也可能来自环境变量；这里仅显示已写入配置的项目。",
    "status": {
      "ready": "就绪",
      "partial": "部分",
      "missing": "缺失",
      "notNeeded": "可选"
    },
    "labels": {
      "llmMetaReady": "{{configured}} / {{total}} 个 LLM 服务商已就绪",
      "llmConfigured": "已配置 {{count}} 个 LLM 服务商",
      "llmMissing": "尚未配置 LLM 服务商",
      "webSearchDisabled": "网页搜索已关闭",
      "webSearchReady": "已设置 {{configured}} / {{total}} 个搜索 API 密钥",
      "webSearchNoProviders": "尚未配置搜索服务商",
      "imageReady": "已配置 {{configured}} / {{total}} 个图像服务商",
      "imageNoProviders": "尚未配置图像服务商",
      "voiceDisabled": "语音输入/输出已关闭",
      "voiceReadyNoKeys": "语音已启用 — 无需 API 密钥",
      "voiceKeysReady": "已设置 {{configured}} / {{total}} 个语音 API 密钥",
      "voiceMissing": "语音尚未配置"
    },
    "domains": {
      "llm": {
        "title": "LLM 服务商",
        "description": "对话模型所需的 API 密钥与 OAuth 授权。"
      },
      "webSearch": {
        "title": "网页搜索",
        "description": "Brave、Tavily 等搜索 API 密钥。"
      },
      "image": {
        "title": "图像生成",
        "description": "视觉理解与图像生成服务商密钥。"
      },
      "voice": {
        "title": "语音（STT / TTS）",
        "description": "语音识别与文字转语音所需的密钥。"
      }
    }
  },
  "dreamingSettings": {
    "title": "梦境",
    "subtitle": "查看并维护后台记忆晋升（deep promotion）任务的运行状态。",
    "tabsAriaLabel": "梦境设置分类",
    "tabConfig": "配置",
    "tabRuntime": "运行状态",
    "tabInsights": "预览与日志",
    "tabMaintenance": "维护",
    "configTabHint": "调整 dreaming 总开关、全局调度和 Light / Deep / REM 三阶段参数。",
    "runtimeTabHint": "查看当前生效调度、晋升锁、短期召回存储和最近运行结果。",
    "insightsTabHint": "预览可晋升候选，并查看各阶段运行审计日志。",
    "maintenanceTabHint": "重置短期 store 或清理卡住的晋升锁；不会修改 MEMORY.md。",
    "refresh": "刷新",
    "runNow": "立即执行",
    "runPhaseLabel": "阶段",
    "runNowHint": "立刻触发一次托管 cron job。",
    "runQueued": "已触发执行。",
    "actionOk": "已完成。",
    "configSaved": "配置已保存。",
    "configTitle": "配置",
    "configHint": "编辑 agents.defaults.memory.dreaming，并写回网关配置文件。",
    "configLoading": "正在加载配置…",
    "saveConfig": "保存",
    "resetConfig": "重置",
    "configEnabled": "启用 dreaming",
    "configFrequency": "全局 fallback 调度",
    "configTimezone": "时区（IANA）",
    "configPhaseLight": "浅睡眠（Light）",
    "configPhaseLightHint": "轻量去重扫描（默认每 6 小时）。",
    "configPhaseDeep": "深度睡眠（Deep）",
    "configPhaseDeepHint": "完整评分晋升，含时间衰减（每天凌晨 3 点）。",
    "configPhaseRem": "快速眼动（REM）",
    "configPhaseRemHint": "跨条目模式聚类与梦境日记（每周日凌晨 5 点）。",
    "configPhaseEnabled": "启用",
    "configPhaseCron": "Cron 表达式",
    "configLightLookbackDays": "回溯天数",
    "configLightLimit": "条数上限",
    "configLightDedupe": "去重相似度",
    "configDeepMinScore": "最低分数",
    "configDeepMinRecallCount": "最低召回次数",
    "configDeepLimit": "条数上限",
    "configDeepHalfLife": "时间衰减半衰期（天）",
    "configDeepMaxAge": "最大年龄（天）",
    "configRemLookbackDays": "回溯天数",
    "configRemLimit": "条数上限",
    "configRemMinStrength": "最低模式强度",
    "previewTitle": "预览（dry-run）",
    "previewHint": "展示经过 rehydrate、污染过滤、marker/hash 去重后的候选列表，不会写入任何文件。",
    "previewLoad": "加载预览",
    "previewNotLoaded": "尚未加载预览。",
    "previewEmpty": "没有可晋升的候选。",
    "previewEligible": "可晋升",
    "runtimeTitle": "运行状态",
    "runtimeHint": "只读：网关上当前生效的调度、短期 store 与最近一次扫描结果。",
    "subsectionSchedule": "调度与锁",
    "subsectionStore": "短期召回",
    "subsectionPhases": "三阶段配置（实际生效）",
    "subsectionDeep": "门控（实际生效）",
    "subsectionLastRun": "最近扫描（Deep）",
    "subsectionLightLastRun": "最近扫描（Light）",
    "subsectionRemLastRun": "最近扫描（REM）",
    "lastRunBlockHint": "数据文件：memory/.dreams/last-run.json",
    "phaseLastRunEmpty": "尚无运行记录。",
    "phaseLastRunOk": "成功",
    "phaseLastRunFailed": "失败",
    "lockValueLocked": "已锁定",
    "lockValueUnlocked": "未锁定",
    "statusTitle": "状态",
    "statusHint": "读取当前工作区下的存储文件（memory/.dreams）。",
    "enabled": "启用",
    "on": "开启",
    "off": "关闭",
    "schedule": "频率",
    "timezone": "时区",
    "lock": "晋升锁",
    "storeEntries": "信号条目数",
    "storePromoted": "已晋升条目数",
    "storeUpdatedAt": "存储更新时间",
    "storeLastPromotedAt": "最近晋升时间",
    "deepGate": "门控参数：",
    "deepGateValue": "minScore={{minScore}}，minRecallCount={{minRecallCount}}，limit={{limit}}",
    "lastRunTitle": "最近一次运行",
    "lastRunHint": "memory/.dreams/last-run.json：耗时、门控配置快照、候选/应用数量与跳过原因。下方可查看原始 JSON。",
    "lastRunEmpty": "尚无运行记录。",
    "lastRunDuration": "耗时",
    "lastRunStatus": "结果",
    "lastRunSuccess": "成功",
    "lastRunFailure": "失败",
    "lastRunReason": "原因",
    "lastRunError": "错误",
    "lastRunRanked": "进入排序的候选数",
    "lastRunApplied": "写入 MEMORY.md 条数",
    "lastRunSkipped": "跳过（计数）",
    "lastRunSkipKey": "键已在 MEMORY 中",
    "lastRunSkipRehydrate": "片段还原失败",
    "lastRunSkipContaminated": "内容污染",
    "lastRunSkipHash": "哈希去重",
    "lastRunParseError": "无法解析 last-run 文件",
    "lastRunRaw": "原始 JSON",
    "eventsTitle": "事件日志",
    "eventsHint": "记忆整理各阶段的运行审计记录（memory/.dreams/events.jsonl）。",
    "eventsLoad": "加载日志",
    "eventsNotLoaded": "尚未加载事件日志。",
    "eventsEmpty": "暂无事件记录。",
    "maintenanceTitle": "维护",
    "maintenanceHint": "仅影响 store/lock 文件，不会修改 MEMORY.md。",
    "resetStore": "重置 store",
    "clearLock": "清理锁文件",
    "confirmResetStore": "确认重置 dreaming store？这会清空短期召回信号。",
    "confirmClearLock": "确认删除晋升锁文件？仅在 sweep 卡住时使用。"
  },
  "systemSettings": {
    "title": "系统授权",
    "behaviorGroup": "应用行为",
    "desktopOnlyTitle": "仅桌面端",
    "desktopOnlyBody": "系统集成功能仅在 xopc Electron 桌面版中可用。在浏览器中请通过操作系统设置管理。",
    "toggles": {
      "openAtLogin": "开机自动启动",
      "openAtLoginDesc": "登录本机用户时自动启动 xopc。",
      "keepAwake": "保持系统唤醒",
      "keepAwakeDesc": "开启后请求系统保持唤醒，减少因空闲睡眠中断长时间任务。",
      "notifyDesktop": "桌面通知",
      "notifyDesktopDesc": "应用在后台时显示系统通知（更新提醒、应用内提示、智能体错误等）。",
      "notifySound": "声音通知",
      "notifySoundDesc": "每条桌面通知播放短提示音。"
    },
    "permissionsTitle": "系统权限",
    "permissionsHint": "状态为尽量检测，修改系统设置后请刷新或重新进入本页。",
    "permissionsHintDarwin": "macOS 的隐私/媒体状态为尽量检测。修改系统设置后请用「刷新状态」或再次进入本页。",
    "permissionsHintDevDarwin": "开发模式（electron:dev）在系统设置中显示为 Electron，而非 xopc。请用打包后的 .app 验证权限名称是否正确。",
    "permissionsHintWin": "在 Windows 上，麦克风和（如系统可报告）录屏等能力受系统级开关影响；每个按钮会打开系统「设置」中的相关页面。",
    "permissionsHintLinux": "Linux 上此处不显示各权限的准确状态。会尝试打开桌面环境设置，失败时打开说明文档。请在发行版/Flatpak/ portal 中授予「文件、麦克风、通知」等。",
    "status": {
      "granted": "已授权",
      "denied": "未授权",
      "unknown": "未知"
    },
    "openSettings": "去设置",
    "refresh": "刷新状态",
    "refreshing": "刷新中…",
    "refreshDone": "权限状态已更新。",
    "openSettingsDone": "已打开系统设置。",
    "openSettingsFailed": "无法打开系统设置，请从系统偏好设置中手动查找对应项。",
    "requestAccess": "请求访问",
    "permFeedback": {
      "granted": "麦克风已授权。",
      "alreadyGranted": "麦克风此前已授权。",
      "openedSettings": "已在系统设置中打开麦克风页面，请启用 xopc 后点击「刷新状态」。",
      "denied": "麦克风未授权，请在系统设置中启用 xopc。",
      "rendererDenied": "浏览器层无法访问麦克风，请检查系统隐私设置。",
      "prompted": "若出现系统提示，请选择允许麦克风访问。"
    },
    "screenFeedback": {
      "granted": "录屏权限已授权。",
      "alreadyGranted": "录屏此前已授权。",
      "openedSettings": "已在系统设置中打开录屏页面，请启用 xopc 后点击「刷新状态」。",
      "denied": "录屏未授权，请在系统设置中启用 xopc。",
      "prompted": "若出现系统提示，请允许 xopc 进行屏幕录制。"
    },
    "accessibilityFeedback": {
      "granted": "辅助功能已授权。",
      "alreadyGranted": "辅助功能此前已授权。",
      "openedSettings": "已在系统设置中打开辅助功能页面，请启用 xopc 后点击「刷新状态」。",
      "denied": "辅助功能未授权，请在系统设置中启用 xopc。"
    },
    "notificationsFeedback": {
      "granted": "通知权限已授权。",
      "alreadyGranted": "通知此前已授权。",
      "openedSettings": "已在系统设置中打开通知页面，请启用 xopc 后点击「刷新状态」。",
      "denied": "通知权限被拒绝，请在系统设置中启用 xopc。",
      "prompted": "若出现系统提示，请允许 xopc 发送通知。",
      "default": "未选择通知权限，请重试或在系统设置中手动启用。",
      "unsupported": "当前环境不支持系统通知。"
    },
    "desktopNotify": {
      "testTitle": "桌面通知已开启",
      "testBody": "当 xopc 在后台运行时会在此显示提醒。",
      "testShown": "已发送测试通知。若未看到，请在系统设置中允许 xopc 的通知。",
      "denied": "通知权限被拒绝。请先在系统中允许 xopc 的通知，再重试。",
      "agentErrorTitle": "智能体运行失败",
      "agentErrorBody": "打开 xopc 查看详情。"
    },
    "perm": {
      "fullDisk": {
        "title": "文件与磁盘访问",
        "desc": "在需要时访问工作区、用户目录等（具体名称因系统而异）。"
      },
      "screen": {
        "title": "录屏",
        "desc": "在应用内浏览器外进行整屏/窗口采集、供视觉类能力使用。"
      },
      "microphone": {
        "title": "麦克风",
        "desc": "在对话和语音能力中录音。"
      },
      "accessibility": {
        "title": "辅助功能",
        "desc": "使用全局快捷键及辅助功能相关能力。"
      },
      "automation": {
        "title": "自动操作 / 与系统集成",
        "desc": "与其他应用或系统能力协作（在 macOS 上对应自动化与隐私；在 Windows 上为默认应用等；Linux 为桌面/portal 能力）。"
      },
      "notifications": {
        "title": "通知",
        "desc": "在系统「通知」或本应用项中允许通知，以便任务完成时提示。"
      },
      "location": {
        "title": "位置",
        "desc": "在提供地理位置相关任务时获取位置信息。"
      }
    },
    "permUnknown": {
      "fullDisk": {
        "darwin": "macOS 在真正访问前无法准确报告。若读取工作区失败，请在「完全磁盘访问权限」中启用 xopc。",
        "win32": "Windows 无法在此准确报告。若文件访问失败，请打开「存储」相关设置。",
        "linux": "若文件访问失败，请在发行版、Flatpak 或 desktop portal 中授予文件权限。"
      },
      "screen": {
        "darwin": "若录屏/截屏失败，请在「屏幕录制」中为 xopc 授权。",
        "win32": "若屏幕采集失败，请在「设置」中允许桌面应用的屏幕捕获。",
        "linux": "若屏幕采集失败，请在 desktop portal 或合成器设置中授权。"
      },
      "microphone": {
        "darwin": "若语音输入失败，请点「请求访问」或打开「麦克风」隐私设置。",
        "win32": "若语音输入失败，请点「请求访问」或打开「麦克风」隐私设置。",
        "linux": "若语音输入失败，请在桌面环境或 Flatpak 中授予麦克风权限。"
      },
      "accessibility": {
        "darwin": "全局快捷键需要辅助功能权限。请「请求访问」后在「辅助功能」中启用 xopc。",
        "win32": "若全局快捷键或集成失败，请打开「辅助功能」设置。",
        "linux": "若快捷键失败，请在桌面环境的辅助功能/权限设置中授权。"
      },
      "automation": {
        "darwin": "若控制其他应用失败，请在「自动化」/ Apple 事件中为 xopc 授权。",
        "win32": "若与其他应用集成失败，请在 Windows「设置」中配置默认应用与自动化。",
        "linux": "若自动化失败，请在 desktop portal 或会话设置中授权应用集成。"
      },
      "notifications": {
        "darwin": "请「请求访问」，然后在系统「通知」中为 xopc 开启通知。",
        "win32": "请「请求访问」，然后在「设置」中为 xopc 开启通知。",
        "linux": "请在桌面环境或 Flatpak 权限中允许通知。"
      },
      "location": {
        "darwin": "若位置功能失败，请在「定位服务」中为 xopc 授权。",
        "win32": "若位置功能失败，请在「设置」中允许桌面应用访问位置。",
        "linux": "若位置功能失败，请在 desktop portal 中授予位置权限。"
      }
    },
    "appManagement": {
      "title": "应用管理",
      "loading": "加载中…",
      "devOnlyTitle": "开发模式",
      "devOnlyBody": "清除数据与卸载仅在打包后的桌面应用中可用。下方路径仅供参考。",
      "appPath": "安装位置",
      "dataPath": "本地数据",
      "dataSize": "数据大小",
      "dataSizeUnknown": "—",
      "copyPath": "复制",
      "copied": "已复制",
      "copyFailed": "无法复制到剪贴板，请手动选择路径复制。",
      "cliDataWarning": "检测到独立的 CLI 数据目录 ~/.xopc。在此清除本地数据不会删除该目录。",
      "openCliData": "打开 CLI 数据目录",
      "pendingUpdateBlocked": "有待安装的更新时无法清除数据或卸载，请先完成或取消更新。",
      "clearData": "清除本地数据",
      "clearDataDesc": "删除配置、会话、工作区与缓存。应用将重启并恢复默认设置。",
      "clearDataConfirmTitle": "清除本地数据？",
      "clearDataConfirmDesc": "将永久删除桌面应用保存的 API 密钥、会话、对话记录与工作区文件，且无法恢复。",
      "clearDataConfirmCheckbox": "我了解此操作不可恢复",
      "clearDataConfirmPhrase": "确认删除",
      "clearDataConfirmLabel": "请输入「确认删除」以继续",
      "clearDataConfirmHint": "必须输入「确认删除」后才会启用清除按钮。",
      "uninstall": "卸载应用",
      "uninstallDescDarwin": "将在 Finder 中选中 xopc 并退出应用。请将 xopc.app 拖入废纸篓以完成卸载。",
      "uninstallDescWin": "将打开 Windows 卸载向导并退出 xopc。",
      "uninstallDescLinuxAppImage": "将打开 AppImage 所在文件夹并退出 xopc。删除该 AppImage 文件即可完成卸载。",
      "uninstallDescLinuxDeb": "将退出 xopc 并打开安装目录。在终端执行：sudo dpkg -r {{package}}（或使用发行版软件中心卸载）。",
      "uninstallDescLinuxUnknown": "将打开安装位置并退出 xopc。请使用发行版工具删除应用文件或软件包。",
      "uninstallConfirmTitle": "卸载 xopc？",
      "removeUserDataCheckbox": "卸载前同时清除本地数据",
      "confirmClear": "清除数据",
      "confirmUninstall": "卸载",
      "cancel": "取消",
      "errors": {
        "pendingUpdate": "已有下载完成的更新等待安装。请先重启完成更新，再卸载。",
        "uninstallerNotFound": "未找到卸载程序。请在「设置 → 应用 → 已安装的应用」中移除 xopc。",
        "notPackaged": "开发模式下无法执行此操作，请使用打包后的桌面应用。",
        "generic": "操作失败。请重试或通过系统设置卸载。"
      }
    }
  },
  "settingsNavGroups": {
    "general": "通用",
    "system": "系统设置",
    "credentials": "模型与密钥",
    "agent": "智能体配置",
    "connection": "连接",
    "automation": "自动化",
    "diagnostics": "诊断",
    "extensions": "扩展"
  },
  "cronSettingsPage": {
    "title": "定时任务",
    "subtitle": "调度引擎开关、并发、时区与运行历史保留等全局参数。",
    "tasksLink": "管理任务与运行历史 →"
  },
  "goalsSettingsPage": {
    "title": "目标评判",
    "subtitle": "持久目标 /goal 的评判模型、轮数上限与清单模式默认值。"
  },
  "imageModelsSettings": {
    "title": "图像",
    "subtitle": "配置图像理解、图像生成的默认模型、运行参数和图像服务商密钥。",
    "refresh": "刷新",
    "crossLinkHint": "对话主模型和采样参数在「对话」中设置；文本备用模型在「模型」中设置。本页用于配置图像理解和图像生成相关默认项。",
    "timeoutLabel": "超时（毫秒）",
    "timeoutHint": "单次生成的最大耗时，留空使用网关默认值（120000 毫秒）。",
    "autoFallbackLabel": "失败时尝试其他已配置服务商",
    "autoFallbackHint": "当前备用模型都失败后，会继续按顺序尝试其他已配置服务商。",
    "save": "保存",
    "discard": "放弃",
    "saving": "保存中…",
    "saved": "已保存。",
    "fallbackChainsTitle": "备用模型",
    "runtimeTuningTitle": "运行参数",
    "providersTitle": "图像服务商",
    "providersEmpty": "尚未配置图像生成服务商。",
    "configured": "已配置",
    "missingKey": "缺少 API Key",
    "unsavedChanges": "未保存",
    "expandProvider": "展开服务商配置",
    "collapseProvider": "收起服务商配置",
    "defaultModel": "默认模型",
    "modelsLabel": "模型",
    "modelCountOne": "1 个模型",
    "modelCountMany": "{count} 个模型",
    "credentialsIntro": "在这里填写图像服务商的 API Key 和可选接口地址。密钥会保存在本地配置中，网关不会返回完整密钥。",
    "apiKeyLabel": "API Key",
    "regionLabel": "区域",
    "regionHint": "DashScope：在卡片中选择区域后，会自动写入 region 和官方图像接口地址；选择「自定义」后可手动填写。",
    "endpointPresetsHint": "如果卡片提供接口地址或集群预设，请选择一项；选择「自定义」后可手动填写 Base URL。",
    "baseUrlLabel": "Base URL",
    "imageBaseUrlLabel": "图像 Base URL",
    "optionalPlaceholder": "可选",
    "saveCredentials": "保存密钥",
    "savingCredentials": "保存中…",
    "credentialsSaved": "密钥已保存。",
    "discardCredentials": "放弃密钥修改",
    "credentialsSaveError": "无法保存服务商密钥。",
    "credentialsNothingToSave": "没有需要保存的密钥变更。",
    "regionPresetDefault": "默认（由网关自动选择）",
    "regionPresetCustom": "自定义区域 / 端点",
    "baseUrlPresetDefault": "默认（官方地址）",
    "baseUrlPresetCustom": "自定义 URL",
    "openExtensionSettings": "扩展设置页",
    "openImageModelsPage": "打开「图像」设置",
    "extensionSettingsLinkTitle": "打开该服务商的扩展设置",
    "imageModelsLinkTitle": "打开「图像」设置（全部 Provider）",
    "imageBaseUrlPresetHint": "由区域预设自动填入；选择「自定义」后可编辑。",
    "dashscopeRegion_beijing": "中国（北京）",
    "dashscopeRegion_singapore": "国际（新加坡）",
    "dashscopeRegion_us": "美国（弗吉尼亚）",
    "apiKeyMaskedHelp": "已保存的密钥默认隐藏。点击眼睛图标可从配置文件读取（仅 providers.<id>.apiKey，不含环境变量里的密钥）。",
    "apiKeyCopy": "复制",
    "apiKeyCopied": "已复制",
    "apiKeyShow": "显示密钥",
    "apiKeyHide": "隐藏密钥",
    "apiKeyNotInConfigFile": "配置文件里没有该 Provider 的 API Key（可能只通过环境变量提供）。",
    "apiKeyRevealFailed": "无法从网关读取密钥。",
    "minimaxClusterLabel": "MiniMax 集群（API 主机）",
    "minimaxClusterHint": "MiniMax 区分国内与国际靠的是不同主机名，配置里写在 providers.minimax.baseUrl，而不是像 DashScope 那样用 region 字段；DashScope 用 region 再映射到官方图像接口 URL。",
    "falQueueBaseLabel": "Fal 队列 / API 根地址",
    "falQueueBaseHint": "Fal 文生图请求挂在队列根地址上（默认 https://queue.fal.run），对应配置项 providers.fal.baseUrl。"
  },
  "extensionImageGen": {
    "banner": "API Key 与端点写入全局配置 providers.<id>（与「设置 → 图像」相同）。两个入口任选其一，保存后会保持一致。",
    "openImageModels": "打开「图像」设置（全部 Provider）"
  },
  "extensionSttMedia": {
    "banner": "STT 凭据写入 tools.media.audio.providers.<id>（与「设置 → 语音」相同）。两个入口任选其一，保存后会保持一致。",
    "openVoice": "打开「语音」设置（全部 STT Provider）",
    "credentialsTitle": "STT 凭据",
    "credentialsHint": "保存时会写入 tools.media.audio.providers.{providerId}，并启用 STT。",
    "configured": "已配置",
    "notConfigured": "未配置"
  },
  "appearanceSettings": {
    "pageTitle": "偏好设置",
    "subtitle": "语言、界面外观与对话字号等日常使用的显示行为，仅保存在本浏览器。",
    "languageTitle": "语言",
    "languageDescription": "选择界面语言。",
    "themeTitle": "主题亮暗",
    "themeDescription": "浅色、深色，或跟随系统。",
    "colorSchemeTitle": "配色方案",
    "colorSchemeDescription": "界面的视觉风格。",
    "colorSchemeDefault": "默认",
    "colorSchemeLightGreen": "浅绿",
    "colorSchemeModernMono": "mono/单色",
    "colorSchemeClay": "奶油 Clay",
    "fontScaleTitle": "对话字号",
    "fontScaleDescription": "调整对话与阅读区域的文字大小。",
    "fontScaleCompact": "小",
    "fontScaleDefault": "中",
    "fontScaleLarge": "大",
    "langOptionEn": "English",
    "langOptionZh": "中文",
    "themeOptionLight": "浅色",
    "themeOptionDark": "深色",
    "themeOptionSystem": "跟随系统",
    "openFullPreferences": "打开全部设置",
    "quickMenuHint": "语言、主题与字号",
    "aboutApp": "关于",
    "developerGroupTitle": "开发者选项",
    "developerGroupDescription": "影响对话中工具调用结果的展示形式。",
    "showRawToolDataTitle": "显示工具调试数据",
    "showRawToolDataDescription": "在工具调用步骤中显示原始 JSON 输入与输出，便于排查问题。"
  },
  "mcpSettings": {
    "title": "外部工具 (MCP)",
    "subtitle": "配置出站 MCP 服务（stdio 或 HTTP），供嵌入式 Agent 运行时使用。可在 Agent 的 tools.disable 中加入 \"bundle-mcp\" 关闭全部 MCP 工具。",
    "loading": "正在加载 MCP 配置…",
    "saved": "MCP 配置已保存。",
    "save": "保存",
    "discard": "放弃更改",
    "saving": "保存中…",
    "globalTitle": "运行时",
    "globalHint": "会话空闲 TTL 控制未使用的 MCP 客户端何时被回收（0 = 永不回收）。",
    "idleTtlLabel": "会话空闲 TTL（分钟）",
    "idleTtlHint": "未设置时默认 10 分钟。设为 0 表示禁用空闲回收。",
    "idleTtlPlaceholder": "10",
    "serversTitle": "服务器",
    "serversHint": "每个 server id 会作为工具名前缀（server__tool）。扩展的 .mcp.json 会自动合并。",
    "serversEmpty": "尚未配置 MCP 服务器。",
    "addServer": "添加服务器",
    "removeServer": "删除",
    "serverIdPlaceholder": "server-id",
    "serverIdLabel": "服务器名称",
    "serverCardTitle": "MCP 服务器",
    "cardUntitled": "未命名服务器",
    "cardExpandAria": "展开服务器配置",
    "cardCollapseAria": "折叠服务器配置",
    "transportLabel": "服务器类型",
    "commandLabel": "命令",
    "argsLabel": "参数",
    "argsHint": "以空格分隔（不含 shell 引号）。",
    "cwdLabel": "工作目录",
    "envLabel": "环境变量（JSON 对象）",
    "envHint": "值可使用 ${ENV_VAR}。危险的主机环境变量会在启动时被过滤。",
    "urlLabel": "服务器地址",
    "headersLabel": "Headers",
    "optionalSuffix": "（可选）",
    "headersHint": "远程 MCP 服务的 Bearer token 与自定义头。",
    "addHeader": "添加 Header",
    "removeHeader": "删除 Header",
    "pasteHeaders": "粘贴",
    "pasteHeadersFailed": "无法解析请求头。请粘贴 JSON 对象，或 \"Authorization: Bearer token\" 格式的多行文本。",
    "headerKeyPlaceholder": "Authorization",
    "headerValuePlaceholder": "Bearer your-token",
    "timeoutLabel": "超时时间（可选）",
    "timeoutHint": "连接、工具列表获取及工具调用的超时时间，单位为秒（1–600）。留空使用默认值（30 秒）。",
    "timeoutPlaceholder": "30",
    "testConnection": "测试",
    "toolsTitle": "MCP 工具（{{count}}）",
    "toolsSummary": "发现 {{count}} 个工具",
    "toolsLoading": "正在获取工具列表…",
    "toolsEmpty": "该服务器未返回任何工具。",
    "viewAllTools": "查看全部",
    "toolsDialogTitle": "MCP 工具列表",
    "toolsDialogSubtitle": "{{serverId}} · 共 {{count}} 个工具",
    "toolsDialogSearchPlaceholder": "按名称或描述搜索…",
    "toolsDialogSearchEmpty": "没有匹配的工具。",
    "toolsDialogClose": "关闭",
    "disableHint": "若需禁止某 Agent 使用 MCP，在 Agent 默认或单个 Agent 的 tools.disable 中加入 bundle-mcp。",
    "transportLabels": {
      "stdio": "stdio",
      "sse": "SSE",
      "streamable-http": "Streamable HTTP"
    }
  }
}
