import type { TranslationResources } from "./en"; export const zhCN: TranslationResources = { common: { back: "返回", loading: "加载中...", actions: { back: "返回", cancel: "取消", close: "关闭", copy: "复制", dismiss: "关闭", retry: "重试", search: "搜索", select: "选择", }, placeholders: { search: "搜索...", }, empty: { noResults: "没有结果", noOptionsMatchSearch: "没有匹配搜索的选项。", }, states: { loading: "加载中...", starting: "正在开始...", copied: "已复制", copiedLabel: "已复制 {{label}}", downloadComplete: "下载完成", downloadFailed: "下载失败", }, errors: { error: "错误", unableToSave: "无法保存", nameRequired: "名称必填", daemonUnavailable: "Daemon 不可用", daemonClientUnavailable: "Daemon client 不可用", daemonClientDisconnected: "Daemon client 已断开连接", noFileFound: "未找到 {{token}} 对应的文件", unexpectedDictationError: "处理听写时发生意外错误。", }, connectionStatus: { online: "在线", connecting: "正在连接", offline: "离线", error: "错误", idle: "空闲", }, }, shell: { menu: { toggleSidebar: "切换侧边栏", open: "打开菜单", close: "关闭菜单", }, commandCenter: { placeholder: "搜索命令、工作区和 Agent...", noMatches: "没有匹配项", actions: "操作", workspaces: "工作区", agents: "Agents", newAgent: "新建 Agent", addProject: "添加 project", home: "首页", modelGroupLabel: "模型", modelSearchKeywords: "切换模型 更改模型 设置模型 选择模型", thinkingGroupLabel: "思考", thinkingSearchKeywords: "推理 努力 思考", modeGroupLabel: "模式", modeSearchKeywords: "访问 权限 批准 模式", planModeGroupLabel: "计划模式", planModeSearchKeywords: "计划 规划 计划模式", fastModeGroupLabel: "快速", fastModeSearchKeywords: "快速 速度 低延迟", settingOn: "开", settingOff: "关", }, }, composer: { placeholders: { desktop: "给 Agent 发消息,标记 @files,或使用 /commands 和 /skills", mobile: "发消息,@files,/commands", fallback: "输入消息...", }, input: { accessibilityLabel: "给 Agent 发消息...", focusHint: "{{shortcut}} 聚焦", addAttachment: "添加附件", interruptAgent: "中断 Agent", queueMessage: "消息排队", sendAndInterrupt: "发送并中断", sendMessage: "发送消息", queue: "排队", send: "发送", }, cancel: { cancelingAgent: "正在取消 Agent", stopAgent: "停止 Agent", interrupt: "中断", }, voice: { enableVoiceMode: "启用语音模式", voiceMode: "语音模式", unmuteVoiceMode: "取消静音语音模式", muteVoiceMode: "静音语音模式", stopDictation: "停止听写", startDictation: "开始听写", unmuteVoice: "取消静音", muteVoice: "静音", dictation: "听写", interruptBeforeVoice: "启动语音模式前请先中断 Agent", }, attachments: { addImage: "添加图片", addFile: "Upload file", addIssueOrPr: "添加 issue 或 PR", addIssueOrPr_mr: "添加 issue 或 MR", dropImagesHere: "将图片拖放到这里", dropFilesHere: "Drop files here", editQueuedMessage: "编辑排队消息", sendQueuedMessageNow: "立即发送排队消息", openImage: "打开图片附件", removeImage: "移除图片附件", removeFile: "Remove file attachment", openGithub: "打开 {{kind}} {{number}}", removeGithub: "移除 {{kind}} {{number}}", element: "元素", openBrowserElement: "打开浏览器元素附件", removeBrowserElement: "移除浏览器元素附件", openReview: "打开 review 附件", removeReview: "移除 review 附件", }, errors: { failedToSend: "发送消息失败", failedToCreateAgent: "创建 Agent 失败", noHostSelected: "未选择 Host", initialPromptRequired: "初始 prompt 必填", alreadyLoading: "正在加载", uploadFailed: "Failed to upload file", fileTooLarge: "{{fileName}} is too large (max {{size}})", }, clientCommands: { archiveAgent: "归档当前 Agent", freshDraft: "归档此 Agent 并开始新的草稿", }, github: { searching: "正在搜索...", noResults: "没有结果。", searchPlaceholder: "搜索 issues 和 PRs...", searchPlaceholder_mr: "搜索 issues 和 MRs...", title: "附加 issue 或 PR", title_mr: "附加 issue 或 MR", }, }, agentControls: { provider: { fallback: "Provider", select: "选择 Agent Provider", }, thinking: { title: "Thinking", unknown: "未知", extraHigh: "Extra high", select: "选择 thinking 选项", selectWithValue: "选择 thinking 选项({{value}})", }, model: { unknown: "未知 Model", }, features: { title: "Features", open: "打开 Agent features", on: "开启", off: "关闭", }, mode: { title: "Mode", searchPlaceholder: "搜索 modes...", selectWithValue: "选择 Agent mode({{value}})", }, hints: { thinking: "Thinking mode", model: "切换 Model", mode: "更改模式", }, }, agentStream: { empty: "开始和这个 Agent 对话...", scrollToBottom: "滚动到底部", permission: { plan: "Plan", required: "需要权限", deny: "拒绝", accept: "接受", implement: "实施", question: "你想如何继续?", proposedPlan: "建议计划", }, }, agentPanel: { states: { notFound: "未找到 Agent", failedToLoad: "加载 Agent 失败", reconnecting: "正在重连...", timelineSyncFailed: "无法刷新代理历史记录。正在重试…", archivingTitle: "正在归档 Agent...", archivingSubtitle: "请稍候,我们正在归档这个 Agent。", }, unavailable: { selectedHost: "选中的 Host", unknownHost: "无法打开此 Agent,因为此设备上未配置 {{serverLabel}}。", addHost: "请在设置中添加 Host,或打开已配置 server 上的 Agent 后继续。", preparingSession: "正在准备 {{serverLabel}} 会话...", connecting: "正在连接 {{serverLabel}}...", showSoon: "稍后将显示此 Agent。", showWhenOnline: "Host 在线后将显示此 Agent。", reconnectingTo: "正在重新连接 {{serverLabel}}...", showAgainWhenReachable: "Host 可访问后将再次显示此 Agent。", }, archived: { callout: "此 Agent 已归档", unarchive: "取消归档", }, }, sessions: { title: "历史", empty: "还没有会话", actions: { loadMore: "加载更多", }, }, agentList: { fallbackTitle: "新会话", dateSections: { recent: "最近", today: "今天", yesterday: "昨天", thisWeek: "本周", thisMonth: "本月", older: "更早", }, status: { initializing: "正在启动", idle: "空闲", running: "运行中", error: "错误", closed: "已关闭", }, badges: { archived: "已归档", pending: "{{count}} 个待处理", attention: "需要注意", }, archiveSheet: { hostOffline: "Host 离线", runningAgent: "此 Agent 仍在运行。归档会停止该 Agent。", archive: "归档", }, }, message: { actions: { copyCode: "复制代码", copyTurn: "复制回合", copyMessage: "复制消息", forkMenu: "分叉消息", forkInNewTab: "分叉到新标签页", forkInNewWorkspace: "分叉到新工作区", forkUnavailable: "请更新主机以使用此功能。", forkMissingWorkspace: "此 Agent 不在工作区中。", forkFailed: "分叉聊天失败", openFile: "打开文件", copied: "已复制", }, attachments: { dismissImage: "关闭图片", closeImage: "关闭图片", imageLoadFailed: "无法加载图片", imageUnavailable: "图片不可用", imagePreviewUnavailable: "图片预览不可用。", imagePreviewLoadFailed: "无法加载图片预览。", review: "审查", commentsOne: "1 条评论", commentsMany: "{{count}} 条评论", textAttachment: "文本附件", text: "文本", file: "文件", }, speak: { header: "已朗读", }, activity: { details: "详情", }, dictation: { start: "开始语音听写", cancel: "取消听写", retry: "重试听写", insert: "插入转写", insertAndSend: "插入转写并发送", failed: "听写失败:{{error}}", failedRetry: "听写失败。点按重试。", }, question: { submit: "提交", next: "下一步", answerPlaceholder: "输入你的回答...", otherPlaceholder: "其他...", }, todo: { title: "任务", empty: "还没有任务。", }, compaction: { loading: "正在压缩...", auto: "上下文已自动压缩", manual: "上下文已手动压缩", withTokens: "上下文已压缩({{tokens}}K tokens)", completed: "上下文已压缩", }, }, importSession: { title: "导入会话", filters: { all: "全部", }, status: { connectHost: "连接到 Host 以导入会话", updateHost: "更新 Host 以导入会话。", noProviders: "没有已启用的可导入 Provider。", loading: "正在加载最近会话...", failedAll: "无法加载最近会话。", failedProviders: "无法加载 {{providers}} 的会话。", failedImport: "无法导入所选会话。", }, actions: { refresh: "刷新会话", }, preview: { untitledSession: "未命名会话", noPrompt: "没有 prompt 预览", }, empty: { noRecent: "没有可导入的最近会话。", alreadyImported: "所有最近会话都已导入。", noProviderSessions: "没有找到 {{provider}} 会话。", }, row: { importing: "正在导入...", }, }, workspace: { route: { loading: "正在加载 workspace", connecting: "正在连接", hostOffline: "{{hostName}} 已离线", cannotReachHost: "无法连接 {{hostName}}", hostStatus: "Host 状态:{{status}}", needsHostUpgrade: "更新你的 Host 以恢复此 workspace", manageHost: "管理 Host", recovery: { archivedTitle: "Workspace 已归档", restoreDescription: "{{workspaceName}} 已归档,其 worktree 已移除。恢复分支 {{branch}} 以重新打开。", unarchiveDescription: "{{workspaceName}} 已归档。取消归档以重新打开。", restoreAction: "恢复", unarchiveAction: "取消归档", restoringTitle: "正在恢复 workspace", restoringAction: "正在恢复...", unavailableTitle: "Workspace 不可用", checkFailedTitle: "无法检查 workspace", }, }, hoverCard: { scriptsAccessibility: "Workspace scripts", copyPath: "复制路径", copyBranchName: "复制分支名称", copied: "已复制", }, fileActions: { openFile: "打开文件", copyPath: "复制路径", download: "下载", addToChat: "添加到聊天…", moreActions: "更多操作", }, fileExplorer: { sort: { name: "名称", modified: "修改时间", size: "大小", }, context: { size: "大小", modified: "修改时间", }, actions: { back: "返回", retry: "重试", refresh: "刷新文件", refreshing: "正在刷新文件", hideHiddenFiles: "隐藏隐藏文件", showHiddenFiles: "显示隐藏文件", }, empty: { noFiles: "没有文件", noVisibleFiles: "没有可见文件", }, states: { unavailable: "Workspace 不可用", loading: "正在加载文件...", }, errors: { failedToListDirectory: "列出目录失败", }, }, setup: { descriptor: { label: "Setup", completed: "Setup 已完成", failed: "Setup 失败", workspace: "Workspace setup", }, status: { running: "正在运行", completed: "已完成", failed: "失败", waiting: "正在等待 setup 输出", }, waiting: "正在 setup workspace...", empty: { noCommands: "此 workspace 没有运行 setup 命令。", }, accessibility: { noCommands: "此 workspace 没有运行 setup 命令", log: "Workspace setup 日志", }, log: { noOutput: "没有输出", }, }, browser: { unavailable: { title: "浏览器仅桌面端可用", subtitle: "在 Electron 中打开此 workspace 以使用内置浏览器。", }, session: "浏览器会话 {{browserId}}", controls: { back: "后退", forward: "前进", stopLoading: "停止加载", refresh: "刷新", browserUrl: "浏览器 URL", enterUrl: "输入 URL", openDevTools: "打开浏览器开发者工具", cancelSelector: "取消元素选择器", annotateElement: "标注元素", screenshotElement: "截图元素", screenshotCopied: "已将截图复制到剪贴板", elementCopied: "已将元素复制到剪贴板", screenshotFailed: "无法复制截图", }, annotate: { title: "标注元素", placeholder: "给智能体关于此元素的留言…", submit: "附加", cancel: "取消", }, devices: { label: "设备尺寸", responsive: "自适应", }, errors: { failedToLoad: "页面加载失败", invalidUrl: "浏览器 URL 无效", unsupportedProtocol: "已阻止不支持的浏览器 URL:{{protocol}}", }, }, terminal: { hostDisconnected: "Host 未连接", unableToSubscribe: "无法订阅 Terminal", }, tabs: { loading: "正在加载...", modified: "未保存的更改", loadingAgentTitle: "正在加载 Agent 标题", emptyPane: "此窗格中没有标签。", fallback: { newAgent: "新建 Agent", setup: "Setup", workspaceSetup: "Workspace setup", terminal: "Terminal", browser: "浏览器", agent: "Agent", workspace: "Workspace", }, switcher: { trigger: "切换标签(已打开 {{count}} 个)", title: "切换标签", searchPlaceholder: "搜索标签", }, menu: { openFor: "打开 {{label}} 的菜单", copyResumeCommand: "复制恢复命令", copyAgentId: "复制 Agent ID", copyTerminalId: "复制 Terminal ID", copyFilePath: "Copy file path", rename: "重命名", closeAbove: "关闭上方标签", closeBelow: "关闭下方标签", closeLeft: "关闭左侧标签", closeRight: "关闭右侧标签", closeOthers: "关闭其他标签", reloadAgent: "重新加载 Agent", reloadAgentTooltip: "重新加载 Agent 以更新 skills、MCPs 或登录状态。", close: "关闭", renameTerminal: "重命名 Terminal", renameAgent: "重命名 Agent", }, actions: { newAgent: "新建 Agent", newTerminal: "新建 Terminal", preparingTerminal: "正在准备 Terminal 标签", preparingTerminalTooltip: "正在准备 Terminal...", newBrowser: "新建浏览器", exitFocusMode: "退出专注模式", splitRight: "向右拆分窗格", splitDown: "向下拆分窗格", terminalProfilesMenu: "Terminal profiles", editTerminalProfiles: "Edit profiles…", pinTarget: "固定", unpinTarget: "取消固定", }, explorer: { open: "打开 explorer", close: "关闭 explorer", toggle: "切换 explorer", changes: "变更", files: "文件", }, toasts: { copyFailed: "复制失败", agentIdCopiedLabel: "Agent ID", terminalIdCopiedLabel: "Terminal ID", resumeCommandCopiedLabel: "恢复命令", filePathCopiedLabel: "File path", resumeIdUnavailable: "恢复 ID 不可用", resumeCommandUnavailable: "恢复命令不可用", reloadingAgent: "正在重新加载 Agent...", reloadedAgent: "已重新加载 Agent", failedToReloadAgent: "重新加载 Agent 失败", }, confirmations: { unsavedTitle: "未保存的更改", unsavedMessage: "此标签页有尚未保存的更改。关闭将丢弃草稿。", closeWithoutSaving: "不保存并关闭", closePaneTitle: "关闭面板?", bulkUnsaved: "{{count}} 个标签页有未保存的更改。关闭将丢弃这些草稿。", close: "关闭", cancel: "取消", archive: "归档", closeTerminalTitle: "关闭 Terminal?", closeTerminalMessage: "此 Terminal 中任何正在运行的进程都会立即停止。", archiveRunningAgentTitle: "归档正在运行的 Agent?", archiveRunningAgentMessage: "此 Agent 仍在运行。归档会停止该 Agent 并关闭标签。", closeTabsLeftTitle: "关闭左侧标签?", closeTabsRightTitle: "关闭右侧标签?", closeOtherTabsTitle: "关闭其他标签?", bulk: { all: "这会归档 {{agents}} 个 Agent,关闭 {{terminals}} 个 Terminal,并关闭 {{tabs}} 个标签。已关闭 Terminal 中任何正在运行的进程都会立即停止。", agentsAndTerminals: "这会归档 {{agents}} 个 Agent,并关闭 {{terminals}} 个 Terminal。已关闭 Terminal 中任何正在运行的进程都会立即停止。", terminalsAndTabs: "这会关闭 {{terminals}} 个 Terminal,并关闭 {{tabs}} 个标签。已关闭 Terminal 中任何正在运行的进程都会立即停止。", agentsAndTabs: "这会归档 {{agents}} 个 Agent,并关闭 {{tabs}} 个标签。", terminals: "这会关闭 {{terminals}} 个 Terminal。已关闭 Terminal 中任何正在运行的进程都会立即停止。", tabs: "这会关闭 {{tabs}} 个标签。", agents: "这会归档 {{agents}} 个 Agent。", }, }, }, header: { actions: { workspaceActions: "Workspace 操作", newAgent: "新建 Agent", newTerminal: "新建 Terminal", newBrowser: "新建浏览器标签", importSession: "导入会话", copyPath: "复制 workspace 路径", copyBranchName: "复制分支名称", showSetup: "显示 setup", }, toasts: { workspacePathUnavailable: "Workspace 路径尚不可用", branchNameUnavailable: "分支名称不可用", terminalQueued: "正在准备 workspace,Terminal 准备好后会打开...", workspacePathCopiedLabel: "Workspace 路径", branchNameCopiedLabel: "分支名称", }, }, scripts: { title: "Scripts", actions: { chooseUrl: "选择 URL", copyUrl: "复制 URL", openService: "查看服务", restart: "重启", run: "运行", stop: "停止", view: "查看终端", }, accessibility: { trigger: "Workspace scripts", openService: "查看 {{scriptName}} 服务", viewTerminal: "查看 {{scriptName}} Terminal", runScript: "运行 {{scriptName}} script", stopScript: "停止 {{scriptName}}", restartScript: "重启 {{scriptName}}", copyUrl: "复制 {{scriptName}} 的 URL", chooseUrl: "选择 {{scriptName}} 的 URL", script: "{{scriptName}} script", }, routes: { public: "反向代理", paseo: "Memorable", direct: "直接地址", }, states: { exitCode: "exit {{code}}", startFailed: "启动 {{scriptName}} 失败", stopFailed: "停止 {{scriptName}} 失败", }, }, git: { actions: { moreOptions: "更多选项", moreActions: "更多操作", commit: { label: "Commit", pending: "正在 commit...", success: "已 commit", }, pull: { label: "Pull", pending: "正在 pull...", success: "已 pull", }, push: { label: "Push", pending: "正在 push...", success: "已 push", }, pullAndPush: { label: "Pull 并 push", pending: "正在 pull 并 push...", success: "已 pull 并 push", }, viewPr: "查看 PR", createPr: { label: "创建 PR", pending: "正在创建 PR...", success: "PR 已创建", label_mr: "创建 MR", pending_mr: "正在创建 MR...", success_mr: "MR 已创建", }, mergeBranch: { label: "本地 merge", pending: "正在 merge...", success: "已 merge", }, mergeFromBase: { label: "从 {{baseRef}} 更新", pending: "正在更新...", success: "已更新", }, archive: { label: "归档工作区", pending: "正在归档...", success: "已归档", }, mergePr: { squash: "Merge PR (squash)", merge: "Merge PR (merge)", rebase: "Merge PR (rebase)", pending: "正在 merge PR...", success: "PR 已 merge", squash_mr: "Merge MR (squash)", merge_mr: "Merge MR (merge)", rebase_mr: "Merge MR (rebase)", pending_mr: "正在 merge MR...", success_mr: "MR 已 merge", }, viewPr_mr: "查看 MR", autoMerge: { enableSquash: "Auto merge (squash)", enableMerge: "Auto merge (merge)", enableRebase: "Auto merge (rebase)", enabled: "Auto-merge 已启用", enabling: "正在启用 auto-merge...", disabling: "正在禁用 auto-merge...", disabled: "Auto-merge 已禁用", }, unavailable: { viewPrNoForge: "当前无法查看 {{noun}},因为 {{brand}} 未连接", pullNoRemote: "此处无法 pull,因为此分支尚未连接到 remote", pullDirty: "有本地变更时无法 pull,请先 commit 或 stash", pullUpToDate: "无法 pull,因为此分支已是最新", pushNoRemote: "此处无法 push,因为此分支尚未连接到 remote", pushBehind: "暂时无法 push,因为需要先拉取更新的变更", pushNothing: "无法 push,因为没有新的内容可发送", pullAndPushNoRemote: "此处无法 pull 并 push,因为此分支尚未连接到 remote", pullAndPushDirty: "有本地变更时无法 pull 并 push,请先 commit 或 stash", pullAndPushNoIncoming: "无法 pull 并 push,因为没有需要先 pull 的传入变更", pullAndPushInSync: "无法 pull 并 push,因为此分支已同步", pullAndPushNothingToPush: "无法 pull 并 push,因为 pull 之后没有新的内容可发送", createPrNoForge: "当前无法创建 {{noun}},因为 {{brand}} 未连接", createPrNoCommits: "无法创建 PR,因为此分支还没有新的 commit", mergeNoBase: "无法 merge,因为无法确定 base branch", mergeDirty: "有本地变更时无法 merge,请先 commit 或 stash", mergeNothing: "无法 merge,因为此分支没有可 merge 的新内容", updateNoBase: "无法更新,因为无法确定 base branch", updateDirty: "有本地变更时无法更新,请先 commit 或 stash", updateCurrent: "无法更新,因为此分支已与 {{baseRef}} 保持最新", mergePrNoGithub: "当前无法 merge PR,因为 GitHub 未连接", archiveNotWorktree: "此处无法归档,因为此 workspace 不是作为 Paseo worktree 创建的", mergePrNoForge: "当前无法 merge {{noun}},因为 {{brand}} 未连接", mergePrMissing: "无法 merge PR,因为还没有 pull request", mergePrDraft: "无法 merge PR,因为 pull request 仍是 draft", mergePrMerged: "无法 merge PR,因为 pull request 已 merge", mergePrClosed: "无法 merge PR,因为 pull request 已关闭", mergePrConflicts: "无法 merge PR,因为 pull request 存在冲突", mergePrQueue: "此处无法 merge PR,因为此 repository 使用 merge queue", mergePrNotReady: "{{brand}} 报告 {{noun}} 可 merge 后才能 merge {{noun}}", autoMergeCannotDisable: "Auto-merge 已启用,但此账号无法禁用", }, toasts: { failedCommit: "Commit 失败", failedPull: "Pull 失败", failedPush: "Push 失败", failedPullAndPush: "Pull 并 push 失败", failedCreatePr: "创建 PR 失败", failedMergePr: "Merge PR 失败", failedEnableAutoMerge: "启用 auto-merge 失败", failedDisableAutoMerge: "禁用 auto-merge 失败", baseRefUnavailable: "Base ref 不可用", failedMerge: "Merge 失败", failedMergeFromBase: "从 base merge 失败", }, archiveWarning: { title: "归档「{{workspaceName}}」?", confirm: "归档", cancel: "取消", uncommittedChanges: "未 commit 的变更", uncommittedChangesWithDiff: "未 commit 的变更({{diffStat}})", addedLine: "新增 {{count}} 行", addedLines: "新增 {{count}} 行", deletedLine: "删除 {{count}} 行", deletedLines: "删除 {{count}} 行", unpushedCommit: "{{count}} 个未 push 的 commit", unpushedCommits: "{{count}} 个未 push 的 commit", }, }, diff: { openChangesTab: "打开“更改”标签页", closeChangesTab: "关闭“更改”标签页", binaryFile: "二进制文件", tooLarge: "Diff 过大,无法显示", previewTooLargeTitle: "此 diff 过大,无法预览", previewTooLargeDescription: "缩小比较范围即可在此预览", unified: "Unified diff", split: "Side-by-side diff", switchToUnified: "切换到统一差异视图", switchToSplit: "切换到并排差异视图", showTreeView: "显示文件夹树", showFlatView: "显示平铺文件列表", options: "Diff 选项", hideWhitespace: "隐藏空白差异", showWhitespace: "显示空白差异", scrollLongLines: "滚动长行", wrapLongLines: "自动换行长行", collapseAll: "折叠所有文件", expandAll: "展开所有文件", collapseAllFolders: "折叠所有文件夹", expandAllFolders: "展开所有文件夹", refreshing: "正在刷新", refresh: "刷新", refreshState: "刷新 git 和 {{brand}} 状态", failedRefresh: "刷新 git 状态失败。", emptyHiddenWhitespace: "隐藏空白差异后没有可见变更", emptyUncommitted: "没有未 commit 的变更", emptyAgainstBase: "相对于 {{baseRef}} 没有变更", checkingRepository: "正在检查 repository...", notRepository: "不是 git repository", diffMode: "Diff 模式", uncommitted: "未 commit", committed: "已 commit", branchUnknown: "未知", base: "base", newFile: "新增", deletedFile: "已删除", commits: { title: "提交", countLabel: "{{count}} 个工作区提交", noneAhead: "尚无领先于 {{baseRef}} 的提交", fileDiffEmpty: "没有可显示的更改", fileDiffError: "加载文件差异失败", loading: "正在加载提交…", loadError: "加载提交失败", empty: "暂无提交", }, }, openInEditor: { open: "打开", chooseEditor: "选择编辑器", openIn: "在 {{target}} 中打开 workspace", openFileIn: "在 {{target}} 中打开 {{fileName}}", failedOpen: "打开 workspace 失败", }, pr: { actions: { viewPullRequest: "查看", openOn: "在 {{brand}} 上打开", }, sections: { checks: "Checks", pipeline: "流水线", reviews: "Reviews", }, empty: { noJobs: "无作业", loadingPipeline: "正在加载流水线...", pipelineJobsLoadFailed: "无法加载流水线作业", allowedToFail: "允许失败", }, approvals: "{{given}} / {{required}} 批准", accessibility: { pullRequest: "Pull request #{{number}}", pullRequest_mr: "合并请求 !{{number}}", }, states: { draft: "Draft", merged: "已 merge", closed: "已关闭", open: "Open", }, activity: { commented: "已评论", approved: "已批准", requestedChanges: "请求修改", reviewed: "已 review", }, time: { justNow: "刚刚", }, thread: { discussion: "讨论主题", }, errors: { statusLoadFailed: "无法加载 Pull Request 状态", activityLoadFailed: "无法加载 Pull Request 活动", }, }, forgeSetup: { installCli: "安装 {{cli}} CLI 以使用 {{brand}} 功能。", signIn: "运行 {{command}} 以使用 {{brand}} 功能。", generic: "在此主机上设置 {{brand}} 以使用其功能。", }, }, }, sidebar: { pinned: { title: "已置顶", }, host: { noHost: "没有 Host", switchTitle: "切换 Host", searchPlaceholder: "搜索 Hosts...", }, actions: { addProject: "添加 project", newWorkspace: "新建工作区", hosts: "Hosts", home: "首页", settings: "设置", closeSidebar: "关闭侧边栏", }, help: { trigger: "帮助与支持", sectionHelp: "帮助", diagnostics: "运行诊断", shortcuts: "键盘快捷键", reportIssue: "报告问题", discord: "Discord", github: "创建 GitHub Issue", whatsNew: "新功能", version: "Paseo {{version}}", }, sections: { sessions: "历史", schedules: "计划", }, worktreeSetup: { title: "设置 worktree scripts", description: "添加 setup 命令,让新的 worktree 自动安装依赖并完成准备。", openProjectSettings: "打开 project 设置", }, project: { actions: { menu: "Project 操作", openSettings: "打开 project 设置", openNewWindow: "在新窗口中打开", openNewWindowFailed: "无法打开新窗口", openFolder: "Open in file manager", openFolderFailed: "Couldn't open folder", remove: "移除 project", removing: "正在移除...", }, confirmations: { removeTitle: "移除 project?", removeMessage: "从侧边栏移除「{{projectName}}」?\n\n磁盘上的文件不会被更改。", removeConfirm: "移除", cancel: "取消", }, toasts: { hostDisconnected: "Host 未连接", removeFailed: "部分 workspace 移除失败", updateHostToRemove: "更新 host 以移除 projects。", }, empty: { title: "还没有 projects", description: "添加 project 以开始", }, }, workspace: { status: { scriptsAvailable: "有可用 scripts", creating: "正在创建...", }, actions: { menu: "Workspace 操作", newWorkspace: "新建 workspace", showMore: "显示更多", showLess: "收起", createWorkspaceFor: "为 {{projectName}} 新建 workspace", copyPath: "复制路径", copyBranchName: "复制分支名称", rename: "重命名 workspace", pin: "置顶", unpin: "取消置顶", archive: "归档", archiveWorkspace: "归档工作区", hideFromSidebar: "从侧边栏隐藏", archiving: "正在归档...", hiding: "正在隐藏...", }, confirmations: { hideTitle: "隐藏 workspace?", hideMessage: "从侧边栏隐藏「{{workspaceName}}」?\n\n磁盘上的文件不会被更改。", hideConfirm: "隐藏", cancel: "取消", }, rename: { title: "重命名 workspace", submit: "重命名", invalidBranchName: "无效的分支名称", }, toasts: { workspacePathUnavailable: "Workspace 路径不可用", pathCopied: "路径已复制", branchNameCopied: "分支名称已复制", hostDisconnected: "Host 未连接", hideFailed: "隐藏 workspace 失败", archiveFailed: "归档工作区失败", }, }, }, newWorkspace: { title: "新建 workspace", create: "创建", isolation: { local: "本地", worktree: "新建 worktree", label: "隔离", }, fields: { project: "项目", base: "基线", baseNotApplicable: "不适用", }, titlePlaceholder: "标题(可选)", errors: { hostDisconnected: "Host 未连接", createWorktreeFailed: "创建 worktree 失败", composerStateRequired: "Composer 状态必填", selectModel: "请选择模型", }, refPicker: { startingRef: "起始 ref", chooseStart: "选择起始位置", intoBase: "进入 {{baseRef}}", searching: "正在搜索...", noMatchingRefs: "没有匹配的 refs。", searchPlaceholder: "搜索分支和 PR", title: "起始位置", }, }, desktop: { quitting: { title: "正在退出 Paseo...", detail: "正在停止本地 daemon。", }, daemon: { title: "Daemon", status: { title: "状态", builtInOnly: "这里只显示内置桌面 daemon", running: "running", notRunning: "not running", pid: "PID {{pid}}", }, management: { title: "管理内置 daemon", hint: "让 Paseo 启动和停止内置 daemon", pauseTitle: "暂停内置 daemon", pauseMessage: "这会立即停止内置 daemon。连接到内置 daemon 的运行中 agents 和 terminals 会被停止。", pauseAndStop: "暂停并停止", registrationFailed: "内置 daemon 已启动,但 Paseo 无法保存 localhost 连接。请关闭后重新开启 daemon 管理,或手动添加 localhost。", pausedStopFailed: "内置 daemon 管理已暂停,但 Paseo 无法停止 daemon。", updateFailed: "无法更新内置 daemon 管理设置。", }, keepRunning: { title: "退出后保持 daemon 运行", hint: "退出 Paseo 后 daemon 会继续运行", }, logs: { title: "日志文件", modalTitle: "Daemon 日志", unavailable: "日志路径不可用", empty: "(日志文件为空)", copied: "日志路径已复制。", copyFailed: "无法复制日志路径。", open: "打开日志", copyPath: "复制路径", }, fullStatus: { title: "完整状态", modalTitle: "Daemon 状态", hint: "运行 `paseo daemon status` 并显示输出", view: "查看状态", copied: "状态已复制到剪贴板。", fetchFailed: "获取 daemon 状态失败:{{message}}", }, advancedSettings: "高级设置", openAdvancedSettings: "打开 daemon 高级设置", versionMismatch: "App 和 daemon 版本不匹配。请将两者更新到相同版本,以获得最佳体验。", loadFailed: "无法加载桌面 daemon 状态。", }, updates: { status: { checking: "正在检查 app 更新...", installing: "正在安装 app 更新...", upToDate: "App 已是最新版本。", upToDateWithLastChecked: "已是最新版本。上次检查时间:{{time}}。", pending: "更新准备好后会通知你。", pendingWithLastChecked: "更新准备好后会通知你。上次检查时间:{{time}}。", pendingWithVersion: "发现更新:{{version}}。正在下载...", pendingWithVersionAndLastChecked: "发现更新:{{version}}。正在下载... 上次检查时间:{{time}}。", availableWithVersion: "更新已就绪:{{version}}", availableWithVersionAndLastChecked: "更新已就绪:{{version}}。上次检查时间:{{time}}。", available: "有 app 更新可安装。", availableWithLastChecked: "有 app 更新可安装。上次检查时间:{{time}}。", installed: "App 更新已安装。需要重启。", failed: "App 更新失败。", idle: "尚未检查更新状态。", }, installError: "无法安装 desktop app 更新。", callout: { installingTitle: "正在安装更新", failedTitle: "更新失败", availableTitle: "有可用更新", genericError: "出了点问题。", whatsNew: "更新内容", installingAction: "正在安装...", installAndRestart: "安装并重启", installingDescription: "正在安装并重启...", versionReady: "{{version}} 已准备好安装。", newVersionReady: "新版本已准备好安装。", restartWarning: "升级 app 会停止正在运行的 agents,并关闭 terminal 会话。", }, }, settings: { loadFailed: "无法加载桌面设置。", saveFailed: "无法保存桌面设置。", }, rosetta: { title: "下载 Apple Silicon 构建", runningIntel: "你正在 Apple Silicon 上通过 Rosetta 运行 Paseo 的 Intel 构建。", highCpu: "这会导致较高 CPU 使用率。下载 Apple Silicon 构建即可修复。", download: "下载", }, permissions: { notifications: { allowed: "系统已允许通知。", denied: "系统设置中已拒绝通知。", notGranted: "通知权限尚未授予。", webOnly: "桌面通知状态仅在 web runtime 中可用。", supported: "支持桌面通知。", unsupported: "此平台不支持桌面通知。", apiUnavailable: "此环境中 Web Notification API 不可用。", requestsWebOnly: "桌面通知请求仅在 web runtime 中可用。", requestUnavailable: "Web Notification API requestPermission() 不可用。", requestFailed: "请求通知权限失败:{{message}}", unexpectedState: "意外的通知权限状态:{{state}}", }, microphone: { webOnly: "桌面麦克风状态仅在 web runtime 中可用。", navigatorUnavailable: "此环境中 Navigator 不可用。", granted: "已授予麦克风访问权限。", denied: "系统设置中已拒绝麦克风访问。", notGranted: "麦克风权限尚未授予。", unexpectedState: "意外的麦克风权限状态:{{state}}", statusApiUnavailable: "此 runtime 中麦克风状态 API 不可用。请使用请求来检查访问权限。", queryFailed: "查询麦克风状态失败:{{message}}", captureUnavailable: "此环境中麦克风采集不可用。", permissionApiUnavailable: "权限状态 API 不可用。请使用请求来检查访问权限。", requestsWebOnly: "桌面麦克风请求仅在 web runtime 中可用。", captureApiUnavailable: "此环境中麦克风采集 API 不可用。", requestDenied: "用户或系统拒绝了麦克风权限。", noDevice: "未找到麦克风设备。", requestFailed: "请求麦克风权限失败:{{message}}", }, empty: { notifications: "尚未检查通知状态。", microphone: "尚未检查麦克风状态。", }, testNotification: { title: "Paseo 通知测试", body: "如果你能看到这条通知,说明桌面通知可用。", notDelivered: "通知未送达。请检查 System Settings > Notifications。", failed: "发送通知失败。", }, }, integrations: { cli: { statusFailed: "无法检查 CLI 安装状态。", installFailed: "无法安装 Paseo CLI。", }, skills: { statusFailed: "无法检查编排 skills 状态。", installFailed: "无法安装编排 skills。", updateFailed: "无法更新编排 skills。", uninstallFailed: "无法卸载编排 skills。", saveSelectionFailed: "无法保存编排 skills 的选择。", }, }, }, rootError: { kicker: "出现问题", title: "Paseo 遇到了问题。", body: "请重试以重新加载应用。如果问题持续发生,请在报告时附上下面的详细信息。", details: "详情", }, startup: { errorTitle: "出现问题", errorDescription: "本地服务器启动失败。如果持续发生,请在 GitHub 报告问题并附上下方日志。", logs: { loading: "正在加载 daemon 日志...", unavailable: "没有可用的 daemon 日志。", loadFailed: "无法加载 daemon 日志:{{message}}", }, }, openProject: { tiles: { addProject: { title: "添加 project", description: "打开此机器上的文件夹", }, importSession: { title: "导入会话", description: "导入最近的外部 CLI 会话", }, setupProviders: { title: "设置 providers", description: "配置 Claude Code、Codex 等", }, pairDevice: { title: "配对设备", description: "将手机连接到此 daemon", }, }, }, projectPicker: { placeholder: "输入以搜索...", browse: "浏览…", opening: "正在打开 project...", searching: "正在搜索...", empty: "开始输入路径", errors: { directory_not_found: "找不到目录。", open_failed: "无法打开项目。", }, openPath: "打开路径", }, branchSwitcher: { currentBranch: "当前分支:{{branchName}}。按下以切换分支。", placeholder: "切换分支...", searchPlaceholder: "筛选分支...", empty: "没有找到分支。", title: "切换分支", uncommittedTitle: "未 commit 的变更", uncommittedMessage: "你有未 commit 的变更。切换分支前要先 stash 吗?", stashAndSwitch: "Stash 并切换", failedToStash: "Stash 变更失败", failedToSwitch: "切换分支失败", restoreStashTitle: "恢复 stashed 变更?", restoreStashMessage: "此分支有上一会话 stashed 的变更。要恢复它们吗?", restore: "恢复", later: "稍后", stashRestored: "Stashed 变更已恢复", }, agentAutocomplete: { searchingWorkspace: "正在搜索 workspace...", loadingCommands: "正在加载 commands...", noFiles: "没有找到文件或目录", noCommands: "没有找到 commands", failedToLoad: "加载失败", }, loadOlderHistory: { failed: "无法加载更早历史", }, imageAttachmentPicker: { permissionTitle: "需要权限", permissionMessage: "请允许访问照片图库以附加图片。", errorTitle: "错误", failedToSelect: "选择图片失败", dialogTitle: "附加图片", dialogFilterName: "图片", }, workspaceSetup: { title: "创建 workspace", errors: { failedCreateWorktree: "创建 worktree 失败", failedOpenProject: "打开 project 失败", selectModel: "请选择模型", hostDisconnected: "Host 未连接", pendingRequired: "没有待处理的 workspace setup", composerStateRequired: "Workspace setup composer 状态必填", }, }, onboarding: { title: "欢迎使用 Paseo", subtitle: "连接你的电脑即可开始", actions: { settings: "设置", }, }, modelSelector: { title: "选择 provider", selectModel: "选择模型", selectedModel: "选择模型({{model}})", loading: "正在加载...", loadingShort: "正在加载", loadingSelector: "正在加载模型选择器...", error: "错误", defaultModel: "默认", favorites: "收藏", favoriteModel: "收藏模型", unfavoriteModel: "取消收藏模型", modelCount: "{{count}} 个模型", modelCountPlural: "{{count}} 个模型", retry: "重试", retrying: "正在重试...", noMatches: "没有匹配的模型", searchPlaceholder: "搜索模型...", openProviderSettings: "打开 {{provider}} 设置", }, providerCatalog: { title: "添加 provider", search: "搜索 providers", noProviders: "未找到 providers", actions: { add: "添加", adding: "正在添加", installed: "已安装", cancel: "取消", installInstructions: "安装说明", installInstructionsFor: "{{provider}} 安装说明", }, errors: { unableToInstall: "无法安装 provider", }, }, providerSelection: { defaultModel: "默认", selectModel: "选择模型", loading: "正在加载...", error: "错误", unavailable: "不可用", unknownError: "未知错误", readiness: { initialPromptRequired: "初始 prompt 必填", noProviders: "所选 Host 上没有可用的 provider", modelDefaultsLoading: "模型默认值仍在加载", noModelAvailable: "所选 provider 没有可用模型", workspaceDirectoryNotFound: "Workspace 目录未找到", hostDisconnected: "Host 未连接", }, }, pairing: { connectionMethods: { title: "添加连接", direct: { title: "直接连接", description: "本地网络或 VPN。", }, scanQr: { title: "扫描二维码", description: "加密 relay 连接。", }, pasteLink: { title: "粘贴配对链接", description: "加密 relay 连接。", }, }, direct: { title: "直接连接", helper: "输入 Paseo server 的地址。", fields: { host: "Host", port: "端口", password: "密码", optional: "可选", useSsl: "使用 SSL", connectionUri: "连接 URI", }, advanced: { label: "高级", show: "显示高级选项", hide: "隐藏高级选项", }, passwordVisibility: { show: "显示密码", hide: "隐藏密码", }, actions: { cancel: "取消", connect: "连接", connecting: "正在连接...", }, errors: { hostRequired: "Host 必填", invalidPort: "端口必须在 1 到 65535 之间", invalidConnection: "无效连接", failedTitle: "连接失败", failedToConnect: "无法连接到 {{endpoint}}。", noAdditionalDetails: "{{detail}}(未提供更多详情)", timedOut: "连接超时。请检查 host/port 和网络。", refused: "连接被拒绝。server 是否正在此地址运行?", hostNotFound: "未找到 host。请检查主机名后重试。", hostUnreachable: "Host 不可达。请检查网络和防火墙。", tlsError: "TLS 错误。只有 daemon 前方有 TLS terminator 时,直接连接才使用 SSL。", unableToConnect: "无法连接。请检查 host/port,并确认 daemon 可达。", details: "详情:{{detail}}", }, }, link: { title: "粘贴配对链接", helper: "粘贴来自 server 的配对链接。", label: "配对链接", errors: { required: "请粘贴配对链接(.../#offer=...)", missingOffer: "链接必须包含 #offer=...", emptyOffer: "Offer payload 为空", invalid: "无效的配对链接", unableToPair: "无法配对 host", }, alert: { failedTitle: "配对失败", }, actions: { cancel: "取消", pair: "配对", pairing: "正在配对...", }, }, scan: { title: "扫描二维码", webUnavailableTitle: "Web 上不可用", webUnavailableBody: "Web build 不支持二维码扫描。请改用“粘贴链接”。", backToSettings: "返回设置", cameraPermissionTitle: "相机权限", cameraPermissionBody: "允许相机访问,以扫描 daemon 提供的配对二维码。", grantPermission: "授予权限", pairing: "正在配对...", unableToPair: "无法配对 host", errorTitle: "错误", }, device: { loadingOffer: "正在加载配对 offer...", failedToLoadOffer: "加载配对 offer 失败。", relayDisabled: "Relay 未启用。启用 relay 后才能配对设备。", enableTitle: "启用中继?", enableDescription: "中继让此设备可以从任何地方连接。配对流量采用端到端加密。", relayDocs: "中继如何工作", relayDocsAccessibility: "阅读 Paseo 中继的工作原理", enableRelay: "启用中继", enablingRelay: "正在启用...", notNow: "暂不", directConnectionHint: "不使用中继时,请通过 TCP、Tailscale 或其他 VPN 直接连接。不会生成二维码。", updateRequired: "请更新主机,以便从 Paseo Desktop 启用中继。", unavailable: "配对 offer 不可用。", hint: "用手机上的 Paseo 扫描此二维码,或复制下方链接。", qrUnavailable: "二维码不可用。", qrAccessibility: "配对二维码", retry: "重试", copy: "复制", copied: "已复制", }, }, realtimeVoice: { actions: { mute: "静音 realtime voice", unmute: "取消静音 realtime voice", stop: "停止 realtime voice 并中断 turn", }, }, rewind: { tooltip: "回退到此消息", warning: "此操作无法撤销", actions: { conversation: "回退对话", files: "回退文件", both: "回退对话和文件", }, errors: { failed: "回退 agent 失败", }, }, diffViewer: { empty: "没有可显示的变更", }, serviceUrl: { title: "打开服务 URL", message: "打开 {{url}}?", inPaseo: "在 Paseo 中", externalBrowser: "外部浏览器", dontAskAgain: "不再询问", }, downloads: { requestTokenFailed: "请求下载 token 失败。", hostUnavailable: "下载 Host 不可用。", cancelled: "下载已取消。", failed: "下载文件失败。", shareFile: "共享文件", shareFileNamed: "共享 {{fileName}}", }, menu: { backdrop: "菜单背景", }, subagents: { detachAction: "分离 {{label}}", detachTooltip: "分离 subagent", archiveAction: "归档 {{label}}", archiveTooltip: "归档 subagent", archiveFinishedAction: "归档已完成的 subagent", archiveFinishedTooltip: "归档已完成项", }, panels: { draft: { newAgent: "新建 Agent", creatingAgent: "正在创建 Agent", }, file: { directoryMissing: "未找到 workspace 目录。", loading: "正在加载文件...", noPreview: "没有可用预览", binaryPreviewUnavailable: "二进制预览不可用", failedToLoad: "加载文件失败", failedToLoadPreview: "加载文件预览失败", editor: { fileSize: "文件大小 {{size}}", lines: "{{count}} 行", editorStatus: "编辑器状态 {{status}}", unsavedChanges: "未保存的更改", saving: "正在保存...", saveFailed: "保存失败", changedOnDisk: "磁盘上的文件已更改", vimMode: "Vim 模式 {{mode}}", cursor: "第 {{line}} 行,第 {{column}} 列", preview: "预览", source: "源代码", deletedTitle: "文件已从磁盘删除", checkFailedTitle: "无法检查磁盘上的文件", preservedDescription: "打开的副本已保留。", conflictDescription: "本地内容已保留。请选择要保留的版本。", overwrite: "覆盖", reload: "重新加载", reloadTitle: "从磁盘重新加载?", reloadMessage: "本地更改将丢失。", }, }, diff: { changesLabel: "更改", changesSubtitle: "工作区差异", commitSubtitle: "提交差异", uncommittedSubtitle: "未提交的更改", baseSubtitle: "与 {{baseRef}} 比较", directoryMissing: "未找到 workspace 目录。", empty: "没有更改", loadError: "加载差异失败", capabilityMissing: "请更新主机以查看提交差异。", }, }, toolCallDetails: { error: "错误", empty: "没有可用的更多详情", subAgentActivity: "Sub-agent 活动", input: "输入", output: "输出", }, toolCallGroup: { editedFiles: { one: "编辑了 {{count}} 个文件", other: "编辑了 {{count}} 个文件", }, commands: { one: "运行了 {{count}} 个命令", other: "运行了 {{count}} 个命令", }, readFiles: { one: "读取了 {{count}} 个文件", other: "读取了 {{count}} 个文件", }, searches: { one: "搜索了 {{count}} 次", other: "搜索了 {{count}} 次", }, otherTools: { one: "使用了 {{count}} 个其他工具", other: "使用了 {{count}} 个其他工具", }, paseoCalls: { one: "调用了 Paseo {{count}} 次", other: "调用了 Paseo {{count}} 次", }, and: "并", }, renameModal: { rename: "重命名", saving: "正在保存...", }, sidebarCallout: { dismiss: "关闭", }, contextWindow: { title: "上下文窗口", used: "已使用 {{percentage}}%", tokens: "{{used}} / {{max}} tokens", sessionCost: "会话费用 {{cost}}", accessibility: "上下文窗口已使用 {{percentage}}%", }, review: { comment: { add: "添加 review 评论", edit: "编辑 review 评论", delete: "删除 review 评论", label: "Review 评论", placeholder: "留下评论", cancel: "取消", cancelAccessibility: "取消 review 评论", save: "评论", saveAccessibility: "保存 review 评论", }, }, settings: { title: "设置", loading: "正在加载设置...", groups: { app: "应用", host: "主机", }, hostPicker: { switchHost: "切换主机", local: "本机", }, backToWorkspace: "返回", addHost: "添加主机", enableBuiltInDaemon: "启用内置 daemon", projects: "项目", projectList: { hostLoadFailed: "无法从 Host {{hostName}} 加载 projects:{{message}}", editProject: "编辑 {{projectName}}", }, groupInfo: "关于 {{title}}", sections: { general: "通用", appearance: "外观", editor: "编辑器", shortcuts: "快捷键", integrations: "集成", permissions: "权限", diagnostics: "诊断", about: "关于", }, editor: { title: "编辑器", vimKeybindings: "Vim 键位", vimHint: "适用于网页和桌面端的源文件。", }, hostSections: { projects: "项目", connections: "连接", agents: "Agents", workspaces: "Workspaces", providers: "Providers", usage: "使用情况", terminals: "Terminals", host: "概览", }, general: { title: "通用", browserData: { title: "浏览器数据", siteData: "Cookie 和网站数据", description: "浏览器标签页在 Paseo 中共享登录状态和网站数据。", clear: "清除浏览器数据", clearing: "正在清除...", confirmTitle: "清除浏览器数据?", confirmMessage: "网站帐号将退出登录,打开的浏览器标签页将重新加载。", success: "浏览器数据已清除。", error: "无法清除浏览器数据。", }, defaultSend: { label: "默认发送", descriptions: { interrupt: "Agent 运行时,Enter 会中断。Command/Ctrl+Enter 会排队。", queue: "Agent 运行时,Enter 会排队。Command/Ctrl+Enter 会提交。", }, options: { interrupt: "中断", queue: "排队", }, }, serviceUrls: { label: "服务 URL", description: "运行脚本中的 URL 打开位置", options: { ask: "询问", inApp: "在 Paseo 中", external: "外部浏览器", }, }, terminalScrollback: { label: "终端回滚", description: "内置终端缓冲区保留的行数", accessibilityLabel: "终端回滚行数", }, autoExpandReasoning: { label: "始终展开推理过程", description: "默认情况下完全展开 AI 的思考和推理过程", }, toolCallDetail: { label: "工具调用显示", description: "工具调用在时间线中的显示方式", accessibilityLabel: "选择工具调用显示方式({{value}})", options: { overview: "摘要", detailed: "完整详情", }, }, language: { label: "语言", description: "应用语言", options: { system: "系统", ar: "العربية", en: "English", es: "Español", fr: "Français", ja: "日本語", ptBR: "Português brasileiro", ru: "Русский", zhCN: "简体中文", }, }, }, diagnostics: { title: "诊断", testAudio: "测试音频", playTest: "播放测试", playing: "正在播放...", playbackFailed: "播放失败:{{message}}", app: { title: "App diagnostic", rowTitle: "App diagnostic", rowHint: "Collect connection, daemon, provider, desktop, and log details", run: "Run", running: "Running diagnostic...", copyLabel: "diagnostic", copyAccessibility: "Copy diagnostic", copyFailed: "Failed to copy diagnostic", refreshAccessibility: "Refresh diagnostic", refreshingAccessibility: "Refreshing diagnostic", progress: { client: "Client", desktop: "Desktop", }, }, }, about: { title: "关于", appVersion: "应用版本", thisDevice: "此设备", connectedHosts: "已连接的 Host", offline: "离线", versionDiffers: "版本与此设备不同", releaseChannel: { label: "发布通道", description: "切换到 Beta 可更早获取更新并参与改进", stable: "Stable", beta: "Beta", }, updates: { label: "应用更新", readyToInstall: "可安装:{{version}}", installTitle: "安装桌面版更新", installMessage: "这会更新此电脑上的 Paseo", installConfirm: "安装更新", update: "更新", updateTo: "更新到 {{version}}", installing: "正在安装...", check: "检查", checking: "正在检查...", alertTitle: "错误", alertMessage: "无法打开更新确认对话框。", }, }, appearance: { theme: { title: "主题", accessibilityLabel: "主题:{{value}}", options: { light: "Light", dark: "Dark", zinc: "Zinc", midnight: "Midnight", claude: "Claude", ghostty: "Ghostty", auto: "系统", }, }, detailLevel: { title: "详细程度", }, fonts: { title: "字体", systemDefault: "系统默认", interfaceFont: "界面字体", interfaceFontHint: "用于整个应用。留空则使用系统默认", interfaceFontAccessibility: "界面字体族", interfaceSize: "界面字号", interfaceSizeAccessibility: "界面字号", codeFont: "代码字体", codeFontHint: "用于代码、diff 和终端输出。留空则使用系统默认", codeFontAccessibility: "代码字体族", codeSize: "代码字号", codeSizeAccessibility: "代码字号", }, syntax: { title: "语法", highlightTheme: "高亮主题", highlightThemeHint: "代码配色,独立于应用主题", highlightThemeAccessibility: "高亮主题:{{value}}", previewAccessibility: "语法主题和代码字体的实时预览", }, }, shortcuts: { dialogTitle: "快捷键", searchPlaceholder: "搜索快捷键", unavailableOnMobile: "键盘快捷键仅在桌面端可用", capturePrompt: "按下快捷键...", actions: { done: "完成", cancel: "取消", rebind: "重新绑定", reset: "重置", resetAll: "全部重置", }, sections: { navigation: "导航", tabsPanes: "标签和窗格", projects: "项目", panels: "面板", agentInput: "Agent 输入", }, help: { openProject: "打开项目", newWorkspace: "新建 workspace", newWorktree: "新建 worktree", archiveWorkspace: "归档工作区", newTab: "新建标签", closeCurrentTab: "关闭当前标签", jumpToWorkspace: "跳转到 workspace", jumpToTab: "跳转到标签", previousWorkspace: "上一个 workspace", nextWorkspace: "下一个 workspace", previousTab: "上一个标签", nextTab: "下一个标签", splitPaneRight: "向右拆分窗格", splitPaneDown: "向下拆分窗格", focusPaneLeft: "聚焦左侧窗格", focusPaneRight: "聚焦右侧窗格", focusPaneUp: "聚焦上方窗格", focusPaneDown: "聚焦下方窗格", moveTabLeft: "向左移动标签", moveTabRight: "向右移动标签", moveTabUp: "向上移动标签", moveTabDown: "向下移动标签", closePane: "关闭窗格", newTerminal: "新建终端", toggleCommandCenter: "切换命令中心", showKeyboardShortcuts: "显示键盘快捷键", toggleLeftSidebar: "切换左侧边栏", toggleRightSidebar: "切换右侧边栏", toggleBothSidebars: "切换两侧边栏", toggleSettings: "切换设置", toggleFocusMode: "切换专注模式", cycleTheme: "循环切换主题", focusMessageInput: "聚焦消息输入框", cycleAgentMode: "循环切换代理模式", toggleVoiceMode: "切换语音模式", startStopDictation: "开始/停止听写", interruptAgent: "中断 Agent", sendMessage: "发送消息", queueMessage: "消息排队", muteUnmuteVoiceMode: "静音/取消静音语音模式", switchProject: "切换项目", }, helpNotes: { showKeyboardShortcuts: "焦点不在文本输入框或终端内时可用。", }, }, integrations: { title: "集成", docs: { cli: "CLI 文档", skills: "Skills 文档", openCli: "打开 CLI 文档", openSkills: "打开 skills 文档", }, commandLine: { title: "命令行", description: "从终端控制 Agent 并运行脚本", }, skills: { title: "编排 skills", description: "教会 Agent 通过 CLI 编排任务", updateAvailable: "有更新可用", updateTitle: "更新 Paseo skills?", updateFallback: "将内置 skills 同步到你的机器。", uninstallTitle: "卸载 Paseo skills?", uninstallMessage: "会从 ~/.agents、~/.claude、~/.codex 移除所有 Paseo 编排 skills。", choose: "选择 skills", chooseAll: "全部 skills", chooseAllHint: "保持安装所有内置 skills,包括以后新增的。", chooseList: "内置 skills", chooseEmpty: "此版本未内置 skills。", removeTitle: "移除取消勾选的 skills?", removeMessage: "将从 ~/.agents、~/.claude、~/.codex 中删除 {{skills}}。你在这些 skill 文件夹里添加的内容也会一并删除。", saveFailed: "无法保存你的 skills 选择。", }, actions: { install: "安装", installing: "正在安装...", installed: "已安装", update: "更新", working: "处理中...", remove: "移除", uninstall: "卸载", save: "保存", saving: "正在保存...", }, operations: { add: "添加 skill", update: "更新 skill", delete: "删除 skill", }, }, permissions: { title: "权限", notifications: "通知", microphone: "麦克风", refresh: "刷新", refreshing: "正在刷新...", refreshAccessibility: "刷新桌面端权限", test: "测试", actions: { granted: "已授权", request: "请求", requesting: "正在请求...", busySuffix: "{{label}}...", }, }, host: { notFound: "Host 未找到", badges: { relay: "Relay", local: "本地", }, connections: { title: "连接", removeTitle: "移除连接", removeMessage: "移除 {{name}}?此操作无法撤销。", removeAction: "移除", removeErrorTitle: "错误", removeErrorMessage: "无法移除连接", timeout: "超时", }, pairDevices: { title: "配对设备", rowTitle: "配对设备", rowHint: "扫描二维码或复制链接,将手机连接到这个 Host", }, orchestration: { title: "编排", unavailable: "连接到这个 Host 以管理编排", enableTools: { title: "启用 Paseo tools", hint: "Agent 将能够管理 worktree、Agent 和计划", accessibilityLabel: "注入 Paseo tools", }, systemPrompt: { title: "System prompt", hint: "为所有 Agent 添加 system prompt", sheetTitle: "追加 system prompt", accessibilityLabel: "追加 system prompt", placeholder: "始终保持回复简洁。", edit: "编辑", reset: "重置", save: "保存", saving: "保存中...", }, }, agents: { unavailable: "连接到这个 Host 以管理 Agent", }, workspaces: { unavailable: "连接到这个 Host 以管理 Workspace", }, terminalProfiles: { unavailable: "Connect to this host to manage terminal profiles", sectionTitle: "Terminal profiles", editProfile: "Edit profile", addProfileTitle: "Add terminal profile", editProfileTitle: "Edit terminal profile", namePlaceholder: "Claude Code", commandPlaceholder: "claude", argsPlaceholder: "--dangerously-skip-permissions", nameLabel: "Name", commandLabel: "Command", argsLabel: "Arguments", nameRequired: "Name is required", commandRequired: "Command is required", argsHint: "Space-separated arguments passed to the command", saving: "Saving...", remove: "Remove", removeConfirmTitle: "Remove profile?", removeConfirmMessage: 'Remove "{{name}}"?', moveUp: "Move up", moveDown: "Move down", save: "Save", emptyState: "No profiles yet. Add one to launch terminals with a specific command.", }, daemon: { rename: { editLabel: "编辑标签", title: "重命名 Host", placeholder: "我的 Host", submit: "重命名", }, restart: { title: "重启 Daemon", hint: "重启 Daemon 进程。应用会自动重新连接", confirm: "重启", confirmTitle: "重启 {{name}}", confirmMessage: "这会重启 Daemon。其上运行的 Agent 会继续运行;应用会自动重新连接。", restarting: "正在重启...", unableToReconnectTitle: "无法重新连接", unableToReconnectMessage: "{{name}} 没有重新上线。请确认它已重启。", unavailableTitle: "Host 不可用", unavailableMessage: "这个 Host 尚未连接。请等待它上线后再重启。", offlineTitle: "Host 离线", offlineMessage: "这个 Host 已离线。Paseo 会自动重连,请等它恢复在线后再重启。", requestFailedTitle: "错误", requestFailedMessage: "发送重启请求失败。Paseo 会自动重连,请在 Host 显示在线后重试。", dialogFailedMessage: "无法打开重启确认对话框。", }, update: { desktopManagedHint: "此 Daemon 由 Paseo Desktop 管理。请在 Host 上更新 Paseo Desktop。", title: "Update daemon", hint: "Update the daemon to the latest version and restart it", confirm: "Update", confirmTitle: "Update {{name}}", confirmMessage: "This will update the daemon to the latest version and restart it. Running agents will be briefly interrupted.", updating: "Updating...", phaseStarting: "Preparing update...", phaseDownloading: "Downloading packages...", phaseInstalling: "Installing...", phaseComplete: "Update complete, restarting...", unableToReconnectTitle: "Unable to reconnect", unableToReconnectMessage: "{{name}} did not come back online after updating. Please verify the daemon restarted.", unavailableTitle: "Host unavailable", unavailableMessage: "This host is not connected. Wait for it to come online before updating.", offlineTitle: "Host offline", offlineMessage: "This host is offline. Wait until it is back online before updating.", requestFailedTitle: "Update failed", requestFailedMessage: "Failed to update the daemon: {{error}}", dialogFailedMessage: "Unable to open the update confirmation dialog.", }, dangerZone: "危险区域", remove: { title: "移除 Host", localTitle: "移除 localhost 连接", hint: "从此设备移除这个 Host 及其已保存连接", localHint: "从此设备移除 localhost,并停止内置 Daemon", localConfirmTitle: "移除 localhost 连接并停止 Daemon?", confirmMessage: "移除 {{name}}?这会删除其已保存连接。", localConfirmMessage: "这会移除 localhost 连接、关闭内置 Daemon 管理,并停止托管 Daemon。远程 Host 会保持连接。", errorTitle: "错误", errorMessage: "无法移除 Host", localErrorMessage: "无法移除 localhost 连接", }, }, }, providers: { title: "Providers", addProvider: "添加 Provider", providerDetails: "{{name}} Provider 详情", enableProvider: "启用 {{name}}", unavailable: "连接到这个 Host 以查看 Providers", loading: "正在加载...", addErrorTitle: "无法添加 Provider", updateErrorTitle: "无法更新 Provider", actions: { menu: "{{name}} actions", remove: "Remove provider", removing: "Removing...", }, remove: { confirmTitle: "Remove {{name}}?", confirmMessage: "This deletes the provider entry from config.json. It cannot be undone.", confirm: "Remove", errorTitle: "Unable to remove provider", }, statuses: { disabled: "已禁用", loading: "正在加载", error: "错误", available: "可用", notInstalled: "未安装", }, models: { one: "1 个 Model", many: "{{count}} 个 Model", addModel: "添加 Model", addCustomTitle: "添加自定义 Model", modelId: "Model ID", modelIdPlaceholder: "例如 openai/gpt-5", add: "添加", adding: "正在添加...", failedToSave: "保存 Model 失败", removeModel: "移除 {{id}}", searchPlaceholder: "搜索 Models", loading: "正在加载 Models...", retry: "重试", retrying: "正在重试...", noSearchMatches: "没有匹配搜索的 Model", noneDetected: "未检测到 Model", discovered: "已发现", custom: "自定义 Models", updated: "已更新 {{time}}", }, diagnostic: { title: "诊断", button: "诊断", refresh: "刷新", refreshing: "正在刷新...", copyLabel: "诊断", copyAccessibility: "复制诊断", copyFailed: "复制诊断失败", refreshAccessibility: "刷新诊断", refreshingAccessibility: "正在刷新诊断", running: "正在运行诊断...", none: "没有可用诊断", failedToFetch: "获取诊断失败", unknownError: "未知错误", }, }, project: { noEditableTarget: "此项目无法在这个 Host 上编辑。", backToProjects: "返回 Projects", edit: { title: "编辑 Project", name: "名称", nameLabel: "Project 名称", icon: "图标", chooseImage: "选择图片", useAutomatic: "使用自动", imageUrl: "图片或网站 URL", save: "保存更改", savedToast: "Project 已更新", }, readFailures: { invalidTitle: "无法解析 paseo.json", invalidDescription: "修复磁盘上的文件,然后重新加载。", missingTitle: "这个 Host 没有这个 Project", missingSingleHost: "所选 Host 没有这个 Project 的记录。", transportTitle: "无法加载 paseo.json", transportFallback: "Host 没有响应。", failedTitle: "无法加载 paseo.json", failedDescription: "重新加载以重试。", }, worktree: { title: "Worktree 生命周期 hooks", info: "为此 Project 创建或清理 worktree 时运行的命令", docs: "文档", docsTooltip: "查看命令可用的环境变量和更多细节", setup: "Setup", setupAccessibility: "Worktree setup 命令", teardown: "Teardown", teardownAccessibility: "Worktree teardown 命令", }, scripts: { title: "Scripts", info: "可从此 Project 中任意 Agent 启动的长期服务和一次性命令", empty: "还没有 scripts。", untitled: "未命名 script", port: "端口 {{port}}", menuAccessibility: "打开 script 菜单", removeTitle: "移除 script?", removeMessage: "移除 {{name}}?", removeFallbackName: "这个 script", name: "名称", command: "命令", nameAccessibility: "Script 名称", commandAccessibility: "Script 命令", nameRequired: "名称必填", commandRequired: "命令必填", newScript: "新建 script", editScript: "编辑 {{name}}", runAsService: "作为服务运行", serviceHint: "Paseo 会监管该进程,并通过 $PASEO_PORT 分配端口", actions: { add: "添加 script", edit: "编辑", remove: "移除", }, }, metadata: { title: "元数据生成", info: "注入到 Paseo 用来生成元数据的 AI prompts 中的 Project 专属指令,可用于强制执行团队约定,例如分支命名、提交风格或 PR 格式", branchName: "分支名称", branchNamePlaceholder: "分支以 feat/ 或 fix/ 开头,个人分支使用 mb/", commitMessage: "提交消息", commitMessagePlaceholder: "使用带 scope 的 Conventional Commits", pullRequest: "Pull requests", pullRequestPlaceholder: "先写一段摘要,并包含 Test plan 部分", }, writeFailures: { staleTitle: "磁盘上的配置已变更", staleDescription: "保存前请重新加载最新的 paseo.json。", failedTitle: "无法保存 paseo.json", failedDescription: "重试,或从磁盘重新加载最新版本。", }, actions: { reload: "重新加载", tryAgain: "重试", save: "保存", saved: "Project 已保存", saving: "正在保存...", cancel: "取消", }, }, }, };