* feat(app): create agent profiles from the model chooser Restore quick model pinning by creating an agent profile directly from a model row. A trailing plus on unprofiled model rows opens the pre-filled profile form; rows that already name the provider+model show the profile glyph and open it for edit. - seed the profile form model with provider, model, and suggested name - expose useAgentProfileEditor from @/agent-profiles for the write path - hover-refactor model rows per docs/hover.md and add the trailing action - wire the composer desktop selector and compact model sheet (close-then-open) Closes #3529 * fix(app): match favourites star position for model row profile action The star sat after the selection checkmark at the far-right edge. Put the profile create/edit action in the same slot instead of before the checkmark. * fix(app): disambiguate per-model create profile action The per-model + buttons shared the accessible name "Create profile" with the empty-state row, which broke the empty-host picker test (strict mode matched five buttons). Name the action "Create profile from <model>" so it is specific and screen readers get the model context. * fix(app): keep per-model create label out of model row names Naming the action "Create profile from <model>" put the model label into a second button on the row, so regex selectors targeting a model row by name matched both. Use a generic "Create profile from this model" label that neither collides with the empty-state "Create profile" row nor with model row names.
2527 lines
88 KiB
TypeScript
2527 lines
88 KiB
TypeScript
import { en, type TranslationResources } from "./en";
|
||
import { pluginSettings } from "./plugin-settings";
|
||
|
||
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...",
|
||
filePlaceholder: "搜索文件...",
|
||
searchingFiles: "正在搜索文件...",
|
||
noMatches: "没有匹配项",
|
||
actions: "操作",
|
||
files: "文件",
|
||
workspaces: "工作区",
|
||
agents: "Agents",
|
||
newAgent: "新建 Agent",
|
||
addProject: "添加 project",
|
||
home: "首页",
|
||
groupByProject: "按项目分组",
|
||
groupByStatus: "按状态分组",
|
||
modelGroupLabel: "模型",
|
||
modelSearchKeywords: "切换模型 更改模型 设置模型 选择模型",
|
||
thinkingGroupLabel: "思考",
|
||
thinkingSearchKeywords: "推理 努力 思考",
|
||
modeGroupLabel: "模式",
|
||
modeSearchKeywords: "访问 权限 批准 模式",
|
||
planModeGroupLabel: "计划模式",
|
||
planModeSearchKeywords: "计划 规划 计划模式",
|
||
fastModeGroupLabel: "快速",
|
||
fastModeSearchKeywords: "快速 速度 低延迟",
|
||
settingOn: "开",
|
||
settingOff: "关",
|
||
},
|
||
},
|
||
composer: {
|
||
placeholders: {
|
||
desktop: "给 Agent 发消息,标记 @files,或使用 /commands 和 /skills",
|
||
mobile: "发消息,@files,/commands",
|
||
fallback: "输入消息...",
|
||
terminal: "Prompt",
|
||
},
|
||
input: {
|
||
accessibilityLabel: "给 Agent 发消息...",
|
||
terminalAccessibilityLabel: "Terminal prompt",
|
||
focusHint: "{{shortcut}} 聚焦",
|
||
addAttachment: "添加附件",
|
||
interruptAgent: "中断 Agent",
|
||
queueMessage: "消息排队",
|
||
sendAndInterrupt: "发送并中断",
|
||
sendAndSteer: "发送并引导",
|
||
sendMessage: "发送消息",
|
||
queue: "排队",
|
||
send: "发送",
|
||
},
|
||
cancel: {
|
||
cancelingAgent: "正在取消 Agent",
|
||
stopAgent: "停止 Agent",
|
||
interrupt: "中断",
|
||
},
|
||
voice: {
|
||
enableVoiceMode: "启用语音模式",
|
||
voiceMode: "语音模式",
|
||
unmuteVoiceMode: "取消静音语音模式",
|
||
muteVoiceMode: "静音语音模式",
|
||
stopDictation: "停止听写",
|
||
startDictation: "开始听写",
|
||
unmuteVoice: "取消静音",
|
||
muteVoice: "静音",
|
||
dictation: "听写",
|
||
interruptBeforeVoice: "启动语音模式前请先中断 Agent",
|
||
},
|
||
attachments: {
|
||
addImage: "添加图片",
|
||
pasteImage: "粘贴图片",
|
||
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",
|
||
noClipboardImage: "剪贴板中没有图片",
|
||
pasteImageFailed: "无法粘贴图片",
|
||
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: "滚动到底部",
|
||
historyLoadFailed: "无法加载智能体历史记录",
|
||
permission: {
|
||
plan: "Plan",
|
||
required: "需要权限",
|
||
deny: "拒绝",
|
||
accept: "接受",
|
||
implement: "实施",
|
||
question: "你想如何继续?",
|
||
proposedPlan: "建议计划",
|
||
},
|
||
},
|
||
agentPanel: {
|
||
states: {
|
||
notFound: "未找到 Agent",
|
||
failedToLoad: "加载 Agent 失败",
|
||
reconnecting: "正在重连",
|
||
timelineSyncFailed: "无法刷新代理历史记录。",
|
||
timelineSyncRetrying: "正在重试…",
|
||
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: "还没有会话",
|
||
noMatches: "没有匹配的会话",
|
||
tooManyMatches: "匹配过多 — 请缩小搜索范围",
|
||
hostLoadFailed: "{{host}}:无法加载历史",
|
||
searchPlaceholder: "搜索历史",
|
||
actions: {
|
||
loadMore: "加载更多",
|
||
clearSearch: "清除搜索",
|
||
},
|
||
},
|
||
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: {
|
||
diagram: {
|
||
diagram: "图表",
|
||
zoomIn: "放大",
|
||
zoomOut: "缩小",
|
||
resetZoom: "重置视图",
|
||
viewSource: "查看源码",
|
||
viewDiagram: "查看图表",
|
||
},
|
||
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: "还没有任务。",
|
||
tasksProgress: "{{completed}}/{{total}} 项任务",
|
||
activity: {
|
||
created: "已创建 {{count}} 项任务",
|
||
added: "已添加",
|
||
started: "已开始",
|
||
completed: "已完成",
|
||
reopened: "已重新打开",
|
||
},
|
||
},
|
||
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: "复制路径",
|
||
copyRelativePath: "复制相对路径",
|
||
revealIn: "在 {{target}} 中显示",
|
||
download: "下载",
|
||
addToChat: "添加到聊天",
|
||
moreActions: "更多操作",
|
||
newFile: "新建文件",
|
||
newFolder: "新建文件夹",
|
||
collapseFolder: "折叠文件夹",
|
||
rename: "重命名",
|
||
duplicate: "复制",
|
||
revert: "放弃更改",
|
||
delete: "删除",
|
||
confirmDelete: {
|
||
fileTitle: "删除文件?",
|
||
folderTitle: "删除文件夹?",
|
||
message: "“{{name}}”将被永久删除。",
|
||
confirm: "删除",
|
||
cancel: "取消",
|
||
},
|
||
confirmRevert: {
|
||
title: "放弃更改?",
|
||
message: "对“{{name}}”的更改将被永久放弃。",
|
||
confirm: "放弃",
|
||
cancel: "取消",
|
||
failed: "放弃更改失败",
|
||
},
|
||
},
|
||
fileExplorer: {
|
||
sort: {
|
||
name: "名称",
|
||
modified: "修改时间",
|
||
size: "大小",
|
||
},
|
||
context: {
|
||
size: "大小",
|
||
modified: "修改时间",
|
||
},
|
||
actions: {
|
||
back: "返回",
|
||
retry: "重试",
|
||
refresh: "刷新文件",
|
||
refreshing: "正在刷新文件",
|
||
hideHiddenFiles: "隐藏隐藏文件",
|
||
showHiddenFiles: "显示隐藏文件",
|
||
},
|
||
empty: {
|
||
noFiles: "没有文件",
|
||
noVisibleFiles: "没有可见文件",
|
||
},
|
||
states: {
|
||
unavailable: "Workspace 不可用",
|
||
loading: "正在加载文件...",
|
||
},
|
||
errors: {
|
||
failedToListDirectory: "列出目录失败",
|
||
createFailed: "创建条目失败",
|
||
renameFailed: "重命名条目失败",
|
||
duplicateFailed: "复制条目失败",
|
||
revealFailed: "显示条目失败",
|
||
deleteFailed: "删除条目失败",
|
||
},
|
||
draft: {
|
||
filePlaceholder: "文件名",
|
||
folderPlaceholder: "文件夹名称",
|
||
},
|
||
},
|
||
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: "无法复制截图",
|
||
selectorLoading: "请等待页面加载完成",
|
||
selectorFailed: "无法启动元素选择器",
|
||
},
|
||
annotate: {
|
||
title: "标注元素",
|
||
placeholder: "给智能体关于此元素的留言…",
|
||
submit: "附加",
|
||
cancel: "取消",
|
||
},
|
||
devices: {
|
||
label: "设备尺寸",
|
||
responsive: "自适应",
|
||
},
|
||
errors: {
|
||
failedToLoad: "页面加载失败",
|
||
invalidUrl: "浏览器 URL 无效",
|
||
unsupportedProtocol: "已阻止不支持的浏览器 URL:{{protocol}}",
|
||
},
|
||
},
|
||
terminal: {
|
||
hostDisconnected: "Host 未连接",
|
||
updateHost: "请更新主机以使用原生终端渲染器。",
|
||
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: {
|
||
newTab: "新建标签页",
|
||
newAgent: "新建 Agent",
|
||
newTerminal: "新建 Terminal",
|
||
preparingTerminal: "正在准备 Terminal 标签",
|
||
preparingTerminalTooltip: "正在准备 Terminal...",
|
||
newBrowser: "新建浏览器",
|
||
maximizePane: "最大化窗格",
|
||
restorePane: "还原窗格",
|
||
exitFocusMode: "退出专注模式",
|
||
splitRight: "向右拆分窗格",
|
||
splitDown: "向下拆分窗格",
|
||
changes: "更改",
|
||
files: "文件",
|
||
pullRequest: "拉取请求",
|
||
terminalProfilesMenu: "Terminal profiles",
|
||
editTerminalProfiles: "Edit profiles…",
|
||
},
|
||
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 失败",
|
||
failedToCloseAgent: "关闭 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: "显示文件夹树",
|
||
hideTreeView: "隐藏文件夹树",
|
||
options: "Diff 选项",
|
||
hideWhitespace: "隐藏空白差异",
|
||
showWhitespace: "显示空白差异",
|
||
scrollLongLines: "滚动长行",
|
||
wrapLongLines: "自动换行长行",
|
||
collapseAllFolders: "折叠所有文件夹",
|
||
expandAllFolders: "展开所有文件夹",
|
||
collapseAllFiles: "折叠所有文件",
|
||
expandAllFiles: "展开所有文件",
|
||
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: "已删除",
|
||
modifiedFile: "已修改",
|
||
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}} 上打开",
|
||
},
|
||
checksSummary: {
|
||
passedLabel: "通过",
|
||
failedLabel: "失败",
|
||
runningLabel: "运行中",
|
||
passedAccessible: "检查通过",
|
||
failedAccessible: "检查失败",
|
||
runningAccessible: "检查运行中",
|
||
},
|
||
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}} 以使用其功能。",
|
||
},
|
||
},
|
||
},
|
||
workspaceLabels: {
|
||
title: "标签",
|
||
unlabelled: "无标签",
|
||
create: "新建标签",
|
||
createConfirm: "创建",
|
||
creating: "创建中…",
|
||
name: "标签名称",
|
||
updateHostUse: "请更新此主机以使用标签。",
|
||
errors: { update: "无法更新标签", load: "无法加载标签" },
|
||
colors: {
|
||
violet: "紫色",
|
||
sky: "天蓝色",
|
||
emerald: "翠绿色",
|
||
orange: "橙色",
|
||
pink: "粉色",
|
||
indigo: "靛蓝色",
|
||
teal: "青绿色",
|
||
red: "红色",
|
||
amber: "琥珀色",
|
||
blue: "蓝色",
|
||
},
|
||
filter: {
|
||
clear: "清除筛选",
|
||
noMatchesTitle: "没有匹配的工作区",
|
||
noMatchesDescription: "更改或清除标签筛选以查看工作区。",
|
||
},
|
||
manage: {
|
||
open: "管理标签…",
|
||
title: "管理标签",
|
||
search: "搜索标签",
|
||
empty: "此主机没有标签。",
|
||
edit: "编辑标签",
|
||
editLabel: "编辑{{name}}",
|
||
name: "名称",
|
||
color: "颜色",
|
||
save: "保存",
|
||
delete: "删除",
|
||
deleteTitle: "删除{{name}}?",
|
||
deleteMessage_one: "这会从此主机的{{count}}个工作区中移除该标签。",
|
||
deleteMessage_other: "这会从此主机的{{count}}个工作区中移除该标签。",
|
||
offline: "此主机离线。",
|
||
updateHost: "请更新此主机以管理标签。",
|
||
},
|
||
},
|
||
sidebar: {
|
||
display: {
|
||
trigger: "显示偏好",
|
||
heading: "显示",
|
||
grouping: {
|
||
label: "分组",
|
||
project: "项目",
|
||
status: "状态",
|
||
labels: "标签",
|
||
},
|
||
titleSource: {
|
||
label: "标题",
|
||
title: "标题",
|
||
branch: "分支名称",
|
||
},
|
||
show: {
|
||
label: "显示",
|
||
branch: "分支",
|
||
project: "项目",
|
||
host: "主机",
|
||
changeRequest: "拉取请求",
|
||
checks: "检查",
|
||
services: "服务",
|
||
labels: "标签",
|
||
diff: "差异统计",
|
||
timestamp: "最近活动",
|
||
},
|
||
checks: {
|
||
iconAndText: "图标和文字",
|
||
icon: "仅图标",
|
||
none: "隐藏",
|
||
},
|
||
hostFilter: {
|
||
label: "主机",
|
||
all: "所有主机",
|
||
},
|
||
},
|
||
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: "新功能",
|
||
appName: "Paseo",
|
||
},
|
||
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: {
|
||
serviceRunning: "服务 {{name}} 运行中",
|
||
serviceUnhealthy: "服务 {{name}} 异常",
|
||
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: "请选择模型",
|
||
},
|
||
tooltips: {
|
||
project: "Choose the project",
|
||
host: "Choose the host",
|
||
isolation: "Choose the isolation level",
|
||
startingRef: "选择起始位置",
|
||
launch: "Choose what to launch",
|
||
},
|
||
refPicker: {
|
||
startingRef: "起始 ref",
|
||
intoBase: "进入 {{baseRef}}",
|
||
searching: "正在搜索...",
|
||
noMatchingRefs: "没有匹配的 refs。",
|
||
searchPlaceholder: "搜索分支和 PR",
|
||
title: "起始位置",
|
||
},
|
||
launch: {
|
||
title: "What to launch",
|
||
chat: "Chat",
|
||
terminal: "Terminal",
|
||
manageProfiles: "Manage profiles",
|
||
submit: "Launch",
|
||
promptPlaceholder: "Prompt {{name}}",
|
||
commandPlaceholder: "Run a command, or leave empty for a blank terminal",
|
||
},
|
||
},
|
||
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。",
|
||
},
|
||
},
|
||
},
|
||
rootError: {
|
||
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: {
|
||
triggerTooltip: "切换工作区分支",
|
||
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: "默认",
|
||
profiles: "配置文件",
|
||
providers: "提供方",
|
||
model: "模型",
|
||
editProfiles: "编辑",
|
||
editProfilesLabel: "编辑智能体配置文件",
|
||
createProfile: "创建配置文件",
|
||
createProfileFromModel: "从此模型创建配置文件",
|
||
editProfileLabel: "编辑 {{name}}",
|
||
editProfilesCount: "编辑配置文件 ({{count}})",
|
||
modelCount: "{{count}} 个模型",
|
||
modelCountPlural: "{{count}} 个模型",
|
||
retry: "重试",
|
||
retrying: "正在重试...",
|
||
noMatches: "没有匹配的模型",
|
||
noMatchesForQuery: "没有与“{{query}}”匹配的模型",
|
||
searchAllPlaceholder: "搜索所有模型...",
|
||
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: {
|
||
title: "Subagent",
|
||
pillLabelOne: "1 个 subagent",
|
||
pillLabelMany: "{{count}} 个 subagent",
|
||
pillLabelWorking: "{{count}} 个运行中",
|
||
pillLabelFailed: "{{count}} 个失败",
|
||
pillLabelNeedsInputOne: "1 个需要输入",
|
||
pillLabelNeedsInputMany: "{{count}} 个需要输入",
|
||
pillLabelReadyToReview: "{{count}} 个待查看",
|
||
detachAction: "分离 {{label}}",
|
||
detachTooltip: "分离 subagent",
|
||
archiveAction: "归档 {{label}}",
|
||
archiveTooltip: "归档 subagent",
|
||
archiveFinishedAction: "归档已完成的 subagent",
|
||
archiveFinishedRetry: "重试 ({{failed}}/{{total}})",
|
||
},
|
||
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: "本地更改将丢失。",
|
||
},
|
||
},
|
||
files: {
|
||
label: "文件",
|
||
subtitle: "工作区文件",
|
||
tooltip: "浏览工作区文件",
|
||
},
|
||
pullRequest: {
|
||
label: "拉取请求",
|
||
subtitle: "拉取请求详情",
|
||
emptyTitle: "尚无拉取请求",
|
||
emptyDescription: "为此检出创建拉取请求后,可在此处查看其详情。",
|
||
},
|
||
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: "集成",
|
||
notifications: "通知",
|
||
permissions: "权限",
|
||
diagnostics: "诊断",
|
||
about: "关于",
|
||
},
|
||
editor: {
|
||
title: "编辑器",
|
||
vimKeybindings: "Vim 键位",
|
||
vimHint: "适用于网页和桌面端的源文件。",
|
||
},
|
||
notifications: {
|
||
title: "通知",
|
||
permission: "通知权限",
|
||
refreshAccessibility: "刷新通知权限",
|
||
playSound: "播放声音",
|
||
playSoundHint: "收到桌面通知时播放声音",
|
||
test: "测试通知",
|
||
testHint: "使用当前设置发送测试通知",
|
||
permissionRequired: "测试前请允许访问通知",
|
||
send: "发送",
|
||
sending: "正在发送...",
|
||
sentTitle: "测试通知已发送",
|
||
sentDescription: "Paseo 已将通知交给操作系统。",
|
||
sendFailedTitle: "无法发送测试通知",
|
||
},
|
||
hostSections: {
|
||
projects: "项目",
|
||
connections: "连接",
|
||
agents: "Agents",
|
||
metadata: "元数据",
|
||
workspaces: "Workspaces",
|
||
providers: "Providers",
|
||
usage: "使用情况",
|
||
terminals: "Terminals",
|
||
plugins: "插件",
|
||
host: "概览",
|
||
},
|
||
plugins: pluginSettings["zh-CN"],
|
||
metadataGeneration: {
|
||
title: "元数据生成",
|
||
description: "选择 Paseo 用于工作区标题、分支名称、提交消息和拉取请求草稿的模型",
|
||
selection: "模型选择",
|
||
automatic: "自动",
|
||
preferred: "手动",
|
||
automaticHint: "Paseo 会选择一个可用的快速模型",
|
||
preferredHint: "选择 Paseo 使用的模型",
|
||
model: "模型",
|
||
fallbackHint: "如果不可用,Paseo 会改用其他可用模型",
|
||
docs: "文档",
|
||
saveError: "无法更新元数据生成设置",
|
||
},
|
||
general: {
|
||
title: "通用",
|
||
browserData: {
|
||
title: "浏览器数据",
|
||
siteData: "Cookie 和网站数据",
|
||
description: "浏览器标签页在 Paseo 中共享登录状态和网站数据。",
|
||
clear: "清除浏览器数据",
|
||
clearing: "正在清除...",
|
||
confirmTitle: "清除浏览器数据?",
|
||
confirmMessage: "网站帐号将退出登录,打开的浏览器标签页将重新加载。",
|
||
success: "浏览器数据已清除。",
|
||
error: "无法清除浏览器数据。",
|
||
},
|
||
defaultSend: {
|
||
label: "默认发送",
|
||
descriptions: {
|
||
interrupt: "Agent 运行时,Enter 会中断。Command/Ctrl+Enter 会排队。",
|
||
steer: "Agent 运行时,Enter 会引导当前回合。Command/Ctrl+Enter 会排队。",
|
||
queue: "Agent 运行时,Enter 会排队。Command/Ctrl+Enter 会提交。",
|
||
},
|
||
options: {
|
||
interrupt: "中断",
|
||
steer: "引导",
|
||
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: "日本語",
|
||
ko: "한국어",
|
||
ptBR: "Português brasileiro",
|
||
ru: "Русский",
|
||
zhCN: "简体中文",
|
||
},
|
||
},
|
||
},
|
||
diagnostics: {
|
||
title: "诊断",
|
||
legacyTerminalRenderer: {
|
||
label: "使用旧版终端渲染器",
|
||
description: "重新打开终端后使用之前的 WebView 终端",
|
||
accessibilityLabel: "使用旧版终端渲染器",
|
||
},
|
||
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",
|
||
pureBlack: "纯黑",
|
||
auto: "系统",
|
||
},
|
||
},
|
||
detailLevel: {
|
||
title: "详细程度",
|
||
},
|
||
chatOutline: {
|
||
title: "聊天大纲",
|
||
description: "显示用于在提示词之间跳转的大纲",
|
||
},
|
||
fonts: {
|
||
title: "字体",
|
||
systemDefault: "系统默认",
|
||
interfaceFont: "界面字体",
|
||
interfaceFontHint: "用于整个应用。留空则使用系统默认",
|
||
interfaceFontAccessibility: "界面字体族",
|
||
baseSize: "基础字号",
|
||
baseSizeAccessibility: "基础字号",
|
||
codeFont: "代码字体",
|
||
codeFontHint: "用于代码、diff 和终端输出。留空则使用系统默认",
|
||
codeFontAccessibility: "代码字体族",
|
||
codeSize: "代码字号",
|
||
codeSizeAccessibility: "代码字号",
|
||
},
|
||
syntax: {
|
||
title: "语法",
|
||
highlightTheme: "高亮主题",
|
||
highlightThemeHint: "代码配色,独立于应用主题",
|
||
highlightThemeAccessibility: "高亮主题:{{value}}",
|
||
previewAccessibility: "语法主题和代码字体的实时预览",
|
||
},
|
||
},
|
||
shortcuts: {
|
||
dialogTitle: "快捷键",
|
||
searchPlaceholder: "搜索快捷键",
|
||
unavailableOnMobile: "键盘快捷键仅在桌面端可用",
|
||
capturePrompt: "按下快捷键...",
|
||
unassigned: "未设置",
|
||
actions: {
|
||
menu: "{{name}} 的操作",
|
||
done: "完成",
|
||
cancel: "取消",
|
||
bind: "绑定",
|
||
rebind: "重新绑定",
|
||
clear: "清除",
|
||
reset: "重置为默认",
|
||
resetAll: "全部重置",
|
||
},
|
||
sections: {
|
||
general: "通用",
|
||
workspaces: "项目和工作区",
|
||
tabsPanes: "标签和窗格",
|
||
layout: "布局",
|
||
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: "新建终端",
|
||
searchFiles: "搜索文件",
|
||
toggleCommandCenter: "切换命令中心",
|
||
showKeyboardShortcuts: "显示键盘快捷键",
|
||
toggleLeftSidebar: "切换左侧边栏",
|
||
toggleRightSidebar: "切换右侧边栏",
|
||
toggleBothSidebars: "切换两侧边栏",
|
||
toggleSettings: "切换设置",
|
||
toggleFocusMode: "切换专注模式",
|
||
toggleExplorerPaneMaximization: "切换资源管理器窗格最大化",
|
||
cycleTheme: "循环切换主题",
|
||
focusMessageInput: "聚焦消息输入框",
|
||
cycleAgentMode: "循环切换代理模式",
|
||
toggleVoiceMode: "切换语音模式",
|
||
startStopDictation: "开始/停止听写",
|
||
interruptAgent: "中断 Agent",
|
||
sendMessage: "发送消息",
|
||
queueMessage: "消息排队",
|
||
muteUnmuteVoiceMode: "静音/取消静音语音模式",
|
||
switchProject: "切换项目",
|
||
},
|
||
helpNotes: {
|
||
showKeyboardShortcuts: "焦点不在文本输入框或终端内时可用。",
|
||
},
|
||
},
|
||
integrations: {
|
||
title: "集成",
|
||
docs: {
|
||
cli: "CLI 文档",
|
||
openCli: "打开 CLI 文档",
|
||
},
|
||
commandLine: {
|
||
title: "命令行",
|
||
description: "从终端控制 Agent 并运行脚本",
|
||
},
|
||
actions: {
|
||
install: "安装",
|
||
installing: "正在安装...",
|
||
installed: "已安装",
|
||
},
|
||
},
|
||
permissions: {
|
||
title: "权限",
|
||
microphone: "麦克风",
|
||
refresh: "刷新",
|
||
refreshing: "正在刷新...",
|
||
refreshAccessibility: "刷新桌面端权限",
|
||
actions: {
|
||
granted: "已授权",
|
||
request: "请求",
|
||
requesting: "正在请求...",
|
||
},
|
||
},
|
||
host: {
|
||
appearance: {
|
||
title: "外观",
|
||
name: {
|
||
label: "名称",
|
||
},
|
||
color: {
|
||
label: "颜色",
|
||
accessibilityLabel: "颜色,{{value}}",
|
||
options: {
|
||
none: "默认",
|
||
violet: "紫罗兰",
|
||
sky: "天蓝",
|
||
emerald: "翠绿",
|
||
orange: "橙色",
|
||
pink: "粉色",
|
||
indigo: "靛蓝",
|
||
teal: "青色",
|
||
red: "红色",
|
||
amber: "琥珀",
|
||
blue: "蓝色",
|
||
},
|
||
},
|
||
badge: {
|
||
label: "侧边栏徽章",
|
||
accessibilityLabel: "侧边栏徽章,{{value}}",
|
||
options: {
|
||
name: "名称",
|
||
icon: "仅图标",
|
||
hidden: "隐藏",
|
||
},
|
||
},
|
||
preview: {
|
||
workspaceName: "my-workspace",
|
||
},
|
||
},
|
||
notFound: "Host 未找到",
|
||
badges: {
|
||
relay: "Relay",
|
||
local: "本地",
|
||
},
|
||
connections: {
|
||
title: "连接",
|
||
removeTitle: "移除连接",
|
||
removeMessage: "移除 {{name}}?此操作无法撤销。",
|
||
removeAction: "移除",
|
||
removeErrorTitle: "错误",
|
||
removeErrorMessage: "无法移除连接",
|
||
timeout: "超时",
|
||
},
|
||
pairDevices: {
|
||
title: "配对设备",
|
||
rowTitle: "配对设备",
|
||
rowHint: "扫描二维码或复制链接,将手机连接到这个 Host",
|
||
},
|
||
skills: {
|
||
...en.settings.host.skills,
|
||
sectionTitle: "编排 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 选择。",
|
||
statusFailed: "无法检查编排 skills 状态。",
|
||
updateFailed: "无法更新编排 skills。",
|
||
uninstallFailed: "无法卸载编排 skills。",
|
||
saveSelectionFailed: "无法保存编排 skills 的选择。",
|
||
actions: {
|
||
install: "安装",
|
||
installing: "正在安装...",
|
||
installed: "已安装",
|
||
update: "更新",
|
||
working: "处理中...",
|
||
remove: "移除",
|
||
uninstall: "卸载",
|
||
save: "保存",
|
||
saving: "正在保存...",
|
||
cancel: "取消",
|
||
},
|
||
operations: {
|
||
add: "添加 skill",
|
||
update: "更新 skill",
|
||
delete: "删除 skill",
|
||
},
|
||
},
|
||
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.",
|
||
},
|
||
agentProfiles: {
|
||
sectionTitle: "Agent 配置",
|
||
unavailable: "连接到这个 Host 以管理 Agent 配置",
|
||
unsupported: "此 Host 运行的 Daemon 尚不支持 Agent 配置",
|
||
emptyState: "还没有配置。添加一个以便使用保存的 Provider 和 Model 启动 Agent。",
|
||
addProfileTitle: "添加 Agent 配置",
|
||
newProfile: "新建配置",
|
||
editProfile: "编辑配置",
|
||
editProfileTitle: "编辑 Agent 配置",
|
||
nameLabel: "名称",
|
||
namePlaceholder: "UI 工作",
|
||
iconLabel: "图标",
|
||
noIcon: "无",
|
||
providerLabel: "Provider",
|
||
providerPlaceholder: "选择一个 Provider",
|
||
noProviders: "此 Host 上没有可用的 Provider",
|
||
modelLabel: "Model",
|
||
noModels: "此 Provider 没有可选择的 Model",
|
||
modeLabel: "Mode",
|
||
noModes: "此 Provider 没有可选择的 Mode",
|
||
thinkingLabel: "Thinking",
|
||
noThinkingOptions: "此 Model 没有 Thinking 级别",
|
||
featuresLabel: "Features",
|
||
featureCount: "{{count}} 个 Feature",
|
||
featureCountOne: "{{count}} 个 Feature",
|
||
notesLabel: "给 Agent 的说明",
|
||
notesPlaceholder: "用于 UI 工作 — 组件、布局和设计 token。",
|
||
notesHint: "由 list_profiles MCP 工具返回。请将其写成给另一个 Agent 的指令。",
|
||
save: "保存",
|
||
saving: "保存中...",
|
||
remove: "移除",
|
||
removeConfirmTitle: "移除配置?",
|
||
removeConfirmMessage: "移除「{{name}}」?",
|
||
moveUp: "上移",
|
||
moveDown: "下移",
|
||
},
|
||
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 命令",
|
||
uncommittedTitle: "提交 paseo.json 更改",
|
||
uncommittedDescription: "新工作树使用所选基础分支中的设置脚本。",
|
||
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: "取消",
|
||
},
|
||
},
|
||
},
|
||
};
|