返回 DeepSeek-Reasonix
messages_zh_tw.go
根目录 / internal / i18n / messages_zh_tw.go
1 package i18n
2
3 // ChineseTraditional is the zh-Hant catalogue. Keep the %s placeholders in the same order
4 // as English unless a phrase genuinely demands re-ordering — call sites pass
5 // arguments positionally and won't reshuffle.
6 var ChineseTraditional = Messages{
7 WelcomeTitleFmt: "歡迎使用 %s",
8 NoConfigYet: "還沒有設定 — 現在來設定一下吧。",
9
10 InitHint: "專案記憶(AGENTS.md)在會話內由模型生成:執行 `reasonix`,然後 `/init` —— 模型會分析程式碼庫並寫入。設定請用 `reasonix setup`。",
11
12 ChatTip: "對話上下文將跨輪保留。輸入 'exit' 或按 Ctrl-D 退出。",
13 TurnCancelled: "已取消 — 回到提示符",
14 InterruptedRecovery: "本輪已中斷。部分輸出會永久保留供查看;只有完整工具呼叫及結果和有界恢復摘要會進入模型下一輪。繼續或回復前請先檢查目前工作區。",
15 FinalReadinessRecovery: "剩餘任務或收尾檢查已暫停。執行 /continue-checks 可保留已完成證據並繼續剩餘工作。",
16 ReadinessContinuing: "Reasonix 正在自動完成剩餘任務或檢查。",
17 RecoveryPaused: "已暫停自動重試。Reasonix 已停止重複嘗試,並保留已完成的工作。傳送「繼續」即可開始新一輪,也可以補充要求來調整方向。",
18 CompletionUncertain: "完成狀態未確認。目前結果與已完成工作均已保留。傳送「繼續」可接著完成,也可以補充說明需要調整的內容。",
19 ReasoningReplayRepair: "模型服務拒絕了本會話歷史中的 thinking 區塊。Reasonix 已從傳送給模型的歷史中移除這些內容,並重試了一次。",
20 EmptyFinal: "沒有產生可見回覆,已要求助手重新作答。",
21 ExecutorHandoff: "助手尚未執行必要操作,已要求它使用相應工具。",
22 ToolBudget: "工具呼叫輪數已達上限,已要求助手總結目前進度。",
23 TaskBudget: "本任務已達花費預算上限,已要求給出最終回答。",
24 LoopGuard: "助手沒有取得有效進展,已要求它重新評估目前步驟。",
25 ProgressGuard: "助手在沒有新證據的情況下反覆做重複工作,已要求它更換方法。",
26 OperationNeedsUser: "同一處變更連續兩次以相同原因失敗,已暫停並交給你處理,不再自動重試。",
27 SoftBudgetConverge: "正在收斂這場耗時較長的唯讀調查。",
28 EvidenceNudge: "有多處改動尚未驗證,已要求執行成本最低的判別性檢查。",
29 ReasoningGovernor: "目前處於高思考開銷的探索階段,在開始實證工作前將保持較低的推理深度。",
30 UnappliedSteerFmt: "本條引導未能套用,因為目前回合在處理它之前已結束。如仍需要,請重新傳送:\n%s",
31 DeprecatedContextRetention: "agent.keep 和 agent.recent_keep 已棄用。",
32 FinishReasonLength: "回覆被截斷:達到最大輸出 token 數上限",
33 FinishReasonContentFilter: "回覆被內容過濾器攔截",
34 FinishReasonRepetition: "回覆被截斷:偵測到模型重複輸出",
35 StreamInterruptedIdleTimeout: "模型串流回應停滯:閒置逾時前未收到任何資料;請檢查供應商閘道或網路代理",
36 StreamInterruptedPrematureEOF: "模型串流回應在完成前結束;供應商閘道或網路代理斷開了連線",
37 StreamInterruptedConnectionReset: "模型連線被重設;請檢查供應商閘道或網路代理",
38 ToolOutputTruncatedFmt: "工具輸出已截斷:省略 %d 位元組(共 %d 位元組)",
39 IncompleteReadFinishBlocked: "一個檔案讀取仍有未讀內容,Reasonix 已拒絕結束本輪。",
40 ReadContinuationRequired: "Reasonix 正在繼續或收窄一次未完成的檔案讀取,完成後才允許改動或收尾。",
41 IncompleteReadDetected: "Reasonix 偵測到一次不完整的檔案讀取,已準備自動續讀。",
42 ReadStrategyRequired: "完整檔案放不進動態上下文預算,Reasonix 已進入受限搜尋/讀取模式。",
43 ReadStrategyProgress: "Reasonix 已記錄受限讀取策略中的有效進展。",
44 ReadStrategyResolved: "Reasonix 已驗證收窄後的讀取策略回執。",
45 ReadLocalSafetyPaged: "Reasonix 已將一條較大的本地 read_file 結果安全分頁。",
46 ReadCompleted: "Reasonix 已恢復該檔案的完整讀取。",
47 ReadRestrictedStrategyFmt: "read_file 已切換為受限策略:estimated_tokens=%d budget_tokens=%d",
48 ContextRecoveryAdjustBudget: "已調整輸出預算以適配共享上下文視窗。",
49 ContextRecoveryCompacted: "共享視窗溢位,已壓縮上下文並重試。",
50 PlannerFallback: "規劃器失敗,本輪僅由主模型繼續。",
51 PlannerSafetyFallback: "規劃器在安全邊界處停止且未給出最終計劃,本輪由主模型繼續。",
52 PlannerPlanAwaitingApproval: "計劃已就緒,未經批准不會開始執行。",
53 PlannerPlanNotApproved: "計劃未獲批准,未執行任何操作。回覆即可繼續。",
54 PlannerPlanOnly: "計劃已就緒;本次請求明確不包含執行。",
55 CapabilityProxyFmt: "能力代理:%s → %s",
56 ReceiptVerified: "沒有未經驗證的部分",
57 ReceiptGapsHeader: "未驗證:",
58 ReceiptRisksHeader: "已申報的風險:",
59 ReceiptMore: "另有 %d 項",
60 ReceiptGapKinds: map[string]string{
61 "unbacked_claim": "聲稱過但帳本不支持",
62 "unproven_criterion": "驗收項沒有證據",
63 "missing_check": "預期的檢查從未通過",
64 "failed_verification": "驗證失敗",
65 "stale_verification": "驗證早於最後一次改動",
66 "unverified_change": "改動了但沒有任何驗證",
67 "unreviewed_change": "改動後再沒看過",
68 "declared_unverified": "自己申報未驗證",
69 },
70 NoSessionToResume: "沒有可恢復的會話 — 用 `reasonix` 開一個新的",
71 ResumeRequiresTTY: "--resume 需要互動式終端;用 --continue 直接恢復最近一次",
72 PickSessionLabel: "恢復哪個會話?",
73
74 ResumeBusy: "請先完成或取消當前這一輪再恢復會話",
75 ResumeBadIndexFmt: "請選擇 1–%d 的會話(用 /resume 檢視列表)",
76 ResumeAlreadyActive: "已在該會話中",
77 ResumedTitle: "已恢復會話",
78 ResumePickTitle: "選擇要恢復的會話",
79 ResumePickHint: "↑/↓ 移動 · Enter 恢復 · Esc 取消",
80 ResumeRecoveryBadgeFmt: "[衝突副本 · 父會話 %s]",
81
82 ChatThinking: "思考中…",
83 ChatThoughtForFmt: "思考了 %d 秒",
84 ChatStatusThinkingFmt: "%s 思考中… (%d 秒 · Esc 取消)",
85 TurnPhaseWorking: "工作中",
86 ReadStatusReadingFmt: "正在讀取 %s",
87 ReadStatusCoveredFmt: "正在讀取 %s · 已涵蓋 %s 行",
88 ReadStatusDoneFmt: "已讀取 %s · %s 行",
89 ReadStatusPausedFmt: "讀取已暫停:%s",
90 ReadStatusRecovery: "未能在讀取預算內驗證剩餘內容;可縮小讀取範圍或繼續獨立工作,全文審查尚未完成",
91 TurnPhaseChecking: "檢查中",
92 TurnPhaseVerifying: "驗證中",
93 TurnPhaseReviewing: "複審中",
94 CompletionSummaryBlocked: "本輪任務受阻,請查看變更詳情。",
95 CompletionSummaryNeedsAttention: "本輪仍有驗證或複審缺口。",
96 ChatToolWorkingFmt: "%s 執行中 · %d 秒",
97 ChatSubagentPhaseQueued: "排隊中",
98 ChatSubagentPhaseRunning: "執行中",
99 ChatSubagentPhaseReasoning: "思考中",
100 ChatSubagentPhaseResponding: "生成中",
101 ChatSubagentPhaseTool: "使用工具",
102 ChatSubagentPhaseRetrying: "重試中",
103 ChatSubagentPhaseCompleted: "已完成",
104 ChatSubagentPhaseFailed: "失敗",
105 ChatSubagentPhaseCancelled: "已取消",
106 ChatSubagentProgressFmt: "%s · %d 秒 · %d 秒前",
107 ChatSubagentProgressDoneFmt: "%s · %d 秒",
108 ChatSubagentPreviewLabel: "▎",
109 ChatStatusRetryingFmt: "%s 正在重試 (%d/%d)… (Esc 取消)",
110 ChatStatusCancellingFmt: "%s 正在停止… (%d 秒 · Ctrl+C 退出)",
111 ChatStatusIdle: "就緒",
112 ChatStatusCycleHint: "Shift+Tab 循環僅可查看/工作區內修改/YOLO/計畫 · Ctrl+Y YOLO",
113 ChatStatusCycleHintCompact: "Shift+Tab 僅可查看/工作區內修改/YOLO/計畫 · Ctrl+Y YOLO",
114 ChatTurnReceiptLabel: "本輪",
115 RateBandPeak: "高峰",
116 RateBandOffPeak: "低峰",
117 RateBandMixed: "混合費率",
118 ChatStatusModelLabel: "模型",
119 ChatStatusEffortLabel: "強度",
120 ChatStatusPresetLabel: "預設",
121 ChatStatusCacheLabel: "快取",
122 ChatStatusContextLabel: "上下文",
123 ChatStatusCompactLabel: "壓縮",
124 ChatStatusJobsLabel: "任務",
125 ChatStatusBalanceLabel: "餘額",
126 ChatStatusCostLabel: "費用",
127 ChatStatusCacheNowFmt: "本次命中 %s",
128 ChatStatusCacheAvgFmt: "平均 %s",
129 ChatStatusPlanApproval: "1 開始執行 · 2 修改計畫 · 3 暫不執行並退出 · n/Esc 繼續規劃 · PgUp/PgDn/Ctrl+Home/End 捲動",
130 PlanApprovalPrompt: "計畫已生成(見上方)— 請選擇下一步操作",
131 PlanApprovalChoices: "1. 開始執行\n2. 修改計畫(繼續規劃)\n3. 暫不執行,退出計畫模式\n選擇 [1/2/3](y 開始執行;n/Esc 繼續規劃)",
132 ChatStatusToolApproval: "1 本次允許 · 2 本會話允許此範圍 · 提供時 3/4 為前綴或儲存 · n/Esc 拒絕 · Ctrl-C 取消本輪",
133 AskTypeSomething: "自己輸入",
134 AskTypingHint: "輸入後按 Enter 確認",
135 AskChatInstead: "先不選擇,直接回覆",
136 ChatStatusQuestion: "↑/↓ 選 · 數字快選 · 空格多選 · Enter 確認 · ←/→ 切換問題 · Esc 取消",
137 StatusResumePicker: "↑/↓ 移動 · Enter 恢復 · Esc 取消",
138 AskSubmitTitle: "提交答案",
139 AskUnanswered: "(未答)",
140 AskSubmitHint: "Enter 提交 · ← 返回修改",
141 ElicitURLHint: "o 開啟連結 · Enter 接受 · d 拒絕 · Esc 取消",
142 ElicitConfirmOnly: "Enter 確認;d 拒絕;Esc 取消。",
143 ElicitUnanswered: "(未填寫)",
144 ElicitSubmit: "提交",
145 ElicitSubmitHint: "Enter 編輯欄位 · tab 下一項 · 提交列:Enter 接受、d 拒絕、Esc 取消",
146 ToolApprovalPromptFmt: "需要你的許可\n\n將呼叫工具 %s%s。\n%s\n%s",
147 ToolApprovalChoices: "1. 本次允許\n2. 本會話允許 %s\n3. 拒絕\n選擇 [1/2/3](相容 y/a/n)",
148 BashPrefixChoices: "1. 本次允許\n2. 本會話允許 %s\n3. 拒絕\n選擇 [1/2/3](相容 y/a/n)",
149 PlanModeReadOnlyCommandChoices: "1. 本次信任\n2. 本會話信任此前綴\n3. 總是在計劃模式信任此前綴(儲存到設定)\n4. 拒絕\n選擇 [1/2/3/4](相容 y/a/p/n)",
150 FreshHumanApprovalChoices: "1. 本次允許\n2. 拒絕\n選擇 [1/2](相容 y/n)",
151 RecoveryApprovalChoices: "1. 繼續一次\n2. 換個方案",
152 RecoveryPlanChangeChoices: "1. 採用新計畫並繼續\n2. 不採用,讓 Auto 調整",
153 RecoveryPlanDecisionPrompt: "執行計畫需要你的決定",
154 RecoveryPlanBeforeFmt: "原計畫:%s",
155 RecoveryPlanAfterFmt: "新計畫:%s",
156 RecoveryTaskGrantChoices: "1. 繼續一次\n2. 繼續,並在本任務內允許同類操作\n3. 換個方案",
157 SandboxEscapeApprovalChoices: "1. 允許一次\n2. 本會話使用真實環境\n3. 拒絕\n選擇 [1/2/3](相容 y/a/n)",
158 ApprovalNeededFmt: "需要核准:%s",
159 ApprovalNeededWithSubjectFmt: "需要核准:%s %s",
160 ToolApprovalSourceFmt: "來源: %s",
161 ToolApprovalBuiltIn: "內建工具",
162 ToolApprovalImageUse: "將讀取提供的圖片用於圖像理解。",
163 ApprovalToolLabelBash: "bash",
164 ApprovalToolLabelEditFile: "編輯檔案",
165 ApprovalToolLabelWriteFile: "寫入檔案",
166 ApprovalToolLabelMultiEdit: "批次編輯",
167 ApprovalToolLabelMoveFile: "移動檔案",
168 ApprovalToolLabelWebFetch: "讀取網頁",
169 ApprovalToolLabelRunSkill: "執行技能",
170 ApprovalToolLabelRemember: "儲存記憶",
171 ApprovalToolLabelForget: "刪除記憶",
172 ApprovalToolLabelSandboxEscape: "bash 沙箱降級核准",
173 ApprovalToolLabelPlanModeReadOnly: "計劃模式唯讀命令",
174 MemoryApprovalSaveUpdate: "儲存/更新記憶",
175 MemoryApprovalBodyLabel: "正文",
176 MemoryApprovalArchiveFmt: "封存記憶 %q",
177 PlanModeBashTrustSubjectFmt: "在計劃模式中信任 %q 為唯讀命令前綴\n命令:%s",
178 PlanModeBashTrustReason: "這條 bash 命令不在 Reasonix 內建唯讀集合中。只有在確認這個精確前綴用於計劃和研究時是唯讀的,才應核准。權限預設不能代替這次信任確認。",
179 PlanModeBashTrustDeclined: "使用者拒絕將這條 bash 命令信任為計劃模式唯讀命令;不要重試它,請繼續使用其他已信任的唯讀工具,或詢問使用者希望如何繼續。",
180 SandboxEscapeSubjectFallback: "僅本次不進沙箱執行 shell 命令",
181 SandboxEscapeSubjectPrefix: "僅本次不進沙箱執行:",
182 SandboxEscapeWrapReason: "Windows 不提供這條命令所需的 OS 級 Bash 沙箱。是否僅本次不受限執行?這只會對此命令繞過 OS 隔離。",
183 SandboxEscapeRuntimeReason: "OS 沙箱無法啟動這條命令。是否僅本次不受限執行?這只會對此命令繞過 OS 隔離。",
184 SandboxEscapeDeclined: "使用者拒絕在沒有 OS 沙箱的情況下執行這條命令;不要不進沙箱重試,請詢問使用者希望如何繼續。",
185 ApprovalToolLabelConfigWrite: "Reasonix 設定寫入核准",
186 ConfigWriteSubjectPrefix: "寫入 Reasonix 設定:",
187 ConfigWriteReason: "這次寫入的目標是工作區之外的 Reasonix 託管設定檔。它可以改變後續工作階段的模型供應商、沙箱規則、權限和 MCP 伺服器,因此需要你的明確核准。",
188 ConfigWriteDeclined: "使用者拒絕了這次 Reasonix 設定寫入;不要重試,請詢問使用者希望如何繼續。",
189 ConfigWriteApprovalChoices: "1. 允許一次\n2. 本工作階段允許\n3. 拒絕\n選擇 [1/2/3](相容 y/a/n)",
190 WriteAccessApprovalChoices: "1. 僅本次允許\n2. 本工作階段允許此範圍\n3. 拒絕\n選擇 [1/2/3](相容 y/a/n)",
191 WriteAccessHomeWarning: "這將授權寫入整個使用者家目錄。Reasonix 工作階段與執行時狀態檔案仍受保護。",
192 WriteAccessMergedPermissionHint: "此選擇也會授權目前匹配的工具操作。",
193 WriteAccessProjectHint: "加入專案會把 [sandbox].allow_write(以及需要時的權限規則)寫入目前工作區的 reasonix.toml。",
194 PermissionSavedFmt: "授權已儲存到 %s:%s",
195 PermissionAlreadyAllowedFmt: "授權已由 %s 中的規則覆蓋:%s",
196 PermissionSaveFailedFmt: "儲存授權 %s 失敗:%v",
197 PlanModeReadOnlyCommandTrustSavedFmt: "計劃模式唯讀命令信任已儲存到 %s:%s",
198 PlanModeReadOnlyCommandTrustAlreadyFmt: "計劃模式唯讀命令信任已儲存在 %s:%s",
199 PlanModeReadOnlyCommandTrustFailedFmt: "儲存計劃模式唯讀命令信任 %s 失敗:%v",
200 DiffFoldedFmt: "… 還有 %d 行",
201
202 OutputStyleNone: "沒有可用的輸出風格",
203 ThemeHeader: "主題:",
204 ThemeHint: "使用 /theme <auto|light|dark|style> 切換",
205 ThemeChangedFmt: "已切換主題為 %s / %s",
206 ThemeUnknownFmt: "未知主題 %q",
207 LanguageHeader: "語言:",
208 LanguageHint: "使用 /language <auto|en|zh|zh-TW> 切換",
209 LanguageChangedFmt: "語言已設為 %s(目前解析為:%s)",
210 CurrencyHeader: "費用展示幣種:",
211 CurrencyHint: "使用 /currency <auto|CNY|USD> 切換",
212 CurrencyChangedFmt: "費用展示幣種已設為 %s(目前解析為:%s)",
213 RuntimeRefreshBusy: "請先完成或取消目前工作,並停止背景任務後再修改此設定",
214 RuntimeRefreshUnavailable: "本會話不支援重新整理執行階段",
215
216 CompactionWorking: "正在壓縮對話…",
217 CompactionTitle: "上下文已壓縮",
218 CompactionUnit: "條訊息",
219 CompactionAuto: "自動",
220 CompactionManual: "手動",
221
222 ExtFormFieldsHint: "欄位將透過逐項提問收集",
223 ExtRunActionFmt: "執行 %s",
224 SlashCompactFailed: "壓縮失敗",
225 SlashNewDone: "已開啟新會話 — 之前的對話已存檔",
226 SlashNewFailed: "新建會話失敗",
227 SlashUnknown: "未知命令",
228 SlashUnknownSentAsMessage: "已作為普通訊息發送",
229 SlashTodoCleared: "已清除任務清單",
230
231 SkillPickerAvailableFmt: "%d 個可用",
232 SkillPickerMatchingFmt: "%d 個匹配 · 共 %d 個",
233 SkillPickerHint: "↑↓ 移動 · Space 開關 · Enter 儲存 · / 搜尋 · s 來源 · r 重新掃描 · Esc 取消",
234 SkillPickerDetailHint: "↑↓ 移動 · Enter 選擇 · Space 開關 · Esc 返回",
235 SkillPickerSearchEmpty: "沒有匹配的 skill",
236 SkillPickerSearchPlaceholder: "搜尋 skills...",
237 SkillPickerSourceTitle: "來源",
238 SkillPickerSourceActiveFmt: "%d 個有效",
239 SkillPickerSourceHint: "↑↓ 移動 · Enter 檢視技能 · d 診斷 · s skills · r 重新掃描 · Esc 關閉",
240 SkillPickerDiagHidden: "d 展開診斷",
241 SkillPickerDiagShown: "d 收起診斷",
242 SkillPickerBuiltinSource: "內建",
243 SkillPickerRescanned: "已重新掃描 skills",
244 SkillPickerNoDescription: "(無描述)",
245 SkillPickerScopeProject: "專案",
246 SkillPickerScopeCustom: "自訂",
247 SkillPickerScopeGlobal: "全域",
248 SkillPickerScopeBuiltin: "內建",
249 SkillPickerSubagent: "子代理",
250 SkillPickerAvailableLabel: "可用",
251 SkillPickerDisabledLabel: "關閉",
252 SkillPickerNoChanges: "Skills 對話框已關閉:沒有變更",
253 SkillPickerSourceSkillsHint: "↑↓ 移動 · Space 開關 · Enter 詳情 · Esc 返回來源",
254 SkillPickerSourceSkillsEmpty: "這個來源下沒有 skill",
255 SkillPickerActionToggle: "切換啟用狀態",
256 SkillPickerActionDelete: "刪除 skill",
257 SkillPickerDeleteTitleFmt: "刪除 skill /%s?",
258 SkillPickerDeleteConfirm: "刪除",
259 SkillPickerDeleteCancel: "取消",
260 SkillPickerDeleteHint: "Enter 確認 · y 刪除 · n/Esc 取消",
261 SkillPickerDeletedFmt: "已刪除 skill %s",
262 SkillPickerMoreAboveFmt: "↑ 上方還有 %d 個",
263 SkillPickerMoreBelowFmt: "↓ 下方還有 %d 個",
264 SkillPickerTokenFmt: "~%d tok",
265 SkillPickerDetailMetaFmt: "範圍: %s 執行方式: %s",
266 SkillPickerSkillsUnit: "個 skill",
267 SkillPickerLinesUnit: "行",
268 SkillPickerStatusLabel: "技能選擇器",
269 SkillPickerStatusOK: "有效",
270 SkillPickerStatusMissing: "缺失",
271 SkillPickerStatusNotDir: "非目錄",
272 SkillPickerStatusUnreadable: "無權限",
273 SlashPromptEmpty: "該 MCP prompt 沒有返回可傳送的內容",
274 SlashMCPNone: "沒有設定 MCP 伺服器 — 在 reasonix.toml 加一個 [[plugins]] 條目",
275 CtrlCQuitHint: "再按一次 Ctrl+C 退出",
276 CompHintSlash: "↑/↓ 移動 · Tab/Enter 選中 · Esc 關閉",
277 CompHintFile: "↑/↓ 移動 · Tab/Enter 進入資料夾或選中檔案 · Esc 關閉",
278 MouseCopiedHint: "已複製到剪貼簿",
279 ClipboardCopyOSC52Hint: "已透過 OSC 52 請求複製 — 可能需要終端授權",
280 ClipboardCopyFallbackHint: "系統剪貼簿無法使用 — 已改用 OSC 52",
281 ClipboardTextPasteRemoteHint: "SSH 下滑鼠貼上無法讀取本機剪貼簿或 PRIMARY 選取區 — 請使用終端貼上快捷鍵或 /mouse",
282 ClipboardTextPasteFailedFmt: "貼上文字失敗:%v",
283 ClipboardImagePastingHint: "正在貼上圖片…",
284 ClipboardImagePasteFailedFmt: "貼上圖片失敗:%v",
285 ClipboardPasteEmptyNotice: "剪貼簿中沒有可粘貼的文字或受支援的圖片(PNG/JPEG/GIF/WebP)",
286 MouseCaptureOnHint: "滑鼠接管已開啟 — 應用內拖拽選取/捲軸/滾輪生效",
287 MouseCaptureOffHint: "滑鼠接管已關閉 — 由終端原生處理選取與右鍵選單",
288 MouseCaptureTag: "終端原生滑鼠",
289
290 ShellExecEmpty: "用法:!<命令> (例如 !ls -la)",
291 ShellExecFailedFmt: "Shell 命令執行失敗:%v",
292 ShellExecTimeoutFmt: "Shell 命令逾時(>%s)",
293 ShellModeHint: "Enter 執行 Shell · Esc 取消 · 點擊輸出展開",
294
295 CmdNew: "清空上下文並儲存歷史",
296 CmdCls: "清除畫面(保留 LLM 上下文)",
297 CmdCompact: "壓縮上下文",
298 CmdContinueChecks: "繼續已暫停的任務收尾檢查",
299 CmdContext: "檢視上下文視窗、閾值與上次維護結果",
300 CmdRewind: "回滾到更早的一輪",
301 CmdTree: "檢視對話分支樹",
302 CmdBranch: "建立對話分支",
303 CmdSwitchBranch: "切換對話分支",
304 CmdResume: "恢復已儲存的會話",
305 CmdModel: "切換模型",
306 CmdStatus: "顯示工作階段狀態",
307 CmdWorkMode: "會話質量底線:standard / delivery",
308 CmdDocs: "搜尋與目前版本匹配的內建文件",
309 CmdMemory: "檢視指令、記憶與復原狀態",
310 CmdMigrate: "重試舊資料遷移",
311 CmdRemember: "儲存一條記憶",
312 CmdForget: "刪除一條已存記憶",
313 CmdMcp: "MCP 伺服器",
314 CmdRemote: "遠端 SSH 主機",
315 CmdHooks: "管理 hooks",
316 CmdPlugins: "管理插件包",
317 CmdPasteImage: "貼上剪貼簿圖片",
318 CmdOutputStyle: "列出輸出風格",
319 CmdTheme: "切換 CLI 主題",
320 CmdLanguage: "切換 CLI 語言",
321 CmdCurrency: "切換費用展示幣種",
322 CmdSkill: "管理 skills",
323 CmdVerbose: "切換 thinking 原文顯示",
324 CmdReloadCmd: "重載自定義命令",
325 CmdReload: "重載 agent 執行階段(工具、技能、命令、鉤子、模型供應商),保留目前會話",
326 CmdSandbox: "檢視沙箱狀態",
327 CmdEffort: "設定推理強度",
328 CmdMouse: "切換滑鼠接管(關閉後由終端原生處理選取/右鍵)",
329 CmdReasonLang: "設定可見思考語言",
330 CmdHelp: "檢視命令列表",
331 CmdWeb: "在 Web UI 中繼續目前工作階段",
332 CmdTodo: "清除任務清單",
333 CmdQuit: "退出會話",
334 CmdCopy: "選擇回覆複製到剪貼簿",
335 CmdExport: "將會話匯出為 Markdown",
336 SlashCopyDone: "已複製到剪貼簿",
337 SlashCopyEmpty: "沒有可複製的助手回覆",
338 SlashCopyListHeader: "選擇要複製的回覆:",
339 SlashExportDoneFmt: "會話已匯出到 %s",
340 SlashExportEmpty: "沒有可匯出的訊息",
341 ArgSkillShow: "檢視 skill 內容",
342 ArgSkillNew: "新建一個 skill",
343 ArgSkillPaths: "顯示發現路徑",
344 ArgMcpAdd: "連線一個伺服器",
345 ArgMcpRemove: "斷開一個伺服器",
346 ArgMcpConnected: "已連線",
347 ArgHooksList: "列出生效的 hooks",
348 ArgModelCurrent: "當前",
349 ArgEffortAuto: "使用模型預設值",
350 ArgEffortLow: "較輕推理",
351 ArgEffortMedium: "均衡推理",
352 ArgEffortHigh: "較深推理",
353 ArgEffortXHigh: "超高推理",
354 ArgEffortMax: "最高推理",
355 ArgPresetStandard: "自適應默認檔",
356 ArgPresetDelivery: "交付級完成門檻",
357 ArgThemeCurrent: "當前",
358 ArgLanguageAuto: "從 REASONIX_LANG / 系統 locale 自動偵測",
359 ArgLanguageEn: "English",
360 ArgLanguageZh: "中文",
361
362 ListModelsHeaderFmt: "模型(當前:%s)",
363 ListModelsHint: "用底部的模型切換器,或輸入 /model <provider/model>",
364 ListMemoryNone: "暫無記憶 — 用 “/remember <內容>” 新增,或執行 /init 生成 AGENTS.md",
365 ListSkillsHeaderFmt: "skills(%d 個)",
366 ListSkillsNone: "暫無 skill — 呼叫內建的(如 /init),或用 install_skill 建立一個",
367 ListHooksHeaderFmt: "hooks(生效 %d 個)",
368 ListHooksNone: "無生效 hooks — 在 .reasonix/settings.json(專案)或 <Reasonix home>/settings.json(全域)設定",
369 ListMcpHeader: "MCP 伺服器",
370 ListMcpNone: "未連線 MCP 伺服器 — 在 reasonix.toml([[plugins]])或專案 .mcp.json 中新增",
371
372 MemoryEditHint: "可直接編輯記憶文件,或輸入 “/remember 內容” 快速記錄;文件變動會在下次會話生效",
373 ForgetUsage: "用法:/forget <name> — name 是 /memory 中顯示的條目標識",
374 ForgetDoneFmt: "已刪除記憶:%s",
375 QuickRememberEmpty: "沒有要記錄的內容",
376 QuickRememberDoneFmt: "已記住 → %s",
377 ModelSwitchUnavailable: "本會話不支援切換模型",
378 ModelSwitchBusy: "請先完成或取消目前工作,並停止背景任務後再切換模型",
379 ModelAlreadyOnFmt: "已經在使用 %s",
380 ModelSwitchingFmt: "正在切換到 %s…",
381 ModelSwitchedFmt: "已切換到 %s(會保留當前對話,但提示詞快取會重新計算)",
382 ModelListHeader: "模型(/model <provider/model> 切換)",
383 RuntimeSwitchPending: "請等待目前執行階段切換完成",
384 RuntimeReloadQueued: "已加入重載佇列——目前工作完成後執行",
385 RuntimeReloaded: "執行階段已重載",
386 RuntimeReloadedGenerationFmt: "執行階段已重載(構建代號 %d)",
387 WorkModeUsage: "用法:/preset <舊模式值>(已退役;已知值統一使用標準執行)",
388 WorkModeDeprecatedNotice: "執行模式已退役。已知舊值僅為相容而接受,並統一使用標準執行。",
389 QualityFloorApplied: "執行模式已退役;目前繼續使用標準執行。",
390 RewindNone: "暫無可回滾的內容",
391 RewindCodeConversation: "程式碼 + 對話",
392 RewindConversationOnly: "僅對話",
393 RewindCodeOnly: "僅程式碼",
394 RewindFork: "分叉",
395 RewindSummarizeFrom: "壓縮此處之後(保留歷史)",
396 RewindSummarizeUpto: "壓縮此處之前(保留歷史)",
397 RewindPickTitle: "⟲ 回滾 — 選擇一輪",
398 RewindPickHint: "↑/↓ 移動 · Enter 選擇 · Esc 關閉",
399 RewindRestoreTitleFmt: "⟲ 恢復到第 %d 輪 ",
400 RewindApplyHint: "↑/↓ · Enter 套用 · Esc 返回",
401 RewindCoverageTitle: "⚠ 檔案覆蓋不完整",
402 RewindCoverageWarningFmt: "偵測到 %d 個覆蓋缺口,部分檔案修改可能無法恢復。",
403 RewindConfirmHint: "Enter/y 確認 · Esc 返回",
404 RewindUnavailableFmt: "無法回滾:%s",
405 RewindEmpty: "(空)",
406
407 EnterAPIKeysHeader: "輸入 API key(Enter 跳過、稍後再設):",
408 WroteFileFmt: "已寫入 %s",
409 SetupComplete: "設定完成。",
410 SetupCancelled: "設定已取消。",
411 TryHintFmt: "試試: %s",
412 NextHint: "下一步:設定 API key(執行 `reasonix setup` 或 export DEEPSEEK_API_KEY=...),然後執行 `reasonix run \"你的任務\"`。",
413 ConfirmReconfigureFmt: "%s 已存在。重新設定並覆蓋?",
414 NotOverwritingFmt: "%s 已存在,不覆蓋",
415 SetupManagerTitle: "供應商設定",
416 SetupAddOpenAI: "新增 OpenAI 相容供應商",
417 SetupAddAnthropic: "新增 Anthropic 相容供應商",
418 SetupProviderExistsFmt: "供應商 %q 已存在。請進入現有供應商管理來編輯模型或設定。",
419 SetupSaveExit: "儲存並離開",
420 SetupSaveExitDesc: "寫入目前暫存的修改",
421 SetupCancel: "取消",
422 SetupCancelDesc: "放棄全部暫存修改",
423 SetupModelsUnit: "個模型",
424 SetupKeySet: "已設定 Key",
425 SetupKeyMissing: "缺少 Key",
426 SetupDefaultBadge: "預設",
427 SetupProviderActionsFmt: "管理 %s",
428 SetupEditProvider: "編輯供應商",
429 SetupUpdateKey: "更新 API Key",
430 SetupTestRefresh: "測試連線 / 重新整理模型列表",
431 SetupSetDefault: "設定預設模型",
432 SetupRemoveProvider: "刪除供應商",
433 SetupBack: "返回",
434 SetupPromptModels: "模型列表(用逗號分隔)",
435 SetupSharedKeyWarningFmt: "%s 已被 %s(%s)使用。確認共用這項憑據?",
436 SetupPromptAPIKeyFmt: "輸入 %s 的新值",
437 SetupSelectDefaultModel: "選擇預設模型",
438 SetupConfirmRemoveFmt: "確認刪除供應商 %s?",
439 SetupSummaryTitle: "待儲存修改:",
440 SetupSummaryAddedFmt: "新增:%s",
441 SetupSummaryEditedFmt: "編輯:%s",
442 SetupSummaryRemovedFmt: "刪除:%s",
443 SetupSummaryDefaultFmt: "預設模型:%s",
444 SetupSummaryKeysFmt: "更新 API Key:%d 項",
445 SetupSummaryNoChanges: "沒有修改",
446 SetupConfirmSave: "儲存這些修改?",
447 SetupConcurrentChangeFmt: "setup 開啟期間設定已被修改(%s)。本次暫存修改未寫入,請重新執行 setup 檢查最新設定。",
448
449 // model fetching
450 FetchingModelsFmt: "正在取得 %s 的模型列表...",
451 FetchModelsSuccessFmt: "發現 %d 個 %s 模型",
452 FetchModelsFailedFmt: "取得 %s 模型失敗: %v",
453 FetchModelsUsingPresetsFmt: "無法線上取得 %s 的模型,使用預設列表",
454 SelectModelsLabel: "選擇要啟用的 %s 模型",
455 CustomFetchEmpty: "/models 返回為空,回退到手動輸入",
456 AnthropicFetchEmpty: "/models 返回為空 — Anthropic 相容服務通常不提供此端點,回退到手動輸入",
457 APIKeyAlreadySetFmt: "復用已設定的 %s",
458 APIKeyResetPromptFmt: "重新輸入 %s?",
459 InvalidAPIKeyEnvFmt: "%q 不是有效的 API Key 變數名稱。只能使用字母、數字和底線(例如 MY_PROVIDER_API_KEY);請勿在此填寫模型名稱。",
460 RepairedAPIKeyEnvFmt: "provider %s:已將無效的 API Key 變數名稱 %q 修復為 %q",
461
462 // custom provider
463 CustomProviderDesc: "新增第三方 OpenAI 相容模型",
464 CustomAddMethodLabel: "新增第三方 OpenAI 相容模型 - 選擇新增方式",
465 CustomMethodManual: "手動輸入模型名稱",
466 CustomMethodURL: "從 URL 取得模型列表",
467 CustomPromptModel: "請輸入模型名稱",
468 CustomPromptBaseURL: "請輸入 Base URL",
469 CustomPromptKeyEnv: "API Key 變數名稱(直接按 Enter 使用預設值,不是模型名稱)",
470 CustomPromptAPIKey: "請輸入 API Key",
471 CustomPromptWindow: "上下文視窗(tokens,填得比模型真實視窗小會導致過早壓縮)",
472 CustomAddedFmt: "已新增自訂模型: %s",
473
474 // Anthropic 相容 provider
475 AnthropicProviderDesc: "新增第三方 Anthropic 相容模型",
476 AnthropicAddMethodLabel: "新增第三方 Anthropic 相容模型 - 選擇新增方式",
477 AnthropicMethodManual: "手動輸入模型名稱",
478 AnthropicMethodURL: "從 URL 取得模型列表",
479 AnthropicPromptModel: "請輸入模型名稱",
480 AnthropicPromptBaseURL: "請輸入 Base URL",
481 AnthropicPromptKeyEnv: "API Key 變數名稱(直接按 Enter 使用預設值,不是模型名稱)",
482 AnthropicPromptAPIKey: "請輸入 API Key",
483 AnthropicAddedFmt: "已新增 Anthropic 相容模型: %s",
484 AnthropicFetchingModelsFmt: "正在取得 %s 的模型列表...",
485 AnthropicFetchModelsSuccessFmt: "發現 %d 個 %s 模型",
486 AnthropicFetchModelsFailedFmt: "取得 %s 模型失敗: %v",
487 AnthropicSelectModelsLabel: "選擇要啟用的 %s 模型",
488
489 RemoteConnectingFmt: "正在連線 %s…",
490 RemoteConnectedFmt: "已連線到 %s",
491 RemoteReconnectingFmt: "正在重新連線 %s(第 %d 次)…",
492 RemoteDegradedFmt: "已連線到 %s,但部分連接埠轉送未建立",
493 RemoteDisconnected: "已中斷(遠端 serve 仍在執行)",
494 RemoteServeReadyFmt: "遠端 serve 就緒:%s",
495 RemoteHostKeyPromptFmt: "未知的主機金鑰 %s\n 類型:%s\n 指紋:%s",
496 RemotePassphrasePromptFmt: "%s 的金鑰通關密語:",
497 RemotePasswordPromptFmt: "%s 的登入密碼:",
498 RemoteBootstrapStepFmt: "遠端 serve:%s %s",
499 RemoteNoHostsHint: "尚未設定遠端主機;用 `reasonix remote add <名稱> [user@]host` 新增",
500
501 UnknownCommandFmt: "未知命令 %q",
502 UsageRunHint: "用法:reasonix -p [--model NAME] <task>",
503 ErrorPrefix: "錯誤:",
504 ReconfigureOnUnknownModel: "設定的模型已不可用 —— 重新執行引導設定。",
505 WriteConfigErr: "寫入設定失敗:",
506 WriteEnvErr: "寫入 .env 失敗:",
507
508 ProviderErrBadRequest: "請求格式錯誤 (HTTP 400):請求體被拒絕,通常是程式缺陷。若持續出現請回報。",
509 ProviderErrContextOverflowFmt: "請求超出共用上下文視窗:prompt %d + 輸出 %d = %d tokens,視窗只有 %d。請壓縮、用更小的輸出上限重試、分叉或回溯後再發送。",
510 ProviderErrAuth: "認證失敗 (HTTP 401):未讀到 API key(缺失或未設定)。請在 .env 中設定金鑰,或執行 `reasonix setup`。",
511 ProviderErrModelFormatMismatch: "模型/API 格式不相容:服務端不支援目前模型使用所選 provider 線路。這不是 API key 失效;請選擇支援該模型的 provider 線路。",
512 ProviderErrOpenCodeGoGrokRoute: "OpenCode Go 的 `grok-4.5` 請使用 OpenCode Go Responses 預設。",
513 ProviderErrQuotaExhaustedFmt: "%s:供應商餘額或方案額度不足(HTTP %d)。請檢查帳戶額度後繼續。",
514 ProviderErrReasonMissing: "上游拒絕了請求,但未提供具體原因。",
515 SearchSourcesNotProvided: "搜尋已完成,供應商未提供可用的結構化來源。",
516 SearchModelUnavailable: "指定的網頁搜尋模型不可用;不會改用其他帳號。",
517 ProtocolRecoveryLabel: "從有效歷史恢復",
518 ProviderErrInsufficientBalance: "餘額不足 (HTTP 402):帳戶餘額不足,請前往儲值後重試。",
519 ProviderErrNotFound: "請求位址不存在(HTTP 404)。請檢查 API 格式和請求位址。",
520 ProviderErrUnprocessable: "參數錯誤 (HTTP 422):某個請求參數被拒絕,通常是程式缺陷。若持續出現請回報。",
521 ProviderErrInputSensitive: "輸入被 MiniMax 內容審查拒絕(錯誤碼 1026)。審查對象可能包含對話歷史和工具結果;請調整相關內容,或建立新對話只保留必要上下文。原樣重試通常無效。",
522 ProviderErrOutputSensitive: "MiniMax 產生的內容被內容審查拒絕(錯誤碼 1027)。請調整請求內容後重試;若持續出現,可改用其他服務商。",
523 ProviderErrRateLimited: "請求速率達到上限 (HTTP 429):請求過於頻繁 (TPM/RPM)。已退避重試,請放慢速率或稍後再試。",
524 ProviderErrServer: "伺服器故障 (HTTP 500):服務端內部錯誤。已退避重試;若持續失敗請稍後再試。",
525 ProviderErrServerBusy: "伺服器繁忙 (HTTP 503):服務端負載過高。已退避重試,請稍後再試。",
526 ProviderErrWaitExhaustedFmt: "已等待 %s,供應商始終無法連線,Reasonix 已停止等待。請檢查網路、代理或供應商狀態頁,然後重新傳送。",
527
528 SelectOneHint: "(↑/↓ · Enter · q 取消)",
529 SelectManyHint: "(↑/↓ · Space · Enter · q)",
530
531 ReportNoPending: "沒有待處理的 CLI 當機報告。",
532 ReportHeaderFmt: "CLI 當機報告 %s",
533 ReportCapturedFmt: "擷取時間:%s",
534 ReportPreviewOnlyFmt: "目前僅預覽。執行 `reasonix report send %s` 可傳送這份報告。",
535 ReportSendPrompt: "將這份已脫敏報告傳送到 crash.reasonix.io?",
536 ReportKept: "報告已保留在本機。",
537 ReportDeletedFmt: "已刪除 CLI 當機報告 %s。",
538 ReportSentFmt: "已傳送 CLI 當機報告 %s。",
539 ReportConfigFailedFmt: "無法載入網路設定:%v",
540 ReportUploadFailedFmt: "報告上傳失敗;本機報告已保留:%v",
541 ReportSentDeleteFailedFmt: "報告已傳送,但無法刪除本機副本:%v",
542 ReportUsageBody: `用法:
543 reasonix report 預覽最新本機報告並確認是否傳送
544 reasonix report list 列出本機 CLI 當機報告
545 reasonix report show [ID] 預覽報告(省略 ID 時使用最新一份)
546 reasonix report send [ID] 傳送已審閱報告,成功後刪除本機副本
547 reasonix report delete [ID] 不傳送,直接刪除本機報告`,
548
549 CLITelemetryConsentNotice: "Reasonix 可以向 crash.reasonix.io 傳送匿名、完全不含內容的 CLI 使用統計:隨機安裝 ID、版本、作業系統和固定品質分桶。絕不會傳送 prompt、回答、程式碼、路徑、模型或工具內容、環境變數。之後可執行 `reasonix config telemetry off` 關閉。",
550 CLITelemetryConsentPrompt: "允許傳送匿名 CLI 使用統計嗎?",
551 CLITelemetryConsentInvalid: "請輸入 y 或 n。",
552 CLITelemetryConsentSaveFailedFmt: "由於無法儲存偏好設定,CLI 使用統計仍維持關閉:%v",
553 CLITelemetryConsentCleanupFailedFmt: "CLI 使用統計已關閉,但無法刪除待傳送統計:%v",
554
555 UsageBody: `reasonix — 由設定和插件驅動的 coding agent(多模型)
556
557 用法:
558 reasonix [--model NAME] [-c|--continue] [-r|--resume [QUERY]] [--permission-mode MODE] [--effort LEVEL] [--add-dir PATH] 互動式會話
559 reasonix -p|--print [--model NAME] [--output-format text|json|stream-json] [--allowed-tools RULES] [--add-dir PATH] <task>
560 reasonix run [--model NAME] [--max-steps N] [-c|--continue] [--resume PATH] [--copy] [--output-format FORMAT] <task>
561 reasonix run --events-jsonl [--model NAME] <task> 輸出脫敏結構化事件 JSONL
562 reasonix review [--base BRANCH] [--commit SHA] [--model NAME] AI 程式碼審查(基於本機 diff)
563 reasonix web [--model NAME] [--addr HOST:PORT] [--no-open] 啟動本機 Web UI 並用預設瀏覽器開啟
564 reasonix serve [--model NAME] [--addr HOST:PORT] [--auth none|token|password] [--token STR] [--password STR] [--hash-password] 透過 HTTP+SSE 提供服務(支援可選認證)
565 reasonix acp [--model NAME] 透過 stdio 提供 Agent Client Protocol(也可用:reasonix --acp)
566 reasonix setup [path] 互動式設定精靈;生成 reasonix.toml(及 .env)
567 reasonix config reasoning-language [auto|zh|en] 設定可見思考語言
568 reasonix config compact-ratio [--local] [30..85] 設定自動壓縮閾值
569 reasonix config telemetry [auto|on|off] 設定不含內容的 CLI 使用統計
570 reasonix report [list|show|send|delete] [ID] 審閱並明確傳送本機 CLI 當機報告
571 reasonix mcp <add|remove|list|import> 管理 reasonix.toml 裡的 MCP 伺服器
572 reasonix subagent <list|create|edit|delete|try|run> 管理和執行隔離子智慧體 profile
573 reasonix init 查看如何產生專案記憶(AGENTS.md)
574 reasonix doctor [--json] 輸出脫敏的本機診斷資訊
575 reasonix doctor session <branch-id> [--zip] [--out PATH] 匯出會話衝突診斷 zip
576 reasonix session list --json [--dir PATH] 為機器客戶列出脫敏會話
577 reasonix session show|status <machine-session-id> --json [--dir PATH] 查詢單一脫敏會話
578 reasonix session recovery [<machine-session-id>] --json [--dir PATH] 查詢脫敏復原狀態
579 reasonix hook list|status --json [--dir PATH] 檢視脫敏 Hook 狀態
580 reasonix task list|show|status|events|stop|cancel|monitor|tmux --json [--dir PATH]
581 檢視或控制脫敏 Task
582 reasonix bot start|doctor|weixin-login 多管道 IM bot 閘道
583 reasonix upgrade [--check] [--force] 更新到最新正式版(別名:reasonix update)
584 reasonix completion bash|zsh|fish 列印 shell 補全腳本到 stdout
585 reasonix version [--verbose|--json] 列印版本(單行)或建置元資訊
586 reasonix --version | -v 單行版本(腳本安全)
587 reasonix help
588
589 範例:
590 reasonix
591 reasonix --continue
592 reasonix --resume provider-config
593 reasonix web
594 reasonix run "把 main.go 裡的 TODO 實現掉"
595 reasonix run --model mimo-pro "給這個函式補單元測試"
596 reasonix -p "總結這個倉庫" --output-format json
597 reasonix subagent run review "審查目前變更"
598 echo "解釋這段程式碼" | reasonix run
599
600 設定:
601 優先順序:flag > ./reasonix.toml > <Reasonix home>/config.toml > 內建預設值
602 金鑰透過 api_key_env 從環境變數注入(如 DEEPSEEK_API_KEY)。
603 執行 'reasonix setup' 生成設定;詳見 docs/SPEC.md。
604 `,
605 RenameUsage: "用法:/rename <新名稱> 或 /rename <序號> <新名稱>",
606 RenameNoSession: "當前沒有活躍會話可重新命名",
607 RenameDoneFmt: "會話已重新命名為 %q",
608 DiffFoldEnabledFmt: "diff 已摺疊至 %d 行(/diff-fold 展開)",
609 DiffFoldDisabled: "diff 已展開 — 顯示全部行(/diff-fold 摺疊)",
610 SlashClearPrompt: "清空當前上下文且不儲存?",
611 SlashClearDone: "已清空當前上下文",
612 SlashClearFailed: "清空當前上下文失敗",
613 SlashClsDone: "已清除畫面(LLM 上下文保留)",
614 CmdClear: "丟棄當前上下文",
615 CmdRename: "重新命名會話",
616 CmdGoal: "設定或清除當前目標",
617 CmdDiffFold: "切換 diff 摺疊/展開",
618 ListMemorySaved: "儲存的記憶",
619 ListMemoryArchived: "歸檔的記憶",
620 GoalEmpty: "目標:無 — 用 /goal <目標> 設定",
621 GoalCurrentFmt: "目標:%s",
622 GoalSetFmt: "目標已設定 → %s",
623 GoalCleared: "目標已清除",
624 GoalNotRunning: "沒有執行中的目標可暫停",
625 GoalNotPaused: "沒有已暫停或被阻擋的目標可恢復",
626 GoalPaused: "目標已暫停 — /goal resume 可繼續",
627 GoalPausedReason: "使用者手動暫停",
628 GoalPausedFmt: "目標已暫停(%s)— 使用 /goal resume 繼續",
629 GoalRuntimeFmt: "執行狀態:輪次 %d · 請求 %d · token %d · 工作時間 %s",
630 GoalRuntimeLastReason: "最近原因",
631 ProviderErrAuthRejected: "認證失敗 (HTTP 401):服務端拒絕了你的 API key。可能是 key 錯誤或已過期,也可能是服務端出現瞬時鑑權/額度問題——已退避重試仍失敗。請稍後再試,或檢查 .env 中的金鑰 / 執行 `reasonix setup`。",
632 SelectMoreAboveFmt: " ↑ 上方還有 %d 個",
633 SelectMoreBelowFmt: " ↓ 下方還有 %d 個",
634 SelectSearchHint: "/ 搜尋 · 輸入關鍵詞過濾 · Esc 取消搜尋",
635 CmdProvider: "切換供應商",
636 ProviderListHeader: "供應商(/provider <名稱> 切換)",
637 ProviderAlreadyOnFmt: "已經在使用供應商 %s",
638 ProviderUnknownFmt: "未知供應商 %q",
639 ProviderPickLabel: "選擇 %s 的一個模型",
640 ProviderNoModelsFmt: "供應商 %s 沒有已配置的模型",
641 UpgradeChecking: "正在檢查更新…",
642 UpgradeChannelDeprecated: "發布渠道已停用;將使用最新正式版。",
643 UpgradeDevBuild: "開發版本無法自更新",
644 UpgradeFetchFailed: "檢查更新失敗:%v",
645 UpgradeInvalidVersion: "遠端版本不是有效的 semver",
646 UpgradeAlreadyLatest: "已是最新版本。",
647 UpgradeForcing: "強制重新安裝當前版本…",
648 UpgradeAvailableFmt: "當前:%s → 最新:%s",
649 UpgradeNoAssetFmt: "未找到 %s 的安裝包",
650 UpgradeDownloadingFmt: "正在下載 %s(%s)…",
651 UpgradeDownloadFailed: "下載失敗:%v",
652 UpgradeVerifying: "正在校驗 SHA256…",
653 UpgradeChecksumFailed: "無法獲取校驗檔案:%v",
654 UpgradeChecksumMismatchFmt: "SHA256 不匹配:得到 %s,期望 %s",
655 UpgradeChecksumNotFoundFmt: "SHA256SUMS 中未找到 %s",
656 UpgradeExtractFailed: "解壓二進位制檔案失敗:%v",
657 UpgradeApplying: "正在替換二進位制檔案…",
658 UpgradeApplyFailed: "應用更新失敗:%v",
659 UpgradeSuccessFmt: "已更新 %s → %s",
660 }
661
661 lines GO