"Restart to Update" answered the renderer with null before the install was attempted, so a rejected install only reached main.log and the button looked dead. The apply-update path now keeps the IPC call open until the app quits or autoUpdater reports the failure, rolls the quit/install flags back when the app stays up, and the update dialog shows the real reason with a translated hint for a rejected code signature. Also settle the download promise on downloadUpdate() itself: an already cached payload emits no 'update-downloaded', which left that promise pending with its listeners attached on every retry.
3252 lines
214 KiB
TypeScript
3252 lines
214 KiB
TypeScript
import type { I18nKey } from './en';
|
||
import { settingsDict } from './zh-TW.settings';
|
||
|
||
export const dict: Record<I18nKey, string> = {
|
||
...settingsDict,
|
||
'terminalView.actions.attachSelection': '附加所選輸出',
|
||
'terminalView.actions.restart': '重新啟動終端',
|
||
'chat.message.terminalContext': '{terminal},第 {start}-{end} 行',
|
||
'chat.message.context.codeComment': '對 {file} 第 {start}-{end} 行的評論',
|
||
'chat.message.context.codeCommentLine': '對 {file} 第 {line} 行的評論',
|
||
'chat.message.context.chatQuote': '引用自先前的訊息',
|
||
'chat.message.context.fileQuote': '來自 {file} 的選取內容',
|
||
'chat.chatInput.chatQuoteContext': '聊天引用',
|
||
'chat.chatInput.chatQuoteContextRemove': '移除聊天引用',
|
||
'chat.chatInput.contextPreview.selectedLabel': '所選文字',
|
||
'chat.chatInput.contextPreview.commentLabel': '使用者留言',
|
||
'chat.chatInput.contextPreview.edit': '編輯留言',
|
||
'chat.chatInput.contextPreview.remove': '移除',
|
||
'chat.message.context.browserAnnotation': '瀏覽器標註({page})',
|
||
'chat.message.context.prComment': 'GitHub PR 留言({label})',
|
||
'chat.message.context.prCheck': '失敗的 GitHub PR 檢查({label})',
|
||
'chat.chatInput.terminalContext': '{terminal},第 {start}-{end} 行',
|
||
'chat.chatInput.terminalContextRemove': '移除終端上下文',
|
||
'chat.chatInput.prCommentContext': 'PR 留言',
|
||
'chat.chatInput.prCommentContextRemove': '移除 PR 留言脈絡',
|
||
'chat.chatInput.prCheckContext': '失敗的 PR 檢查',
|
||
'chat.chatInput.prCheckContextRemove': '移除 PR 檢查脈絡',
|
||
'common.loading': '載入中...',
|
||
'common.unavailable': '無法使用',
|
||
'common.language.english': 'English',
|
||
'common.language.german': '德語',
|
||
'common.language.french': '法語',
|
||
'common.language.simplifiedChinese': '簡體中文',
|
||
'common.language.traditionalChinese': '繁體中文',
|
||
'common.language.ukrainian': '烏克蘭語',
|
||
'common.language.spanish': '西班牙語',
|
||
'common.language.brazilianPortuguese': '巴西葡萄牙語',
|
||
'common.language.korean': '韓語',
|
||
'common.language.polish': '波蘭語',
|
||
'common.language.japanese': '日語',
|
||
'common.language.turkish': '土耳其語',
|
||
'common.revealPath.finder': '在 Finder 中顯示',
|
||
'common.revealPath.fileExplorer': '在檔案總管中開啟',
|
||
'common.revealPath.fileManager': '在檔案管理員中開啟',
|
||
'pwa.installPrompt.description': '安裝 OpenChamber 以便更快存取',
|
||
'pwa.installPrompt.action': '安裝',
|
||
'pwa.installPrompt.dismiss': '忽略',
|
||
'pwa.installPrompt.started': '已開始安裝',
|
||
'pwa.installPrompt.installed': 'OpenChamber 已安裝',
|
||
'layout.mainTab.chat': '聊天',
|
||
'layout.mainTab.plan': '計畫',
|
||
'layout.mainTab.diff': '差異',
|
||
'layout.mainTab.diagram': '圖表',
|
||
'layout.mainTab.files': '檔案',
|
||
'layout.mainTab.terminal': '終端機',
|
||
'layout.mainTab.context': '上下文',
|
||
'mobile.nav.aria': '行動導覽',
|
||
'mobile.connect.welcome.title': '連線至 OpenChamber',
|
||
'mobile.connect.welcome.description': '新增伺服器網址或掃描配對 QR 碼,即可開始使用行動應用程式。',
|
||
'mobile.connect.url.label': '伺服器網址',
|
||
'mobile.connect.url.placeholder': 'http://192.168.1.74:2606',
|
||
'mobile.connect.token.label': '用戶端權杖',
|
||
'mobile.connect.token.placeholder': '貼上存取權杖',
|
||
'mobile.connect.token.hint': '僅當伺服器需要權杖而非密碼時才需要填寫。',
|
||
'mobile.connect.password.label': '密碼',
|
||
'mobile.connect.password.placeholder': 'OpenChamber 密碼',
|
||
'mobile.connect.connectButton': '連線',
|
||
'mobile.connect.unlockButton': '解鎖並連線',
|
||
'mobile.connect.cancelPassword': '使用其他伺服器',
|
||
'mobile.connect.connecting': '連線中...',
|
||
'mobile.connect.notice.unreachable': '無法連線至 {label}。請確認伺服器正在執行。',
|
||
'mobile.connect.notice.authExpired': '對 {label} 的存取已過期或被撤銷。請重新登入。',
|
||
'mobile.connect.recovery.description': '無法連線至已儲存的伺服器。請確認它正在執行,或選擇其他執行個體。',
|
||
'mobile.connect.scanQr': '掃描 QR code',
|
||
'mobile.connect.welcome.scanHint': '在電腦上開啟「新增裝置」顯示 QR 代碼,然後在這裡掃描。',
|
||
'mobile.connect.advanced': '進階',
|
||
'mobile.connect.manual.toggle': '透過位址連線',
|
||
'mobile.connect.scan.permissionDenied': '相機存取已關閉。請在「設定」中開啟以掃描 QR code。',
|
||
'mobile.connect.scan.failed': '無法掃描該 QR code。請重試或手動輸入網址。',
|
||
'mobile.connect.scan.invalid': '此 QR code 不是 OpenChamber 連線代碼。',
|
||
'mobile.connect.scan.unsupported': 'QR code 掃描僅在已安裝的行動應用程式中可用。',
|
||
'mobile.connect.saved.title': '已儲存的連線',
|
||
'mobile.connect.saved.empty': '尚未儲存任何連線。',
|
||
'mobile.connect.relay.badge': '透過 OpenChamber Relay 連線',
|
||
'mobile.connect.error.urlRequired': '請輸入伺服器網址。',
|
||
'mobile.connect.splash.connectingTo': '正在連線裝置:',
|
||
'mobile.connect.error.invalidUrl': '該伺服器網址無效。',
|
||
'mobile.connect.error.unreachable': '無法連線至該 OpenChamber 伺服器。',
|
||
'mobile.connect.error.authRequired': '此伺服器需要密碼或用戶端權杖。',
|
||
'mobile.connect.error.passwordFailed': '無法解鎖該伺服器。請檢查密碼。',
|
||
'mobile.instances.addTitle': '新增執行個體',
|
||
'mobile.instances.addManual': '透過位址新增',
|
||
'mobile.instances.editTitle': '編輯執行個體',
|
||
'mobile.instances.edit': '編輯',
|
||
'mobile.instances.delete': '刪除',
|
||
'mobile.instances.deleteAria': '刪除 {label}',
|
||
'mobile.instances.confirmDeleteAria': '確認刪除 {label}',
|
||
'mobile.instances.cancelDeleteAria': '保留 {label}',
|
||
'mobile.instances.cancelEdit': '取消',
|
||
'mobile.instances.label.label': '名稱',
|
||
'mobile.instances.label.placeholder': '選填顯示名稱',
|
||
'mobile.instances.saveNew': '儲存執行個體',
|
||
'mobile.instances.status.connectedDirect': '已連線 · 區域網路',
|
||
'mobile.instances.status.connectedRelay': '已連線 · 私人中繼',
|
||
'mobile.instances.saveEdit': '儲存變更',
|
||
'mobile.connectionDebug.title': '連線日誌',
|
||
'mobile.connectionDebug.copy': '複製',
|
||
'mobile.connectionDebug.copied': '已複製',
|
||
'mobile.connectionDebug.close': '關閉',
|
||
'mobile.connectionDebug.empty': '尚無連線事件。',
|
||
'mobile.nav.changes': '變更',
|
||
'mobile.nav.settings': '設定',
|
||
'mobile.surface.closeAria': '關閉',
|
||
'mobile.header.openWorkspaceAria': '開啟工作區面板',
|
||
'mobile.header.openMetadataAria': '開啟工作階段中繼資料',
|
||
'mobile.header.metadata.context': '上下文',
|
||
'mobile.header.metadata.usage': '用量',
|
||
'mobile.menu.titleAria': '工作區工具',
|
||
'mobile.menu.files': '檔案',
|
||
'mobile.menu.changes': '變更',
|
||
'mobile.menu.terminal': '終端機',
|
||
'mobile.menu.mcp': 'MCP',
|
||
'mobile.menu.instances': '執行個體',
|
||
'mobile.menu.update': '更新',
|
||
'mobile.menu.settings': '設定',
|
||
'mobile.sessions.newChatCta': '在 {project} 中新增聊天',
|
||
'mobile.sessions.dateGroup.today': '今天',
|
||
'mobile.sessions.dateGroup.yesterday': '昨天',
|
||
'mobile.sessions.dateGroup.thisWeek': '本週稍早',
|
||
'mobile.sessions.dateGroup.older': '更早',
|
||
'mobile.sessions.section.worktrees': '工作樹',
|
||
'mobile.sessions.section.otherProjects': '切換專案',
|
||
'mobile.sessions.section.projects': '專案',
|
||
'mobile.sessions.empty.noProjectsTitle': '尚無專案',
|
||
'mobile.sessions.empty.noProjectsDescription': '新增專案即可開始與程式碼聊天。',
|
||
'mobile.sessions.empty.noSessionsTitle': '尚無會話',
|
||
'mobile.sessions.empty.noSessionsDescription': '開始第一個聊天後會顯示在這裡。',
|
||
'mobile.sessions.empty.searchTitle': '沒有結果',
|
||
'mobile.sessions.empty.searchDescription': '請嘗試其他搜尋詞。',
|
||
'mobile.sessions.showArchived': '顯示已封存 ({count})',
|
||
'mobile.sessions.hideArchived': '隱藏已封存',
|
||
'mobile.sessions.activeWorktreeAria': '作用中的工作樹',
|
||
'mobile.sessions.activeProjectAria': '作用中的專案',
|
||
'mobile.sessions.startNewChat': '開始新聊天',
|
||
'mobile.sessions.newChat': '新聊天',
|
||
'mobile.sessions.editOrder': '重新排序專案',
|
||
'mobile.sessions.doneEditing': '完成',
|
||
'mobile.sessions.editOrderHint': '拖曳手柄以重新排序專案。點按專案可顯示其工作樹並同樣拖曳排序。點按勾號完成。',
|
||
'mobile.sessions.dragHandleAria': '拖曳 {label} 以重新排序',
|
||
'mobile.sessions.moveUpAria': '將 {label} 上移',
|
||
'mobile.sessions.moveDownAria': '將 {label} 下移',
|
||
'mobile.sessions.removeProjectAria': '移除 {label}',
|
||
'mobile.sessions.confirmRemoveProjectAria': '確認移除 {label}',
|
||
'mobile.sessions.toast.projectRemoved': '已移除 {label}',
|
||
'mobile.sessions.archiveSessionAria': '封存 {title}',
|
||
'mobile.sessions.cancelArchiveAria': '取消封存 {title}',
|
||
'mobile.sessions.renameSessionAria': '重新命名 {title}',
|
||
'mobile.sessions.renameError': '重新命名工作階段失敗',
|
||
'mobile.sessions.deleteSessionAria': '刪除 {title}',
|
||
'mobile.sessions.confirmDeleteSessionAria': '確認刪除 {title}',
|
||
'mobile.sessions.editProjectAria': '編輯 {label}',
|
||
'mobile.projectEdit.worktreesTitle': '工作樹',
|
||
'mobile.projectEdit.worktreesEmpty': '此專案還沒有工作樹。',
|
||
'mobile.projectEdit.reorderHint': '拖曳以重新排序工作樹。',
|
||
'mobile.projectEdit.dragWorktreeAria': '拖曳 {label} 以重新排序',
|
||
'mobile.projectEdit.deleteWorktreeAria': '移除工作樹 {label}',
|
||
'mobile.projectEdit.deleteWorktreeTitle': '移除工作樹',
|
||
'mobile.projectEdit.deleteWorktreeConfirmButton': '移除',
|
||
'mobile.projectEdit.deleteWorktreeConfirm': '移除工作樹「{name}」?此操作無法復原。',
|
||
'mobile.projectEdit.deleteWorktreeDirty': '此工作樹有未提交的變更,將會遺失。',
|
||
'mobile.projectEdit.deleteWorktreeArchiveNote': '將封存 {count} 個關聯工作階段。',
|
||
'mobile.projectEdit.deleteLocalBranch': '同時刪除本機分支',
|
||
'mobile.projectEdit.deleteRemoteBranch': '同時刪除遠端分支',
|
||
'mobile.sessions.showMore': '再顯示 {count} 個',
|
||
'mobile.sessions.search.section.sessions': '會話',
|
||
'mobile.sessions.search.section.archived': '已封存',
|
||
'mobile.sessions.search.section.projects': '專案',
|
||
'mobile.sessions.clearSearchAria': '清除搜尋',
|
||
'mobile.header.noProject': '選擇專案',
|
||
'mobile.header.activeSession': '作用中會話',
|
||
'mobile.header.noSession': '沒有作用中會話',
|
||
'mobile.sessions.openSheetAria': '開啟會話與專案',
|
||
'mobile.sessions.closeSheetAria': '關閉會話與專案',
|
||
'mobile.sessions.sheet.title': '會話',
|
||
'mobile.sessions.sheet.description': '切換專案、開啟會話或開始新聊天。',
|
||
'mobile.sessions.search.placeholder': '搜尋會話',
|
||
'mobile.sessions.empty': '找不到會話。',
|
||
'mobile.sessions.unassignedProject': '其他會話',
|
||
'mobile.sessions.newSessionAria': '在此專案中開始新會話',
|
||
'mobile.sessions.untitled': '未命名會話',
|
||
'mobile.sessions.project.sessionsSingle': '1 個會話',
|
||
'mobile.sessions.project.sessionsPlural': '{count} 個會話',
|
||
'mobile.files.refreshAria': '重新整理檔案',
|
||
'mobile.files.backToParentAria': '返回 {name}',
|
||
'mobile.files.rootDirectory': '專案檔案',
|
||
'mobile.files.search.placeholder': '搜尋檔案',
|
||
'mobile.files.search.empty': '找不到檔案。',
|
||
'mobile.files.parentDirectory': '上層目錄',
|
||
'mobile.files.empty.noDirectory': '選擇專案以瀏覽檔案。',
|
||
'mobile.files.empty.directory': '此目錄是空的。',
|
||
'mobile.files.error.listFailed': '載入檔案失敗',
|
||
'mobile.files.error.readUnavailable': '此執行環境無法使用檔案預覽。',
|
||
'mobile.files.file.truncated': '行動版檔案預覽已截斷。',
|
||
'mobile.files.copyPathAria': '複製檔案路徑',
|
||
'mobile.files.copyContent': '複製內容',
|
||
'mobile.files.copyContentAria': '複製檔案內容',
|
||
'mobile.files.editAria': '編輯檔案',
|
||
'mobile.files.doneEditingAria': '完成編輯',
|
||
'mobile.files.toast.pathCopied': '路徑已複製',
|
||
'mobile.files.toast.contentCopied': '內容已複製',
|
||
'mobile.files.toast.copyFailed': '複製失敗',
|
||
'mobile.changes.placeholder.title': '變更',
|
||
'mobile.changes.placeholder.description': '工作樹檢閱、同步與提交動作會顯示在這裡。',
|
||
'mobile.changes.branchLabel': '分支:{branch}',
|
||
'mobile.changes.noRemote': '沒有可用的 remote',
|
||
'mobile.changes.cleanDescription': '此工作區沒有已變更的檔案。',
|
||
'mobile.changes.diffDetail.subtitle': '唯讀 diff',
|
||
'mobile.changes.diffDetail.loadFailed': '載入 diff 失敗',
|
||
'mobile.changes.diffDetail.missingTitle': '檔案已不再有變更',
|
||
'mobile.changes.diffDetail.missingDescription': '返回變更並重新整理清單。',
|
||
'mobile.changes.diffDetail.imageUnavailable': '行動版變更尚不支援圖片 diff。',
|
||
'mobile.settings.placeholder.title': '設定',
|
||
'mobile.settings.placeholder.description': '行動版連線與應用程式設定會顯示在這裡。',
|
||
'header.services.remoteUpdate.title': '遠端實例更新',
|
||
'header.services.remoteUpdate.checking': '正在檢查更新...',
|
||
'header.services.remoteUpdate.upToDate': '此實例已是最新。',
|
||
'header.services.remoteUpdate.available': '此實例可更新到版本 {version}。',
|
||
'header.services.remoteUpdate.error': '無法檢查遠端實例更新',
|
||
'header.services.remoteUpdate.actions.open': '更新',
|
||
'desktopHostSwitcher.status.checking': '檢查中',
|
||
'desktopHostSwitcher.status.updateRecommended': '建議更新',
|
||
'desktopHostSwitcher.status.incompatible': '不相容',
|
||
'onboarding.remoteConnection.probe.updateRecommendedMessage': '此實例正在執行不同版本的 OpenChamber。你可以連線;如果功能異常,請更新兩端應用程式。',
|
||
'onboarding.remoteConnection.probe.incompatibleMessage': '伺服器正在執行 OpenChamber,但與此應用程式版本不相容。請更新伺服器上的 OpenChamber 後重試。',
|
||
'onboarding.desktopRecovery.remoteIncompatible.title': '需要更新伺服器',
|
||
'onboarding.desktopRecovery.remoteIncompatible.description': '「{host}」上的 OpenChamber 伺服器與此應用程式版本不相容。請更新伺服器上的 OpenChamber 後重試。',
|
||
'layout.rightSidebar.git': 'Git',
|
||
'layout.rightSidebar.files': '檔案',
|
||
'layout.rightSidebar.context': '上下文',
|
||
'layout.services.instance': '實例',
|
||
'layout.services.usage': '用量',
|
||
'sessions.sidebar.header.actions.closeSessions': '關閉會話',
|
||
'sessions.sidebar.header.actions.addProject': '新增專案',
|
||
'sessions.sidebar.header.actions.newSession': '新增會話',
|
||
'sessions.sidebar.header.actions.newMultiRun': '新增 Multi-run',
|
||
'sessions.sidebar.header.actions.scheduledTasks': '排程任務',
|
||
'sessions.scheduledTasks.dialog.title': '排程任務',
|
||
'sessions.scheduledTasks.dialog.description': '伺服器端任務會建立新會話並傳送已設定的提示詞。',
|
||
'sessions.scheduledTasks.dialog.project.label': '專案',
|
||
'sessions.scheduledTasks.dialog.project.placeholder': '選擇專案',
|
||
'sessions.scheduledTasks.dialog.project.empty': '暫無專案',
|
||
'sessions.scheduledTasks.dialog.actions.newTask': '新增任務',
|
||
'sessions.scheduledTasks.dialog.actions.runNow': '立即執行',
|
||
'sessions.scheduledTasks.dialog.actions.edit': '編輯',
|
||
'sessions.scheduledTasks.dialog.actions.editAria': '編輯 {taskName}',
|
||
'sessions.scheduledTasks.dialog.actions.deleteAria': '刪除 {taskName}',
|
||
'sessions.scheduledTasks.dialog.loading': '正在載入任務...',
|
||
'sessions.scheduledTasks.dialog.empty.noTasks': '暫無排程任務。',
|
||
'sessions.scheduledTasks.dialog.empty.selectProject': '請選擇一個專案來管理排程任務。',
|
||
'sessions.scheduledTasks.dialog.error.chooseProjectFirst': '請先選擇一個專案',
|
||
'sessions.scheduledTasks.dialog.toast.loadFailed': '載入排程任務失敗',
|
||
'sessions.scheduledTasks.dialog.toast.saved': '排程任務已儲存',
|
||
'sessions.scheduledTasks.dialog.toast.updateFailed': '更新任務失敗',
|
||
'sessions.scheduledTasks.dialog.toast.deleted': '排程任務已刪除',
|
||
'sessions.scheduledTasks.dialog.toast.deleteFailed': '刪除任務失敗',
|
||
'sessions.scheduledTasks.dialog.toast.started': '任務已啟動',
|
||
'sessions.scheduledTasks.dialog.toast.startedPersistWarning': '任務已啟動,但無法儲存其狀態。在下一次成功執行之前,它可能仍顯示為執行中。',
|
||
'sessions.scheduledTasks.dialog.toast.runFailed': '執行任務失敗',
|
||
'sessions.scheduledTasks.dialog.confirm.deleteTask': '刪除排程任務「{taskName}」?',
|
||
'sessions.scheduledTasks.dialog.confirm.deleteLoopFile': '刪除迴圈任務「{taskName}」及其 Markdown 檔案?',
|
||
'sessions.scheduledTasks.dialog.schedule.daily': '每天 {time}',
|
||
'sessions.scheduledTasks.dialog.schedule.dailyWithTimezone': '每天 {time}({timezone})',
|
||
'sessions.scheduledTasks.dialog.schedule.weekly': '每週 {days} {time}',
|
||
'sessions.scheduledTasks.dialog.schedule.weeklyWithTimezone': '每週 {days} {time}({timezone})',
|
||
'sessions.scheduledTasks.dialog.schedule.once': '一次性 {date} {time}',
|
||
'sessions.scheduledTasks.dialog.schedule.onceWithTimezone': '一次性 {date} {time}({timezone})',
|
||
'sessions.scheduledTasks.dialog.schedule.cron': 'Cron:{cron}',
|
||
'sessions.scheduledTasks.dialog.schedule.cronWithTimezone': 'Cron:{cron}({timezone})',
|
||
'sessions.scheduledTasks.dialog.schedule.unknownDate': '未知日期',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.sun': '週日',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.mon': '週一',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.tue': '週二',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.wed': '週三',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.thu': '週四',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.fri': '週五',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.sat': '週六',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.unknown': '?',
|
||
'sessions.scheduledTasks.dialog.relativeTime.inLessThanOneMinute': '不到 1 分鐘後',
|
||
'sessions.scheduledTasks.dialog.relativeTime.justNow': '剛剛',
|
||
'sessions.scheduledTasks.dialog.relativeTime.inMinutes': '{count} 分鐘後',
|
||
'sessions.scheduledTasks.dialog.relativeTime.minutesAgo': '{count} 分鐘前',
|
||
'sessions.scheduledTasks.dialog.relativeTime.inDuration': '{duration} 後',
|
||
'sessions.scheduledTasks.dialog.relativeTime.durationAgo': '{duration} 前',
|
||
'sessions.scheduledTasks.dialog.status.success': '成功',
|
||
'sessions.scheduledTasks.dialog.status.error': '錯誤',
|
||
'sessions.scheduledTasks.dialog.status.running': '執行中',
|
||
'sessions.scheduledTasks.dialog.status.idle': '閒置',
|
||
'sessions.scheduledTasks.dialog.nextRun.label': '下次',
|
||
'sessions.scheduledTasks.dialog.lastRun.label': '上次執行',
|
||
'sessions.scheduledTasks.dialog.lastRun.runningNow': '正在執行',
|
||
'sessions.scheduledTasks.dialog.lastRun.never': '從未',
|
||
'sessions.scheduledTasks.dialog.taskToggle.enableAria': '啟用 {taskName}',
|
||
'sessions.scheduledTasks.dialog.taskToggle.pauseAria': '暫停 {taskName}',
|
||
'sessions.scheduledTasks.dialog.taskToggle.enabled': '已啟用',
|
||
'sessions.scheduledTasks.dialog.taskToggle.paused': '已暫停',
|
||
'sessions.scheduledTasks.dialog.loopFile.note': '由迴圈檔案 {file} 管理',
|
||
'sessions.scheduledTasks.dialog.loopFile.toggleDisabled': '啟用狀態由迴圈檔案控制;請在 Markdown frontmatter 中設定 enabled',
|
||
'sessions.scheduledTasks.dialog.loopFile.actionsDisabled': '迴圈任務在其 .agents/loops Markdown 檔案中設定',
|
||
'sessions.scheduledTasks.editor.title.edit': '編輯排程任務',
|
||
'sessions.scheduledTasks.editor.title.new': '新增排程任務',
|
||
'sessions.scheduledTasks.editor.description': '設定一個伺服器端任務,用於建立新會話並傳送提示詞。',
|
||
'sessions.scheduledTasks.editor.taskName.label': '任務名稱',
|
||
'sessions.scheduledTasks.editor.taskName.placeholder': '每日同步',
|
||
'sessions.scheduledTasks.editor.scheduleType.label': '排程類型',
|
||
'sessions.scheduledTasks.editor.scheduleType.daily': '每天',
|
||
'sessions.scheduledTasks.editor.scheduleType.weekly': '每週',
|
||
'sessions.scheduledTasks.editor.scheduleType.once': '一次性',
|
||
'sessions.scheduledTasks.editor.scheduleType.cron': 'Cron',
|
||
'sessions.scheduledTasks.editor.date.label': '日期',
|
||
'sessions.scheduledTasks.editor.date.placeholder': '選擇日期',
|
||
'sessions.scheduledTasks.editor.date.previousMonth': '上個月',
|
||
'sessions.scheduledTasks.editor.date.nextMonth': '下個月',
|
||
'sessions.scheduledTasks.editor.date.jumpToToday': '跳至今天',
|
||
'sessions.scheduledTasks.editor.date.today': '今天',
|
||
'sessions.scheduledTasks.editor.time.label': '時間',
|
||
'sessions.scheduledTasks.editor.time.hourAria': '小時',
|
||
'sessions.scheduledTasks.editor.time.minuteAria': '分鐘',
|
||
'sessions.scheduledTasks.editor.time.periodAria': '時段',
|
||
'sessions.scheduledTasks.editor.time.period.am': 'AM',
|
||
'sessions.scheduledTasks.editor.time.period.pm': 'PM',
|
||
'sessions.scheduledTasks.editor.times.label': '時間點',
|
||
'sessions.scheduledTasks.editor.times.add': '新增時間',
|
||
'sessions.scheduledTasks.editor.times.removeAria': '移除時間',
|
||
'sessions.scheduledTasks.editor.timezone.label': '時區',
|
||
'sessions.scheduledTasks.editor.weekdays.label': '星期',
|
||
'sessions.scheduledTasks.editor.model.label': '模型',
|
||
'sessions.scheduledTasks.editor.thinkingLevel.label': '思考級別',
|
||
'sessions.scheduledTasks.editor.thinkingLevel.default': '預設',
|
||
'sessions.scheduledTasks.editor.agent.label': 'Agent',
|
||
'sessions.scheduledTasks.editor.prompt.label': '提示詞',
|
||
'sessions.scheduledTasks.editor.prompt.placeholder': '總結未完成任務並給出下一步建議',
|
||
'sessions.scheduledTasks.editor.enabled.aria': '啟用任務',
|
||
'sessions.scheduledTasks.editor.enabled.label': '已啟用',
|
||
'sessions.scheduledTasks.editor.goal.label': '作為目標執行',
|
||
'sessions.scheduledTasks.editor.goal.aria': '將此任務作為代理持續推進直至完成的目標執行',
|
||
'sessions.scheduledTasks.editor.goal.budgetLabel': '權杖預算',
|
||
'sessions.scheduledTasks.editor.goal.budgetAria': '以權杖預算限制該目標',
|
||
'sessions.scheduledTasks.editor.permissionAutoAccept.label': '自動接受權限',
|
||
'sessions.scheduledTasks.editor.permissionAutoAccept.aria': '啟動任務工作階段時啟用權限自動接受',
|
||
'sessions.scheduledTasks.editor.actions.closeAria': '關閉',
|
||
'sessions.scheduledTasks.editor.actions.cancel': '取消',
|
||
'sessions.scheduledTasks.editor.actions.save': '儲存',
|
||
'sessions.scheduledTasks.editor.actions.saving': '儲存中...',
|
||
'sessions.scheduledTasks.editor.toast.saveFailed': '儲存任務失敗',
|
||
'sessions.scheduledTasks.editor.validation.taskNameRequired': '任務名稱為必填項',
|
||
'sessions.scheduledTasks.editor.validation.promptRequired': '提示詞為必填項',
|
||
'sessions.scheduledTasks.editor.validation.modelRequired': '模型為必填項',
|
||
'sessions.scheduledTasks.editor.validation.dateFormat': '日期格式必須是 YYYY-MM-DD',
|
||
'sessions.scheduledTasks.editor.validation.timeFormat': '時間格式必須是 HH:mm',
|
||
'sessions.scheduledTasks.editor.validation.atLeastOneTime': '請至少新增一個有效時間',
|
||
'sessions.scheduledTasks.editor.validation.atLeastOneWeekday': '請至少選擇一個星期',
|
||
'sessions.scheduledTasks.editor.validation.timezoneRequired': '時區為必填項',
|
||
'sessions.scheduledTasks.editor.validation.cronRequired': 'Cron 表達式為必填項',
|
||
'sessions.scheduledTasks.editor.validation.cronInvalid': 'Cron 表達式無效',
|
||
'sessions.scheduledTasks.editor.cronExpression.label': 'Cron 表達式',
|
||
'sessions.scheduledTasks.editor.cronExpression.placeholder': '*/5 * * * *',
|
||
'sessions.scheduledTasks.editor.cronExpression.nextRuns': '下次執行',
|
||
'sessions.scheduledTasks.editor.cronExpression.examples': '範例',
|
||
'sessions.scheduledTasks.editor.cronExpression.examples.every5min': '每 5 分鐘',
|
||
'sessions.scheduledTasks.editor.cronExpression.examples.everyHour': '每小時',
|
||
'sessions.scheduledTasks.editor.cronExpression.examples.monday9am': '每週一上午 9 點',
|
||
'sessions.scheduledTasks.editor.cronExpression.examples.9am5pm': '每天上午 9 點和下午 5 點',
|
||
'sessions.scheduledTasks.editor.cronExpression.examples.firstOfMonth': '每月第一天',
|
||
'multirun.launcher.title': '新增 Multi-run',
|
||
'multirun.launcher.actions.closeEsc': '關閉 (Esc)',
|
||
'multirun.launcher.actions.cancel': '取消',
|
||
'multirun.launcher.actions.creating': '建立中...',
|
||
'multirun.launcher.actions.startWithModelCount': '開始({count} 個模型)',
|
||
'multirun.launcher.project.label': '專案',
|
||
'multirun.launcher.project.placeholder': '選擇專案',
|
||
'multirun.launcher.project.empty': '請先新增專案。',
|
||
'multirun.launcher.project.gitRequired': '無 worktree 隔離:執行將使用同一目錄。',
|
||
'multirun.launcher.groupName.label': '群組名稱',
|
||
'multirun.launcher.groupName.info': '用於 worktree 目錄和分支名稱',
|
||
'multirun.launcher.groupName.placeholder': 'feature-auth, bugfix-login',
|
||
'multirun.launcher.baseBranch.label': '基底分支',
|
||
'multirun.launcher.baseBranch.info': '每個模型都會基於此分支建立新分支',
|
||
'multirun.launcher.isolateRuns.label': '隔離執行',
|
||
'multirun.launcher.agent.label': 'Agent',
|
||
'multirun.launcher.agent.info': '所有執行使用同一 Agent。預設使用你目前設定的 Agent。',
|
||
'multirun.launcher.setupCommands.label': '設定命令',
|
||
'multirun.launcher.setupCommands.loading': '載入中...',
|
||
'multirun.launcher.setupCommands.commandPlaceholder': 'bun install',
|
||
'multirun.launcher.setupCommands.removeCommandAria': '移除命令',
|
||
'multirun.launcher.setupCommands.addCommand': '新增命令',
|
||
'multirun.launcher.prompt.label': '提示詞',
|
||
'multirun.launcher.prompt.placeholder': '輸入要傳送給所有模型的提示詞...',
|
||
'multirun.launcher.attachments.attach': '附加',
|
||
'multirun.launcher.attachments.tooltip': '相同檔案會傳送到所有執行',
|
||
'multirun.launcher.models.label': '模型',
|
||
'multirun.launcher.models.info': '選擇 2 個或更多模型。同一模型可重複加入。',
|
||
'multirun.launcher.toast.fileTooLarge': '檔案「{fileName}」過大(最大 10MB)',
|
||
'multirun.launcher.toast.attachFailed': '附加「{fileName}」失敗',
|
||
'multirun.launcher.toast.attachedSingle': '已附加 {count} 個檔案',
|
||
'multirun.launcher.toast.attachedPlural': '已附加 {count} 個檔案',
|
||
'multirun.modelMultiSelect.actions.addModel': '新增模型',
|
||
'multirun.modelMultiSelect.search.placeholder': '搜尋模型',
|
||
'multirun.modelMultiSelect.search.noResults': '找不到模型',
|
||
'multirun.modelMultiSelect.sections.favorites': '我的最愛',
|
||
'multirun.modelMultiSelect.sections.recent': '最近',
|
||
'multirun.modelMultiSelect.variant.placeholder': '思考',
|
||
'multirun.modelMultiSelect.variant.default': '預設',
|
||
'multirun.modelMultiSelect.keyboard.hint': '↑↓ 導覽 • Enter 選擇 • Esc 關閉',
|
||
'multirun.modelMultiSelect.validation.minOnly': '請至少選擇 {min} 個模型。',
|
||
'multirun.modelMultiSelect.validation.minToMax': '請選擇 {min} 到 {max} 個模型。',
|
||
'multirun.agentSelector.placeholder': '選擇 Agent',
|
||
'multirun.fusion.title': '執行 fusion',
|
||
'multirun.fusion.description': '將選取的 multi-run 輸出合併為一個更強的答案。',
|
||
'multirun.fusion.provider.placeholder': '供應商',
|
||
'multirun.fusion.model.placeholder': '模型',
|
||
'multirun.fusion.sources.label': '來源({count})',
|
||
'multirun.fusion.actions.cancel': '取消',
|
||
'multirun.fusion.actions.start': '開始 fusion',
|
||
'multirun.fusion.actions.starting': '正在開始...',
|
||
'multirun.fusion.toast.noOutputs': '找不到可用於 fusion 的助理輸出。',
|
||
'multirun.fusion.toast.failed': '啟動 fusion 失敗。',
|
||
'multirun.launcher.attachments.label': '文件',
|
||
'multirun.launcher.actions.startWithRunCount': '開始({count} 次運行)',
|
||
'multirun.launcher.groups.addGroup': '新增執行群組',
|
||
'multirun.launcher.groups.removeGroup': '移除執行群組',
|
||
'multirun.launcher.groups.groupLabel': '執行群組 {index}',
|
||
'multirun.launcher.groups.template.label': '模板',
|
||
'multirun.launcher.groups.template.placeholder': '選擇模板...',
|
||
'multirun.launcher.groups.template.custom': '自定義提示詞',
|
||
'multirun.launcher.groups.prompt.label': '提示詞',
|
||
'multirun.launcher.groups.prompt.placeholder': '輸入此執行群組的提示詞...',
|
||
'sessions.sidebar.header.actions.searchSessions': '搜尋會話',
|
||
'sessions.sidebar.header.actions.exitSelection': '退出選取',
|
||
'sessions.sidebar.header.actions.selectSessions': '選擇會話',
|
||
'sessions.sidebar.header.actions.sortProjects': '排序專案',
|
||
'sessions.sidebar.header.actions.sessionDisplayMode': '會話顯示模式',
|
||
'sessions.sidebar.header.displayMode.label': '顯示模式',
|
||
'sessions.sidebar.header.displayMode.default': '預設',
|
||
'sessions.sidebar.header.displayMode.minimal': '精簡',
|
||
'sessions.sidebar.header.displayMode.showRecent': '顯示最近部分',
|
||
'sessions.sidebar.header.displayMode.showArchived': '顯示已封存會話',
|
||
'sessions.sidebar.header.displayMode.collapseAll': '全部摺疊',
|
||
'sessions.sidebar.header.displayMode.expandAll': '全部展開',
|
||
'sessions.sidebar.header.projectSort.manual': '手動',
|
||
'sessions.sidebar.header.projectSort.aToZ': 'A → Z',
|
||
'sessions.sidebar.header.projectSort.zToA': 'Z → A',
|
||
'sessions.sidebar.header.projectSort.dateAdded': '最新',
|
||
'sessions.sidebar.header.projectSort.recent': '最近',
|
||
'sessions.sidebar.header.search.matchCountSingle': '{count} 個符合',
|
||
'sessions.sidebar.header.search.matchCountPlural': '{count} 個符合',
|
||
'sessions.sidebar.header.search.escapeHint': '按 Esc 清除',
|
||
'sessions.sidebar.header.search.placeholder': '搜尋會話...',
|
||
'sessions.sidebar.header.search.clear': '清除搜尋',
|
||
'sessions.sidebar.footer.actions.settings': '設定',
|
||
'sessions.sidebar.footer.actions.shortcuts': '快速鍵',
|
||
'sessions.sidebar.footer.actions.aboutOpenChamber': '關於 OpenChamber',
|
||
'sessions.sidebar.footer.actions.update': '更新',
|
||
'sessions.sidebar.empty.noSessions.title': '暫無會話',
|
||
'sessions.sidebar.empty.noSessions.description': '建立你的第一個會話以開始編碼。',
|
||
'sessions.sidebar.empty.noMatches.title': '沒有符合的會話',
|
||
'sessions.sidebar.empty.noMatches.description': '請嘗試其他標題、分支、資料夾或路徑。',
|
||
'sessions.sidebar.activity.recentTitle': '最近',
|
||
'sessions.sidebar.activity.chatsTitle': '聊天',
|
||
'sessions.sidebar.activity.chatsEmpty': '尚無聊天。',
|
||
'chat.chatInput.chooseProject': '選擇專案',
|
||
'sessions.archivePage.allDirectories': '所有目錄',
|
||
'sessions.sidebar.header.displayMode.stickyHeaders': '固定專案標題',
|
||
'sessions.sidebar.header.grouping.label': '工作階段分組',
|
||
'sessions.sidebar.header.projectDisplay.label': '顯示專案',
|
||
'sessions.sidebar.header.projectDisplay.all': '所有專案',
|
||
'sessions.sidebar.header.projectDisplay.single': '單一專案',
|
||
'sessions.sidebar.project.selectAria': '選擇專案,目前為 {project}',
|
||
'sessions.sidebar.header.grouping.byWorktree': '依工作樹',
|
||
'sessions.sidebar.header.grouping.flat': '平面清單',
|
||
'sessions.sidebar.project.actions.manageWorktrees': '管理工作樹',
|
||
'sessions.worktreesPage.title': '{project} 的工作樹',
|
||
'sessions.worktreesPage.description': '建立、檢視及移除此專案的 git 工作樹。',
|
||
'sessions.worktreesPage.closeAria': '關閉工作樹',
|
||
'sessions.scheduledTasks.page.closeAria': '關閉排程任務',
|
||
'sessions.sidebar.nav.archive': '封存',
|
||
'sessions.archivePage.title': '封存',
|
||
'sessions.archivePage.countSingle': '{count} 個已封存工作階段',
|
||
'sessions.archivePage.countPlural': '{count} 個已封存工作階段',
|
||
'sessions.archivePage.closeAria': '關閉封存',
|
||
'sessions.archivePage.searchPlaceholder': '搜尋已封存工作階段',
|
||
'sessions.archivePage.empty.noArchived': '沒有已封存的工作階段',
|
||
'sessions.archivePage.empty.noMatches': '沒有符合的已封存工作階段',
|
||
'sessions.archivePage.otherProjects': '其他專案',
|
||
'sessions.archivePage.deleteProject': '刪除此專案的所有已封存工作階段',
|
||
'sessions.archivePage.deleteProjectAria': '刪除 {label} 的所有已封存工作階段',
|
||
'sessions.archivePage.deleteSessionAria': '刪除 {title}',
|
||
'sessions.archivePage.restoreSessionAria': '還原 {title}',
|
||
'sessions.switcher.openAria': '開啟會話切換器',
|
||
'header.sessionTabs.stripAria': '開啟的會話',
|
||
'header.sessionTabs.tabMenuAria': '工作階段分頁動作',
|
||
'header.sessionTabs.closeTab': '關閉分頁',
|
||
'header.sessionTabs.closeOtherTabs': '關閉其他分頁',
|
||
'sessions.switcher.empty': '沒有最近會話',
|
||
'sessions.switcher.draftTitle': '新會話',
|
||
'sessions.sidebar.updateCheck.errorTitle': '檢查更新失敗',
|
||
'sessions.sidebar.updateCheck.latestVersion': '你已是最新版本',
|
||
'sessions.sidebar.directory.errorAddProjectTitle': '新增專案失敗',
|
||
'sessions.sidebar.directory.errorAddProjectDescription': '請選擇有效的目錄。',
|
||
'sessions.sidebar.directory.errorSelectDirectoryTitle': '選擇目錄失敗',
|
||
'sessions.sidebar.folder.newFolderName': '新增資料夾',
|
||
'sessions.sidebar.bulkActions.delete': '刪除',
|
||
'sessions.sidebar.bulkActions.archive': '封存',
|
||
'sessions.sidebar.bulkActions.selectedCount': '已選擇 {count} 項',
|
||
'sessions.sidebar.bulkActions.moveToFolder': '移動到資料夾',
|
||
'sessions.sidebar.bulkActions.deletedSingle': '已刪除 {count} 個會話',
|
||
'sessions.sidebar.bulkActions.deletedPlural': '已刪除 {count} 個會話',
|
||
'sessions.sidebar.bulkActions.failedDeleteSingle': '刪除 {count} 個會話失敗',
|
||
'sessions.sidebar.bulkActions.failedDeletePlural': '刪除 {count} 個會話失敗',
|
||
'sessions.sidebar.bulkActions.archivedSingle': '已封存 {count} 個會話',
|
||
'sessions.sidebar.bulkActions.archivedPlural': '已封存 {count} 個會話',
|
||
'sessions.sidebar.bulkActions.failedArchiveSingle': '封存 {count} 個會話失敗',
|
||
'sessions.sidebar.bulkActions.failedArchivePlural': '封存 {count} 個會話失敗',
|
||
'sessions.sidebar.bulkActions.restore': '還原',
|
||
'sessions.sidebar.bulkActions.restoredSingle': '已還原 {count} 個會話',
|
||
'sessions.sidebar.bulkActions.restoredPlural': '已還原 {count} 個會話',
|
||
'sessions.sidebar.bulkActions.failedRestoreSingle': '還原 {count} 個會話失敗',
|
||
'sessions.sidebar.bulkActions.failedRestorePlural': '還原 {count} 個會話失敗',
|
||
'sessions.sidebar.folders.none': '暫無資料夾',
|
||
'sessions.sidebar.folders.newFolderEllipsis': '新增資料夾...',
|
||
'sessions.sidebar.folders.removeFromFolder': '從資料夾中移除',
|
||
'sessions.sidebar.folders.moveToFolder': '移動到資料夾',
|
||
'sessions.sidebar.project.actions.newWorktree': '新增 worktree',
|
||
'sessions.sidebar.project.actions.newWorktreeEllipsis': '新增 worktree...',
|
||
'sessions.sidebar.project.actions.projectMenu': '專案選單',
|
||
'sessions.sidebar.project.actions.newSession': '新增會話',
|
||
'sessions.sidebar.project.actions.closeProject': '關閉專案',
|
||
'sessions.sidebar.project.actions.edit': '編輯',
|
||
'sessions.sidebar.project.actions.newDraftSession': '新增草稿會話',
|
||
'sessions.sidebar.session.menu.rename': '重新命名',
|
||
'sessions.sidebar.session.menu.copyId': '複製工作階段 ID',
|
||
'sessions.sidebar.session.copyId.success': '已複製工作階段 ID',
|
||
'sessions.sidebar.session.copyId.error': '無法複製工作階段 ID',
|
||
'header.sessionActions.openAria': '開啟工作階段操作',
|
||
'sessions.sidebar.session.rename.save': '儲存會話名稱',
|
||
'sessions.sidebar.session.rename.cancel': '取消重新命名會話',
|
||
'sessions.sidebar.session.menu.unpin': '取消釘選會話',
|
||
'sessions.sidebar.session.menu.pin': '釘選會話',
|
||
'sessions.sidebar.session.menu.share': '分享',
|
||
'sessions.sidebar.session.menu.copied': '已複製',
|
||
'sessions.sidebar.session.menu.copyLink': '複製連結',
|
||
'sessions.sidebar.session.menu.unshare': '取消分享',
|
||
'sessions.sidebar.session.menu.exportMarkdown': '匯出 Markdown',
|
||
'sessions.sidebar.session.menu.moveToWorktree': '移至新工作樹',
|
||
'sessions.sidebar.session.menu.moveToWorktreeTargets': '移至工作樹',
|
||
'sessions.sidebar.session.menu.newWorktree': '新增工作樹...',
|
||
'sessions.sidebar.session.moveToWorktree.success': '工作階段已移至新工作樹',
|
||
'sessions.sidebar.session.moveToWorktree.failed': '無法將工作階段移至新工作樹',
|
||
'sessions.sidebar.session.moveToWorktree.main': '主要工作樹',
|
||
'sessions.sidebar.session.moveToWorktree.refreshing': '正在重新整理工作樹...',
|
||
'sessions.sidebar.session.moveToWorktree.loadFailed': '無法載入工作樹',
|
||
'sessions.sidebar.session.moveToWorktree.current': '目前的工作樹',
|
||
'sessions.sidebar.session.moveToWorktree.existingSuccess': '工作階段已移至工作樹',
|
||
'sessions.sidebar.session.moveToWorktree.existingFailed': '無法將工作階段移至工作樹',
|
||
'sessions.sidebar.session.moveToWorktree.tooltipTargets': '顯示現有工作樹,以及為此工作階段建立新工作樹的選項。',
|
||
'sessions.sidebar.session.moveToWorktree.tooltip': '從目前分支建立新工作樹,並將此工作階段及其子工作階段移至其中。當來源有未提交的變更時,由你選擇是否一併轉移。',
|
||
'sessions.sidebar.session.moveToWorktree.tooltipBusy': '僅在工作階段閒置時可用。請停止目前活動或等待其完成。',
|
||
'sessions.sidebar.session.moveToWorktree.tooltipMoving': '此工作階段已在移至新工作樹。',
|
||
'sessions.sidebar.session.moveToWorktree.confirm.title': '來源有未提交的變更',
|
||
'sessions.sidebar.session.moveToWorktree.confirm.changedFiles': '此工作樹中已變更的檔案:{count}。',
|
||
'sessions.sidebar.session.moveToWorktree.confirm.ownership': 'OpenCode 依目錄而非工作階段追蹤這些變更。',
|
||
'sessions.sidebar.session.moveToWorktree.confirm.sessionOnlyHelp': '移動此工作階段及其子工作階段,同時保持每個來源檔案不變。',
|
||
'sessions.sidebar.session.moveToWorktree.confirm.allChangesHelp': '轉移工作階段目錄下的變更。未暫存與未追蹤的檔案在成功後離開來源。',
|
||
'sessions.sidebar.session.moveToWorktree.confirm.stagedWarning': '已暫存的變更保留在來源中,並複製到目的地。',
|
||
'sessions.sidebar.session.moveToWorktree.confirm.baseWarning': '當目的地使用不同的 Git 基礎時,轉移可能失敗。',
|
||
'sessions.sidebar.session.moveToWorktree.confirm.sessionOnly': '僅移動工作階段',
|
||
'sessions.sidebar.session.moveToWorktree.confirm.allChanges': '移動全部來源變更',
|
||
'sessions.sidebar.session.moveToWorktree.confirm.cancel': '取消',
|
||
'sessions.sidebar.session.moveToWorktree.sourceVerificationFailed': '無法驗證來源的變更。未變更任何工作樹或工作階段。',
|
||
'sessions.sidebar.session.moveToWorktree.applyChangesFailed': '目的地無法接受來源的變更。工作階段與來源變更均未移動。請重試並選擇「僅移動工作階段」。',
|
||
'sessions.sidebar.session.moveToWorktree.changesMayBeInDestination': '在目的地確認移動之前連線中斷。工作階段可能沒有移動,未提交的變更可能已經在目標工作樹中。重試前請先檢查。',
|
||
'sessions.sidebar.session.menu.runFusion': '執行 fusion',
|
||
'sessions.sidebar.session.menu.openInSidePanel': '在側邊面板中開啟',
|
||
'sessions.sidebar.session.actions.openInEditor': '在編輯器中開啟',
|
||
'sessions.sidebar.session.menu.betaBadge': 'beta',
|
||
'sessions.sidebar.session.menu.label': '會話選單',
|
||
'sessions.sidebar.session.untitled': '未命名會話',
|
||
'sessions.sidebar.session.export.nothingToExport': '沒有可匯出的內容',
|
||
'sessions.sidebar.session.export.failedLoadHistory': '無法載入完整的工作階段記錄',
|
||
'sessions.sidebar.session.export.success': '會話已匯出',
|
||
'sessions.sidebar.session.export.failedRevealPath': '顯示路徑失敗',
|
||
'sessions.sidebar.session.export.untitledSubagent': '未命名子 Agent',
|
||
'sessions.sidebar.session.export.skippedSubtaskSingle': '會話已匯出,但略過了 {count} 個無法載入的子 Agent 任務。',
|
||
'sessions.sidebar.session.export.skippedSubtaskMany': '會話已匯出,但略過了 {count} 個無法載入的子 Agent 任務。',
|
||
'sessions.sidebar.session.export.dialog.title': '匯出 Markdown',
|
||
'sessions.sidebar.session.export.dialog.descriptionSingle': '此會話有 {count} 個子 Agent 任務。是否包含在匯出中?',
|
||
'sessions.sidebar.session.export.dialog.descriptionMany': '此會話有 {count} 個子 Agent 任務。是否包含在匯出中?',
|
||
'sessions.sidebar.session.export.dialog.includeSubtasks': '包含子 Agent 任務',
|
||
'sessions.sidebar.session.export.dialog.confirm': '匯出',
|
||
'sessions.sidebar.session.status.active': '會話活躍中',
|
||
'sessions.sidebar.session.status.unread': '有未讀更新',
|
||
'sessions.sidebar.session.status.pinned': '已釘選會話',
|
||
'sessions.sidebar.session.status.movingToWorktree': '正在將會話移至新工作樹',
|
||
'sessions.sidebar.session.status.permissionRequired': '需要權限',
|
||
'sessions.sidebar.session.status.questionPendingSingle': '1 個待回答問題',
|
||
'sessions.sidebar.session.status.questionPendingMany': '{count} 個待回答問題',
|
||
'sessions.sidebar.session.status.activeFor': '已活動 {duration}',
|
||
'sessions.sidebar.session.status.lastTurnDuration': '上一輪耗時 {duration}',
|
||
'sessions.sidebar.session.subsessions.collapse': '摺疊子會話',
|
||
'sessions.sidebar.session.subsessions.expand': '展開子會話',
|
||
'sessions.sidebar.dialogs.deleteSession.title': '刪除會話?',
|
||
'sessions.sidebar.dialogs.archiveSession.title': '封存會話?',
|
||
'sessions.sidebar.dialogs.deleteSession.withOneSubtask': '「{sessionTitle}」及其 {count} 個子任務將被永久刪除。',
|
||
'sessions.sidebar.dialogs.deleteSession.withManySubtasks': '「{sessionTitle}」及其 {count} 個子任務將被永久刪除。',
|
||
'sessions.sidebar.dialogs.archiveSession.withOneSubtask': '「{sessionTitle}」及其 {count} 個子任務將被封存。',
|
||
'sessions.sidebar.dialogs.archiveSession.withManySubtasks': '「{sessionTitle}」及其 {count} 個子任務將被封存。',
|
||
'sessions.sidebar.dialogs.deleteSession.single': '「{sessionTitle}」將被永久刪除。',
|
||
'sessions.sidebar.dialogs.archiveSession.single': '「{sessionTitle}」將被封存。',
|
||
'sessions.sidebar.dialogs.neverAsk': '不再詢問',
|
||
'sessions.sidebar.dialogs.cancel': '取消',
|
||
'sessions.sidebar.dialogs.deleteSession.titleAction': '刪除會話',
|
||
'sessions.sidebar.dialogs.deleteSessions.titleAction': '刪除會話',
|
||
'sessions.sidebar.dialogs.deleteSessions.title': '刪除會話?',
|
||
'sessions.sidebar.dialogs.archiveSessions.title': '封存會話?',
|
||
'sessions.sidebar.dialogs.deleteSessions.singleDescription': '{count} 個會話將被永久刪除。',
|
||
'sessions.sidebar.dialogs.deleteSessions.pluralDescription': '{count} 個會話將被永久刪除。',
|
||
'sessions.sidebar.dialogs.archiveSessions.singleDescription': '{count} 個會話將被封存。',
|
||
'sessions.sidebar.dialogs.archiveSessions.pluralDescription': '{count} 個會話將被封存。',
|
||
'sessions.sidebar.dialogs.deleteFolder.title': '刪除資料夾?',
|
||
'sessions.sidebar.dialogs.deleteFolder.withOneSubfolder': '「{folderName}」將被刪除,並包含 {count} 個子資料夾。其中的會話不會被刪除。',
|
||
'sessions.sidebar.dialogs.deleteFolder.withManySubfolders': '「{folderName}」將被刪除,並包含 {count} 個子資料夾。其中的會話不會被刪除。',
|
||
'sessions.sidebar.dialogs.deleteFolder.withContentsNoSubfolders': '「{folderName}」將被刪除。其中的會話不會被刪除。',
|
||
'sessions.sidebar.dialogs.deleteFolder.single': '「{folderName}」將被永久刪除。',
|
||
'sessions.sidebar.dialogs.deleteResult.singleFailedToDelete': '{count} 個會話刪除失敗。',
|
||
'sessions.sidebar.dialogs.deleteResult.manyFailedToDelete': '{count} 個會話刪除失敗。',
|
||
'sessions.sidebar.dialogs.deleteResult.singleFailedToArchive': '{count} 個會話封存失敗。',
|
||
'sessions.sidebar.dialogs.deleteResult.manyFailedToArchive': '{count} 個會話封存失敗。',
|
||
'sessions.sidebar.dialogs.deleteResult.removedFromDate': '已移除 {dateLabel} 中的所有會話。',
|
||
'sessions.sidebar.dialogs.deleteResult.tryAgain': '請稍後重試。',
|
||
'sessions.sidebar.dialogs.worktreeDelete.descriptionNoLinked': '這將移除所選 worktree。',
|
||
'sessions.sidebar.dialogs.worktreeDelete.descriptionOneLinked': '這將移除所選 worktree 並封存 {count} 個關聯會話。',
|
||
'sessions.sidebar.dialogs.worktreeDelete.descriptionManyLinked': '這將移除所選 worktree 並封存 {count} 個關聯會話。',
|
||
'sessions.sidebar.dialogs.sessionDelete.descriptionOne': '此操作將永久刪除 1 個會話。',
|
||
'sessions.sidebar.dialogs.sessionDelete.descriptionOneWithDate': '此操作將永久刪除來自 {dateLabel} 的 1 個會話。',
|
||
'sessions.sidebar.dialogs.sessionDelete.descriptionMany': '此操作將永久刪除 {count} 個會話。',
|
||
'sessions.sidebar.dialogs.sessionDelete.descriptionManyWithDate': '此操作將永久刪除來自 {dateLabel} 的 {count} 個會話。',
|
||
'sessions.sidebar.dialogs.sessionList.more': '+{count} 更多',
|
||
'sessions.sidebar.session.share.successTitle': '會話已分享',
|
||
'sessions.sidebar.session.share.successDescription': '分享連結已複製到剪貼簿。',
|
||
'sessions.sidebar.session.share.error': '無法分享會話',
|
||
'sessions.sidebar.session.share.copyUrlError': '複製 URL 失敗',
|
||
'sessions.sidebar.session.unshare.success': '會話已取消分享',
|
||
'sessions.sidebar.session.unshare.error': '無法取消分享會話',
|
||
'sessions.sidebar.session.delete.success': '會話已刪除',
|
||
'sessions.sidebar.session.delete.error': '刪除會話失敗',
|
||
'sessions.sidebar.session.archive.success': '會話已封存',
|
||
'sessions.sidebar.session.archive.error': '封存會話失敗',
|
||
'sessions.sidebar.session.restore.success': '會話已還原',
|
||
'sessions.sidebar.session.restore.error': '還原會話失敗',
|
||
'sessions.sidebar.group.pr.checksPassed': '{success}/{total} 項檢查已通過',
|
||
'sessions.sidebar.group.pr.failingCount': '{count} 項失敗',
|
||
'sessions.sidebar.group.pr.pendingCount': '{count} 項等待中',
|
||
'sessions.sidebar.group.pr.conflictsOrBlocked': '有衝突或被阻止',
|
||
'sessions.sidebar.group.pr.mergeable': '可合併',
|
||
'sessions.sidebar.group.pr.mergeState': '合併狀態:{state}',
|
||
'sessions.sidebar.group.pr.status.merged': '已合併',
|
||
'sessions.sidebar.group.pr.status.readyToMerge': '可合併',
|
||
'sessions.sidebar.group.pr.status.open': 'PR 已開啟',
|
||
'sessions.sidebar.group.pr.status.mergeConflicts': '存在合併衝突',
|
||
'sessions.sidebar.group.pr.status.mergeBlocked': '合併被阻止',
|
||
'sessions.sidebar.group.pr.status.draft': '草稿 PR',
|
||
'sessions.sidebar.group.pr.status.closed': '已關閉',
|
||
'sessions.sidebar.group.empty.noArchivedSessions': '暫無已封存會話。',
|
||
'sessions.sidebar.group.empty.noSessionsInWorkspace': '該工作區暫無會話。',
|
||
'sessions.sidebar.group.showMore': '顯示更多會話',
|
||
'sessions.sidebar.group.showMoreSingle': '再顯示 {count} 個會話',
|
||
'sessions.sidebar.group.showMorePlural': '再顯示 {count} 個會話',
|
||
'sessions.sidebar.group.showFewer': '顯示更少會話',
|
||
'sessions.sidebar.group.expandAria': '展開 {label}',
|
||
'sessions.sidebar.group.collapseAria': '摺疊 {label}',
|
||
'sessions.sidebar.group.actions.deleteArchivedInGroupAria': '刪除 {label} 中已封存會話',
|
||
'sessions.sidebar.group.actions.deleteArchivedSessions': '刪除已封存會話',
|
||
'sessions.sidebar.group.actions.deleteGroupAria': '刪除 {label}',
|
||
'sessions.sidebar.group.actions.deleteWorktree': '刪除 worktree',
|
||
'sessions.sidebar.group.actions.newDraftInGroupAria': '在 {label} 中新增草稿會話',
|
||
'sessions.sidebar.grouping.projectRoot': '專案根目錄',
|
||
'sessions.sidebar.grouping.projectRootWithBranch': '專案根目錄:{branch}',
|
||
'sessions.sidebar.grouping.archived': '已封存',
|
||
'sessions.sidebar.grouping.archivedDescription': '已封存且未分配的會話',
|
||
'sessions.sidebar.folderItem.expandAria': '展開資料夾 {folderName}',
|
||
'sessions.sidebar.folderItem.collapseAria': '摺疊資料夾 {folderName}',
|
||
'sessions.sidebar.folderItem.namePlaceholder': '資料夾名稱',
|
||
'sessions.sidebar.folderItem.newSessionAria': '在 {folderName} 中新增會話',
|
||
'sessions.sidebar.folderItem.newSubfolderAria': '在 {folderName} 中新增子資料夾',
|
||
'sessions.sidebar.folderItem.newSubfolder': '新增子資料夾',
|
||
'sessions.sidebar.folderItem.renameAria': '重新命名資料夾 {folderName}',
|
||
'sessions.sidebar.folderItem.deleteArchivedInFolderAria': '刪除資料夾 {folderName} 中已封存會話',
|
||
'sessions.sidebar.folderItem.deleteFolderAria': '刪除資料夾 {folderName}',
|
||
'sessions.sidebar.folderItem.emptyFolder': '空資料夾',
|
||
'sessions.sidebar.sessionDialogs.ok': '確定',
|
||
'sessions.sidebar.sessionDialogs.linkedSessionSingle': '關聯會話',
|
||
'sessions.sidebar.sessionDialogs.linkedSessionPlural': '關聯會話',
|
||
'sessions.sidebar.sessionDialogs.delete.note': 'worktree 目錄會保留。與所選會話關聯的子會話也會被刪除。',
|
||
'sessions.sidebar.sessionDialogs.directory.errorSelectTitle': '選擇目錄失敗',
|
||
'sessions.sidebar.sessionDialogs.directory.errorOpenTitle': '開啟目錄失敗',
|
||
'sessions.sidebar.sessionDialogs.directory.errorOpenDescription': '桌面端無法授予檔案存取權限。',
|
||
'sessions.sidebar.sessionDialogs.directory.errorAddProjectTitle': '新增專案失敗',
|
||
'sessions.sidebar.sessionDialogs.directory.errorAddProjectDescription': '請選擇有效的目錄路徑。',
|
||
'sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle': '移除 worktree 失敗',
|
||
'sessions.sidebar.sessionDialogs.worktree.removedTitle': 'worktree 已移除',
|
||
'sessions.sidebar.sessionDialogs.worktree.removed': 'worktree 已移除。',
|
||
'sessions.sidebar.sessionDialogs.worktree.removedWithRemote': 'worktree 和遠端分支已移除。',
|
||
'sessions.sidebar.sessionDialogs.worktree.attachedArchived': '關聯 worktree 已封存。',
|
||
'sessions.sidebar.sessionDialogs.worktree.attachedArchivedPlural': '關聯 worktree 已封存。',
|
||
'sessions.sidebar.sessionDialogs.worktree.archivedAndRemoteRemoved': 'worktree 已封存且遠端分支已移除。',
|
||
'sessions.sidebar.sessionDialogs.worktree.label': 'worktree',
|
||
'sessions.sidebar.sessionDialogs.worktree.pathUnavailable': 'worktree 路徑無法使用。',
|
||
'sessions.sidebar.sessionDialogs.worktree.uncommittedWarning': '未提交的變更將被捨棄。',
|
||
'sessions.sidebar.sessionDialogs.actions.deleteRemoteBranch': '刪除遠端分支',
|
||
'sessions.sidebar.sessionDialogs.actions.remoteBranchInfoUnavailable': '遠端分支資訊無法使用',
|
||
'sessions.sidebar.sessionDialogs.actions.deleteLocalBranch': '刪除本地分支',
|
||
'sessions.sidebar.sessionDialogs.actions.deleting': '刪除中…',
|
||
'sessions.sidebar.sessionDialogs.actions.deleteWorktree': '刪除 worktree',
|
||
'gitView.branch.branchToMergeInto': '要合併到 {branch} 的分支',
|
||
'gitView.branch.branchToRebaseOnto': '要 Rebase 到其上的分支',
|
||
'gitView.branch.create': '建立新分支...',
|
||
'gitView.branch.currentBadge': '目前',
|
||
'gitView.branch.currentBranchFallback': '目前分支',
|
||
'gitView.branch.currentBranchTooltip': '目前分支',
|
||
'gitView.branch.detachedHead': '分離的 HEAD',
|
||
'gitView.branch.dialogDescriptionPrefix': '選擇如何將另一個分支的變更帶入',
|
||
'gitView.branch.empty': '找不到分支。',
|
||
'gitView.branch.localBranches': '本地分支',
|
||
'gitView.branch.mergeDescription': '使用合併提交合併分支,並保留歷史紀錄。',
|
||
'gitView.branch.mergeRebase': '合併 / Rebase',
|
||
'gitView.branch.mergeRebaseTooltip': '從另一個分支合併或 Rebase 變更。',
|
||
'gitView.branch.mergingInProgress': '正在合併...',
|
||
'gitView.branch.namePlaceholder': '分支名稱',
|
||
'gitView.branch.newBranchPlaceholder': '新分支名稱',
|
||
'gitView.branch.noLocalBranches': '沒有本地分支',
|
||
'gitView.branch.noRemoteBranches': '沒有遠端分支',
|
||
'gitView.branch.operation': '操作',
|
||
'gitView.branch.operationCompleted': '操作已完成',
|
||
'gitView.branch.operationFailed': '操作失敗',
|
||
'gitView.branch.pushToPrefix': '將',
|
||
'gitView.branch.pushToSuffix': '推送到:',
|
||
'gitView.branch.rebaseDescription': '將你的提交移動到另一分支之上,形成線性歷史。',
|
||
'gitView.branch.rebasingInProgress': '正在 Rebase...',
|
||
'gitView.branch.remoteBranches': '遠端分支',
|
||
'gitView.branch.renameTitle': '重新命名分支',
|
||
'gitView.branch.renameSave': '儲存分支名稱',
|
||
'gitView.branch.renameSaving': '正在儲存分支名稱',
|
||
'gitView.branch.renameCancel': '取消重新命名分支',
|
||
'gitView.branch.searchPlaceholder': '搜尋分支...',
|
||
'gitView.branch.selectBranch': '選擇分支...',
|
||
'gitView.branch.summaryMergeInfix': '合併到',
|
||
'gitView.branch.summaryMergePrefix': '這將把',
|
||
'gitView.branch.summaryRebaseInfix': 'Rebase 到',
|
||
'gitView.branch.summaryRebasePrefix': '這將把',
|
||
'gitView.branch.updateDescriptionPrefix': '將另一個分支的變更帶入',
|
||
'gitView.branch.updateTitle': '更新分支',
|
||
'gitView.changes.changedFilesAria': '已變更檔案',
|
||
'gitView.changes.clearSelectionAria': '清除檔案選取',
|
||
'gitView.changes.collapseDirectoryAria': '摺疊目錄 {path}',
|
||
'gitView.changes.expandDirectoryAria': '展開目錄 {path}',
|
||
'gitView.changes.revertAll': '全部還原',
|
||
'gitView.changes.revertAllDescriptionPlural': '這將捨棄列表中 {count} 個檔案的本地變更。',
|
||
'gitView.changes.revertAllDescriptionSingle': '這將捨棄列表中 {count} 個檔案的本地變更。',
|
||
'gitView.changes.revertAllDialogTitle': '還原所有變更?',
|
||
'gitView.changes.revertDirectoryAria': '還原 {path} 中的變更',
|
||
'gitView.changes.revertDirectory': '還原資料夾',
|
||
'gitView.changes.revertDirectoryDescriptionPlural': '這將捨棄 {path} 下 {count} 個檔案的本地變更。',
|
||
'gitView.changes.revertDirectoryDescriptionSingle': '這將捨棄 {path} 下 {count} 個檔案的本地變更。',
|
||
'gitView.changes.revertDirectoryDialogTitle': '還原資料夾變更?',
|
||
'gitView.changes.revertDirectoryTooltip': '還原資料夾變更',
|
||
'gitView.changes.revertFileAria': '還原 {path} 的變更',
|
||
'gitView.changes.revertFileTooltip': '還原變更',
|
||
'gitView.changes.reverting': '正在還原...',
|
||
'gitView.changes.selectAllAria': '全選檔案',
|
||
'gitView.changes.selectFileAria': '選擇 {path}',
|
||
'gitView.changes.stagedTitle': '已暫存',
|
||
'gitView.changes.resizeSplitAria': '調整已暫存和未暫存更改區域大小',
|
||
'gitView.changes.stageAllAria': '暫存所有更改',
|
||
'gitView.changes.stageDirectoryAria': '暫存 {path} 中的所有更改',
|
||
'gitView.changes.stageFileAria': '暫存 {path}',
|
||
'gitView.changes.title': '變更',
|
||
'gitView.changes.toggleDirectorySelectionAria': '切換目錄 {path} 的選取',
|
||
'gitView.changes.unstageAllAria': '取消暫存所有更改',
|
||
'gitView.changes.unstageDirectoryAria': '取消暫存 {path} 中的所有更改',
|
||
'gitView.changes.unstageFileAria': '取消暫存 {path}',
|
||
'gitView.commit.addGitmoji': '加入 gitmoji',
|
||
'gitView.commit.aiHighlights.insertAria': '將重點插入提交訊息',
|
||
'gitView.commit.aiHighlights.insertTooltip': '將重點附加到提交訊息',
|
||
'gitView.commit.aiHighlights.title': '重點',
|
||
'gitView.commit.commit': '提交',
|
||
'gitView.commit.commitAria': '提交',
|
||
'gitView.commit.committing': '提交中...',
|
||
'gitView.commit.generate': '生成',
|
||
'gitView.commit.generateAria': '生成提交訊息',
|
||
'gitView.commit.messagePlaceholder': '提交訊息',
|
||
'gitView.commit.push': 'Commit & sync',
|
||
'gitView.commit.pushAria': 'Commit and sync',
|
||
'gitView.commit.pushing': 'sync 中...',
|
||
'gitView.commit.selectFilesHint': '在「變更」中選擇檔案以啟用提交。',
|
||
'gitView.commit.stageFilesHint': '暫存文件以啟用提交。',
|
||
'gitView.commit.title': '提交',
|
||
'gitView.common.cancel': '取消',
|
||
'gitView.common.close': '關閉',
|
||
'gitView.common.done': '完成',
|
||
'gitView.common.processing': '處理中...',
|
||
'gitView.common.reset': '重設',
|
||
'gitView.conflict.abortOperation': '中止 {operation}',
|
||
'gitView.conflict.conflictedFiles': '衝突檔案:',
|
||
'gitView.conflict.continueLater': '稍後繼續',
|
||
'gitView.conflict.detectedDescription': '{operation} 操作產生了需要解決的衝突。',
|
||
'gitView.conflict.detectedTitle': '偵測到 {operation} 衝突',
|
||
'gitView.conflict.errorLoadingDetails': '載入詳情失敗:{message}',
|
||
'gitView.conflict.headInfo': 'HEAD 資訊:',
|
||
'gitView.conflict.loadFailed': '載入衝突詳情失敗',
|
||
'gitView.conflict.loading': '正在載入衝突詳情...',
|
||
'gitView.conflict.noActiveSession': '沒有活動會話',
|
||
'gitView.conflict.noActiveSessionDescription': '請先開啟一個聊天會話或新增會話。',
|
||
'gitView.conflict.resolveCurrentSession': '在目前會話中解決',
|
||
'gitView.conflict.resolveNewSession': '在新會話中解決',
|
||
'gitView.empty.cleanDescription': '所有變更都已提交',
|
||
'gitView.empty.cleanTitle': '工作區乾淨',
|
||
'gitView.empty.pullBehindPlural': 'Pull {count} 個提交',
|
||
'gitView.empty.pullBehindSingle': 'Pull {count} 個提交',
|
||
'gitView.header.identityTooltip': 'Git 身分',
|
||
'gitView.header.noIdentity': '無身分',
|
||
'gitView.header.noProfiles': '沒有可套用的設定。',
|
||
'gitView.header.repositoryViews': '儲存庫檢視',
|
||
'gitView.header.updateBranch': '更新分支',
|
||
'gitView.header.openPullRequest': '開啟提取請求',
|
||
'gitView.header.removeRemoteAria': '移除遠端 {name}',
|
||
'gitView.header.removeRemoteTitle': '移除 {name}',
|
||
'gitView.header.upstreamSynced': '已同步',
|
||
'gitView.header.upstreamTooltip': '與 {target} 比較。',
|
||
'gitView.header.upstreamTooltipTracking': '與 {target} 比較。主要同步徽章仍反映 {tracking}。',
|
||
'gitView.history.binary': '二進位',
|
||
'gitView.history.actions.cancelButton': '取消',
|
||
'gitView.history.actions.checkout': '簽出',
|
||
'gitView.history.actions.checkoutConfirm': '要將此提交簽出為 detached HEAD 嗎?',
|
||
'gitView.history.actions.cherryPick': 'Cherry-pick',
|
||
'gitView.history.actions.cherryPickConfirm': '要將此提交 cherry-pick 到目前分支嗎?',
|
||
'gitView.history.actions.conflictToastDescription': '衝突檔案:{files}。請手動解決並提交,或使用 git cherry-pick/revert --abort 中止。',
|
||
'gitView.history.actions.conflictToastTitle': '衝突',
|
||
'gitView.history.actions.confirmButton': '確認',
|
||
'gitView.history.actions.createBranch': '在此建立分支',
|
||
'gitView.history.actions.createBranchConfirm': '建立',
|
||
'gitView.history.actions.createBranchPlaceholder': '分支名稱',
|
||
'gitView.history.actions.detachedHead': '已簽出(detached HEAD)',
|
||
'gitView.history.actions.merge': '合併到目前分支',
|
||
'gitView.history.actions.mergeConfirm': '要將此提交合併到目前分支嗎?',
|
||
'gitView.history.actions.rebase': 'Rebase 到此處',
|
||
'gitView.history.actions.rebaseConfirm': '要將目前分支 rebase 到此提交嗎?',
|
||
'gitView.history.actions.reset': 'Reset...',
|
||
'gitView.history.actions.resetHard': 'Hard — 捨棄所有變更',
|
||
'gitView.history.actions.resetHardConfirm': 'Hard reset — HEAD 會移動,所有未提交變更將永久捨棄。',
|
||
'gitView.history.actions.resetHardConfirmButton': '捨棄變更',
|
||
'gitView.history.actions.resetMixed': 'Mixed — 取消暫存變更',
|
||
'gitView.history.actions.resetMixedConfirm': 'Mixed reset — HEAD 會移動,變更將取消暫存。',
|
||
'gitView.history.actions.resetSoft': 'Soft — 保留暫存',
|
||
'gitView.history.actions.resetSoftConfirm': 'Soft reset — HEAD 會移動,已暫存變更會保留。',
|
||
'gitView.history.actions.revert': 'Revert',
|
||
'gitView.history.actions.revertConfirm': '要暫存對此提交的 revert 嗎?',
|
||
'gitView.history.loadMore': '載入更多',
|
||
'gitView.history.loadingMore': '載入中...',
|
||
'gitView.history.binaryNoDiff': '二進位檔案 — 無可用 diff',
|
||
'gitView.history.commitsPlaceholder': '提交數',
|
||
'gitView.history.copySha': '複製 SHA',
|
||
'gitView.history.diffError': '載入 diff 失敗,點擊重試。',
|
||
'gitView.history.largeDiffDescription': '渲染可能較慢。你仍可點擊下方查看 diff。',
|
||
'gitView.history.largeDiffTitle': '大型 diff({count} 行變更)',
|
||
'gitView.history.loadingDiff': '正在載入 diff...',
|
||
'gitView.history.loadingFiles': '正在載入檔案...',
|
||
'gitView.history.logSize100': '100 個提交',
|
||
'gitView.history.logSize25': '25 個提交',
|
||
'gitView.history.logSize50': '50 個提交',
|
||
'gitView.history.noCommits': '找不到提交',
|
||
'gitView.history.noFiles': '沒有檔案',
|
||
'gitView.history.renamedNoDiff': '已重新命名檔案 — 不支援 diff',
|
||
'gitView.history.renderDiffAnyway': '仍然渲染',
|
||
'gitView.history.title': '歷史紀錄',
|
||
'gitView.history.refresh': '重新整理',
|
||
'gitView.graph.title': '圖譜',
|
||
'gitView.integrate.checking': '檢查中…',
|
||
'gitView.integrate.cherryPickAbortedToast': '已中止 cherry-pick',
|
||
'gitView.integrate.cherryPickConflictDescription': '請先解決衝突,然後繼續。',
|
||
'gitView.integrate.cherryPickConflictToast': 'cherry-pick 衝突',
|
||
'gitView.integrate.cherryPickContinueFailedToast': '繼續 cherry-pick 失敗',
|
||
'gitView.integrate.cherryPickFinishedToast': 'cherry-pick 已完成',
|
||
'gitView.integrate.commitsMovedDescriptionPlural': '已將 {count} 個提交移動到 {branch}',
|
||
'gitView.integrate.commitsMovedDescriptionSingle': '已將 {count} 個提交移動到 {branch}',
|
||
'gitView.integrate.commitsMovedToast': '提交已移動',
|
||
'gitView.integrate.commitsToMove': '待移動提交',
|
||
'gitView.integrate.conflictsInFiles': '{count} 個檔案存在衝突',
|
||
'gitView.integrate.currentCommit': '目前提交',
|
||
'gitView.integrate.currentSession': '目前會話',
|
||
'gitView.integrate.failedToMoveToast': '移動提交失敗',
|
||
'gitView.integrate.moreFiles': '另有 {count} 個',
|
||
'gitView.integrate.move': '移動',
|
||
'gitView.integrate.moveCommits': '移動提交',
|
||
'gitView.integrate.moving': '移動中…',
|
||
'gitView.integrate.newSession': '新會話',
|
||
'gitView.integrate.noActiveSession': '沒有活動會話',
|
||
'gitView.integrate.noActiveSessionDescription': '請先開啟聊天會話或新增會話。',
|
||
'gitView.integrate.noCommitsToMove': '沒有可移動的提交。',
|
||
'gitView.integrate.noCommitsToMoveToast': '沒有可移動的提交',
|
||
'gitView.integrate.previewUnavailable': '預覽無法使用。',
|
||
'gitView.integrate.showAll': '顯示全部',
|
||
'gitView.integrate.showLess': '收起',
|
||
'gitView.integrate.showingFirstCommits': '顯示前 {count} 個提交。',
|
||
'gitView.integrate.target': '目標',
|
||
'gitView.integrate.title': '重新整合提交',
|
||
'gitView.integrate.toMoveCount': '{count} 待移動',
|
||
'gitView.operation.abort': '中止',
|
||
'gitView.operation.continue': '繼續',
|
||
'gitView.operation.inProgressTitle': '{operation} 進行中',
|
||
'gitView.operation.inProgressTitleManyConflicts': '{operation} 進行中:{count} 個衝突',
|
||
'gitView.operation.inProgressTitleOneConflict': '{operation} 進行中:{count} 個衝突',
|
||
'gitView.operation.merge': '合併',
|
||
'gitView.operation.mergeInProgressWithHead': '合併進行中({head})',
|
||
'gitView.operation.mergingMessage': '正在合併:{message}',
|
||
'gitView.operation.rebase': 'Rebase',
|
||
'gitView.operation.rebaseInProgress': 'Rebase 進行中',
|
||
'gitView.operation.rebasingOnto': '正在將 {headName} Rebase 到 {onto}',
|
||
'gitView.operation.readyToContinueHint': '所有衝突已解決。繼續以完成操作。',
|
||
'gitView.operation.resolveConflictsHint': '解決衝突,然後繼續操作。',
|
||
'gitView.operation.resolveWithAi': '使用 AI 解決',
|
||
'gitView.stash.confirmButton': 'Stash 並 {operation}',
|
||
'gitView.stash.description': '你有未提交的變更會被此次 {operation} 覆寫。是否先暫時 Stash 這些變更?',
|
||
'gitView.stash.mergeWith': '與',
|
||
'gitView.stash.rebaseOnto': 'Rebase 到',
|
||
'gitView.stash.restoreAfterOperation': '{operation} 後恢復變更',
|
||
'gitView.stash.restoreAria': '在操作後恢復變更',
|
||
'gitView.stash.stepRestore': '恢復已 Stash 的變更',
|
||
'gitView.stash.stepStash': 'Stash 未提交的變更',
|
||
'gitView.stash.thisWill': '這將會:',
|
||
'gitView.stash.title': '未提交的變更',
|
||
'gitView.stashes.actions.apply': 'Apply',
|
||
'gitView.stashes.actions.drop': 'Drop',
|
||
'gitView.stashes.actions.pop': 'Pop',
|
||
'gitView.stashes.actions.stashCurrent': 'Stash 目前的變更',
|
||
'gitView.stashes.actions.stashCurrentWithCount': 'Stash {count} 個檔案',
|
||
'gitView.stashes.confirm.drop': 'Drop {ref}?',
|
||
'gitView.stashes.description': '儲存、還原與清理此儲存庫的 Git stashes。',
|
||
'gitView.stashes.empty.list': '目前沒有 stashes。',
|
||
'gitView.stashes.empty.search': '沒有符合的 stashes。',
|
||
'gitView.stashes.includeUntrackedHint': '會自動包含 untracked 檔案。',
|
||
'gitView.stashes.fileCount': '{count} 個檔案',
|
||
'gitView.stashes.fileCountLoading': '正在計算檔案數量...',
|
||
'gitView.stashes.itemNumber': '#{number}',
|
||
'gitView.stashes.latestLabel': '最新',
|
||
'gitView.stashes.messagePlaceholder': 'Stash 名稱',
|
||
'gitView.stashes.searchPlaceholder': '搜尋 stashes',
|
||
'gitView.stashes.title': 'Stashes',
|
||
'gitView.stashes.toast.applyFailed': 'Apply stash 失敗',
|
||
'gitView.stashes.toast.applySuccess': '已 apply stash',
|
||
'gitView.stashes.toast.createFailed': 'Stash 變更失敗',
|
||
'gitView.stashes.toast.created': '已 stash 變更',
|
||
'gitView.stashes.toast.dropFailed': 'Drop stash 失敗',
|
||
'gitView.stashes.toast.dropSuccess': '已 drop stash',
|
||
'gitView.stashes.toast.loadFailed': '載入 stashes 失敗',
|
||
'gitView.stashes.toast.noChanges': '沒有可 stash 的本機變更',
|
||
'gitView.stashes.toast.popFailed': 'Pop stash 失敗',
|
||
'gitView.stashes.toast.popSuccess': '已 pop stash',
|
||
'gitView.stashes.untitled': '未命名的 stash',
|
||
'gitView.sync.fetch': 'Fetch',
|
||
'gitView.sync.fetchFromRemote': '從 {name} Fetch',
|
||
'gitView.sync.fetchTooltip': '從遠端 Fetch',
|
||
'gitView.sync.commitOrStashTooltip': '同步前請先提交或 Stash 你的變更',
|
||
'gitView.sync.moreActionsAria': '更多同步操作',
|
||
'gitView.sync.noRemoteTooltip': '未設定遠端',
|
||
'gitView.sync.pull': 'Pull',
|
||
'gitView.sync.pullTooltip': 'Pull 變更',
|
||
'gitView.sync.pullTooltipBehind': 'Pull 變更(落後 {count})',
|
||
'gitView.sync.push': 'Push',
|
||
'gitView.sync.pushTooltip': 'Push 變更',
|
||
'gitView.sync.pushTooltipAhead': 'Push 變更(領先 {count})',
|
||
'gitView.sync.sync': 'sync',
|
||
'gitView.sync.syncChanges': 'Sync Changes',
|
||
'gitView.sync.syncChangesTooltip': 'Sync Changes({behind} 下,{ahead} 上)',
|
||
'gitView.sync.syncChangesWithCounts': 'Sync Changes {behind}↓ {ahead}↑',
|
||
'gitView.sync.syncCounts': '{behind}↓ {ahead}↑',
|
||
'gitView.branch.actionsUnavailable': '目前儲存庫狀態下分支操作無法使用',
|
||
'gitView.conflict.noDetailsAvailable': '沒有可用的衝突詳情',
|
||
'gitView.empty.notGitRepository': '目前目錄不是 Git 儲存庫',
|
||
'gitView.empty.notGitRepositoryDescription': '請在此目錄初始化 Git,或開啟一個 Git 儲存庫。',
|
||
'gitView.empty.selectSessionOrDirectory': '請選擇會话或目錄以查看 Git 狀態',
|
||
'gitView.empty.worktreeFeaturesUnavailable': '目前工作區模式下,worktree 功能無法使用。',
|
||
'gitView.empty.worktreeSetupDescription': '正在完成 worktree 設定並準備儲存庫狀態。',
|
||
'gitView.empty.worktreeSetupInProgress': 'worktree 設定進行中',
|
||
'worktree.bootstrap.toast.failed': 'worktree 設定失敗',
|
||
'worktree.bootstrap.toast.failedDescription': 'worktree 已建立,但背景設定未完成。',
|
||
'worktree.bootstrap.toast.timeoutDescription': 'worktree 已建立,但背景設定逾時。',
|
||
'gitView.gitmoji.empty': '找不到 gitmoji',
|
||
'gitView.gitmoji.searchPlaceholder': '搜尋 gitmoji...',
|
||
'gitView.gitmoji.title': '插入 gitmoji',
|
||
'gitView.history.dialogDescription': '瀏覽最近提交並查看變更檔案。',
|
||
'gitView.loading.checkingRepository': '正在檢查儲存庫...',
|
||
'gitView.loading.loading': '載入中...',
|
||
'gitView.pr.actions.add': '加入',
|
||
'gitView.pr.actions.cancelEditing': '取消編輯',
|
||
'gitView.pr.actions.cancelEditingAria': '取消 PR 編輯',
|
||
'gitView.pr.actions.createPr': '建立 PR',
|
||
'gitView.pr.actions.edit': '編輯',
|
||
'gitView.pr.actions.editPr': '編輯 PR',
|
||
'gitView.pr.actions.editPrAria': '編輯 Pull Request',
|
||
'gitView.pr.actions.hide': '隱藏',
|
||
'gitView.pr.actions.markReady': '標記為可審查',
|
||
'gitView.pr.actions.markReadyAria': '將 Pull Request 標記為可審查',
|
||
'gitView.pr.actions.mergePr': '合併 PR',
|
||
'gitView.pr.actions.mergePrAria': '合併 Pull Request',
|
||
'gitView.pr.actions.openChecks': '開啟檢查',
|
||
'gitView.pr.actions.openChecksAria': '開啟失敗的檢查',
|
||
'gitView.pr.actions.openComments': '開啟留言',
|
||
'gitView.pr.actions.openCommentsAria': '開啟 Pull Request 留言',
|
||
'gitView.pr.actions.openOnGitHub': '在 GitHub 中開啟',
|
||
'gitView.pr.actions.openOnGitHubAria': '在 GitHub 中開啟 Pull Request',
|
||
'gitView.pr.actions.openSettings': '開啟設定',
|
||
'gitView.pr.actions.repo': '儲存庫',
|
||
'gitView.pr.actions.resolveFailedChecks': '附加失敗的檢查',
|
||
'gitView.pr.actions.resolveFailedChecksAria': '將失敗的檢查附加到聊天脈絡',
|
||
'gitView.pr.actions.savePr': '儲存 PR',
|
||
'gitView.pr.actions.savePrAria': '儲存 Pull Request 變更',
|
||
'gitView.pr.actions.sendCommentToAgent': '將留言附加到聊天脈絡',
|
||
'gitView.pr.actions.sendCommentToAgentAria': '將此留言附加到聊天脈絡',
|
||
'gitView.pr.actions.sendToAgent': '附加到聊天',
|
||
'gitView.pr.actions.shareComments': '附加留言',
|
||
'gitView.pr.actions.shareCommentsAria': '將提取請求留言附加到聊天脈絡',
|
||
'gitView.pr.actions.toggleDraftAria': '切換草稿狀態',
|
||
'gitView.pr.actions.refresh': '重新整理 PR 狀態',
|
||
'gitView.pr.actions.refreshAria': '重新整理 Pull Request 狀態',
|
||
'gitView.pr.additionalContext.added': '已加入',
|
||
'gitView.pr.additionalContext.hint': '加入額外上下文可提升審查品質。',
|
||
'gitView.pr.additionalContext.optional': '可選',
|
||
'gitView.pr.additionalContext.title': '補充上下文',
|
||
'gitView.pr.checkDetails.empty': '沒有可用的檢查詳情',
|
||
'gitView.pr.checkDetails.title': '失敗檢查詳情',
|
||
'gitView.pr.checkingStatus': '正在檢查 Pull Request 狀態...',
|
||
'gitView.pr.checks.label': 'checks',
|
||
'gitView.pr.checks.completedLabel': '完成時間',
|
||
'gitView.pr.checks.conclusionLabel': '結論',
|
||
'gitView.pr.checks.startedLabel': '開始時間',
|
||
'gitView.pr.checks.statusLabel': '狀態',
|
||
'gitView.pr.checks.stepLabel': '步驟',
|
||
'gitView.pr.checks.steps': '步驟',
|
||
'gitView.pr.comments.empty': '找不到留言',
|
||
'gitView.pr.comments.generalContext': '普通留言',
|
||
'gitView.pr.comments.reviewContext': '審查留言',
|
||
'gitView.pr.comments.title': '留言',
|
||
'gitView.pr.comments.unknownAuthor': '未知作者',
|
||
'gitView.pr.createTitle': '建立 Pull Request',
|
||
'gitView.pr.draftMustBeReady': '草稿 PR 必須先標記為可審查才能合併。',
|
||
'gitView.pr.field.baseBranch': '基底分支',
|
||
'gitView.pr.field.description': '描述',
|
||
'gitView.pr.field.draft': '草稿',
|
||
'gitView.pr.field.title': '標題',
|
||
'gitView.pr.githubNotConnected': 'GitHub 未連線',
|
||
'gitView.pr.history.merged': 'PR #{number} 已合併到 {base}。',
|
||
'gitView.pr.history.closed': 'PR #{number} 已關閉。',
|
||
'gitView.pr.loadingDescription': '正在載入描述...',
|
||
'gitView.pr.mergeMethod.merge': '建立合併提交',
|
||
'gitView.pr.mergeMethod.rebase': 'Rebase 並合併',
|
||
'gitView.pr.mergeMethod.squash': '壓縮並合併',
|
||
'gitView.pr.noDescription': '無描述',
|
||
'gitView.pr.noMergePermission': '你沒有權限合併此 Pull Request。',
|
||
'gitView.pr.notMergeable': '不可合併',
|
||
'gitView.pr.numberLabel': 'PR #{number}',
|
||
'gitView.pr.segment.overview': '概覽',
|
||
'gitView.pr.segment.checks': '檢查',
|
||
'gitView.pr.segment.comments': '留言',
|
||
'gitView.pr.comments.addAll': '全部附加到聊天',
|
||
'gitView.pr.placeholder.additionalContext': '補充約束、發布說明或評審上下文...',
|
||
'gitView.pr.placeholder.description': '描述此變更...',
|
||
'gitView.pr.placeholder.main': '總結你的 Pull Request',
|
||
'gitView.pr.placeholder.selectBaseBranch': '選擇基底分支',
|
||
'gitView.pr.placeholder.title': 'Pull Request 標題',
|
||
'gitView.pr.placeholder.whatChanged': '改了什麼,為什麼改?',
|
||
'gitView.pr.statusUnavailable': 'Pull Request 狀態無法使用',
|
||
'gitView.pr.toast.baseBranchRequired': '請選擇基底分支',
|
||
'gitView.pr.toast.baseMustDifferFromHead': '基底分支必須與目前分支不同',
|
||
'gitView.pr.toast.createPrFailed': '建立 Pull Request 失敗',
|
||
'gitView.pr.toast.generateDescriptionFailed': '生成 Pull Request 描述失敗',
|
||
'gitView.pr.toast.githubApiUnavailable': 'GitHub API 無法使用',
|
||
'gitView.pr.toast.loadCheckDetailsFailed': '載入檢查詳情失敗',
|
||
'gitView.pr.toast.loadChecksFailed': '載入 Pull Request 檢查失敗',
|
||
'gitView.pr.toast.loadCommentsFailed': '載入留言失敗',
|
||
'gitView.pr.toast.loadPrCommentsFailed': '載入 Pull Request 留言失敗',
|
||
'gitView.pr.toast.markReadyFailed': '標記 Pull Request 可審查失敗',
|
||
'gitView.pr.toast.markedReady': 'Pull Request 已標記為可審查',
|
||
'gitView.pr.toast.mergeFailed': '合併 Pull Request 失敗',
|
||
'gitView.pr.toast.noActiveSession': '沒有活動聊天會話',
|
||
'gitView.pr.toast.noActiveSessionDescription': '請先開啟或建立聊天會話,再向 Agent 傳送上下文。',
|
||
'gitView.pr.toast.noFailedChecks': '沒有失敗檢查',
|
||
'gitView.pr.toast.noModelSelected': '請先選擇模型',
|
||
'gitView.pr.toast.noPrComments': '找不到 Pull Request 留言',
|
||
'gitView.pr.toast.prCreated': 'Pull Request 已建立',
|
||
'gitView.pr.toast.prMerged': 'Pull Request 已合併',
|
||
'gitView.pr.toast.prNotMerged': 'Pull Request 未合併',
|
||
'gitView.pr.toast.prUpdated': 'Pull Request 已更新',
|
||
'gitView.pr.toast.sendMessageFailed': '向 Agent 傳送訊息失敗',
|
||
'gitView.pr.toast.titleRequired': '標題不能為空',
|
||
'gitView.pr.toast.updatePrFailed': '更新 Pull Request 失敗',
|
||
'gitView.pullRequest.createHint': '從目前分支建立並管理 Pull Request。',
|
||
'gitView.pullRequest.availableOnFeatureBranches': '目前分支可以開啟 PR 時可用。',
|
||
'gitView.pullRequest.title': 'Pull Request',
|
||
'gitView.tabs.worktree': 'Worktree',
|
||
'gitView.toast.abortOperationFailed': '中止操作失敗',
|
||
'gitView.toast.appliedIdentity': '已套用身分:{name}',
|
||
'gitView.toast.applyIdentityFailed': '套用身分失敗',
|
||
'gitView.toast.branchCreatedLocally': '分支已在本地建立,但設定上游失敗。',
|
||
'gitView.toast.cannotCheckout': '無法切換分支:{reason}',
|
||
'gitView.toast.cannotCreateBranch': '無法建立分支:{reason}',
|
||
'gitView.toast.cannotRemoveOriginRemote': '不能移除 origin 遠端',
|
||
'gitView.toast.cannotRenameBranch': '無法重新命名分支:{reason}',
|
||
'gitView.toast.checkedOut': '已切換到 {name}',
|
||
'gitView.toast.checkoutFailed': '切換到 {name} 失敗',
|
||
'gitView.toast.commitCreated': '提交已建立',
|
||
'gitView.toast.commitHashCopied': '提交雜湊已複製',
|
||
'gitView.toast.continueOperationFailed': '繼續操作失敗',
|
||
'gitView.toast.copyFailed': '複製失敗',
|
||
'gitView.toast.createBranchFailed': '建立分支失敗',
|
||
'gitView.toast.createCommitFailed': '建立提交失敗',
|
||
'gitView.toast.createdBranch': '已建立分支 {name}',
|
||
'gitView.toast.enterCommitMessage': '請輸入提交訊息',
|
||
'gitView.toast.fetchedFromRemote': '已從 {name} Fetch',
|
||
'gitView.toast.generateCommitMessageFailed': '生成提交訊息失敗',
|
||
'gitView.toast.mergeAborted': '合併已中止',
|
||
'gitView.toast.mergeCompleted': '合併完成',
|
||
'gitView.toast.mergeConflictsDetected': '偵測到合併衝突',
|
||
'gitView.toast.mergedIntoBranch': '已將 {branch} 合併到 {currentBranch}',
|
||
'gitView.toast.pulledFilesPlural': '已從 {name} Pull {count} 個檔案',
|
||
'gitView.toast.pulledFilesSingle': '已從 {name} Pull {count} 個檔案',
|
||
'gitView.toast.pushedToUpstream': '已推送到上游',
|
||
'gitView.toast.commitOrStashBeforeSync': '同步前請先提交或 Stash 你的變更',
|
||
'gitView.toast.alreadyUpToDate': '已是最新狀態',
|
||
'gitView.toast.syncedPulledPluralAndPushed': '已從 {name} Pull {count} 個檔案並推送到上游',
|
||
'gitView.toast.syncedPulledSingleAndPushed': '已從 {name} Pull {count} 個檔案並推送到上游',
|
||
'gitView.toast.syncedChanges': '已同步變更',
|
||
'gitView.toast.rebaseAborted': 'Rebase 已中止',
|
||
'gitView.toast.rebaseConflictsDetected': '偵測到 Rebase 衝突',
|
||
'gitView.toast.rebaseStepCompleted': 'Rebase 步驟已完成',
|
||
'gitView.toast.rebasedOntoBranch': '已將 {currentBranch} Rebase 到 {branch}',
|
||
'gitView.toast.refreshRepositoryFailed': '重新整理儲存庫失敗',
|
||
'gitView.toast.remoteNameRequired': '遠端名稱不能為空',
|
||
'gitView.toast.removedRemote': '已移除遠端 {name}',
|
||
'gitView.toast.renameBranchFailed': '將 {oldName} 重新命名為 {newName} 失敗',
|
||
'gitView.toast.renamedBranch': '已將 {oldName} 重新命名為 {newName}',
|
||
'gitView.toast.restoreStashFailed': '恢復 Stash 變更失敗',
|
||
'gitView.toast.restoreStashManually': '請手動恢復 Stash 的變更',
|
||
'gitView.toast.revertFailed': '回退變更失敗',
|
||
'gitView.toast.revertedFile': '已回退 {path}',
|
||
'gitView.toast.revertedFilesPlural': '已回退 {count} 個檔案',
|
||
'gitView.toast.revertedFilesSingle': '已回退 {count} 個檔案',
|
||
'gitView.toast.revertedSomePlural': '已回退 {success} 個檔案,{failed} 個失敗',
|
||
'gitView.toast.revertedSomeSingle': '已回退 {success} 個檔案,{failed} 個失敗',
|
||
'gitView.toast.stageFileFailed': '暫存更改失敗',
|
||
'gitView.toast.stageFileToCommit': '請至少暫存一個文件再提交',
|
||
'gitView.toast.stageFileToDescribe': '請至少暫存一個文件再生成描述',
|
||
'gitView.toast.selectFileToCommit': '請至少選擇一個檔案再提交',
|
||
'gitView.toast.selectFileToDescribe': '請至少選擇一個檔案再生成描述',
|
||
'gitView.toast.stashedRestored': '已恢復 Stash 的變更',
|
||
'gitView.toast.syncActionFailed': '{action} 失敗',
|
||
'gitView.toast.unstageFileFailed': '取消暫存更改失敗',
|
||
'gitView.toast.upstreamSet': '已將 {branch} 的上游設定為 {remote}',
|
||
'gitView.worktree.availableInWorktreeMode': '僅在 worktree 模式可用',
|
||
'contextPanel.mode.chat': '聊天',
|
||
'contextPanel.mode.files': '檔案',
|
||
"contextPanel.mode.diff": "變更",
|
||
'contextPanel.mode.stagedDiff': 'Staged Diff',
|
||
'contextPanel.mode.workingDiff': 'Working Diff',
|
||
'contextPanel.mode.plan': '計畫',
|
||
'contextPanel.mode.pr': '提取請求',
|
||
'contextPanel.mode.context': '上下文',
|
||
'contextPanel.mode.preview': '預覽',
|
||
'contextPanel.mode.browser': '瀏覽器',
|
||
'contextRail.configure.open': '設定面板',
|
||
'contextRail.configure.dialogTitle': '側欄面板',
|
||
'contextRail.configure.dialogDescription': '選擇側欄顯示哪些面板。隱藏的面板會保留資料,仍可透過命令面板開啟。',
|
||
'contextRail.configure.showAll': '全部顯示',
|
||
'contextRail.configure.noneWarning': '所有面板皆已隱藏。',
|
||
'contextRail.aria.rail': '面板介面',
|
||
'contextPanel.editorEmpty.title': '未開啟檔案',
|
||
'contextPanel.editorEmpty.description': '從檔案樹選擇檔案開始編輯。',
|
||
'contextRail.surface.editor.description': '編輯專案檔案',
|
||
'contextRail.surface.git.description': '提交、分支與拉取請求',
|
||
'contextRail.surface.git.changesCountAriaSingle': '{label},{count} 個變更的檔案',
|
||
'contextRail.surface.git.changesCountAriaPlural': '{label},{count} 個變更的檔案',
|
||
'contextRail.surface.git.changesCountTooltipSingle': '{count} 個變更的檔案',
|
||
'contextRail.surface.git.changesCountTooltipPlural': '{count} 個變更的檔案',
|
||
'contextRail.surface.terminal.description': '內建終端機',
|
||
'contextRail.surface.diff.description': '檢視工作區變更',
|
||
'contextPanel.mode.walkthrough': '導讀',
|
||
'contextRail.surface.walkthrough.description': '由 AI 引導的變更導讀',
|
||
'walkthrough.scope.all': '全部未提交',
|
||
'walkthrough.scope.group.workingTree': '工作區',
|
||
'walkthrough.scope.group.committed': '已提交',
|
||
'walkthrough.scope.staged': '已暫存',
|
||
'walkthrough.scope.working': '未暫存',
|
||
'walkthrough.scope.branch': '目前分支',
|
||
'walkthrough.scope.selectorAria': '選擇審閱範圍',
|
||
'walkthrough.language.menuLabel': '導讀語言',
|
||
'walkthrough.missing.language': '尚無{requested}導讀,目前顯示的是{shown}版本。',
|
||
'walkthrough.missing.model': '尚無由 {model} 產生的導讀,目前顯示最近一次產生的版本。',
|
||
'walkthrough.missing.languageAndModel': '尚無使用該語言與該模型產生的導讀,目前顯示最近一次產生的版本。',
|
||
'walkthrough.language.selectorAria': '選擇導讀語言',
|
||
'walkthrough.scope.pullRequest': 'PR #{number}',
|
||
'walkthrough.action.generate': '產生導讀',
|
||
'walkthrough.action.regenerate': '重新產生',
|
||
'walkthrough.action.cancel': '取消',
|
||
'walkthrough.action.next': '下一步',
|
||
'walkthrough.action.previous': '上一步',
|
||
'walkthrough.action.refresh': '重新整理',
|
||
'walkthrough.action.open': '導讀',
|
||
'walkthrough.stage.collecting': '正在收集變更',
|
||
'walkthrough.stage.asking': '正在等待模型',
|
||
'walkthrough.stage.assembling': '正在組裝導讀',
|
||
'walkthrough.empty.title': '尚未有導讀',
|
||
'walkthrough.empty.description': '為這些變更建立一條引導式閱讀路線。此操作會呼叫小模型並消耗 token,因此只在你主動要求時執行。',
|
||
'walkthrough.stale.banner': '本次審閱之後程式碼有變動。過時的步驟:{count}',
|
||
'walkthrough.stop.staleAll': '此步驟描述的程式碼已全部變動。',
|
||
'walkthrough.stop.stalePartial': '此步驟描述的部分程式碼已變動。缺少的片段:{count}',
|
||
'walkthrough.stop.staleShort': '已過時',
|
||
'walkthrough.stop.noCode': '目前差異中沒有此步驟的程式碼。',
|
||
'walkthrough.uncovered.title': '審閱未涵蓋的變更:{count}',
|
||
'walkthrough.uncovered.description': '審閱認為這些變更較為例行。展開即可自行檢視。',
|
||
'walkthrough.toc.moreFiles': '其他檔案:{count}',
|
||
'walkthrough.toc.uncovered': '未涵蓋:{count}',
|
||
'walkthrough.toc.resize': '調整目錄欄寬度',
|
||
'walkthrough.importance.critical': '關鍵變更',
|
||
'walkthrough.importance.criticalHint': '這一步帶動了其餘變更,值得仔細閱讀。它不是在你的程式碼中發現的問題。',
|
||
'walkthrough.importance.context': '背景',
|
||
'walkthrough.importance.contextHint': '輔助性的變更,列在這裡是為了讓其餘部分說得通。',
|
||
'walkthrough.help.guide': 'Walkthrough 的運作方式',
|
||
'walkthrough.blocked.noModel.title': '沒有可用的小模型',
|
||
'walkthrough.blocked.noModel.description': '請先登入模型供應商再產生審閱。',
|
||
'walkthrough.blocked.emptyDiff.title': '沒有可審閱的內容',
|
||
'walkthrough.blocked.emptyDiff.description': '此範圍目前沒有變更。',
|
||
'walkthrough.blocked.contextTooSmall.title': '目前模型無法容納這份差異',
|
||
'walkthrough.blocked.contextTooSmall.description': '{model} 大約可容納 {available} 千字元,而這份差異約需 {required} 千字元。我們不會截斷內容,請改選上下文更大的模型。',
|
||
'walkthrough.blocked.structuredOutput.title': '此模型不支援結構化輸出',
|
||
'walkthrough.blocked.structuredOutput.description': '{model} 不支援導讀所需的結構化回應。',
|
||
'walkthrough.blocked.chooseModel': '選擇小模型',
|
||
'walkthrough.blocked.outputExhausted.title': '模型的回答額度已用完',
|
||
'walkthrough.blocked.outputExhausted.description': '{model} 把全部輸出額度用在推理上,沒有回傳結果。推理模型在大型差異上經常如此——可以改用較少推理的模型,或縮小審閱範圍。',
|
||
'walkthrough.blocked.outputExhausted.descriptionUnknownModel': '小模型把全部輸出額度用在推理上,沒有回傳結果。推理模型在大型差異上經常如此——可以改用較少推理的模型,或縮小審閱範圍。',
|
||
'walkthrough.blocked.onlyGenerated.title': '只有產生的檔案有變動',
|
||
'walkthrough.blocked.onlyGenerated.description': '這裡的變更全部是鎖定檔或其他工具產生的輸出,審閱會刻意略過它們。',
|
||
'walkthrough.blocked.serverUnsupported.title': '該伺服器不支援 walkthrough',
|
||
'walkthrough.blocked.serverUnsupported.description': '此應用程式連線的 OpenChamber 伺服器沒有回應 walkthrough API,代表它比應用程式更舊。請將伺服器升級到 1.18 或更新版本後重新整理。',
|
||
'walkthrough.blocked.contextTooSmall.descriptionUnknownModel': '小模型大約可容納 {available} 千字元,而這份差異約需 {required} 千字元。我們不會截斷內容,請改選上下文更大的模型。',
|
||
'walkthrough.blocked.structuredOutput.descriptionUnknownModel': '小模型不支援導讀所需的結構化回應。',
|
||
'contextRail.surface.plan.description': '檢視目前計畫',
|
||
'contextRail.surface.pr.description': '建立、審查並合併目前分支的提取請求',
|
||
'contextRail.surface.notes.description': '專案的筆記、待辦、計畫與代理記憶',
|
||
'contextRail.surface.context.description': '工作階段情境與權杖用量',
|
||
'contextRail.surface.browser.description': '內建網頁瀏覽器',
|
||
'contextRail.surface.preview.description': '開發伺服器預覽',
|
||
'contextRail.surface.chat.description': '並排開啟的工作階段',
|
||
'contextRail.surface.notes': '專案知識',
|
||
'contextRail.editorTree.toggle': '切換檔案樹',
|
||
'contextPanel.browser.open': '開啟瀏覽器面板',
|
||
'contextPanel.browser.addressAria': '瀏覽器網址',
|
||
'contextPanel.browser.history.label': '最近造訪的網址',
|
||
'contextPanel.browser.history.forget': '從歷史紀錄中移除',
|
||
'contextPanel.browser.newTab': '新增瀏覽器分頁',
|
||
'contextPanel.browser.empty': '網頁瀏覽器',
|
||
'contextPanel.browser.emptyHint': '在上方輸入網址開始瀏覽',
|
||
'contextPanel.browser.inspectUnavailable': '無法從瀏覽器面板檢查此頁面。',
|
||
'contextPanel.browser.back': '上一頁',
|
||
'contextPanel.browser.forward': '下一頁',
|
||
'contextPanel.browser.reload': '重新載入',
|
||
'contextPanel.browser.hardReload': '忽略快取重新載入',
|
||
'contextPanel.browser.zoomIn': '放大',
|
||
'contextPanel.browser.zoomOut': '縮小',
|
||
'contextPanel.browser.zoomReset': '重設縮放',
|
||
'contextPanel.browser.clearCookies': '清除 Cookie',
|
||
'contextPanel.browser.clearCache': '清除快取',
|
||
'contextPanel.browser.clearedCookies': '已清除 Cookie',
|
||
'contextPanel.browser.clearedCache': '已清除快取',
|
||
'contextPanel.browser.clearFailed': '無法清除瀏覽資料',
|
||
'contextPanel.browser.stop': '停止',
|
||
'contextPanel.browser.openExternal': '在系統瀏覽器中開啟',
|
||
'contextPanel.browser.devTools': '開啟開發者工具',
|
||
'contextPanel.browser.deviceToolbar': '裝置工具列',
|
||
'contextPanel.browser.device.preset': '裝置預設',
|
||
'contextPanel.browser.device.responsive': '自適應',
|
||
'contextPanel.browser.device.width': '視口寬度',
|
||
'contextPanel.browser.device.height': '視口高度',
|
||
'contextPanel.browser.device.rotate': '旋轉',
|
||
'contextPanel.browser.device.schemeSystem': '自動',
|
||
'contextPanel.browser.device.schemeLight': '淺色',
|
||
'contextPanel.browser.device.schemeDark': '深色',
|
||
'contextPanel.browser.device.schemeFailed': '無法變更頁面外觀',
|
||
'contextPanel.browser.frameTitle': '瀏覽器',
|
||
'contextPanel.browser.loadFailed': '無法載入此頁面',
|
||
'contextPanel.browser.waitingForServer': '正在等待開發伺服器',
|
||
'contextPanel.browser.waitingForServerHint': '它尚未開始接受連線。一旦可用,本頁就會載入。',
|
||
'contextPanel.browser.tunnelFailed': '無法連線到這個開發伺服器',
|
||
'contextPanel.browser.tunnelFailedHint': '{url} 執行在 OpenChamber 所在的機器上,無法與其建立連線。這裡不會顯示你本機上的任何內容。',
|
||
'contextPanel.browser.loadFailedUnknown': '無法連線到該頁面。',
|
||
'contextPanel.browser.crashed': '此頁面已停止回應',
|
||
'contextPanel.browser.crashedHint': '頁面反覆當機。請重新載入後再試。',
|
||
'contextPanel.browser.devServers.title': '執行中的開發伺服器',
|
||
'projectActions.toast.multipleServers': '啟動了多個伺服器 — 請在瀏覽器面板中選擇',
|
||
'contextPanel.browser.devServers.justStarted': '剛剛啟動',
|
||
'contextPanel.browser.devServers.unavailable': '無法檢查執行中的開發伺服器。',
|
||
'contextPanel.browser.devServers.remoteOnly': '它們執行在託管 OpenChamber 的那台機器上。要開啟它們需要桌面應用程式。',
|
||
'contextPanel.browser.annotate.toggle': '標註頁面',
|
||
'contextPanel.browser.annotate.intro': '這是來自應用程式內建瀏覽器的標註選取範圍。',
|
||
'contextPanel.browser.annotate.attached': '標註已附加至聊天',
|
||
'contextPanel.browser.annotate.noSession': '附加標註前請先開啟聊天工作階段',
|
||
'contextPanel.browser.annotate.noPage': '標註前請先載入頁面',
|
||
'contextPanel.browser.annotate.failed': '無法標註此頁面',
|
||
'contextPanel.browser.annotate.tool.element': '元素',
|
||
'contextPanel.browser.annotate.tool.region': '區域',
|
||
'contextPanel.browser.annotate.tool.draw': '繪製',
|
||
'contextPanel.browser.annotate.commentPlaceholder': '描述所需變更...',
|
||
'contextPanel.browser.annotate.submit': '附加',
|
||
'contextPanel.browser.trustNotice': '在此開啟的頁面以對 OpenChamber 的完整存取權限執行 — 檢查與截圖需要此權限。僅開啟你信任的網站:惡意頁面可能讀取你的資料或以你的身分執行操作。',
|
||
'contextPanel.tab.closeTabAria': '關閉 {label} 分頁',
|
||
'contextPanel.actions.collapsePanel': '摺疊面板',
|
||
'contextPanel.actions.expandPanel': '展開面板',
|
||
'contextPanel.actions.closePanel': '關閉面板',
|
||
'contextPanel.actions.resizePanelAria': '調整上下文面板大小',
|
||
'contextPanel.iframe.sessionChatTitle': '會話聊天 {sessionID}',
|
||
'contextPanel.preview.actions.reload': '重新整理預覽',
|
||
'contextPanel.preview.actions.openExternal': '在瀏覽器中開啟',
|
||
'contextPanel.preview.actions.retry': '重試',
|
||
'contextPanel.preview.iframeTitle': '預覽',
|
||
'contextPanel.preview.invalidUrl': '預覽需要有效的 http(s) URL。',
|
||
'contextPanel.preview.empty': '沒有預覽 URL',
|
||
'contextPanel.preview.loading': '正在連線預覽 proxy...',
|
||
'contextPanel.preview.proxyError': '無法啟動預覽 proxy。',
|
||
'contextPanel.preview.upstreamUnreachable': '開發伺服器無回應。',
|
||
'contextPanel.preview.upstreamUnreachableHint': '請確認開發伺服器仍在執行,然後重試。',
|
||
|
||
'terminalView.preview.open': '預覽',
|
||
'terminalView.preview.openTitle': '開啟預覽面板',
|
||
'sidebarFilesTree.menu.rename': '重新命名',
|
||
'sidebarFilesTree.menu.copyPath': '複製路徑',
|
||
'sidebarFilesTree.menu.save': '儲存',
|
||
'sidebarFilesTree.menu.download': '下載',
|
||
'sidebarFilesTree.menu.newFile': '新增檔案',
|
||
'sidebarFilesTree.menu.newFolder': '新增資料夾',
|
||
'sidebarFilesTree.menu.delete': '刪除',
|
||
'sidebarFilesTree.toast.pathCopied': '路徑已複製',
|
||
'sidebarFilesTree.toast.copyFailed': '複製失敗',
|
||
'sidebarFilesTree.toast.revealFailed': '定位路徑失敗',
|
||
'sidebarFilesTree.toast.filenameRequired': '檔案名稱不能為空',
|
||
'sidebarFilesTree.toast.writeNotSupported': '不支援寫入',
|
||
'sidebarFilesTree.toast.fileCreated': '檔案已建立',
|
||
'sidebarFilesTree.toast.operationFailed': '操作失敗',
|
||
'sidebarFilesTree.toast.uploaded': '檔案已上傳',
|
||
'sidebarFilesTree.toast.uploadedWithoutConflicts': '無衝突的檔案已上傳',
|
||
'sidebarFilesTree.toast.uploadFailed': '部分檔案無法上傳',
|
||
'sidebarFilesTree.drop.target': '上傳至 {path}',
|
||
'sidebarFilesTree.drop.uploading': '正在將檔案上傳至 {path}',
|
||
'sidebarFilesTree.dialog.uploadConflicts.title': '取代現有檔案?',
|
||
'sidebarFilesTree.dialog.uploadConflicts.description': '{path} 中已有同名檔案。取代後無法復原。',
|
||
'sidebarFilesTree.dialog.uploadConflicts.replace': '取代',
|
||
'sidebarFilesTree.toast.folderNameRequired': '資料夾名稱不能為空',
|
||
'sidebarFilesTree.toast.folderCreated': '資料夾已建立',
|
||
'sidebarFilesTree.toast.nameRequired': '名稱不能為空',
|
||
'sidebarFilesTree.toast.renameNotSupported': '不支援重新命名',
|
||
'sidebarFilesTree.toast.renamedSuccessfully': '重新命名成功',
|
||
'sidebarFilesTree.toast.deleteNotSupported': '不支援刪除',
|
||
'sidebarFilesTree.toast.deletedSuccessfully': '刪除成功',
|
||
'sidebarFilesTree.search.placeholder': '搜尋檔案...',
|
||
'sidebarFilesTree.search.clearAria': '清除搜尋',
|
||
'sidebarFilesTree.actions.newFileTitle': '新增檔案',
|
||
'sidebarFilesTree.actions.newFolderTitle': '新增資料夾',
|
||
'sidebarFilesTree.actions.refreshTitle': '重新整理',
|
||
'sidebarFilesTree.actions.collapseAllTitle': '摺疊所有資料夾',
|
||
'sidebarFilesTree.state.searching': '搜尋中...',
|
||
'sidebarFilesTree.state.loading': '載入中...',
|
||
'sidebarFilesTree.dialog.createFile.title': '新增檔案',
|
||
'sidebarFilesTree.dialog.createFolder.title': '新增資料夾',
|
||
'sidebarFilesTree.dialog.rename.title': '重新命名',
|
||
'sidebarFilesTree.dialog.delete.title': '刪除',
|
||
'sidebarFilesTree.dialog.createFile.description': '在 {path} 中建立新檔案',
|
||
'sidebarFilesTree.dialog.createFolder.description': '在 {path} 中建立新資料夾',
|
||
'sidebarFilesTree.dialog.rename.description': '重新命名 {name}',
|
||
'sidebarFilesTree.dialog.delete.description': '確定要刪除 {name} 嗎?此操作不可復原。',
|
||
'sidebarFilesTree.dialog.rootFallback': '根目錄',
|
||
'sidebarFilesTree.dialog.rename.placeholder': '新名稱',
|
||
'sidebarFilesTree.dialog.namePlaceholder': '名稱',
|
||
'sidebarFilesTree.dialog.cancel': '取消',
|
||
'sidebarFilesTree.dialog.confirm': '確認',
|
||
'sidebarFilesTree.dialog.delete.confirm': '刪除',
|
||
'filesView.dialog.createFile.title': '新增檔案',
|
||
'filesView.dialog.createFolder.title': '新增資料夾',
|
||
'filesView.dialog.rename.title': '重新命名',
|
||
'filesView.dialog.delete.title': '刪除',
|
||
'filesView.dialog.createFile.description': '在 {path} 中建立新檔案',
|
||
'filesView.dialog.createFolder.description': '在 {path} 中建立新資料夾',
|
||
'filesView.dialog.rename.description': '重新命名 {name}',
|
||
'filesView.dialog.delete.description': '確定要刪除 {name} 嗎?此操作不可復原。',
|
||
'filesView.dialog.rootFallback': '根目錄',
|
||
'filesView.dialog.rename.placeholder': '新名稱',
|
||
'filesView.dialog.namePlaceholder': '名稱',
|
||
'filesView.dialog.cancel': '取消',
|
||
'filesView.dialog.confirm': '確認',
|
||
'filesView.dialog.delete.confirm': '刪除',
|
||
'filesView.editor.saving': '儲存中...',
|
||
'filesView.editor.saved': '已儲存',
|
||
'filesView.editor.autoSaveOn': '自動儲存已開啟',
|
||
'filesView.editor.manualSave': '手動儲存',
|
||
'filesView.editor.saveNowTitle': '立即儲存({shortcut})- 1.5 秒後自動儲存',
|
||
'filesView.editor.saveNowManualTitle': '立即儲存({shortcut})',
|
||
'filesView.editor.saveAria': '儲存({shortcut})',
|
||
'filesView.editor.openInDesktopApp': '在桌面應用程式中開啟',
|
||
'filesView.editor.refreshApps': '重新整理應用程式',
|
||
'filesView.editor.disableLineWrap': '關閉自動換行',
|
||
'filesView.editor.enableLineWrap': '開啟自動換行',
|
||
'filesView.editor.findInFile': '檔案內尋找',
|
||
'filesView.editor.goToLine': '跳轉到行',
|
||
'filesView.editor.switchToEditMode': '切換到編輯模式',
|
||
'filesView.editor.switchToPreviewMode': '切換到預覽模式',
|
||
'filesView.editor.switchToTextView': '切換到文字檢視',
|
||
'filesView.editor.switchToTreeView': '切換到樹狀檢視',
|
||
'filesView.toast.copyFailed': '複製失敗',
|
||
'filesView.toast.openInAppFailed': '在 {app} 中開啟失敗',
|
||
'filesView.toast.savingNotSupported': '不支援儲存',
|
||
'filesView.toast.writeFileFailed': '寫入檔案失敗',
|
||
'filesView.toast.saveFailed': '儲存失敗',
|
||
'filesView.editor.copyFileContents': '複製檔案內容',
|
||
'filesView.editor.copyFilePathTitle': '複製檔案路徑({path})',
|
||
'filesView.editor.saveFile': '儲存檔案',
|
||
'filesView.editor.exitFullscreen': '退出全螢幕',
|
||
'filesView.editor.fullscreen': '全螢幕',
|
||
'filesView.unsaved.title': '未儲存的變更',
|
||
'filesView.unsaved.description': '繼續前是否儲存你的編輯?',
|
||
'filesView.unsaved.saveChanges': '儲存變更',
|
||
'filesView.unsaved.discard': '捨棄',
|
||
'filesView.editor.back': '返回',
|
||
'filesView.editor.openFilesAria': '開啟檔案清單',
|
||
'filesView.editor.closeFileAria': '關閉 {name}',
|
||
'filesView.editor.selectFile': '選擇一個檔案',
|
||
'filesView.editor.showControlsAria': '顯示編輯器控制項',
|
||
'filesView.editor.controlsTitle': '編輯器控制項',
|
||
'filesView.editor.pickFileFromTree': '請從檔案樹中選擇一個檔案。',
|
||
'filesView.editor.cannotPreviewBinary': '無法預覽二進位檔案',
|
||
'filesView.editor.binaryFileDescription': '此檔案為二進位檔案,無法在 OpenChamber 中編輯。請下載後使用其他應用程式開啟。',
|
||
'filesView.state.loading': '載入中...',
|
||
'filesView.state.openingFileAtChange': '正在開啟變更處的檔案...',
|
||
'filesView.tree.search.placeholder': '搜尋檔案...',
|
||
'filesView.tree.search.clearAria': '清除搜尋',
|
||
'filesView.tree.search.searching': '搜尋中...',
|
||
'filesView.tree.actions.newFileTitle': '新增檔案',
|
||
'filesView.tree.actions.newFolderTitle': '新增資料夾',
|
||
'filesView.editor.imageAltFallback': '圖片',
|
||
'filesView.error.jsonViewerUnavailable': 'JSON 檢視器無法使用',
|
||
'filesView.error.switchToTextMode': '請切換到文字模式查看原始內容。',
|
||
'filesView.warning.largeFilePreviewLimited': '該檔案較大({sizeKb}KB),預覽可能受限。',
|
||
'filesView.error.previewUnavailable': '預覽無法使用',
|
||
'filesView.error.switchToEditMode': '請切換到編輯模式修復問題。',
|
||
'filesView.error.readFileFailed': '讀取檔案失敗',
|
||
'filesView.editor.htmlPreviewTitle': 'HTML 預覽',
|
||
'filesView.diagram.closeDiagramView': '關閉圖表檢視',
|
||
'filesView.diagram.saveDiagram': '儲存圖表',
|
||
'contextUsage.aria.label': '上下文用量',
|
||
'contextUsage.mobile.title': '上下文用量',
|
||
'contextUsage.mobile.usedTokens': '已用 Token',
|
||
'contextUsage.mobile.contextLimit': '上下文上限',
|
||
'contextUsage.mobile.outputLimit': '輸出上限',
|
||
'contextUsage.mobile.cost': '成本',
|
||
'contextUsage.mobile.usage': '使用率',
|
||
'contextUsage.tooltip.usedTokens': '已用 Token:{tokens}',
|
||
'contextUsage.tooltip.contextLimit': '上下文上限:{tokens}',
|
||
'contextUsage.tooltip.outputLimit': '輸出上限:{tokens}',
|
||
'contextUsage.tooltip.cost': '成本:{cost}',
|
||
'contextSidebar.session.untitled': '未命名會話',
|
||
'contextSidebar.empty.openSession': '請先開啟會話以查看上下文。',
|
||
'contextSidebar.section.context': '上下文',
|
||
'contextSidebar.section.lastAssistantMessage': '最近一條助理訊息',
|
||
'contextSidebar.section.rawMessages': '原始訊息',
|
||
'contextSidebar.context.percentUsed': '已使用 {percent}%',
|
||
'contextSidebar.breakdown.user': '使用者',
|
||
'contextSidebar.breakdown.assistant': '助理',
|
||
'contextSidebar.breakdown.toolCalls': '工具呼叫',
|
||
'contextSidebar.breakdown.other': '其他',
|
||
'contextSidebar.stats.messages': '訊息',
|
||
'contextSidebar.stats.user': '使用者',
|
||
'contextSidebar.stats.assistant': '助理',
|
||
'contextSidebar.stats.cost': '成本',
|
||
'contextSidebar.tokens.input': '輸入',
|
||
'contextSidebar.tokens.output': '輸出',
|
||
'contextSidebar.tokens.reasoning': '推理',
|
||
'contextSidebar.tokens.cacheRead': '快取讀取',
|
||
'contextSidebar.tokens.cacheWrite': '快取寫入',
|
||
'contextSidebar.tokens.cacheHit': '快取命中',
|
||
'contextSidebar.actions.copyJson': '複製 JSON',
|
||
'contextSidebar.actions.copy': '複製',
|
||
'contextSidebar.actions.copied': '已複製',
|
||
'planView.file.defaultName': 'plan',
|
||
'planView.title.default': '計畫',
|
||
'planView.error.saveFailed': '儲存失敗',
|
||
'planView.error.loadFailed': '無法載入此計畫',
|
||
'planView.error.previewUnavailable': '預覽無法使用',
|
||
'planView.error.switchToEditMode': '請切換到編輯模式修復問題。',
|
||
'planView.error.writeFailed': '寫入失敗',
|
||
'planView.error.writePlanFileFailed': '寫入計畫檔案失敗({status})',
|
||
'planView.actions.improvePlanAria': '改進計畫',
|
||
'planView.actions.improve': '改進',
|
||
'planView.actions.implementPlanAria': '執行計畫',
|
||
'planView.actions.implement': '執行',
|
||
'planView.actions.sendToNewSession': '傳送到新會話',
|
||
'planView.actions.sendToNewWorktreeSession': '傳送到新 worktree 會話',
|
||
'planView.actions.copyPlanContents': '複製計畫內容',
|
||
'planView.state.loading': '載入中...',
|
||
'diffView.binary.unavailable': '該檔案內容無法查看。',
|
||
'diffView.change.untracked': '未追蹤檔案',
|
||
'diffView.change.new': '新檔案',
|
||
'diffView.change.deleted': '已刪除檔案',
|
||
'diffView.change.renamed': '已重新命名檔案',
|
||
'diffView.change.copied': '已複製檔案',
|
||
'diffView.change.modified': '已修改檔案',
|
||
'diffView.selector.selectFile': '選擇檔案',
|
||
'diffView.image.original': '原始',
|
||
'diffView.image.modified': '已修改',
|
||
'diffView.image.new': '新檔案',
|
||
'diffView.image.originalAlt': '原始:{path}',
|
||
'diffView.image.modifiedAlt': '已修改:{path}',
|
||
'diffView.section.files': '檔案',
|
||
'diffView.state.selectSessionDirectory': '請選擇會話目錄以查看差異',
|
||
'diffView.state.loadingRepositoryStatus': '正在載入儲存庫狀態...',
|
||
'diffView.state.notGitRepository': '目前不是 Git 儲存庫。請在 Git 標籤中初始化或切換目錄。',
|
||
'diffView.state.cleanWorkingTree': '工作區乾淨,沒有可顯示的改動',
|
||
'diffView.state.noLastTurnChanges': '沒有可顯示的上一輪變更',
|
||
'diffView.state.failedToLoadDiff': '載入差異失敗',
|
||
'diffView.state.loadingDiff': '正在載入差異...',
|
||
'diffView.state.loadingChanges': '正在載入變更...',
|
||
'diffView.state.largeDiff': '大型差異({count} 行變更)',
|
||
'diffView.state.largeDiffDescription': '渲染可能較慢。你仍可點擊下方按鈕查看差異。',
|
||
'diffView.summary.changedFilesSingle': '{count} 個檔案已變更',
|
||
'diffView.summary.changedFilesPlural': '{count} 個檔案已變更',
|
||
"diffView.scope.changed": "已變更",
|
||
"diffView.scope.staged": "已暫存",
|
||
"diffView.scope.lastTurn": "上一輪",
|
||
"diffView.scope.branch": "分支",
|
||
"diffView.branch.resolvingBase": "正在偵測基礎分支...",
|
||
"diffView.branch.noBaseTitle": "沒有基礎分支",
|
||
"diffView.branch.noBaseDescription": "Git 中沒有記錄此分支的起點。請選擇基礎分支進行比較。",
|
||
"diffView.branch.loadError": "載入分支變更失敗",
|
||
"diffView.branch.loadingFiles": "正在載入分支變更...",
|
||
"diffView.branch.empty": "此分支相對於 {base} 沒有變更",
|
||
"diffView.scope.selectorAria": "選擇變更模式",
|
||
'diffView.actions.retry': '重試',
|
||
'diffView.actions.renderAnyway': '仍然渲染',
|
||
'diffView.actions.expandAll': '全部展開',
|
||
'diffView.actions.collapseAll': '全部折疊',
|
||
'diffView.actions.loadFullFiles': '載入完整檔案',
|
||
'diffView.actions.disableFullFiles': '停止載入完整檔案',
|
||
'diffView.actions.disableLineWrap': '關閉自動換行',
|
||
'diffView.actions.enableLineWrap': '開啟自動換行',
|
||
'diffView.actions.openFileInEditorAtChange': '在編輯器中開啟此檔案並定位變更',
|
||
'diffView.actions.openFileAtFirstChangedLine': '在首個變更行開啟此檔案',
|
||
'diffView.actions.review': 'Review',
|
||
'diffView.actions.reviewAria': 'Review changes',
|
||
'diffView.reviewDialog.title': 'Review changes',
|
||
'diffView.reviewDialog.description': 'Start a separate review session for the current changes.',
|
||
'diffView.reviewDialog.generateHandoff': 'Generate handoff',
|
||
'diffView.reviewDialog.autoReview': '執行自動審查循環',
|
||
'diffView.reviewDialog.info': 'This flow works best if started in the session where the changes were implemented.',
|
||
'diffView.reviewDialog.actions.cancel': 'Cancel',
|
||
'diffView.reviewDialog.actions.start': 'Review',
|
||
'diffView.reviewDialog.actions.starting': 'Starting...',
|
||
'diffView.reviewDialog.toast.noSessionDirectory': 'Session directory is unavailable',
|
||
'diffView.reviewDialog.toast.startFailed': 'Failed to start review flow',
|
||
'chat.history.loadOlder': '載入更早的訊息',
|
||
'chat.appLink.confirm.title': '要在其他應用程式中開啟此連結嗎?',
|
||
'chat.appLink.confirm.description': '此聊天連結使用 {scheme} 通訊協定,將在其他應用程式中開啟。',
|
||
'chat.appLink.confirm.descriptionPlain': '此聊天連結將在其他應用程式中開啟。',
|
||
'chat.appLink.confirm.cancel': '取消',
|
||
'chat.appLink.confirm.open': '開啟一次',
|
||
'chat.appLink.confirm.trustAndOpen': '信任並開啟',
|
||
'chat.autoReview.title': '程式碼審查循環執行中',
|
||
'chat.autoReview.status.waitingForReviewer': '等待審查者',
|
||
'chat.autoReview.status.waitingForImplementer': '等待實作者',
|
||
'chat.autoReview.reviewSessionLabel': '審查工作階段',
|
||
'chat.autoReview.actions.open': '開啟',
|
||
'chat.autoReview.actions.stop': '停止',
|
||
'diffView.hunk.label': '程式碼區塊',
|
||
'diffView.hunk.stage': '暫存',
|
||
'diffView.hunk.unstage': '取消暫存',
|
||
'diffView.hunk.discard': '捨棄',
|
||
'diffView.hunk.stageTitle': '暫存程式碼區塊 {index}',
|
||
'diffView.hunk.unstageTitle': '取消暫存程式碼區塊 {index}',
|
||
'diffView.hunk.discardTitle': '捨棄程式碼區塊 {index}',
|
||
'diffView.hunk.unavailable': '此程式碼區塊已不可用。請重新整理差異後重試。',
|
||
'diffView.hunk.unsupported': '此執行環境不支援暫存個別程式碼區塊。',
|
||
'rightSidebar.contextNotesTodo.plan.defaultTitle': '計畫',
|
||
'rightSidebar.contextNotesTodo.empty.selectProject': '請選擇一個專案以新增筆記和待辦事項。',
|
||
'rightSidebar.contextNotesTodo.notes.placeholder': '記錄上下文、提醒或連結',
|
||
'rightSidebar.contextNotesTodo.notes.addAria': '新增筆記',
|
||
'rightSidebar.contextNotesTodo.notes.empty': '尚無筆記。可以記錄脈絡、提醒或連結。',
|
||
'rightSidebar.contextNotesTodo.notes.actions.expand': '展開筆記',
|
||
'rightSidebar.contextNotesTodo.notes.actions.collapse': '收合筆記',
|
||
'rightSidebar.contextNotesTodo.notes.actions.delete': '刪除筆記',
|
||
'rightSidebar.contextNotesTodo.notes.actions.pin': '釘選到代理上下文',
|
||
'rightSidebar.contextNotesTodo.notes.actions.unpin': '從代理上下文取消釘選',
|
||
'rightSidebar.contextNotesTodo.notes.source.selection': '來自對話',
|
||
'rightSidebar.contextNotesTodo.notes.source.agent': '來自代理',
|
||
'rightSidebar.contextNotesTodo.search.placeholder': '搜尋',
|
||
'rightSidebar.contextNotesTodo.search.clear': '清除搜尋',
|
||
'rightSidebar.contextNotesTodo.search.noResults': '沒有符合「{query}」的內容。',
|
||
'rightSidebar.contextNotesTodo.toast.deleteNoteFailed': '刪除筆記失敗',
|
||
'rightSidebar.contextNotesTodo.toast.createNoteFailed': '建立筆記失敗',
|
||
'rightSidebar.contextNotesTodo.tabs.notes': '筆記',
|
||
'rightSidebar.contextNotesTodo.tabs.todos': '待辦',
|
||
'rightSidebar.contextNotesTodo.tabs.plans': '計畫',
|
||
'rightSidebar.contextNotesTodo.plans.actions.back': '返回計畫列表',
|
||
'rightSidebar.contextNotesTodo.tabs.memory': '記憶',
|
||
'rightSidebar.contextNotesTodo.sections.label': '專案脈絡分區',
|
||
'rightSidebar.contextNotesTodo.sections.resize': '調整分區側欄寬度',
|
||
'rightSidebar.contextNotesTodo.memory.scope.project': '專案',
|
||
'rightSidebar.contextNotesTodo.memory.scope.label': '記憶範圍',
|
||
'rightSidebar.contextNotesTodo.memory.scope.global': '關於你',
|
||
'rightSidebar.contextNotesTodo.memory.type.fact': '事實',
|
||
'rightSidebar.contextNotesTodo.memory.badge.new': '新增',
|
||
'rightSidebar.contextNotesTodo.memory.flagged': '不會傳給代理 — 讀起來像指令',
|
||
'rightSidebar.contextNotesTodo.memory.badge.changed': '已變更',
|
||
'rightSidebar.contextNotesTodo.memory.type.preference': '偏好',
|
||
'rightSidebar.contextNotesTodo.memory.type.reference': '參考',
|
||
'rightSidebar.contextNotesTodo.memory.actions.delete': '刪除這則記憶',
|
||
'rightSidebar.contextNotesTodo.memory.actions.editTitle': '記憶標題',
|
||
'rightSidebar.contextNotesTodo.memory.actions.editBody': '記憶內容',
|
||
'rightSidebar.contextNotesTodo.memory.toast.saveFailed': '儲存記憶失敗',
|
||
'rightSidebar.contextNotesTodo.memory.toast.deleteFailed': '刪除記憶失敗',
|
||
'rightSidebar.contextNotesTodo.memory.empty.nothing': '代理還沒有在這裡儲存內容。',
|
||
'rightSidebar.contextNotesTodo.memory.empty.noMatches': '沒有符合搜尋的已儲存記憶。',
|
||
'rightSidebar.contextNotesTodo.memory.empty.noProject': '開啟專案即可查看代理記住了什麼。',
|
||
'rightSidebar.contextNotesTodo.memory.empty.unavailable': '無法載入已儲存的記憶。內容並未遺失,請再試一次。',
|
||
'rightSidebar.contextNotesTodo.todo.clearCompleted': '清除已完成',
|
||
'rightSidebar.contextNotesTodo.todo.inputPlaceholder': '新增待辦',
|
||
'rightSidebar.contextNotesTodo.todo.addAria': '新增待辦',
|
||
'rightSidebar.contextNotesTodo.todo.empty': '還沒有待辦。為此專案新增一個簡短清單吧。',
|
||
'rightSidebar.contextNotesTodo.todo.actions.markComplete': '將「{text}」標記為已完成',
|
||
'rightSidebar.contextNotesTodo.todo.actions.collapse': '摺疊待辦「{text}」',
|
||
'rightSidebar.contextNotesTodo.todo.actions.expand': '展開待辦「{text}」',
|
||
'rightSidebar.contextNotesTodo.todo.actions.delete': '刪除「{text}」',
|
||
'rightSidebar.contextNotesTodo.todo.actions.send': '傳送「{text}」',
|
||
'rightSidebar.contextNotesTodo.todo.actions.reorder': '重新排序「{text}」',
|
||
'rightSidebar.contextNotesTodo.todo.sendMenu.currentSession': '傳送到目前會話',
|
||
'rightSidebar.contextNotesTodo.todo.sendMenu.newSession': '傳送到新會話',
|
||
'rightSidebar.contextNotesTodo.todo.sendMenu.newWorktreeSession': '傳送到新 worktree 會話',
|
||
'rightSidebar.contextNotesTodo.plans.importFromFile': '從檔案匯入計畫',
|
||
'rightSidebar.contextNotesTodo.plans.empty': '還沒有已儲存的計畫。',
|
||
'rightSidebar.contextNotesTodo.plans.deletePlan': '刪除計畫',
|
||
'rightSidebar.contextNotesTodo.plans.deletePlanWithTitle': '刪除計畫「{title}」',
|
||
'rightSidebar.contextNotesTodo.sendDialog.title.newSession': '傳送到新會話',
|
||
'rightSidebar.contextNotesTodo.sendDialog.title.newWorktree': '傳送到新 worktree',
|
||
'rightSidebar.contextNotesTodo.sendDialog.variant.default': '預設',
|
||
'rightSidebar.contextNotesTodo.sendDialog.actions.cancel': '取消',
|
||
'rightSidebar.contextNotesTodo.sendDialog.actions.send': '傳送',
|
||
'rightSidebar.contextNotesTodo.sendDialog.actions.sending': '傳送中',
|
||
'rightSidebar.contextNotesTodo.toast.saveNotesFailed': '儲存專案筆記失敗',
|
||
'rightSidebar.contextNotesTodo.toast.loadNotesFailed': '載入專案筆記失敗',
|
||
'rightSidebar.contextNotesTodo.toast.noActiveSession': '未選擇活動會话',
|
||
'rightSidebar.contextNotesTodo.toast.sentToCurrentSession': '待辦已傳送到目前會話',
|
||
'rightSidebar.contextNotesTodo.toast.worktreeRequiresGitRepo': '僅 Git 儲存庫支援 worktree 操作',
|
||
'rightSidebar.contextNotesTodo.toast.createSessionFailed': '建立會話失敗',
|
||
'rightSidebar.contextNotesTodo.toast.sentToNewSession': '待辦已傳送到新會話',
|
||
'rightSidebar.contextNotesTodo.toast.sentToNewWorktreeSession': '待辦已傳送到新的 worktree 會話',
|
||
'rightSidebar.contextNotesTodo.toast.sendTodoFailed': '傳送待辦失敗',
|
||
'rightSidebar.contextNotesTodo.toast.updatePlanFailed': '更新計畫失敗',
|
||
'rightSidebar.contextNotesTodo.toast.deletePlanFailed': '刪除計畫失敗',
|
||
'rightSidebar.contextNotesTodo.toast.planFileEmpty': '計畫檔案為空',
|
||
'rightSidebar.contextNotesTodo.toast.importPlanFailed': '匯入計畫失敗',
|
||
'rightSidebar.contextNotesTodo.toast.planImported': '計畫已匯入',
|
||
'rightSidebar.contextNotesTodo.toast.readPlanFileFailed': '讀取計畫檔案失敗',
|
||
'inlineComment.range.lines': '行 {start}-{end}',
|
||
'inlineComment.input.placeholder': '新增留言...({shortcut} 儲存)',
|
||
'inlineComment.input.placeholderShort': '新增留言…',
|
||
'inlineComment.actions.cancel': '取消',
|
||
'inlineComment.actions.save': '儲存',
|
||
'inlineComment.actions.comment': '留言',
|
||
'inlineComment.actions.showLess': '收起',
|
||
'inlineComment.actions.showMore': '展開',
|
||
'inlineComment.actions.editComment': '編輯留言',
|
||
'inlineComment.actions.deleteComment': '刪除留言',
|
||
'inlineComment.toast.selectSessionToSave': '請選擇會話以儲存留言',
|
||
'header.github.connectedWithLogin': 'GitHub:{login}',
|
||
'header.github.connected': 'GitHub 已連線',
|
||
'header.github.avatarWithLogin': '{login} 頭像',
|
||
'header.github.avatar': 'GitHub 頭像',
|
||
'header.github.accountsTitle': 'GitHub 帳戶',
|
||
'header.github.accountSource.oauth': 'OAuth',
|
||
'header.github.accountSource.cli': 'CLI',
|
||
'header.services.openWithCurrent': '開啟實例、用量和 MCP(目前:{current})',
|
||
'header.services.open': '開啟服務、用量和 MCP',
|
||
'header.services.title': '服務',
|
||
'header.services.viewAria': '查看服務',
|
||
'header.services.closeAria': '關閉服務',
|
||
'header.services.rateLimits': '速率限制',
|
||
'header.services.refreshRateLimitsAria': '重新整理速率限制',
|
||
'header.services.noRateLimits': '沒有可用的速率限制。',
|
||
'header.services.noRateLimitsReported': '未報告速率限制。',
|
||
'header.services.used': '已用',
|
||
'header.services.remaining': '剩餘',
|
||
'header.services.modelFamily.other': '其他',
|
||
'header.actions.openPlanAria': '開啟計畫',
|
||
"header.actions.toggleChangesPanel": "變更面板",
|
||
"header.actions.toggleChangesPanelAria": "切換變更面板",
|
||
'header.actions.planWithShortcut': '計畫({shortcut})',
|
||
'header.actions.terminalPanelWithShortcut': '終端機面板({shortcut})',
|
||
'chat.recap.aria': '工作階段回顧',
|
||
'chat.recap.label': '回顧:',
|
||
'chat.goal.dialog.titleCreate': '設定工作階段目標',
|
||
'chat.goal.dialog.titleManage': '工作階段目標',
|
||
'chat.goal.dialog.objectiveLabel': '目標',
|
||
'chat.goal.dialog.objectivePlaceholder': '描述代理應達成並驗證的最終狀態…',
|
||
'chat.goal.dialog.budgetLabel': '權杖預算',
|
||
'chat.goal.dialog.evaluationModelLabel': '評估模型',
|
||
'chat.goal.status.active': '進行中',
|
||
'chat.goal.status.evaluating': '評估中…',
|
||
'chat.goal.status.paused': '已暫停',
|
||
'chat.goal.status.blocked': '已受阻',
|
||
'chat.goal.status.budgetLimited': '已達預算',
|
||
'chat.goal.status.complete': '已完成',
|
||
'chat.goal.usage.tokens': '{used} 權杖',
|
||
'chat.goal.usage.tokensWithBudget': '{used}/{budget} 權杖',
|
||
'chat.goal.usage.turns': '{turns} 次續跑',
|
||
'chat.goal.action.pause': '暫停',
|
||
'chat.goal.action.resume': '繼續',
|
||
'chat.goal.action.markComplete': '標記為完成',
|
||
'chat.goal.action.clear': '移除目標',
|
||
'chat.goal.action.cancel': '取消',
|
||
'chat.goal.action.save': '儲存目標',
|
||
'chat.goal.action.start': '啟動目標',
|
||
'chat.goal.toast.actionFailed': '目標更新失敗',
|
||
'chat.goal.toast.distillFallback': '目標超出限制且無法提煉 — 稽核將使用節錄版本',
|
||
'chat.goal.row.aria': '工作階段目標 — 開啟詳細資訊',
|
||
'chat.goal.button.createAria': '設定工作階段目標',
|
||
'chat.goal.button.manageAria': '管理工作階段目標',
|
||
'chat.goal.button.armAria': '用下一則訊息啟動目標',
|
||
'chat.goal.counter.aria': '目標長度限制',
|
||
'chat.goal.button.disarmAria': '目標已就緒 — 點按取消就緒',
|
||
'chat.goal.button.cancelAria': '目標進行中 — 點按取消',
|
||
'chat.goal.cancelDialog.title': '取消此目標?',
|
||
'chat.goal.cancelDialog.description': '代理將停止自動朝此目標工作。',
|
||
'chat.goal.cancelDialog.keep': '保留目標',
|
||
'chat.goal.cancelDialog.confirm': '取消目標',
|
||
'chat.suggestion.applyAria': '使用建議的訊息',
|
||
'chat.suggestion.dismissAria': '關閉建議',
|
||
'header.actions.toggleTerminalPanelAria': '切換終端機面板',
|
||
'terminalView.stream.processExitedMessage': '\r\n[處理程序已結束{exitCodeSegment}{signalSegment}]\r\n',
|
||
'terminalView.stream.processExitedWithCode': ',結束代碼 {exitCode}',
|
||
'terminalView.stream.processExitedWithSignal': '(訊號 {signal})',
|
||
'terminalView.error.sessionEnded': '終端機會話已結束',
|
||
'terminalView.error.connectionFailed': '連線失敗:{message}',
|
||
'terminalView.error.startSessionFailed': '啟動終端機會話失敗',
|
||
'terminalView.error.restartFailed': '重新啟動終端機失敗',
|
||
'terminalView.error.sendInputFailed': '傳送輸入失敗',
|
||
'terminalView.empty.noWorkingDirectory': '終端機無法使用,缺少工作目錄。',
|
||
'terminalView.empty.selectSession': '選擇一個會話以開啟終端機。',
|
||
'terminalView.empty.noWorkingDirectoryForSession': '此會話沒有可用的工作目錄。',
|
||
'terminalView.actions.retry': '重試',
|
||
'terminalView.actions.hardRestart': '強制重新啟動',
|
||
'terminalView.actions.hardRestartTitle': '強制終止並建立全新會話',
|
||
'terminalView.quickKeys.escape': 'Esc',
|
||
'terminalView.quickKeys.tabAria': 'Tab 鍵',
|
||
'terminalView.quickKeys.controlLabel': 'Ctrl',
|
||
'terminalView.quickKeys.controlModifierAria': 'Control 修飾鍵',
|
||
'terminalView.quickKeys.altLabel': 'Alt',
|
||
'terminalView.quickKeys.altModifierAria': 'Alt 修飾鍵',
|
||
'terminalView.quickKeys.commandModifierAria': 'Command 修飾鍵',
|
||
'terminalView.quickKeys.arrowUpAria': '上箭頭',
|
||
'terminalView.quickKeys.arrowLeftAria': '左箭頭',
|
||
'terminalView.quickKeys.arrowDownAria': '下箭頭',
|
||
'terminalView.quickKeys.arrowRightAria': '右箭頭',
|
||
'terminalView.quickKeys.enterAria': 'Enter 鍵',
|
||
'terminalView.tabs.closeTabTitle': '關閉分頁',
|
||
'terminalView.tabs.newTabTitle': '新增分頁',
|
||
'terminalView.viewport.inputAria': '終端機輸入',
|
||
'directoryExplorerDialog.title': '新增專案目錄',
|
||
'directoryExplorerDialog.description': '選擇一個資料夾新增為專案。',
|
||
'directoryExplorerDialog.toggle.showHidden': '顯示隱藏項目',
|
||
'directoryExplorerDialog.pathInput.placeholder': '輸入路徑或從樹狀目錄中選擇...',
|
||
'directoryExplorerDialog.actions.openingFinder': '正在開啟...',
|
||
'directoryExplorerDialog.actions.openInFinder': '在 Finder 中開啟',
|
||
'directoryExplorerDialog.actions.adding': '新增中...',
|
||
'directoryExplorerDialog.actions.addProject': '新增專案',
|
||
'directoryExplorerDialog.actions.addLocalProject': '新增本地專案',
|
||
'directoryExplorerDialog.actions.cloneRepository': '複製儲存庫',
|
||
'directoryExplorerDialog.actions.cloneAndAdd': '複製並新增',
|
||
'directoryExplorerDialog.actions.cloning': '正在複製...',
|
||
'directoryExplorerDialog.actions.createAndAdd': '建立並新增',
|
||
'directoryExplorerDialog.actions.alreadyAdded': '已新增',
|
||
'directoryExplorerDialog.clone.remoteUrlPlaceholder': '儲存庫 URL(HTTPS 或 SSH)',
|
||
'directoryExplorerDialog.browse.directories': '目錄',
|
||
'directoryExplorerDialog.browse.loading': '正在載入目錄...',
|
||
'directoryExplorerDialog.browse.empty': '沒有符合的目錄。',
|
||
'directoryExplorerDialog.browse.permissionDenied': 'OpenChamber 需要存取此資料夾。',
|
||
'directoryExplorerDialog.browse.loadFailed': '無法載入此資料夾。',
|
||
'directoryExplorerDialog.browse.grantAccess': '授予存取權限',
|
||
'directoryExplorerDialog.browse.retry': '再試一次',
|
||
'directoryExplorerDialog.browse.parentDirectory': '上層目錄',
|
||
'directoryExplorerDialog.browse.addedBadge': '已新增',
|
||
'directoryExplorerDialog.browse.quickAdd': '添加',
|
||
'directoryExplorerDialog.footer.navigate': '導覽',
|
||
'directoryExplorerDialog.footer.select': '選擇',
|
||
'directoryExplorerDialog.footer.add': '新增',
|
||
'directoryExplorerDialog.shortcut.enter': 'Enter',
|
||
'directoryExplorerDialog.toast.unableToAccessDirectory': '無法存取目錄',
|
||
'directoryExplorerDialog.toast.desktopDeniedAccess': '桌面端拒絕了目錄存取。',
|
||
'directoryExplorerDialog.toast.failedToOpenDirectory': '開啟目錄失敗',
|
||
'directoryExplorerDialog.toast.desktopCouldNotGrantAccess': '桌面端無法授予檔案存取權限。',
|
||
'directoryExplorerDialog.toast.failedToAddProject': '新增專案失敗',
|
||
'directoryExplorerDialog.toast.cloneUrlRequired': '複製前請輸入儲存庫 URL。',
|
||
'directoryExplorerDialog.toast.selectValidDirectoryPath': '請選擇有效的目錄路徑。',
|
||
'directoryExplorerDialog.toast.failedToSelectDirectory': '選擇目錄失敗',
|
||
'directoryExplorerDialog.toast.unknownError': '發生未知錯誤。',
|
||
'directoryTree.actions.createNewDirectory': '建立新目錄',
|
||
'directoryTree.actions.pinDirectory': '釘選目錄',
|
||
'directoryTree.actions.unpinDirectory': '取消釘選目錄',
|
||
'directoryTree.actions.createDirectory': '建立目錄',
|
||
'directoryTree.actions.cancel': '取消',
|
||
'directoryTree.actions.selectWorkingDirectoryAria': '選擇工作目錄',
|
||
'directoryTree.state.locatingHomeDirectory': '正在定位主目錄...',
|
||
'directoryTree.state.loading': '載入中...',
|
||
'directoryTree.state.noDirectoriesFound': '找不到目錄',
|
||
'directoryTree.section.pinned': '已釘選',
|
||
'directoryTree.section.browse': '瀏覽',
|
||
'aboutDialog.versionLabel': '版本 {version}',
|
||
'aboutDialog.openChamberVersionLabel': 'OpenChamber 版本 {version}',
|
||
'aboutDialog.openCodeVersionLabel': 'OpenCode 版本 {version}',
|
||
'aboutDialog.actions.copyDiagnostics': '複製診斷資訊',
|
||
'aboutDialog.actions.preparingDiagnostics': '正在準備診斷資訊...',
|
||
'aboutDialog.actions.diagnosticsCopied': '診斷資訊已複製',
|
||
'aboutDialog.diagnosticsDescription': '包含 OpenChamber 狀態、OpenCode 健康資訊、目錄和專案。',
|
||
'aboutDialog.footerNote': '為社群用心打造',
|
||
'aboutDialog.toast.copyFailed': '複製失敗',
|
||
'aboutDialog.toast.diagnosticsNotReady': '診斷資訊尚未就緒。請稍後重試。',
|
||
'aboutDialog.toast.diagnosticsCopied': '診斷資訊已複製',
|
||
'helpDialog.title': '鍵盤快速鍵',
|
||
'helpDialog.description': '使用這些快速鍵可更有效率地導覽 OpenChamber',
|
||
'helpDialog.section.navigationCommands': '導覽與命令',
|
||
'helpDialog.section.sessionManagement': '會話管理',
|
||
'helpDialog.section.panels': '面板',
|
||
'helpDialog.section.interface': '介面',
|
||
'helpDialog.item.openCommandPalette': '開啟命令面板',
|
||
'helpDialog.item.showKeyboardShortcuts': '顯示鍵盤快速鍵(此對話方塊)',
|
||
'helpDialog.item.toggleSessionSidebar': '切換會話側邊欄',
|
||
'helpDialog.item.addSelectionToChat': '將選取內容加入聊天',
|
||
'helpDialog.item.cycleAgent': '循環切換 Agent(聊天輸入)',
|
||
'helpDialog.item.openModelSelector': '開啟模型選擇器',
|
||
'helpDialog.item.navigateModels': '導覽模型(選擇器中)',
|
||
'helpDialog.item.adjustThinkingMode': '調整思考模式(選擇器中,支援時)',
|
||
'helpDialog.item.cycleThinkingVariant': '循環思考變體(全域快速鍵)',
|
||
'helpDialog.item.newWindow': '新增視窗(僅桌面端)',
|
||
'helpDialog.item.createNewSession': '建立新會話',
|
||
'helpDialog.item.createNewWorktreeDraft': '建立新 worktree 草稿',
|
||
'helpDialog.item.focusChatInput': '聚焦聊天輸入框',
|
||
'helpDialog.item.togglePromptNavigator': '顯示或隱藏提示詞導覽',
|
||
'helpDialog.item.abortActiveRun': '中止目前執行(連按兩下)',
|
||
'helpDialog.item.toggleTerminalDock': '切換終端機停靠欄',
|
||
'helpDialog.item.toggleTerminalExpanded': '切換終端機展開狀態',
|
||
'helpDialog.item.cycleTheme': '循環切換主題(淺色 → 深色 → 跟隨系統)',
|
||
'helpDialog.item.switchSessionTab': '切換工作階段分頁',
|
||
'helpDialog.item.switchContextSurface': '切換上下文面板介面(數字鍵)',
|
||
'helpDialog.item.toggleServicesMenu': '切換服務選單',
|
||
'helpDialog.item.openSettings': '開啟設定',
|
||
'helpDialog.keyCombiner.or': '或',
|
||
'helpDialog.proTips.title': '使用提示:',
|
||
'helpDialog.proTips.commandPalette': '使用命令面板({shortcut})可快速存取所有操作',
|
||
'helpDialog.proTips.recentSessions': '最近 5 個會话會顯示在命令面板中',
|
||
'helpDialog.proTips.leaderSequences': '兩段式快捷鍵:先按組合鍵,再按第二個鍵(Esc 取消)',
|
||
'header.actions.rightSidebarWithShortcut': '右側邊欄({shortcut})',
|
||
'header.actions.toggleRightSidebarAria': '切換右側邊欄',
|
||
'header.actions.openAppMenu': 'OpenChamber 選單',
|
||
'header.actions.openAppMenuAria': '開啟 OpenChamber 選單',
|
||
'header.actions.openSessionsWithShortcut': '開啟會話({shortcut})',
|
||
'header.actions.openSessionsAria': '開啟會話',
|
||
'header.actions.closeSessionsAria': '關閉會話',
|
||
'header.actions.newSessionAria': '新增會話',
|
||
'header.actions.newSessionWithShortcut': '新增會話({shortcut})',
|
||
'header.actions.backAria': '返回',
|
||
'header.navigation.mainAria': '主導覽',
|
||
'header.sessions.title': '會話',
|
||
'header.changes.availableAria': '有可用變更',
|
||
'session.githubIssuePicker.error.noActiveProject': '沒有活動專案',
|
||
'session.githubIssuePicker.error.runtimeUnavailable': 'GitHub 執行時 API 無法使用',
|
||
'session.githubIssuePicker.error.notConnected': 'GitHub 未連線',
|
||
'session.githubIssuePicker.error.repoNotResolvable': '無法解析儲存庫',
|
||
'session.githubIssuePicker.error.repoMustBeGithub': 'origin 遠端儲存庫必須是 GitHub URL',
|
||
'session.githubIssuePicker.error.issueNotFound': '找不到 Issue',
|
||
'session.githubIssuePicker.error.noModelSelected': '未選擇模型',
|
||
'session.githubIssuePicker.toast.loadMoreFailed': '載入更多 Issue 失敗',
|
||
'session.githubIssuePicker.toast.loadIssueDetailsFailed': '載入 Issue 詳情失敗',
|
||
'session.githubIssuePicker.toast.sendContextFailed': '傳送 Issue 上下文失敗',
|
||
'session.githubIssuePicker.toast.sessionCreated': '已從 Issue 建立會話',
|
||
'session.githubIssuePicker.toast.startSessionFailed': '啟動會話失敗',
|
||
'session.githubIssuePicker.title.select': '關聯 GitHub Issue',
|
||
'session.githubIssuePicker.title.createSession': '從 GitHub Issue 新增會話',
|
||
'session.githubIssuePicker.description.select': '選擇一個 Issue 關聯到目前會話。',
|
||
'session.githubIssuePicker.description.createSession': '使用隱藏的 Issue 上下文(標題/內文/標籤/留言)初始化新會話。',
|
||
'session.githubIssuePicker.searchPlaceholder': '按標題或 #123 搜尋,或貼上 Issue URL',
|
||
'session.githubIssuePicker.empty.noActiveProject': '未選擇活動專案。',
|
||
'session.githubIssuePicker.empty.runtimeUnavailable': 'GitHub 執行時 API 無法使用。',
|
||
'session.githubIssuePicker.empty.notConnected': 'GitHub 未連線。請在設定中連接 GitHub 帳號。',
|
||
'session.githubIssuePicker.empty.noIssuesFound': '找不到 Issue',
|
||
'session.githubIssuePicker.empty.noOpenIssuesFound': '沒有未關閉的 Issue',
|
||
'session.githubIssuePicker.loading.issues': '正在載入 Issue...',
|
||
'session.githubIssuePicker.loading.more': '載入中...',
|
||
'session.githubIssuePicker.actions.openSettings': '開啟設定',
|
||
'session.githubIssuePicker.actions.useIssue': '使用 Issue #{number}',
|
||
'session.githubIssuePicker.actions.openInGitHubAria': '在 GitHub 中開啟',
|
||
'session.githubIssuePicker.actions.loadMore': '載入更多',
|
||
'session.githubIssuePicker.actions.sectionTitle': '操作',
|
||
'session.githubIssuePicker.actions.toggleWorktreeAria': '切換 worktree',
|
||
'session.githubIssuePicker.actions.createInWorktree': '在 worktree 中建立',
|
||
'session.githubIssuePicker.actions.openRepo': '開啟儲存庫',
|
||
'session.githubIssuePicker.actions.refresh': '重新整理',
|
||
'session.githubPrPicker.error.noActiveProject': '沒有活動專案',
|
||
'session.githubPrPicker.error.runtimeUnavailable': 'GitHub 執行時 API 無法使用',
|
||
'session.githubPrPicker.error.notConnected': 'GitHub 未連線',
|
||
'session.githubPrPicker.error.prNotFound': '找不到 Pull Request',
|
||
'session.githubPrPicker.error.repoNotResolvable': '無法解析儲存庫',
|
||
'session.githubPrPicker.error.repoMustBeGithub': 'origin 遠端儲存庫必須是 GitHub URL',
|
||
'session.githubPrPicker.toast.loadMoreFailed': '載入更多 Pull Request 失敗',
|
||
'session.githubPrPicker.toast.loadDetailsFailed': '載入 Pull Request 詳情失敗',
|
||
'session.githubPrPicker.title': '關聯 GitHub Pull Request',
|
||
'session.githubPrPicker.description': '選擇一個 Pull Request,將審查上下文附加到此訊息。',
|
||
'session.githubPrPicker.searchPlaceholder': '按標題或 #123 搜尋,或貼上 Pull Request URL',
|
||
'session.githubPrPicker.includeDiffAria': '在附加上下文中包含 PR diff',
|
||
'session.githubPrPicker.includeDiff': '包含 PR diff',
|
||
'session.githubPrPicker.empty.noActiveProject': '未選擇活動專案。',
|
||
'session.githubPrPicker.empty.runtimeUnavailable': 'GitHub 執行時 API 無法使用。',
|
||
'session.githubPrPicker.empty.notConnected': 'GitHub 未連線。請在設定中連接 GitHub 帳號。',
|
||
'session.githubPrPicker.empty.noPullRequestsFound': '找不到 Pull Request',
|
||
'session.githubPrPicker.empty.noOpenPullRequestsFound': '沒有未關閉的 Pull Request',
|
||
'session.githubPrPicker.loading.pullRequests': '正在載入 Pull Request...',
|
||
'session.githubPrPicker.loading.more': '載入中...',
|
||
'session.githubPrPicker.actions.openSettings': '開啟設定',
|
||
'session.githubPrPicker.actions.usePullRequest': '使用 Pull Request #{number}',
|
||
'session.githubPrPicker.actions.openInGitHubAria': '在 GitHub 中開啟',
|
||
'session.githubPrPicker.actions.loadMore': '載入更多',
|
||
'session.newWorktree.title': '新增 Worktree',
|
||
'session.newWorktree.mode.newBranch': '新分支',
|
||
'session.newWorktree.mode.existingBranch': '現有分支',
|
||
'session.newWorktree.selectBranch': '選擇分支',
|
||
'session.newWorktree.chooseBranch': '選擇一個分支...',
|
||
'session.newWorktree.fetchBranches': 'Fetch 分支',
|
||
'session.newWorktree.searchBranches': '搜尋分支...',
|
||
'session.newWorktree.loadingBranches': '正在載入分支...',
|
||
'session.newWorktree.noBranchesFound': '找不到分支',
|
||
'session.newWorktree.matchingBranches': '符合分支',
|
||
'session.newWorktree.noMatchingBranches': '沒有符合分支',
|
||
'session.newWorktree.localBranches': '本地分支',
|
||
'session.newWorktree.remoteBranches': '遠端分支',
|
||
'session.newWorktree.branchName': '分支名稱',
|
||
'session.newWorktree.branchNamePlaceholder': 'feature/my-awesome-feature',
|
||
'session.newWorktree.actions.change': '變更',
|
||
'session.newWorktree.actions.startFromGitHubIssuePr': '從 GitHub Issue/PR 開始',
|
||
'session.newWorktree.usingPrBranch': '使用 PR 分支:{branch}',
|
||
'session.newWorktree.fromIssue': '來自 Issue #{number}:{title}',
|
||
'session.newWorktree.worktreeDirectory': 'Worktree 目錄',
|
||
'session.newWorktree.worktreeDirectoryPlaceholder': 'my-worktree-directory',
|
||
'session.newWorktree.resetToMatchBranchName': '重設為與分支名稱一致',
|
||
'session.newWorktree.sourceBranch': '來源分支',
|
||
'session.newWorktree.selectSourceBranch': '選擇來源分支',
|
||
'session.newWorktree.selectSourceBranchPlaceholder': '選擇來源分支...',
|
||
'session.newWorktree.newBranchFromSource': '新分支將從 {source} 建立',
|
||
'session.newWorktree.issueNumber': 'Issue #{number}',
|
||
'session.newWorktree.prNumber': 'PR #{number}',
|
||
'session.newWorktree.includeDiffBadge': '+diff',
|
||
'session.newWorktree.newSessionTitle': '新會話',
|
||
'session.newWorktree.fromSource': '來自 {source}',
|
||
'session.newWorktree.actions.cancel': '取消',
|
||
'session.newWorktree.actions.creating': '建立中...',
|
||
'session.newWorktree.actions.createWorktree': '建立 Worktree',
|
||
'session.newWorktree.actions.reset': '重設',
|
||
'session.newWorktree.error.noModelSelected': '未選擇模型',
|
||
'session.newWorktree.error.noActiveProject': '沒有活動專案',
|
||
'session.newWorktree.error.branchNameRequired': '分支名稱是必填項',
|
||
'session.newWorktree.error.worktreeDirectoryRequired': 'Worktree 目錄是必填項',
|
||
'session.newWorktree.error.sendGitHubContextFailed': '傳送 GitHub 上下文失敗',
|
||
'session.newWorktree.error.createWorktreeFailed': '建立 Worktree 失敗',
|
||
'session.newWorktree.toast.sessionFromIssue': '已從 Issue 建立會話',
|
||
'session.newWorktree.toast.sessionFromPr': '已從 PR 建立會話',
|
||
'session.newWorktree.toast.worktreeCreated': 'Worktree 已建立',
|
||
'session.newWorktree.toast.worktreeCreatedDescription': '{target} - 正在背景初始化',
|
||
'session.githubIntegration.title': '從 GitHub 選擇',
|
||
'session.githubIntegration.tabs.issues': 'Issues',
|
||
'session.githubIntegration.tabs.pullRequests': 'Pull Requests',
|
||
'session.githubIntegration.connect.title': '連接到 GitHub',
|
||
'session.githubIntegration.connect.description': '關聯 Issue 或 Pull Request 以自動填入 worktree 詳情',
|
||
'session.githubIntegration.connect.action': '連接 GitHub',
|
||
'session.githubIntegration.search.issuesPlaceholder': '搜尋 Issue 或輸入 #123...',
|
||
'session.githubIntegration.search.prsPlaceholder': '搜尋 PR 或輸入 #456...',
|
||
'session.githubIntegration.empty.noIssuesFound': '找不到 Issue',
|
||
'session.githubIntegration.empty.noPullRequestsFound': '找不到 Pull Request',
|
||
'session.githubIntegration.actions.loadMore': '載入更多',
|
||
'session.githubIntegration.actions.cancel': '取消',
|
||
'session.githubIntegration.actions.select': '選擇',
|
||
'session.githubIntegration.selected.issueNumber': 'Issue #{number}',
|
||
'session.githubIntegration.selected.prNumber': 'PR #{number}',
|
||
'session.githubIntegration.includeDiffAria': '在會話上下文中包含 PR diff',
|
||
'session.githubIntegration.includeDiff': '包含 PR diff',
|
||
'session.githubIntegration.error.notConnected': 'GitHub 未連線',
|
||
'session.githubIntegration.error.loadDataFailed': '載入資料失敗',
|
||
'session.githubIntegration.validation.branchAlreadyCheckedOut': '該分支已在某個 worktree 中簽出',
|
||
'session.githubIntegration.validation.branchAlreadyExists': '該分支已在本地存在',
|
||
'session.githubIntegration.validation.failed': '驗證失敗',
|
||
'chat.fileAttachment.toast.attachFailed': '附加檔案失敗',
|
||
'chat.fileAttachment.toast.someFilesSkipped': '以下檔案被跳過:\n{summary}',
|
||
'chat.fileAttachment.toast.vscodePickFailed': '在 VS Code 中選擇檔案失敗',
|
||
'chat.fileAttachment.fileFallback': '檔案',
|
||
'chat.fileAttachment.skippedFallback': '已跳過',
|
||
'chat.fileAttachment.actions.attachAria': '附加檔案',
|
||
'chat.fileAttachment.actions.attach': '附加檔案',
|
||
'chat.fileAttachment.actions.removeNamed': '移除 {name}',
|
||
'chat.fileAttachment.actions.removeImage': '移除圖片',
|
||
'chat.fileAttachment.activeEditor.addFile': '將檔案加入上下文:{name}',
|
||
'chat.fileAttachment.activeEditor.pinSelection': '將選擇釘選到上下文',
|
||
'chat.fileAttachment.activeEditor.remove': '從上下文中移除',
|
||
'chat.fileAttachment.openInDiagram': '在圖表檢視中開啟',
|
||
'chat.pendingChanges.fileCountSingle': '{count} 個檔案',
|
||
'chat.pendingChanges.fileCountPlural': '{count} 個檔案',
|
||
'chat.pendingChanges.changedInWorkspace': '工作區中有變更',
|
||
'chat.changedFiles.title': '已變更檔案',
|
||
'chat.changedFiles.actions.openFileTitle': '開啟 {path}',
|
||
'chat.emptyState.opencodeUnreachable': '無法連線 OpenCode',
|
||
'chat.emptyState.startNewChat': '開始新的聊天',
|
||
'chat.emptyState.draftTitle': 'What are we working on?',
|
||
'chat.emptyState.draftTitleWithProject': 'What are we working on in {project}?',
|
||
'chat.draftPresets.explore.label': 'Explore the codebase',
|
||
'chat.draftPresets.catchup.label': 'Catch me up',
|
||
'chat.draftPresets.weigh.label': 'Weigh my options',
|
||
'chat.draftPresets.plan.label': 'Start feature planning',
|
||
'chat.draftPresets.craftGoal.label': '建立 Goal',
|
||
'chat.draftPresets.scheduleTask.label': '排程任務',
|
||
'chat.draftPresets.debug.label': 'Debug an issue',
|
||
'chat.draftPresets.review.label': 'Review my changes',
|
||
'chat.draftStarters.add': 'Add a starter',
|
||
'chat.draftStarters.searchPlaceholder': 'Search commands and skills…',
|
||
'chat.draftStarters.empty': 'Nothing to add',
|
||
'chat.draftStarters.sectionBuiltIn': 'Built-in',
|
||
'chat.draftStarters.sectionCommands': 'Commands',
|
||
'chat.draftStarters.sectionSkills': 'Skills',
|
||
'chat.draftStarters.remove': 'Remove',
|
||
'chat.scrollToBottom.aria': '捲動到底部',
|
||
'chat.promptNavigator.aria': '提示詞導覽',
|
||
'chat.promptNavigator.currentPrompt': '目前提示',
|
||
'chat.promptNavigator.loadMore': '載入更多提示',
|
||
'chat.timeline.relative.justNow': '剛剛',
|
||
'chat.timeline.relative.minutesAgo': '{count} 分鐘前',
|
||
'chat.timeline.relative.hoursAgo': '{count} 小時前',
|
||
'chat.timeline.relative.daysAgo': '{count} 天前',
|
||
'chat.timeline.title': '會話時間線',
|
||
'chat.timeline.description': '跳轉到會話中的任意位置,或從該處分支新會話',
|
||
'chat.timeline.searchPlaceholder': '搜尋訊息...',
|
||
'chat.timeline.empty.search': '找不到訊息',
|
||
'chat.timeline.empty.session': '目前會話還沒有訊息',
|
||
'chat.timeline.noTextContent': '[無文字內容]',
|
||
'chat.timeline.actions.title': '操作',
|
||
'chat.timeline.actions.revertFromHere': '從此處還原',
|
||
'chat.timeline.actions.forkFromHere': '從此處分支',
|
||
'chat.timeline.actions.previousTurn': '上一輪',
|
||
'chat.timeline.actions.latest': '最新',
|
||
'chat.timeline.help.clickMessage': '點擊訊息可捲動到會話中的對應位置',
|
||
'chat.timeline.help.undoToPoint': '收回到該點(訊息文字會填入輸入框)',
|
||
'chat.timeline.help.createSessionFromHere': '從此處開始建立新會話',
|
||
'chat.statusRow.todo.status.inProgress': '進行中',
|
||
'chat.statusRow.todo.status.pending': '待處理',
|
||
'chat.statusRow.todo.status.completed': '已完成',
|
||
'chat.statusRow.todo.status.cancelled': '已取消',
|
||
'chat.statusRow.todo.priority.high': '高優先級',
|
||
'chat.statusRow.todo.priority.medium': '中優先級',
|
||
'chat.statusRow.todo.priority.low': '低優先級',
|
||
'chat.statusRow.actions.stopGeneratingAria': '停止生成',
|
||
'chat.statusRow.tasksTitle': '任務',
|
||
'chat.statusRow.modelStatus': '{model} · {status}',
|
||
'chat.statusRow.summary.activeLeft': '{active} 個活躍 · 剩餘 {left} 個',
|
||
'chat.revertIndicator.redo': '重做',
|
||
'chat.revertIndicator.redoAria': '重做 — 恢復已收回的訊息',
|
||
'chat.revertPopover.title': '已收回',
|
||
'chat.revertPopover.noTextContent': '無文字內容',
|
||
'chat.revertPopover.forkFromHere': '從此處分支',
|
||
'chat.revertPopover.forkFromMessage': '從此訊息分支',
|
||
'chat.revertPopover.restoreAll': '恢復全部',
|
||
'chat.revertPopover.restore': '恢復',
|
||
'chat.revertPopover.revert': '收回',
|
||
'chat.revertPopover.fork': '分支',
|
||
'chat.revert.toast.undo': '已收回至 {preview}',
|
||
'chat.revert.toast.redo': '已重做',
|
||
'chat.revert.toast.restored': '已恢復全部訊息',
|
||
'chat.toast.opencodeRestartInterrupted.title': '聊天已中斷',
|
||
'chat.toast.opencodeRestartInterrupted.description': 'OpenCode 在回覆仍在產生時重新啟動。傳送訊息以繼續。',
|
||
'chat.toast.opencodeRestartInterrupted.openSession': '開啟會話',
|
||
'chat.errorBoundary.title': '聊天錯誤',
|
||
'chat.errorBoundary.description': '聊天介面發生錯誤,可能是暫時網路問題或訊息資料損毀導致。',
|
||
'chat.errorBoundary.sessionLabel': '會話',
|
||
'chat.errorBoundary.detailsSummary': '錯誤詳情',
|
||
'chat.errorBoundary.resetAction': '重設聊天',
|
||
'chat.errorBoundary.persistentHint': '如果問題持續,請嘗試重新整理頁面。',
|
||
'chat.autocomplete.tabs.commands': '命令',
|
||
'chat.autocomplete.tabs.agents': 'Agent',
|
||
'chat.autocomplete.tabs.files': '檔案',
|
||
'chat.autocomplete.keyboardHint': '↑↓ 導覽 • Enter 選擇 • Esc 關閉',
|
||
'chat.commandAutocomplete.command.initDescription': '建立/更新 AGENTS.md 檔案',
|
||
'chat.commandAutocomplete.command.undoDescription': '復原上一條訊息',
|
||
'chat.commandAutocomplete.command.redoDescription': '重做之前復原的訊息',
|
||
'chat.commandAutocomplete.command.timelineDescription': '開啟對話時間線',
|
||
'chat.commandAutocomplete.command.compactDescription': '使用 AI 壓縮會話歷史以減少上下文大小',
|
||
'chat.commandAutocomplete.command.summaryDescription': '非破壞性會話總結。命令後可選填主題提示。',
|
||
'chat.commandAutocomplete.command.workspaceReviewDescription': '審查工作區 diff 的意圖、正確性與充分性,並依嚴重程度分級。',
|
||
'chat.commandAutocomplete.command.handoffReviewDescription': '根據生成的交接內容建立或重用獨立的審查會話。',
|
||
'chat.commandAutocomplete.command.featurePlanDescription': '為新功能開始一次引導式的來回規劃工作階段。',
|
||
'chat.commandAutocomplete.command.craftGoalDescription': '將想法或任務轉化為清晰且可驗證的 Goal。',
|
||
'chat.commandAutocomplete.command.scheduleTaskDescription': '透過引導式對話定義排程任務。',
|
||
'chat.chatInput.toast.craftGoalFailed': '無法開始建立 Goal',
|
||
'chat.chatInput.toast.scheduleTaskFailed': '無法開始設定排程任務',
|
||
'chat.commandAutocomplete.command.catchUpDescription': '重新進入上下文:你之前在做什麼、從哪裡繼續。',
|
||
'chat.commandAutocomplete.command.debugDescription': '在提出修復方案前,引導式地排查 bug 的根本原因。',
|
||
'chat.commandAutocomplete.command.weighDescription': '在動手前,權衡 2-3 種方案的利弊並給出推薦。',
|
||
'chat.commandAutocomplete.command.btwDescription': '在臨時子工作階段中提問,不打斷目前對話',
|
||
'chat.commandAutocomplete.command.exploreDescription': '快速熟悉這個程式碼庫:對架構和主要部分的概覽。',
|
||
'chat.commandAutocomplete.badge.skill': 'Skills',
|
||
'chat.commandAutocomplete.badge.command': '命令',
|
||
'chat.commandAutocomplete.badge.system': '系統',
|
||
'chat.commandAutocomplete.empty': '找不到命令',
|
||
'chat.agentMentionAutocomplete.badge.system': '系統',
|
||
'chat.agentMentionAutocomplete.empty': '找不到 Agent',
|
||
'chat.fileMentionAutocomplete.searchMoreAgents': '輸入以搜尋更多 Agent',
|
||
'chat.fileMentionAutocomplete.empty': '找不到符合項目',
|
||
'chat.queuedMessage.attachments': '+{count} 個檔案',
|
||
'chat.queuedMessage.empty': '(空)',
|
||
'chat.queuedMessage.title': 'Queued messages',
|
||
'chat.queuedMessage.edit': 'edit',
|
||
'chat.queuedMessage.send': 'send',
|
||
'chat.queuedMessage.removeAria': '從佇列移除',
|
||
'chat.queuedMessage.reorderAria': '拖曳以重新排序',
|
||
'chat.container.returnToParent.aria': '返回父會話',
|
||
'chat.container.returnToParent.titleNamed': '返回到:{title}',
|
||
'chat.container.returnToParent.title': '返回父會話',
|
||
'chat.container.returnToParent.label': '父級',
|
||
'chat.btw.destroyAria': '銷毀此 btw 工作階段',
|
||
'chat.btw.titleFallback': 'btw 工作階段',
|
||
'chat.btw.mainComposerPlaceholder': '在此 btw 工作階段中提問…',
|
||
'chat.btw.loading': '正在啟動 btw 工作階段…',
|
||
'chat.btw.toast.emptyArgument': '在 /btw 後輸入問題',
|
||
'chat.btw.toast.createFailed': '啟動 btw 工作階段失敗',
|
||
'chat.btw.toast.destroyFailed': '銷毀 btw 工作階段失敗。它將保留在側邊欄中。',
|
||
'chat.btw.working': '處理中…',
|
||
'chat.btw.collapseAria': '收合 btw 面板',
|
||
'chat.btw.expandAria': '展開 btw 面板',
|
||
'chat.btw.promoteAria': '保留為獨立工作階段',
|
||
'chat.btw.toast.promoteFailed': '保留 btw 工作階段失敗',
|
||
'chat.container.readOnlySubagentPromptBanner': '無法向子 Agent 會話傳送提示。',
|
||
'chat.container.sessionLoadError.title': '無法載入工作階段',
|
||
'chat.container.sessionLoadError.description': '無法取得對話——伺服器可能已關閉或無法連線。內容沒有遺失;待其恢復後再試即可。',
|
||
'chat.container.sessionLoadError.authDescription': '工作階段已過期,伺服器拒絕了請求。登入後對話即會載入。',
|
||
'chat.container.sessionLoadError.retry': '再試一次',
|
||
'sessions.sidebar.group.empty.loadingSessions': '正在載入工作階段…',
|
||
'sessions.sidebar.group.empty.loadFailed': '無法重新整理工作階段。',
|
||
'sessions.sidebar.group.empty.retry': '再試一次',
|
||
'sessions.sidebar.group.empty.permissionDenied': '需要資料夾存取權限。',
|
||
'sessions.sidebar.group.empty.grantAccess': '授予存取權限',
|
||
'chat.unifiedControls.title': '控制',
|
||
'chat.unifiedControls.model.title': '模型',
|
||
'chat.unifiedControls.model.noRecent': '沒有最近使用的模型',
|
||
'chat.unifiedControls.model.moreAria': '更多模型',
|
||
'chat.unifiedControls.effort.title': '思考強度',
|
||
'chat.unifiedControls.effort.moreAria': '更多強度選項',
|
||
'chat.questionCard.summaryTab': '總結',
|
||
'chat.questionCard.noAnswer': '(無答案)',
|
||
'chat.questionCard.inputNeeded': '需要輸入',
|
||
'chat.questionCard.fromSubagent': '來自子 Agent',
|
||
'chat.questionCard.questionFallback': '問題 {index}',
|
||
'chat.questionCard.selectMultiple': '可複選',
|
||
'chat.questionCard.recommended': '推薦',
|
||
'chat.questionCard.other': '其他…',
|
||
'chat.questionCard.yourAnswer': '你的回答',
|
||
'chat.questionCard.submit': '提交',
|
||
'chat.questionCard.next': '下一個',
|
||
'chat.questionCard.dismiss': '忽略',
|
||
'chat.questionCard.copyMarkdown': '複製為 Markdown',
|
||
'chat.questionCard.copyJson': '複製為 JSON',
|
||
'chat.questionCard.copiedMarkdown': '問題已複製為 Markdown',
|
||
'chat.questionCard.copiedJson': '問題已複製為 JSON',
|
||
'chat.questionCard.copyFailed': '複製問題失敗',
|
||
'chat.questionCard.submitFailed': '傳送回答失敗',
|
||
'chat.questionCard.dismissFailed': '忽略問題失敗',
|
||
'chat.questionCard.noLongerPending': '此問題不再等待回答。',
|
||
'chat.questionCard.tryAgain': '請稍後再試。',
|
||
'chat.textSelection.toast.noProject': '找不到此會話對應的專案',
|
||
'chat.textSelection.toast.addToNotesFailed': '加入筆記失敗',
|
||
'chat.textSelection.toast.addToNotesSuccess': '已將選取文字加入筆記',
|
||
'chat.textSelection.toast.addToNotesSummaryFailed': '無法總結所選內容,已將所選文字加入筆記',
|
||
'chat.textSelection.actions.addToInput': '加入輸入框',
|
||
'chat.textSelection.actions.comment': '留言',
|
||
'chat.textSelection.title.commentOnSelection': '對所選內容留言',
|
||
'chat.textSelection.comment.placeholder': '新增選填留言...',
|
||
'chat.textSelection.comment.attach': '附加',
|
||
'chat.textSelection.actions.addToNotes': '加入筆記',
|
||
'chat.textSelection.title.addToCurrentChat': '加入目前聊天',
|
||
'chat.textSelection.title.saveInsightToNotes': '將選取文字儲存到筆記',
|
||
'chat.messageBody.actions.revertAria': '收回到這條訊息',
|
||
'chat.messageBody.actions.revert': '從此處收回',
|
||
'chat.messageBody.actions.forkAria': '從這條訊息分支',
|
||
'chat.messageBody.actions.fork': '從此處分支',
|
||
'chat.messageBody.actions.copyMessageAria': '複製訊息文字',
|
||
'chat.messageBody.actions.copyMessage': '複製訊息',
|
||
'chat.messageBody.actions.pinContext': '釘選到內容脈絡(壓縮後仍保留)',
|
||
'chat.messageBody.actions.unpinContext': '從內容脈絡取消釘選(壓縮後不再保留)',
|
||
'chat.messageBody.actions.contextPinFailed': '無法更新內容脈絡釘選狀態',
|
||
'chat.messageBody.actions.openPreviewAria': '開啟預覽',
|
||
'chat.messageBody.actions.openPreview': '開啟預覽',
|
||
'chat.messageBody.actions.copyAnswer': '複製回答',
|
||
'chat.messageBody.actions.savingImage': '正在儲存圖片...',
|
||
'chat.messageBody.actions.saveAsImage': '儲存為圖片',
|
||
'chat.messageBody.actions.saveAsPlan': '儲存為計畫',
|
||
'chat.messageBody.actions.startNewSession': '基於此回答開始新會話',
|
||
'chat.messageBody.actions.startNewMultiRun': '基於此回答開始新的 Multi-run',
|
||
'chat.messageBody.forkDialog.instructions.label': '說明',
|
||
'chat.messageBody.forkDialog.instructions.placeholder': '為新工作階段新增說明…',
|
||
'chat.messageBody.forkDialog.createWorktree': '建立 worktree',
|
||
'chat.generatedResult.actions.copy': '複製',
|
||
'chat.generatedResult.actions.copied': '已複製',
|
||
'chat.generatedResult.commit.title': '生成的提交訊息',
|
||
'chat.generatedResult.commit.highlights': '重點',
|
||
'chat.generatedResult.pullRequest.title': '生成的 Pull Request',
|
||
'chat.generatedResult.pullRequest.titleLabel': '標題',
|
||
'chat.generatedResult.pullRequest.bodyLabel': '內文',
|
||
'chat.messageBody.tts.stopSpeaking': '停止朗讀',
|
||
'chat.messageBody.tts.readAloud': '朗讀',
|
||
'chat.messageBody.tts.readAloudWithProvider': '朗讀({provider} 語音)',
|
||
'planView.tts.readAloud': '朗讀計畫',
|
||
'planView.tts.stopSpeaking': '停止朗讀',
|
||
'filesView.tts.readAloud': '朗讀檔案',
|
||
'filesView.tts.stopSpeaking': '停止朗讀',
|
||
'chat.messageBody.toast.noProject': '找不到此會話對應的專案',
|
||
'chat.messageBody.toast.savePlanFailed': '儲存計畫失敗',
|
||
'chat.messageBody.toast.planSaved': '計畫已儲存',
|
||
'chat.messageBody.toast.imageSaved': '圖片已儲存',
|
||
'chat.messageBody.toast.generateImageFailed': '生成圖片失敗',
|
||
'chat.chatInput.actions.commands': '命令',
|
||
'chat.chatInput.actions.attachFiles': '附加檔案',
|
||
'chat.chatInput.actions.addAttachment': '加入附件',
|
||
'chat.chatInput.actions.linkGithubIssue': '關聯 GitHub Issue',
|
||
'chat.chatInput.actions.linkGithubPr': '關聯 GitHub PR',
|
||
'chat.chatInput.actions.modelAgentSettings': '模型與 Agent 設定',
|
||
'chat.chatInput.actions.sendMessageAria': '傳送訊息',
|
||
'chat.chatInput.actions.queueMessageAria': '將訊息加入佇列',
|
||
'chat.chatInput.actions.stopGeneratingAria': '停止生成',
|
||
'chat.chatInput.focusMode.toggleAria': '切換專注模式',
|
||
'chat.chatInput.focusMode.label': '專注模式',
|
||
'chat.chatInput.permissionAutoAccept.disable': '關閉權限自動接受',
|
||
'chat.chatInput.permissionAutoAccept.enable': '開啟權限自動接受',
|
||
'chat.chatInput.permissionAutoAccept.on': '權限自動接受:開',
|
||
'chat.chatInput.permissionAutoAccept.off': '權限自動接受:關',
|
||
'chat.chatInput.linked.byAuthor': '由 {author}',
|
||
'chat.chatInput.linked.issue.openInBrowserAria': '在瀏覽器中開啟 Issue',
|
||
'chat.chatInput.linked.issue.removeAria': '移除已關聯的 Issue',
|
||
'chat.chatInput.linked.pr.number': 'PR #{number}',
|
||
'chat.chatInput.linked.pr.openInBrowserAria': '在瀏覽器中開啟 Pull Request',
|
||
'chat.chatInput.linked.pr.removeAria': '移除已關聯的 Pull Request',
|
||
'chat.chatInput.placeholder.shell': '輸入 shell 命令...',
|
||
'chat.chatInput.placeholder.chat': '@ 用於檔案/Agent;/ 用於命令;! 用於 shell;# 用於程式片段',
|
||
'chat.chatInput.placeholder.chatCompact': '使用 @ / ! # 輔助',
|
||
'chat.chatInput.placeholder.selectSession': '選擇或建立會話以開始聊天',
|
||
'chat.dictation.start': '開始語音輸入',
|
||
'chat.dictation.overlayAria': '語音輸入',
|
||
'chat.dictation.downloadingModel': '正在下載語音模型...',
|
||
'chat.dictation.downloadingModelProgress': '正在下載語音模型... {percent}%',
|
||
'chat.dictation.listening': '正在聆聽...',
|
||
'chat.dictation.processing': '正在轉寫...',
|
||
'chat.dictation.failed': '轉寫失敗',
|
||
'chat.dictation.cancel': '放棄語音輸入',
|
||
'chat.dictation.insert': '插入文字',
|
||
'chat.dictation.insertAndSend': '插入並傳送',
|
||
'chat.dictation.retry': '重試轉寫',
|
||
'chat.dictation.discard': '放棄錄音',
|
||
'chat.snippetAutocomplete.action.addNew': '+ 新建程式片段',
|
||
'chat.snippetAutocomplete.empty': '未找到程式片段',
|
||
'chat.snippetAutocomplete.footer': '↑↓ 導航 • Enter 選擇 • Esc 關閉',
|
||
'snippets.source.global': '全局',
|
||
'snippets.source.project': '項目',
|
||
'chat.chatInput.toast.compactFailed': '壓縮會話失敗',
|
||
'chat.chatInput.toast.summaryFailed': '生成總結失敗',
|
||
'chat.messageBody.actions.sendReviewFeedback': '將審查回饋傳送給實作變更的代理',
|
||
'chat.messageBody.actions.sendImplementationResponse': '將實作回應傳送給審查代理',
|
||
'chat.chatInput.toast.reviewFailed': '審查變更失敗',
|
||
'chat.chatInput.toast.planFeatureFailed': '無法開始功能規劃',
|
||
'chat.chatInput.toast.catchUpFailed': '無法取得上下文',
|
||
'chat.chatInput.toast.debugFailed': '無法開始除錯',
|
||
'chat.chatInput.toast.weighFailed': '無法權衡方案',
|
||
'chat.chatInput.toast.exploreFailed': '無法開始導覽',
|
||
'chat.chatInput.toast.attachmentsTooLarge': '附件過大,無法傳送。請減少圖片數量或大小。',
|
||
'chat.chatInput.toast.sendAttachmentsFailed': '傳送附件失敗。請嘗試更少檔案或更小圖片。',
|
||
'chat.chatInput.toast.messageSendFailed': '訊息傳送失敗,附件已恢復。',
|
||
'chat.chatInput.toast.noModelSelected': '傳送前請先選擇提供者與模型。',
|
||
'chat.chatInput.toast.clipboardAttachFailed': '從剪貼簿附加圖片失敗',
|
||
'chat.chatInput.toast.addedFileMentions': '已加入 {count} 個檔案提及',
|
||
'chat.chatInput.toast.attachFileFailed': '附加檔案失敗',
|
||
'chat.chatInput.toast.attachNamedFailed': '附加 {name} 失敗',
|
||
'chat.chatInput.toast.unsupportedAttachmentModalities': '{model} 不支援 {files} 所需的 {modalities} 輸入。你仍可傳送訊息,但這些附件可能會被忽略。',
|
||
'chat.chatInput.toast.someFilesSkipped': '部分檔案被跳過:\n{summary}',
|
||
'chat.chatInput.toast.vscodePickFailed': '在 VS Code 中選擇檔案失敗',
|
||
'chat.chatInput.toast.openSessionFirst': '請先開啟一個會話',
|
||
'chat.chatInput.toast.togglePermissionAutoAcceptFailed': '切換權限自動接受失敗',
|
||
'chat.chatInput.reviewComments': '審查留言:',
|
||
'chat.chatInput.reviewCommentsRemove': '移除審查留言',
|
||
'chat.chatInput.previewAnnotations': '預覽註釋:',
|
||
'chat.chatInput.previewContext': '預覽上下文:',
|
||
'chat.chatInput.previewContextRemove': '移除預覽上下文',
|
||
'chat.chatInput.projectRoot': '專案根目錄',
|
||
'chat.chatInput.branch': '分支',
|
||
'chat.chatInput.draftPicker.projectTitle': '專案',
|
||
'chat.chatInput.draftPicker.searchProjects': '搜尋專案...',
|
||
'chat.chatInput.draftPicker.searchBranches': '搜尋分支...',
|
||
'chat.chatInput.worktrees': 'Worktree',
|
||
'chat.chatInput.worktreeNew': '+ 新增',
|
||
'chat.chatInput.drop.insertMention': '放開以插入為提及',
|
||
'chat.chatInput.drop.attachFiles': '將檔案拖放至此處以附加',
|
||
'chat.chatInput.fileFallback': '檔案',
|
||
'chat.toolOutputDialog.image.previousAria': '上一張圖片',
|
||
'chat.toolOutputDialog.image.nextAria': '下一張圖片',
|
||
'chat.toolOutputDialog.image.closeAria': '關閉圖片預覽',
|
||
'chat.toolOutputDialog.mermaid.missingSource': '缺少 Mermaid 來源 URL。',
|
||
'chat.toolOutputDialog.mermaid.loadFailed': '無法載入 Mermaid 圖表。',
|
||
'chat.toolOutputDialog.mermaid.dataUrlMalformed': 'Mermaid 資料 URL 格式不正確。',
|
||
'chat.toolOutputDialog.mermaid.invalidLocalPath': 'Mermaid 本機檔案路徑無效。',
|
||
'chat.toolOutputDialog.mermaid.readFileFailedWithStatus': '無法讀取 Mermaid 檔案。狀態:{status}。',
|
||
'chat.toolOutputDialog.mermaid.unsupportedUrlProtocol': '不支援此 Mermaid URL 通訊協定。',
|
||
'chat.toolOutputDialog.mermaid.loadFailedWithStatus': '無法載入 Mermaid 圖表。狀態:{status}。',
|
||
'chat.toolOutputDialog.mermaid.closeAria': '關閉圖表預覽',
|
||
'chat.toolOutputDialog.mermaid.loading': '正在載入圖表...',
|
||
'chat.toolOutputDialog.mermaid.renderFailed': '無法渲染 Mermaid 圖表。',
|
||
'chat.toolOutputDialog.mermaid.retry': '重試',
|
||
'chat.toolOutputDialog.commandCompleted': '命令已成功完成',
|
||
'chat.toolOutputDialog.noOutputProduced': '沒有產生輸出',
|
||
'chat.toolPart.lspErrors': 'LSP 錯誤',
|
||
'chat.toolPart.moreErrors': '+{count} 個更多錯誤',
|
||
'chat.toolPart.error': '錯誤:',
|
||
'chat.toolPart.awaitingResponse': '等待回應...',
|
||
'chat.toolPart.noOutputProduced': '未產生輸出',
|
||
'chat.toolPart.output': '輸出',
|
||
'chat.toolPart.showRawJson': '顯示原始 JSON',
|
||
'chat.toolPart.showFormattedJson': '顯示格式化 JSON',
|
||
'chat.toolPart.showNavigableJson': '顯示可導覽 JSON',
|
||
'chat.toolPart.openFile': '開啟檔案',
|
||
'chat.toolPart.openFileAtFirstChange': '在首次變更處開啟檔案',
|
||
'chat.toolPart.openFileDiff': '開啟檔案差異',
|
||
'chat.toolPart.copyOutput': '複製輸出',
|
||
'chat.toolPart.copiedOutput': '已複製輸出',
|
||
'chat.toolPart.copyOutputFailed': '複製輸出失敗',
|
||
'chat.toolPart.openSubtask': '開啟{type}子任務',
|
||
'chat.todo.total': '總計',
|
||
'chat.todo.inProgress': '進行中',
|
||
'chat.todo.pending': '待處理',
|
||
'chat.todo.completed': '已完成',
|
||
'chat.todo.cancelled': '已取消',
|
||
'chat.permissionCard.workingDirectory': '工作目錄:',
|
||
'chat.permissionCard.timeout': '逾時:',
|
||
'chat.permissionCard.request': 'Request:',
|
||
'chat.permissionCard.headers': 'Headers:',
|
||
'chat.permissionCard.body': 'Body:',
|
||
'chat.permissionCard.action': '操作:',
|
||
'chat.permissionCard.details': '詳情:',
|
||
'chat.permissionCard.patterns': '模式:',
|
||
'chat.permissionToast.sessionFallback': '會話',
|
||
'chat.permissionToast.permissionFallback': '權限詳情無法使用',
|
||
'chat.permissionToast.labels.session': '會話:',
|
||
'chat.permissionToast.labels.permission': '權限:',
|
||
'chat.permissionToast.actions.once': '一次',
|
||
'chat.permissionToast.actions.always': '始終',
|
||
'chat.permissionToast.actions.deny': '拒絕',
|
||
'chat.permissionToast.actions.approveOnceAria': '核准一次',
|
||
'chat.permissionToast.actions.approveOnceAriaWithSession': '為 {session} 核准一次',
|
||
'chat.permissionToast.actions.approveAlwaysAria': '始終核准',
|
||
'chat.permissionToast.actions.approveAlwaysAriaWithSession': '為 {session} 始終核准',
|
||
'chat.permissionToast.actions.denyAria': '拒絕權限',
|
||
'chat.permissionToast.actions.denyAriaWithSession': '拒絕 {session} 的權限',
|
||
'chat.permissionRequest.required': '需要權限:',
|
||
'chat.permissionRequest.actions.once': '一次',
|
||
'chat.permissionRequest.actions.always': '始終',
|
||
'chat.permissionRequest.actions.reject': '拒絕',
|
||
'chat.modelControls.provider': '供應商',
|
||
'chat.modelControls.capability.toolCalling': '工具呼叫',
|
||
'chat.modelControls.capability.reasoning': '推理',
|
||
'chat.modelControls.modality.text': '文字',
|
||
'chat.modelControls.modality.image': '圖片',
|
||
'chat.modelControls.modality.video': '影片',
|
||
'chat.modelControls.modality.audio': '音訊',
|
||
'chat.modelControls.modality.pdf': 'PDF',
|
||
'chat.modelControls.capabilities': '能力',
|
||
'chat.modelControls.modalities': '模態',
|
||
'chat.modelControls.input': '輸入',
|
||
'chat.modelControls.output': '輸出',
|
||
'chat.modelControls.limits': '限制',
|
||
'chat.modelControls.context': '上下文',
|
||
'chat.modelControls.metadata': '元資料',
|
||
'chat.modelControls.knowledge': '知識',
|
||
'chat.modelControls.release': '發布時間',
|
||
'chat.modelControls.mode': '模式',
|
||
'chat.modelControls.model': '模型',
|
||
'chat.modelControls.temperature': '溫度',
|
||
'chat.modelControls.topP': 'Top P',
|
||
'chat.modelControls.permissions': '權限',
|
||
'chat.modelControls.edit': '編輯',
|
||
'chat.modelControls.bash': 'Bash',
|
||
'chat.modelControls.webFetch': 'WebFetch',
|
||
'chat.modelControls.customPrompt': '自訂提示詞',
|
||
'chat.modelControls.selectModel': '選擇模型',
|
||
'chat.modelControls.searchProvidersOrModels': '搜尋供應商或模型',
|
||
'chat.modelControls.clearSearch': '清除搜尋',
|
||
'chat.modelControls.current': '目前',
|
||
'chat.modelControls.thinking': '思考',
|
||
'chat.modelControls.default': '預設',
|
||
'chat.modelControls.selectAgent': '選擇 Agent',
|
||
'chat.modelControls.costPerMillion': '成本($/百萬 tokens)',
|
||
'chat.modelControls.metadataUnavailable': '模型元資料無法使用。',
|
||
'chat.modelControls.addNewProvider': '新增供應商',
|
||
'chat.modelControls.noAgentSelected': '未選擇 Agent。',
|
||
'chat.modelControls.resetToDefault': '重設為預設',
|
||
'chat.modelControls.searchModels': '搜尋模型',
|
||
'chat.modelControls.searchAgents': '搜尋 Agent',
|
||
'chat.modelControls.noModelsFound': '找不到模型',
|
||
'chat.modelControls.favorites': '我的最愛',
|
||
'chat.modelControls.recent': '最近',
|
||
'chat.modelControls.addToFavorites': '加到我的最愛',
|
||
'chat.modelControls.removeFromFavorites': '從我的最愛中移除',
|
||
'chat.modelControls.favoriteAria': '加入最愛',
|
||
'chat.modelControls.unfavoriteAria': '取消最愛',
|
||
'chat.modelControls.collapseProvider': '摺疊供應商',
|
||
'chat.modelControls.expandProvider': '展開供應商',
|
||
'chat.modelControls.keyboardHint': '↑↓ 導覽{thinking} • Enter 選擇 • Esc 關閉',
|
||
'chat.modelControls.keyboardHintNavigate': '↑↓ 導覽',
|
||
'chat.modelControls.keyboardHintSwitchAgent': '{shortcut} 切換 Agent',
|
||
'chat.modelControls.keyboardHintThinking': '←→ 思考',
|
||
'chat.modelControls.showThinkingModes': '顯示思考模式',
|
||
'chat.modelControls.hideThinkingModes': '隱藏思考模式',
|
||
'chat.modelControls.moreThinkingModes': '更多思考模式',
|
||
'chat.modelControls.noProvidersOrModelsFound': '沒有供應商或模型符合你的搜尋。',
|
||
'chat.modelControls.reorderFavoriteAria': '重新排序最愛',
|
||
'chat.modelControls.reorderFavoriteTitle': '拖曳以重新排序最愛',
|
||
'chat.modelControls.reorderProviderTitle': '拖曳以重新排序供應商',
|
||
'chat.modelControls.permissionLabel.custom': '自訂',
|
||
'chat.modelControls.permissionLabel.allow': '允許',
|
||
'chat.modelControls.permissionLabel.deny': '拒絕',
|
||
'chat.modelControls.permissionLabel.ask': '詢問',
|
||
'chat.modelControls.modeValue.primary': '主 Agent',
|
||
'chat.modelControls.modeValue.subagent': '子 Agent',
|
||
'chat.modelControls.modeValue.all': '全部',
|
||
'chat.modelControls.modeValue.none': '—',
|
||
'chat.reasoningTrace.thinking': '思考',
|
||
'chat.reasoningTrace.justification': '理由',
|
||
'chat.reasoningTrace.expandAria': '展開推理軌跡',
|
||
'chat.reasoningTrace.collapseAria': '摺疊推理軌跡',
|
||
'chat.reasoningTrace.thought': '已思考',
|
||
'chat.messageBody.subtask.title': '委派任務',
|
||
'chat.messageBody.subtask.hidePrompt': '隱藏提示',
|
||
'chat.messageBody.subtask.showPrompt': '顯示提示',
|
||
'chat.messageBody.subtask.openSession': '開啟子任務會話',
|
||
'chat.messageBody.shellCommand.title': 'Shell 命令',
|
||
'chat.messageBody.shellCommand.hideOutput': '隱藏輸出',
|
||
'chat.messageBody.shellCommand.showOutput': '顯示輸出',
|
||
'chat.messageBody.shellCommand.copied': '已複製',
|
||
'chat.messageBody.shellCommand.copyOutput': '複製輸出',
|
||
'commandPalette.title': '命令面板',
|
||
'commandPalette.description': '搜尋檔案、會話和命令。',
|
||
'commandPalette.input.placeholder': '搜尋檔案、會話、命令...',
|
||
'commandPalette.empty.noResults': '找不到結果。',
|
||
'commandPalette.empty.searchingFiles': '正在搜尋檔案...',
|
||
'commandPalette.item.newSession': '新增會話',
|
||
'commandPalette.item.newMiniChat': '新增 Mini Chat 視窗',
|
||
'commandPalette.item.newWorktreeDraft': '新增 worktree 草稿',
|
||
'commandPalette.item.addProject': '新增專案',
|
||
'commandPalette.item.showSessionSwitcher': '顯示會話切換器',
|
||
'commandPalette.item.toggleSidebar': '切換側邊欄',
|
||
'commandPalette.item.showContextUsage': '顯示上下文用量',
|
||
'commandPalette.item.toggleTerminal': '切換終端機',
|
||
'commandPalette.item.cycleTheme': '輪換主題',
|
||
'commandPalette.item.showOpenCodeStatus': '顯示 OpenCode 狀態',
|
||
'commandPalette.item.toggleMemoryDebug': '切換記憶體偵錯面板',
|
||
'commandPalette.item.pinSession': '釘選或取消釘選會話',
|
||
'commandPalette.item.copySessionId': '複製會話 ID',
|
||
'commandPalette.item.openMultiRun': '開啟多任務啟動器',
|
||
'commandPalette.item.openArchive': '開啟已封存會話',
|
||
'commandPalette.item.openNotes': '開啟筆記面板',
|
||
'commandPalette.item.openTodos': '開啟待辦面板',
|
||
'commandPalette.item.openSettings': '開啟設定...',
|
||
'commandPalette.session.untitled': '未命名會話',
|
||
'openCodeStatusDialog.title': 'OpenCode 狀態',
|
||
'openCodeStatusDialog.description': '查看目前 OpenCode 狀態與診斷資訊。',
|
||
'openCodeStatusDialog.actions.copy': '複製',
|
||
'openCodeStatusDialog.empty.noData': '無資料。',
|
||
'openCodeStatusDialog.toast.copiedTitle': '已複製',
|
||
'openCodeStatusDialog.toast.copiedDescription': '狀態已複製到剪貼簿',
|
||
'openCodeStatusDialog.toast.copyFailed': '複製狀態失敗',
|
||
'saveProjectPlanDialog.title': '儲存專案計畫',
|
||
'saveProjectPlanDialog.description': '將此計畫以 Markdown 檔案儲存到你的專案中。',
|
||
'saveProjectPlanDialog.field.title': '標題',
|
||
'saveProjectPlanDialog.field.titlePlaceholder': '計畫標題',
|
||
'saveProjectPlanDialog.field.contentPreview': '內容預覽',
|
||
'saveProjectPlanDialog.actions.cancel': '取消',
|
||
'saveProjectPlanDialog.actions.save': '儲存',
|
||
'saveProjectPlanDialog.actions.saving': '儲存中...',
|
||
'branchPickerDialog.title': '分支選擇器',
|
||
'branchPickerDialog.description.localBranchesForProject': '{project} 的本地分支',
|
||
'branchPickerDialog.description.selectProject': '請選擇一個專案以查看分支',
|
||
'branchPickerDialog.search.placeholder': '搜尋分支...',
|
||
'branchPickerDialog.search.renameBranchPlaceholder': '重新命名分支',
|
||
'branchPickerDialog.state.noProjectSelected': '未選擇專案',
|
||
'branchPickerDialog.state.loadingBranches': '正在載入分支...',
|
||
'branchPickerDialog.state.noMatchingBranches': '沒有符合分支',
|
||
'branchPickerDialog.state.noBranchesFound': '找不到分支',
|
||
'branchPickerDialog.badge.head': 'HEAD',
|
||
'branchPickerDialog.badge.worktree': 'worktree',
|
||
'branchPickerDialog.actions.createWorktreeAria': '從分支建立 worktree',
|
||
'branchPickerDialog.actions.renameAria': '重新命名分支',
|
||
'branchPickerDialog.actions.deleteAria': '刪除分支',
|
||
'branchPickerDialog.actions.deleteWorktreeAria': '移除 worktree',
|
||
'branchPickerDialog.actions.confirmRenameAria': '確認重新命名',
|
||
'branchPickerDialog.actions.cancelRenameAria': '取消重新命名',
|
||
'branchPickerDialog.actions.confirmDeleteAria': '確認刪除分支',
|
||
'branchPickerDialog.actions.cancelDeleteAria': '取消刪除分支',
|
||
'branchPickerDialog.actions.deletePrompt': '刪除',
|
||
'branchPickerDialog.actions.forceDeletePrompt': '強制刪除',
|
||
'branchPickerDialog.tooltip.createWorktree': '建立 worktree',
|
||
'branchPickerDialog.tooltip.worktreeAlreadyExists': 'worktree 已存在',
|
||
'branchPickerDialog.tooltip.rename': '重新命名分支',
|
||
'branchPickerDialog.tooltip.renameDisabledForRoot': '不能重新命名根分支',
|
||
'branchPickerDialog.tooltip.delete': '刪除分支',
|
||
'branchPickerDialog.tooltip.deleteCurrentBranch': '不能刪除目前分支',
|
||
'branchPickerDialog.tooltip.deleteDisabledForRoot': '不能刪除根分支',
|
||
'branchPickerDialog.tooltip.deleteWorktree': '移除 worktree',
|
||
'branchPickerDialog.tooltip.deleteWorktreeRootProtected': '不能移除根 worktree',
|
||
'branchPickerDialog.toast.branchRenamed': '分支已重新命名',
|
||
'branchPickerDialog.toast.failedToRenameBranch': '重新命名分支失敗',
|
||
'branchPickerDialog.toast.branchDeleted': '分支已刪除',
|
||
'branchPickerDialog.toast.branchNotMerged': '分支尚未完全合併',
|
||
'branchPickerDialog.toast.confirmAgainToForceDelete': '再次確認以強制刪除',
|
||
'branchPickerDialog.toast.failedToDeleteBranch': '刪除分支失敗',
|
||
'branchPickerDialog.toast.worktreeCreated': 'worktree 已建立',
|
||
'branchPickerDialog.toast.failedToCreateWorktree': '建立 worktree 失敗',
|
||
'branchPickerDialog.error.failedToLoad': '載入分支失敗',
|
||
'branchPickerDialog.error.renameRejected': '重新命名被拒絕',
|
||
'branchPickerDialog.error.renameFailed': '重新命名分支失敗',
|
||
'branchPickerDialog.error.deleteRejected': '刪除被拒絕',
|
||
'branchPickerDialog.error.deleteFailed': '刪除分支失敗',
|
||
'branchPickerDialog.error.createWorktreeFailed': '建立 worktree 失敗',
|
||
'projectEditDialog.title': '編輯專案',
|
||
'projectEditDialog.field.name': '名稱',
|
||
'projectEditDialog.field.namePlaceholder': '專案名稱',
|
||
'projectEditDialog.field.color': '顏色',
|
||
'projectEditDialog.field.icon': '圖示',
|
||
'projectEditDialog.field.preview': '預覽',
|
||
'projectEditDialog.field.iconBackground': '圖示背景',
|
||
'projectEditDialog.field.iconBackgroundAria': '專案圖示背景色',
|
||
'projectEditDialog.option.none': '無',
|
||
'projectEditDialog.actions.uploadIcon': '上傳圖示',
|
||
'projectEditDialog.actions.uploading': '上傳中...',
|
||
'projectEditDialog.actions.discoverFavicon': '發現網站圖示',
|
||
'projectEditDialog.actions.discovering': '發現中...',
|
||
'projectEditDialog.actions.removeProjectIcon': '移除專案圖示',
|
||
'projectEditDialog.actions.removing': '移除中...',
|
||
'projectEditDialog.actions.undoRemove': '復原移除',
|
||
'projectEditDialog.actions.clear': '清除',
|
||
'projectEditDialog.actions.cancel': '取消',
|
||
'projectEditDialog.actions.save': '儲存',
|
||
'projectEditDialog.toast.failedToUploadIcon': '上傳專案圖示失敗',
|
||
'projectEditDialog.toast.iconUpdated': '專案圖示已更新',
|
||
'projectEditDialog.toast.failedToRemoveIcon': '移除專案圖示失敗',
|
||
'projectEditDialog.toast.iconRemoved': '專案圖示已移除',
|
||
'projectEditDialog.toast.failedToDiscoverIcon': '發現專案圖示失敗',
|
||
'projectEditDialog.toast.customIconAlreadySet': '該專案已設定自訂圖示',
|
||
'projectEditDialog.toast.iconDiscovered': '專案圖示已發現',
|
||
'agentManager.sidebar.search.placeholder': '搜尋 Agent 群組...',
|
||
'agentManager.sidebar.actions.newAgentGroup': '新增 Agent 群組',
|
||
'agentManager.sidebar.actions.more': '... 更多({count})',
|
||
'agentManager.sidebar.actions.showLess': '收起',
|
||
'agentManager.sidebar.section.agentGroups': 'Agent 群組',
|
||
'agentManager.sidebar.state.loading': '載入中...',
|
||
'agentManager.sidebar.state.noGroupsFound': '找不到群組',
|
||
'agentManager.sidebar.state.noGroupsYet': '還沒有 Agent 群組',
|
||
'agentManager.sidebar.state.createToGetStarted': '建立一個新的 Agent 群組以開始使用',
|
||
'agentManager.sidebar.item.modelCountSingle': '{count} 個模型',
|
||
'agentManager.sidebar.item.modelCountPlural': '{count} 個模型',
|
||
'agentManager.sidebar.item.groupMenuAria': '群組選單',
|
||
'agentManager.sidebar.item.delete': '刪除',
|
||
'agentManager.sidebar.relativeTime.now': '剛剛',
|
||
'agentManager.sidebar.relativeTime.minutes': '{count} 分鐘',
|
||
'agentManager.sidebar.relativeTime.hours': '{count} 小時',
|
||
'agentManager.sidebar.relativeTime.days': '{count} 天',
|
||
'agentManager.sidebar.dialog.deleteGroupTitle': '刪除 Agent 群組',
|
||
'agentManager.sidebar.dialog.deleteGroupDescription': '刪除「{group}」?這會移除該組中的所有 worktree 和會話。',
|
||
'agentManager.sidebar.dialog.cancel': '取消',
|
||
'agentManager.sidebar.dialog.delete': '刪除',
|
||
'agentManager.sidebar.dialog.deleting': '刪除中...',
|
||
'agentManager.sidebar.toast.deletingGroup': '正在刪除「{group}」...',
|
||
'agentManager.sidebar.toast.deletedGroup': '已刪除「{group}」',
|
||
'agentManager.sidebar.toast.failedToDeleteGroup': '未能完全刪除「{group}」',
|
||
'agentManager.detail.header.modelCountSingle': '{count} 個模型',
|
||
'agentManager.detail.header.modelCountPlural': '{count} 個模型',
|
||
'agentManager.detail.header.noBranch': '無分支',
|
||
'agentManager.detail.actions.worktreeActionsAria': 'worktree 操作',
|
||
'agentManager.detail.actions.removeThisWorktree': '移除此 worktree',
|
||
'agentManager.detail.actions.keepThisRemoveOthers': '保留此項,移除其他',
|
||
'agentManager.detail.actions.copyWorktreePath': '複製 worktree 路徑',
|
||
'agentManager.detail.dialog.removeWorktreeTitle': '移除 worktree',
|
||
'agentManager.detail.dialog.removeOtherWorktreesTitle': '移除其他 worktree',
|
||
'agentManager.detail.dialog.removeWorktreeDescription': '移除「{label}」?這將刪除該 worktree 中的所有會話並移除 worktree 本身。',
|
||
'agentManager.detail.dialog.removeOtherWorktreesDescription': '保留「{label}」,並移除「{group}」中的其他 worktree。',
|
||
'agentManager.detail.dialog.cancel': '取消',
|
||
'agentManager.detail.dialog.remove': '移除',
|
||
'agentManager.detail.dialog.removeOthers': '移除其他',
|
||
'agentManager.detail.dialog.working': '處理中...',
|
||
'agentManager.detail.state.loadingSessionFor': '正在載入 {label} 的會話',
|
||
'agentManager.detail.state.sessionId': '會話 ID:{id}',
|
||
'agentManager.detail.state.noSessionsInGroup': '該群組中沒有會話',
|
||
'agentManager.detail.toast.noWorktreePath': '沒有可用的 worktree 路徑',
|
||
'agentManager.detail.toast.worktreePathCopied': 'worktree 路徑已複製',
|
||
'agentManager.detail.toast.failedToCopyPath': '複製路徑失敗',
|
||
'agentManager.detail.toast.removingWorktree': '正在移除 worktree...',
|
||
'agentManager.detail.toast.removingOtherWorktrees': '正在移除其他 worktree...',
|
||
'agentManager.detail.toast.failedToFullyRemoveWorktree': '未能完全移除 worktree',
|
||
'agentManager.detail.toast.worktreeRemoved': 'worktree 已移除',
|
||
'agentManager.detail.toast.otherWorktreesRemoved': '其他 worktree 已移除',
|
||
'agentManager.empty.groupName.label': '群組名稱',
|
||
'agentManager.empty.groupName.placeholder': '例如:feature-auth, bugfix-login',
|
||
'agentManager.empty.groupName.description': '用於 worktree 目錄和分支命名',
|
||
'agentManager.empty.baseBranch.label': '基底分支',
|
||
'agentManager.empty.baseBranch.description': '將從 {branch} 建立新分支',
|
||
'agentManager.empty.setupCommands.label': '初始化命令',
|
||
'agentManager.empty.setupCommands.configured': '已設定 {count} 條',
|
||
'agentManager.empty.setupCommands.description': '這些命令會在每個新 worktree 中執行。專案根目錄可用 $ROOT_PROJECT_PATH。',
|
||
'agentManager.empty.setupCommands.loading': '載入中...',
|
||
'agentManager.empty.setupCommands.commandPlaceholder': '例如:bun install',
|
||
'agentManager.empty.setupCommands.removeCommandAria': '移除命令',
|
||
'agentManager.empty.setupCommands.addCommand': '新增命令',
|
||
'agentManager.empty.agent.label': 'Agent',
|
||
'agentManager.empty.agent.description': '預設使用你設定的預設 Agent',
|
||
'agentManager.empty.models.label': '模型',
|
||
'agentManager.empty.models.addModel': '新增模型',
|
||
'agentManager.empty.models.selectedSingle': '已選擇 {count} 個模型',
|
||
'agentManager.empty.models.selectedPlural': '已選擇 {count} 個模型',
|
||
'agentManager.empty.prompt.label': '提示詞',
|
||
'agentManager.empty.prompt.placeholder': '問任何問題...',
|
||
'agentManager.empty.prompt.addAttachmentAria': '加入附件',
|
||
'agentManager.empty.actions.startAgentGroupAria': '啟動 Agent 群組',
|
||
'agentManager.empty.toast.fileTooLarge': '檔案「{fileName}」過大(最大 10MB)',
|
||
'agentManager.empty.toast.failedToAttach': '附加「{fileName}」失敗',
|
||
'agentManager.empty.toast.attachedSingle': '已附加 {count} 個檔案',
|
||
'agentManager.empty.toast.attachedPlural': '已附加 {count} 個檔案',
|
||
'agentManager.empty.toast.failedToCreateGroup': '建立 Agent 群組失敗',
|
||
'openInApp.actions.open': '開啟',
|
||
'openInApp.actions.openInAria': '在 {app} 中開啟',
|
||
'openInApp.actions.chooseAppAria': '選擇要開啟的應用程式',
|
||
'openInApp.actions.copyPath': '複製路徑',
|
||
'openInApp.actions.refreshApps': '重新整理應用程式',
|
||
'openInApp.toast.pathCopied': '路徑已複製到剪貼簿',
|
||
'projectActions.actions.addActionAria': '新增操作',
|
||
'projectActions.actions.addAction': '新增操作',
|
||
'projectActions.actions.addNewAction': '新增新操作',
|
||
'projectActions.actions.autoDiscover': '自動發現',
|
||
'projectActions.actions.autoDiscoverTooltip': '自動探索並執行開發伺服器',
|
||
'projectActions.actions.chooseActionAria': '選擇專案操作',
|
||
'projectActions.actions.openPreview': '開啟預覽',
|
||
'projectActions.actions.runNamedAria': '執行 {name}',
|
||
'projectActions.actions.stopNamedAria': '停止 {name}',
|
||
'projectActions.label.fallbackAction': '操作',
|
||
'projectActions.toast.openedUrlFromOutput': '已從操作輸出中開啟 URL',
|
||
'projectActions.toast.openedForwardedUrl': '已開啟轉發 URL',
|
||
'projectActions.toast.openedActionUrl': '已開啟操作 URL',
|
||
'projectActions.error.noActiveDirectory': '沒有活動目錄',
|
||
'projectActions.error.noActiveDirectoryForAction': '沒有可用於該操作的活動目錄',
|
||
'projectActions.error.failedToCreateTerminalSession': '建立終端機會話失敗',
|
||
'projectActions.error.invalidCustomUrlFormat': '自訂 URL 格式無效',
|
||
'projectActions.error.selectedDesktopSshForwardUnavailable': '所選桌面 SSH 轉發無法使用',
|
||
'projectActions.error.failedToRunAction': '執行操作失敗',
|
||
'mcpDropdown.title': 'MCP 伺服器',
|
||
'mcpDropdown.actions.refreshAria': '重新整理',
|
||
'mcpDropdown.actions.openAria': 'MCP 伺服器',
|
||
'mcpDropdown.statusAria': 'MCP 狀態',
|
||
'mcpDropdown.status.unknown': '未知',
|
||
'mcpDropdown.status.connected': '已連線',
|
||
'mcpDropdown.status.failed': '失敗:{error}',
|
||
'mcpDropdown.status.unknownError': '未知錯誤',
|
||
'mcpDropdown.status.needsAuth': '需要認證',
|
||
'mcpDropdown.status.needsRegistration': '需要註冊:{error}',
|
||
'mcpDropdown.empty.configureInConfig': '請在設定中設定 MCP 伺服器。',
|
||
'sessionAuth.error.rateLimitTitle': '嘗試次數過多',
|
||
'sessionAuth.error.networkTitle': '無法連線伺服器',
|
||
'sessionAuth.error.rateLimitDescriptionSingle': '請等待 {minutes} 分鐘後再試。',
|
||
'sessionAuth.error.rateLimitDescriptionPlural': '請等待 {minutes} 分鐘後再試。',
|
||
'sessionAuth.error.networkDescription': '無法驗證 UI 會話。如果你是從本機網路中的其他裝置開啟 OpenChamber,請在桌面應用程式中啟用 Desktop Network Access,並使用設定中顯示的 LAN 位址。',
|
||
'sessionAuth.error.retry': '重試',
|
||
'sessionAuth.error.passkeySetupFailed': 'Passkey 設定失敗。',
|
||
'sessionAuth.error.incorrectPassword': '密碼錯誤,請重試。',
|
||
'sessionAuth.error.unexpectedResponse': '伺服器傳回了意外回應。',
|
||
'sessionAuth.error.networkRetry': '網路錯誤。請檢查連線後重試。',
|
||
'sessionAuth.error.passkeySignInCanceled': 'Passkey 登入已取消。',
|
||
'sessionAuth.error.enterPasswordForPasskey': '請輸入密碼以新增 passkey。',
|
||
'sessionAuth.locked.tunnelTitle': '需要 Tunnel 存取',
|
||
'sessionAuth.expired.banner': '工作階段已過期——請登入以繼續。',
|
||
'sessionAuth.expired.loginAction': '登入',
|
||
'sessionAuth.expired.sendBlocked': '工作階段已過期——請登入後再傳送訊息。',
|
||
'sessionAuth.locked.unlockTitle': '解鎖 OpenChamber',
|
||
'sessionAuth.locked.tunnelDescription': '請使用桌面應用程式提供的一次性連結開啟該 Tunnel。',
|
||
'sessionAuth.locked.passwordDescription': '此會話受密碼保護。',
|
||
'sessionAuth.locked.hostSwitcherHint': '如果遠端無法連線,請使用 Local。',
|
||
'sessionAuth.actions.cancelPasskey': '取消 passkey',
|
||
'sessionAuth.actions.usePasskey': '使用 passkey',
|
||
'sessionAuth.actions.unlockingAria': '解鎖中',
|
||
'sessionAuth.actions.unlockAria': '解鎖',
|
||
'sessionAuth.actions.trustDevice': '信任此裝置',
|
||
'sessionAuth.actions.trustDeviceAria': '信任此裝置',
|
||
'sessionAuth.actions.cancelPasskeySetup': '取消 passkey 設定',
|
||
'sessionAuth.actions.addPasskey': '新增 passkey',
|
||
'sessionAuth.password.placeholder': '輸入密碼',
|
||
'sessionAuth.toast.passkeyAdded': 'Passkey 已新增',
|
||
'sessionAuth.toast.passkeySetupCanceled': 'Passkey 設定已取消',
|
||
'desktopHostSwitcher.title': '實例',
|
||
'desktopHostSwitcher.description': '在 Local 與遠端 OpenChamber 伺服器之間切換',
|
||
'desktopHostSwitcher.header.current': '目前',
|
||
'desktopHostSwitcher.header.default': '預設',
|
||
'desktopHostSwitcher.header.currentColon': '目前:',
|
||
'desktopHostSwitcher.header.currentDefaultColon': '目前預設:',
|
||
'desktopHostSwitcher.status.connected': '已連線',
|
||
'desktopHostSwitcher.status.authRequired': '需要認證',
|
||
'desktopHostSwitcher.status.wrongService': '服務不符',
|
||
'desktopHostSwitcher.status.unreachable': '無法連線',
|
||
'desktopHostSwitcher.status.unknown': '未知',
|
||
'desktopHostSwitcher.status.ping': ' · {ms}ms 延遲',
|
||
'desktopHostSwitcher.statusAria': '實例狀態',
|
||
'desktopHostSwitcher.sshPhase.ready': '已就緒',
|
||
'desktopHostSwitcher.sshPhase.error': '錯誤',
|
||
'desktopHostSwitcher.sshPhase.reconnecting': '重連中',
|
||
'desktopHostSwitcher.sshPhase.resolvingConfig': '解析設定中',
|
||
'desktopHostSwitcher.sshPhase.checkingAuth': '檢查認證中',
|
||
'desktopHostSwitcher.sshPhase.connectingSsh': '連線 SSH 中',
|
||
'desktopHostSwitcher.sshPhase.probingRemote': '探測遠端中',
|
||
'desktopHostSwitcher.sshPhase.installing': '安裝中',
|
||
'desktopHostSwitcher.sshPhase.updating': '更新中',
|
||
'desktopHostSwitcher.sshPhase.detectingServer': '檢測服務中',
|
||
'desktopHostSwitcher.sshPhase.startingServer': '啟動服務中',
|
||
'desktopHostSwitcher.sshPhase.forwardingPorts': '通訊埠轉發中',
|
||
'desktopHostSwitcher.sshPhase.idle': '閒置',
|
||
'desktopHostSwitcher.ssh.needInstancesHint': '需要 SSH 實例?請在設定中管理。',
|
||
'desktopHostSwitcher.ssh.instanceFallback': 'SSH 實例',
|
||
'desktopHostSwitcher.ssh.connectingTo': '正在連線到 {host}',
|
||
'desktopHostSwitcher.actions.refresh': '重新整理',
|
||
'desktopHostSwitcher.actions.refreshInstancesAria': '重新整理實例',
|
||
'desktopHostSwitcher.actions.remoteSsh': '遠端 SSH',
|
||
'desktopHostSwitcher.actions.instanceActionsAria': '實例操作',
|
||
'desktopHostSwitcher.actions.edit': '編輯',
|
||
'desktopHostSwitcher.actions.delete': '刪除',
|
||
'desktopHostSwitcher.actions.connect': '連線',
|
||
'desktopHostSwitcher.actions.defaultInstanceAria': '預設實例',
|
||
'desktopHostSwitcher.actions.setAsDefaultAria': '設為預設',
|
||
'desktopHostSwitcher.actions.setAsDefault': '設為預設',
|
||
'desktopHostSwitcher.actions.openInNewWindowAria': '在新視窗開啟',
|
||
'desktopHostSwitcher.actions.openInNewWindow': '在新視窗開啟',
|
||
'desktopHostSwitcher.actions.addInstance': '新增實例',
|
||
'desktopHostSwitcher.actions.cancel': '取消',
|
||
'desktopHostSwitcher.actions.save': '儲存',
|
||
'desktopHostSwitcher.actions.add': '新增',
|
||
'desktopHostSwitcher.actions.switchToLocal': '切換到 Local',
|
||
'desktopHostSwitcher.actions.retry': '重試',
|
||
'desktopHostSwitcher.actions.switchInstanceAria': '切換實例',
|
||
'desktopHostSwitcher.actions.switchInstance': '切換實例',
|
||
'desktopHostSwitcher.actions.switchToAria': '切換到 {instance}',
|
||
'desktopHostSwitcher.field.labelPlaceholder': '標籤',
|
||
'desktopHostSwitcher.field.labelOptionalPlaceholder': '標籤(可選)',
|
||
'desktopHostSwitcher.field.urlPlaceholder': 'https://host:port',
|
||
'desktopHostSwitcher.state.limitedOnPage': '此頁面上的實例切換器功能受限。可使用 Local 恢復。',
|
||
'desktopHostSwitcher.state.loading': '載入中...',
|
||
'desktopHostSwitcher.state.instanceUnreachable': '實例無法連線',
|
||
'desktopHostSwitcher.edit.title': '編輯實例',
|
||
'desktopHostSwitcher.add.title': '新增實例',
|
||
'desktopHostSwitcher.error.failedToSave': '儲存失敗',
|
||
'desktopHostSwitcher.error.failedToLoad': '載入失敗',
|
||
'desktopHostSwitcher.error.invalidUrl': '無效 URL(必須是 http/https)',
|
||
'desktopHostSwitcher.error.failedToOpenNewWindow': '在新視窗開啟失敗',
|
||
'desktopHostSwitcher.instance.local': 'Local',
|
||
'desktopHostSwitcher.instance.fallback': '實例',
|
||
'desktopHostSwitcher.startup.title': '預設 SSH 實例無法使用',
|
||
'desktopHostSwitcher.startup.connectingTo': '正在連線到 {host}...',
|
||
'desktopHostSwitcher.startup.failed': '連線預設 SSH 實例失敗。',
|
||
'desktopHostSwitcher.toast.sshConnected': 'SSH 實例「{host}」已連線',
|
||
'desktopHostSwitcher.toast.sshFailedToConnect': 'SSH 實例「{host}」連線失敗',
|
||
'desktopHostSwitcher.toast.instanceUnreachable': '實例「{host}」無法連線',
|
||
'miniChat.header.newSession': '新會話',
|
||
'miniChat.header.session': '會話',
|
||
'miniChat.header.defaultAgent': '預設 Agent',
|
||
'miniChat.header.noModel': '未選擇模型',
|
||
'miniChat.status.busy': '執行中',
|
||
'miniChat.status.retry': '重試中',
|
||
'miniChat.status.idle': '閒置',
|
||
'miniChat.actions.pin': '釘選在其他視窗上方',
|
||
'miniChat.actions.unpin': '取消釘選視窗',
|
||
'miniChat.actions.pinAria': '釘選 Mini Chat 視窗',
|
||
'miniChat.actions.unpinAria': '取消釘選 Mini Chat 視窗',
|
||
'miniChat.actions.openMain': '在主視窗中開啟',
|
||
'miniChat.actions.openMainAria': '在主視窗中開啟會話',
|
||
'miniChat.unavailable.title': '會話無法使用',
|
||
'miniChat.unavailable.description': '無法載入此會話。它可能已被刪除、封存,或從其他專案上下文開啟。',
|
||
'sessions.sidebar.session.menu.openMiniChatWindow': '在 Mini Chat 視窗中開啟',
|
||
'header.actions.newMiniChat': '新增 Mini Chat 視窗',
|
||
'header.actions.newMiniChatAria': '開啟新的 Mini Chat 視窗',
|
||
'header.actions.openSessionMiniChat': '在 Mini Chat 中開啟會話',
|
||
'header.actions.openSessionMiniChatAria': '在 Mini Chat 中開啟目前會話',
|
||
'header.windowControls.groupAria': '視窗控制項',
|
||
'header.windowControls.minimize': '最小化視窗',
|
||
'header.windowControls.maximize': '最大化視窗',
|
||
'header.windowControls.restore': '還原視窗',
|
||
'header.windowControls.close': '關閉視窗',
|
||
'errorBoundary.title': '發生錯誤',
|
||
'errorBoundary.description': '應用程式遇到意外錯誤,已記錄用於偵錯。',
|
||
'errorBoundary.state.unknownError': '未知錯誤',
|
||
'errorBoundary.state.componentStackLabel': '元件堆疊:',
|
||
'errorBoundary.actions.errorDetails': '錯誤詳情',
|
||
'errorBoundary.actions.tryAgain': '重試',
|
||
'errorBoundary.actions.copy': '複製',
|
||
'errorBoundary.actions.copied': '已複製',
|
||
'jsonTreeView.error.emptyJson': 'JSON 內容為空',
|
||
'jsonTreeView.error.invalidJson': '無效 JSON',
|
||
'jsonTreeView.error.invalidJsonTitle': '無效 JSON',
|
||
'jsonTreeView.actions.expandAll': '全部展開',
|
||
'jsonTreeView.actions.collapseAll': '全部摺疊',
|
||
'numberInput.actions.decreaseAria': '減少數值',
|
||
'numberInput.actions.increaseAria': '增加數值',
|
||
'goToLineDialog.field.linePlaceholderShort': '行',
|
||
'goToLineDialog.field.linePlaceholder': '行號',
|
||
'goToLineDialog.actions.go': '前往',
|
||
'goToLineDialog.helper.editorUnavailable': '編輯器無法使用。',
|
||
'goToLineDialog.helper.currentLineRange': '目前行:{current}。輸入 1 到 {max} 之間的行號進行跳轉。',
|
||
'goToLineDialog.helper.goToLine': '跳轉到第 {line} 行',
|
||
'dialog.common.actions.close': '關閉',
|
||
'filesView.toast.relativePathCopied': '相對路徑已複製',
|
||
'filesView.tree.menu.copyRelativePath': '複製相對路徑',
|
||
'multiRun.branchSelector.placeholder.selectSourceBranch': '選擇來源分支...',
|
||
'multiRun.branchSelector.status.loadingBranches': '正在載入分支...',
|
||
'multiRun.branchSelector.status.noBranchesFound': '找不到分支',
|
||
'multiRun.branchSelector.status.notInGitRepository': '目前目錄不是 Git 儲存庫。',
|
||
'multiRun.branchSelector.groups.localBranches': '本地分支',
|
||
'multiRun.branchSelector.groups.remoteBranches': '遠端分支',
|
||
'multiRun.window.actions.closeAria': '關閉多執行視窗',
|
||
'multiRun.window.description': 'OpenChamber 多執行視窗。',
|
||
'voice.status.idle': '語音就緒',
|
||
'voice.status.listening': '監聽中...',
|
||
'voice.status.processing': '處理中...',
|
||
'voice.status.speaking': '播放中...',
|
||
'voice.status.error': '語音錯誤',
|
||
'voice.status.conversationModeActiveAria': '對話模式已啟用',
|
||
'voice.action.finishAndTranscribe': '結束並轉錄語音輸入',
|
||
'onboarding.common.actions.back': '返回',
|
||
'onboarding.common.copyToClipboard': '複製到剪貼簿',
|
||
'onboarding.common.status.copiedToClipboard': '已複製到剪貼簿',
|
||
'onboarding.chooser.title': '歡迎使用 OpenChamber',
|
||
'onboarding.chooser.description': '選擇你的連線方式以開始使用。',
|
||
'onboarding.chooser.tabs.localInstall': '本地安裝',
|
||
'onboarding.chooser.tabs.connectRemote': '連接遠端',
|
||
'onboarding.localSetup.title': '設定 OpenCode',
|
||
'onboarding.localSetup.description': '安裝 OpenCode CLI 以繼續。',
|
||
'onboarding.localSetup.dialog.selectOpencodeBinary': '選擇 OpenCode 執行檔',
|
||
'onboarding.localSetup.errors.cliNotReady': 'OpenCode CLI 尚未就緒。請確認安裝完成後重試。',
|
||
'onboarding.localSetup.errors.detectionFailed': '偵測失敗',
|
||
'onboarding.localSetup.windows.title': 'Windows 設定',
|
||
'onboarding.localSetup.windows.stepInstallWsl': '使用下方命令安裝 OpenCode。',
|
||
'onboarding.localSetup.windows.stepInstallWslSuffix': '',
|
||
'onboarding.localSetup.windows.stepRunInstallInWsl': '在 Windows 終端機中執行下方安裝命令。',
|
||
'onboarding.localSetup.windows.stepSetBinaryPath': '如果 OpenChamber 未自動偵測到 OpenCode,請在下方設定執行檔路徑。',
|
||
'onboarding.localSetup.intro': 'OpenCode 是 OpenChamber 的核心,先安裝它即可開始。',
|
||
'onboarding.localSetup.docs.windows': 'OpenCode 文件',
|
||
'onboarding.localSetup.docs.default': 'OpenCode 文件',
|
||
'onboarding.localSetup.actions.checking': '偵測中...',
|
||
'onboarding.localSetup.actions.checkAndContinue': '我已完成安裝,偵測並繼續',
|
||
'onboarding.localSetup.actions.checkNow': '立即偵測',
|
||
'onboarding.localSetup.helper.checkAndContinue': '點擊偵測 OpenCode CLI 是否可用。成功後將自動進入主介面。',
|
||
'onboarding.localSetup.status.watching': '正在等待 OpenCode',
|
||
'onboarding.localSetup.status.autoContinue': '偵測到後將自動繼續。',
|
||
'onboarding.localSetup.field.alreadyInstalled': '已安裝?設定 OpenCode CLI 路徑:',
|
||
'onboarding.localSetup.advanced.title': '設定自訂執行檔路徑',
|
||
'onboarding.localSetup.troubleshoot.title': '遇到問題?',
|
||
'onboarding.localSetup.actions.browse': '瀏覽',
|
||
'onboarding.localSetup.actions.apply': '套用',
|
||
'onboarding.localSetup.helper.saveAndReload': '將儲存到 OpenChamber 設定並重新載入 OpenCode 設定。',
|
||
'onboarding.localSetup.remotePreference': '更希望使用遠端伺服器?',
|
||
'onboarding.localSetup.actions.connectRemoteServer': '連接遠端伺服器 →',
|
||
'onboarding.localSetup.windows.hintInstallInWsl': '在 Windows 上,請原生安裝並執行 OpenCode。',
|
||
'onboarding.localSetup.windows.hintDetectionFailed': '若偵測失敗,請設定原生路徑,例如 opencode.cmd 或 opencode.exe。',
|
||
'onboarding.localSetup.hint.ensurePath': '已安裝?請確認 opencode 在你的 PATH 中。',
|
||
'onboarding.localSetup.hint.setEnv': '或設定 OPENCODE_BINARY 環境變數。',
|
||
'onboarding.localSetup.hint.missingRuntime': '如果看到「env: node: No such file or directory」或「env: bun: No such file or directory」,請安裝對應執行環境或確保其在 PATH 中。',
|
||
'onboarding.remoteConnection.title': '連接遠端伺服器',
|
||
'onboarding.remoteConnection.titleRecovery': '連接到其他伺服器',
|
||
'onboarding.remoteConnection.description': '輸入要連接的 OpenChamber 伺服器位址。',
|
||
'onboarding.remoteConnection.field.serverAddress': '伺服器位址',
|
||
'onboarding.remoteConnection.field.serverAddressPlaceholder': 'https://your-server.example.com:4096',
|
||
'onboarding.remoteConnection.field.nameOptional': '名稱(可選)',
|
||
'onboarding.remoteConnection.field.namePlaceholder': '我的遠端伺服器',
|
||
'onboarding.remoteConnection.errors.connectionTestFailed': '連線測試失敗',
|
||
'onboarding.remoteConnection.errors.failedToSaveConnection': '儲存連線失敗',
|
||
'onboarding.remoteConnection.status.connectedSuccessfully': '連線成功({latencyMs}ms)',
|
||
'onboarding.remoteConnection.status.authWarning': '伺服器需要身分驗證。你仍可繼續連線。',
|
||
'onboarding.remoteConnection.status.connectionFailed': '連線失敗',
|
||
'onboarding.remoteConnection.status.suggestionsUnreachable': '建議:檢查伺服器位址、確認服務已啟動,或檢查網路連線。',
|
||
'onboarding.remoteConnection.status.suggestionsWrongService': '建議:確認 URL 指向 OpenChamber 伺服器,或聯絡伺服器管理員。',
|
||
'onboarding.remoteConnection.actions.testing': '測試中…',
|
||
'onboarding.remoteConnection.actions.testConnection': '測試連線',
|
||
'onboarding.remoteConnection.actions.connectAndRestart': '連線並重新啟動',
|
||
'onboarding.remoteConnection.actions.whatToDo': '你希望如何處理?',
|
||
'onboarding.remoteConnection.actions.chooseDifferentServer': '選擇其他伺服器',
|
||
'onboarding.remoteConnection.actions.useLocalInstead': '改用本地',
|
||
'onboarding.remoteConnection.probe.authMessage': '伺服器需要身分驗證。你仍可連線,但可能需要提供憑證。',
|
||
'onboarding.remoteConnection.probe.wrongServiceMessage': '伺服器有回應,但未執行 OpenChamber。請確認位址是否指向 OpenChamber 伺服器。',
|
||
'onboarding.remoteConnection.probe.unreachableMessage': '伺服器無法連線。請檢查網路連線並確認伺服器位址。',
|
||
'onboarding.desktopRecovery.localUnavailable.title': '本地 OpenCode 無法使用',
|
||
'onboarding.desktopRecovery.localUnavailable.description': 'OpenCode CLI 無法啟動或未安裝。請安裝 OpenCode,或改為連接遠端伺服器。',
|
||
'onboarding.desktopRecovery.localUnavailable.retry': '重試本地',
|
||
'onboarding.desktopRecovery.localUnavailable.useLocal': '設定本地',
|
||
'onboarding.desktopRecovery.noDefaultConnection.title': '無預設連線',
|
||
'onboarding.desktopRecovery.noDefaultConnection.description': '找不到已儲存的預設連線。請選擇你的連線方式。',
|
||
'onboarding.desktopRecovery.remoteUnreachable.title': '遠端伺服器無法連線',
|
||
'onboarding.desktopRecovery.remoteUnreachable.description': '無法連線到「{host}」。請檢查網路連線並確認伺服器位址。',
|
||
'onboarding.desktopRecovery.remoteUnreachable.retry': '重試連線',
|
||
'onboarding.desktopRecovery.incompatibleServer.title': '伺服器不相容',
|
||
'onboarding.desktopRecovery.incompatibleServer.description': '「{host}」上的伺服器未執行 OpenChamber。請確認位址是否指向 OpenChamber 伺服器。',
|
||
'onboarding.desktopRecovery.common.useLocal': '使用本地',
|
||
'onboarding.desktopRecovery.common.useRemote': '使用遠端',
|
||
'onboarding.desktopRecovery.actions.retrying': '重試中…',
|
||
'onboarding.desktopRecovery.actions.retryConnection': '重試連線',
|
||
'startup.initRecovery.title': '啟動失敗',
|
||
'startup.initRecovery.description': 'OpenChamber 未能完成初始化。請檢查伺服器是否正在執行,然後重試。',
|
||
'startup.initRecovery.retry': '重試',
|
||
'startup.initRecovery.retrying': '重試中…',
|
||
'onboarding.desktopRecovery.placeholders.remoteServer': '遠端伺服器',
|
||
'onboarding.desktopRecovery.placeholders.unknownServer': '未知伺服器',
|
||
'vscodeLayout.title.chat': '聊天',
|
||
'vscodeLayout.title.newSession': '新會話',
|
||
'vscodeLayout.title.sessions': '會話',
|
||
'vscodeLayout.title.sessionFallback': '會話',
|
||
'vscodeLayout.actions.backToSessionsAria': '返回會話清單',
|
||
'vscodeLayout.actions.archiveAllAria': '封存所有會話',
|
||
'vscodeLayout.actions.archiveAllConfirm': '全部封存',
|
||
'vscodeLayout.actions.archiveAllSuccess': '已封存 {count} 個會話',
|
||
'vscodeLayout.actions.archiveAllError': '封存 {count} 個會話失敗',
|
||
'vscodeLayout.actions.cancel': '取消',
|
||
'vscodeLayout.actions.newSessionAria': '新增會話',
|
||
'vscodeLayout.actions.openAgentManagerAria': '開啟 Agent 管理器',
|
||
'vscodeLayout.actions.resizeSessionsSidebarAria': '調整會話側邊欄大小',
|
||
'vscodeLayout.actions.settingsAria': '設定',
|
||
'vscodeLayout.quota.title': '速率限制',
|
||
'vscodeLayout.quota.mode.used': '已用',
|
||
'vscodeLayout.quota.mode.remaining': '剩餘',
|
||
'vscodeLayout.quota.lastUpdated': '上次更新 {time}',
|
||
'vscodeLayout.quota.noRateLimitsAvailable': '沒有可用的速率限制資料。',
|
||
'vscodeLayout.quota.noRateLimitsReported': '未報告速率限制。',
|
||
'vscodeLayout.quota.actions.rateLimitsAria': '速率限制',
|
||
'vscodeLayout.quota.actions.showUsedAria': '顯示已用配額',
|
||
'vscodeLayout.quota.actions.showRemainingAria': '顯示剩餘配額',
|
||
'vscodeLayout.quota.actions.refreshAria': '重新整理速率限制',
|
||
'updateDialog.header.updateAvailable': '有可用更新',
|
||
'updateDialog.header.updating': '正在更新 OpenChamber...',
|
||
'updateDialog.changelog.title': '更新內容',
|
||
'updateDialog.status.installingUpdate': '正在安裝更新...',
|
||
'updateDialog.status.serverRestarting': '伺服器正在重新啟動...',
|
||
'updateDialog.status.waitingForServer': '正在等待伺服器...',
|
||
'updateDialog.status.autoReloadHint': '更新完成後頁面將自動重新載入。',
|
||
'updateDialog.fallback.updateViaTerminal': '或透過終端機更新:',
|
||
'updateDialog.actions.copyCommand': '複製命令',
|
||
'updateDialog.actions.copied': '已複製!',
|
||
'updateDialog.status.downloadingPayload': '正在下載更新包...',
|
||
'updateDialog.actions.downloadUpdate': '下載更新',
|
||
'updateDialog.status.downloading': '下載中...',
|
||
'updateDialog.actions.restartToUpdate': '重新啟動以更新',
|
||
'updateDialog.actions.updateNow': '立即更新',
|
||
'updateDialog.actions.openMobileUpdate': '開啟更新',
|
||
'updateDialog.status.updating': '更新中...',
|
||
'updateDialog.error.updateFailed': '更新失敗',
|
||
'updateDialog.error.takingLonger': '更新耗時超出預期。請稍等後重新整理,或執行:openchamber update',
|
||
'updateDialog.error.signatureRejected': '下載的更新遭到拒絕:其程式碼簽章與目前的安裝不符。這通常表示執行中的副本不是從官方簽章版本安裝的。請從官方版本安裝 OpenChamber,再重新更新。',
|
||
'updateDialog.error.updaterDisabled': '一次安裝失敗後,更新程式已停止。請結束 OpenChamber,重新開啟後再試一次更新。',
|
||
'updateDialog.error.restartFailed': '無法重新啟動以安裝更新。',
|
||
'updateDialog.error.restartUnavailable': '安裝更新需要 OpenChamber 桌面應用程式。',
|
||
'mobileUpdate.toast.available.title': 'OpenChamber 更新可用',
|
||
'mobileUpdate.toast.available.description': '版本 {version} 已可用於 Android。',
|
||
'mobileUpdate.toast.actions.download': '下載',
|
||
'mobileUpdate.toast.actions.dismiss': '忽略',
|
||
'opencodeUpdate.toast.available.title': 'OpenCode 更新',
|
||
'opencodeUpdate.toast.available.description': '版本 {version} 可安裝。',
|
||
'opencodeUpdate.toast.actions.update': '更新',
|
||
'opencodeUpdate.toast.actions.dismiss': '忽略',
|
||
'opencodeUpdate.toast.actions.reload': '重新載入 OpenCode',
|
||
'opencodeUpdate.toast.upgrading.title': '正在更新 OpenCode...',
|
||
'opencodeUpdate.toast.upgrading.description': '請保持 OpenChamber 開啟。',
|
||
'opencodeUpdate.toast.updated.title': 'OpenCode 已更新',
|
||
'opencodeUpdate.toast.updated.description': '更新已安裝。',
|
||
'opencodeUpdate.toast.updated.descriptionWithVersion': '版本 {version} 已安裝。',
|
||
'opencodeUpdate.toast.failed.title': '無法更新 OpenCode',
|
||
'opencodeUpdate.toast.failed.description': 'OpenCode 升級失敗。',
|
||
'opencodeUpdate.toast.reload.message': '正在重新啟動 OpenCode...',
|
||
'memoryDebugPanel.title': '偵錯面板',
|
||
'memoryDebugPanel.tabs.memory': '記憶體',
|
||
'memoryDebugPanel.tabs.streaming': '串流',
|
||
'memoryDebugPanel.tabs.requests': '請求',
|
||
'memoryDebugPanel.section.sessionsInMemory': '記憶體中的會話',
|
||
'memoryDebugPanel.section.uiStreamingMetrics': 'UI 串流指標',
|
||
'memoryDebugPanel.section.vscodeBridgeMetrics': 'VS Code 橋接指標',
|
||
'memoryDebugPanel.section.noUiSamples': '暫無 UI 串流取樣。請開始一次串流輸出並保持該面板開啟。',
|
||
'memoryDebugPanel.section.noVscodeSamples': '暫無 VS Code 橋接取樣。',
|
||
'memoryDebugPanel.metric.totalMessages': '訊息總數',
|
||
'memoryDebugPanel.metric.cachedSessions': '快取會話',
|
||
'memoryDebugPanel.metric.userMessages': '使用者訊息',
|
||
'memoryDebugPanel.metric.assistantMessages': '助理訊息',
|
||
'memoryDebugPanel.metric.viewportWindow': '視口視窗',
|
||
'memoryDebugPanel.metric.zombieTimeout': '殭屍逾時',
|
||
'memoryDebugPanel.metric.githubTotalRequests': 'GitHub 請求總數',
|
||
'memoryDebugPanel.metric.metrics': '指標',
|
||
'memoryDebugPanel.metric.samples': '取樣',
|
||
'memoryDebugPanel.metric.lastUpdate': '最近更新',
|
||
'memoryDebugPanel.metric.uiMetrics': 'UI 指標',
|
||
'memoryDebugPanel.metric.vscodeMetrics': 'VS Code 指標',
|
||
'memoryDebugPanel.metric.messageListRenders': '訊息清單渲染',
|
||
'memoryDebugPanel.metric.messageListStreamRenders': '訊息清單串流渲染',
|
||
'memoryDebugPanel.metric.chatMessageRenders': 'ChatMessage 渲染',
|
||
'memoryDebugPanel.metric.chatMessageStreamRenders': 'ChatMessage 串流渲染',
|
||
'memoryDebugPanel.metric.chatMessageStaticDuringStream': '串流期間 ChatMessage 靜態渲染',
|
||
'memoryDebugPanel.metric.chatMessageStaticOutsideActiveTurn': '活躍輪次外 ChatMessage 靜態渲染',
|
||
'memoryDebugPanel.metric.messagesValue': '{count} 條訊息',
|
||
'memoryDebugPanel.metric.minutesValue': '{count} 分鐘',
|
||
'memoryDebugPanel.metric.msgsValue': '{count} 條',
|
||
'memoryDebugPanel.metric.roleMsgsValue': '使用者 {user} / 助理 {assistant}',
|
||
'memoryDebugPanel.metric.countValue': '次數 {value}',
|
||
'memoryDebugPanel.metric.avgValue': '平均 {value}',
|
||
'memoryDebugPanel.metric.maxValue': '最大 {value}',
|
||
'memoryDebugPanel.metric.totalValue': '總計 {value}',
|
||
'memoryDebugPanel.actions.logState': '輸出狀態',
|
||
'memoryDebugPanel.actions.copyJson': '複製 JSON',
|
||
'memoryDebugPanel.tooltip.logCurrentState': '將目前記憶體狀態輸出到瀏覽器主控台',
|
||
'memoryDebugPanel.streaming.copy.copied': '串流偵錯 JSON 已複製',
|
||
'memoryDebugPanel.streaming.copy.failed': '複製 JSON 失敗',
|
||
'memoryDebugPanel.streaming.copy.hint': '複製會匯出 UI 與 VS Code 的串流指標 JSON',
|
||
'memoryDebugPanel.requests.inFlight': '進行中',
|
||
'memoryDebugPanel.requests.peak': '峰值',
|
||
'memoryDebugPanel.requests.duration': '時長',
|
||
'memoryDebugPanel.requests.totalRequests': '請求總數',
|
||
'memoryDebugPanel.requests.tracking': '追蹤',
|
||
'memoryDebugPanel.requests.now': '目前',
|
||
'memoryDebugPanel.requests.noSamples': '尚未記錄請求。保持此面板開啟以記錄 fetch 活動。',
|
||
'memoryDebugPanel.requests.chartLabel': '隨時間變化的進行中 fetch 請求,峰值 {peak}',
|
||
'memoryDebugPanel.requests.windowHint': '最近 {seconds}秒',
|
||
'memoryDebugPanel.requests.percentileChartLabel': '進行中請求年齡百分位(p50、p90、p99、最大值)隨時間的變化',
|
||
'memoryDebugPanel.common.idle': '閒置',
|
||
'memoryDebugPanel.common.live': '即時',
|
||
'memoryDebugPanel.common.notAvailable': '無',
|
||
'memoryDebugPanel.common.untitled': '未命名',
|
||
'directoryTree.field.newDirectoryPlaceholder': 'new_directory',
|
||
'textarea.resizeHandleAria': '調整文字區域大小',
|
||
'sidebar.resize.leftPanelAria': '調整左側面板大小',
|
||
'sidebar.resize.rightPanelAria': '調整右側面板大小',
|
||
'mainLayout.mobile.closeDrawerAria': '關閉抽屜',
|
||
'sortableTabsStrip.aria.tabs': '分頁',
|
||
'openChamberLogo.aria.logo': 'OpenChamber 標誌',
|
||
'markdownRenderer.code.actions.copyTitle': '複製程式碼',
|
||
'markdownRenderer.code.actions.copiedTitle': '已複製',
|
||
'markdownRenderer.table.actions.copyTitle': '複製表格',
|
||
'markdownRenderer.code.actions.enableWrapTitle': '啟用自動換行',
|
||
'markdownRenderer.code.actions.disableWrapTitle': '停用自動換行',
|
||
'markdownRenderer.table.actions.downloadTitle': '下載表格',
|
||
'markdownRenderer.table.toast.downloadedAsFormat': '表格已下載為 {format}',
|
||
'markdownRenderer.mermaid.actions.copyTitle': '複製',
|
||
'markdownRenderer.mermaid.actions.copySourceTitle': '複製原始碼',
|
||
'markdownRenderer.mermaid.actions.downloadSvgTitle': '下載 SVG',
|
||
'markdownRenderer.mermaid.actions.zoomInTitle': '放大',
|
||
'markdownRenderer.mermaid.actions.zoomOutTitle': '縮小',
|
||
'markdownRenderer.mermaid.actions.resetViewTitle': '重置檢視',
|
||
'markdownRenderer.mermaid.toast.downloadFailed': '下載圖表失敗',
|
||
'contextPanel.preview.title': '預覽',
|
||
'contextPanel.preview.description': '使用專案操作或終端機 Preview 按鈕開啟預覽。',
|
||
'contextPanel.preview.startPreview': '啟動預覽',
|
||
'contextPanel.preview.starting': '正在啟動...',
|
||
'contextPanel.preview.noDevServer': '找不到開發伺服器命令。請設定專案操作或新增 "dev" 腳本到 package.json。',
|
||
'contextPanel.preview.startFailed': '啟動預覽伺服器失敗。',
|
||
'contextPanel.preview.serverExited': '開發伺服器意外退出。',
|
||
'contextPanel.preview.noUrlDetected': '開發伺服器已啟動,但未在輸出中偵測到 URL。請開啟預覽終端機分頁查看日誌。',
|
||
'contextPanel.preview.serverExitedWithLog': '開發伺服器意外退出。最後輸出:\n\n{log}',
|
||
'contextPanel.preview.noUrlDetectedWithLog': '開發伺服器未能回應。最後輸出:\n\n{log}',
|
||
'contextPanel.preview.startingServer': '正在啟動開發伺服器...',
|
||
'contextPanel.preview.startingServerHint': '正在等待伺服器開始接受連線。',
|
||
'contextPanel.preview.console.open': '開啟預覽主控台',
|
||
'contextPanel.preview.console.waiting': '正在等待預覽主控台',
|
||
'contextPanel.preview.console.title': '預覽主控台',
|
||
'contextPanel.preview.console.attach': '附加',
|
||
'contextPanel.preview.console.copy': '複製',
|
||
'contextPanel.preview.console.clear': '清除',
|
||
'contextPanel.preview.console.empty': '還沒有預覽主控台事件。',
|
||
'contextPanel.preview.console.noFilteredEvents': '沒有符合此篩選器的事件。',
|
||
'contextPanel.preview.console.runtimeError': '執行時錯誤',
|
||
'contextPanel.preview.console.copied': '預覽主控台已複製',
|
||
'contextPanel.preview.console.copyFailed': '無法複製預覽主控台',
|
||
'contextPanel.preview.console.attached': '預覽主控台已附加到聊天',
|
||
'contextPanel.preview.console.attachNoSession': '請先開啟聊天會話,再附加預覽日誌',
|
||
'contextPanel.preview.console.attachAnnotation': '這些是此專案開發伺服器的瀏覽器主控台日誌。',
|
||
'contextPanel.preview.inspect.toggle': '檢查預覽元素',
|
||
'contextPanel.preview.inspect.attached': '預覽註釋已附加到聊天',
|
||
'contextPanel.preview.inspect.attachNoSession': '請先開啟聊天會話,再附加預覽註釋',
|
||
'contextPanel.preview.inspect.attachAnnotation': '這是內建預覽中選取的 DOM 元素。',
|
||
'contextPanel.preview.inspect.attachAnnotationWithScreenshot': '這是內建預覽中選取的 DOM 元素。已附加帶有標明選取元素的可見預覽區域截圖。',
|
||
'contextPanel.preview.console.filter.all': '全部',
|
||
'contextPanel.preview.console.filter.errors': '錯誤',
|
||
'contextPanel.preview.console.filter.warnings': '警告',
|
||
'contextPanel.preview.console.filter.logs': '日誌',
|
||
'filesView.tree.actions.refreshTitle': '重新整理',
|
||
'sidebarFilesTree.actions.fileMenuTitle': '檔案選單',
|
||
'common.date.today': 'Today',
|
||
'common.date.yesterday': 'Yesterday',
|
||
'common.date.yesterdayWithTime': 'Yesterday {time}',
|
||
'common.relative.justNow': 'Just now',
|
||
'common.relative.minutesAgoShort': '{count}min ago',
|
||
'common.relative.hoursAgoShort': '{count}h ago',
|
||
'common.relative.daysAgoShort': '{count}d ago',
|
||
'common.relative.weeksAgoShort': '{count}w ago',
|
||
'common.relative.yearsAgoShort': '{count}y ago',
|
||
'common.relative.daysAgoCompact': '{count}d ago',
|
||
'common.relative.weeksAgoCompact': '{count}w ago',
|
||
'common.relative.yearsAgoCompact': '{count}y ago',
|
||
'common.duration.secondsCompact': '{seconds}秒',
|
||
'common.duration.minutesSecondsCompact': '{minutes}分{seconds}秒',
|
||
'common.duration.hoursMinutesCompact': '{hours}小時{minutes}分',
|
||
'contextFileOpen.failure.tooLarge': 'File is too large to open (>{count} lines)',
|
||
'contextFileOpen.failure.missing': 'File not found',
|
||
'contextFileOpen.failure.unreadable': 'Failed to open file',
|
||
'quota.window.5h': '5-Hour',
|
||
'quota.window.7d': '7-Day Limit',
|
||
'quota.window.extraUsage': '額外用量',
|
||
'quota.window.weekly': '每週',
|
||
'quota.window.daily': 'Daily',
|
||
'quota.window.monthly': '每月',
|
||
'quota.window.credits': 'Credits',
|
||
'quota.window.creditsBalance': 'Credits Balance',
|
||
'quota.window.monthlyCredits': '每月點數',
|
||
'quota.window.purchasedCredits': '已購買點數',
|
||
'quota.window.freeCredits': '免費點數',
|
||
'quota.window.billingCycle': 'Billing Cycle',
|
||
'quota.window.auto': 'Auto',
|
||
'quota.window.api': 'API',
|
||
'quota.window.planLimit': 'Plan Limit',
|
||
'quota.window.onDemand': 'On-demand',
|
||
'quota.window.session': 'Session',
|
||
'quota.window.premium': 'Premium Interactions',
|
||
'quota.window.chat': 'Chat Requests',
|
||
'quota.window.completions': 'Completions',
|
||
'quota.window.premiumInteractions': 'AI 點數',
|
||
'chat.workStatus.ariaLabel': '工作狀態',
|
||
'chat.workStatus.context.label': '上下文',
|
||
'chat.workStatus.cost.breakdown': '工作階段 {session} · 子 Agent {subagents}',
|
||
'chat.workStatus.git.changedFileSingle': '已變更 {count} 個檔案',
|
||
'chat.workStatus.git.changedFilePlural': '已變更 {count} 個檔案',
|
||
'chat.workStatus.pr.untitled': '未命名的提取請求',
|
||
'chat.workStatus.pr.draft': '草稿',
|
||
'chat.workStatus.pr.checks': '檢查',
|
||
'chat.workStatus.pr.checksFailed': '{count} 項失敗',
|
||
'chat.workStatus.pr.checksPending': '{count} 項進行中',
|
||
'chat.workStatus.pr.checksPassed': '{count} 項通過',
|
||
'chat.workStatus.attention.merge': '正在合併',
|
||
'chat.workStatus.attention.rebase': '正在變基',
|
||
'chat.workStatus.attention.cherryPick': '正在揀選提交',
|
||
'chat.workStatus.attention.revert': '正在還原',
|
||
'chat.workStatus.attention.bisect': '正在二分搜尋',
|
||
'chat.workStatus.subagent.done': '已完成',
|
||
'chat.workStatus.subagent.untitled': '子代理',
|
||
'chat.workStatus.mcp.toggle': '切換 {name}',
|
||
'chat.workStatus.mcp.needsAuth': '登入',
|
||
'chat.workStatus.mcp.failed': '失敗',
|
||
'chat.workStatus.pinned.unavailable': '已釘選的訊息',
|
||
'chat.workStatus.section.session': '工作階段',
|
||
'chat.workStatus.section.project': '專案',
|
||
'chat.workStatus.section.subagents': '子代理',
|
||
'chat.workStatus.section.mcp': 'MCP',
|
||
'chat.workStatus.section.pinned': '已釘選的訊息',
|
||
'chat.workStatus.section.tasks': '工作',
|
||
'chat.workStatus.subagent.working': '正在工作',
|
||
'chat.workStatus.subagent.needsPermission': '需要授權',
|
||
'chat.workStatus.subagent.askedQuestion': '提出了問題',
|
||
'chat.workStatus.section.contextBreakdown': '上下文來源',
|
||
'chat.workStatus.breakdown.skills': '技能',
|
||
'chat.workStatus.breakdown.pinnedNote': '筆記',
|
||
'chat.workStatus.breakdown.unpin': '從脈絡取消釘選',
|
||
'chat.workStatus.breakdown.pinnedPlan': '計畫',
|
||
'chat.workStatus.breakdown.memory': '代理記憶',
|
||
'chat.workStatus.breakdown.pinnedKnowledgeSingle': '已釘選 {count}',
|
||
'chat.workStatus.breakdown.pinnedKnowledgePlural': '已釘選 {count}',
|
||
'chat.workStatus.breakdown.mcp': 'MCP 伺服器',
|
||
'chat.workStatus.action.openChanges': '開啟變更',
|
||
'chat.workStatus.action.openGit': '開啟 Git 面板',
|
||
'chat.workStatus.action.openPr': '開啟提取請求',
|
||
'chat.workStatus.action.openSubagent': '開啟 {name}',
|
||
'chat.workStatus.section.usage': '用量',
|
||
'chat.workStatus.goal.open': '管理目標',
|
||
'chat.workStatus.goal.pause': '暫停',
|
||
'chat.workStatus.goal.resume': '繼續',
|
||
'chat.workStatus.goal.updateFailed': '無法更新目標',
|
||
'chat.workStatus.pinned.unpin': '取消釘選訊息',
|
||
'chat.workStatus.pinned.reveal': '跳至訊息',
|
||
'chat.workStatus.pinned.unpinFailed': '無法取消釘選訊息',
|
||
'chat.workStatus.action.openContext': '開啟上下文面板',
|
||
'chat.workStatus.section.linkedIssues': '已關聯',
|
||
'chat.workStatus.linkedIssues.open': '在 GitHub 上開啟 #{number}',
|
||
'chat.workStatus.linkedIssues.unlink': '移除關聯',
|
||
'chat.workStatus.linkedIssues.unlinkFailed': '無法移除關聯',
|
||
'chat.workStatus.linkedIssues.link': '關聯到工作階段',
|
||
'chat.workStatus.linkedIssues.linkFailed': '無法關聯',
|
||
'chat.workStatus.breakdown.issueCountSingle': '{count} 個 issue',
|
||
'chat.workStatus.breakdown.issueCountPlural': '{count} 個 issue',
|
||
'chat.workStatus.breakdown.prCountSingle': '{count} 個 PR',
|
||
'chat.workStatus.breakdown.prCountPlural': '{count} 個 PR',
|
||
'chat.workStatus.breakdown.skillCountSingle': '{count} 個技能',
|
||
'chat.workStatus.breakdown.skillCountPlural': '{count} 個技能',
|
||
'chat.workStatus.breakdown.mcpCountSingle': '{count} 個 MCP',
|
||
'chat.workStatus.breakdown.mcpCountPlural': '{count} 個 MCP',
|
||
'chat.workStatus.sections.open': '選擇區塊',
|
||
'chat.workStatus.sections.dialogTitle': '面板區塊',
|
||
'chat.workStatus.sections.dialogDescription': '選擇工作狀態面板顯示的內容。隱藏的區塊仍保留資料,只是不再顯示。',
|
||
'chat.workStatus.sections.allHidden': '未選擇任何部分',
|
||
'chat.workStatus.sections.showAll': '全部顯示',
|
||
'chat.workStatus.sections.noneWarning': '面板將顯示為空。',
|
||
'header.workStatusPanel.toggleAria': '切換工作狀態面板',
|
||
'header.workStatusPanel.hide': '隱藏工作狀態',
|
||
'header.workStatusPanel.show': '顯示工作狀態',
|
||
'chat.workStatus.mcp.authorizeOpenFailed': '無法開啟授權頁面',
|
||
'chat.workStatus.mcp.authorizeFailed': '授權失敗',
|
||
'mcpDropdown.toast.authorizeOpenFailed': '無法開啟授權頁面',
|
||
'mcpDropdown.toast.authorizeFailed': '授權失敗',
|
||
'header.services.tooltip.currentInstance': '目前執行個體:{current}({toggle})',
|
||
'header.workStatusPanel.showOverlay': '在聊天上方顯示工作狀態',
|
||
'settings.mcp.page.connection.title': '如何連線',
|
||
'settings.mcp.page.connection.description': '貼上啟動指令,或代管伺服器的連結。',
|
||
'settings.mcp.page.registration.title': '此伺服器需要獨立應用程式',
|
||
'settings.mcp.page.registration.description': '它不會自動發放憑證。請在該服務的設定中建立應用程式,將資訊貼到這裡,然後登入。',
|
||
'settings.mcp.page.registration.callbackLabel': '把這個位址填入該服務',
|
||
'settings.mcp.page.registration.clientId': '應用程式 ID',
|
||
'settings.mcp.page.registration.clientSecret': '應用程式密鑰',
|
||
'settings.mcp.page.registration.afterSaving': '儲存後點擊「授權」。',
|
||
'settings.mcp.page.toast.copiedCallbackUrl': '已複製位址',
|
||
'settings.mcp.page.toast.clipboardWriteFailed': '無法複製到剪貼簿',
|
||
'settings.mcp.page.scope.everywhere': '在所有專案中可用',
|
||
'settings.mcp.page.scope.thisProject': '僅在此專案中',
|
||
'settings.mcp.page.env.description': '伺服器需要的值,例如 API 金鑰。',
|
||
'settings.mcp.page.connection.kindCommand': '指令',
|
||
'settings.mcp.page.connection.kindLink': '連結',
|
||
'settings.mcp.page.connection.hintCommand': '在本機執行。貼上完整指令後會依每行一個參數拆分。',
|
||
'settings.mcp.page.connection.hintLink': '連線到他人代管的伺服器。貼上其 https 位址。',
|
||
};
|