const zhCN = {
  // ── Common ──────────────────────────────────────────────
  save: '保存',
  cancel: '取消',
  delete: '删除',
  confirm: '确认',
  edit: '编辑',
  create: '创建',
  search: '搜索',
  loading: '加载中...',
  close: '关闭',
  back: '返回',
  copy: '复制',
  refresh: '刷新',
  export: '导出',
  noData: '暂无数据',
  confirmDelete: '确认删除',
  operationSuccess: '操作成功',
  operationFailed: '操作失败',
  optional: '(可选)',
  viewDetails: '查看详情',
  start: '启动',
  stop: '停止',
  restart: '重启',
  actions: '操作',
  description: '描述',
  name: '名称',
  status: '状态',
  version: '版本',
  submit: '提交',
  reset: '重置',
  add: '添加',
  remove: '移除',
  all: '全部',
  install: '安装',
  uninstall: '卸载',
  upgrade: '升级',
  publish: '发布',
  default: '默认',
  custom: '自定义',
  enabled: '启用',
  disabled: '禁用',
  failed: '失败',
  success: '成功',
  denied: '拒绝',
  unsaved: '未保存',
  saved: '已保存',
  undo: '撤销',
  none: '无',

  // ── Time ────────────────────────────────────────────────
  'time.justNow': '刚刚',
  'time.minutesAgo': '{n} 分钟前',
  'time.hoursAgo': '{n} 小时前',
  'time.daysAgo': '{n} 天前',
  'time.uptimeDaysHours': '{d} 天 {h} 小时',
  'time.uptimeHoursMinutes': '{h} 小时 {m} 分钟',
  'time.uptimeMinutes': '{m} 分钟',

  // ── Nav ─────────────────────────────────────────────────
  'nav.workspace': '工作台',
  'nav.dashboard': '仪表盘',
  'nav.chat': '对话',
  'nav.management': '管理',
  'nav.instances': '实例管理',
  'nav.agents': 'Agent 管理',
  'nav.skills': 'Skills 管理',
  'nav.toolbox': '工具箱',
  'nav.publicOpinion': '舆情监控',
  'nav.organization': '组织',
  'nav.users': '用户管理',
  'nav.departments': '部门管理',
  'nav.system': '系统',
  'nav.resources': '资源管理',
  'nav.logs': '审计日志',
  'nav.subtitle': '企业管理平台',
  'nav.profile': '个人信息',
  'nav.logout': '退出登录',
  'nav.logoutFailed': '退出登录失败',
  'nav.user': '用户',

  // ── Page Titles ─────────────────────────────────────────
  'page.dashboard': '仪表盘',
  'page.chat': '对话',
  'page.instances': '实例管理',
  'page.agents': 'Agent 管理',
  'page.skills': 'Skills 管理',
  'page.toolbox': '工具箱',
  'page.publicOpinion': '舆情监控',
  'page.users': '用户管理',
  'page.departments': '部门管理',
  'page.resources': '资源管理',
  'page.models': '模型管理',
  'page.approvals': '审批管理',
  'page.logs': '审计日志',
  'page.settings': '系统设置',
  'page.advancedConfig': '高级配置',
  'page.skillDetail': 'Skill 详情',

  // ── Theme ───────────────────────────────────────────────
  'theme.toggle': '切换主题',

  // ── Auth ────────────────────────────────────────────────
  'auth.loginTitle': '登录到 TeamClaw',
  'auth.loginSubtitle': '输入您的账号信息以继续',
  'auth.email': '邮箱地址',
  'auth.password': '密码',
  'auth.passwordPlaceholder': '输入密码',
  'auth.loggingIn': '登录中...',
  'auth.login': '登录',
  'auth.loginSuccess': '登录成功',
  'auth.loginFailed': '登录失败，请重试',
  'auth.networkError': '网络错误，请检查连接后重试',
  'auth.noAccount': '还没有账号？',
  'auth.registerNow': '立即注册',
  'auth.registerTitle': '创建账号',
  'auth.registerSubtitle': '填写以下信息注册 TeamClaw 账号',
  'auth.name': '姓名',
  'auth.namePlaceholder': '输入姓名',
  'auth.setPassword': '设置密码',
  'auth.confirmPassword': '确认密码',
  'auth.confirmPasswordPlaceholder': '再次输入密码',
  'auth.registering': '注册中...',
  'auth.register': '注册',
  'auth.registerSuccess': '注册成功',
  'auth.registerFailed': '注册失败，请重试',
  'auth.hasAccount': '已有账号？',
  'auth.loginNow': '立即登录',
  'auth.emailInvalid': '请输入有效的邮箱地址',
  'auth.passwordRequired': '请输入密码',
  'auth.nameMinLength': '姓名至少 2 个字符',
  'auth.passwordMinLength': '密码至少 8 位',
  'auth.passwordLowercase': '密码需包含小写字母',
  'auth.passwordUppercase': '密码需包含大写字母',
  'auth.passwordDigit': '密码需包含数字',
  'auth.confirmPasswordRequired': '请确认密码',
  'auth.passwordMismatch': '两次输入的密码不一致',
  'auth.strengthChars': '至少 8 位字符',
  'auth.strengthLowercase': '包含小写字母',
  'auth.strengthUppercase': '包含大写字母',
  'auth.strengthDigit': '包含数字',
  'auth.tagline': '企业级 OpenClaw\n管理平台',
  'auth.taglineDesc': '统一管理 Instances、Agents、Skills，赋能团队高效协作。',

  // ── Instance ────────────────────────────────────────────
  'instance.management': '实例管理',
  'instance.managementDesc': '管理和监控所有 OpenClaw 实例',
  'instance.create': '创建实例',
  'instance.createTitle': '创建实例',
  'instance.createDesc': '部署新的 OpenClaw 实例或连接已有 Gateway',
  'instance.dockerContainer': 'Docker 容器',
  'instance.externalGateway': '外部 Gateway',
  'instance.instanceName': '实例名称',
  'instance.nameHint': '只能包含字母、数字、下划线和连字符',
  'instance.dockerImage': 'Docker 镜像',
  'instance.dockerImageHint': '留空将使用默认镜像',
  'instance.modelConfig': '模型配置',
  'instance.customApiKey': '自定义 API Key',
  'instance.useGlobalKey': '默认使用资源管理中配置的默认模型供应商 / 模型',
  'instance.customApiKeyOverride': '自定义 API Key（覆盖默认）',
  'instance.advancedOptions': '高级选项',
  'instance.pullLatest': '拉取最新镜像',
  'instance.pullLatestHint': '从 Docker Hub 拉取最新版本，否则使用本地缓存',
  'instance.memoryLimit': '内存限制 (MB)',
  'instance.restartPolicy': '重启策略',
  'instance.gatewayToken': 'Gateway Token',
  'instance.gatewayTokenPlaceholder': '连接令牌',
  'instance.externalGatewayHint': '连接一个已运行的外部 OpenClaw Gateway 实例',
  'instance.createAndDeploy': '创建并部署',
  'instance.connect': '连接',
  'instance.createSuccess': '实例创建成功',
  'instance.dockerStarting': '容器已启动，正在连接 Gateway...',
  'instance.externalConnected': '已连接到外部 Gateway',
  'instance.createFailed': '创建失败',
  'instance.editTitle': '编辑实例',
  'instance.editDesc': '修改实例配置。留空 Token 字段则保持不变。',
  'instance.tokenKeepEmpty': '留空则保持不变',
  'instance.updateSuccess': '实例更新成功',
  'instance.updateFailed': '更新失败',
  'instance.deleteTitle': '删除实例',
  'instance.deleteCannotUndo': '此操作无法撤销',
  'instance.deleteConfirmMsg':
    '确定要删除实例 {name} 吗？此操作将停止容器、断开连接并永久删除记录。',
  'instance.deletedMsg': '实例 "{name}" 已删除',
  'instance.deleteFailed': '删除失败',
  'instance.noInstances': '暂无实例',
  'instance.noInstancesHint': '还没有创建任何 OpenClaw 实例。点击上方「创建实例」按钮开始。',
  'instance.online': '在线',
  'instance.offline': '离线',
  'instance.abnormal': '异常',
  'instance.statusRunning': '运行中',
  'instance.statusStopped': '已停止',
  'instance.statusDegraded': '异常',
  'instance.statusError': '错误',
  'instance.statusInitializing': '初始化中',
  'instance.statusStarting': '启动中',
  'instance.statusStopping': '停止中',
  'instance.tableName': '实例名称',
  'instance.tableStatus': '状态',
  'instance.tableSessions': '会话',
  'instance.tableVersion': '版本',
  'instance.tableLastCheck': '最近检查',
  'instance.tableConsole': '控制台',
  'instance.tableConnectionAddr': '连接地址',
  'instance.overviewTab': '概览',
  'instance.logsTab': '日志',
  'instance.openConsole': '打开 OpenClaw 控制台',
  'instance.openConfigEditor': '打开配置编辑器',
  'instance.connectionAddr': '连接地址',
  'instance.image': '镜像',
  'instance.containerId': '容器 ID',
  'instance.externalManaged': '外部管理',
  'instance.createdAt': '创建时间',
  'instance.lastCheck': '最近检查',
  'instance.healthStatus': '健康状态',
  'instance.checking': '检查中…',
  'instance.normal': '正常',
  'instance.uptime': '运行时间',
  'instance.sessionCount': '会话数',
  'instance.noHealthData': '无健康数据',
  'instance.cannotOpenConsole': '无法打开控制台',
  'instance.logsRecent': '最近 300 行',
  'instance.logsError': '无法获取日志',
  'instance.noLogs': '暂无日志',
  'instance.productionMain': '生产环境主实例',

  // ── Agent ───────────────────────────────────────────────
  'agent.management': 'Agent 管理',
  'agent.managementDesc': '查看和管理所有实例中的 AI Agent',
  'agent.createAgent': '创建 Agent',
  'agent.createTitle': '创建 Agent',
  'agent.createDesc': '在指定实例上创建一个新的 Agent',
  'agent.targetInstance': '目标实例',
  'agent.selectInstance': '选择实例',
  'agent.agentIdHint': '只能包含小写字母、数字、连字符和下划线',
  'agent.visibilityScope': '可见范围',
  'agent.workspace': '工作目录',
  'agent.workspaceSuggest': '建议: {path}',
  'agent.workspaceHintAutoRecommend': '输入 Agent ID 后自动推荐工作目录',
  'agent.createdMsg': 'Agent "{name}" 创建成功',
  'agent.deleteTitle': '删除 Agent',
  'agent.deleteDesc': '此操作将从实例配置中移除该 Agent',
  'agent.deleteConfirmMsg':
    '确定要删除 Agent {name} 吗？该 Agent 的配置和工作目录将从实例 {instance} 中移除。',
  'agent.deletedMsg': 'Agent "{name}" 已删除',
  'agent.noAgents': '暂无 Agent',
  'agent.noAgentsHint':
    '当前没有可用的 Agent。请确保至少有一个实例已连接，或点击上方「创建 Agent」添加新的 Agent。',
  'agent.total': '总计',
  'agent.instances': '实例',
  'agent.allCategories': '全部分类',
  'agent.allInstances': '全部实例',
  'agent.categoryDefault': '全局',
  'agent.categoryDepartment': '部门',
  'agent.categoryPersonal': '个人',
  'agent.categoryDefaultDesc': '所有用户可见',
  'agent.categoryDepartmentDesc': '仅本部门用户可见',
  'agent.categoryPersonalDesc': '仅自己可见',
  'agent.isDefault': '默认',
  'agent.cloneTitle': '复制 Agent',
  'agent.cloneDesc': '将 Agent 配置和文件复制到其他实例',
  'agent.sourceAgent': '源 Agent',
  'agent.cloneToInstance': '复制到其他实例',
  'agent.noOtherInstances': '没有其他可用实例。请先连接其他实例。',
  'agent.selectTargetInstance': '选择目标实例',
  'agent.newAgentId': '新 Agent ID',
  'agent.agentIdValidation': '只能包含小写字母、数字、连字符和下划线，且以字母或数字开头',
  'agent.copyWorkFiles': '复制工作文件',
  'agent.copyWorkFilesDesc': '将源 Agent 工作目录中的文件复制到目标',
  'agent.clonedMsg': 'Agent "{name}" 复制成功{files}',
  'agent.withFiles': '（含工作文件）',
  'agent.clone': '复制',
  'agent.cloneFailed': '复制失败',
  'agent.defaultsTitle': 'Agent 默认配置',
  'agent.defaultsInstance': '实例: {name}',
  'agent.modelConfig': '模型配置',
  'agent.primaryModel': '主模型',
  'agent.thinkingMode': '思考模式',
  'agent.notSet': '未设置',
  'agent.sandboxConfig': '沙箱配置',
  'agent.sandboxMode': '模式',
  'agent.sandboxScope': '范围',
  'agent.workspacePermission': '工作目录权限',
  'agent.rwReadWrite': 'rw (读写)',
  'agent.roReadOnly': 'ro (只读)',
  'agent.toolsConfig': '工具配置',
  'agent.allowTools': '允许工具',
  'agent.denyTools': '禁用工具',
  'agent.subAgent': '子 Agent',
  'agent.subAgentModel': '模型',
  'agent.maxConcurrency': '最大并发',
  'agent.sessionConfig': '会话配置',
  'agent.dmScope': 'DM 范围',
  'agent.bootstrapMaxChars': 'Bootstrap 最大字符数',
  'agent.saveDefaults': '保存默认配置',
  'agent.defaultsUpdated': '默认配置已更新',
  'agent.classifyTitle': '修改分类',
  'agent.selectCategory': '选择分类',
  'agent.categoryUpdated': '分类已更新',
  'agent.overviewTab': '概览',
  'agent.editInConfigEditor': '在配置编辑器中编辑',
  'agent.defaultValue': '默认',
  'agent.modelSection': '模型',
  'agent.sandboxSection': '沙箱',
  'agent.toolsSection': '工具',
  'agent.sessionSection': '会话',
  'agent.notConfigured': '未配置',
  'agent.filesTab': '文件',
  'agent.cannotLoadDetails': '无法加载 Agent 详情',
  'agent.workspaceLabel': '工作目录',
  'agent.primaryModelLabel': '主模型',
  'agent.sandboxModeLabel': '沙箱模式',
  'agent.subAgentConcurrency': '子 Agent 并发',
  'agent.dmScopeLabel': 'DM 范围',
  'agent.featureTags': '特性标签',
  'agent.isDefaultAgent': '默认 Agent',
  'agent.thinkingLabel': '思考: {mode}',
  'agent.allowToolsCount': '{n} 个允许工具',
  'agent.denyToolsCount': '{n} 个禁用工具',
  'agent.bindingsCount': '{n} 个路由绑定',
  'agent.fileContentEmpty': '文件内容为空',
  'agent.unsavedChanges': '有未保存的修改',
  'agent.quickCreate': '快捷创建',
  'agent.parentDir': '上级目录',
  'agent.dirEmpty': '目录为空',
  'agent.fileCreatedMsg': '{name} 已创建',
  'agent.fileSaved': '文件已保存',
  'agent.fileSaveFailed': '保存失败',
  // Agent file descriptions
  'agent.fileAgentsMd': '操作指令与行为规则',
  'agent.fileSoulMd': '人格、语气与边界',
  'agent.fileMemoryMd': '长期记忆',
  'agent.fileIdentityMd': '名称、表情与风格',
  'agent.fileUserMd': '用户身份偏好',
  'agent.fileToolsMd': '工具说明文档',
  'agent.fileHeartbeatMd': '心跳检查清单',
  'agent.fileBootMd': '启动仪式清单',

  // ── Chat ────────────────────────────────────────────────
  'chat.title': '对话',
  'chat.welcome': 'TeamClaw 对话',
  'chat.welcomeHint': '从左侧选择一个 Agent 开始对话',
  'chat.selectAgentHint': '选择 Agent 开始对话',
  'chat.agents': 'Agents',
  'chat.recentSessions': '最近会话',
  'chat.noSessions': '暂无会话记录',
  'chat.sessionDeleted': '会话已删除',
  'chat.noAgents': '暂无可用的 Agent',
  'chat.newConversation': '新对话',
  'chat.newConversationTitle': '新对话',
  'chat.newConversationDesc': '确定要开启新对话吗？当前对话将保存到历史记录。',
  'chat.confirmCreate': '确认创建',
  'chat.newConversationCreated': '已创建新对话',
  'chat.newConversationFailed': '创建新对话失败',
  'chat.clearContext': '清空上下文',
  'chat.clearContextTitle': '清空上下文',
  'chat.clearContextDesc':
    '当前消息将保存为历史快照，AI 将从空白上下文重新开始。对话记录不会丢失。',
  'chat.confirmClear': '确认清空',
  'chat.contextCleared': '上下文已清空',
  'chat.clearContextFailed': '清空上下文失败',
  'chat.runtimeLabel': '运行时',
  'chat.runtimeOpenclaw': 'OpenClaw',
  'chat.runtimePi': 'pi',
  'chat.runtimeNormal': '普通',
  'chat.runtimeFast': '快速',
  'chat.modelLabel': '当前模型',
  'chat.piUnavailable': 'pi 运行时不可用',
  'chat.piConnectionLost': 'Pi Agent 连接已中断',
  'chat.inputPlaceholder': '输入消息…',
  'chat.uploadFile': '上传文件',
  'chat.kbMount': '挂载知识库',
  'chat.kbUnmount': '卸载',
  'chat.kbSelectorPlaceholder': '搜索知识库...',
  'chat.kbCount': '{n} 个知识库',
  'chat.kbSources': '来源',
  'chat.pdfPreview.title': 'PDF 预览',
  'chat.pdfPreview.page': '第 {n} 页',
  'chat.pdfPreview.openHint': '点击查看该页',
  'chat.pdfPreview.loadFailed': 'PDF 加载失败',
  'chat.pdfPreview.loading': '正在加载 PDF…',
  'chat.kbNoResults': '未找到相关知识',
  'chat.kbSearchFailed': '知识库查询失败',
  'chat.kbMaxReached': '最多 {n} 个知识库',
  'chat.kbEmpty': '没有可用的知识库',
  'chat.kbAutoRules': '规则库（自动）',
  'chat.kbCategoryFilter': '分类',
  'chat.fileTooLarge': '文件 "{name}" 超过大小限制（{limit}）',
  'chat.maxAttachments': '最多只能上传 5 个附件',
  'chat.attachment': '(附件)',
  'chat.thinking': '思考过程',
  'chat.thinkingN': '思考 ×{n}',
  'chat.toolInput': '输入',
  'chat.toolOutput': '输出',
  'chat.processSteps': '{n} 个步骤',
  'chat.queued': '已排队',
  'chat.imageAlt': '图片',
  'chat.downloadImage': '下载图片',
  'chat.contextRestart': 'AI 上下文从此处重新开始',
  'chat.contextReset': '上下文已重置',
  'chat.loadingHistory': '加载历史消息…',
  'chat.gatewayUnreachable': 'Gateway 连接中断，请刷新页面重试。',
  'chat.sessionLost': '会话已过期（Gateway 重启），历史消息已保留在下方。',
  'chat.sessionRetry': '重试',
  'chat.sessionNewConversation': '新建会话',
  'chat.department': '部门',
  'chat.personal': '个人',
  'chat.onlineStatus': '在线',
  'chat.export': '导出',
  'chat.exportMode': '导出模式',
  'chat.exportPdf': '导出 PDF',
  'chat.exportPng': '导出 PNG',
  'chat.exportCancel': '取消导出',
  'chat.exportSelected': '已选 {n} 条',
  'chat.exportGenerating': '正在生成…',
  'chat.exportDonePng': 'PNG 已下载！',
  'chat.exportDonePdf': 'PDF 已下载！',
  'chat.exportFailed': '失败：',
  'chat.exportFooter': '@TeamClaw AI生成，仅供参考',

  // ── Skill ───────────────────────────────────────────────
  'skill.management': 'Skills 管理',
  'skill.managementDesc': '管理可用的技能插件，为 Agent 扩展功能',
  'skill.createSkill': '创建 Skill',
  'skill.createTitle': '创建 Skill',
  'skill.createDesc': '创建本地 Skill、导入本地文件夹或从 ClawHub 拉取',
  'skill.localCreate': '本地创建',
  'skill.localImport': '本地导入',
  'skill.clawHubPull': 'ClawHub 拉取',
  'skill.skillName': '名称',
  'skill.skillNamePlaceholder': '我的技能',
  'skill.icon': '图标',
  'skill.clearIcon': '清除',
  'skill.slugHint': '小写字母、数字、连字符和下划线，用作目录名和 URL',
  'skill.descriptionLabel': '描述',
  'skill.descriptionPlaceholder': '描述这个 Skill 的功能...',
  'skill.tags': '标签',
  'skill.tagsPlaceholder': '输入标签后按回车',
  'skill.addTag': '添加',
  'skill.selectDepartment': '选择部门',
  'skill.noDeptAutoAssign': '不选择则自动归属您所在的部门',
  'skill.createdMsg': 'Skill "{name}" 创建成功',
  'skill.importFolder': '选择 Skill 文件夹',
  'skill.importFolderHint': '选择包含 SKILL.md 的标准 Skill 文件夹',
  'skill.chooseFolder': '选择文件夹',
  'skill.importFolderReady': '已读取文件夹 "{name}"',
  'skill.importFolderSummary': '{count} 个文件，约 {size} KB',
  'skill.importSkillMdFound': '已找到入口文档',
  'skill.importButton': '导入',
  'skill.importedMsg': 'Skill "{name}" 导入成功',
  'skill.importMissingSkillMd': '导入文件夹根目录必须包含 SKILL.md',
  'skill.importTooManyFiles': '文件数量过多，最多 {count} 个',
  'skill.importTooLarge': '文件夹过大，请控制在 20 MB 以内',
  'skill.importReadFailed': '读取文件夹失败',
  'skill.directPull': '直接拉取',
  'skill.directPullPlaceholder': 'owner/skill-name 或 ClawHub URL',
  'skill.pull': '拉取',
  'skill.directPullHint':
    '例如: ChocomintX/xiaohongshutools 或 https://clawhub.ai/ChocomintX/xiaohongshutools',
  'skill.orSearch': '或搜索',
  'skill.searchPlaceholder': '搜索关键词或粘贴 ClawHub 链接...',
  'skill.searchButton': '搜索',
  'skill.searchHint': '输入关键词搜索或直接粘贴 ClawHub 链接拉取',
  'skill.searchNoResult': '搜索未找到结果，可尝试下方直接拉取',
  'skill.searchNoMatch': '未找到匹配的 Skill',
  'skill.searchFailed': '搜索失败',
  'skill.pulledMsg': 'Skill "{name}" 拉取成功',
  'skill.pullFailed': '拉取失败',
  'skill.editTitle': '编辑 Skill 信息',
  'skill.editDesc': '修改名称、Slug、描述、图标和标签',
  'skill.slugChangeWarning': '修改 Slug 会重命名文件目录: {from} → {to}',
  'skill.updatedMsg': 'Skill 信息已更新',
  'skill.publishTitle': '发布新版本',
  'skill.publishCurrentVersion': '当前版本: v{version}',
  'skill.versionNumber': '版本号',
  'skill.versionHint': '使用 x.y.z 语义化版本格式',
  'skill.changelog': '变更日志',
  'skill.changelogPlaceholder': '描述这个版本的变更内容...',
  'skill.publishButton': '发布',
  'skill.publishedMsg': '版本 v{version} 发布成功',
  'skill.publishFailed': '发布失败',
  'skill.installTitle': '安装 Skill',
  'skill.installDesc': '将 {name} (v{version}) 安装到 Agent',
  'skill.targetInstance': '目标实例',
  'skill.targetAgent': '目标 Agent',
  'skill.selectAgent': '选择 Agent',
  'skill.selectInstanceFirst': '请先选择实例',
  'skill.installPath': '安装路径',
  'skill.installWorkspace': '工作目录',
  'skill.installWorkspaceHint': '仅在工作区内生效',
  'skill.installGlobal': '全局',
  'skill.installGlobalHint': '对该 Agent 全局生效',
  'skill.installedMsg': 'Skill "{name}" 安装成功',
  'skill.installFailed': '安装失败',
  'skill.envVarsRequired':
    '此 Skill 需要配置环境变量才能运行：{vars}。请到 OpenClaw 实例上执行 "{cmd}" 配置。',
  'skill.setApiKey': '设置 API Key',
  'skill.apiKeySaved': 'API Key 已保存',
  'skill.noSkills': '暂无 Skill',
  'skill.noSkillsHint':
    '还没有创建任何 Skill。点击上方「创建 Skill」开始构建自定义技能，或从 ClawHub 拉取社区技能。',
  'skill.total': '总计',
  'skill.installed': '已安装',
  'skill.searchSkills': '搜索 Skill...',
  'skill.allCategories': '全部分类',
  'skill.allSources': '全部来源',
  'skill.sourceLocal': '本地',
  'skill.sourceInstance': '实例',
  'skill.departmentCount': '{n} 个部门',
  'skill.infoTab': '信息',
  'skill.installTab': '安装',
  'skill.hasNewVersion': '有新版本 v{version}',
  'skill.upToDate': '已是最新',
  'skill.checkUpdate': '检查更新',
  'skill.upgradeCount': '升级({n})',
  'skill.editButton': '编辑',
  'skill.publishVersion': '发布版本',
  'skill.selectFileToEdit': '选择文件开始编辑',
  'skill.unsavedIndicator': '● 未保存',
  'skill.fileSaved': '文件已保存',
  'skill.fileSaveFailed': '保存失败',
  'skill.files': '文件',
  'skill.backToRoot': '← 返回根目录',
  'skill.filenamePlaceholder': '文件名...',
  'skill.fileCreated': '文件 {name} 已创建',
  'skill.cannotDeleteSkillMd': 'SKILL.md 不能删除',
  'skill.fileDeleted': '{name} 已删除',
  'skill.notInstalledYet': '尚未安装到任何 Agent',
  'skill.upgradeAvailable': '{n} 个安装可升级至 v{version}',
  'skill.uninstalledMsg': '已从 {name} 卸载',
  'skill.uninstallFailed': '卸载失败',
  'skill.upgradedMsg': '已升级 {name} 上的安装',
  'skill.upgradeFailed': '升级失败',
  'skill.basicInfo': '基本信息',
  'skill.creator': '创建者',
  'skill.createdTime': '创建时间',
  'skill.lastUpdated': '最后更新',
  'skill.installCount': '安装数',
  'skill.category': '分类',
  'skill.belongDepartment': '所属部门',
  'skill.notAssigned': '未分配',
  'skill.editDepartment': '编辑',
  'skill.versionHistory': '版本历史',
  'skill.selectDepartments': '选择所属部门',
  'skill.noDepartments': '暂无部门',
  'skill.departmentsUpdated': '所属部门已更新',
  'skill.departmentsUpdateFailed': '更新部门失败',
  'skill.categoryUpdatedMsg': '分类已更新为「{name}」',
  'skill.categoryUpdateFailed': '更新分类失败',

  // ── Resource ────────────────────────────────────────────
  'resource.management': '资源管理',
  'resource.managementDesc': '管理 API 凭据和工具访问权限',
  'resource.addResource': '添加资源',
  'resource.tabAll': '全部',
  'resource.tabModel': '模型',
  'resource.tabTool': '工具',
  'resource.searchResources': '搜索资源...',
  'resource.noResources': '暂无资源',
  'resource.noResourcesHint': '添加 API 凭据来管理模型和工具的访问权限',
  'resource.typeModel': '模型',
  'resource.typeTool': '工具',
  'resource.statusActive': '正常',
  'resource.statusUntested': '未测试',
  'resource.statusError': '异常',
  'resource.createTitle': '添加资源',
  'resource.resourceName': '名称',
  'resource.resourceNamePlaceholder': '例如：Anthropic 生产 Key',
  'resource.apiType': 'API 类型',
  'resource.selectApiType': '选择 API 类型',
  'resource.apiTypeDefault': '默认: {type}',
  'resource.apiUrl': 'API 地址',
  'resource.apiUrlDefault': '默认: {url}',
  'resource.baseUrlHint.zai':
    'Coding Plan: /api/coding/paas/v4（默认）| 按量计费: /api/paas/v4（需账户余额）',
  'resource.envVarName': '环境变量名',
  'resource.descriptionOptional': '描述（可选）',
  'resource.descriptionPlaceholder': '备注信息...',
  'resource.setDefault': '设为默认',
  'resource.setDefaultHint': '同类型同 Provider 仅允许一个默认资源',
  'resource.loadingInstances': '加载实例列表...',
  'resource.pushModel': '推送到实例',
  'resource.pushModelTitle': '推送模型到实例',
  'resource.pushModelDesc': '把 {model} 推送到所选实例的所选运行时',
  'resource.pushModelTargetLabel': '运行时目标',
  'resource.pushModelTargetOpenClaw': 'OpenClaw',
  'resource.pushModelTargetOpenClawHint': '更新 OpenClaw Provider 配置和所选模型角色',
  'resource.pushModelTargetPi': 'Pi',
  'resource.pushModelTargetPiHint': '更新 Pi Provider 配置，并作为新 Pi 会话默认模型',
  'resource.pushModelInstancesLabel': '目标实例',
  'resource.pushModelRoleLabel': '在实例上的角色',
  'resource.pushModelRolePrimary': '主用模型 (primary)',
  'resource.pushModelRolePrimaryHint': '直接覆盖现有 primary 字段',
  'resource.pushModelRoleFallbacks': '降级模型 (fallbacks)',
  'resource.pushModelRoleFallbacksHint': '追加到现有 fallbacks 链，不重复',
  'resource.pushModelRoleImageModel': '图像理解模型 (imageModel)',
  'resource.pushModelRoleImageModelHint': '直接覆盖 imageModel.primary',
  'resource.pushModelRoleImageGen': '图像生成模型 (imageGenerationModel)',
  'resource.pushModelRoleImageGenHint': '直接覆盖 imageGenerationModel.primary',
  'resource.pushModelInstancesEmpty': '没有可用实例',
  'resource.pushModelSelectAtLeastOne': '至少选择一个目标实例',
  'resource.pushModelSelectAtLeastOneTarget': '至少选择一个运行时目标',
  'resource.pushModelSubmit': '推送',
  'resource.pushModelSuccess': '推送成功（{count} 个实例）',
  'resource.pushModelPartial': '部分推送成功：{success} 成功 / {failed} 失败',
  'resource.pushModelAllFailed': '推送全部失败',
  'resource.presetModels': '预置模型',
  'resource.manageModelsLater': '创建后可在详情页管理模型定义',
  'resource.createSuccess': '资源创建成功',
  'resource.editTitle': '编辑资源',
  'resource.apiKeyKeepEmpty': 'API Key（留空保持不变）',
  'resource.apiKeyKeepPlaceholder': '留空保持当前 Key',
  'resource.currentKey': '当前: {key}',
  'resource.apiUrlOptional': 'API 地址（可选）',
  'resource.updateSuccess': '资源更新成功',
  'resource.deleteTitle': '删除资源',
  'resource.deleteConfirmMsg': '确定要删除资源 {name} 吗？此操作无法撤销。',
  'resource.deletedMsg': '资源已删除',
  'resource.selectProvider': '选择 Provider',
  'resource.providerModels': '大模型',
  'resource.providerTools': '工具',
  'resource.modelDefinitions': '模型定义',
  'resource.modelDefinitionsDesc': '管理此资源可用的模型及其参数',
  'resource.addModel': '添加模型',
  'resource.variant': '区域 / 套餐',
  'resource.variantPlaceholder': '选择区域或套餐',
  'resource.variantHint': '端点: {url}',
  'resource.syncFromModelsDev': '从 models.dev 同步',
  'resource.syncFromModelsDevHint': '从 models.dev 拉取该 provider 的模型目录并合并进本资源',
  'resource.modelsDevSynced': '已从 models.dev 同步 {count} 个模型',
  'resource.modelsDevEmpty': 'models.dev 上没有找到这个 provider 的模型',
  'resource.noModels': '暂无模型定义',
  'resource.addFirstModel': '添加第一个模型',
  'resource.modelsUpdated': '模型列表已更新',
  'resource.setAsDefaultModel': '设为新实例默认模型',
  'resource.defaultModelActive': '已设为新实例默认模型（点击取消）',
  'resource.defaultModelSet': '已将 {name} 设为新实例默认模型',
  'resource.defaultModelCleared': '已取消默认模型',
  'resource.modelExists': '模型 {id} 已存在',
  'resource.editModel': '编辑模型',
  'resource.addModelTitle': '添加模型',
  'resource.modelId': '模型 ID *',
  'resource.modelIdPlaceholder': '例如: claude-opus-4-6',
  'resource.modelDisplayName': '显示名称',
  'resource.modelDisplayNamePlaceholder': '例如: Claude Opus 4.6',
  'resource.reasoningModel': '推理模型',
  'resource.inputType': '输入类型',
  'resource.costPerMillion': '费用（$/百万 Token）',
  'resource.costInput': '输入 (input)',
  'resource.costOutput': '输出 (output)',
  'resource.costCacheRead': '缓存读取（可选）',
  'resource.costCacheWrite': '缓存写入（可选）',
  'resource.contextWindow': '上下文窗口',
  'resource.maxOutput': '最大输出',
  'resource.credentialInfo': '凭据信息',
  'resource.credentialDesc': '加密存储的 API 凭据',
  'resource.envVar': '环境变量',
  'resource.statusInfo': '状态信息',
  'resource.statusDesc': '连接测试与元数据',
  'resource.lastTest': '最近测试',
  'resource.notTested': '未测试',
  'resource.errorInfo': '错误信息',
  'resource.creatorLabel': '创建者',
  'resource.createdAtLabel': '创建时间',
  'resource.testConnection': '测试连接',
  'resource.testing': '测试中...',
  'resource.testPassed': '测试通过',
  'resource.retest': '重新测试',
  'resource.testSuccessMsg': '连接成功 ({ms}ms)',
  'resource.testModelsMsg': '{n} 个模型',
  'resource.testMultimodalMsg': '（{n} 个支持多模态）',
  'resource.testFailedMsg': '连接失败: {error}',
  'resource.testRequestFailed': '测试请求失败',
  'resource.reasoning': '推理',
  'resource.isDefault': '默认',

  // ── Config Editor ───────────────────────────────────────
  'config.modules': '模块',
  'config.other': '其他',
  'config.requiresRestart': '修改后需重启',
  'config.jsonError': 'JSON 错误',
  'config.instanceManagement': '实例管理',
  'config.advancedConfig': '高级配置',
  'config.unsavedChanges': '未保存的变更',
  'config.unsavedDesc': '配置已修改但尚未保存到实例',
  'config.resetButton': '重置',
  'config.validateButton': '检查配置',
  'config.validationResult': '配置检查结果',
  'config.issuesFound': '发现 {n} 个问题',
  'config.saveChanges': '保存变更',
  'config.selectModule': '选择左侧模块开始编辑',
  'config.needsRestart': '需重启',
  'config.selectModel': '选择模型...',
  'config.searchModel': '搜索模型...',
  'config.loadingModels': '加载中...',
  'config.noMatchingModel': '未找到匹配模型',
  'config.customInput': '自定义',
  'config.confirmButton': '确定',
  'config.manualInput': '手动输入 provider/model',
  'config.clearButton': '清除',
  'config.addFallback': '添加备选模型...',
  'config.fallbackModels': '备选模型（主模型不可用时按顺序尝试）',
  'config.addButton': '添加',
  'config.multimodal': '多模态',
  'config.verified': '已验证',
  'config.untested': '未测试',
  'config.legacy': '旧版',
  'config.connectionError': '连接错误',
  'config.minimum': '最小: {n}',
  'config.maximum': '最大: {n}',
  'config.envVarHint': '建议使用环境变量引用，如 {example}',
  'config.otherSettings': '其他设置',
  'config.removeField': '移除此字段',
  'config.removeBlock': '移除此配置块',
  'config.newKeyPlaceholder': '新建键名...',
  'config.addItem': '添加项目',
  'config.enterToAdd': '输入后按 Enter 添加...',
  'config.channelNamePlaceholder': '输入通道名称（如 telegram, discord）...',
  'config.addChannel': '添加通道',
  'config.simpleMode': '简单',
  'config.advancedMode': '高级',

  // ── Dashboard ───────────────────────────────────────────
  'dashboard.totalInstances': '实例总数',
  'dashboard.onlineCount': '{n} 在线',
  'dashboard.offlineCount': '{n} 离线',
  'dashboard.activeSessions': '活跃会话',
  'dashboard.totalSessions': '{n} 累计',
  'dashboard.resourceStatus': '资源状态',
  'dashboard.apiKeys': 'API 密钥',
  'dashboard.totalUsers': '用户总数',
  'dashboard.activeUsers': '{n} 近7日活跃',
  'dashboard.skillsStats': 'Skills 统计',
  'dashboard.created': '已创建',
  'dashboard.instanceHealth': '实例健康',
  'dashboard.noInstanceData': '暂无实例数据',
  'dashboard.last60s': '最近 60s',
  'dashboard.sessions': '会话',
  'dashboard.providerUsage': 'Provider 用量分布',
  'dashboard.today': '今日',
  'dashboard.recentActivity': '最近操作',
  'dashboard.realtime': '实时',
  'dashboard.noActivity': '暂无操作记录',
  // Dashboard action labels
  'dashboard.action.LOGIN': '登录系统',
  'dashboard.action.LOGOUT': '退出登录',
  'dashboard.action.AUTH_REFRESH': '刷新令牌',
  'dashboard.action.INSTANCE_CREATE': '创建实例',
  'dashboard.action.INSTANCE_UPDATE': '更新实例',
  'dashboard.action.INSTANCE_DELETE': '删除实例',
  'dashboard.action.INSTANCE_START': '启动实例',
  'dashboard.action.INSTANCE_STOP': '停止实例',
  'dashboard.action.INSTANCE_RESTART': '重启实例',
  'dashboard.action.INSTANCE_CONFIG_PATCH': '修改配置',
  'dashboard.action.INSTANCE_DASHBOARD': '访问控制台',
  'dashboard.action.USER_CREATE': '创建用户',
  'dashboard.action.USER_UPDATE': '更新用户',
  'dashboard.action.USER_DELETE': '禁用用户',
  'dashboard.action.RESOURCE_CREATE': '创建资源',
  'dashboard.action.RESOURCE_UPDATE': '更新资源',
  'dashboard.action.RESOURCE_DELETE': '删除资源',
  'dashboard.action.RESOURCE_TEST': '测试连接',
  'dashboard.action.AGENT_CLASSIFY': '分类智能体',
  'dashboard.action.SKILL_CREATE': '创建 Skill',
  'dashboard.action.SKILL_UPDATE': '更新 Skill',
  'dashboard.action.SKILL_DELETE': '删除 Skill',
  'dashboard.action.SKILL_INSTALL': '安装 Skill',
  // Dashboard resource type labels
  'dashboard.resource.instance': '实例',
  'dashboard.resource.user': '用户',
  'dashboard.resource.resource': '资源',
  'dashboard.resource.agent': '智能体',
  'dashboard.resource.skill': 'Skill',
  'dashboard.resource.auth': '认证',
  'dashboard.resource.config': '配置',
  'dashboard.resource.department': '部门',
  // Dashboard instance status labels
  'dashboard.statusOnline': '在线',
  'dashboard.statusOffline': '离线',
  'dashboard.statusDegraded': '异常',
  'dashboard.statusError': '错误',
  // Dashboard result labels
  'dashboard.resultFailure': '失败',
  'dashboard.resultDenied': '拒绝',

  // ── Audit ───────────────────────────────────────────────
  'audit.searchPlaceholder': '搜索操作详情...',
  'audit.exportCsv': '导出 CSV',
  'audit.noData': '暂无审计日志数据',
  'audit.time': '时间',
  'audit.operator': '操作者',
  'audit.actionType': '操作类型',
  'audit.resourceCol': '资源',
  'audit.details': '详情',
  'audit.ipAddress': 'IP 地址',
  'audit.result': '结果',
  'audit.resultSuccess': '成功',
  'audit.resultFailure': '失败',
  'audit.showing': '显示',
  'audit.totalRecords': '条，共 {n} 条记录',
  // Audit filter options
  'audit.filterAllActions': '全部操作',
  'audit.filterLogin': '登录',
  'audit.filterLogout': '登出',
  'audit.filterUserCreate': '创建用户',
  'audit.filterUserUpdate': '更新用户',
  'audit.filterUserDelete': '删除用户',
  'audit.filterPasswordReset': '重置密码',
  'audit.filterInstanceCreate': '创建实例',
  'audit.filterInstanceUpdate': '更新实例',
  'audit.filterInstanceDelete': '删除实例',
  'audit.filterInstanceStart': '启动实例',
  'audit.filterInstanceStop': '停止实例',
  'audit.filterAgentClassify': '分类 Agent',
  'audit.filterSkillCreate': '创建技能',
  'audit.filterSkillUpdate': '更新技能',
  'audit.filterSkillInstall': '安装技能',
  'audit.filterResourceCreate': '创建资源',
  'audit.filterResourceUpdate': '更新资源',
  'audit.filterResourceDelete': '删除资源',
  'audit.filterAllResources': '全部资源',
  'audit.filterAuth': '认证',
  'audit.filterUser': '用户',
  'audit.filterInstance': '实例',
  'audit.filterSkill': '技能',
  'audit.filterResource': '资源',
  'audit.filterDepartment': '部门',
  'audit.filterChat': '对话',
  'audit.filterAllResults': '全部结果',
  'audit.filterSuccess': '成功',
  'audit.filterFailure': '失败',
  'audit.filterDenied': '拒绝',

  // ── User ────────────────────────────────────────────────
  'user.management': '用户管理',
  'user.managementDesc': '管理平台用户，分配角色和权限',
  'user.searchUsers': '搜索用户...',
  'user.createUser': '新建用户',
  'user.createTitle': '新建用户',
  'user.createDesc': '创建新的平台用户账号',
  'user.emailLabel': '邮箱',
  'user.nameLabel': '姓名',
  'user.namePlaceholder': '用户姓名',
  'user.passwordLabel': '密码',
  'user.passwordPlaceholder': '至少8个字符，含大小写字母和数字',
  'user.roleLabel': '角色',
  'user.departmentLabel': '部门',
  'user.selectDepartment': '选择部门',
  'user.statusLabel': '状态',
  'user.roleSystemAdmin': '系统管理员',
  'user.roleDeptAdmin': '部门管理员',
  'user.roleUser': '普通用户',
  'user.statusActive': '正常',
  'user.statusDisabled': '已禁用',
  'user.createdMsg': '用户创建成功',
  'user.editTitle': '编辑用户',
  'user.editDesc': '修改用户 {name} 的信息',
  'user.updatedMsg': '用户更新成功',
  'user.deleteTitle': '禁用用户',
  'user.deleteDesc': '禁用后用户将无法登录',
  'user.deleteConfirmMsg': '确认禁用用户 {name} 吗？禁用后该用户将无法登录系统。',
  'user.deletedMsg': '用户 "{name}" 已禁用',
  'user.confirmDisable': '确认禁用',
  'user.resetPasswordTitle': '重置密码',
  'user.resetPasswordDesc': '为用户 {name} 设置新密码',
  'user.newPassword': '新密码',
  'user.passwordHint': '密码至少8个字符，需包含大写字母、小写字母和数字',
  'user.confirmReset': '确认重置',
  'user.passwordResetMsg': '用户 "{name}" 的密码已重置',
  'user.resetFailed': '重置失败',
  'user.resetPassword': '重置密码',
  'user.disable': '禁用',
  'user.self': '(本人)',
  'user.noUsers': '暂无用户',
  'user.noUsersHint': '还没有创建任何用户。点击上方「新建用户」按钮开始。',
  'user.tableUser': '用户',
  'user.tableEmail': '邮箱',
  'user.tableRole': '角色',
  'user.tableDepartment': '部门',
  'user.tableStatus': '状态',
  'user.createFailed': '创建失败',
  'user.updateFailed': '更新失败',
  'user.statusDisabledShort': '禁用',

  // ── Department ──────────────────────────────────────────
  'dept.management': '部门管理',
  'dept.managementDesc': '管理组织部门结构和实例访问权限',
  'dept.createDept': '新建部门',
  'dept.createTitle': '新建部门',
  'dept.createDesc': '创建一个新的组织部门',
  'dept.deptName': '部门名称',
  'dept.deptNamePlaceholder': '技术部',
  'dept.descriptionPlaceholder': '负责技术研发与运维',
  'dept.createdMsg': '部门创建成功',
  'dept.editTitle': '编辑部门',
  'dept.editDesc': '修改部门信息',
  'dept.updatedMsg': '部门更新成功',
  'dept.deleteTitle': '删除部门',
  'dept.deleteConfirmMsg': '确定要删除部门 {name} 吗？',
  'dept.deleteHasMembers': '该部门下还有 {n} 名成员，删除前请先将成员移出。',
  'dept.deletedMsg': '部门 "{name}" 已删除',
  'dept.noDepts': '暂无部门',
  'dept.noDeptsHint': '还没有创建任何部门。点击上方「新建部门」按钮开始。',
  'dept.deptCount': '部门',
  'dept.memberCount': '成员',
  'dept.accessCount': '授权',
  'dept.tableName': '部门名称',
  'dept.tableDesc': '描述',
  'dept.tableMemberCount': '成员数',
  'dept.tableAccessCount': '授权实例数',
  'dept.membersTab': '成员',
  'dept.accessTab': '权限',
  'dept.noMembers': '暂无成员',
  'dept.memberActive': '活跃',
  'dept.memberInactive': '未激活',
  'dept.memberDisabled': '已禁用',
  'dept.memberCountLabel': '{n} 人',
  'dept.loadFailed': '加载失败',
  'dept.grantAccess': '授权',
  'dept.grantAccessTitle': '授权实例访问',
  'dept.grantAccessDesc': '授权部门访问指定实例',
  'dept.selectInstanceLabel': '选择实例',
  'dept.selectInstancePlaceholder': '请选择实例',
  'dept.agentScope': 'Agent 访问范围',
  'dept.limitSpecificAgents': '限制特定 Agent',
  'dept.allAgentsAccess': '将允许访问该实例的所有 Agent',
  'dept.agentIdPlaceholder': '输入 Agent ID，回车添加',
  'dept.confirmGrant': '确认授权',
  'dept.grantSuccess': '实例授权成功',
  'dept.grantFailed': '授权失败',
  'dept.revokeTitle': '撤销授权',
  'dept.revokeDesc': '此操作将立即生效',
  'dept.revokeConfirmMsg': '确认撤销部门对实例 {name} 的访问权限？',
  'dept.confirmRevoke': '确认撤销',
  'dept.revokeSuccess': '已撤销授权',
  'dept.revokeFailed': '撤销失败',
  'dept.noAccess': '暂无实例授权',
  'dept.accessOnline': '在线',
  'dept.accessOffline': '离线',
  'dept.accessDegraded': '异常',
  'dept.accessError': '降级',
  'dept.agentCount': '{n} 个 Agent',
  'dept.allAgents': '所有 Agent',
  'dept.grantedBy': '授权人: {name}',
  'dept.deleteFailed': '删除失败',
  'dept.deleteCannotUndo': '此操作无法撤销',
  'dept.viewDetail': '查看详情',

  // ── Pages (remaining) ─────────────────────────────────
  'placeholder.comingSoon': '即将推出',
  'instance.starting': '实例启动中',
  'instance.stopped': '实例已停止',
  'instance.restarting': '实例正在重启',
  'instance.startFailed': '启动失败',
  'instance.stopFailed': '停止失败',
  'instance.restartFailed': '重启失败',
  'agent.connectionFailed': '以下实例连接失败：',
  'skill.deleteConfirmTitle': '确认删除',
  'skill.deleteConfirmMsg':
    '确定要删除 Skill「{name}」吗？此操作将删除所有文件和安装记录，且不可恢复。',
  'skill.deletedMsg': 'Skill "{name}" 已删除',
  'skill.notFound': 'Skill 不存在',
  'resource.notFound': '资源不存在',
  'config.validationPassed': '配置检查通过，可以安全保存',
  'config.validationWarning': '发现 {n} 个配置问题，请检查后再保存',
  'config.noPendingChanges': '没有需要保存的变更',
  'config.saved': '配置已保存',
  'config.hashConflict': '配置冲突：配置已被其他用户修改，请刷新页面',
  'config.saveFailed': '保存失败',
  'config.rateLimited': '保存过于频繁，请 {sec} 秒后重试',
  'config.loadFailed': '加载配置编辑器失败',
  'config.ensureRunning': '请确保实例已启动且网关已连接',
  'page.modelsDesc': '配置和管理可用的 AI 模型，设置模型参数和访问策略。',
  'page.approvalsDesc': '查看和处理待审批的请求，管理审批流程和规则。',
  'page.settingsDesc': '配置平台全局参数，包括安全策略、集成和通知设置。',
  'page.publicOpinionDesc': '聚合关键词、来源和风险信号，后续可接入搜索、社媒和 RSS 数据源。',
  'page.toolboxDesc': '集合各类辅助工具，点击进入对应工具完成日常任务。',
  'toolbox.openTool': '打开工具',
  'toolbox.comingSoon': '即将推出',
  'toolbox.empty': '暂无可用工具',
  'toolbox.publicOpinion.title': '舆情监控',
  'toolbox.publicOpinion.desc': '聚合关键词、来源和风险信号，监控外部声誉与突发事件。',
  'toolbox.regulations.title': '法规追踪',
  'toolbox.regulations.desc': '挑选要追踪的知识库，系统生成 Wiki 风格条款摘要并维护更新清单。',
  'regulations.title': '法规追踪',
  'regulations.desc': '选择要跟踪的知识库，自动汇总条款摘要，并把后续更新整理成清单。',
  'regulations.addTracker': '新增追踪',
  'regulations.addTrackerDesc':
    '选择一个你能访问的知识库，加入追踪后系统会维护条款摘要与更新清单。',
  'regulations.pickKb': '选择知识库',
  'regulations.pickKbPlaceholder': '从你的知识库中选择…',
  'regulations.noAvailableKb': '暂无可追踪的知识库（可能已全部加入追踪）。',
  'regulations.empty': '还没有追踪任何知识库，点击右上角添加第一个吧。',
  'regulations.docs': '篇文档',
  'regulations.documentCount': '文档数量',
  'regulations.lastChecked': '上次查看',
  'regulations.latestUpdate': '最新更新',
  'regulations.newCount': '{count} 项新更新',
  'regulations.upToDate': '已是最新',
  'regulations.openDetail': '查看条款清单',
  'regulations.deleteTitle': '停止追踪',
  'regulations.deleteDesc': '将从你的追踪清单中移除该知识库，不会影响知识库本身。',
  'regulations.deleteSuccess': '已停止追踪',
  'regulations.createSuccess': '已加入追踪',
  'regulations.backToList': '返回追踪清单',
  'regulations.notFound': '追踪记录不存在或已被删除。',
  'regulations.newUpdates': '新更新',
  'regulations.markChecked': '标记为已查看',
  'regulations.markCheckedSuccess': '已更新查看时间',
  'regulations.filterAll': '全部',
  'regulations.filterNew': '仅看新更新',
  'regulations.noNew': '当前没有新更新。',
  'regulations.noDocs': '该知识库还没有文档。',
  'regulations.badgeNew': '新',
  'regulations.updatedAt': '更新于',
  'regulations.summaryPending': '该文档摘要尚未生成，请稍后查看。',
  'regulations.noClauses': '暂未抽取到条款摘要。',
  'regulations.newDocs': '新增文档',
  'regulations.pendingUpdates': '待处理更新',
  'regulations.lastCheckRunAt': '上次检查',
  'regulations.checkNow': '立即检查',
  'regulations.checkNoNew': '已检查，没有发现新的法规更新。',
  'regulations.checkFoundNew': '发现 {count} 项新更新。',
  'regulations.tabClauses': '条款清单',
  'regulations.tabKeywords': '关键词',
  'regulations.tabPending': '待办更新',
  'regulations.keywordsTitle': '搜索关键词',
  'regulations.keywordsHint':
    '系统会用这些关键词去搜索新法规。留空时会自动从知识库文档关键词中聚合。',
  'regulations.keywordsEmpty': '暂无关键词，下次检查会从知识库自动聚合。',
  'regulations.keywordsAdd': '添加',
  'regulations.keywordsAddPlaceholder': '输入关键词后回车…',
  'regulations.keywordsSaved': '关键词已保存',
  'regulations.pendingEmpty': '还没有待处理的法规更新，点击「立即检查」试试。',
  'regulations.foundAt': '发现于',
  'regulations.suggestion': '建议',
  'regulations.openSource': '查看原文',
  'regulations.markSeen': '标记已阅',
  'regulations.markApplied': '标记已应用',
  'regulations.markDismissed': '忽略',
  'regulations.statusNew': '新',
  'regulations.statusSeen': '已阅',
  'regulations.statusApplied': '已应用',
  'regulations.statusDismissed': '已忽略',
  'nav.regulations': '法规追踪',
  'page.regulations': '法规追踪',

  // ── Cron ──────────────────────────────────────────
  'nav.cron': '定时任务',
  'page.cron': '定时任务',
  'cron.title': '定时任务',
  'cron.titleDesc': '查看各实例上的 Cron 定时任务和运行历史',
  'cron.selectInstance': '选择实例',
  'cron.allInstances': '全部实例',
  'cron.allAgents': '全部 Agent',
  'cron.noJobs': '暂无定时任务',
  'cron.noJobsHint': '当前没有配置定时任务。可通过 Agent 对话或 OpenClaw CLI 创建。',
  'cron.jobCount': '{n} 个任务',
  'cron.enabled': '启用',
  'cron.paused': '暂停',
  'cron.scheduleAt': '单次',
  'cron.scheduleEvery': '间隔',
  'cron.scheduleCron': 'Cron',
  'cron.sessionMain': '主会话',
  'cron.sessionIsolated': '独立会话',
  'cron.nextRun': '下次运行',
  'cron.lastRun': '上次运行',
  'cron.payload': '任务内容',
  'cron.deliveryMode': '投递方式',
  'cron.deliveryAnnounce': '广播',
  'cron.deliveryWebhook': 'Webhook',
  'cron.deliveryNone': '无',
  'cron.deliveryChannel': '投递通道',
  'cron.deliveryTarget': '投递目标',
  'cron.model': '模型',
  'cron.thinking': '思考',
  'cron.deleteAfterRun': '运行后删除',
  'cron.lightContext': '轻量上下文',
  'cron.wakeMode': '唤醒模式',
  'cron.wakeNow': '立即',
  'cron.wakeNextHeartbeat': '下次心跳',
  'cron.runHistory': '运行历史',
  'cron.noRuns': '暂无运行记录',
  'cron.noRunsHint': '该任务还没有运行过。',
  'cron.runStatus': '状态',
  'cron.runSuccess': '成功',
  'cron.runError': '失败',
  'cron.runSkipped': '跳过',
  'cron.runRunning': '运行中',
  'cron.runStarted': '开始时间',
  'cron.runDuration': '耗时',
  'cron.runTokens': 'Token',
  'cron.runDelivery': '投递',
  'cron.runSummary': '摘要',
  'cron.allJobs': '全部任务',
  'cron.selectedJob': '选中任务',
  'cron.filterByStatus': '按状态筛选',
  'cron.cronBadge': '{n} 个定时任务',
  'cron.connectionFailed': '以下实例连接失败：',
  'cron.timezone': '时区',
  'cron.actionToggle': '切换启用状态',
  'cron.actionRun': '立即运行',
  'cron.actionDelete': '删除任务',
  'cron.confirmDeleteTitle': '确认删除',
  'cron.confirmDeleteDesc': '确定要删除任务「{name}」吗？此操作无法撤销。',
  'cron.toggleSuccess': '状态已更新',
  'cron.runTriggered': '任务已触发',
  'cron.deleteJobSuccess': '任务已删除',
  'cron.actionFailed': '操作失败',
  'cron.actions': '操作',
  'cron.showingAll': '全部',
  'cron.mockNotice': '当前为模拟数据 — 连接实例后可查看真实定时任务',
  'cron.mockActionHint': '当前为模拟数据，操作仅在有真实定时任务时生效',
  'cron.everyNSeconds': '每 {n} 秒',
  'cron.everyNMinutes': '每 {n} 分钟',
  'cron.everyNHours': '每 {n} 小时',
  'cron.everyNDays': '每 {n} 天',
  'cron.everyDay': '每天 {time}',
  'cron.everyWeek': '每周{day} {time}',
  'cron.everyMonth': '每月 {day} 日 {time}',
  'cron.everyWeekdays': '每周{days} {time}',
  'cron.weekMon': '一',
  'cron.weekTue': '二',
  'cron.weekWed': '三',
  'cron.weekThu': '四',
  'cron.weekFri': '五',
  'cron.weekSat': '六',
  'cron.weekSun': '日',

  // ── Profile ─────────────────────────────────────
  'profile.title': '个人信息',
  'profile.info': '账户信息',
  'profile.name': '姓名',
  'profile.email': '邮箱',
  'profile.role': '角色',
  'profile.department': '部门',
  'profile.changePassword': '修改密码',
  'profile.currentPassword': '当前密码',
  'profile.newPassword': '新密码',
  'profile.confirmPassword': '确认新密码',
  'profile.passwordMismatch': '两次密码不一致',
  'profile.passwordChanged': '密码修改成功，请重新登录。',
  'profile.passwordFailed': '密码修改失败',
  'profile.currentPasswordWrong': '当前密码不正确',
  'profile.save': '保存',
  'profile.noDepartment': '无',

  // ── Chart Rendering ─────────────────────────────────
  'chat.chartLoading': '加载图表中…',
  'chat.chartError': '图表渲染失败',
  'chat.chartJsonInvalid': '图表配置无效',
  'chat.chartTooLarge': '图表数据过大（最大 50KB）',
  'chat.chartShowRaw': '显示原始配置',
  'chat.mermaidError': '图表渲染失败',
  'chat.mermaidShowRaw': '显示原始语法',

  // ── File Panel ────────────────────────────────────
  'chat.filePanel': '文件',
  'filePanel.title': '会话文件',
  'filePanel.input': '输入',
  'filePanel.output': '产出物',
  'filePanel.dropFilesHere': '拖拽文件到此处上传',
  'filePanel.noFiles': '暂无文件',
  'filePanel.noOutputFiles': '暂无产出物',
  'filePanel.upload': '上传',
  'filePanel.newFolder': '新建文件夹',
  'filePanel.download': '下载',
  'filePanel.downloadAll': '下载全部',
  'filePanel.delete': '删除',
  'filePanel.confirmDelete': '确定要删除「{name}」吗？',
  'filePanel.uploadSuccess': '文件上传成功',
  'filePanel.uploadFailed': '上传失败',
  'filePanel.deleteSuccess': '文件已删除',
  'filePanel.deleteFailed': '删除失败',
  'filePanel.folderCreated': '文件夹已创建',
  'filePanel.moveSuccess': '文件已移动',
  'filePanel.moveFailed': '移动失败',
  'filePanel.fileTooLarge': '文件过大（最大 50MB）',
  'filePanel.fileSize': '大小',
  'filePanel.fileType': '类型',
  'filePanel.preview': '预览',
  'filePanel.noSelection': '选择文件查看详情',
  'filePanel.folderName': '文件夹名称',
  'filePanel.rename': '重命名',
  'filePanel.unavailable': '文件不可用',

  // ── Knowledge Base ──────────────────────────────
  'nav.knowledgeBases': '知识库',
  'kb.title': '知识库',
  'kb.titleDesc': '管理文档知识库，支持 PDF 解析、向量化和智能问答',
  'kb.create': '新建知识库',
  'kb.createTitle': '新建知识库',
  'kb.createDesc': '创建一个文档知识库用于 RAG 问答',
  'kb.name': '知识库名称',
  'kb.namePlaceholder': '输入知识库名称',
  'kb.description': '描述',
  'kb.descriptionPlaceholder': '简要描述知识库用途...',
  'kb.scope': '可见范围',
  'kb.scopeGlobal': '全局',
  'kb.scopeDepartment': '部门',
  'kb.scopePersonal': '个人',
  'kb.scopeGlobalDesc': '所有用户可见',
  'kb.scopeDepartmentDesc': '部门成员可见',
  'kb.scopePersonalDesc': '仅自己可见',
  'kb.category': '分类',
  'kb.category.INTERNAL': '内部知识库',
  'kb.category.EXTERNAL': '外部知识库',
  'kb.category.RULES': '规则库',
  'kb.category.description.INTERNAL': '公司文档、政策、流程',
  'kb.category.description.EXTERNAL': '行业标准、公开参考资料',
  'kb.category.description.RULES': '系统规则、约束、指导方针',
  'kb.all': '全部',
  'kb.docCount': '{n} 篇文档',
  'kb.noKbs': '暂无知识库',
  'kb.noKbsHint': '创建一个知识库来开始文档问答',
  'kb.createdMsg': '知识库「{name}」已创建',
  'kb.deleteTitle': '删除知识库',
  'kb.deleteConfirmMsg':
    '确定要删除知识库「{name}」吗？这将同时删除所有文档、文件和向量数据，且不可恢复。',
  'kb.deletedMsg': '知识库「{name}」已删除',
  'kb.documentsTab': '文档',
  'kb.qaTab': '问答',
  'kb.settingsTab': '设置',
  'kb.upload': '上传文档',
  'kb.uploadHint': '拖拽 PDF 文件到此处，或',
  'kb.browse': '选择文件',
  'kb.uploadingFile': '上传中...',
  'kb.uploadSuccess': '文档上传成功，开始处理',
  'kb.uploadFailed': '上传失败',
  'kb.docPending': '等待处理',
  'kb.docProcessing': '处理中',
  'kb.docSucceeded': '已索引',
  'kb.docFailed': '处理失败',
  'kb.retry': '重试',
  'kb.rebuildIndex': '重建索引',
  'kb.rebuildStarted': '已提交索引重建任务',
  'kb.indexInfo': '索引信息',
  'kb.hideIndexInfo': '收起索引',
  'kb.viewOriginal': '查看原文',
  'kb.originalPreview': '原文预览',
  'kb.openOriginalInNewTab': '新标签打开',
  'kb.closeOriginalPreview': '关闭原文预览',
  'kb.deleteDoc': '删除文档',
  'kb.viewOcrOriginal': '查看 OCR 原文',
  'kb.ocrOriginal': 'OCR 原文',
  'kb.ocrLoadFailed': 'OCR 原文加载失败',
  'kb.downloadMarkdown': '下载 Markdown',
  'kb.deleteDocConfirm': '确定要删除文档「{name}」吗？',
  'kb.docDeletedMsg': '文档已删除',
  'kb.noDocuments': '暂无文档',
  'kb.noDocumentsHint': '上传 PDF 文件开始构建知识库',
  'kb.qaWelcome': '向知识库提问',
  'kb.qaPlaceholder': '输入关于此知识库的问题...',
  'kb.qaSend': '发送',
  'kb.qaGenerateAnswer': '生成回答',
  'kb.qaReasoning': '推理过程',
  'kb.qaSources': '来源',
  'kb.qaAssets': '相关素材',
  'kb.qaNoSources': '未找到相关内容',
  'kb.qaWorkbench': '知识库问答',
  'kb.qaReadyDocs': '{n} 份已索引文档',
  'kb.qaMessages': '{n} 条消息',
  'kb.qaNoReadyDocs': '暂无已索引文档',
  'kb.qaNoReadyDocsHint': '请先在文档页上传并完成索引后再提问。',
  'kb.qaThinkingToggle': '展示思考',
  'kb.qaClear': '清空对话',
  'kb.qaConversations': '对话',
  'kb.qaNewConversation': '新建对话',
  'kb.qaNoConversations': '暂无对话记录',
  'kb.qaUntitledConversation': '未命名对话',
  'kb.qaConversationActions': '对话操作',
  'kb.qaRename': '重命名',
  'kb.qaRenamePrompt': '请输入新的对话标题',
  'kb.qaConfirmDelete': '确定要删除该对话吗？此操作无法撤销。',
  'kb.qaConfirmDeleteRound': '确定要删除该轮问答（包含你的提问和系统回答）吗？此操作无法撤销。',
  'kb.qaDeleteRound': '删除该轮问答',
  'kb.qaRegenerate': '重新生成',
  'kb.dangerZone': '危险区域',
  'kb.deleteWarning': '删除知识库将同时删除其下所有文档、索引和问答记录，此操作无法撤销。',
  'kb.deleteKb': '删除知识库',
  'kb.qaStop': '停止',
  'kb.qaYou': '你',
  'kb.qaAssistant': '助手',
  'kb.qaStopped': '已暂停本轮回答。',
  'kb.qaStatusRetrieving': '检索索引',
  'kb.qaStatusContext': '整理上下文',
  'kb.qaStatusThinking': '思考中',
  'kb.qaStatusGenerating': '生成中',
  'kb.qaStatusCompleted': '完成',
  'kb.qaStatusStopped': '已暂停',
  'kb.qaStatusFailed': '失败',
  'kb.qaProgressRetrieving': '正在执行文档路由、全文检索、向量检索和邻页扩展。',
  'kb.qaProgressContext': '已整理 {n} 条候选片段，正在构造回答上下文。',
  'kb.qaProgressThinking': '模型正在输出思考过程。',
  'kb.qaProgressGenerating': '模型正在生成回答正文。',
  'kb.qaOpenSourcePage': '查看第 {n} 页原文',
  'kb.qaSourcePage': '第 {n} 页',
  'kb.qaRetrievalResults': '检索结果',
  'kb.qaTextResults': '文本',
  'kb.qaImageResults': '图片',
  'kb.qaTableResults': '表格',
  'kb.settingsSaved': '设置已保存',
  'kb.settingsFailed': '保存失败',
  'kb.createdBy': '创建者',
  'kb.createdAt': '创建时间',
  'kb.selectDepartment': '选择部门',
  'kb.filterByScope': '按范围筛选',
  'kb.pages': '{n} 页',
  'kb.processing': '处理进度 {n}%',
  'kb.ingestionLogFailed': '处理失败，停在 {n}%',
  'kb.ingestionLogCompleted': '索引完成',
  'kb.indexReadyDetail': '页级索引已完成，可进行关键词、全文和向量检索。',
  'kb.indexWaitingDetail': '等待索引任务开始。',
  'kb.ragConfig': 'RAG 配置',
  'kb.ragConfigDesc': '配置所有知识库共享的检索增强生成（RAG）凭据与模型。',

  // ── RAG Settings ──────────────────────────────
  'settings.ragTitle': 'RAG 配置',
  'settings.ragDesc': '配置知识库问答所需的 LLM、Embedding 和 Reranking 模型',
  'settings.ragLlm': 'LLM (回答生成)',
  'settings.ragEmbedding': 'Embedding (向量化)',
  'settings.ragRerank': 'Reranking (可选)',
  'settings.ragOcr': 'OCR (文档解析)',
  'settings.ragApiBaseUrl': 'API Base URL',
  'settings.ragApiKey': 'API Key',
  'settings.ragModel': '模型',
  'settings.ragEnableRerank': '启用 Reranking',
  'settings.ragOcrModel': '默认 OCR 模型',
  'settings.ragOcrWorkers': '并行 Worker 数',
  'settings.ragPaddleOcr': 'PaddleOCR（文档识别）',
  'settings.ragPaddleOcrHint':
    '在线 OCR 服务，将 PDF 提交到 PaddleOCR API 进行文字提取。在 paddleocr.aistudio-app.com 获取 Token。',
  'settings.ragPaddleOcrToken': 'API Token',
  'settings.ragPaddleOcrModel': '模型',
  'settings.ragSaved': 'RAG 配置已保存',
  'settings.ragSaveFailed': '保存失败',
  'settings.ragTab': 'RAG',
} as const

export type TranslationKey = keyof typeof zhCN
export default zhCN
