orca-zh-tw-installer 1.2.1 → 1.2.3

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/README.md CHANGED
@@ -51,6 +51,12 @@ npx orca-zh-tw-installer
51
51
  > 注意:套件名稱是 `orca-zh-tw-installer`。指令名稱雖然是 `orca-zh-tw`,
52
52
  > 但 `npx orca-zh-tw` 會被當成套件名去 registry 查詢而得到 404。
53
53
 
54
+ **請先完全關閉 Orca**(系統匣圖示右鍵 → Quit,不是只關閉視窗)。
55
+ 安裝腳本會偵測 Orca 是否仍在執行並直接中止——因為在執行中替換
56
+ `app.asar` 之後,那個 Orca 實例的 renderer 還握著舊的檔名,
57
+ 去載入時會拋出 `Unexpected token` 並讓側邊欄等面板顯示錯誤。
58
+ 那是一次性的、重啟即消失,但很容易被誤認為語系包壞了。
59
+
54
60
  腳本將自動執行以下流程:
55
61
  1. 自動定位作業系統對應的 Orca 安裝路徑並解包。
56
62
  2. 備份官方 `app.asar`(已含補丁時會保留原本的乾淨備份)。
@@ -18,11 +18,11 @@
18
18
  | **Tier 0b** 格式(空格/標點)| ✅ 完成 | 654 句 / 949 個空格 |
19
19
  | **Tier 0c** 第二輪術語+損壞修復 | ✅ 完成 | 328 處。由批次 #1 審查暴露 |
20
20
  | **Tier 1** 高曝光介面 | ✅ 完成 | 批次 #1–#12(3,502 句)|
21
- | **Tier 2** 長文案 | 未開始 | 批次 #13–#18317 句但 30,898 字)|
22
- | **Tier 3** 設定頁 | ⬜ 未開始 | 批次 #19–#29(3,873 句)|
23
- | **Tier 4** 外部整合 | ⬜ 未開始 | 批次 #30–#36(1,960 句)|
24
- | **Tier 5** 長尾模組 | ⬜ 未開始 | 批次 #37–#39(1,152 句)|
25
- | **Tier 0** 手工精修區 | ⬜ 抽查即可 | 批次 #40(216 句),品質已達標 |
21
+ | **Tier 2** 功能牆/導覽 | 完成 | 批次 #13(310 句/2,730 字)|
22
+ | **Tier 3** 設定頁 | ⬜ 未開始 | 批次 #14–#24(3,873 句)|
23
+ | **Tier 4** 外部整合 | ⬜ 未開始 | 批次 #25–#31(1,960 句)|
24
+ | **Tier 5** 長尾模組 | ⬜ 未開始 | 批次 #32–#34(1,152 句)|
25
+ | **Tier 0** 手工精修區 | ⬜ 抽查即可 | 批次 #35(216 句),品質已達標 |
26
26
 
27
27
  批號以「分批清單」一節為準(由 `scripts/plan-batches.js` 產生)。改動資料後重跑產生器,
28
28
  批號可能位移——別把批號寫進 commit message 以外的地方。
@@ -228,7 +228,7 @@ for(const [k,v] of E) if(v.length<=4&&/[一-鿿]/.test(v)){
228
228
  | #11 | `components.terminal`<br>`components.workspace`<br>`components.orca` | 361 | 4,224 |
229
229
  | #12 | `components.NewWorkspaceComposerCard`<br>`components.new`<br>`components.rightSidebar`<br>`lib.terminal`<br>`lib.workspace` | 171 | 1,800 |
230
230
 
231
- ### Tier 2 — 長文案(導覽/功能牆)
231
+ ### Tier 2 — 功能牆/導覽
232
232
 
233
233
  共 1 個模組、317 句、30,898 字
234
234
 
package/index.js CHANGED
@@ -27,11 +27,41 @@ const asar = require('@electron/asar');
27
27
  // --dry-run:解包、修補、驗證,但不備份也不重新打包。
28
28
  // 可在 Orca 執行中安全使用,用來確認 Orca 更新後錨點是否仍然有效。
29
29
  const DRY_RUN = process.argv.includes('--dry-run');
30
+ // --force:略過「Orca 是否執行中」的檢查。不建議使用,見 countRunningOrca 的說明。
31
+ const FORCE = process.argv.includes('--force');
30
32
  const workDir = path.join(os.tmpdir(), DRY_RUN ? 'orca-zh-tw-patcher-dry' : 'orca-zh-tw-patcher');
31
33
  const unpackedDir = path.join(workDir, 'app.asar.unpacked');
32
34
 
33
35
  const MARK = 'UI_LANGUAGE_TRADITIONAL_CHINESE = "zh-TW"';
34
36
 
37
+ /**
38
+ * 偵測 Orca 是否還在執行。
39
+ *
40
+ * 為什麼要擋:重新打包 app.asar 之後,仍在執行的 Orca 其 renderer 還握著
41
+ * 舊的 lazy chunk 檔名,去載入時檔案已被換掉,會拋出
42
+ * 「Unexpected token」並讓側邊欄等面板的 error boundary 接住。
43
+ * 那是一次性的、重啟即消失的錯誤,但很容易被誤認為語系包壞了。
44
+ *
45
+ * 回傳 process 數量;無法判斷時回傳 -1(不阻擋)。
46
+ */
47
+ function countRunningOrca() {
48
+ const { execFileSync } = require('child_process');
49
+ const run = (cmd, args) => {
50
+ try {
51
+ return execFileSync(cmd, args, { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'] });
52
+ } catch { return null; }
53
+ };
54
+ if (platform === 'win32') {
55
+ const out = run('tasklist', ['/FI', 'IMAGENAME eq Orca.exe', '/NH']);
56
+ if (out === null) return -1;
57
+ return out.split(/\r?\n/).filter(l => /Orca\.exe/i.test(l)).length;
58
+ }
59
+ // macOS / Linux:-x 只比對完全相符的程序名,避免抓到自己的 npx/node
60
+ const out = run('pgrep', ['-x', platform === 'darwin' ? 'Orca' : 'orca']);
61
+ if (out === null) return 0; // pgrep 找不到時回傳非 0 退出碼,會落到 catch
62
+ return out.split('\n').filter(Boolean).length;
63
+ }
64
+
35
65
  /**
36
66
  * 修補器:每個修補都要宣告「如何判斷已完成」。
37
67
  * 若錨點找不到且尚未完成,就記為失敗——絕不靜默略過。
@@ -84,6 +114,25 @@ function patchLocaleGate(p) {
84
114
 
85
115
  async function patch() {
86
116
  try {
117
+ // dry-run 不寫檔,Orca 執行中也能安全跑,故不檢查
118
+ if (!DRY_RUN && !FORCE) {
119
+ const n = countRunningOrca();
120
+ if (n > 0) {
121
+ console.error(`❌ Orca 仍在執行中(偵測到 ${n} 個程序),已中止。\n`);
122
+ console.error(' 請先完全關閉 Orca:系統匣圖示右鍵 → Quit(不是只關閉視窗)。');
123
+ console.error(' 若在修補後才關閉,重新啟動的 Orca 可能出現「Unexpected token」');
124
+ console.error(' 造成側邊欄等面板顯示錯誤——那是舊 chunk 與新檔案不符所致。\n');
125
+ if (platform === 'win32') {
126
+ console.error(' 確認是否關乾淨:');
127
+ console.error(' Get-Process Orca,orca-terminal-daemon -ErrorAction SilentlyContinue\n');
128
+ }
129
+ console.error(' 想在 Orca 執行中檢查相容性,請改用:npm run dry-run');
130
+ console.error(' 確定要強制繼續(不建議):加上 --force');
131
+ process.exitCode = 1;
132
+ return;
133
+ }
134
+ }
135
+
87
136
  console.log('📦 1/6 正在解包 app.asar (這可能需要數十秒)...');
88
137
  if (fs.existsSync(workDir)) fs.rmSync(workDir, { recursive: true, force: true });
89
138
  fs.mkdirSync(workDir, { recursive: true });
@@ -534,7 +534,7 @@
534
534
  "auto.components.GitHubItemDialog.18f80e1329": "{{value0}} 待處理",
535
535
  "auto.components.GitHubItemDialog.b1ac991806": "{{value0}} 失敗中",
536
536
  "auto.components.GitHubItemDialog.checksNeedActionChip": "{{value0}} 需要處理",
537
- "auto.components.GitHubItemDialog.311d0cee55": "{{value0}} 透過",
537
+ "auto.components.GitHubItemDialog.311d0cee55": "{{value0}} 通過",
538
538
  "auto.components.GitHubItemDialog.e52bed9264": "尚未回報任何檢查",
539
539
  "auto.components.GitHubItemDialog.90020cc1f3": "此 Pull Request 尚未回報任何檢查。",
540
540
  "auto.components.GitHubItemDialog.ecffebc251": "找不到檢查",
@@ -786,7 +786,7 @@
786
786
  "auto.components.Landing.ce44fad849": "缺少相依套件",
787
787
  "auto.components.Landing.c1cf168479": "隱藏",
788
788
  "auto.components.Landing.00cee697c1": "在終端機中執行「gh auth login」以連線你的 GitHub 帳號。",
789
- "auto.components.Landing.9f96d018b7": "GitHub CLI 尚未透過身分驗證",
789
+ "auto.components.Landing.9f96d018b7": "GitHub CLI 尚未通過身分驗證",
790
790
  "auto.components.Landing.73e1ad4282": "Orca 使用 GitHub CLI (gh) 顯示 pull request、Issue 與檢查。",
791
791
  "auto.components.Landing.5beaef5f9e": "尚未安裝 GitHub CLI",
792
792
  "auto.components.Landing.b673e7cf1b": "Git 專案、原始碼控制與工作區管理都需要 Git。",
@@ -1000,7 +1000,7 @@
1000
1000
  "auto.components.PullRequestPage.88267924d5": "{{value0}} 待處理",
1001
1001
  "auto.components.PullRequestPage.ae2a34c7b8": "{{value0}} 失敗",
1002
1002
  "auto.components.PullRequestPage.checksNeedActionChip": "{{value0}} 項需要處理",
1003
- "auto.components.PullRequestPage.7c5035931a": "{{value0}} 項透過",
1003
+ "auto.components.PullRequestPage.7c5035931a": "{{value0}} 項通過",
1004
1004
  "auto.components.PullRequestPage.a18d01cda3": "尚未回報任何檢查",
1005
1005
  "auto.components.PullRequestPage.3912daf310": "此 pull request 尚未回報任何檢查。",
1006
1006
  "auto.components.PullRequestPage.45877f5089": "找不到檢查",
@@ -1155,7 +1155,7 @@
1155
1155
  "auto.components.QuickOpen.995be8ea22": "複製",
1156
1156
  "auto.components.QuickOpen.cf144856dc": "已複製",
1157
1157
  "auto.components.SelectedTextCopyMenu.9b40d7b018": "複製",
1158
- "auto.components.StarNagCard.92b0f9d921": "已透過驗證,然後再試一次。",
1158
+ "auto.components.StarNagCard.92b0f9d921": "已通過驗證,然後再試一次。",
1159
1159
  "auto.components.StarNagCard.cd8c34aac1": "gh",
1160
1160
  "auto.components.StarNagCard.cf82170065": "無法為存放庫加上星號。請確認",
1161
1161
  "auto.components.StarNagCard.30c36231c1": "Orca 是開放原始碼軟體。如果它今天幫上了忙,在 GitHub 上加星號能幫助其他開發者找到它。",
@@ -1618,8 +1618,8 @@
1618
1618
  "auto.components.github.pr.merge.state.b169f943e1": "就緒後 merge",
1619
1619
  "auto.components.github.pr.merge.state.62703b1dc4": "此 PR 已啟用 GitHub 自動 merge",
1620
1620
  "auto.components.github.pr.merge.state.48d75ae118": "停用自動 merge",
1621
- "auto.components.github.pr.merge.state.a5b66afb58": "檢查已透過",
1622
- "auto.components.github.pr.merge.state.fbd4f57f0a": "檢查已透過。在 merge 前會再次確認 merge 資格。",
1621
+ "auto.components.github.pr.merge.state.a5b66afb58": "檢查已通過",
1622
+ "auto.components.github.pr.merge.state.fbd4f57f0a": "檢查已通過。在 merge 前會再次確認 merge 資格。",
1623
1623
  "auto.components.github.pr.merge.state.4ab19a62ef": "啟用自動 merge",
1624
1624
  "auto.components.github.pr.merge.state.8f6cb3772f": "符合要求後自動 merge 此 PR",
1625
1625
  "auto.components.github.project.ColumnResizeHandle.1304289353": "調整欄寬",
@@ -3820,7 +3820,7 @@
3820
3820
  "auto.components.sidebar.newExternalWorktreesInboxActions.b7e4d1a062": "無法匯入外部 Worktree。請重試。",
3821
3821
  "auto.components.sidebar.newExternalWorktreesInboxActions.c94f0b3a15": "無法永久隱藏外部 Worktree。請重試。",
3822
3822
  "auto.components.sidebar.SuppressExternalWorktreeInboxDialog.a4c2d8f1b0": "要隱藏外部 Worktree 嗎?",
3823
- "auto.components.sidebar.SuppressExternalWorktreeInboxDialog.6e91b3c4d2": "{{value0}} 的外部 Worktree 將不再顯示在側邊欄或此清單中,套件括之後建立的 Worktree。",
3823
+ "auto.components.sidebar.SuppressExternalWorktreeInboxDialog.6e91b3c4d2": "{{value0}} 的外部 Worktree 將不再顯示在側邊欄或此清單中,包括之後建立的 Worktree。",
3824
3824
  "auto.components.sidebar.SuppressExternalWorktreeInboxDialog.1f8a5d9e73": "之後可以在專案設定中重新開啟。",
3825
3825
  "auto.components.sidebar.SuppressExternalWorktreeInboxDialog.8c0b2e7a41": "開啟 Non-Orca Worktree 設定",
3826
3826
  "auto.components.sidebar.SuppressExternalWorktreeInboxDialog.5d1c9f0a82": "取消",
@@ -4690,14 +4690,14 @@
4690
4690
  "auto.components.settings.IntegrationsPane.264a9b6128": "Linear",
4691
4691
  "auto.components.settings.IntegrationsPane.4831ba1083": "重新檢查",
4692
4692
  "auto.components.settings.IntegrationsPane.01f6c7582e": "了解更多",
4693
- "auto.components.settings.IntegrationsPane.1a62c295c6": "Gitea 憑證已設定,但無法透過驗證。請檢查 token、API 基底 URL 和存放庫權限;若環境變數有變更,請重新啟動 Orca。",
4693
+ "auto.components.settings.IntegrationsPane.1a62c295c6": "Gitea 憑證已設定,但無法通過驗證。請檢查 token、API 基底 URL 和存放庫權限;若環境變數有變更,請重新啟動 Orca。",
4694
4694
  "auto.components.settings.IntegrationsPane.5a1f86225a": "僅當 Orca 無法從遠端推匯出 API URL 時。",
4695
4695
  "auto.components.settings.IntegrationsPane.6193444689": "ORCA_GITEA_API_BASE_URL",
4696
4696
  "auto.components.settings.IntegrationsPane.2c0330ec3e": "用於私有存放庫,並設定",
4697
4697
  "auto.components.settings.IntegrationsPane.e678d89e8c": "ORCA_GITEA_TOKEN",
4698
4698
  "auto.components.settings.IntegrationsPane.d9467ab026": "公開存放庫會從其 git 遠端偵測。設定",
4699
4699
  "auto.components.settings.IntegrationsPane.4ab9b96925": "Gitea",
4700
- "auto.components.settings.IntegrationsPane.953b7bf6f7": "Azure DevOps 憑證已設定,但無法透過驗證。請檢查 token、API 基底 URL 和存放庫權限;若環境變數有變更,請重新啟動 Orca。",
4700
+ "auto.components.settings.IntegrationsPane.953b7bf6f7": "Azure DevOps 憑證已設定,但無法通過驗證。請檢查 token、API 基底 URL 和存放庫權限;若環境變數有變更,請重新啟動 Orca。",
4701
4701
  "auto.components.settings.IntegrationsPane.6f317f5132": "僅當 Orca 無法從 git 遠端推匯出 API 基底 URL 時。",
4702
4702
  "auto.components.settings.IntegrationsPane.ae6b7f5f40": "ORCA_AZURE_DEVOPS_API_BASE_URL",
4703
4703
  "auto.components.settings.IntegrationsPane.67a9f26a80": "。設定",
@@ -4706,14 +4706,14 @@
4706
4706
  "auto.components.settings.IntegrationsPane.5ee6ef6405": "ORCA_AZURE_DEVOPS_TOKEN",
4707
4707
  "auto.components.settings.IntegrationsPane.4ee74d1470": "設定",
4708
4708
  "auto.components.settings.IntegrationsPane.5efce6953d": "Azure DevOps",
4709
- "auto.components.settings.IntegrationsPane.3c3cf05c63": "Bitbucket 憑證已設定,但無法透過驗證。請檢查 token 與存放庫權限,若環境變數有變更,請重新啟動 Orca。",
4709
+ "auto.components.settings.IntegrationsPane.3c3cf05c63": "Bitbucket 憑證已設定,但無法通過驗證。請檢查 token 與存放庫權限,若環境變數有變更,請重新啟動 Orca。",
4710
4710
  "auto.components.settings.IntegrationsPane.6e0ff3403e": "ORCA_BITBUCKET_ACCESS_TOKEN",
4711
4711
  "auto.components.settings.IntegrationsPane.44cde4aa01": "ORCA_BITBUCKET_API_TOKEN",
4712
4712
  "auto.components.settings.IntegrationsPane.a6c2816115": "和",
4713
4713
  "auto.components.settings.IntegrationsPane.b8a7efb3f6": "ORCA_BITBUCKET_EMAIL",
4714
4714
  "auto.components.settings.IntegrationsPane.8489c0aa49": "Bitbucket",
4715
4715
  "auto.components.settings.IntegrationsPane.e74de656ce": "glab auth login",
4716
- "auto.components.settings.IntegrationsPane.05e5245af7": "GitLab CLI 已安裝但尚未透過驗證。請在終端機中執行此命令:",
4716
+ "auto.components.settings.IntegrationsPane.05e5245af7": "GitLab CLI 已安裝但尚未通過驗證。請在終端機中執行此命令:",
4717
4717
  "auto.components.settings.IntegrationsPane.a83cac5726": "安裝 GitLab CLI",
4718
4718
  "auto.components.settings.IntegrationsPane.35a3379372": "安裝 GitLab CLI 以啟用 merge request、Issue 與管線。",
4719
4719
  "auto.components.settings.IntegrationsPane.ea160a9978": "CLI。",
@@ -4721,7 +4721,7 @@
4721
4721
  "auto.components.settings.IntegrationsPane.027440e1cb": "merge request、Issue、待辦事項與管線,透過",
4722
4722
  "auto.components.settings.IntegrationsPane.513abfe47d": "GitLab",
4723
4723
  "auto.components.settings.IntegrationsPane.51000487c4": "gh auth login",
4724
- "auto.components.settings.IntegrationsPane.09285e9fe6": "GitHub CLI 已安裝但尚未透過驗證。請在終端機中執行此命令:",
4724
+ "auto.components.settings.IntegrationsPane.09285e9fe6": "GitHub CLI 已安裝但尚未通過驗證。請在終端機中執行此命令:",
4725
4725
  "auto.components.settings.IntegrationsPane.399cf46867": "安裝 GitHub CLI",
4726
4726
  "auto.components.settings.IntegrationsPane.c0c8575e05": "安裝 GitHub CLI 以啟用 pull request、Issue 與檢查。",
4727
4727
  "auto.components.settings.IntegrationsPane.f36365ed45": "gh",
@@ -4750,7 +4750,7 @@
4750
4750
  "auto.components.settings.IntegrationsPane.0879860c58": "透過 Bitbucket Cloud API token 取得 pull request 與建置狀態。",
4751
4751
  "auto.components.settings.IntegrationsPane.9707523939": "pull request 與建置狀態",
4752
4752
  "auto.components.settings.IntegrationsPane.a565377c38": "未安裝",
4753
- "auto.components.settings.IntegrationsPane.15cf990798": "尚未透過驗證",
4753
+ "auto.components.settings.IntegrationsPane.15cf990798": "尚未通過驗證",
4754
4754
  "auto.components.settings.IntegrationsPane.f7eb5f0b24": "未安裝",
4755
4755
  "auto.components.settings.IntegrationsPane.3ba07f933b": "連線 Orca 可用來瀏覽任務並以連結的內容啟動工作區的 Issue 追蹤工具。",
4756
4756
  "auto.components.settings.IntegrationsPane.70e885705b": "任務提供者",
@@ -4816,7 +4816,7 @@
4816
4816
  "auto.components.settings.MobileEmulatorAgentControlRow.1861982430": "無法載入 CLI 狀態。",
4817
4817
  "auto.components.settings.MobileEmulatorAgentControlRow.8af7a8bc38": "命令會以目前 Worktree 的作用中模擬器為目標。座標以 0..1 標準化。",
4818
4818
  "auto.components.settings.MobileEmulatorAgentControlRow.c7f3fe0a6e": "常用模擬器命令",
4819
- "auto.components.settings.MobileEmulatorAgentControlRow.d94ca6a623": "讓 Agent 能使用 Orca CLI 命令,套件括行動裝置模擬器控制。",
4819
+ "auto.components.settings.MobileEmulatorAgentControlRow.d94ca6a623": "讓 Agent 能使用 Orca CLI 命令,包括行動裝置模擬器控制。",
4820
4820
  "auto.components.settings.MobileEmulatorAgentControlRow.67e19ee03c": "Orca CLI 技能",
4821
4821
  "auto.components.settings.MobileEmulatorAgentControlRow.aaf62a3dd2": "安裝於",
4822
4822
  "auto.components.settings.MobileEmulatorAgentControlRow.2fef055608": "註冊 Orca CLI 命令,讓 Agent 可以從其 shell 控制作用中的模擬器。",
@@ -7114,7 +7114,7 @@
7114
7114
  "auto.components.settings.terminal.clipboard.search.10d73e22d3": "剪貼簿",
7115
7115
  "auto.components.settings.terminal.clipboard.search.9dfc125cd3": "作業系統 52",
7116
7116
  "auto.components.settings.terminal.clipboard.search.62d1208b90": "振盪器 52",
7117
- "auto.components.settings.terminal.clipboard.search.459fea094a": "讓 CLI 中的程式透過 OSC 52(套件括透過 SSH)複製到系統剪貼簿。",
7117
+ "auto.components.settings.terminal.clipboard.search.459fea094a": "讓 CLI 中的程式透過 OSC 52(包括透過 SSH)複製到系統剪貼簿。",
7118
7118
  "auto.components.settings.terminal.clipboard.search.74db8721e4": "允許 TUI 剪貼簿寫入 (OSC 52)",
7119
7119
  "auto.components.settings.terminal.clipboard.search.4043e294d2": "gnome",
7120
7120
  "auto.components.settings.terminal.clipboard.search.cf83ac3dbd": "作業系統",
@@ -7145,7 +7145,7 @@
7145
7145
  "auto.components.settings.terminal.search.3023e01415": "覆蓋各個 CLI 顏色。",
7146
7146
  "auto.components.settings.terminal.search.aed2a4b4eb": "顏色覆蓋",
7147
7147
  "auto.components.settings.terminal.search.6eaf7ee0e4": "遊標",
7148
- "auto.components.settings.terminal.search.34fe1af39d": "打字",
7148
+ "auto.components.settings.terminal.search.34fe1af39d": "輸入",
7149
7149
  "auto.components.settings.terminal.search.ee611ae238": "隱藏",
7150
7150
  "auto.components.settings.terminal.search.ea364ce6e4": "老鼠",
7151
7151
  "auto.components.settings.terminal.search.77201c0bb2": "在 CLI 中輸入時隱藏滑鼠遊標。",
@@ -7391,7 +7391,7 @@
7391
7391
  "auto.components.settings.cli.source.control.integration.cards.d5b3be8ecd": "重新檢查",
7392
7392
  "auto.components.settings.cli.source.control.integration.cards.8cbc39f862": "了解更多",
7393
7393
  "auto.components.settings.cli.source.control.integration.cards.707180d09c": "glab auth login",
7394
- "auto.components.settings.cli.source.control.integration.cards.4be0616873": "GitLab CLI 已安裝但未透過驗證。請在 CLI 中執行此命令:",
7394
+ "auto.components.settings.cli.source.control.integration.cards.4be0616873": "GitLab CLI 已安裝但未通過驗證。請在 CLI 中執行此命令:",
7395
7395
  "auto.components.settings.cli.source.control.integration.cards.54a640af7a": "安裝 GitLab CLI",
7396
7396
  "auto.components.settings.cli.source.control.integration.cards.b56fd5676a": "安裝 GitLab CLI 以啟用 Merge Request、Issue 和流水線。",
7397
7397
  "auto.components.settings.cli.source.control.integration.cards.faddeb763d": "此執行時暫不支援 GitLab CLI 狀態。",
@@ -7399,7 +7399,7 @@
7399
7399
  "auto.components.settings.cli.source.control.integration.cards.2a6b359e75": "glab",
7400
7400
  "auto.components.settings.cli.source.control.integration.cards.1f2b347bd3": "通過",
7401
7401
  "auto.components.settings.cli.source.control.integration.cards.8d90249d22": "gh auth login",
7402
- "auto.components.settings.cli.source.control.integration.cards.2e44dda68a": "GitHub CLI 已安裝但未透過驗證。請在 CLI 中執行此命令:",
7402
+ "auto.components.settings.cli.source.control.integration.cards.2e44dda68a": "GitHub CLI 已安裝但未通過驗證。請在 CLI 中執行此命令:",
7403
7403
  "auto.components.settings.cli.source.control.integration.cards.7755c28af5": "安裝 GitHub CLI",
7404
7404
  "auto.components.settings.cli.source.control.integration.cards.23cb5a0dee": "安裝 GitHub CLI 以啟用 Pull Request、Issue 和檢查。",
7405
7405
  "auto.components.settings.cli.source.control.integration.cards.6f30fc4216": "此執行時暫不支援 GitHub CLI 狀態。",
@@ -7431,7 +7431,7 @@
7431
7431
  "auto.components.settings.task.tracker.integration.cards.977e360b71": "使用 API token 連線 Jira Cloud 站點,或使用個人存取權杖或使用者名稱和密碼連線自託管 Jira。認證儲存在本機,本機執行時儲存支援時會進行加密。",
7432
7432
  "auto.components.settings.token.source.control.integration.cards.793a06e899": "重新檢查",
7433
7433
  "auto.components.settings.token.source.control.integration.cards.1a9475dace": "了解更多",
7434
- "auto.components.settings.token.source.control.integration.cards.19fb419c12": "Gitea 認證已設定但無法透過驗證。請檢查 token、API 基礎 URL 和存放庫權限;如果環境變數已變更,請重新啟動 Orca。",
7434
+ "auto.components.settings.token.source.control.integration.cards.19fb419c12": "Gitea 認證已設定但無法通過驗證。請檢查 token、API 基礎 URL 和存放庫權限;如果環境變數已變更,請重新啟動 Orca。",
7435
7435
  "auto.components.settings.token.source.control.integration.cards.60708f23da": "僅當 Orca 無法從 remote 推匯出 API URL 時。",
7436
7436
  "auto.components.settings.token.source.control.integration.cards.709057ad91": "ORCA_GITEA_API_BASE_URL",
7437
7437
  "auto.components.settings.token.source.control.integration.cards.6da9dfa5de": "用於私有存放庫,並設定",
@@ -7441,7 +7441,7 @@
7441
7441
  "auto.components.settings.token.source.control.integration.cards.05863d2599": "透過 Gitea REST API 取得 pull request 和 commit 狀態。",
7442
7442
  "auto.components.settings.token.source.control.integration.cards.52f75876be": "已偵測存放庫的 pull request 和 commit 狀態",
7443
7443
  "auto.components.settings.token.source.control.integration.cards.0b5242f8a2": "{{value0}} · Pull Request 和提交狀態",
7444
- "auto.components.settings.token.source.control.integration.cards.40f678df73": "Azure DevOps 認證已設定但無法透過驗證。請檢查 token、API 基礎 URL 和存放庫權限;如果環境變數已變更,請重新啟動 Orca。",
7444
+ "auto.components.settings.token.source.control.integration.cards.40f678df73": "Azure DevOps 認證已設定但無法通過驗證。請檢查 token、API 基礎 URL 和存放庫權限;如果環境變數已變更,請重新啟動 Orca。",
7445
7445
  "auto.components.settings.token.source.control.integration.cards.7bd345e3f6": "僅當 Orca 無法從 git remote 推匯出 API 基礎 URL 時。",
7446
7446
  "auto.components.settings.token.source.control.integration.cards.186a6689df": "ORCA_AZURE_DEVOPS_API_BASE_URL",
7447
7447
  "auto.components.settings.token.source.control.integration.cards.b8a10b07c1": "。設定",
@@ -7453,7 +7453,7 @@
7453
7453
  "auto.components.settings.token.source.control.integration.cards.0eb50d5593": "透過 Azure DevOps REST API token 取得 pull request 和建置狀態。",
7454
7454
  "auto.components.settings.token.source.control.integration.cards.54636c65d4": "已偵測 Azure Repos 的 pull request 和建置狀態",
7455
7455
  "auto.components.settings.token.source.control.integration.cards.ea204f5e03": "{{value0}} · Pull Request 和建置狀態",
7456
- "auto.components.settings.token.source.control.integration.cards.6154b02093": "Bitbucket 認證已設定但無法透過驗證。請檢查 token 和存放庫權限;如果環境變數已變更,請重新啟動 Orca。",
7456
+ "auto.components.settings.token.source.control.integration.cards.6154b02093": "Bitbucket 認證已設定但無法通過驗證。請檢查 token 和存放庫權限;如果環境變數已變更,請重新啟動 Orca。",
7457
7457
  "auto.components.settings.token.source.control.integration.cards.e63fe8f627": "ORCA_BITBUCKET_ACCESS_TOKEN",
7458
7458
  "auto.components.settings.token.source.control.integration.cards.19416c874c": "ORCA_BITBUCKET_API_TOKEN",
7459
7459
  "auto.components.settings.token.source.control.integration.cards.fc71a0e7aa": "和",
@@ -7573,7 +7573,7 @@
7573
7573
  "auto.components.settings.ShortcutRecorderButton.f5ed5dcbf6": "按下按鍵…",
7574
7574
  "auto.components.settings.ShortcutRemoveButton.9e29aff18b": "移除 {{value0}} 快速鍵 {{value1}}",
7575
7575
  "auto.components.settings.ShortcutRemoveButton.2a9588b1c2": "移除此繫結",
7576
- "auto.components.settings.BrowserLocalhostWorktreeLabelsSetting.8ac8c3ad19": "本機主機 Worktree 標籤",
7576
+ "auto.components.settings.BrowserLocalhostWorktreeLabelsSetting.8ac8c3ad19": "localhost Worktree 標籤",
7577
7577
  "auto.components.settings.BrowserLocalhostWorktreeLabelsSetting.1db3c8b983": "將 Worktree 埠開啟為特定於 Worktree 的 Orca localhost URL,便於區分瀏覽器分頁。",
7578
7578
  "auto.components.settings.AgentRuntimeSetting.label": "Agent 執行時",
7579
7579
  "auto.components.settings.AgentRuntimeSetting.wsl": "WSL",
@@ -8804,12 +8804,12 @@
8804
8804
  "auto.components.repo.repo.icon.febfbe0cd5": "工具",
8805
8805
  "auto.components.repo.repo.icon.ecf63ec3ef": "啟動",
8806
8806
  "auto.components.repo.repo.icon.31826b712e": "API",
8807
- "auto.components.repo.repo.icon.70bef15d40": "層數",
8807
+ "auto.components.repo.repo.icon.70bef15d40": "圖層",
8808
8808
  "auto.components.repo.repo.icon.b5fac337aa": "計算",
8809
8809
  "auto.components.repo.repo.icon.d37b4e2641": "伺服器",
8810
8810
  "auto.components.repo.repo.icon.3c5a593bc8": "網路",
8811
8811
  "auto.components.repo.repo.icon.477b28c948": "資料庫",
8812
- "auto.components.repo.repo.icon.787490e9bd": "套件裹",
8812
+ "auto.components.repo.repo.icon.787490e9bd": "包裹",
8813
8813
  "auto.components.repo.repo.icon.07012dc113": "Agent",
8814
8814
  "auto.components.repo.repo.icon.3eba7387ab": "CLI",
8815
8815
  "auto.components.repo.repo.icon.65b437c381": "程式碼",
@@ -9141,7 +9141,7 @@
9141
9141
  "auto.components.mobile.slides.TerminalSlide.58a9ee6003": "工具呼叫格式化。接下來要我新增差異嗎?",
9142
9142
  "auto.components.mobile.slides.TerminalSlide.aa64b519c6": "終端機螢幕。Tokyonight 配色,Menlo,真實 Claude",
9143
9143
  "auto.components.mobile.slides.TerminalSlide.e75112c834": "我已經用高保真幻燈片取代了配對掃描幻燈片",
9144
- "auto.components.mobile.slides.TerminalSlide.3ce3e8c892": "14 次透過,1 次跳過(1.8 秒)",
9144
+ "auto.components.mobile.slides.TerminalSlide.3ce3e8c892": "14 次通過,1 次跳過(1.8 秒)",
9145
9145
  "auto.components.mobile.slides.TerminalSlide.4b3666f9a9": "src/cache/worktree-cache.test.ts",
9146
9146
  "auto.components.mobile.slides.TerminalSlide.1d448b69f7": "經過",
9147
9147
  "auto.components.mobile.slides.TerminalSlide.d39445686a": "src/transport/host-store.test.ts",
@@ -9151,7 +9151,7 @@
9151
9151
  "auto.components.mobile.slides.TerminalSlide.336c0e070e": "手機/orca-mobile-sidebar-mock-v3.html",
9152
9152
  "auto.components.mobile.slides.TerminalSlide.6d4ebd5833": "編輯",
9153
9153
  "auto.components.mobile.slides.TerminalSlide.fc83e0d5ef": "⎿ 閱讀 2103 行",
9154
- "auto.components.mobile.slides.TerminalSlide.80cc356591": "",
9154
+ "auto.components.mobile.slides.TerminalSlide.80cc356591": "Read",
9155
9155
  "auto.components.mobile.slides.TerminalSlide.2c10d43745": "claude",
9156
9156
  "auto.components.mobile.slides.TerminalSlide.e0f98be657": "Orca/壯舉-手機頁面",
9157
9157
  "auto.components.mobile.slides.TerminalSlide.2defc05141": "開發@mac",
@@ -9247,7 +9247,7 @@
9247
9247
  "auto.components.feature.wall.AgentCapabilitiesSetupAction.b8dc9dd8a2": "已安裝",
9248
9248
  "auto.components.feature.wall.AgentCapabilitiesSetupAction.1b51644c2d": "讓 Agent 控制桌面、手機遊標、按一下並在任何應用程式中鍵入。",
9249
9249
  "auto.components.feature.wall.AgentCapabilitiesSetupAction.362a07517d": "電腦控制",
9250
- "auto.components.feature.wall.AgentCapabilitiesSetupAction.5e8fe5a72d": "讓 Agent 直接存取 Orca 的瀏覽器,以便測試頁面、捕獲螢幕截圖並根據所見內容執行操作。",
9250
+ "auto.components.feature.wall.AgentCapabilitiesSetupAction.5e8fe5a72d": "讓 Agent 直接存取 Orca 的瀏覽器,以便測試頁面、擷取螢幕截圖並根據所見內容執行操作。",
9251
9251
  "auto.components.feature.wall.AgentCapabilitiesSetupAction.e638da007a": "Agent 瀏覽器使用",
9252
9252
  "auto.components.feature.wall.AgentCapabilitiesSetupAction.c61c91e642": "讓 Agent 透過 Orca 進行協調,以確保大型、多步驟的任務順利完成。",
9253
9253
  "auto.components.feature.wall.AgentCapabilitiesSetupAction.ac07f8887f": "Agent 編排",
@@ -9258,7 +9258,7 @@
9258
9258
  "auto.components.feature.wall.AgentCapabilitiesSetupAction.c89534cbe9": "安裝 CLI 和技能",
9259
9259
  "auto.components.feature.wall.AiCommitPrSettingsCard.8d4152701a": "例如 llama 執行 llama3.1 {{value0}}",
9260
9260
  "auto.components.feature.wall.AiCommitPrSettingsCard.9ee54037a4": "自訂命令",
9261
- "auto.components.feature.wall.AiCommitPrSettingsCard.4b2fc4b80c": "思考努力",
9261
+ "auto.components.feature.wall.AiCommitPrSettingsCard.4b2fc4b80c": "思考強度",
9262
9262
  "auto.components.feature.wall.AiCommitPrSettingsCard.be8917699e": "模型",
9263
9263
  "auto.components.feature.wall.AiCommitPrSettingsCard.4d9b6d84df": "不支援。選擇 Claude、Codex 或 Custom。",
9264
9264
  "auto.components.feature.wall.AiCommitPrSettingsCard.560d4feb00": "自訂",
@@ -9277,15 +9277,15 @@
9277
9277
  "auto.components.feature.wall.BrowserAnimatedVisual.0f8481e1a7": "傳送給 Claude",
9278
9278
  "auto.components.feature.wall.BrowserAnimatedVisual.3d2352f94b": "描述一下變更…",
9279
9279
  "auto.components.feature.wall.BrowserAnimatedVisual.d8856b604a": "div.pricing-grid > div.card.starter:nth-of-type(1) > a.cta",
9280
- "auto.components.feature.wall.BrowserAnimatedVisual.7da6eed7bf": "本機主機:3000",
9280
+ "auto.components.feature.wall.BrowserAnimatedVisual.7da6eed7bf": "localhost:3000",
9281
9281
  "auto.components.feature.wall.BrowserAnimatedVisual.0a2bd01c02": "新瀏覽器分頁",
9282
9282
  "auto.components.feature.wall.BrowserAnimatedVisual.04096318ab": "CLI 1",
9283
9283
  "auto.components.feature.wall.BrowserAnimatedVisual.eb88125c6f": "✓ 已驗證 — 免費試用仍然有效。",
9284
9284
  "auto.components.feature.wall.BrowserAnimatedVisual.051c97d15a": ".pp-card[data-card=\"starter\"] .pp-cta",
9285
9285
  "auto.components.feature.wall.BrowserAnimatedVisual.4fa59ca545": "✓ 更新",
9286
9286
  "auto.components.feature.wall.BrowserAnimatedVisual.1bec24acc1": "@keyframes browserFlash { 0% { opacity: 0; } 20% { opacity: 0.85; } 100% { opacity: 0; } } @keyframes browserTabIn { from { opacity: 0; transform: translateY(-2px); } to { opacity: 1; transform: none; } } @keyframes browserViewIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }",
9287
- "auto.components.feature.wall.BrowserAnimatedVisual.73bbb46073": "/定價",
9288
- "auto.components.feature.wall.BrowserAnimatedVisual.f39be6ca14": "/報名",
9287
+ "auto.components.feature.wall.BrowserAnimatedVisual.73bbb46073": "/pricing",
9288
+ "auto.components.feature.wall.BrowserAnimatedVisual.f39be6ca14": "/signup",
9289
9289
  "auto.components.feature.wall.BrowserUseSkillSetupCard.cbc45022d4": "使 Agent 能夠在 Orca 瀏覽器中瀏覽和驗證頁面。",
9290
9290
  "auto.components.feature.wall.BrowserUseSkillSetupCard.d5bb1cd4ba": "瀏覽器使用技能",
9291
9291
  "auto.components.feature.wall.ComputerUseAnimatedVisual.d8401975b1": "已核准",
@@ -9317,26 +9317,26 @@
9317
9317
  "auto.components.feature.wall.EditorAnimatedVisual.22ae7b4d9d": "給團隊的一句簡短說明——在釋出前彙總剩餘工作。",
9318
9318
  "auto.components.feature.wall.EditorAnimatedVisual.5a55c00a81": "推出計劃",
9319
9319
  "auto.components.feature.wall.EditorAnimatedVisual.218503f9f3": "自動儲存",
9320
- "auto.components.feature.wall.EditorAnimatedVisual.cda56c5915": "筆記/launch-plan.md",
9320
+ "auto.components.feature.wall.EditorAnimatedVisual.cda56c5915": "notes/launch-plan.md",
9321
9321
  "auto.components.feature.wall.EditorAnimatedVisual.e16479c1c5": "[data-slash-menu] [data-slash-row].slash-active { background: rgba(24,24,27,0.07); box-shadow: inset 0 0 0 1px rgba(24,24,27,0.06); } [data-md-active-line][data-role=\"active\"] { color: rgb(113 113 122); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12.5px; } [data-md-active-line][data-role=\"h1\"] { color: inherit; font-family: inherit; font-size: 18px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; margin-top: 6px; } [data-md-caret] { display: inline-block; width: 1.5px; height: 1em; background: currentColor; vertical-align: -2px; margin-left: 1px; animation: md-caret-blink 1.05s steps(1) infinite; } @keyframes md-caret-blink { 0%, 50% { opacity: 1 } 51%, 100% { opacity: 0 } } @keyframes md-block-in { from { opacity: 0; transform: translateY(-2px); } to { opacity: 1; transform: none; } } @keyframes md-cursor-ripple { 0% { transform: scale(0.4); opacity: 0.9; } 100% { transform: scale(1.4); opacity: 0; } } [data-clicking=\"1\"] [data-cursor-ripple] { animation: md-cursor-ripple 460ms ease-out forwards; }",
9322
9322
  "auto.components.feature.wall.FeatureTourPreview.1170621527": ">",
9323
9323
  "auto.components.feature.wall.FeatureTourPreview.304ad0dfc1": "思維…",
9324
9324
  "auto.components.feature.wall.FeatureTourPreview.ef8b164dd1": "審查 src/auth",
9325
9325
  "auto.components.feature.wall.FeatureTourPreview.952d3ddd9a": "工作階段開始",
9326
9326
  "auto.components.feature.wall.FeatureTourPreview.771d8881c2": "claude",
9327
- "auto.components.feature.wall.FeatureTourPreview.6ed43cb0e0": "儀錶板規格.ts",
9328
- "auto.components.feature.wall.FeatureTourPreview.24fedd5a52": "登入規格",
9327
+ "auto.components.feature.wall.FeatureTourPreview.6ed43cb0e0": "dashboard.spec.ts",
9328
+ "auto.components.feature.wall.FeatureTourPreview.24fedd5a52": "login.spec",
9329
9329
  "auto.components.feature.wall.FeatureTourPreview.8279e9d95b": "執行 12 項測試",
9330
- "auto.components.feature.wall.FeatureTourPreview.6218a9014d": "pnpm 劇作家測試",
9330
+ "auto.components.feature.wall.FeatureTourPreview.6218a9014d": "pnpm playwright test",
9331
9331
  "auto.components.feature.wall.FeatureTourPreview.04d54d50ec": "Orca·zsh",
9332
9332
  "auto.components.feature.wall.FeatureTourPreview.1aa8a9a24a": "可分割 CLI",
9333
9333
  "auto.components.feature.wall.FeatureTourPreview.2a7cfc82c8": "連結到 GH #1842",
9334
- "auto.components.feature.wall.FeatureTourPreview.3822d8d14b": "修復/worktree-picker-截斷",
9335
- "auto.components.feature.wall.FeatureTourPreview.d54aefe09e": "林-329",
9334
+ "auto.components.feature.wall.FeatureTourPreview.3822d8d14b": "fix/worktree-picker-truncation",
9335
+ "auto.components.feature.wall.FeatureTourPreview.d54aefe09e": "LIN-329",
9336
9336
  "auto.components.feature.wall.FeatureTourPreview.40bbd92ef4": "開始",
9337
9337
  "auto.components.feature.wall.FeatureTourPreview.c1f28c03b2": "Worktree 選擇器截斷",
9338
9338
  "auto.components.feature.wall.FeatureTourPreview.fc0cc0b267": "GH #1842",
9339
- "auto.components.feature.wall.FeatureTourPreview.0688842445": "GH#1799",
9339
+ "auto.components.feature.wall.FeatureTourPreview.0688842445": "GH #1799",
9340
9340
  "auto.components.feature.wall.FeatureTourPreview.bee6b4088d": "GitHub 和 Linear 任務",
9341
9341
  "auto.components.feature.wall.FeatureTourPreview.5171768676": "協調 3 個 Agent",
9342
9342
  "auto.components.feature.wall.FeatureTourPreview.cebc7769cd": "重新設計驗證流程",
@@ -9381,12 +9381,12 @@
9381
9381
  "auto.components.feature.wall.ReviewNotesAnimatedVisual.294aaff104": "傳送註解至",
9382
9382
  "auto.components.feature.wall.ReviewNotesAnimatedVisual.ea4e45b71b": "新增備註",
9383
9383
  "auto.components.feature.wall.ReviewNotesAnimatedVisual.271ea0cbf3": "取消",
9384
- "auto.components.feature.wall.ReviewNotesAnimatedVisual.a7a89d8f94": "",
9384
+ "auto.components.feature.wall.ReviewNotesAnimatedVisual.a7a89d8f94": "",
9385
9385
  "auto.components.feature.wall.ReviewNotesAnimatedVisual.5cb213f967": "AI 筆記",
9386
9386
  "auto.components.feature.wall.ReviewNotesAnimatedVisual.1eee3a397e": "src/server/migrate.ts(差異)",
9387
9387
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.7c2808ecff": "合併前截斷。",
9388
9388
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.c2062da7ec": "標準錯誤",
9389
- "auto.components.feature.wall.ReviewPRViewAnimatedVisual.6f4c2d7cb7": "新增承保案例",
9389
+ "auto.components.feature.wall.ReviewPRViewAnimatedVisual.6f4c2d7cb7": "新增測試涵蓋案例",
9390
9390
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.71828fba75": "我們可以將失敗的命令包含在診斷負載中嗎?",
9391
9391
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.fb1a856b6d": "開啟",
9392
9392
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.7a8b896e11": "留言",
@@ -9394,8 +9394,8 @@
9394
9394
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.25f6838e43": "Lint",
9395
9395
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.2ef0b97954": "型別檢查",
9396
9396
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.8ed213397c": "執行中",
9397
- "auto.components.feature.wall.ReviewPRViewAnimatedVisual.d340c052fb": "核實",
9398
- "auto.components.feature.wall.ReviewPRViewAnimatedVisual.9a097cae12": "1 待定",
9397
+ "auto.components.feature.wall.ReviewPRViewAnimatedVisual.d340c052fb": "驗證",
9398
+ "auto.components.feature.wall.ReviewPRViewAnimatedVisual.9a097cae12": "1 個待處理",
9399
9399
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.2f37142229": "壓縮合併",
9400
9400
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.0aab7ab84a": "新增本機診斷錯誤追蹤",
9401
9401
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.dfe313e0c9": "開啟",
@@ -9403,7 +9403,7 @@
9403
9403
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.ab2901bce6": "檢查",
9404
9404
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.d7f80060ca": "原始碼控制",
9405
9405
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.8e715588e4": "搜尋",
9406
- "auto.components.feature.wall.ReviewPRViewAnimatedVisual.a6c8b9e32f": "檢查已透過",
9406
+ "auto.components.feature.wall.ReviewPRViewAnimatedVisual.a6c8b9e32f": "檢查已通過",
9407
9407
  "auto.components.feature.wall.ReviewPRViewAnimatedVisual.f4d5e1a7b2": "3 個檢查",
9408
9408
  "auto.components.feature.wall.ReviewShipAnimatedVisual.4d99496b8c": "建立 PR",
9409
9409
  "auto.components.feature.wall.ReviewShipAnimatedVisual.62544e0852": "取消",
@@ -9434,9 +9434,9 @@
9434
9434
  "auto.components.feature.wall.WorkbenchAnimatedVisual.e370fa8c2b": "向右分割 CLI",
9435
9435
  "auto.components.feature.wall.WorkbenchAnimatedVisual.b85eab49dd": "src/auth/session.ts",
9436
9436
  "auto.components.feature.wall.WorkbenchAnimatedVisual.99f5224f1e": "編輯",
9437
- "auto.components.feature.wall.WorkbenchAnimatedVisual.0d93c298a7": "丟擲 src/auth",
9438
- "auto.components.feature.wall.WorkbenchAnimatedVisual.17cfdc3344": "格雷普",
9439
- "auto.components.feature.wall.WorkbenchAnimatedVisual.9923847785": "",
9437
+ "auto.components.feature.wall.WorkbenchAnimatedVisual.0d93c298a7": "Glob src/auth",
9438
+ "auto.components.feature.wall.WorkbenchAnimatedVisual.17cfdc3344": "Grep",
9439
+ "auto.components.feature.wall.WorkbenchAnimatedVisual.9923847785": "Read",
9440
9440
  "auto.components.feature.wall.WorkbenchAnimatedVisual.c0eb94125e": "審查授權邊緣情況",
9441
9441
  "auto.components.feature.wall.WorkbenchAnimatedVisual.431ca9842a": "Claude Code 工作階段已開始",
9442
9442
  "auto.components.feature.wall.WorkbenchAnimatedVisual.000106adfe": "claude",
@@ -9445,9 +9445,9 @@
9445
9445
  "auto.components.feature.wall.WorkbenchAnimatedVisual.623881d72e": "checkout.spec.ts",
9446
9446
  "auto.components.feature.wall.WorkbenchAnimatedVisual.5c5cbd783f": "(1.2 秒)",
9447
9447
  "auto.components.feature.wall.WorkbenchAnimatedVisual.3261c6853b": "› 可以登入",
9448
- "auto.components.feature.wall.WorkbenchAnimatedVisual.defe550fe2": "登入規格",
9449
- "auto.components.feature.wall.WorkbenchAnimatedVisual.0b20782e0f": "使用 4 名工作人員執行 12 項測試",
9450
- "auto.components.feature.wall.WorkbenchAnimatedVisual.4371cc9931": "pnpm 劇作家測試",
9448
+ "auto.components.feature.wall.WorkbenchAnimatedVisual.defe550fe2": "login.spec",
9449
+ "auto.components.feature.wall.WorkbenchAnimatedVisual.0b20782e0f": "使用 4 worker 執行 12 項測試",
9450
+ "auto.components.feature.wall.WorkbenchAnimatedVisual.4371cc9931": "pnpm playwright test",
9451
9451
  "auto.components.feature.wall.WorkbenchAnimatedVisual.16877e038d": "向下分割",
9452
9452
  "auto.components.feature.wall.WorkbenchAnimatedVisual.a2b114dad0": "向右分割 ·",
9453
9453
  "auto.components.feature.wall.WorkbenchAnimatedVisual.0bc9ad0cd1": "同一窗格:",
@@ -9559,14 +9559,14 @@
9559
9559
  "auto.components.feature.tips.FeatureTipsModal.d1a86c7eb5": "開啟「設定」以完成 CLI 設定。",
9560
9560
  "auto.components.feature.tips.CmdJPaletteFeatureTipVisual.ab94e16d44": "建立 Worktree「{{value0}}」",
9561
9561
  "auto.components.feature.tips.CmdJPaletteFeatureTipVisual.d20ccf1e61": "完成",
9562
- "auto.components.feature.tips.CmdJPaletteFeatureTipVisual.379d776971": "打字",
9562
+ "auto.components.feature.tips.CmdJPaletteFeatureTipVisual.379d776971": "輸入",
9563
9563
  "auto.components.feature.tips.CmdJPaletteFeatureTipVisual.0418f9becc": "開啟",
9564
9564
  "auto.components.error.boundaries.RecoverableRenderErrorBoundary.55001880db": "重試",
9565
9565
  "auto.components.error.boundaries.RecoverableRenderErrorBoundary.34a189ae0f": "應用程式的其餘部分仍在執行。重試此表面或切換出去然後再回來。",
9566
9566
  "auto.components.error.boundaries.RecoverableRenderErrorBoundary.ab855c11f4": "Orca 的這一部分遇到了錯誤。",
9567
9567
  "auto.components.emulator.pane.EmulatorPane.59b08fa031": "沒有連線模擬器",
9568
9568
  "auto.components.emulator.pane.emulator.device.frame.9406c15775": "模擬器螢幕",
9569
- "auto.components.emulator.pane.emulator.device.frame.8f25ffaf8a": "模擬器螢幕,鍵盤捕獲。按 Esc 鍵釋放。",
9569
+ "auto.components.emulator.pane.emulator.device.frame.8f25ffaf8a": "模擬器螢幕,鍵盤擷取。按 Esc 鍵釋放。",
9570
9570
  "auto.components.emulator.pane.emulator.device.frame.0022420df0": "手機",
9571
9571
  "auto.components.emulator.pane.emulator.pane.toolbar.06e10d7356": "關閉模擬器",
9572
9572
  "auto.components.emulator.pane.emulator.pane.toolbar.e7a0d1897e": "家",
@@ -10126,7 +10126,7 @@
10126
10126
  "auto.components.crash.report.CrashReportDialog.b175e90213": "沒有可用的錯誤報告。",
10127
10127
  "auto.components.crash.report.CrashReportDialog.765591798d": "正在檢查錯誤報告…",
10128
10128
  "auto.components.crash.report.CrashReportDialog.b2e36f53a1": "傳送當機報告失敗。診斷票據 {{value0}} 已上傳,但未關聯。",
10129
- "auto.components.crash.report.CrashReportDialog.ead6fc0510": "沒有捕獲到自動當機報告。你仍然可以傳送詳細資訊,並在可用時包含最近的診斷記錄檔。",
10129
+ "auto.components.crash.report.CrashReportDialog.ead6fc0510": "沒有擷取到自動當機報告。你仍然可以傳送詳細資訊,並在可用時包含最近的診斷記錄檔。",
10130
10130
  "auto.components.crash.report.CrashReportDialog.b082f27490": "附加最近的診斷記錄檔",
10131
10131
  "auto.components.crash.report.CrashReportDialog.e59f0b9427": "隨報告傳送經過刪減且有大小限制的記錄檔套件。",
10132
10132
  "auto.components.crash.report.submit.notice.unknownError": "當機報告請求在返回原因之前失敗。",
@@ -10237,7 +10237,7 @@
10237
10237
  "auto.components.browser.pane.BrowserPane.efb0e8f7f3": "複製連結位址",
10238
10238
  "auto.components.browser.pane.BrowserPane.8ce4f6b12e": "在預設瀏覽器中開啟連結",
10239
10239
  "auto.components.browser.pane.BrowserPane.b5b87d6cbb": "在 Orca 瀏覽器中開啟連結",
10240
- "auto.components.browser.pane.BrowserPane.87eb75f7d2": "輸入有效的 http(s) 或本機主機 URL。",
10240
+ "auto.components.browser.pane.BrowserPane.87eb75f7d2": "輸入有效的 http(s) localhost URL。",
10241
10241
  "auto.components.browser.pane.BrowserPane.27d863542c": "瀏覽器註解",
10242
10242
  "auto.components.browser.pane.BrowserPane.e48569ac6d": "無法存取該網站。",
10243
10243
  "auto.components.browser.pane.BrowserPane.bbe8f15e83": "該窗格是從活動執行時伺服器呈現的。",
@@ -10322,7 +10322,7 @@
10322
10322
  "auto.components.browser.pane.GrabConfirmationSheet.d053db279d": "角色=",
10323
10323
  "auto.components.browser.pane.GrabConfirmationSheet.a759d8f866": "所選的元素",
10324
10324
  "auto.components.browser.pane.GrabConfirmationSheet.9c6ce0632a": "所選元素螢幕截圖",
10325
- "auto.components.browser.pane.GrabConfirmationSheet.50f7114f99": "附加前請先檢查。捕獲的頁面上下文可以套件括可見的站點內容。",
10325
+ "auto.components.browser.pane.GrabConfirmationSheet.50f7114f99": "附加前請先檢查。擷取的頁面上下文可以包括可見的站點內容。",
10326
10326
  "auto.components.browser.pane.GrabConfirmationSheet.f3575229df": "抓住",
10327
10327
  "auto.components.browser.pane.GrabConfirmationSheet.405bb315da": "無題",
10328
10328
  "auto.components.browser.pane.browser.address.bar.suggestions.87fcdd0da9": "{{value0}} 搜尋",
@@ -10364,7 +10364,7 @@
10364
10364
  "auto.components.automations.AutomationEditorDialog.b28b140eaf": "工作區",
10365
10365
  "auto.components.automations.AutomationEditorDialog.0d17f4ca8f": "選擇專案",
10366
10366
  "auto.components.automations.AutomationEditorDialog.02d351877e": "專案",
10367
- "auto.components.automations.AutomationEditorDialog.a4ac8fcc62": "/目標",
10367
+ "auto.components.automations.AutomationEditorDialog.a4ac8fcc62": "/goal",
10368
10368
  "auto.components.automations.AutomationEditorDialog.827b25a81e": "支援技能、檔案路徑和內建命令,例如",
10369
10369
  "auto.components.automations.AutomationEditorDialog.6d778190b7": "每週執行依賴項稽核並總結有風險的變更。",
10370
10370
  "auto.components.automations.AutomationEditorDialog.058c23cb3f": "提示詞",
@@ -10659,7 +10659,7 @@
10659
10659
  "auto.components.rightSidebar.FolderWorkspacePrChecksPanel.showDetails": "顯示 {{value0}} 的 PR 檢查詳細資訊",
10660
10660
  "auto.components.rightSidebar.FolderWorkspacePrChecksPanel.hideDetails": "隱藏 {{value0}} 的 PR 檢查詳細資訊",
10661
10661
  "auto.components.rightSidebar.FolderWorkspacePrChecksPanel.reviewChecks": "審查檢查",
10662
- "auto.components.rightSidebar.FolderWorkspacePrChecksPanel.allChecksPassing": "所有檢查均透過",
10662
+ "auto.components.rightSidebar.FolderWorkspacePrChecksPanel.allChecksPassing": "所有檢查均通過",
10663
10663
  "auto.components.rightSidebar.FolderWorkspacePrChecksPanel.oneWorktree": "1 個 Worktree",
10664
10664
  "auto.components.rightSidebar.FolderWorkspacePrChecksPanel.worktreeCount": "{{value0}} 個 Worktree",
10665
10665
  "auto.components.rightSidebar.FolderWorkspacePrChecksPanel.oneFailing": "1 個失敗",
@@ -10855,7 +10855,7 @@
10855
10855
  "auto.components.browser-pane.markup.drawHintDismiss": "知道了",
10856
10856
  "auto.components.browser-pane.markup.drawHintTry": "試一試",
10857
10857
  "auto.components.browser-pane.markup.errorAttach": "無法附加標註後的截圖。",
10858
- "auto.components.browser-pane.markup.errorCapture": "無法捕獲頁面進行繪製。",
10858
+ "auto.components.browser-pane.markup.errorCapture": "無法擷取頁面進行繪製。",
10859
10859
  "auto.components.browser-pane.markup.errorUnavailable": "此頁面無法使用截圖示註。",
10860
10860
  "auto.components.browser-pane.markup.fontSize": "字號",
10861
10861
  "auto.components.browser-pane.markup.hint": "在頁面上繪製,然後複製標註以貼上到你的 Agent。",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orca-zh-tw-installer",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
4
4
  "description": "Orca AI IDE 台灣繁體中文 (zh-TW) 一鍵安裝包",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -40,6 +40,28 @@ fs.writeFileSync(CJS_OUT,
40
40
  `${named}${EOL}`,
41
41
  'utf8');
42
42
 
43
+ // 產生後立刻用真正的 JS parser 驗一次。字典是 lazy chunk,語法有問題時
44
+ // Orca 只會拋「Unexpected token」並讓面板的 error boundary 接住,很難追。
45
+ // 在這裡擋掉,比事後 verify 更早。
46
+ {
47
+ const { execFileSync } = require('child_process');
48
+ const os = require('os');
49
+ const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'orca-zh-tw-build-'));
50
+ for (const [src, name] of [[OUT, 'dict.mjs'], [CJS_OUT, 'dict.cjs']]) {
51
+ const probe = path.join(tmp, name);
52
+ fs.copyFileSync(src, probe);
53
+ try {
54
+ execFileSync(process.execPath, ['--check', probe], { stdio: ['ignore', 'ignore', 'pipe'] });
55
+ } catch (e) {
56
+ fs.rmSync(tmp, { recursive: true, force: true });
57
+ console.error(`❌ ${path.basename(src)} 語法無效,已中止:`);
58
+ console.error(' ' + String(e.stderr || e.message).split('\n').slice(0, 3).join('\n '));
59
+ process.exit(1);
60
+ }
61
+ }
62
+ fs.rmSync(tmp, { recursive: true, force: true });
63
+ }
64
+
43
65
  const n = Object.keys(flat).length;
44
- console.log(`✅ ${path.basename(OUT)}(ESM/renderer)已產生(${n} 條字串)`);
66
+ console.log(`✅ ${path.basename(OUT)}(ESM/renderer)已產生(${n} 條字串,語法驗證通過)`);
45
67
  console.log(`✅ ${path.basename(CJS_OUT)}(CJS/main process)已產生`);
@@ -35,9 +35,16 @@ function classify(key) {
35
35
  return { tier: 5, ns: p.slice(1, 3).join('.') };
36
36
  }
37
37
 
38
+ // CSS / 選擇器 / keyframes 不是翻譯內容,計入字數會嚴重扭曲批次大小。
39
+ // components.feature 的 30,909 字裡有 28,179 字(91%)是 7 個 CSS 區塊,
40
+ // 曾讓這個命名空間被誤判為需要切 6 批的長文案,實際文案只有 2,730 字。
41
+ const isCode = s => /\{\s*[a-z-]+\s*:|@keyframes|^\.[a-z-]|\[data-|nth-of-type/i.test(s);
42
+
38
43
  const groups = new Map();
44
+ let codeSkipped = 0, codeChars = 0;
39
45
  for (const [k, v] of Object.entries(flat)) {
40
46
  if (typeof v !== 'string') continue;
47
+ if (isCode(v)) { codeSkipped++; codeChars += v.length; continue; }
41
48
  const { tier, ns } = classify(k);
42
49
  const id = tier + '|' + ns;
43
50
  if (!groups.has(id)) groups.set(id, { tier, ns, keys: 0, chars: 0, items: [] });