Adds a 'Cron' schedule type option to the scheduled task editor, allowing users to create and edit cron-based schedules through the UI. - Add cron expression input with inline validation (cron-parser) - Show next 4 upcoming run times as a preview - Provide clickable example chips (every 5min, hourly, Monday 9am, etc.) - Preserve cron expressions when editing existing cron tasks - Add cron.ts utility module for validation and next-run computation - Add i18n keys across all 8 locale files Closes #1586 Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
2630 lines
170 KiB
TypeScript
2630 lines
170 KiB
TypeScript
import type { I18nKey } from './en';
|
||
import { settingsDict } from './zh-TW.settings';
|
||
|
||
export const dict: Record<I18nKey, string> = {
|
||
...settingsDict,
|
||
'common.loading': '載入中...',
|
||
'common.unavailable': '無法使用',
|
||
'common.language.english': 'English',
|
||
'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.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.nav.changes': '變更',
|
||
'mobile.nav.settings': '設定',
|
||
'mobile.surface.closeAria': '關閉',
|
||
'mobile.header.openMenuAria': '開啟選單',
|
||
'mobile.header.openMetadataAria': '開啟工作階段中繼資料',
|
||
'mobile.header.metadata.context': '上下文',
|
||
'mobile.header.metadata.branch': '分支',
|
||
'mobile.header.metadata.usage': '用量',
|
||
'mobile.menu.titleAria': '工作區工具',
|
||
'mobile.menu.files': '檔案',
|
||
'mobile.menu.changes': '變更',
|
||
'mobile.menu.mcp': 'MCP',
|
||
'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.cancelRemoveProjectAria': '取消移除 {label}',
|
||
'mobile.sessions.confirmRemoveProject': '關閉',
|
||
'mobile.sessions.confirmRemoveProjectAria': '確認移除 {label}',
|
||
'mobile.sessions.toast.projectRemoved': '已移除 {label}',
|
||
'mobile.sessions.archiveSessionAria': '封存 {title}',
|
||
'mobile.sessions.cancelArchiveAria': '取消封存 {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.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.runFailed': '執行任務失敗',
|
||
'sessions.scheduledTasks.dialog.confirm.deleteTask': '刪除排程任務「{taskName}」?',
|
||
'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.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.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-{max} 個模型。同一模型可重複加入。',
|
||
'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.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.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.switcher.openAria': '開啟會話切換器',
|
||
'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.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.newDraftSession': '新增草稿會話',
|
||
'sessions.sidebar.session.menu.rename': '重新命名',
|
||
'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.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.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.permissionRequired': '需要權限',
|
||
'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.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.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.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.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.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': '將失敗的檢查傳送給 Agent',
|
||
'gitView.pr.actions.savePr': '儲存 PR',
|
||
'gitView.pr.actions.savePrAria': '儲存 Pull Request 變更',
|
||
'gitView.pr.actions.sendCommentToAgent': '將留言傳送給 Agent',
|
||
'gitView.pr.actions.sendCommentToAgentAria': '將此留言傳送給 Agent',
|
||
'gitView.pr.actions.sendToAgent': '傳送給 Agent',
|
||
'gitView.pr.actions.shareComments': '分享留言',
|
||
'gitView.pr.actions.shareCommentsAria': '將 Pull Request 留言傳送給 Agent',
|
||
'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.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.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.commit': '提交',
|
||
'gitView.tabs.pr': 'PR',
|
||
'gitView.tabs.update': '更新',
|
||
'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.context': '上下文',
|
||
'contextPanel.mode.preview': '預覽',
|
||
'contextPanel.mode.browser': '瀏覽器',
|
||
'contextPanel.browser.open': '開啟瀏覽器面板',
|
||
'contextPanel.browser.addressAria': '瀏覽器網址',
|
||
'contextPanel.browser.empty': '網頁瀏覽器',
|
||
'contextPanel.browser.emptyHint': '在上方輸入網址開始瀏覽',
|
||
'contextPanel.browser.inspectUnavailable': '無法從瀏覽器面板檢查此頁面。',
|
||
'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.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.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.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.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.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.usage': '使用率',
|
||
'contextUsage.tooltip.usedTokens': '已用 Token:{tokens}',
|
||
'contextUsage.tooltip.contextLimit': '上下文上限:{tokens}',
|
||
'contextUsage.tooltip.outputLimit': '輸出上限:{tokens}',
|
||
'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.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.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.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.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',
|
||
'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.title': '快速筆記 - {project}',
|
||
'rightSidebar.contextNotesTodo.notes.placeholder': '記錄上下文、提醒或連結',
|
||
'rightSidebar.contextNotesTodo.todo.title': '待辦',
|
||
'rightSidebar.contextNotesTodo.todo.itemsSingle': '{count} 項',
|
||
'rightSidebar.contextNotesTodo.todo.itemsPlural': '{count} 項',
|
||
'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.resizeAria': '調整待辦清單大小',
|
||
'rightSidebar.contextNotesTodo.todo.sendMenu.currentSession': '傳送到目前會話',
|
||
'rightSidebar.contextNotesTodo.todo.sendMenu.newSession': '傳送到新會話',
|
||
'rightSidebar.contextNotesTodo.todo.sendMenu.newWorktreeSession': '傳送到新 worktree 會話',
|
||
'rightSidebar.contextNotesTodo.plans.title': '計畫',
|
||
'rightSidebar.contextNotesTodo.plans.filesSingle': '{count} 個檔案',
|
||
'rightSidebar.contextNotesTodo.plans.filesPlural': '{count} 個檔案',
|
||
'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.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': '新增留言...(Cmd+Enter 儲存)',
|
||
'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.tooltip.currentInstanceWithShortcuts': '目前實例:{current}({toggle};下一分頁 {nextTab})',
|
||
'header.services.tooltip.servicesWithShortcuts': '服務({toggle};下一分頁 {nextTab})',
|
||
'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.shutdownDev': '停止 OpenChamber',
|
||
'header.services.modelFamily.other': '其他',
|
||
'header.actions.openPlanAria': '開啟計畫',
|
||
"header.actions.toggleChangesPanel": "變更面板",
|
||
"header.actions.toggleChangesPanelAria": "切換變更面板",
|
||
'header.actions.planWithShortcut': '計畫({shortcut})',
|
||
'header.actions.terminalPanelWithShortcut': '終端機面板({shortcut})',
|
||
'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.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.bottomDock.resizeAria': '調整終端機面板大小',
|
||
'terminalView.bottomDock.restoreTitle': '恢復終端機面板高度',
|
||
'terminalView.bottomDock.restoreAria': '恢復終端機面板高度',
|
||
'terminalView.bottomDock.expandTitle': '展開終端機面板',
|
||
'terminalView.bottomDock.expandAria': '展開終端機面板',
|
||
'terminalView.bottomDock.closeTitle': '關閉終端機面板',
|
||
'terminalView.bottomDock.closeAria': '關閉終端機面板',
|
||
'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.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.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.abortActiveRun': '中止目前執行(連按兩下)',
|
||
'helpDialog.item.toggleRightSidebar': '切換右側邊欄',
|
||
'helpDialog.item.openRightSidebarGitTab': '開啟右側邊欄 Git 標籤',
|
||
'helpDialog.item.openRightSidebarFilesTab': '開啟右側邊欄檔案標籤',
|
||
'helpDialog.item.cycleRightSidebarTab': '循環右側邊欄標籤',
|
||
'helpDialog.item.toggleTerminalDock': '切換終端機停靠欄',
|
||
'helpDialog.item.toggleTerminalExpanded': '切換終端機展開狀態',
|
||
'helpDialog.item.togglePlanContextPanel': '切換計畫上下文面板',
|
||
'helpDialog.item.cycleTheme': '循環切換主題(淺色 → 深色 → 跟隨系統)',
|
||
'helpDialog.item.switchProject': '切換專案',
|
||
'helpDialog.item.toggleServicesMenu': '切換服務選單',
|
||
'helpDialog.item.cycleServicesTab': '循環服務標籤',
|
||
'helpDialog.item.openSettings': '開啟設定',
|
||
'helpDialog.keyCombiner.or': '或',
|
||
'helpDialog.proTips.title': '使用提示:',
|
||
'helpDialog.proTips.commandPalette': '使用命令面板({shortcut})可快速存取所有操作',
|
||
'helpDialog.proTips.recentSessions': '最近 5 個會话會顯示在命令面板中',
|
||
'helpDialog.proTips.themeCycling': '主題循環會記住你在各會話中的偏好',
|
||
'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.otherLocalBranches': '其他本地分支',
|
||
'session.newWorktree.otherRemoteBranches': '其他遠端分支',
|
||
'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.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.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.summary.activeLeft': '{active} 個活躍 · 剩餘 {left} 個',
|
||
'chat.statusRow.aborted': '已中止',
|
||
'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.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.catchUpDescription': '重新進入上下文:你之前在做什麼、從哪裡繼續。',
|
||
'chat.commandAutocomplete.command.debugDescription': '在提出修復方案前,引導式地排查 bug 的根本原因。',
|
||
'chat.commandAutocomplete.command.weighDescription': '在動手前,權衡 2-3 種方案的利弊並給出推薦。',
|
||
'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.container.returnToParent.aria': '返回父會話',
|
||
'chat.container.returnToParent.titleNamed': '返回到:{title}',
|
||
'chat.container.returnToParent.title': '返回父會話',
|
||
'chat.container.returnToParent.label': '父級',
|
||
'chat.container.readOnlySubagentPromptBanner': '無法向子 Agent 會話傳送提示。',
|
||
'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.addToChat': '加入聊天',
|
||
'chat.textSelection.actions.newSession': '新增會話',
|
||
'chat.textSelection.actions.copy': '複製',
|
||
'chat.textSelection.actions.addToNotes': '加入筆記',
|
||
'chat.textSelection.title.addToCurrentChat': '加入目前聊天',
|
||
'chat.textSelection.title.newSessionWithSelection': '使用選取內容建立新會話',
|
||
'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.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.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.clipboardAttachFailed': '從剪貼簿附加圖片失敗',
|
||
'chat.chatInput.toast.addedFileMentions': '已加入 {count} 個檔案提及',
|
||
'chat.chatInput.toast.attachFileFailed': '附加檔案失敗',
|
||
'chat.chatInput.toast.attachNamedFailed': '附加 {name} 失敗',
|
||
'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.devServerLogs': 'Dev Server 日誌:',
|
||
'chat.chatInput.devServerLogsRemove': '移除 Dev Server 日誌',
|
||
'chat.chatInput.previewAnnotations': '預覽註釋:',
|
||
'chat.chatInput.previewContext': '預覽上下文:',
|
||
'chat.chatInput.previewContextRemove': '移除預覽上下文',
|
||
'chat.chatInput.projectRoot': '專案根目錄',
|
||
'chat.chatInput.branch': '分支',
|
||
'chat.chatInput.worktrees': 'Worktree',
|
||
'chat.chatInput.worktreeNew': '+ 新增',
|
||
'chat.chatInput.drop.insertMention': '放開以插入為提及',
|
||
'chat.chatInput.drop.attachFiles': '將檔案拖放至此處以附加',
|
||
'chat.chatInput.fileFallback': '檔案',
|
||
'chat.mobileStatus.editProjects.title': '編輯專案',
|
||
'chat.mobileStatus.editProjects.footer': '拖曳可重新排序,或使用箭頭移動。點擊編輯可修改詳情。',
|
||
'chat.mobileStatus.editProjects.empty': '沒有可編輯的專案',
|
||
'chat.mobileStatus.projects.empty': '沒有專案',
|
||
'chat.mobileStatus.projects.addAria': '新增專案',
|
||
'chat.mobileStatus.projects.removeTitle': '移除專案',
|
||
'chat.mobileStatus.projects.removeDescriptionPrefix': '確定要移除',
|
||
'chat.mobileStatus.projects.cancel': '取消',
|
||
'chat.mobileStatus.projects.remove': '移除',
|
||
'chat.mobileStatus.new': '新增',
|
||
'chat.mobileStatus.noSessionsInProject': '該專案中沒有會話',
|
||
'chat.mobileStatus.swipeHint': '← 在此滑動以開啟側邊欄 →',
|
||
'chat.mobileStatus.toast.addProjectFailed': '新增專案失敗',
|
||
'chat.mobileStatus.toast.selectValidDirectory': '請選擇有效目錄。',
|
||
'chat.mobileStatus.toast.selectDirectoryFailed': '選擇目錄失敗',
|
||
'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.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.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.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.toggleRightSidebar': '切換右側邊欄',
|
||
'commandPalette.item.showContextUsage': '顯示上下文用量',
|
||
'commandPalette.item.toggleTerminal': '切換終端機',
|
||
'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.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 會話。請檢查服務是否執行後重試。',
|
||
'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.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.status.updating': '更新中...',
|
||
'updateDialog.error.updateFailed': '更新失敗',
|
||
'updateDialog.error.takingLonger': '更新耗時超出預期。請稍等後重新整理,或執行:openchamber update',
|
||
'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.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.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.table.actions.copyTitle': '複製表格',
|
||
'markdownRenderer.table.actions.downloadTitle': '下載表格',
|
||
'markdownRenderer.table.toast.downloadedAsFormat': '表格已下載為 {format}',
|
||
'markdownRenderer.mermaid.actions.copyTitle': '複製',
|
||
'markdownRenderer.mermaid.actions.copySourceTitle': '複製原始碼',
|
||
'markdownRenderer.mermaid.actions.downloadSvgTitle': '下載 SVG',
|
||
'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',
|
||
'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.7dSonnet': '7-Day Sonnet Limit',
|
||
'quota.window.7dOpus': '7-Day Opus Limit',
|
||
'quota.window.weekly': 'Weekly Limit',
|
||
'quota.window.daily': 'Daily',
|
||
'quota.window.monthly': 'Monthly Limit',
|
||
'quota.window.credits': 'Credits',
|
||
'quota.window.creditsBalance': 'Credits Balance',
|
||
'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': 'Premium interactions',
|
||
};
|