* Show PATH matches in provider diagnostics * Add copyable provider command probes * Fix provider diagnostic path reporting * Clean up command probe diagnostics
1857 lines
63 KiB
TypeScript
1857 lines
63 KiB
TypeScript
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: "操作",
|
||
agents: "Agents",
|
||
newAgent: "新建 Agent",
|
||
openProject: "打开项目",
|
||
home: "首页",
|
||
},
|
||
},
|
||
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",
|
||
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...",
|
||
title: "附加 issue 或 PR",
|
||
},
|
||
},
|
||
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: "切换权限 Mode",
|
||
},
|
||
},
|
||
agentStream: {
|
||
empty: "开始和这个 Agent 对话...",
|
||
scrollToBottom: "滚动到底部",
|
||
permission: {
|
||
plan: "Plan",
|
||
required: "需要权限",
|
||
deny: "拒绝",
|
||
accept: "接受",
|
||
implement: "实施",
|
||
question: "你想如何继续?",
|
||
proposedPlan: "建议计划",
|
||
},
|
||
},
|
||
agentPanel: {
|
||
states: {
|
||
notFound: "未找到 Agent",
|
||
failedToLoad: "加载 Agent 失败",
|
||
reconnecting: "正在重连...",
|
||
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: "复制消息",
|
||
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",
|
||
restoring: "正在恢复 workspace",
|
||
restoreFailed: "无法恢复此 workspace — 目录可能已被移动或删除",
|
||
connecting: "正在连接",
|
||
hostOffline: "{{hostName}} 已离线",
|
||
cannotReachHost: "无法连接 {{hostName}}",
|
||
hostStatus: "Host 状态:{{status}}",
|
||
missing: "Workspace 未找到",
|
||
needsHostUpgrade: "更新你的 Host 以恢复此 workspace",
|
||
manageHost: "管理 Host",
|
||
},
|
||
hoverCard: {
|
||
scriptsAccessibility: "Workspace scripts",
|
||
copyPath: "复制路径",
|
||
copyBranchName: "复制分支名称",
|
||
copied: "已复制",
|
||
},
|
||
fileExplorer: {
|
||
sort: {
|
||
name: "名称",
|
||
modified: "修改时间",
|
||
size: "大小",
|
||
},
|
||
context: {
|
||
size: "大小",
|
||
modified: "修改时间",
|
||
copyPath: "复制路径",
|
||
download: "下载",
|
||
},
|
||
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: "取消元素选择器",
|
||
selectElement: "选择元素",
|
||
},
|
||
errors: {
|
||
failedToLoad: "页面加载失败",
|
||
invalidUrl: "浏览器 URL 无效",
|
||
unsupportedProtocol: "已阻止不支持的浏览器 URL:{{protocol}}",
|
||
},
|
||
},
|
||
terminal: {
|
||
hostDisconnected: "Host 未连接",
|
||
unableToSubscribe: "无法订阅 Terminal",
|
||
},
|
||
tabs: {
|
||
loading: "正在加载...",
|
||
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",
|
||
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: "新建浏览器",
|
||
splitRight: "向右拆分窗格",
|
||
splitDown: "向下拆分窗格",
|
||
terminalProfilesMenu: "Terminal profiles",
|
||
editTerminalProfiles: "Edit profiles…",
|
||
pinTarget: "固定",
|
||
unpinTarget: "取消固定",
|
||
},
|
||
explorer: {
|
||
open: "打开 explorer",
|
||
close: "关闭 explorer",
|
||
toggle: "切换 explorer",
|
||
changes: "变更",
|
||
files: "文件",
|
||
},
|
||
toasts: {
|
||
copyFailed: "复制失败",
|
||
agentIdCopiedLabel: "Agent ID",
|
||
resumeCommandCopiedLabel: "恢复命令",
|
||
filePathCopiedLabel: "File path",
|
||
resumeIdUnavailable: "恢复 ID 不可用",
|
||
resumeCommandUnavailable: "恢复命令不可用",
|
||
reloadingAgent: "正在重新加载 Agent...",
|
||
reloadedAgent: "已重新加载 Agent",
|
||
failedToReloadAgent: "重新加载 Agent 失败",
|
||
},
|
||
confirmations: {
|
||
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: {
|
||
run: "运行",
|
||
view: "查看",
|
||
},
|
||
accessibility: {
|
||
trigger: "Workspace scripts",
|
||
openAt: "在 {{label}} 打开 {{scriptName}}",
|
||
viewTerminal: "查看 {{scriptName}} Terminal",
|
||
runScript: "运行 {{scriptName}} script",
|
||
script: "{{scriptName}} script",
|
||
},
|
||
states: {
|
||
exitCode: "exit {{code}}",
|
||
startFailed: "启动 {{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 已创建",
|
||
},
|
||
mergeBranch: {
|
||
label: "本地 merge",
|
||
pending: "正在 merge...",
|
||
success: "已 merge",
|
||
},
|
||
mergeFromBase: {
|
||
label: "从 {{baseRef}} 更新",
|
||
pending: "正在更新...",
|
||
success: "已更新",
|
||
},
|
||
archive: {
|
||
label: "归档 worktree",
|
||
pending: "正在归档...",
|
||
success: "已归档",
|
||
},
|
||
mergePr: {
|
||
squash: "Merge PR (squash)",
|
||
merge: "Merge PR (merge)",
|
||
rebase: "Merge PR (rebase)",
|
||
pending: "正在 merge PR...",
|
||
success: "PR 已 merge",
|
||
},
|
||
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: {
|
||
viewPrNoGithub: "当前无法查看 PR,因为 GitHub 未连接",
|
||
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",
|
||
pullAndPushInSync: "无法 pull 并 push,因为此分支已同步",
|
||
createPrNoGithub: "当前无法创建 PR,因为 GitHub 未连接",
|
||
createPrNoCommits: "无法创建 PR,因为此分支还没有新的 commit",
|
||
mergeNoBase: "无法 merge,因为无法确定 base branch",
|
||
mergeDirty: "有本地变更时无法 merge,请先 commit 或 stash",
|
||
mergeNothing: "无法 merge,因为此分支没有可 merge 的新内容",
|
||
updateNoBase: "无法更新,因为无法确定 base branch",
|
||
updateDirty: "有本地变更时无法更新,请先 commit 或 stash",
|
||
updateCurrent: "无法更新,因为此分支已与 {{baseRef}} 保持最新",
|
||
archiveNotWorktree: "此处无法归档,因为此 workspace 不是作为 Paseo worktree 创建的",
|
||
mergePrNoGithub: "当前无法 merge PR,因为 GitHub 未连接",
|
||
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: "GitHub 报告 pull request 可 merge 后才能 merge PR",
|
||
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 失败",
|
||
worktreePathUnavailable: "Worktree 路径不可用",
|
||
failedArchive: "归档 worktree 失败",
|
||
},
|
||
archiveWarning: {
|
||
title: "归档「{{worktreeName}}」?",
|
||
confirm: "归档",
|
||
cancel: "取消",
|
||
uncommittedChanges: "未 commit 的变更",
|
||
uncommittedChangesWithDiff: "未 commit 的变更({{diffStat}})",
|
||
addedLine: "新增 {{count}} 行",
|
||
addedLines: "新增 {{count}} 行",
|
||
deletedLine: "删除 {{count}} 行",
|
||
deletedLines: "删除 {{count}} 行",
|
||
unpushedCommit: "{{count}} 个未 push 的 commit",
|
||
unpushedCommits: "{{count}} 个未 push 的 commit",
|
||
},
|
||
},
|
||
diff: {
|
||
binaryFile: "二进制文件",
|
||
tooLarge: "Diff 过大,无法显示",
|
||
unified: "Unified diff",
|
||
split: "Side-by-side diff",
|
||
hideWhitespace: "隐藏空白差异",
|
||
scrollLongLines: "滚动长行",
|
||
wrapLongLines: "自动换行长行",
|
||
collapseAll: "折叠所有文件",
|
||
expandAll: "展开所有文件",
|
||
refreshing: "正在刷新",
|
||
refresh: "刷新",
|
||
refreshState: "刷新 git 和 GitHub 状态",
|
||
failedRefresh: "刷新 git 状态失败。",
|
||
emptyHiddenWhitespace: "隐藏空白差异后没有可见变更",
|
||
emptyUncommitted: "没有未 commit 的变更",
|
||
emptyAgainstBase: "相对于 {{baseRef}} 没有变更",
|
||
checkingRepository: "正在检查 repository...",
|
||
notRepository: "不是 git repository",
|
||
diffMode: "Diff 模式",
|
||
uncommitted: "未 commit",
|
||
committed: "已 commit",
|
||
branchUnknown: "未知",
|
||
base: "base",
|
||
newFile: "新增",
|
||
deletedFile: "已删除",
|
||
},
|
||
openInEditor: {
|
||
open: "打开",
|
||
chooseEditor: "选择编辑器",
|
||
openIn: "在 {{target}} 中打开 workspace",
|
||
openFileIn: "在 {{target}} 中打开 {{fileName}}",
|
||
failedOpen: "打开 workspace 失败",
|
||
},
|
||
pr: {
|
||
sections: {
|
||
checks: "Checks",
|
||
reviews: "Reviews",
|
||
},
|
||
accessibility: {
|
||
pullRequest: "Pull request #{{number}}",
|
||
},
|
||
states: {
|
||
draft: "Draft",
|
||
merged: "已 merge",
|
||
closed: "已关闭",
|
||
open: "Open",
|
||
},
|
||
activity: {
|
||
commented: "已评论",
|
||
approved: "已批准",
|
||
requestedChanges: "请求修改",
|
||
reviewed: "已 review",
|
||
},
|
||
time: {
|
||
justNow: "刚刚",
|
||
},
|
||
errors: {
|
||
statusLoadFailed: "无法加载 Pull Request 状态",
|
||
activityLoadFailed: "无法加载 Pull Request 活动",
|
||
},
|
||
},
|
||
},
|
||
},
|
||
sidebar: {
|
||
host: {
|
||
noHost: "没有 Host",
|
||
switchTitle: "切换 Host",
|
||
searchPlaceholder: "搜索 Hosts...",
|
||
},
|
||
actions: {
|
||
addProject: "添加 project",
|
||
newWorkspace: "新建工作区",
|
||
home: "首页",
|
||
settings: "设置",
|
||
closeSidebar: "关闭侧边栏",
|
||
},
|
||
sections: {
|
||
sessions: "历史",
|
||
},
|
||
worktreeSetup: {
|
||
title: "设置 worktree scripts",
|
||
description: "添加 setup 命令,让新的 worktree 自动安装依赖并完成准备。",
|
||
openProjectSettings: "打开 project 设置",
|
||
},
|
||
project: {
|
||
actions: {
|
||
menu: "Project 操作",
|
||
openSettings: "打开 project 设置",
|
||
openNewWindow: "在新窗口中打开",
|
||
openNewWindowFailed: "无法打开新窗口",
|
||
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",
|
||
createWorkspaceFor: "为 {{projectName}} 新建 workspace",
|
||
copyPath: "复制路径",
|
||
copyBranchName: "复制分支名称",
|
||
rename: "重命名 workspace",
|
||
archive: "归档",
|
||
archiveWorktree: "归档 worktree",
|
||
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: "归档 worktree 失败",
|
||
},
|
||
},
|
||
},
|
||
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: "选择起始位置",
|
||
checkoutHint: "Checkout PR #{{number}}?",
|
||
checkoutPr: "Checkout PR #{{number}}",
|
||
dismissCheckoutHint: "忽略 PR #{{number}} checkout 提示",
|
||
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: "更新准备好后会通知你。",
|
||
availableWithVersion: "更新已就绪:{{version}}",
|
||
available: "有 app 更新可安装。",
|
||
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。",
|
||
},
|
||
},
|
||
},
|
||
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: "输入目录路径...",
|
||
opening: "正在打开 project...",
|
||
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 后才能配对设备。",
|
||
unavailable: "配对 offer 不可用。",
|
||
hint: "用手机上的 Paseo 扫描此二维码,或复制下方链接。",
|
||
qrUnavailable: "二维码不可用。",
|
||
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: {
|
||
archiveAction: "归档 {{label}}",
|
||
archiveTooltip: "归档 subagent",
|
||
},
|
||
panels: {
|
||
draft: {
|
||
newAgent: "新建 Agent",
|
||
creatingAgent: "正在创建 Agent",
|
||
},
|
||
file: {
|
||
directoryMissing: "未找到 workspace 目录。",
|
||
loading: "正在加载文件...",
|
||
noPreview: "没有可用预览",
|
||
binaryPreviewUnavailable: "二进制预览不可用",
|
||
failedToLoad: "加载文件失败",
|
||
failedToLoadPreview: "加载文件预览失败",
|
||
},
|
||
},
|
||
toolCallDetails: {
|
||
error: "错误",
|
||
empty: "没有可用的更多详情",
|
||
subAgentActivity: "Sub-agent 活动",
|
||
input: "输入",
|
||
output: "输出",
|
||
},
|
||
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: "添加主机",
|
||
projects: "项目",
|
||
projectList: {
|
||
hostLoadFailed: "无法从 Host {{hostName}} 加载 projects:{{message}}",
|
||
editProject: "编辑 {{projectName}}",
|
||
},
|
||
groupInfo: "关于 {{title}}",
|
||
sections: {
|
||
general: "通用",
|
||
daemon: "Daemon",
|
||
appearance: "外观",
|
||
shortcuts: "快捷键",
|
||
integrations: "集成",
|
||
permissions: "权限",
|
||
diagnostics: "诊断",
|
||
about: "关于",
|
||
},
|
||
hostSections: {
|
||
connections: "连接",
|
||
agents: "Agents",
|
||
workspaces: "Workspaces",
|
||
providers: "Providers",
|
||
terminals: "Terminals",
|
||
host: "Host",
|
||
},
|
||
general: {
|
||
title: "通用",
|
||
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: "终端回滚行数",
|
||
},
|
||
language: {
|
||
label: "语言",
|
||
description: "应用语言",
|
||
options: {
|
||
system: "系统",
|
||
ar: "العربية",
|
||
en: "English",
|
||
es: "Español",
|
||
fr: "Français",
|
||
ru: "Русский",
|
||
zhCN: "简体中文",
|
||
},
|
||
},
|
||
},
|
||
diagnostics: {
|
||
title: "诊断",
|
||
testAudio: "测试音频",
|
||
playTest: "播放测试",
|
||
playing: "正在播放...",
|
||
playbackFailed: "播放失败:{{message}}",
|
||
},
|
||
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: "系统",
|
||
},
|
||
},
|
||
fonts: {
|
||
title: "字体",
|
||
systemDefault: "系统默认",
|
||
interfaceFont: "界面字体",
|
||
interfaceFontHint: "用于整个应用。留空则使用系统默认",
|
||
interfaceFontAccessibility: "界面字体族",
|
||
interfaceSize: "界面字号",
|
||
interfaceSizeAccessibility: "界面字号",
|
||
codeFont: "代码字体",
|
||
codeFontHint: "用于代码、diff 和终端输出。留空则使用系统默认",
|
||
codeFontAccessibility: "代码字体族",
|
||
codeSize: "代码字号",
|
||
codeSizeAccessibility: "代码字号",
|
||
},
|
||
syntax: {
|
||
title: "语法",
|
||
highlightTheme: "高亮主题",
|
||
highlightThemeHint: "代码配色,独立于应用主题",
|
||
highlightThemeAccessibility: "高亮主题:{{value}}",
|
||
previewAccessibility: "语法主题和代码字体的实时预览",
|
||
},
|
||
},
|
||
shortcuts: {
|
||
dialogTitle: "快捷键",
|
||
unavailableOnMobile: "键盘快捷键仅在桌面端可用",
|
||
capturePrompt: "按下快捷键...",
|
||
actions: {
|
||
done: "完成",
|
||
cancel: "取消",
|
||
rebind: "重新绑定",
|
||
reset: "重置",
|
||
resetAll: "全部重置",
|
||
},
|
||
sections: {
|
||
navigation: "导航",
|
||
tabsPanes: "标签和窗格",
|
||
projects: "项目",
|
||
panels: "面板",
|
||
agentInput: "Agent 输入",
|
||
},
|
||
help: {
|
||
openProject: "打开项目",
|
||
newWorkspace: "新建 workspace",
|
||
newWorktree: "新建 worktree",
|
||
archiveWorktree: "归档 worktree",
|
||
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: "聚焦消息输入框",
|
||
toggleVoiceMode: "切换语音模式",
|
||
startStopDictation: "开始/停止听写",
|
||
interruptAgent: "中断 Agent",
|
||
sendMessage: "发送消息",
|
||
queueMessage: "消息排队",
|
||
muteUnmuteVoiceMode: "静音/取消静音语音模式",
|
||
},
|
||
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。",
|
||
},
|
||
actions: {
|
||
install: "安装",
|
||
installing: "正在安装...",
|
||
installed: "已安装",
|
||
update: "更新",
|
||
working: "处理中...",
|
||
uninstall: "卸载",
|
||
},
|
||
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: "无法打开重启确认对话框。",
|
||
},
|
||
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",
|
||
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 上都没有这个 Project 的可编辑副本。",
|
||
backToProjects: "返回 Projects",
|
||
switchHost: "切换 Host",
|
||
rename: {
|
||
renamedToast: "Project 已重命名",
|
||
errorFallback: "无法重命名 Project",
|
||
renameLabel: "重命名 Project",
|
||
resetLabel: "将 Project 名称重置为默认值",
|
||
projectNameLabel: "Project 名称",
|
||
saveLabel: "保存 Project 名称",
|
||
cancelLabel: "取消重命名",
|
||
reset: "重置",
|
||
},
|
||
readFailures: {
|
||
invalidTitle: "无法解析 paseo.json",
|
||
invalidDescription: "修复磁盘上的文件,然后重新加载。",
|
||
missingTitle: "这个 Host 没有这个 Project",
|
||
missingWithHosts: "切换到上方其他 Host,或重新加载。",
|
||
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: "取消",
|
||
},
|
||
},
|
||
},
|
||
};
|