import type { TranslationKeys } from './en';

const zh: TranslationKeys = {
  // ── Common ──
  'common.rename': '重命名',
  'common.duplicate': '复制',
  'common.delete': '删除',
  'common.cancel': '取消',
  'common.save': '保存',
  'common.close': '关闭',
  'common.connect': '连接',
  'common.disconnect': '断开连接',
  'common.yes': '是',
  'common.no': '否',
  'common.import': '导入',
  'common.export': '导出',
  'common.name': '名称',
  'common.untitled': '未命名',
  'common.best': '最佳',
  'common.selected': '已选择 {{count}} 个',

  // ── Toolbar ──
  'toolbar.select': '选择',
  'toolbar.text': '文本',
  'toolbar.frame': '画框',
  'toolbar.hand': '抓手',
  'toolbar.undo': '撤销',
  'toolbar.redo': '重做',
  'toolbar.variables': '变量',
  'toolbar.uikitBrowser': 'UIKit 浏览器',

  // ── Shapes ──
  'shapes.rectangle': '矩形',
  'shapes.ellipse': '椭圆',
  'shapes.polygon': '多边形',
  'shapes.line': '线条',
  'shapes.icon': '图标',
  'shapes.importImageSvg': '导入图片或 SVG\u2026',
  'shapes.pen': '钢笔',
  'shapes.shapeTools': '形状工具',
  'shapes.moreShapeTools': '更多形状工具',

  // ── Top Bar ──
  'topbar.hideLayers': '隐藏图层',
  'topbar.showLayers': '显示图层',
  'topbar.new': '新建',
  'topbar.open': '打开',
  'topbar.save': '保存',
  'topbar.importFigma': '导入 Figma',
  'topbar.codePanel': '代码',
  'topbar.lightMode': '浅色模式',
  'topbar.darkMode': '深色模式',
  'topbar.fullscreen': '全屏',
  'topbar.exitFullscreen': '退出全屏',
  'topbar.edited': '— 已编辑',
  'topbar.closeConfirmMessage': '关闭前是否要保存更改？',
  'topbar.closeConfirmDetail': '如果不保存，您的更改将会丢失。',
  'topbar.dontSave': '不保存',
  'topbar.agentsAndMcp': 'Agents 与 MCP',
  'topbar.setupAgentsMcp': '设置 Agents 与 MCP',
  'topbar.connected': '已连接',
  'topbar.agentStatus': '{{agents}} 个 Agent{{agentSuffix}} · {{mcp}} 个 MCP',

  // ── Git 面板 ──
  'git.openPanel': '打开 Git 面板',
  'git.closePanel': '关闭 Git 面板',
  'git.title': 'Git · {{fileName}}',
  'git.titleNoFile': 'Git · (尚未选择文件)',
  'git.close': '关闭',
  'git.initializing': '正在初始化仓库…',
  'git.conflict.title': '合并冲突',
  'git.conflict.description': '使用下方卡片逐一解决每个冲突，然后应用合并。',
  'git.conflict.abort': '中止合并',
  'git.conflict.nonOp.title': '合并因非 .op 文件暂停',
  'git.conflict.nonOp.description':
    '.op 文件合并已完成,但仓库中仍有其他文件未解决。请在 OpenPencil 之外解决它们,然后继续。',
  'git.conflict.nonOp.unresolvedHeading_one': '1 个文件需要处理',
  'git.conflict.nonOp.unresolvedHeading_other': '{{count}} 个文件需要处理',
  'git.conflict.nonOp.continue': '继续合并',
  'git.conflict.nonOp.abort': '中止合并',
  // Phase 7b: unified banner keys (Phase 7c localised)
  'git.conflict.banner.progress': '已解决 {{resolved}} / {{total}}',
  'git.conflict.banner.apply': '应用合并',
  'git.conflict.banner.continue': '继续',
  'git.conflict.banner.finalizeError': '无法应用: {{message}}',
  'git.conflict.banner.pollError': '状态轮询因错误暂停: {{message}}',
  // placeholder — future localization
  'git.conflict.banner.reopenMessage': '面板在合并过程中重新打开 — 请中止并重新拉取。',
  // Phase 7c: conflict list / item / card / editor keys
  'git.conflict.list.heading': '所有冲突',
  'git.conflict.list.progress': '已解决 {{resolved}} / {{total}}',
  'git.conflict.list.allResolved': '全部已解决',
  'git.conflict.list.allOurs': '全选我的',
  'git.conflict.list.allTheirs': '全选他的',
  'git.conflict.item.nodeConflict': '节点冲突',
  'git.conflict.item.fieldConflict': '字段冲突',
  'git.conflict.item.resolved': '已解决',
  'git.conflict.card.ours': '我的版本',
  'git.conflict.card.theirs': '他人版本',
  'git.conflict.card.base': '基础版本',
  'git.conflict.card.keepMine': '保留我的',
  'git.conflict.card.keepTheirs': '保留他人的',
  'git.conflict.card.oursThumbnailAlt': '我的版本预览',
  'git.conflict.card.theirsThumbnailAlt': '他人版本预览',
  'git.conflict.editor.editManually': '手动编辑',
  'git.conflict.editor.cancel': '取消',
  'git.conflict.editor.apply': '应用',
  'git.conflict.editor.invalidJson': 'JSON 格式无效',
  'git.conflict.editor.textareaLabel': '编辑 JSON 值',
  'git.error.dismiss': '关闭',
  'git.error.retry': '重试',
  'git.error.title': '出现问题',

  // ── Git 空状态 ──
  'git.empty.heading': '这份文件还没有版本历史',
  'git.empty.optional': 'Git 是可选的 — 跳过也不影响使用',
  'git.empty.requireSavedFile': '请先保存 .op 文件以建立历史',
  'git.empty.newCard': '新建',
  'git.empty.newCardDescription': '创建本地历史',
  'git.empty.openCard': '打开',
  'git.empty.openCardDescription': '已有仓库',
  'git.empty.cloneCard': '克隆',
  'git.empty.cloneCardDescription': '从远程仓库',

  // ── Git 作者表单 ──
  'git.author.heading': '提交署名',
  'git.author.subheading': '保存第一次提交需要署名',
  'git.author.nameLabel': '姓名',
  'git.author.namePlaceholder': '你的名字',
  'git.author.emailLabel': '邮箱',
  'git.author.emailPlaceholder': 'you@example.com',
  'git.author.submit': '保存',
  'git.author.cancel': '取消',
  'git.author.validationName': '请输入姓名',
  'git.author.validationEmail': '请输入有效的邮箱',

  // ── Git 选择器 (Phase 4b) ──
  'git.picker.heading': '这个仓库里有 {{count}} 个 .op 文件:',
  'git.picker.milestoneCount': '{{count}} 个里程碑',
  'git.picker.noHistory': '暂无历史',
  'git.picker.lastCommit': '{{message}} · {{time}}',
  'git.picker.bindButton': '跟踪此文件',
  'git.picker.bindAndOpenButton': '跟踪并打开',
  'git.picker.back': '返回',
  'git.picker.backClose': '取消',
  'git.picker.empty.heading': '这个仓库里没有 .op 文件',
  'git.picker.empty.body': 'Git 面板需要至少一个 .op 文件才能工作',
  'git.picker.empty.close': '关闭面板',

  // ── Git 自动绑定提示 (Phase 4b) ──
  'git.autoBind.confirmHeading': '已找到 {{fileName}},要在编辑器打开吗?',
  'git.autoBind.openButton': '打开',
  'git.autoBind.dismissButton': '跳过',

  // ── Git 相对时间 (Phase 4b) ──
  'git.relativeTime.justNow': '刚刚',
  'git.relativeTime.minutesAgo': '{{count}}分钟前',
  'git.relativeTime.hoursAgo': '{{count}}小时前',
  'git.relativeTime.daysAgo': '{{count}}天前',

  // ── Git Commit Input (Phase 4c) ──
  'git.commit.placeholder': '描述这次改动…',
  'git.commit.submitButton': '保存为里程碑',
  'git.commit.saveRequiredTitle': '请先保存文档',
  'git.commit.saveRequiredBody': '当前文档有未保存的修改,需要先保存才能继续: {{label}}',
  'git.commit.saveRequiredSave': '保存',
  'git.commit.saveRequiredCancel': '取消',

  // ── Git Header (Phase 4c → 6c) ──
  'git.header.autosaveError': '自动保存错误',
  'git.header.autosaveErrorTitle': '上次自动保存失败',
  'git.header.authorMissingWarning': '请设置提交作者以记录归属',
  'git.header.overflowSwitchTracked': '切换跟踪文件…',
  'git.header.overflowClearAuthor': '清除提交作者',
  'git.header.overflowCloseRepo': '关闭仓库',
  'git.header.overflowRemoteSettings': '远端设置…',
  'git.header.overflowSshKeys': 'SSH 密钥…',
  'git.header.overflowMoreActions': '更多操作',

  // ── Git History List (Phase 4c) ──
  'git.history.empty': '暂无历史',
  'git.history.autosaveGroup_one': '1 个自动快照',
  'git.history.autosaveGroup_other': '{{count}} 个自动快照',
  'git.history.autosaveLabel': 'auto {{time}}',
  'git.history.milestoneDetailTitle': '里程碑详情',
  'git.history.restoreButton': '恢复',
  'git.history.copyHashButton': '复制哈希',
  'git.history.copiedToast': '已复制',
  // ── Git 历史差异 (Phase 7b) ──
  'git.history.diff.loading': '加载差异中…',
  'git.history.diff.initialCommit': '初始提交 — 没有父提交可对比',
  'git.history.diff.noChanges': '未检测到变更',
  'git.history.diff.error': '差异不可用：{{message}}',
  'git.history.diff.framesChanged_one': '1 个画框已更改',
  'git.history.diff.framesChanged_other': '{{count}} 个画框已更改',
  'git.history.diff.nodesAdded_one': '新增 1 个节点',
  'git.history.diff.nodesAdded_other': '新增 {{count}} 个节点',
  'git.history.diff.nodesRemoved_one': '删除 1 个节点',
  'git.history.diff.nodesRemoved_other': '删除 {{count}} 个节点',
  'git.history.diff.nodesModified_one': '修改 1 个节点',
  'git.history.diff.nodesModified_other': '修改 {{count}} 个节点',
  'git.history.promoteButton': '提升为里程碑',
  'git.history.promoteSuccessToast': '已提升为里程碑',
  'git.history.loadMore': '加载更多',
  'git.autosave.messagePrefix': 'auto',
  'git.autosave.messageDiffSuffix': '',

  // ── Git 分支选择器 (Phase 5) ──
  'git.branch.listHeading': '分支',
  'git.branch.createAction': '新建分支',
  'git.branch.createPlaceholder': 'feature/login-redesign',
  'git.branch.createSubmit': '创建分支',
  'git.branch.createEmpty': '请输入分支名称',
  'git.branch.createExists': '分支 {{name}} 已存在',
  'git.branch.mergeAction': '合并分支…',
  'git.branch.mergeHeading': '合并到 {{name}}',
  'git.branch.deletePrompt': '删除分支 {{name}}?',
  'git.branch.deleteLabel': '删除分支 {{name}}',
  'git.branch.deleteWarning': '分支 {{name}} 有未合并的提交',
  'git.branch.deleteConfirm': '删除',
  'git.branch.deleteForce': '强制删除',
  'git.branch.cancel': '取消',
  'git.branch.conflictDisabled': '请先完成合并再切换分支',
  'git.branch.noCommits': '暂无提交',

  // ── Git Clone Wizard (Phase 6a) ──
  'git.wizard.clone.heading': '克隆远程仓库',
  'git.wizard.clone.subheading': '选择远程地址和目标文件夹。',
  'git.wizard.clone.urlLabel': '远程地址',
  'git.wizard.clone.urlPlaceholder': 'https://github.com/owner/repo.git',
  'git.wizard.clone.destLabel': '目标文件夹',
  'git.wizard.clone.destPlaceholder': '/克隆/路径',
  'git.wizard.clone.destPickButton': '浏览…',
  'git.wizard.clone.usernameLabel': '用户名(可选)',
  'git.wizard.clone.tokenLabel': '访问令牌(可选)',
  'git.wizard.clone.tokenPlaceholder': 'ghp_… 公开仓库可留空',
  'git.wizard.clone.anonymousHint': '留空表示匿名克隆(仅适用于公开仓库)。',
  'git.wizard.clone.sshHint': '此地址需要 SSH 密钥认证。',
  'git.wizard.clone.hostDetected': '检测到:{{host}} · {{mode}}',
  'git.wizard.clone.authMode.token-or-anon': '令牌或匿名',
  'git.wizard.clone.authMode.ssh': 'SSH 密钥',
  'git.wizard.clone.cancel': '取消',
  'git.wizard.clone.submit': '克隆',
  'git.wizard.clone.validationUrl': '请输入远程地址',
  'git.wizard.clone.validationDest': '请选择目标文件夹',
  'git.wizard.clone.validationTokenUsername': '提供令牌时必须填写用户名',
  'git.wizard.clone.error.clone-network': '克隆时出现网络错误,请检查连接后重试。',
  'git.wizard.clone.error.network': '网络错误,请检查连接后重试。',
  'git.wizard.clone.error.timeout': '克隆超时,请重试或选择更小的仓库。',
  'git.wizard.clone.error.auth-required': '此仓库需要进行身份验证。',
  'git.wizard.clone.error.auth-failed': '身份验证失败,请检查用户名和令牌。',
  'git.wizard.clone.error.auth-token-invalid': '访问令牌被拒绝,请生成新令牌后重试。',
  'git.wizard.clone.error.clone-failed': '克隆失败,请确认地址指向真实存在的仓库。',
  'git.wizard.clone.error.clone-target-exists': '目标文件夹已存在或不为空。',

  // ── Git Pull / Push (Phase 6b) ──
  'git.pull.label': '拉取',
  'git.pull.tooltip': '从 origin 拉取',
  'git.pull.noRemote': '未配置远端 — 请在 Git 设置中添加',
  'git.pull.retry': '重试拉取',
  'git.push.label': '推送',
  'git.push.tooltip_one': '推送 1 个提交到 origin',
  'git.push.tooltip_other': '推送 {{count}} 个提交到 origin',
  'git.push.noRemote': '未配置远端 — 请在 Git 设置中添加',
  'git.push.upToDate': '没有需要推送的内容 — 已是最新',
  'git.push.retry': '重试推送',
  'git.push.rejectedBody': '远端有你尚未同步的提交。请先拉取,然后再推送。',
  'git.push.rejectedDismiss': '关闭',
  'git.push.rejectedPull': '立即拉取',
  'git.remote.dismissError': '关闭',

  // ── Git 远端设置 (Phase 6c) ──
  'git.remote.settingsLabel': '远端设置',
  'git.remote.settingsHeading': '远端',
  'git.remote.back': '返回',
  'git.remote.cancel': '取消',
  'git.remote.emptyNoOrigin': '尚未配置远端仓库,现在添加一个:',
  'git.remote.urlLabel': 'Origin 地址',
  'git.remote.urlPlaceholder': 'https://github.com/owner/repo.git',
  'git.remote.saveButton': '保存',
  'git.remote.clearButton': '清除',
  'git.remote.clearConfirmHeading': '清除 origin?',
  'git.remote.clearConfirmBody': '这将从当前仓库中移除 origin 远端。',
  'git.remote.clearConfirmAction': '确认',
  'git.remote.aheadBehind': '领先 {{ahead}} · 落后 {{behind}}',
  'git.remote.fetchButton': '获取',
  'git.remote.sshIsoUnsupported': '内置引擎不支持 SSH 传输。请安装系统 git,或改用 HTTPS 远端地址。',
  'git.remote.storedAuthLabel': '已保存的凭据',
  'git.remote.storedAuth.token': '令牌',
  'git.remote.storedAuth.ssh': 'SSH 密钥',
  'git.remote.storedAuth.none': '无',
  'git.remote.storedAuth.loading': '加载中…',
  'git.remote.storedAuth.noHost': '未检测到主机',
  'git.remote.clearAuthButton': '清除已保存的凭据',

  // ── Git SSH 密钥 (Phase 6c) ──
  'git.ssh.label': 'SSH 密钥',
  'git.ssh.heading': 'SSH 密钥',
  'git.ssh.back': '返回',
  'git.ssh.cancel': '取消',
  'git.ssh.isoUnsupported':
    '当前远端使用 SSH,但内置引擎无法执行 SSH 传输。请安装系统 git,或将远端地址改为 HTTPS。',
  'git.ssh.emptyList': '暂无 SSH 密钥。',
  'git.ssh.generateAction': '生成新密钥',
  'git.ssh.importAction': '导入现有密钥',
  'git.ssh.copyPublicKey': '复制公钥',
  'git.ssh.copiedHint': '已复制',
  'git.ssh.copyUnsupported': '剪贴板不可用——请手动复制此密钥。',
  'git.ssh.deleteKey': '删除 {{name}}',
  'git.ssh.deletePrompt': '删除 SSH 密钥 {{name}}?',
  'git.ssh.deleteConfirm': '删除',
  'git.ssh.currentHostBadge': '当前主机',
  'git.ssh.hostLabel': '主机',
  'git.ssh.hostPlaceholder': 'github.com',
  'git.ssh.commentLabel': '备注',
  'git.ssh.commentPlaceholder': 'laptop@home',
  'git.ssh.generateSubmit': '生成',
  'git.ssh.importPathLabel': '私钥路径',
  'git.ssh.importPathPlaceholder': '/path/to/id_ed25519',
  'git.ssh.importBrowse': '浏览…',
  'git.ssh.importSubmit': '导入',
  'git.ssh.validationHost': '请输入主机',
  'git.ssh.validationComment': '请输入备注',
  'git.ssh.validationImportPath': '请选择要导入的私钥文件',
  'git.ssh.providerLink': '打开 {{host}} SSH 密钥设置',
  'git.ssh.genericGuidance': '复制公钥并添加到你的 Git 提供商 SSH 密钥设置中。',

  // ── Git 认证表单 (Phase 6b) ──
  'git.auth.formLabel': 'Git 凭据',
  'git.auth.heading': '向 {{host}} 认证',
  'git.auth.headingUnknown': '向该远端认证',
  'git.auth.modeToggleLabel': '凭据类型',
  'git.auth.modeToken': '令牌',
  'git.auth.modeSsh': 'SSH',
  'git.auth.usernameLabel': '用户名(可选)',
  'git.auth.tokenLabel': '访问令牌',
  'git.auth.tokenPlaceholder': 'ghp_… 或 PAT',
  'git.auth.sshKeyLabel': 'SSH 密钥',
  'git.auth.sshNoKeys': '暂无可用的 SSH 密钥。请先在 Git 设置中导入或生成一个。',
  'git.auth.rememberLabel': '记住此主机的凭据',
  'git.auth.rememberHint': '记住此主机的凭据',
  'git.auth.cancel': '取消',
  'git.auth.validationToken': '访问令牌是必填项',
  'git.auth.validationSshKey': '请选择一个 SSH 密钥',
  'git.auth.error.auth-required': '此远端需要认证。',
  'git.auth.error.auth-failed': '认证失败。请检查你的凭据后再试。',
  'git.auth.error.auth-token-invalid': '访问令牌被拒绝。请生成新令牌后再试。',

  // ── Right Panel ──
  'rightPanel.design': '设计',
  'rightPanel.code': '代码',
  'rightPanel.noSelection': '选择一个元素',

  // ── Pages ──
  'pages.title': '页面',
  'pages.addPage': '添加页面',
  'pages.moveUp': '上移',
  'pages.moveDown': '下移',

  // ── Status Bar ──
  'statusbar.zoomOut': '缩小',
  'statusbar.zoomIn': '放大',
  'statusbar.resetZoom': '重置缩放',
  'statusbar.focusContent': '适配全部内容',
  'statusbar.focusSelection': '聚焦选中内容',

  // ── Updater ──
  'updater.softwareUpdate': '软件更新',
  'updater.dismiss': '关闭',
  'updater.current': '当前版本',
  'updater.latest': '最新版本',
  'updater.unknown': '未知',
  'updater.checking': '检查中...',
  'updater.downloadProgress': '下载进度',
  'updater.checkAgain': '再次检查',
  'updater.restartInstall': '重启并安装',
  'updater.installing': '安装中...',
  'updater.releaseDate': '发布日期：{{date}}',
  'updater.restartHint': '重启以应用更新。重启通常需要 10-15 秒。',
  'updater.unknownError': '未知更新错误。',
  'updater.title.checking': '正在检查更新',
  'updater.title.available': '发现新版本',
  'updater.title.downloading': '正在下载更新',
  'updater.title.downloaded': '准备安装',
  'updater.title.error': '更新失败',
  'updater.subtitle.checking': '正在查找最新版本...',
  'updater.subtitle.available': '版本 {{version}} 已可用。',
  'updater.subtitle.availableGeneric': '有新版本可用。',
  'updater.subtitle.downloading': '版本 {{version}} 正在后台下载。',
  'updater.subtitle.downloadingGeneric': '正在后台下载更新包。',
  'updater.subtitle.downloaded': '版本 {{version}} 已下载完成。',
  'updater.subtitle.downloadedGeneric': '更新已下载完成。',
  'updater.subtitle.error': '无法检查或下载更新。',

  // ── Layers ──
  'layers.title': '图层',
  'layers.empty': '暂无图层。使用工具栏绘制形状。',

  // ── Layer Context Menu ──
  'layerMenu.groupSelection': '编组选中项',
  'layerMenu.createComponent': '创建组件',
  'layerMenu.detachComponent': '分离组件',
  'layerMenu.detachInstance': '分离实例',
  'layerMenu.booleanUnion': '联合',
  'layerMenu.booleanSubtract': '减去',
  'layerMenu.booleanIntersect': '交集',
  'layerMenu.toggleLock': '切换锁定',
  'layerMenu.toggleVisibility': '切换可见性',

  // ── Property Panel ──
  'property.createComponent': '创建组件',
  'property.detachComponent': '分离组件',
  'property.goToComponent': '跳转到组件',
  'property.detachInstance': '分离实例',

  // ── Fill ──
  'fill.title': '填充',
  'fill.solid': '纯色',
  'fill.linear': '线性渐变',
  'fill.radial': '径向渐变',
  'fill.image': '图片',
  'fill.stops': '色标',
  'fill.angle': '角度',

  // ── Image ──
  'image.title': '图片',
  'image.fit': '适应模式',
  'image.fill': '填充',
  'image.fitMode': '适应',
  'image.crop': '裁剪',
  'image.tile': '平铺',
  'image.clickToUpload': '点击上传',
  'image.changeImage': '更换图片',
  'image.adjustments': '调整',
  'image.exposure': '曝光',
  'image.contrast': '对比度',
  'image.saturation': '饱和度',
  'image.temperature': '色温',
  'image.tint': '色调',
  'image.highlights': '高光',
  'image.shadows': '阴影',
  'image.reset': '重置',

  // ── Stroke ──
  'stroke.title': '描边',

  // ── Appearance ──
  'appearance.layer': '图层',
  'appearance.opacity': '不透明度',

  // ── Layout ──
  'layout.flexLayout': '弹性布局',
  'layout.freedom': '自由（无布局）',
  'layout.vertical': '垂直布局',
  'layout.horizontal': '水平布局',
  'layout.alignment': '对齐',
  'layout.gap': '间距',
  'layout.spaceBetween': '两端对齐',
  'layout.spaceAround': '均匀分布',
  'layout.dimensions': '尺寸',
  'layout.fillWidth': '填充宽度',
  'layout.fillHeight': '填充高度',
  'layout.hugWidth': '适应宽度',
  'layout.hugHeight': '适应高度',
  'layout.clipContent': '裁剪内容',

  // ── Padding ──
  'padding.title': '内边距',
  'padding.paddingMode': '内边距模式',
  'padding.paddingValues': '内边距值',
  'padding.oneValue': '四边统一值',
  'padding.horizontalVertical': '水平/垂直',
  'padding.topRightBottomLeft': '上/右/下/左',

  // ── Typography ──
  'text.typography': '排版',
  'text.lineHeight': '行高',
  'text.letterSpacing': '字间距',
  'text.horizontal': '水平',
  'text.vertical': '垂直',
  'text.alignLeft': '左对齐',
  'text.alignCenter': '居中对齐',
  'text.alignRight': '右对齐',
  'text.justify': '两端对齐',
  'text.top': '顶部',
  'text.middle': '居中',
  'text.bottom': '底部',
  'text.weight.thin': '极细',
  'text.weight.light': '细体',
  'text.weight.regular': '常规',
  'text.weight.medium': '中等',
  'text.weight.semibold': '半粗',
  'text.weight.bold': '粗体',
  'text.weight.black': '极粗',
  'text.font.search': '搜索字体…',
  'text.font.bundled': '内置字体',
  'text.font.system': '系统字体',
  'text.font.loading': '加载字体中…',
  'text.font.noResults': '未找到字体',

  // ── Text Layout ──
  'textLayout.title': '布局',
  'textLayout.dimensions': '尺寸',
  'textLayout.resizing': '调整方式',
  'textLayout.autoWidth': '自动 W',
  'textLayout.autoWidthDesc': '自动宽度 \u2014 文本水平扩展',
  'textLayout.autoHeight': '自动 H',
  'textLayout.autoHeightDesc': '自动高度 \u2014 固定宽度，高度自适应',
  'textLayout.fixed': '固定',
  'textLayout.fixedDesc': '固定尺寸 \u2014 宽度和高度均固定',
  'textLayout.fillWidth': '填充宽度',
  'textLayout.fillHeight': '填充高度',

  // ── Effects ──
  'effects.title': '效果',
  'effects.dropShadow': '投影',
  'effects.blur': '模糊',
  'effects.spread': '扩展',
  'effects.color': '颜色',

  // ── Export ──
  'export.title': '导出',
  'export.format': '格式',
  'export.scale': '缩放',
  'export.selectedOnly': '仅导出选中项',
  'export.exportFormat': '导出 {{format}}',
  'export.exportLayer': '导出图层',
  'export.pdfMultiPage': 'PDF 将包含全部 {{count}} 个页面。',

  // ── Polygon ──
  'polygon.sides': '边数',

  // ── Ellipse ──
  'ellipse.start': '起始',
  'ellipse.sweep': '扫过',
  'ellipse.innerRadius': '内径',

  // ── Corner Radius ──
  'cornerRadius.title': '圆角',

  // ── Size / Position ──
  'size.position': '位置',

  // ── Icon ──
  'icon.title': '图标',
  'icon.searchIcons': '搜索图标...',
  'icon.noIconsFound': '未找到图标',
  'icon.typeToSearch': '输入以搜索 Iconify 图标',
  'icon.iconsCount': '{{count}} 个图标',

  // ── Variables Panel ──
  'variables.addTheme': '添加主题',
  'variables.addVariant': '添加变体',
  'variables.addVariable': '添加变量',
  'variables.searchVariables': '搜索变量...',
  'variables.noMatch': '没有匹配的变量',
  'variables.noDefined': '暂无定义的变量',
  'variables.closeShortcut': '关闭 (\u2318\u21e7V)',
  'variables.presets': '预设',
  'variables.savePreset': '保存为预设…',
  'variables.loadPreset': '加载预设',
  'variables.importPreset': '从文件导入…',
  'variables.exportPreset': '导出到文件…',
  'variables.presetName': '预设名称',
  'variables.noPresets': '没有保存的预设',

  // ── Design System (design.md) ──
  'designMd.title': '设计系统',
  'designMd.import': '导入 design.md',
  'designMd.export': '导出 design.md',
  'designMd.autoGenerate': '从设计自动生成',
  'designMd.empty': '未加载设计系统',
  'designMd.importCta': '导入 design.md',
  'designMd.autoGenerateCta': '自动生成',
  'designMd.visualTheme': '视觉主题',
  'designMd.colors': '颜色',
  'designMd.typography': '排版',
  'designMd.font': '字体',
  'designMd.headings': '标题',
  'designMd.body': '正文',
  'designMd.componentStyles': '组件样式',
  'designMd.layoutPrinciples': '布局原则',
  'designMd.generationNotes': '生成备注',
  'designMd.syncAllToVariables': '全部同步到变量',
  'designMd.addAsVariable': '+Var',
  'designMd.copyHex': '复制十六进制值',
  'designMd.remove': '移除设计系统',
  'toolbar.designSystem': '设计系统',

  // ── AI Chat ──
  'ai.newChat': '新对话',
  'ai.collapse': '收起',
  'ai.tryExample': '尝试一个示例来设计...',
  'ai.tipSelectElements': '提示：在对话前选中画布上的元素以提供上下文。',
  'ai.generating': '生成中...',
  'ai.designWithAgent': '用 Agent 设计...',
  'ai.attachImage': '附加图片',
  'ai.stopGenerating': '停止生成',
  'ai.sendMessage': '发送消息',
  'ai.loadingModels': '正在加载模型...',
  'ai.noModelsConnected': '未连接模型',
  'ai.searchModels': '搜索模型...',
  'ai.noModelsFound': '未找到匹配的模型',
  'ai.quickAction.loginScreen': '设计一个移动端登录页面',
  'ai.quickAction.loginScreenPrompt':
    '设计一个现代的移动端登录页面，包含邮箱输入框、密码输入框、登录按钮和社交登录选项',
  'ai.quickAction.foodApp': '美食App首页',
  'ai.quickAction.foodAppPrompt': 'Generate a well-designed food mobile app homepage',
  'ai.quickAction.bottomNav': '设计一个底部导航栏',
  'ai.quickAction.bottomNavPrompt':
    '设计一个包含 5 个标签的移动应用底部导航栏：首页、搜索、添加、消息、个人',
  'ai.quickAction.colorPalette': '为我的应用推荐配色方案',
  'ai.quickAction.colorPalettePrompt': '为一个宠物护理应用推荐一套现代配色方案',
  'ai.startDesigning': '用 AI 开始设计',
  'ai.maximize': '最大化',
  'ai.restore': '还原',
  'ai.quickAction.loginScreenDesc': '带社交登录的移动端页面',
  'ai.quickAction.foodAppDesc': 'App 首页设计',
  'ai.quickAction.bottomNavDesc': '5 个 Tab 导航栏',
  'ai.quickAction.colorPaletteDesc': '应用配色推荐',

  // ── File Menu ──
  'fileMenu.newFile': '新建文件',
  'fileMenu.openFile': '打开文件...',
  'fileMenu.save': '保存',
  'fileMenu.saveAs': '另存为...',
  'fileMenu.exportImage': '导出图片...',
  'fileMenu.recentFiles': '最近文件',
  'fileMenu.clearHistory': '清除历史',
  'fileMenu.noRecentFiles': '暂无最近文件',
  'fileMenu.saved': '已保存',
  'fileMenu.justNow': '刚刚',
  'fileMenu.minutesAgo': '{{count}}分钟前',
  'fileMenu.hoursAgo': '{{count}}小时前',
  'fileMenu.yesterday': '昨天',
  'fileMenu.daysAgo': '{{count}}天前',

  // ── Unsaved Changes ──
  'unsaved.title': '未保存的更改',
  'unsaved.message': '是否保存对 "{{name}}" 的更改？',
  'unsaved.dontSave': '不保存',

  // ── Code Panel ──
  'code.reactTailwind': 'React + Tailwind',
  'code.htmlCss': 'HTML + CSS',
  'code.cssVariables': 'CSS Variables',
  'code.copyClipboard': '复制到剪贴板',
  'code.copied': '已复制！',
  'code.download': '下载代码文件',
  'code.closeCodePanel': '关闭代码面板',
  'code.genCssVars': '正在为整个文档生成 CSS 变量',
  'code.genSelected': '正在为 {{count}} 个选中元素生成代码',
  'code.genDocument': '正在为整个文档生成代码',
  'code.aiEnhance': 'AI 优化',
  'code.cancelEnhance': '取消优化',
  'code.resetEnhance': '恢复原始代码',
  'code.enhancing': 'AI 正在优化代码...',
  'code.enhanced': '已由 AI 优化',

  // ── Save Dialog ──
  'save.saveAs': '另存为',
  'save.fileName': '文件名',

  // ── Agent Settings ──
  'agents.title': '设置 Agents 与 MCP',
  'agents.agentsOnCanvas': '画布上的 Agents',
  'agents.mcpIntegrations': '终端中的 MCP 集成',
  'agents.transport': '传输方式',
  'agents.port': '端口',
  'agents.mcpRestart': 'MCP 集成将在重启终端后生效。',
  'agents.mcpReinstallHint': '升级 OpenPencil 版本后，请重新安装 MCP 集成以确保兼容性。',
  'agents.modelCount': '{{count}} 个模型',
  'agents.connectionFailed': '连接失败',
  'agents.serverError': '服务器错误 {{status}}',
  'agents.failedTo': '{{action}}失败',
  'agents.failedToMcp': '{{action}} MCP 服务器失败',
  'agents.failedTransport': '更新传输方式失败',
  'agents.failedMcpTransport': '更新 MCP 传输方式失败',
  'agents.claudeCode': 'Claude Code',
  'agents.claudeModels': 'Claude 模型',
  'agents.codexCli': 'Codex CLI',
  'agents.openaiModels': 'OpenAI 模型',
  'agents.opencode': 'OpenCode',
  'agents.opencodeDesc': '75+ LLM 提供商',
  'agents.copilot': 'GitHub Copilot',
  'agents.copilotDesc': 'GitHub Copilot 模型',
  'agents.geminiCli': 'Gemini CLI',
  'agents.geminiDesc': 'Google Gemini 模型',
  'agents.mcpServer': 'MCP 服务器',
  'agents.mcpServerStart': '启动',
  'agents.mcpServerStop': '停止',
  'agents.mcpServerRunning': '运行中',
  'agents.mcpServerStopped': '已停止',
  'agents.mcpLanAccess': '局域网访问',
  'agents.mcpClientConfig': '客户端配置',
  'agents.stdio': 'stdio',
  'agents.http': 'http',
  'agents.stdioHttp': 'stdio + http',
  'agents.autoUpdate': '自动检查更新',
  'agents.notInstalled': '未安装',
  'agents.install': '安装',
  'agents.installing': '安装中...',
  'agents.installFailed': '安装失败',
  'agents.viewDocs': '文档',
  'settings.title': '设置',
  'settings.agents': 'Agents',
  'settings.mcp': 'MCP',
  'settings.images': 'Images',
  'settings.system': '系统',
  'settings.autoUpdateDesc': '启动时自动检查新版本',
  'settings.systemDesktopOnly': '系统设置仅在桌面应用中可用。',
  'settings.envHint': '你可以在 {{path}} 中设置额外的环境变量。',

  // ── Builtin Providers ──
  'builtin.title': '内置服务商',
  'builtin.description': '直接配置 API 密钥 — 无需 CLI 工具。',
  'builtin.addProvider': '添加服务商',
  'builtin.empty': '尚未配置内置服务商。',
  'builtin.displayName': '显示名称',
  'builtin.displayNamePlaceholder': '例如 我的 Anthropic 密钥',
  'builtin.provider': '服务商',
  'builtin.region': '区域',
  'builtin.regionChina': '中国',
  'builtin.regionGlobal': '全球',
  'builtin.apiKey': 'API Key',
  'builtin.model': '模型',
  'builtin.searchModels': '搜索可用模型',
  'builtin.filterModels': '筛选模型...',
  'builtin.noModels': '未找到模型',
  'builtin.baseUrl': 'Base URL',
  'builtin.baseUrlRequired': 'Base URL（必填）',
  'builtin.apiFormat': 'API 格式',
  'builtin.openaiCompat': 'OpenAI Compatible',
  'builtin.ready': '就绪',
  'builtin.add': '添加',
  'builtin.searchError': '搜索模型需要提供 Base URL',
  'builtin.custom': '自定义',
  'builtin.apiKeyBadge': 'API Key',
  'builtin.viaApiKey': '通过 {{name}} API Key',
  'builtin.errorProviderNotFound': '未找到内置服务商，请检查您的设置。',
  'builtin.errorApiKeyEmpty': 'API 密钥为空，请在设置中添加您的 API 密钥。',
  'builtin.parallelAgents': '并行子代理：{{count}}x（点击切换）',
  'builtin.baseUrlPlaceholder': 'https://api.example.com/v1',
  'builtin.teamDescription':
    '选择用于设计生成的模型。设置后，设计任务将自动委派给使用此模型的专业 Agent。',
  'builtin.teamDesignModel': '设计模型',
  'builtin.teamSelectModel': '无（单 Agent）',

  // ── ACP Agents ──
  'acp.title': 'ACP Agent',
  'acp.description': '连接外部 ACP 兼容的 Agent。',
  'acp.addAgent': '添加 Agent',
  'acp.empty': '尚未配置 ACP Agent。',
  'acp.displayName': '显示名称',
  'acp.displayNamePlaceholder': '例如：我的设计 Agent',
  'acp.connectionType': '连接类型',
  'acp.local': '本地进程',
  'acp.remote': '远程服务',
  'acp.command': '命令',
  'acp.commandPlaceholder': '/usr/bin/myagent',
  'acp.args': '参数',
  'acp.argsPlaceholder': '--stdio',
  'acp.env': '环境变量',
  'acp.envPlaceholder': 'KEY=VALUE（每行一条）',
  'acp.url': '地址',
  'acp.urlPlaceholder': 'ws://localhost:8100',
  'acp.connected': '已连接',
  'acp.notConnected': '未连接',
  'acp.connect': '连接',
  'acp.disconnect': '断开',
  'acp.localDesktopOnly': '本地 Agent 仅在桌面应用中可用。',

  // ── Figma Import ──
  'figma.title': '从 Figma 导入',
  'figma.dropFile': '将 .fig 文件拖放到此处',
  'figma.orBrowse': '或点击浏览',
  'figma.exportTip': '从 Figma 导出：文件 \u2192 保存本地副本 (.fig)',
  'figma.selectFigFile': '请选择一个 .fig 文件',
  'figma.noPages': '.fig 文件中未找到页面',
  'figma.parseFailed': '解析 .fig 文件失败',
  'figma.convertFailed': '转换 Figma 文件失败',
  'figma.parsing': '正在解析 .fig 文件...',
  'figma.converting': '正在转换节点...',
  'figma.selectPage': '此文件包含 {{count}} 个页面。选择要导入的页面：',
  'figma.layers': '{{count}} 个图层',
  'figma.importAll': '导入所有页面',
  'figma.importComplete': '导入完成！',
  'figma.moreWarnings': '...以及另外 {{count}} 条警告',
  'figma.tryAgain': '重试',
  'figma.layoutMode': '布局模式：',
  'figma.preserveLayout': '保留 Figma 布局',
  'figma.autoLayout': 'OpenPencil 自动布局',
  'figma.comingSoon': '即将推出',

  // ── Landing Page ──
  'landing.open': 'Open',
  'landing.pencil': 'Pencil',
  'landing.tagline': '开源矢量设计工具。设计即代码。',
  'landing.newDesign': '新建设计',
  'landing.shortcutHint': '按 {{key1}} + {{key2}} 创建新设计',

  // ── 404 ──
  'notFound.message': '页面未找到',

  // ── Component Browser ──
  'componentBrowser.title': 'UIKit 浏览器',
  'componentBrowser.exportKit': '导出套件',
  'componentBrowser.importKit': '导入套件',
  'componentBrowser.kit': '套件：',
  'componentBrowser.all': '全部',
  'componentBrowser.imported': '（已导入）',
  'componentBrowser.components': '组件',
  'componentBrowser.searchComponents': '搜索组件...',
  'componentBrowser.deleteKit': '删除 {{name}}',
  'componentBrowser.category.all': '全部',
  'componentBrowser.category.buttons': '按钮',
  'componentBrowser.category.inputs': '输入框',
  'componentBrowser.category.cards': '卡片',
  'componentBrowser.category.nav': '导航',
  'componentBrowser.category.layout': '布局',
  'componentBrowser.category.feedback': '反馈',
  'componentBrowser.category.data': '数据',
  'componentBrowser.category.other': '其他',

  // ── Variable Picker ──
  'variablePicker.boundTo': '已绑定到 --{{name}}',
  'variablePicker.bindToVariable': '绑定到变量',
  'variablePicker.unbind': '解除绑定',
  'variablePicker.noVariables': '未定义 {{type}} 类型的变量',
} as const;

export default zh;
