Files
apes-sidebar/src/client/locales-zh-TW.ts
T
Menghuan1918 b554665bde feat(tasks-ui): readability pass, height-budget fix and leftover sweep
The native port is finished off with the readability work the earlier rounds
left open, plus the cleanup of everything the shadcn era or the older canvas
left behind.

- Geometry: node height is now composed from named parts (chrome, two title
  lines, meta row) and per-node extras, so a teammate card that carries a task
  line no longer gets clipped by the old fixed 68px budget; the layout spec
  follows the new model and GRAPH_ROW_STRIDE stays exported for it.
- Readability: row rhythm (28-32px), three ink levels for title/meta/owner,
  truncation with title hints, current-row and hover expressed as an accent bar
  plus a hover fill (no shadows), phase frames and edges back on the l1/l2
  hairlines, control cluster uniformly 28px, drawer durations on tabular
  figures, kill action revealed on hover/focus without shifting the row, no
  horizontal overflow at 360px.
- Task window: the markdown body is pulled onto the page scale (12px body,
  12/13px headings, tightened list indent and paragraph spacing) while the
  shared MarkdownText/markdownTextProps contract is untouched.
- Cleanup: dead stylesheet rules, unused TSX exports and helpers, stale
  comments that still described the retired Variant-D canvas, zero-reference
  i18n keys across the dictionaries, and the Tailwind/shadcn/Variant-D
  narrative in the design doc, AGENTS.md and the plugin guide (kept as one
  short "why it was rolled back" section).

Verified here: typecheck and lint clean; 133 files / 1413 tests; build with no
radix-ui or --tw- strings in lib/client.js (988.9 KiB); the 70-assertion
real-browser contract at 70/70 with the 20 reference screenshots regenerated;
mount e2e 7/7.
2026-09-27 22:18:19 +08:00

502 lines
30 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* The zh-HK (Traditional Chinese — Hong Kong) dictionary for the betterSidebar
* namespace.
*
* Mirrors the key set of `zh` in `locales.ts`. Consumed by better-locale's
* override store when the active override id is `'zh-HK'` (registered under
* the `betterSidebar` namespace). Absent that, the existing zh/en chain
* runs unchanged.
*
* Hong Kong regional conventions:
* - 软件 → 軟體 (NOT 軟體); 网络 → 網路 (NOT 網路); 鼠标 → 滑鼠
* - 檔案 (file), 資料夾 (folder), 程式 (program), 程式碼 (code), 螢幕 (screen)
* - 預設 (default), 儲存 (save), 設定 (settings/config), 唯讀 (read-only)
* - 資源管理器 → 檔案總管; refresh → 重新整理; cache → 快取
* - timeout → 逾時; loop → 迴圈; override → 覆寫; built-in → 內建
* - adapter → 介面卡; interface → 介面; address → 位址; field → 欄位
* - byte → 位元組; binary → 二進位; character → 字元; hash → 雜湊
* - rename → 重新命名; archive → 歸檔; idle → 閒置; mount → 掛載
* - package → 套件; generate → 產生; fetch → 取得; export → 匯出
* - login → 登入; detect → 偵測; block → 封鎖; access → 存取
* - port → 連接埠; sensor → 感測器; server → 伺服器; global → 全域
* - nested → 巢狀; thread → 執行緒; queue → 佇列; tab → 標籤
* - source code → 原始碼; symlink → 符號連結; recover → 復原
* - placeholder → 佔位符; template → 範本; variable → 變數
* - through → 透過; paste → 貼上; project → 專案; account → 帳號
* - session (会话) → 工作階段; chat (对话) → 對話
* - quotation marks: "" → 「」
* - Placeholders keep `{name}` verbatim (interpolation runs after lookup).
* - English brand names (VS Code, Cursor, Zed, SSH, Git, Chrome) stay as-is.
*/
/** The zh-HK dictionary (key-set-equal to zh, enforced by the type annotation in locales.ts). */
export const zhTW: Record<string, string> = {
files: '檔案',
guideDescFiles: '瀏覽工作區檔案樹,點開即可預覽或編輯',
guideDescGit: 'Git 變更與本輪檔案改動,雙視角合一',
guideDescSubagent: '工作流圖 · 團隊任務板 · 背景任務,即時狀態',
guideDescSidechat: '繼承目前工作階段上下文的獨立追問執行緒',
guideDescTerminal: '真實 shell 終端(xterm + pty),斷線重連',
guideDescBrowser: '內嵌網頁瀏覽器,可接管聊天中的外鏈',
changesSessionEmpty: '本作業階段還沒有檔案操作',
changesRead: '讀取',
changesMdReading: '閱讀',
changesHtmlRender: "渲染",
changesHtmlRaw: "原文",
changesPdfRender: "渲染",
changesPdfRaw: "原文",
changesMdRaw: '原文',
changesWrite: '寫入',
changesEdit: '編輯',
changesRunning: '執行中',
changesError: '出錯',
changesFold: '{count} 行…點擊展開',
changesFoldLoading: '展開中…',
changesFoldUnavailable: '上下文未載入',
changesContext: '上下文',
changesPriorUnknown: '變更前的內容不在視窗內,顯示為全部新增',
explorer: '檔案總管',
terminal: '終端',
editor: '編輯器',
editorExplorer: '檔案開啟方式',
editorExplorerDesc: '控制檔案開啟方式',
editorExplorerMerged: '合併',
editorExplorerMergedDesc: '檔案在同一視窗內原地切換;新視窗預設展開檔案樹',
editorExplorerSplit: '獨立',
editorExplorerSplitDesc: '無路徑視窗即檔案總管(僅檔案樹);檔案各自新開視窗(帶檔案樹,預設收起)',
editorTreeToggle: '檔案樹面板',
editorPathPlaceholder: '輸入檔案路徑(相對工作階段目錄或絕對路徑),Enter 開啟',
editorSearchPlaceholder: '按檔案名稱搜尋…',
editorSearchNoResults: '無匹配檔案',
editorSearchTruncated: '結果過多,僅顯示部分匹配',
editorEmptyHint: '從右側檔案樹或上方路徑輸入框選擇檔案開始預覽',
openFileNewTab: '在新 Tab 中開啟',
openFileSide: '在側邊開啟',
openWithMenu: '在應用程式中開啟',
openWithSshSuffix: ' (SSH)',
pinOpenWith: '固定到選單',
unpinOpenWith: '取消固定',
openWithExplorer: '檔案總管',
openWithVscode: 'VS Code',
openWithCursor: 'Cursor',
openWithZed: 'Zed',
openWithSettingsSshTitle: 'SSH 遠端主機',
openWithSettingsSshDesc: '留空為本地工作區;填入 user@host 或 SSH 別名後,VSCode 系開啟方式將改用 vscode-remote/ssh-remote 協議,檔案總管 / Zed / 非 VSCode 系自訂編輯器將從選單隱藏',
openWithSettingsSshPlaceholder: 'user@host 或 SSH 別名',
openWithSettingsCustomTitle: '自訂編輯器',
openWithSettingsCustomDesc: '名稱 + URL 範本({path} 佔位符)+ 是否 VSCode 系;SSH 模式下僅 VSCode 系可開啟遠端',
openWithSettingsAdd: '新增',
openWithSettingsName: '名稱',
openWithSettingsTemplate: '如 cursor://file/{path}',
openWithSettingsFamily: 'VSCode 系',
openWithSettingsFamilyDesc: '該編輯器使用 VSCode 的 URL 協議(支援 SSH 遠端開啟)',
openWithSettingsRemove: '刪除',
openWithSettingsInvalidHint: '名稱或範本(需含 {path} 且以 scheme:// 開頭)未填寫的編輯器不會出現在選單中',
newTab: '新增標籤',
brokenSymlink: '失效的符號連結',
close: '關閉',
closeOtherTabs: '關閉其他標籤',
closeLeftTabs: '關閉左側標籤',
closeRightTabs: '關閉右側標籤',
pinTerminal: '固定終端',
pinAgentTerminal: '固定 Agent 終端',
pinToWorkspace: '固定到工作區',
pinToGlobal: '固定到全域',
unpinTerminal: '取消固定',
collapseBottomPanel: '收起底部面板',
expandBottomPanel: '展開底部面板',
terminalError: '終端連線失敗',
terminalConnectFailed: '終端多次連線失敗',
terminalRetry: '重試',
terminalWaitBanner: 'Agent 正在等待 {needle}',
terminalSkipWait: '跳過等待',
terminalDepsFailed: '終端依賴 node-pty 載入失敗',
terminalDepsHint: '在 DSH 所在環境的終端或 cmd 中執行以下命令修復,然後點重試(node-pty 與 DSH 核心保持同一版本):',
terminalDepsProfile: '(偵測到 profile:{profile})',
terminalShellNotFound: '未找到配置的 Shell:{name},請到 設定 → 側邊卡片 → 終端 檢查 Shell 路徑',
preview: '預覽',
toc: '目錄',
edit: '編輯',
mermaidError: 'Mermaid 渲染失敗',
mermaidZoomIn: '放大',
mermaidZoomOut: '縮小',
mermaidZoomReset: '重設',
mermaidZoomHint: '滾輪縮放 · 拖曳平移 · Esc 關閉',
refresh: '重新整理',
showInFolder: '在資料夾中顯示',
refreshUnsavedConfirm: '檔案已在磁碟上變更。重新整理會丟失尚未儲存的編輯。繼續?',
save: '儲存',
saved: '已儲存',
unsaved: '未儲存',
saveFailed: '儲存失敗',
truncation: '檔案過大,僅顯示前 512KB',
binary: '二進位檔案,無法預覽',
loading: '載入中…',
error: '載入失敗',
retry: '重試',
notRepo: '目前目錄不是 git 倉庫',
noChanges: '沒有變更',
statusTruncated: '變更過多,僅顯示前 2000 條',
stage: '暫存',
unstage: '取消暫存',
stageAll: '全部暫存',
unstageAll: '全部取消暫存',
commitPlaceholder: '提交訊息 (Ctrl+Enter)',
commit: '提交',
branch: '分支',
worktree: '工作樹',
checkoutError: '切換分支失敗',
history: '歷史',
changes: '檔案變動',
changesGitLens: 'Git',
changesSessionLens: '本輪檔案',
changesFilterAll: '全部',
changesFilterEmpty: '沒有此類操作',
changesOpenDiffTab: '在獨立頁籤中開啟',
changesClosePreview: '關閉預覽',
changesResizePreview: '調整預覽高度',
changesLoadError: '工作階段檔案記錄暫不可用',
staged: '已暫存',
unstaged: '未暫存',
cancel: '取消',
diffEmpty: '沒有文字差異',
diffLoadError: '載入差異失敗',
diffBinary: '二進位',
diffAdded: '新增',
diffDeleted: '刪除',
diffRenamed: '重新命名',
diffExpand: '展開其餘 {count} 行',
discard: '放棄變更',
discardTitle: '放棄變更',
discardDesc: '將丟棄「{path}」的工作區修改(不可復原)。',
viewCommitDiff: '檢視提交差異',
copyShortHash: '複製短雜湊',
copyFullHash: '複製完整雜湊',
copySubject: '複製提交訊息',
revertCommit: '還原此提交',
revertTitle: '還原此提交',
revertDesc: '將在目前分支建立一個反轉「{subject}」的新提交。',
cherryPickCommit: '撿取此提交',
cherryPickTitle: '撿取此提交',
cherryPickDesc: '將「{subject}」的變更套用到目前分支。',
timeJustNow: '剛剛',
timeMinutesAgo: '{n} 分鐘前',
timeHoursAgo: '{n} 小時前',
timeYesterday: '昨天',
loadMore: '載入更多',
historyLoadError: '載入更多歷史失敗',
produced: '本次產出',
disconnected: '終端連線斷開,重新連線中…',
exited: '終端程序已退出',
noSession: '選擇一個工作階段以使用側邊欄',
pluginNotLoaded: '插件未載入,標籤暫不可用:',
parent: '上層目錄',
copied: '已複製',
copy: '複製',
openEditor: '開啟編輯器',
referenceFile: '@檔案',
addToConversation: '新增到對話',
copyRelative: '複製相對位址',
copyAbsolute: '複製絕對位址',
rename: '重新命名',
renameInvalid: '名稱不可為空,且不可包含路徑分隔符。',
delete: '刪除',
deleteTitle: '刪除「{name}」?',
deleteDescFile: '將永久刪除該檔案,此操作無法復原。',
deleteDescDir: '將永久刪除該目錄及其全部內容,此操作無法復原。',
dismiss: '關閉',
download: '下載',
uploadFiles: '上傳檔案',
uploadFolder: '上傳資料夾',
uploadHere: '上傳到此處',
uploadDropHint: '拖曳檔案/資料夾到此處上傳',
uploadDropChat: '拖放到聊天區:新增圖片到對話',
uploadTo: '上傳到 {dir}',
uploadingTo: '正在上傳到 {dir}…',
uploadProgress: '正在上傳 {done}/{total}: {name}',
uploadDone: '已上傳 {count} 個檔案',
uploadFailed: '上傳失敗:{error}',
uploadFailedUnknown: '未知錯誤',
uploadTooLarge: '檔案過大,超出上傳上限',
uploadCancelled: '上傳已取消',
settingsNav: '側邊卡片',
settingsIntro: '管理側邊卡片的顯示內容與預設行為',
settingsPopupDesc: '為「{feature}」設定相關選項',
settingsDone: '完成',
settingsOpenToolsTitle: '為模型注入側邊欄開啟工具',
settingsOpenToolsDesc: '開啟後,模型可透過 sidebar_open 工具在側邊欄主動開啟檔案、資料夾和 HTTP(S) 網頁(預設關閉)',
settingsTitleBarTitle: '位置相容模式',
settingsTitleBarDesc: '選擇頂欄相容方案:自動偵測(預設,保守)/ DSH官方Web / 已知桌面殼 / 自訂方案(下移距離 + 自訂 CSS)',
settingsTitleBarStripTitle: '下移距離',
settingsTitleBarStripDesc: '標題欄條帶高度:側邊欄按鈕與內容下移的像素數(0–120,預設 40;自訂方案下生效)',
settingsSchemeAutoTitle: '自動偵測',
settingsSchemeAutoDesc: '保守方案:僅在 Window Controls Overlay 標準 API 可用時按真實標題欄高度讓位;網頁環境下不做任何修改',
settingsSchemeWebTitle: 'DSH官方Web',
settingsSchemeWebDesc: '顯式宣告執行在官方網頁版:不做任何適配(連標準 WCO 幾何也不適用)',
settingsSchemeCustomTitle: '自訂方案',
settingsSchemeCustomDesc: '完全由你控制:注入自訂 CSS(可覆寫內建樣式),並指定標題欄下移距離',
settingsSchemeDetectedSuffix: '已偵測',
settingsCustomCssTitle: '自訂 CSS',
settingsCustomCssPlaceholder: '/* 例:為自繪標題欄的殼預留 36px */\nhtml[data-dsh-title-bar-height="36"] {\n --dsh-title-bar-strip: 36px !important;\n}',
settingsSaveFailed: '儲存失敗',
settingsConflict: '設定已被其他視窗修改,請重試',
binaryNoPreview: '此檔案類型不支援預覽',
downloadToView: '下載檢視',
settingsSubagentTitle: '偵測到子代理時自動選取任務管理頁',
settingsSubagentDesc: '目前工作階段產生新的子代理時,自動選取任務管理頁;寬螢幕時亦會展開側邊欄,窄螢幕時不會強制開啟全螢幕抽屜;關閉後需手動選取',
settingsJobsTitle: '有新背景任務時自動選取任務管理頁',
settingsJobsDesc: '目前工作階段出現新的背景任務時,自動選取任務管理頁(每個新任務都會觸發);寬螢幕時亦會展開側邊欄,窄螢幕時不會強制開啟全螢幕抽屜;關閉後需手動選取',
settingsToolsTitle: '為模型注入終端工具',
settingsToolsDesc: '開啟後,模型可透過 terminal_create 等 8 個工具建立並操作側邊欄終端(預設關閉)',
settingsFenceTitle: '工作區路徑檢測',
settingsFenceDesc: '開啟後,側欄的檔案功能僅能存取工作階段工作區內的路徑(預設);關閉後可存取主機上任意檔案——關閉期間頁面內指令碼也將獲得同等存取能力',
fenceErrorReason: '此路徑在工作階段工作區之外,已被工作區檢測攔截',
fenceDisableAction: '關閉工作區檢測',
settingsBottomTerminalTitle: '底部面板首次展開自動開終端',
settingsBottomTerminalDesc: '每次工作階段中第一次展開底部面板時,嘗試在底部面板自動開啟一個新終端標籤(終端數量上限仍會限制;預設開啟)',
settingsFontFamilyTitle: '終端字體',
settingsFontFamilyDesc: '自訂終端字體族(CSS font-family,如 "JetBrains Mono", monospace;留空跟隨主題等寬字體)',
settingsFontFamilyPlaceholder: '"JetBrains Mono", monospace',
settingsFontSizeTitle: '終端字型大小',
settingsFontSizeDesc: '終端字型大小(9–32,預設 13)',
settingsShellTitle: 'Shell 路徑',
settingsShellDesc: 'UI 與模型終端啟動的 shell(絕對路徑或可執行名)。留空按既有順序解析:yaml 的 config.shell → $SHELL / 登入 shell / Windows 的 powershell.exe。對之後開啟的終端生效',
settingsShellPlaceholder: '如 /bin/zsh(留空自動解析)',
settingsShellArgsTitle: 'Shell 參數',
settingsShellArgsDesc: '顯式 shell 啟動參數,空格分隔;非空時完全替換預設參數(與 yaml 的 shellArgs 契約一致)',
settingsShellArgsPlaceholder: '如 -l(留空用預設參數)',
settingsTabsTitle: '側邊欄內容',
settingsViewersTitle: '檔案預覽',
settingsGeneralTitle: '一般',
settingsPopup: '功能設定',
settingsViewerCatchAll: '兜底:任意檔案',
viewerMarkdown: 'Markdown',
viewerCode: '程式碼',
viewerHtml: 'HTML',
browser: '瀏覽器',
browserPlaceholder: '輸入網址,例如 example.com',
browserGo: '前往',
browserBack: '上一頁',
browserForward: '下一頁',
browserStart: '輸入網址開始瀏覽(沙箱模式)',
browserBlockedScheme: '已封鎖:僅支援 http/https 連結',
browserBlockedLoopback: '已封鎖:不允許在瀏覽器中存取本機或內部位址',
browserInvalid: '無效的網址',
htmlNoSandboxWarning: '沙箱已關閉:此 HTML 與介面同源,可讀取工作階段檔案與內部介面(可在設定中恢復)',
sandboxStatusOn: '沙箱模式:已啟用 · 頁面無法存取介面資料與本地檔案,登入態與第三方 Cookie 可能不可用',
sandboxUnlock: '臨時解鎖(不安全)',
sandboxRestore: '恢復沙箱',
settingsHtmlDefaultUnsafeTitle: 'HTML 預覽預設以非沙箱模式開啟(不安全)',
settingsHtmlDefaultUnsafeDesc: '開啟後,每次開啟 HTML 檔案時預覽預設處於非沙箱狀態(與介面同源,可讀取工作階段檔案與內部介面);可在狀態列臨時恢復沙箱',
settingsHtmlSandboxTitle: '關閉 HTML 預覽沙箱(不安全)',
settingsHtmlSandboxDesc: '關閉後,預覽的 HTML 將與介面同源執行,可讀取工作階段檔案、本地儲存並呼叫內部介面。僅對完全可信的檔案開啟',
settingsBrowserSandboxTitle: '關閉瀏覽器沙箱(不安全)',
settingsBrowserSandboxDesc: '關閉後,存取的任何網站都將與介面同源執行,可讀取工作階段資料並冒充你的登入狀態。僅對完全可信的網站開啟',
settingsBrowserLoopbackTitle: '允許存取的本機地址',
settingsBrowserLoopbackDesc: '逗號分隔的本機回環地址白名單(如 localhost:5174 或 127.0.0.1:8080),側邊欄瀏覽器可存取這些本機服務;預設留空則本機地址全部攔截。沙箱隔離仍然生效,頁面無法讀取介面資料',
settingsBrowserLoopbackPlaceholder: '例如 localhost:5174, 127.0.0.1:8080',
browserOpenExternal: '在瀏覽器中開啟',
browserEmbedBlocked: '{host} 拒絕了嵌入請求',
browserEmbedBlockedDesc: '該網站透過 X-Frame-Options / frame-ancestors 禁止在其它頁面中顯示,無法在側邊欄內載入。可在瀏覽器中直接開啟',
browserEmbedAnyway: '仍然載入',
subagent: '任務管理',
subagentMainAgent: '主代理',
subagentEmpty: '暫無子代理',
subagentEmptyDesc: '目前主代理派生的子代理將顯示在這裡',
subagentInactive: '閒置',
subagentModeOneShot: '一次性',
subagentModeContinuable: '可續接',
subagentCount: '{count} 個子代理',
subagentCountRunning: '{count} 個子代理 · {running} 執行中',
subagentThinking: '思考中…',
sideChat: '側邊對話(beta)',
sideChatNew: '新增對話',
sideChatUntitled: '新對話',
sideChatEmpty: '暫無側邊對話',
sideChatEmptyDesc: '每個側邊對話是標籤列裡的獨立 Tab,繼承目前工作階段的上下文執行,不會進入主工作階段',
sideChatCreating: '正在建立側邊對話…',
sideChatRetry: '重試',
sideChatThreads: '切換執行緒 / 新增',
sideChatSave: '儲存為新工作階段',
sideChatSaveTitle: '把該執行緒提升為頂層工作階段,出現在主工作階段列表中',
sideChatSaved: '已儲存為新工作階段',
sideChatNoTurn: '至少完成一輪對話後才能儲存',
sideChatPendingDrop: '最後一則未完成的追問不會包含在新工作階段中',
sideChatFirstPlaceholder: '輸入第一個問題,已繼承目前工作階段上下文…',
sideChatComposerPlaceholder: '追問…',
sideChatThinking: '正在深入…',
sideChatThink: '思考過程',
sideChatInjection: '已注入上下文',
sideChatSend: '發送',
sideChatCancelTitle: '中止目前回合(保留佇列)',
sideChatError: '側邊對話出錯:{message}',
sideChatTurnUsage: '輸入 {input} tok · 輸出 {output} tok',
sideChatBlockCollapse: '收起',
sideChatBlockCollapseAria: '收起',
sideChatBlockExpand: '展開 {hidden} 行',
sideChatBlockExpandAria: '展開其餘 {hidden} 行',
sideChatBlockSignal: '訊號終止:{signal}',
sideChatBlockExitCode: '結束碼 {code}',
sideChatBlockNoExitCode: "已結束(無結束碼)",
sideChatBlockRunning: '執行中',
sideChatBlockFailed: '失敗',
sideChatBlockDone: '完成',
sideChatBlockNoOutput: '(無輸出)',
codeBlockTitle: '程式碼區塊',
codeBlockWrap: '自動換行',
codeBlockUnwrap: '取消自動換行',
sideChatBlockWindow: '共 {total} 行 · 顯示 {shown} 行',
sideChatConnDisconnected: '連線已中斷',
sideChatConnReconnect: '重新連線',
sideChatConnConnecting: '正在重新連線…',
sideChatConnRecovered: '連線已恢復',
sideChatConnReconnectAction: '立即重新連線',
sideChatConnRestartAction: '重新發起連線',
jobs: '背景任務',
jobsCount: '{count} 個背景任務',
jobsCountRunning: '{count} 個背景任務 · {running} 執行中',
jobStatusRunning: '執行中',
jobStatusStopping: '終止中',
jobStatusCompleted: '已完成',
jobStatusKilled: '已終止',
jobStatusFailed: '失敗',
jobDurationSeconds: '{seconds} 秒',
jobDurationMinutes: '{minutes} 分 {seconds} 秒',
jobDurationHours: '{hours} 小時 {minutes} 分',
jobViewOutput: '檢視輸出',
jobNoOutput: '暫無輸出',
jobNotReadYet: '等待模型讀取該任務的輸出(模型執行 job_output 後,輸出會顯示在這裡)',
jobOutputTruncated: '輸出過長,已截斷顯示',
jobOutputError: '輸出讀取失敗',
jobKill: '終止',
jobKillConfirm: '再次點擊確認終止',
jobKillError: '終止失敗',
tasksViewGraph: '工作流圖',
tasksViewTree: '樹狀圖',
tasksViewSwitchToGraph: '切換為工作流圖',
tasksViewSwitchToTree: '切換為樹狀圖',
settingsViewModeTitle: '任務管理預設檢視',
settingsViewModeDesc: '任務管理頁開啟時的預設顯示方式(頁內仍可臨時切換)',
settingsViewModeGraph: '工作流圖',
settingsViewModeGraphDesc: '分層節點圖,可縮放平移',
settingsViewModeTree: '樹狀圖',
settingsViewModeTreeDesc: '經典縮排樹,可用鍵盤導航',
tasksFoldCompleted: '✓ {count} 已完成',
tasksFoldExpand: '展開已完成的節點',
tasksFoldCollapse: '收起已完成的節點',
tasksZoomIn: '放大',
tasksZoomOut: '縮小',
tasksZoomFit: '適應畫布',
tasksNodeJump: '檢視逐字稿',
tasksNodeDetail: '節點詳情',
workflowRun: '工作流',
tasksNodeState: '狀態',
tasksNodeMode: '模式',
tasksNodeModel: '模型',
tasksNodeTeamRole: '團隊角色',
tasksNodeActivity: '最近活動',
tasksStateRunning: '執行中',
tasksStateIdle: '閒置',
tasksStateDone: '已完成',
tasksStateError: '出錯',
teamBoard: '團隊任務板',
teamChip: '團隊 {members} 成員 · {tasks} 任務',
teamTasksEmpty: '暫無共用任務',
teamTaskCreate: '新增任務',
teamTaskSubject: '標題',
teamTaskDescription: '描述',
teamTaskOwner: '負責人',
teamTaskUnowned: '未認領',
teamTaskPending: '待辦',
teamTaskInProgress: '進行中',
teamTaskCompleted: '已完成',
teamTaskBlocked: '受阻',
teamTaskComplete: '完成',
teamTaskReopen: '重開',
teamTaskDelete: '刪除',
teamTaskDeleteConfirm: '確認刪除',
teamTaskEdit: '編輯',
teamTaskSave: '儲存',
teamTaskCancel: '取消',
teamTaskConflict: '任務已被他人修改,已重新整理',
teamTaskError: '操作失敗:{message}',
teamTaskDeleted: '已刪除',
teamTaskActions: '任務操作',
teamTaskDetail: '任務詳情',
teamTaskNoDescription: '暫無描述,點擊「編輯」補充',
teamTaskBlockedBy: '受阻於',
teamTaskSubjectPlaceholder: '一句話說明要做什麼',
teamTaskDescriptionPlaceholder: '補充說明(可選)',
teamFilterAll: '全部',
tasksNodeTasks: '共用任務',
jobCopyOutput: '複製輸出',
jobCopied: '已複製',
jobFollowTail: '跟隨最新',
jobDragHint: '拖曳浮窗',
workflowRunning: '進行中',
workflowCompleted: '已完成',
workflowCancelled: '已取消',
workflowFailed: '失敗',
workflowPhaseUnnamed: '未命名階段',
workflowMembers: '{done}/{total} 成員',
jobsAutoCollapsed: '代理較多,已自動收起',
catalogLoadFailed: '{count} 個分支載入失敗',
addPluginsTabCard: '新增 Tab 插件',
addPluginsTabCardDesc: '註冊新的側邊欄頁面',
addPluginsViewerCard: '新增預覽插件',
addPluginsViewerCardDesc: '註冊新的檔案類型預覽',
addPluginsTabDesc: '側邊欄頁面(Tab)可以由插件擴展。插件透過 ctx.betterSidebar 服務註冊;點擊「安裝」複製安裝命令,貼到 DSH 所在環境的終端執行。',
addPluginsViewerDesc: '檔案預覽器可以由插件擴展。插件透過 ctx.betterSidebar 服務註冊;點擊「安裝」複製安裝命令,貼到 DSH 所在環境的終端執行。',
addPluginsBrowseMore: '在 GitHub 上瀏覽更多插件(topic: dsh-better-sidebar)',
addPluginsSearch: '搜尋插件名稱 / 描述…',
addPluginsNoMatch: '沒有匹配的插件',
addPluginsRecommended: '推薦插件',
addPluginsEmpty: '暫未收錄插件,歡迎在 GitHub topic 下發布你的插件',
openPlugin: '跳轉',
copyInstall: '複製安裝命令',
pluginOfficeDesc: '為 better-sidebar 編輯器提供 Office 三件套預覽(.docx / .xlsx / .pptx),把重型 Office 渲染庫拆出主套件、按需安裝',
pluginFlowglassDesc: '即時工作階段流程圖:三列泳道展示使用者、助手與工具呼叫,支援並行分組、子代理支線、逐層鑽取和即時狀態;安裝 better-sidebar 後註冊原生「流鏡」Tab,未安裝時保留獨立抽屜',
pluginGitForgeDesc: 'better-sidebar「Git 憑證」Tab:GitHub/Gitea 等 Forge 帳號庫 + 按專案授權 + push 策略硬攔;token 僅存本地 secrets,不進模型上下文;提供唯讀 GitForge 工具與 agent HTTPS credential helper',
pluginGithubWorkbenchDesc: 'better-sidebar「GitHub 工作台」Tab:遠端儲存庫目錄樹 + Issues / Pull requests / Actions 頁籤,讀取之外支援建立 Issue/PR、留言、編輯、關閉重開、squash·merge·rebase 合併(強確認)與重跑/取消 CI;儲存庫彈出視窗自動載入有權限清單並支援公開儲存庫搜尋;未安裝 better-sidebar 時自動降級為獨立右側面板',
pluginMdExportDesc: '在 better-sidebar 的 Markdown 工具列上新增「匯出」按鈕:一鍵把目前 .md 渲染為獨立 HTML(表格/程式碼區塊/Mermaid 圖表內嵌,版面跟隨預覽主題)直接儲存到同目錄,或透過列印對話框匯出為 PDF',
pluginCodeNavDesc: '程式碼預覽導覽:按檔案類型自動識別語言並高亮語法,符號大綱(類別/方法/變數篩選 + 一鍵跳轉),檔案內搜尋(全部符合高亮、上/下一處、區分大小寫),接管 better-sidebar 的程式碼檔案預覽',
pluginSuhuangScrollDesc: '把本機蘇黃共閱 Runtime 接入 DSH 設定與 better-sidebar,支援模型設定、連線測試及連續閱卷控制;使用前須安裝 Suhuang Scroll Runtime 與 dsh-better-sidebar',
pluginBetterOverleafDesc: 'better-sidebar 的 Overleaf 分頁:直連 CDP 瀏覽器登入(支援第三方 Chromium),專案列表/切換,<workspace>/overleaf/ 本地 git 映像,git 雙向同步(API 唯讀兜底),檔案預覽走側邊欄工作台',
pluginGitRemotesDesc: 'better-sidebar Git 遠端 Tab:看分支/上游/ahead-behind,fetch(可 prune)、ff-only pull、確認後才 push。不替換內建 Git 的暫存/提交,也不提供 force-push 或模型自動推送',
pluginSentinelDesc: '條件驅動的 agent 喚醒系統:檔案/程序/連接埠/HTTP/命令/webhook 感測器,條件達成自動喚醒休眠工作階段;註冊「哨兵」Tab 展示伺服器全域監控表',
pluginServerDeckDesc: '伺服器卡片儀表板:每台伺服器一張卡片,展示線上狀態、OS、執行時間、CPU/記憶體/磁碟用量與延遲;點擊卡片開啟 xterm.js 互動終端機,支援 ~/.ssh/config 一鍵匯入(自動略過 Git 託管別名);安裝 better-sidebar 後註冊原生「伺服器」分頁,未安裝時保留獨立抽屜',
pluginSidebarQaDesc: '基於 better-sidebar 的劃選提問tab分頁: 對話劃選 → 右側面板提問 → 同工作區獨立追問工作階段(❓追問·主題):快速無思考模型壓縮主對話上下文後與引文一起注入,不打斷主對話;追問可巢狀、可繼續、可歸檔',
pluginSidenoteDesc: 'Codex 風格側邊聊天與劃選註解:從目前工作階段 fork 出獨立側邊工作階段(歸檔隱藏、多實例並存、/side 命令、重新整理/重啟後恢復、模型跟隨主工作階段);assistant 訊息劃選 → 編號角標 + 註解編輯器 →「N 條註解」chip 隨訊息送出,也可直接進入側邊聊天提問',
pluginSshTunnelDesc: 'better-sidebar「SSH 隧道」Tab:多機主機清單 + 按專案授權 + 密鑰本地保管;模型工具 SSHManager(exec/SFTP/工作階段策略);中央互動終端與雙欄 SFTP',
pluginTurnReviewDesc: '對「剛剛這一回合」的 diff 做 Approve / Request changes 的人閘門:只審上一回合,不 fork 工作階段;檔案按主工作階段/子代理/未歸因分組,按檔案勾選打回 + 可選評語,點檔案先看回合開始快照 vs 現在的 diff。不是 /rewind',
pluginVideoPreviewDesc: '在 better-sidebar 編輯器內聯預覽影片檔案(.mp4/.webm/.mov/.mkv/.avi 等),自帶支援 HTTP Range(206)的 /video 宿主路由,可拖曳進度條、不受 20MB mediaLimit 限制',
pluginDocsPanelDesc: 'DSH 側邊欄裡的「全域文件」:全域 Markdown 筆記,任何工作區隨時可讀——列表點選閱讀、懸浮大綱跳轉、Chrome / VS Code 外部開啟、程式碼複製,目錄可設定(預設 ~/.dsh/docs)',
pluginEgoBrowserDesc: '將 CitroLabs/ego-lite 接進 DeepSeek Harness 的 agent 瀏覽器:32 個 ego_* 工具驅動真實 Chromium,側邊欄原生「ego 瀏覽器」Tab 實時觀察 agent 逛的每個頁面,可直接點擊/拖拽/輸入接管;裝 better-sidebar 時自動註冊 Tab,沒裝則退回浮動浮窗',
pluginBilingualReaderDesc: '在 DSH 側邊欄讀論文 PDF:原生 PDF 顯示,選取一段文字即用大模型劃詞翻譯,結合上下文、完全隔離主對話,只作閱讀輔助',
changesRedactOn: "已開啟脫敏:敏感內容以 [REDACTED] 顯示;點擊關閉(自擔風險)",
changesRedactOff: "脫敏已關閉:將原樣顯示文件內容;點擊開啟",
changesRedactOnLabel: "脫敏中",
changesRedactOffLabel: "脫敏關",
changesRedactBanner: "已脫敏",
pluginSentinelName: 'dsh-sentinel 喚醒系統',
pluginEgoBrowserName: 'ego-browser Agent 瀏覽器',
pluginBetterOverleafName: 'dsh-better-overleaf Overleaf 標籤',
pluginDocsPanelName: 'dsh-docs-panel 全域文件',
pluginFlowglassName: 'dsh-flowglass 流鏡',
pluginGitForgeName: 'dsh-git-forge Git 憑證',
pluginGitRemotesName: 'dsh-git-remotes Git 遠端',
pluginGithubWorkbenchName: 'dsh-github-workbench GitHub 工作台',
pluginSidebarQaName: 'dsh-sidebar-qa 劃選追問',
pluginSidenoteName: 'dsh-sidenote 側邊對話',
pluginServerDeckName: 'dsh-server-deck 伺服器甲板',
pluginSuhuangScrollName: 'dsh-suhuang-scroll 蘇黃共閱',
pluginSshTunnelName: 'dsh-ssh-tunnel SSH 隧道',
pluginTurnReviewName: 'dsh-turn-review 本輪審查',
pluginBilingualReaderName: 'dsh-bilingual-reader 雙語閱讀',
pluginOfficeName: 'Office 預覽插件',
pluginMdExportName: 'Markdown 匯出插件',
pluginCodeNavName: '程式碼預覽導覽',
pluginVideoPreviewName: '影片預覽插件',
presetDshDesktopDesc: 'Electron 進階模式(無邊框):macOS 頂欄 20px、Windows 無 WCO 時 32px 標題列讓位',
}