orca-zh-tw-installer 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -131,6 +131,100 @@ function patchLocaleGate(p) {
131
131
  '$1\n if (language === "zh-TW") {\n return "zh-TW";\n }');
132
132
  }
133
133
 
134
+ // ── 原生選單本地化 ─────────────────────────────────────────────────────
135
+ // Orca 的 Electron 原生選單有兩類字串完全沒有經過 i18n,語系檔再完整也翻不到:
136
+ //
137
+ // 1. { role: "undo" } 這種沒給 label 的項目。label 由 Electron 自己提供,
138
+ // 而 Electron 只在 macOS 從系統取得本地化字串,Windows/Linux 是寫死英文。
139
+ // 所以「編輯」選單會出現 Undo / Redo / Cut / Copy / Select All 全英文,
140
+ // 只有 Paste 是中文——因為 Orca 給 Paste 寫了 label(它有自訂行為)。
141
+ //
142
+ // 2. Markdown 右鍵選單的標籤是直接寫在原始碼裡的字面值
143
+ // (markdownCommandItem("Bold", …)、label: "Format"),根本沒有對應的鍵。
144
+ //
145
+ // 兩類都靠改寫 main process 原始碼解決:注入 translateMain(...) 呼叫。
146
+ // translateMain 是 Orca 自己的翻譯函式,定義在該檔案的模組作用域,
147
+ // 所有選單建構點都在其後,可安全呼叫。
148
+ const MENU_ROLE_LABELS = {
149
+ about: 'About', services: 'Services', hide: 'Hide', hideOthers: 'Hide Others',
150
+ unhide: 'Show All', quit: 'Quit', undo: 'Undo', redo: 'Redo', cut: 'Cut',
151
+ copy: 'Copy', selectAll: 'Select All', toggleDevTools: 'Toggle Developer Tools',
152
+ togglefullscreen: 'Toggle Full Screen', minimize: 'Minimize', zoom: 'Zoom',
153
+ };
154
+ // 字面值 → 鍵名。必須連呼叫包裝一起比對:「Quote」在全檔出現 5 次,
155
+ // 但只有 markdownCommandItem("Quote" 這一處是選單標籤。
156
+ const MENU_MD_ITEMS = {
157
+ 'Add link': 'addLink', 'Bold': 'bold', 'Italic': 'italic', 'Strike': 'strike',
158
+ 'Inline code': 'inlineCode', 'Code block': 'codeBlock', 'Quote': 'quote',
159
+ 'Body text': 'bodyText', 'Heading 1': 'heading1', 'Heading 2': 'heading2',
160
+ 'Heading 3': 'heading3', 'Heading 4': 'heading4', 'Heading 5': 'heading5',
161
+ 'Bullet list': 'bulletList', 'Numbered list': 'numberedList', 'Checklist': 'checklist',
162
+ 'Link': 'link', 'Image': 'image', 'Divider': 'divider',
163
+ };
164
+ const MENU_SUBMENU_LABELS = { 'Format': 'format', 'Paragraph': 'paragraph', 'Insert': 'insert' };
165
+ const MENU_PASTE_ITEMS = { 'Paste': 'paste', 'Paste as plain text': 'pasteAsPlainText' };
166
+
167
+ const t = (key, en) => `translateMain("nativeMenu.${key}", ${JSON.stringify(en)})`;
168
+
169
+ // ── 快速鍵名稱本地化 ───────────────────────────────────────────────────
170
+ // 「設定 → 快速鍵」列出的 85 個命令名稱與 9 個群組標題,都是寫死在
171
+ // KEYBINDING_DEFINITIONS 陣列裡的英文字面值,沒有對應的語系鍵。
172
+ //
173
+ // 改成 getter 而不是直接呼叫 translate():這個陣列在模組載入時就求值,
174
+ // 那時 i18n 還沒載入 zh-TW 資源,直接呼叫只會拿到英文 fallback 並永久固定。
175
+ // getter 是讀取時才求值,所以拿得到翻譯。展開({...definition})也會
176
+ // 觸發 getter 並複製出字串,不影響既有邏輯。
177
+ const KEYBINDING_GROUP_SLUGS = {
178
+ 'Global': 'global', 'Tabs': 'tabs', 'Tab Navigation': 'tabNavigation',
179
+ 'Quick Commands': 'quickCommands', 'Browser': 'browser', 'Editors': 'editors',
180
+ 'File Explorer': 'fileExplorer', 'Settings': 'settings', 'Terminal Panes': 'terminalPanes',
181
+ 'Agents': 'agents',
182
+ };
183
+
184
+ function patchKeybindingTitles(p, translateFn) {
185
+ p.patch('快速鍵名稱與群組改走 i18n',
186
+ c => c.includes('keybindingGroup.'),
187
+ // id 緊接 title、group、scope 是 keybinding 定義獨有的形狀。
188
+ // 不能只比對 group:"…"——built-in/imported 等其他結構也有 group 欄位。
189
+ /id: "([^"]+)",(\s*)title: "([^"]+)",(\s*)group: "([^"]+)",(\s*)scope:/g,
190
+ (m, id, s1, title, s2, group, s3) => {
191
+ const slug = KEYBINDING_GROUP_SLUGS[group];
192
+ if (!slug) return m; // 未知群組就整段不動,寧可留英文也不要改壞
193
+ const tTitle = `${translateFn}("keybinding.${id}", ${JSON.stringify(title)})`;
194
+ const tGroup = `${translateFn}("keybindingGroup.${slug}", ${JSON.stringify(group)})`;
195
+ return `id: ${JSON.stringify(id)},${s1}get title() { return ${tTitle}; },`
196
+ + `${s2}get group() { return ${tGroup}; },${s3}scope:`;
197
+ });
198
+ }
199
+
200
+ function patchNativeMenus(p) {
201
+ p.patch('原生選單:為無 label 的 role 注入譯文',
202
+ c => c.includes('nativeMenu.selectAll'),
203
+ /\{\s*role:\s*"([A-Za-z]+)"\s*\}/g,
204
+ (m, role) => MENU_ROLE_LABELS[role]
205
+ ? `{ role: "${role}", label: ${t(role, MENU_ROLE_LABELS[role])} }`
206
+ : m);
207
+
208
+ p.patch('原生選單:Markdown 命令項改走 i18n',
209
+ c => c.includes('nativeMenu.addLink'),
210
+ /markdownCommandItem\("([^"]+)"/g,
211
+ (m, label) => MENU_MD_ITEMS[label]
212
+ ? `markdownCommandItem(${t(MENU_MD_ITEMS[label], label)}`
213
+ : m);
214
+
215
+ p.patch('原生選單:子選單標題改走 i18n',
216
+ c => c.includes('nativeMenu.format'),
217
+ /label:\s*"(Format|Paragraph|Insert)"/g,
218
+ (m, label) => `label: ${t(MENU_SUBMENU_LABELS[label], label)}`);
219
+
220
+ p.patch('原生選單:貼上項改走 i18n',
221
+ c => c.includes('nativeMenu.pasteAsPlainText'),
222
+ /editableContextPasteItem\("([^"]+)"/g,
223
+ (m, label) => MENU_PASTE_ITEMS[label]
224
+ ? `editableContextPasteItem(${t(MENU_PASTE_ITEMS[label], label)}`
225
+ : m);
226
+ }
227
+
134
228
  async function patch() {
135
229
  try {
136
230
  // dry-run 不寫檔,Orca 執行中也能安全跑,故不檢查
@@ -191,6 +285,7 @@ async function patch() {
191
285
  c => c.includes('"zh-TW": () => Promise.resolve()'),
192
286
  /(zh: \(\) => Promise\.resolve\(\)\.then\(\(\) => require\("\.\/chunks\/zh-[A-Za-z0-9_-]+\.js"\)\))/,
193
287
  '$1,\n "zh-TW": () => Promise.resolve().then(() => require("./chunks/zh-TW-nested.js"))');
288
+ patchNativeMenus(mp);
194
289
  mp.save();
195
290
 
196
291
  console.log('🛠️ 3/6 正在修補渲染器 (renderer process) 語言限制...');
@@ -223,6 +318,9 @@ async function patch() {
223
318
  /ko: \(\) => __vitePreload\(\(\) => import\("\.\/ko-[a-zA-Z0-9_-]+\.js"\), [^,]+, import\.meta\.url\),/,
224
319
  '$& \n "zh-TW": () => __vitePreload(() => import("./zh-TW-nested.js"), true ? [] : void 0, import.meta.url),');
225
320
  patchLocaleGate(rp);
321
+ // 「設定 → 快速鍵」顯示的是 renderer 這份定義,所以只改這裡。
322
+ // main process 也有一份,但那份不用於顯示,動它只增加風險。
323
+ patchKeybindingTitles(rp, 'translate');
226
324
  rp.save();
227
325
 
228
326
  console.log('📂 4/6 正在植入繁體中文字典 (ESM + CJS 兩種格式)...');
@@ -251,6 +349,36 @@ async function patch() {
251
349
  );
252
350
  }
253
351
 
352
+ // 注入點都成功不代表改出來的檔案還能執行。原生選單那幾個補丁是用正則
353
+ // 改寫 8MB 的 bundle,一旦括號配對出錯,Orca 會在啟動時整個掛掉而不是
354
+ // 只有選單壞掉。所以重新封裝前先讓 Node 真的解析一遍。
355
+ const { execFileSync } = require('child_process');
356
+ // renderer 是 ES module(用了 import.meta.url),但副檔名是 .js,
357
+ // node --check 會以 CommonJS 解析而誤判失敗。複製成 .mjs 再檢查。
358
+ const probeDir = fs.mkdtempSync(path.join(os.tmpdir(), 'orca-zh-tw-check-'));
359
+ try {
360
+ for (const [label, file, ext] of [
361
+ ['main process', mainFile, '.js'],
362
+ ['renderer', rendererFile, '.mjs'],
363
+ ]) {
364
+ const probe = path.join(probeDir, 'probe' + ext);
365
+ fs.copyFileSync(file, probe);
366
+ try {
367
+ execFileSync(process.execPath, ['--check', probe], { stdio: ['ignore', 'ignore', 'pipe'] });
368
+ console.log(` ✅ [${label}] 修補後的檔案通過 node --check`);
369
+ } catch (e) {
370
+ const msg = String(e.stderr || e.message)
371
+ .split('\n').filter(l => !/^\(node:/.test(l) && !/trace-warnings/.test(l))
372
+ .slice(0, 4).join('\n ');
373
+ throw new Error(
374
+ `[${label}] 修補後的檔案語法無效,已中止且未改動你的 Orca:\n ${msg}`
375
+ );
376
+ }
377
+ }
378
+ } finally {
379
+ fs.rmSync(probeDir, { recursive: true, force: true });
380
+ }
381
+
254
382
  if (DRY_RUN) {
255
383
  console.log('\n✅ [dry-run] 全部注入點驗證通過,未改動你的 Orca。');
256
384
  console.log(' 關閉 Orca 後執行 npm start 即可正式套用。\n');
@@ -11155,5 +11155,139 @@
11155
11155
  "auto.components.settings.RuntimeEnvironmentsPane.updatingServers": "正在更新伺服器…",
11156
11156
  "dashboardPopout.close": "關閉儀表板",
11157
11157
  "dashboardPopout.settings": "Agent 儀表板設定",
11158
- "dashboardPopout.settingsTooltip": "看板設定"
11158
+ "dashboardPopout.settingsTooltip": "看板設定",
11159
+ "nativeMenu.undo": "復原",
11160
+ "nativeMenu.redo": "重做",
11161
+ "nativeMenu.cut": "剪下",
11162
+ "nativeMenu.copy": "複製",
11163
+ "nativeMenu.selectAll": "全選",
11164
+ "nativeMenu.minimize": "最小化",
11165
+ "nativeMenu.zoom": "縮放",
11166
+ "nativeMenu.togglefullscreen": "切換全螢幕",
11167
+ "nativeMenu.toggleDevTools": "切換開發者工具",
11168
+ "nativeMenu.about": "關於",
11169
+ "nativeMenu.services": "服務",
11170
+ "nativeMenu.hide": "隱藏",
11171
+ "nativeMenu.hideOthers": "隱藏其他",
11172
+ "nativeMenu.unhide": "全部顯示",
11173
+ "nativeMenu.quit": "結束",
11174
+ "nativeMenu.addLink": "新增連結",
11175
+ "nativeMenu.format": "格式",
11176
+ "nativeMenu.bold": "粗體",
11177
+ "nativeMenu.italic": "斜體",
11178
+ "nativeMenu.strike": "刪除線",
11179
+ "nativeMenu.inlineCode": "行內程式碼",
11180
+ "nativeMenu.codeBlock": "程式碼區塊",
11181
+ "nativeMenu.quote": "引用",
11182
+ "nativeMenu.paragraph": "段落",
11183
+ "nativeMenu.bodyText": "本文",
11184
+ "nativeMenu.heading1": "標題 1",
11185
+ "nativeMenu.heading2": "標題 2",
11186
+ "nativeMenu.heading3": "標題 3",
11187
+ "nativeMenu.heading4": "標題 4",
11188
+ "nativeMenu.heading5": "標題 5",
11189
+ "nativeMenu.bulletList": "項目符號清單",
11190
+ "nativeMenu.numberedList": "編號清單",
11191
+ "nativeMenu.checklist": "核取清單",
11192
+ "nativeMenu.insert": "插入",
11193
+ "nativeMenu.link": "連結",
11194
+ "nativeMenu.image": "圖片",
11195
+ "nativeMenu.divider": "分隔線",
11196
+ "nativeMenu.paste": "貼上",
11197
+ "nativeMenu.pasteAsPlainText": "貼上為純文字",
11198
+ "keybindingGroup.global": "全域",
11199
+ "keybindingGroup.tabs": "分頁",
11200
+ "keybindingGroup.tabNavigation": "分頁導覽",
11201
+ "keybindingGroup.quickCommands": "快速命令",
11202
+ "keybindingGroup.browser": "瀏覽器",
11203
+ "keybindingGroup.editors": "編輯器",
11204
+ "keybindingGroup.fileExplorer": "檔案總管",
11205
+ "keybindingGroup.settings": "設定",
11206
+ "keybindingGroup.terminalPanes": "終端機窗格",
11207
+ "keybindingGroup.agents": "Agent",
11208
+ "keybinding.worktree.quickOpen": "前往檔案",
11209
+ "keybinding.app.settings": "開啟設定",
11210
+ "keybinding.app.forceReload": "強制重新載入",
11211
+ "keybinding.worktree.palette": "切換 Worktree",
11212
+ "keybinding.worktree.navigateUp": "上一個 Worktree",
11213
+ "keybinding.worktree.navigateDown": "下一個 Worktree",
11214
+ "keybinding.workspace.create": "建立 Worktree",
11215
+ "keybinding.workspace.rename": "重新命名 Worktree",
11216
+ "keybinding.workspace.delete": "刪除工作區",
11217
+ "keybinding.workspace.openBoard": "開啟工作區看板",
11218
+ "keybinding.workspace.selectByIndex": "選擇工作區 1–9",
11219
+ "keybinding.voice.dictation": "語音聽寫",
11220
+ "keybinding.view.tasks": "開啟任務",
11221
+ "keybinding.sidebar.left.toggle": "切換側邊欄",
11222
+ "keybinding.sidebar.right.toggle": "切換右側邊欄",
11223
+ "keybinding.sidebar.explorer.toggle": "顯示檔案總管",
11224
+ "keybinding.sidebar.search.toggle": "顯示搜尋",
11225
+ "keybinding.sidebar.sourceControl.toggle": "顯示原始碼控制",
11226
+ "keybinding.sidebar.checks.toggle": "顯示檢查",
11227
+ "keybinding.sidebar.ports.toggle": "顯示連接埠",
11228
+ "keybinding.sidebar.sleepingWorkspaces.toggle": "切換睡眠中的工作區",
11229
+ "keybinding.sidebar.focusWorktreeList": "聚焦 Worktree 清單",
11230
+ "keybinding.floatingTerminal.toggle": "切換浮動終端機",
11231
+ "keybinding.floatingWorkspace.maximize": "最大化浮動工作區面板",
11232
+ "keybinding.floatingWorkspace.minimize": "最小化浮動工作區面板",
11233
+ "keybinding.zoom.in": "放大",
11234
+ "keybinding.zoom.out": "縮小",
11235
+ "keybinding.zoom.reset": "重設大小",
11236
+ "keybinding.worktree.history.back": "Worktree 歷程返回",
11237
+ "keybinding.worktree.history.forward": "Worktree 歷程前進",
11238
+ "keybinding.sourceControl.sendReviewNotes": "將審查筆記傳送給 Agent",
11239
+ "keybinding.tab.newTerminal": "新增終端機分頁",
11240
+ "keybinding.tab.newAgent": "新增 Agent 分頁(預設 Agent)",
11241
+ "keybinding.tab.newBrowser": "新增瀏覽器分頁",
11242
+ "keybinding.tab.newSimulator": "新增行動裝置模擬器分頁",
11243
+ "keybinding.tab.newMarkdown": "新增 Markdown 分頁",
11244
+ "keybinding.tab.openMarkdown": "開啟 Markdown 分頁",
11245
+ "keybinding.tab.close": "關閉使用中的分頁",
11246
+ "keybinding.tab.closeAll": "關閉所有編輯器分頁",
11247
+ "keybinding.tab.rename": "重新命名使用中的分頁",
11248
+ "keybinding.tab.reopenClosed": "重新開啟已關閉的分頁",
11249
+ "keybinding.tab.nextSameType": "下一個分頁(同類型)",
11250
+ "keybinding.tab.previousSameType": "上一個分頁(同類型)",
11251
+ "keybinding.tab.nextAllTypes": "下一個分頁(所有類型)",
11252
+ "keybinding.tab.previousAllTypes": "上一個分頁(所有類型)",
11253
+ "keybinding.tab.previousRecent": "上一個最近使用的分頁",
11254
+ "keybinding.tab.nextTerminal": "下一個終端機分頁",
11255
+ "keybinding.tab.previousTerminal": "上一個終端機分頁",
11256
+ "keybinding.tab.selectByIndex": "選擇分頁 1–9",
11257
+ "keybinding.tab.openQuickCommandsMenu": "切換快速命令選單",
11258
+ "keybinding.browser.find": "在瀏覽器中尋找",
11259
+ "keybinding.browser.back": "在瀏覽器中返回",
11260
+ "keybinding.browser.forward": "在瀏覽器中前進",
11261
+ "keybinding.browser.reload": "重新載入瀏覽器頁面",
11262
+ "keybinding.browser.hardReload": "強制重新載入瀏覽器頁面",
11263
+ "keybinding.browser.focusAddressBar": "聚焦瀏覽器網址列",
11264
+ "keybinding.browser.grabElement": "擷取頁面元素",
11265
+ "keybinding.editor.find": "在編輯器中尋找",
11266
+ "keybinding.editor.replace": "在編輯器中取代",
11267
+ "keybinding.editor.save": "儲存檔案",
11268
+ "keybinding.editor.markdownPreview": "顯示 Markdown 預覽",
11269
+ "keybinding.editor.copyContext": "複製上下文",
11270
+ "keybinding.editor.previousChange": "前往上一個變更",
11271
+ "keybinding.editor.nextChange": "前往下一個變更",
11272
+ "keybinding.editor.addReviewNote": "新增審查筆記",
11273
+ "keybinding.fileExplorer.undo": "復原檔案操作",
11274
+ "keybinding.fileExplorer.redo": "重做檔案操作",
11275
+ "keybinding.fileExplorer.copyPath": "複製檔案路徑",
11276
+ "keybinding.fileExplorer.copyRelativePath": "複製相對檔案路徑",
11277
+ "keybinding.fileExplorer.delete": "刪除檔案",
11278
+ "keybinding.settings.search": "搜尋設定",
11279
+ "keybinding.terminal.copySelection": "複製終端機選取內容",
11280
+ "keybinding.terminal.paste": "貼上到終端機",
11281
+ "keybinding.terminal.search": "搜尋使用中的窗格",
11282
+ "keybinding.terminal.clear": "清除使用中的窗格",
11283
+ "keybinding.terminal.focusNextPane": "聚焦下一個窗格",
11284
+ "keybinding.terminal.focusPreviousPane": "聚焦上一個窗格",
11285
+ "keybinding.terminal.equalizePaneSizes": "平均分配窗格大小",
11286
+ "keybinding.terminal.expandPane": "展開/摺疊窗格",
11287
+ "keybinding.terminal.setTitle": "設定標題…",
11288
+ "keybinding.terminal.clearPaneTitle": "清除窗格標題",
11289
+ "keybinding.terminal.closePane": "關閉使用中的窗格",
11290
+ "keybinding.terminal.splitRight": "向右分割終端機",
11291
+ "keybinding.terminal.splitDown": "向下分割終端機",
11292
+ "keybinding.terminal.switchInputSource": "切換輸入來源/語言(原生)"
11159
11293
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orca-zh-tw-installer",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "description": "Orca AI IDE 台灣繁體中文 (zh-TW) 一鍵安裝包",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -13835,6 +13835,196 @@ const zhTW = {
13835
13835
  "sidebar": {
13836
13836
  "label": "Agent 儀表板"
13837
13837
  }
13838
+ },
13839
+ "nativeMenu": {
13840
+ "undo": "復原",
13841
+ "redo": "重做",
13842
+ "cut": "剪下",
13843
+ "copy": "複製",
13844
+ "selectAll": "全選",
13845
+ "minimize": "最小化",
13846
+ "zoom": "縮放",
13847
+ "togglefullscreen": "切換全螢幕",
13848
+ "toggleDevTools": "切換開發者工具",
13849
+ "about": "關於",
13850
+ "services": "服務",
13851
+ "hide": "隱藏",
13852
+ "hideOthers": "隱藏其他",
13853
+ "unhide": "全部顯示",
13854
+ "quit": "結束",
13855
+ "addLink": "新增連結",
13856
+ "format": "格式",
13857
+ "bold": "粗體",
13858
+ "italic": "斜體",
13859
+ "strike": "刪除線",
13860
+ "inlineCode": "行內程式碼",
13861
+ "codeBlock": "程式碼區塊",
13862
+ "quote": "引用",
13863
+ "paragraph": "段落",
13864
+ "bodyText": "本文",
13865
+ "heading1": "標題 1",
13866
+ "heading2": "標題 2",
13867
+ "heading3": "標題 3",
13868
+ "heading4": "標題 4",
13869
+ "heading5": "標題 5",
13870
+ "bulletList": "項目符號清單",
13871
+ "numberedList": "編號清單",
13872
+ "checklist": "核取清單",
13873
+ "insert": "插入",
13874
+ "link": "連結",
13875
+ "image": "圖片",
13876
+ "divider": "分隔線",
13877
+ "paste": "貼上",
13878
+ "pasteAsPlainText": "貼上為純文字"
13879
+ },
13880
+ "keybindingGroup": {
13881
+ "global": "全域",
13882
+ "tabs": "分頁",
13883
+ "tabNavigation": "分頁導覽",
13884
+ "quickCommands": "快速命令",
13885
+ "browser": "瀏覽器",
13886
+ "editors": "編輯器",
13887
+ "fileExplorer": "檔案總管",
13888
+ "settings": "設定",
13889
+ "terminalPanes": "終端機窗格",
13890
+ "agents": "Agent"
13891
+ },
13892
+ "keybinding": {
13893
+ "worktree": {
13894
+ "quickOpen": "前往檔案",
13895
+ "palette": "切換 Worktree",
13896
+ "navigateUp": "上一個 Worktree",
13897
+ "navigateDown": "下一個 Worktree",
13898
+ "history": {
13899
+ "back": "Worktree 歷程返回",
13900
+ "forward": "Worktree 歷程前進"
13901
+ }
13902
+ },
13903
+ "app": {
13904
+ "settings": "開啟設定",
13905
+ "forceReload": "強制重新載入"
13906
+ },
13907
+ "workspace": {
13908
+ "create": "建立 Worktree",
13909
+ "rename": "重新命名 Worktree",
13910
+ "delete": "刪除工作區",
13911
+ "openBoard": "開啟工作區看板",
13912
+ "selectByIndex": "選擇工作區 1–9"
13913
+ },
13914
+ "voice": {
13915
+ "dictation": "語音聽寫"
13916
+ },
13917
+ "view": {
13918
+ "tasks": "開啟任務"
13919
+ },
13920
+ "sidebar": {
13921
+ "left": {
13922
+ "toggle": "切換側邊欄"
13923
+ },
13924
+ "right": {
13925
+ "toggle": "切換右側邊欄"
13926
+ },
13927
+ "explorer": {
13928
+ "toggle": "顯示檔案總管"
13929
+ },
13930
+ "search": {
13931
+ "toggle": "顯示搜尋"
13932
+ },
13933
+ "sourceControl": {
13934
+ "toggle": "顯示原始碼控制"
13935
+ },
13936
+ "checks": {
13937
+ "toggle": "顯示檢查"
13938
+ },
13939
+ "ports": {
13940
+ "toggle": "顯示連接埠"
13941
+ },
13942
+ "sleepingWorkspaces": {
13943
+ "toggle": "切換睡眠中的工作區"
13944
+ },
13945
+ "focusWorktreeList": "聚焦 Worktree 清單"
13946
+ },
13947
+ "floatingTerminal": {
13948
+ "toggle": "切換浮動終端機"
13949
+ },
13950
+ "floatingWorkspace": {
13951
+ "maximize": "最大化浮動工作區面板",
13952
+ "minimize": "最小化浮動工作區面板"
13953
+ },
13954
+ "zoom": {
13955
+ "in": "放大",
13956
+ "out": "縮小",
13957
+ "reset": "重設大小"
13958
+ },
13959
+ "sourceControl": {
13960
+ "sendReviewNotes": "將審查筆記傳送給 Agent"
13961
+ },
13962
+ "tab": {
13963
+ "newTerminal": "新增終端機分頁",
13964
+ "newAgent": "新增 Agent 分頁(預設 Agent)",
13965
+ "newBrowser": "新增瀏覽器分頁",
13966
+ "newSimulator": "新增行動裝置模擬器分頁",
13967
+ "newMarkdown": "新增 Markdown 分頁",
13968
+ "openMarkdown": "開啟 Markdown 分頁",
13969
+ "close": "關閉使用中的分頁",
13970
+ "closeAll": "關閉所有編輯器分頁",
13971
+ "rename": "重新命名使用中的分頁",
13972
+ "reopenClosed": "重新開啟已關閉的分頁",
13973
+ "nextSameType": "下一個分頁(同類型)",
13974
+ "previousSameType": "上一個分頁(同類型)",
13975
+ "nextAllTypes": "下一個分頁(所有類型)",
13976
+ "previousAllTypes": "上一個分頁(所有類型)",
13977
+ "previousRecent": "上一個最近使用的分頁",
13978
+ "nextTerminal": "下一個終端機分頁",
13979
+ "previousTerminal": "上一個終端機分頁",
13980
+ "selectByIndex": "選擇分頁 1–9",
13981
+ "openQuickCommandsMenu": "切換快速命令選單"
13982
+ },
13983
+ "browser": {
13984
+ "find": "在瀏覽器中尋找",
13985
+ "back": "在瀏覽器中返回",
13986
+ "forward": "在瀏覽器中前進",
13987
+ "reload": "重新載入瀏覽器頁面",
13988
+ "hardReload": "強制重新載入瀏覽器頁面",
13989
+ "focusAddressBar": "聚焦瀏覽器網址列",
13990
+ "grabElement": "擷取頁面元素"
13991
+ },
13992
+ "editor": {
13993
+ "find": "在編輯器中尋找",
13994
+ "replace": "在編輯器中取代",
13995
+ "save": "儲存檔案",
13996
+ "markdownPreview": "顯示 Markdown 預覽",
13997
+ "copyContext": "複製上下文",
13998
+ "previousChange": "前往上一個變更",
13999
+ "nextChange": "前往下一個變更",
14000
+ "addReviewNote": "新增審查筆記"
14001
+ },
14002
+ "fileExplorer": {
14003
+ "undo": "復原檔案操作",
14004
+ "redo": "重做檔案操作",
14005
+ "copyPath": "複製檔案路徑",
14006
+ "copyRelativePath": "複製相對檔案路徑",
14007
+ "delete": "刪除檔案"
14008
+ },
14009
+ "settings": {
14010
+ "search": "搜尋設定"
14011
+ },
14012
+ "terminal": {
14013
+ "copySelection": "複製終端機選取內容",
14014
+ "paste": "貼上到終端機",
14015
+ "search": "搜尋使用中的窗格",
14016
+ "clear": "清除使用中的窗格",
14017
+ "focusNextPane": "聚焦下一個窗格",
14018
+ "focusPreviousPane": "聚焦上一個窗格",
14019
+ "equalizePaneSizes": "平均分配窗格大小",
14020
+ "expandPane": "展開/摺疊窗格",
14021
+ "setTitle": "設定標題…",
14022
+ "clearPaneTitle": "清除窗格標題",
14023
+ "closePane": "關閉使用中的窗格",
14024
+ "splitRight": "向右分割終端機",
14025
+ "splitDown": "向下分割終端機",
14026
+ "switchInputSource": "切換輸入來源/語言(原生)"
14027
+ }
13838
14028
  }
13839
14029
  };
13840
14030
  exports.default = zhTW;
@@ -13848,3 +14038,6 @@ exports.auto = zhTW.auto;
13848
14038
  exports.components = zhTW.components;
13849
14039
  exports.dashboardPopout = zhTW.dashboardPopout;
13850
14040
  exports.dashboard = zhTW.dashboard;
14041
+ exports.nativeMenu = zhTW.nativeMenu;
14042
+ exports.keybindingGroup = zhTW.keybindingGroup;
14043
+ exports.keybinding = zhTW.keybinding;
package/zh-TW-nested.js CHANGED
@@ -13833,5 +13833,195 @@ export default {
13833
13833
  "sidebar": {
13834
13834
  "label": "Agent 儀表板"
13835
13835
  }
13836
+ },
13837
+ "nativeMenu": {
13838
+ "undo": "復原",
13839
+ "redo": "重做",
13840
+ "cut": "剪下",
13841
+ "copy": "複製",
13842
+ "selectAll": "全選",
13843
+ "minimize": "最小化",
13844
+ "zoom": "縮放",
13845
+ "togglefullscreen": "切換全螢幕",
13846
+ "toggleDevTools": "切換開發者工具",
13847
+ "about": "關於",
13848
+ "services": "服務",
13849
+ "hide": "隱藏",
13850
+ "hideOthers": "隱藏其他",
13851
+ "unhide": "全部顯示",
13852
+ "quit": "結束",
13853
+ "addLink": "新增連結",
13854
+ "format": "格式",
13855
+ "bold": "粗體",
13856
+ "italic": "斜體",
13857
+ "strike": "刪除線",
13858
+ "inlineCode": "行內程式碼",
13859
+ "codeBlock": "程式碼區塊",
13860
+ "quote": "引用",
13861
+ "paragraph": "段落",
13862
+ "bodyText": "本文",
13863
+ "heading1": "標題 1",
13864
+ "heading2": "標題 2",
13865
+ "heading3": "標題 3",
13866
+ "heading4": "標題 4",
13867
+ "heading5": "標題 5",
13868
+ "bulletList": "項目符號清單",
13869
+ "numberedList": "編號清單",
13870
+ "checklist": "核取清單",
13871
+ "insert": "插入",
13872
+ "link": "連結",
13873
+ "image": "圖片",
13874
+ "divider": "分隔線",
13875
+ "paste": "貼上",
13876
+ "pasteAsPlainText": "貼上為純文字"
13877
+ },
13878
+ "keybindingGroup": {
13879
+ "global": "全域",
13880
+ "tabs": "分頁",
13881
+ "tabNavigation": "分頁導覽",
13882
+ "quickCommands": "快速命令",
13883
+ "browser": "瀏覽器",
13884
+ "editors": "編輯器",
13885
+ "fileExplorer": "檔案總管",
13886
+ "settings": "設定",
13887
+ "terminalPanes": "終端機窗格",
13888
+ "agents": "Agent"
13889
+ },
13890
+ "keybinding": {
13891
+ "worktree": {
13892
+ "quickOpen": "前往檔案",
13893
+ "palette": "切換 Worktree",
13894
+ "navigateUp": "上一個 Worktree",
13895
+ "navigateDown": "下一個 Worktree",
13896
+ "history": {
13897
+ "back": "Worktree 歷程返回",
13898
+ "forward": "Worktree 歷程前進"
13899
+ }
13900
+ },
13901
+ "app": {
13902
+ "settings": "開啟設定",
13903
+ "forceReload": "強制重新載入"
13904
+ },
13905
+ "workspace": {
13906
+ "create": "建立 Worktree",
13907
+ "rename": "重新命名 Worktree",
13908
+ "delete": "刪除工作區",
13909
+ "openBoard": "開啟工作區看板",
13910
+ "selectByIndex": "選擇工作區 1–9"
13911
+ },
13912
+ "voice": {
13913
+ "dictation": "語音聽寫"
13914
+ },
13915
+ "view": {
13916
+ "tasks": "開啟任務"
13917
+ },
13918
+ "sidebar": {
13919
+ "left": {
13920
+ "toggle": "切換側邊欄"
13921
+ },
13922
+ "right": {
13923
+ "toggle": "切換右側邊欄"
13924
+ },
13925
+ "explorer": {
13926
+ "toggle": "顯示檔案總管"
13927
+ },
13928
+ "search": {
13929
+ "toggle": "顯示搜尋"
13930
+ },
13931
+ "sourceControl": {
13932
+ "toggle": "顯示原始碼控制"
13933
+ },
13934
+ "checks": {
13935
+ "toggle": "顯示檢查"
13936
+ },
13937
+ "ports": {
13938
+ "toggle": "顯示連接埠"
13939
+ },
13940
+ "sleepingWorkspaces": {
13941
+ "toggle": "切換睡眠中的工作區"
13942
+ },
13943
+ "focusWorktreeList": "聚焦 Worktree 清單"
13944
+ },
13945
+ "floatingTerminal": {
13946
+ "toggle": "切換浮動終端機"
13947
+ },
13948
+ "floatingWorkspace": {
13949
+ "maximize": "最大化浮動工作區面板",
13950
+ "minimize": "最小化浮動工作區面板"
13951
+ },
13952
+ "zoom": {
13953
+ "in": "放大",
13954
+ "out": "縮小",
13955
+ "reset": "重設大小"
13956
+ },
13957
+ "sourceControl": {
13958
+ "sendReviewNotes": "將審查筆記傳送給 Agent"
13959
+ },
13960
+ "tab": {
13961
+ "newTerminal": "新增終端機分頁",
13962
+ "newAgent": "新增 Agent 分頁(預設 Agent)",
13963
+ "newBrowser": "新增瀏覽器分頁",
13964
+ "newSimulator": "新增行動裝置模擬器分頁",
13965
+ "newMarkdown": "新增 Markdown 分頁",
13966
+ "openMarkdown": "開啟 Markdown 分頁",
13967
+ "close": "關閉使用中的分頁",
13968
+ "closeAll": "關閉所有編輯器分頁",
13969
+ "rename": "重新命名使用中的分頁",
13970
+ "reopenClosed": "重新開啟已關閉的分頁",
13971
+ "nextSameType": "下一個分頁(同類型)",
13972
+ "previousSameType": "上一個分頁(同類型)",
13973
+ "nextAllTypes": "下一個分頁(所有類型)",
13974
+ "previousAllTypes": "上一個分頁(所有類型)",
13975
+ "previousRecent": "上一個最近使用的分頁",
13976
+ "nextTerminal": "下一個終端機分頁",
13977
+ "previousTerminal": "上一個終端機分頁",
13978
+ "selectByIndex": "選擇分頁 1–9",
13979
+ "openQuickCommandsMenu": "切換快速命令選單"
13980
+ },
13981
+ "browser": {
13982
+ "find": "在瀏覽器中尋找",
13983
+ "back": "在瀏覽器中返回",
13984
+ "forward": "在瀏覽器中前進",
13985
+ "reload": "重新載入瀏覽器頁面",
13986
+ "hardReload": "強制重新載入瀏覽器頁面",
13987
+ "focusAddressBar": "聚焦瀏覽器網址列",
13988
+ "grabElement": "擷取頁面元素"
13989
+ },
13990
+ "editor": {
13991
+ "find": "在編輯器中尋找",
13992
+ "replace": "在編輯器中取代",
13993
+ "save": "儲存檔案",
13994
+ "markdownPreview": "顯示 Markdown 預覽",
13995
+ "copyContext": "複製上下文",
13996
+ "previousChange": "前往上一個變更",
13997
+ "nextChange": "前往下一個變更",
13998
+ "addReviewNote": "新增審查筆記"
13999
+ },
14000
+ "fileExplorer": {
14001
+ "undo": "復原檔案操作",
14002
+ "redo": "重做檔案操作",
14003
+ "copyPath": "複製檔案路徑",
14004
+ "copyRelativePath": "複製相對檔案路徑",
14005
+ "delete": "刪除檔案"
14006
+ },
14007
+ "settings": {
14008
+ "search": "搜尋設定"
14009
+ },
14010
+ "terminal": {
14011
+ "copySelection": "複製終端機選取內容",
14012
+ "paste": "貼上到終端機",
14013
+ "search": "搜尋使用中的窗格",
14014
+ "clear": "清除使用中的窗格",
14015
+ "focusNextPane": "聚焦下一個窗格",
14016
+ "focusPreviousPane": "聚焦上一個窗格",
14017
+ "equalizePaneSizes": "平均分配窗格大小",
14018
+ "expandPane": "展開/摺疊窗格",
14019
+ "setTitle": "設定標題…",
14020
+ "clearPaneTitle": "清除窗格標題",
14021
+ "closePane": "關閉使用中的窗格",
14022
+ "splitRight": "向右分割終端機",
14023
+ "splitDown": "向下分割終端機",
14024
+ "switchInputSource": "切換輸入來源/語言(原生)"
14025
+ }
13836
14026
  }
13837
14027
  };