项目文件夹

文件
2026-07-13 13:00:08 +08:00

506 行
32 KiB
Go

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
package i18n
// ChineseTraditional is the zh-Hant catalogue. Keep the %s placeholders in the same order
// as English unless a phrase genuinely demands re-ordering — call sites pass
// arguments positionally and won't reshuffle.
var ChineseTraditional = Messages{
Subtitle: "設定與插件驅動的 coding agent",
WelcomeTitleFmt: "歡迎使用 %s",
NoConfigYet: "還沒有設定 — 現在來設定一下吧。",
StartingChatFmt: "正在啟動 %s…",
SetKeyHint: "設定好 API key 後執行 `reasonix`。",
ConfigLabel: "設定",
ModelsLabel: "模型",
ConfigNotFound: "未找到 — 使用內建預設值",
ConfigErrorFmt: "%s — 錯誤:%v",
NoKey: "未設定 key",
Ready: "已就緒",
GetStarted: "開始使用",
StepScaffold: "生成 reasonix.toml",
StepSetKey: "設定 API key",
InitHint: "專案記憶(AGENTS.md)在會話內由模型生成:執行 `reasonix`,然後 `/init` —— 模型會分析程式碼庫並寫入。設定請用 `reasonix setup`。",
StepSetKeyHint: "執行 `reasonix setup`,或 export DEEPSEEK_API_KEY=…",
StepChatDesc: "互動式會話",
StepRunDesc: "執行單次任務",
HelpFooter: "reasonix help · 檢視全部命令",
ChatTip: "對話上下文將跨輪保留。輸入 'exit' 或按 Ctrl-D 退出。",
TurnCancelled: "已取消 — 回到提示符",
NoSessionToResume: "沒有可恢復的會話 — 用 `reasonix` 開一個新的",
ResumeRequiresTTY: "--resume 需要互動式終端;用 --continue 直接恢復最近一次",
PickSessionLabel: "恢復哪個會話?",
ResumeListHeader: "會話(/resume <n> 切換)",
ResumeBusy: "請先完成或取消當前這一輪再恢復會話",
ResumeBadIndexFmt: "請選擇 1–%d 的會話(用 /resume 檢視列表)",
ResumeAlreadyActive: "已在該會話中",
ResumedTitle: "已恢復會話",
ResumePickTitle: "選擇要恢復的會話",
ResumePickHint: "↑/↓ 移動 · Enter 恢復 · Esc 取消",
ChatThinking: "思考中…",
ChatThoughtForFmt: "思考了 %d 秒",
ChatStatusThinkingFmt: "%s 思考中… (%d 秒 · Esc 取消)",
ChatToolWorkingFmt: "%s 執行中 · %d 秒",
ChatStatusRetryingFmt: "%s 正在重試 (%d/%d)… (Esc 取消)",
ChatStatusCancellingFmt: "%s 正在停止… (%d 秒 · Ctrl+C 退出)",
ChatStatusIdle: "就緒",
ChatStatusYoloIdle: "已跳過核准",
ChatStatusCycleHint: "shift+tab 循環切換",
ChatStatusCacheNowFmt: "本次命中 %s",
ChatStatusCacheAvgFmt: "平均 %s",
ChatStatusPlanApproval: "Enter/y 核准並執行 · n/Esc 繼續規劃 · PgUp/PgDn 捲動",
PlanApprovalPrompt: "計畫已生成(見上方)— Enter/y 核准執行,n/Esc 繼續規劃",
ChatStatusToolApproval: "1 本次允許 · 2 本會話允許此範圍 · 提供時 3/4 為前綴或儲存 · n/Esc 拒絕 · Ctrl-C 取消本輪",
AskTypeSomething: "自己輸入",
AskTypingHint: "輸入後按 Enter 確認",
AskChatInstead: "先不選擇,直接回覆",
ChatStatusQuestion: "↑/↓ 選 · 數字快選 · 空格多選 · Enter 確認 · ←/→ 切換問題 · Esc 取消",
StatusResumePicker: "↑/↓ 移動 · Enter 恢復 · Esc 取消",
AskSubmitTitle: "提交答案",
AskUnanswered: "(未答)",
AskSubmitHint: "Enter 提交 · ← 返回修改",
ToolApprovalPromptFmt: "需要你的許可\n\n將呼叫工具 %s%s。\n%s\n%s",
ToolApprovalChoices: "1. 本次允許\n2. 本會話允許 %s\n3. 總是允許 %s(儲存到設定)\n4. 拒絕\n選擇 [1/2/3/4](相容 y/a/p/n",
BashPrefixChoices: "1. 本次允許\n2. 本會話允許 %s\n3. 總是允許 %s(儲存到設定)\n4. 拒絕\n選擇 [1/2/3/4](相容 y/a/p/n",
PlanModeReadOnlyCommandChoices: "1. 本次信任\n2. 本會話信任此前綴\n3. 總是在計劃模式信任此前綴(儲存到設定)\n4. 拒絕\n選擇 [1/2/3/4](相容 y/a/p/n",
FreshHumanApprovalChoices: "1. 本次允許\n2. 拒絕\n選擇 [1/2](相容 y/n",
SandboxEscapeApprovalChoices: "1. 允許一次\n2. 本會話使用真實環境\n3. 拒絕\n選擇 [1/2/3](相容 y/a/n",
ApprovalNeededFmt: "需要核准:%s",
ApprovalNeededWithSubjectFmt: "需要核准:%s %s",
ToolApprovalSourceFmt: "來源: %s",
ToolApprovalBuiltIn: "內建工具",
ToolApprovalImageUse: "將讀取提供的圖片用於圖像理解。",
ApprovalToolLabelBash: "bash",
ApprovalToolLabelEditFile: "編輯檔案",
ApprovalToolLabelWriteFile: "寫入檔案",
ApprovalToolLabelMultiEdit: "批次編輯",
ApprovalToolLabelMoveFile: "移動檔案",
ApprovalToolLabelWebFetch: "讀取網頁",
ApprovalToolLabelRunSkill: "執行技能",
ApprovalToolLabelRemember: "儲存記憶",
ApprovalToolLabelForget: "刪除記憶",
ApprovalToolLabelSandboxEscape: "bash 沙箱降級核准",
ApprovalToolLabelPlanModeReadOnly: "計劃模式唯讀命令",
MemoryApprovalSaveUpdate: "儲存/更新記憶",
MemoryApprovalBodyLabel: "正文",
MemoryApprovalArchiveFmt: "封存記憶 %q",
PlanModeMCPTrustMetadataMissing: "這個 MCP 工具沒有暴露足夠的中繼資料,無法記住唯讀信任決策。",
PlanModeMCPTrustSubjectFmt: "將 MCP %s/%s 作為計劃/研究唯讀工具信任",
PlanModeMCPTrustReason: "這個 MCP 工具宣告自己是唯讀的,但外部唯讀提示需要你確認後,計劃模式才能使用。選擇總是允許可為後續計劃和唯讀研究記住這份信任。",
PlanModeMCPTrustDeclined: "使用者拒絕信任這個 MCP 唯讀提示;不要重試它,請繼續使用其他已信任的唯讀工具,或詢問使用者希望如何繼續。",
PlanModeBashTrustSubjectFmt: "在計劃模式中信任 %q 為唯讀命令前綴\n命令:%s",
PlanModeBashTrustReason: "這條 bash 命令不在 Reasonix 內建唯讀集合中。只有在確認這個精確前綴用於計劃和研究時是唯讀的,才應核准。自動/YOLO 核准不能回答這個信任提示。",
PlanModeBashTrustDeclined: "使用者拒絕將這條 bash 命令信任為計劃模式唯讀命令;不要重試它,請繼續使用其他已信任的唯讀工具,或詢問使用者希望如何繼續。",
SandboxEscapeSubjectFallback: "僅本次不進沙箱執行 shell 命令",
SandboxEscapeSubjectPrefix: "僅本次不進沙箱執行:",
SandboxEscapeWrapReason: "Windows 沙箱無法包裝這條命令。是否僅本次不進 OS 沙箱執行?這只會對此命令繞過 OS 沙箱。",
SandboxEscapeRuntimeReason: "Windows 沙箱啟動這條命令時失敗。是否僅本次不進 OS 沙箱執行?這只會對此命令繞過 OS 沙箱。",
SandboxEscapeDeclined: "使用者拒絕在沒有 OS 沙箱的情況下執行這條命令;不要不進沙箱重試,請詢問使用者希望如何繼續。",
ApprovalToolLabelConfigWrite: "Reasonix 設定寫入核准",
ConfigWriteSubjectPrefix: "寫入 Reasonix 設定:",
ConfigWriteReason: "這次寫入的目標是工作區之外的 Reasonix 託管設定檔。它可以改變後續工作階段的模型供應商、沙箱規則、權限和 MCP 伺服器,因此需要你的明確核准。",
ConfigWriteDeclined: "使用者拒絕了這次 Reasonix 設定寫入;不要重試,請詢問使用者希望如何繼續。",
ConfigWriteApprovalChoices: "1. 允許一次\n2. 本工作階段允許\n3. 拒絕\n選擇 [1/2/3](相容 y/a/n",
PermissionSavedFmt: "授權已儲存到 %s%s",
PermissionAlreadyAllowedFmt: "授權已由 %s 中的規則覆蓋:%s",
PermissionSaveFailedFmt: "儲存授權 %s 失敗:%v",
MCPReadOnlyTrustSavedFmt: "MCP 唯讀信任已儲存到 %s%s/%s",
MCPReadOnlyTrustAlreadyFmt: "MCP 唯讀信任已儲存在 %s%s/%s",
MCPReadOnlyTrustFailedFmt: "儲存 MCP 唯讀信任 %s/%s 失敗:%v",
PlanModeReadOnlyCommandTrustSavedFmt: "計劃模式唯讀命令信任已儲存到 %s:%s",
PlanModeReadOnlyCommandTrustAlreadyFmt: "計劃模式唯讀命令信任已儲存在 %s:%s",
PlanModeReadOnlyCommandTrustFailedFmt: "儲存計劃模式唯讀命令信任 %s 失敗:%v",
DiffFoldedFmt: "… 還有 %d 行",
OutputStyleNone: "沒有可用的輸出風格",
OutputStyleHeader: "輸出風格:",
OutputStyleHint: "在 reasonix.toml 設定 agent.output_style 即可啟用(下次會話生效)",
ThemeHeader: "主題:",
ThemeHint: "使用 /theme <auto|light|dark|style> 切換",
ThemeChangedFmt: "已切換主題為 %s / %s",
ThemeUnknownFmt: "未知主題 %q",
LanguageHeader: "語言:",
LanguageHint: "使用 /language <auto|en|zh|zh-TW> 切換",
LanguageChangedFmt: "語言已設為 %s(當前解析為:%s)",
CompactionWorking: "正在壓縮對話…",
CompactionTitle: "上下文已壓縮",
CompactionUnit: "條訊息",
CompactionAuto: "自動",
CompactionManual: "手動",
SlashCompactDone: "已壓縮 — 舊的中段換成一段摘要,最近幾輪保留原樣",
SlashCompactFailed: "壓縮失敗",
SlashNewDone: "已開啟新上下文 — 之前的對話已存檔",
SlashNewFailed: "新建會話失敗",
SlashUnavailable: "當前建構不支援該命令",
SlashUnknown: "未知命令",
SlashTodoCleared: "已清除任務清單",
SlashHelp: "命令:/compact · /new/clear)· /resume · /rewind · /tree · /branch · /switch · /todo · /verbose · /model(切換模型)· /effort · /theme · /language · /mcp · /skills · /plugins · /hooks · /paste-image · /memory · /memory-v5 · /migrate · /remember · /quit · /help · 以及 skills/init、/explore …)",
SkillPickerTitle: "Skills",
SkillPickerAvailableFmt: "%d 個可用",
SkillPickerMatchingFmt: "%d 個匹配 · 共 %d 個",
SkillPickerHint: "↑↓ 移動 · Space 開關 · Enter 儲存 · / 搜尋 · s 來源 · r 重新掃描 · Esc 取消",
SkillPickerDetailHint: "↑↓ 移動 · Enter 選擇 · Space 開關 · Esc 返回",
SkillPickerSearchEmpty: "沒有匹配的 skill",
SkillPickerSearchPrompt: "搜尋: ",
SkillPickerSearchPlaceholder: "搜尋 skills...",
SkillPickerSourceTitle: "來源",
SkillPickerSourceActiveFmt: "%d 個有效",
SkillPickerSourceHint: "↑↓ 移動 · Enter 檢視技能 · d 診斷 · s skills · r 重新掃描 · Esc 關閉",
SkillPickerDiagHidden: "d 展開診斷",
SkillPickerDiagShown: "d 收起診斷",
SkillPickerBuiltinSource: "內建",
SkillPickerRescanned: "已重新掃描 skills",
SkillPickerNoDescription: "(無描述)",
SkillPickerScopeProject: "專案",
SkillPickerScopeCustom: "自訂",
SkillPickerScopeGlobal: "全域",
SkillPickerScopeBuiltin: "內建",
SkillPickerSubagent: "子代理",
SkillPickerAvailableLabel: "可用",
SkillPickerDisabledLabel: "關閉",
SkillPickerNoChanges: "Skills 對話框已關閉:沒有變更",
SkillPickerSourceSkillsHint: "↑↓ 移動 · Space 開關 · Enter 詳情 · Esc 返回來源",
SkillPickerSourceSkillsEmpty: "這個來源下沒有 skill",
SkillPickerActionToggle: "切換啟用狀態",
SkillPickerActionDelete: "刪除 skill",
SkillPickerDeleteTitleFmt: "刪除 skill /%s?",
SkillPickerDeleteConfirm: "刪除",
SkillPickerDeleteCancel: "取消",
SkillPickerDeleteHint: "Enter 確認 · y 刪除 · n/Esc 取消",
SkillPickerDeletedFmt: "已刪除 skill %s",
SkillPickerMoreAboveFmt: "↑ 上方還有 %d 個",
SkillPickerMoreBelowFmt: "↓ 下方還有 %d 個",
SkillPickerTokenFmt: "~%d tok",
SkillPickerDetailMetaFmt: "範圍: %s 執行方式: %s",
SkillPickerSkillsUnit: "個 skill",
SkillPickerLinesUnit: "行",
SkillPickerStatusLabel: "技能選擇器",
SkillPickerStatusOK: "有效",
SkillPickerStatusMissing: "缺失",
SkillPickerStatusNotDir: "非目錄",
SkillPickerStatusUnreadable: "無權限",
SlashPromptEmpty: "該 MCP prompt 沒有返回可傳送的內容",
SlashMCPNone: "沒有設定 MCP 伺服器 — 在 reasonix.toml 加一個 [[plugins]] 條目",
CtrlCQuitHint: "再按一次 Ctrl+C 退出",
CompHintSlash: "↑/↓ 移動 · Tab/Enter 選中 · Esc 關閉",
CompHintFile: "↑/↓ 移動 · Tab/Enter 進入資料夾或選中檔案 · Esc 關閉",
MouseCopiedHint: "已複製到剪貼簿",
MouseCaptureOnHint: "滑鼠接管已開啟 — 應用內拖拽選取/捲軸/滾輪生效",
MouseCaptureOffHint: "滑鼠接管已關閉 — 由終端原生處理選取與右鍵選單",
MouseCaptureTag: "終端原生滑鼠",
ShellExecEmpty: "用法:!<命令> (例如 !ls -la",
ShellExecFailedFmt: "Shell 命令執行失敗:%v",
ShellExecTimeoutFmt: "Shell 命令逾時(>%s",
ShellModeHint: "Enter 執行 Shell · Esc 取消 · 點擊輸出展開",
CmdNew: "清空上下文並儲存歷史",
CmdCls: "清除畫面(保留 LLM 上下文)",
CmdCompact: "壓縮上下文",
CmdRewind: "回滾到更早的一輪",
CmdTree: "檢視對話分支樹",
CmdBranch: "建立對話分支",
CmdSwitchBranch: "切換對話分支",
CmdResume: "恢復已儲存的會話",
CmdModel: "切換模型",
CmdWorkMode: "切換工作模式",
CmdMemory: "檢視記憶檔案",
CmdMigrate: "重試舊資料遷移",
CmdRemember: "儲存一條記憶",
CmdForget: "刪除一條已存記憶",
CmdMcp: "MCP 伺服器",
CmdHooks: "管理 hooks",
CmdPlugins: "管理插件包",
CmdPasteImage: "貼上剪貼簿圖片",
CmdOutputStyle: "列出輸出風格",
CmdTheme: "切換 CLI 主題",
CmdLanguage: "切換 CLI 語言",
CmdSkill: "管理 skills",
CmdVerbose: "切換 thinking 原文顯示",
CmdReloadCmd: "重載自定義命令",
CmdSandbox: "檢視沙箱狀態",
CmdEffort: "設定推理強度",
CmdMouse: "切換滑鼠接管(關閉後由終端原生處理選取/右鍵)",
CmdAutoPlan: "設定自動計畫模式",
CmdReasonLang: "設定可見思考語言",
CmdMemoryV5: "切換 Memory v5",
CmdHelp: "檢視命令列表",
CmdTodo: "清除任務清單",
CmdQuit: "退出會話",
CmdCopy: "選擇回覆複製到剪貼簿",
CmdExport: "將會話匯出為 Markdown",
SlashCopyDone: "已複製到剪貼簿",
SlashCopyEmpty: "沒有可複製的助手回覆",
SlashCopyListHeader: "選擇要複製的回覆:",
SlashExportDoneFmt: "會話已匯出到 %s",
SlashExportEmpty: "沒有可匯出的訊息",
ArgSkillList: "列出 skills",
ArgSkillShow: "檢視 skill 內容",
ArgSkillNew: "新建一個 skill",
ArgSkillPaths: "顯示發現路徑",
ArgMcpAdd: "連線一個伺服器",
ArgMcpRemove: "斷開一個伺服器",
ArgMcpList: "顯示已設定的伺服器",
ArgMcpConnected: "已連線",
ArgHooksList: "列出生效的 hooks",
ArgHooksTrust: "信任本專案的 hooks",
ArgModelCurrent: "當前",
ArgEffortAuto: "使用模型預設值",
ArgEffortLow: "較輕推理",
ArgEffortMedium: "均衡推理",
ArgEffortHigh: "較深推理",
ArgEffortXHigh: "超高推理",
ArgEffortMax: "最高推理",
ArgThemeCurrent: "當前",
ArgLanguageAuto: "從 REASONIX_LANG / 系統 locale 自動偵測",
ArgLanguageEn: "English",
ArgLanguageZh: "中文",
ListModelsHeaderFmt: "模型(當前:%s",
ListModelsHint: "用底部的模型切換器,或輸入 /model <provider/model>",
ListMemoryHeader: "記憶檔案",
ListMemoryNone: "暫無記憶 — 用 “/remember <內容>” 新增,或執行 /init 生成 AGENTS.md",
ListSkillsHeaderFmt: "skills%d 個)",
ListSkillsNone: "暫無 skill — 呼叫內建的(如 /init),或用 install_skill 建立一個",
ListHooksHeaderFmt: "hooks(生效 %d 個)",
ListHooksNone: "無生效 hooks — 在 .reasonix/settings.json(專案,需信任後)或 <Reasonix home>/settings.json(全域)設定",
ListMcpHeader: "MCP 伺服器",
ListMcpNone: "未連線 MCP 伺服器 — 在 reasonix.toml[[plugins]])或專案 .mcp.json 中新增",
MemoryNone: "還沒有載入任何記憶 — 輸入 “/remember 內容” 可快速記錄,也可以在專案根目錄建立 REASONIX.md",
MemoryLoaded: "當前已載入的記憶:",
MemorySavedHeader: " 已記錄的條目(用 “/forget <name>” 刪除):",
MemoryStoredUnderFmt: " 存放於 %s",
MemoryEditHint: "可直接編輯記憶文件,或輸入 “/remember 內容” 快速記錄;文件變動會在下次會話生效",
ForgetUsage: "用法:/forget <name> — name 是 /memory 中顯示的條目標識",
ForgetDoneFmt: "已刪除記憶:%s",
QuickRememberEmpty: "沒有要記錄的內容",
QuickRememberDoneFmt: "已記住 → %s",
ModelSwitchUnavailable: "本會話不支援切換模型",
ModelSwitchBusy: "請先完成或取消當前這一輪再切換模型",
ModelAlreadyOnFmt: "已經在使用 %s",
ModelSwitchingFmt: "正在切換到 %s…",
ModelSwitchedFmt: "已切換到 %s(會保留當前對話,但提示詞快取會重新計算)",
ModelListHeader: "模型(/model <provider/model> 切換)",
RuntimeSwitchPending: "請等待目前執行階段切換完成",
WorkModeStatusFmt: "工作 %s",
WorkModeListHeaderFmt: "工作模式(目前:%s",
WorkModeListHint: "使用 /work-mode economy|balanced|delivery 切換(/profile 為相容別名)",
WorkModeEconomyDesc: "降低 Token 消耗,按需連接可選工具來源",
WorkModeBalancedDesc: "完整工具面,由模型判斷所需工作量",
WorkModeDeliveryDesc: "強調完整驗證與交付,增強 skill 與插件呼叫",
WorkModeUsage: "用法:/work-mode economy|balanced|delivery",
WorkModeSwitchUnavailable: "本會話不支援切換工作模式",
WorkModeSwitchBusy: "請先完成或取消目前工作,再切換工作模式",
WorkModeAlreadyOnFmt: "目前已經是 %s 工作模式",
WorkModeSwitchingFmt: "正在切換到 %s 工作模式…",
WorkModeSwitchedFmt: "已切換到 %s 工作模式(保留目前對話,但提示詞快取會重新計算)",
RewindNone: "暫無可回滾的內容",
RewindCodeConversation: "程式碼 + 對話",
RewindConversationOnly: "僅對話",
RewindCodeOnly: "僅程式碼",
RewindFork: "從這裡分叉(保留當前程式碼)",
RewindSummarizeFrom: "總結這一輪之後的內容",
RewindSummarizeUpto: "總結到這一輪為止",
RewindPickTitle: "⟲ 回滾 — 選擇一輪",
RewindPickHint: "↑/↓ 移動 · Enter 選擇 · Esc 關閉",
RewindRestoreTitleFmt: "⟲ 恢復到第 %d 輪 ",
RewindApplyHint: "↑/↓ · Enter 套用 · Esc 返回",
RewindEmpty: "(空)",
SelectProvidersLabel: "選擇要啟用的 provider",
EnterAPIKeysHeader: "輸入 API keyEnter 跳過、稍後再設):",
MissingKeyIntro: "reasonix.toml 已設定好 — 只差一個 API key 就可以開始。",
WroteFileFmt: "已寫入 %s",
SetupComplete: "設定完成。",
SetupCancelled: "設定已取消。",
TryHintFmt: "試試: %s",
NextHint: "下一步:設定 API key(執行 `reasonix setup` 或 export DEEPSEEK_API_KEY=...),然後執行 `reasonix run \"你的任務\"`。",
ConfirmReconfigureFmt: "%s 已存在。重新設定並覆蓋?",
KeepingExisting: "保留原設定不變。",
NotOverwritingFmt: "%s 已存在,不覆蓋",
SetupManagerTitle: "供應商設定",
SetupAddOpenAI: "新增 OpenAI 相容供應商",
SetupAddAnthropic: "新增 Anthropic 相容供應商",
SetupProviderExistsFmt: "供應商 %q 已存在。請進入現有供應商管理來編輯模型或設定。",
SetupSaveExit: "儲存並離開",
SetupSaveExitDesc: "寫入目前暫存的修改",
SetupCancel: "取消",
SetupCancelDesc: "放棄全部暫存修改",
SetupModelsUnit: "個模型",
SetupKeySet: "已設定 Key",
SetupKeyMissing: "缺少 Key",
SetupDefaultBadge: "預設",
SetupProviderActionsFmt: "管理 %s",
SetupEditProvider: "編輯供應商",
SetupUpdateKey: "更新 API Key",
SetupTestRefresh: "測試連線 / 重新整理模型列表",
SetupSetDefault: "設定預設模型",
SetupRemoveProvider: "刪除供應商",
SetupBack: "返回",
SetupPromptModels: "模型列表(用逗號分隔)",
SetupSharedKeyWarningFmt: "%s 已被 %s(%s)使用。確認共用這項憑據?",
SetupPromptAPIKeyFmt: "輸入 %s 的新值",
SetupSelectDefaultModel: "選擇預設模型",
SetupConfirmRemoveFmt: "確認刪除供應商 %s?",
SetupSummaryTitle: "待儲存修改:",
SetupSummaryAddedFmt: "新增:%s",
SetupSummaryEditedFmt: "編輯:%s",
SetupSummaryRemovedFmt: "刪除:%s",
SetupSummaryDefaultFmt: "預設模型:%s",
SetupSummaryKeysFmt: "更新 API Key%d 項",
SetupSummaryNoChanges: "沒有修改",
SetupConfirmSave: "儲存這些修改?",
SetupConcurrentChangeFmt: "setup 開啟期間設定已被修改(%s)。本次暫存修改未寫入,請重新執行 setup 檢查最新設定。",
// model fetching
FetchingModelsFmt: "正在取得 %s 的模型列表...",
FetchModelsSuccessFmt: "發現 %d 個 %s 模型",
FetchModelsFailedFmt: "取得 %s 模型失敗: %v",
FetchModelsUsingPresetsFmt: "無法線上取得 %s 的模型,使用預設列表",
FamilyKeyPromptFmt: "輸入 %s 的 API key 以取得可用模型(Enter 跳過):",
SelectModelsLabel: "選擇要啟用的 %s 模型",
NoModelsAvailableFmt: "%s: 沒有可用模型,跳過",
CustomFetchEmpty: "/models 返回為空,回退到手動輸入",
AnthropicFetchEmpty: "/models 返回為空 — Anthropic 相容服務通常不提供此端點,回退到手動輸入",
SkipStaleCustomEntryFmt: "跳過 reasonix.toml 裡的舊 %q 條目(指向 %s)— 請手動從 [[providers]] 裡刪除",
APIKeyAlreadySetFmt: "復用已設定的 %s",
APIKeyResetPromptFmt: "重新輸入 %s?",
InvalidAPIKeyEnvFmt: "%q 不是有效的 API Key 變數名稱。只能使用字母、數字和底線(例如 MY_PROVIDER_API_KEY);請勿在此填寫模型名稱。",
RepairedAPIKeyEnvFmt: "provider %s:已將無效的 API Key 變數名稱 %q 修復為 %q",
// custom provider
CustomProviderLabel: "自訂模型",
CustomProviderDesc: "新增第三方 OpenAI 相容模型",
CustomAddMethodLabel: "新增第三方 OpenAI 相容模型 - 選擇新增方式",
CustomMethodManual: "手動輸入模型名稱",
CustomMethodURL: "從 URL 取得模型列表",
CustomPromptModel: "請輸入模型名稱",
CustomPromptBaseURL: "請輸入 Base URL",
CustomPromptKeyEnv: "API Key 變數名稱(直接按 Enter 使用預設值,不是模型名稱)",
CustomPromptAPIKey: "請輸入 API Key",
CustomAddedFmt: "已新增自訂模型: %s",
// Anthropic 相容 provider
AnthropicProviderLabel: "自訂模型2",
AnthropicProviderDesc: "新增第三方 Anthropic 相容模型",
AnthropicAddMethodLabel: "新增第三方 Anthropic 相容模型 - 選擇新增方式",
AnthropicMethodManual: "手動輸入模型名稱",
AnthropicMethodURL: "從 URL 取得模型列表",
AnthropicPromptModel: "請輸入模型名稱",
AnthropicPromptBaseURL: "請輸入 Base URL",
AnthropicPromptKeyEnv: "API Key 變數名稱(直接按 Enter 使用預設值,不是模型名稱)",
AnthropicPromptAPIKey: "請輸入 API Key",
AnthropicAddedFmt: "已新增 Anthropic 相容模型: %s",
AnthropicFetchingModelsFmt: "正在取得 %s 的模型列表...",
AnthropicFetchModelsSuccessFmt: "發現 %d 個 %s 模型",
AnthropicFetchModelsFailedFmt: "取得 %s 模型失敗: %v",
AnthropicSelectModelsLabel: "選擇要啟用的 %s 模型",
UnknownCommandFmt: "未知命令 %q",
UsageRunHint: "用法:reasonix run [--model NAME] <task>",
ErrorPrefix: "錯誤:",
ReconfigureOnUnknownModel: "設定的模型已不可用 —— 重新執行引導設定。",
WriteConfigErr: "寫入設定失敗:",
WriteEnvErr: "寫入 .env 失敗:",
ProviderErrBadRequest: "請求格式錯誤 (HTTP 400):請求體被拒絕,通常是程式缺陷。若持續出現請回報。",
ProviderErrAuth: "認證失敗 (HTTP 401)API key 缺失、錯誤或已過期。請檢查 .env 中的金鑰,或執行 `reasonix setup`。",
ProviderErrInsufficientBalance: "餘額不足 (HTTP 402):帳戶餘額不足,請前往儲值後重試。",
ProviderErrUnprocessable: "參數錯誤 (HTTP 422):某個請求參數被拒絕,通常是程式缺陷。若持續出現請回報。",
ProviderErrRateLimited: "請求速率達到上限 (HTTP 429):請求過於頻繁 (TPM/RPM)。已退避重試,請放慢速率或稍後再試。",
ProviderErrServer: "伺服器故障 (HTTP 500):服務端內部錯誤。已退避重試;若持續失敗請稍後再試。",
ProviderErrServerBusy: "伺服器繁忙 (HTTP 503):服務端負載過高。已退避重試,請稍後再試。",
SelectOneHint: "(↑/↓ · Enter · q 取消)",
SelectManyHint: "(↑/↓ · Space · Enter · q)",
UsageBody: `reasonix — 由設定和插件驅動的 coding agent(多模型)
用法:
reasonix [--model NAME] [-c|--continue] [--resume] [--yolo] [--dir PATH] 互動式會話(多輪;-c 恢復最近一次,--resume 選擇一個)
reasonix run [--model NAME] [--max-steps N] [-c|--continue] [--resume PATH] <task> 執行單次任務後退出
reasonix review [--base BRANCH] [--commit SHA] [--model NAME] AI 程式碼審查(基於本機 diff)
reasonix serve [--model NAME] [--addr HOST:PORT] [--auth none|token|password] [--token STR] [--password STR] [--hash-password] 透過 HTTP+SSE 提供服務(支援可選認證)
reasonix acp [--model NAME] 透過 stdio 提供 Agent Client Protocol(也可用:reasonix --acp
reasonix setup [path] 互動式設定精靈;生成 reasonix.toml(及 .env
reasonix config auto-plan [off|on] 設定自動計畫模式
reasonix config memory-v5 [off|observe|compact|on|status] 設定 Memory v5
reasonix config reasoning-language [auto|zh|en] 設定可見思考語言
reasonix mcp <add|remove|list|import> 管理 reasonix.toml 裡的 MCP 伺服器
reasonix subagent <list|create|edit|delete|try|run> 管理和執行隔離子智慧體 profile
reasonix init 查看如何產生專案記憶(AGENTS.md)
reasonix doctor [--json] 輸出脫敏的本機診斷資訊
reasonix doctor session <branch-id> [--zip] [--out PATH] 匯出會話衝突診斷 zip
reasonix bot start|doctor|weixin-login 多管道 IM bot 閘道
reasonix upgrade [--check] [--force] 自更新至最新版本(也可用:reasonix update
reasonix version
reasonix help
範例:
reasonix
reasonix --continue
reasonix run "把 main.go 裡的 TODO 實現掉"
reasonix run --model mimo-pro "給這個函式補單元測試"
reasonix subagent run review "審查目前變更"
echo "解釋這段程式碼" | reasonix run
設定:
優先順序:flag > ./reasonix.toml > <Reasonix home>/config.toml > 內建預設值
金鑰透過 api_key_env 從環境變數注入(如 DEEPSEEK_API_KEY)。
執行 'reasonix setup' 生成設定;詳見 docs/SPEC.md。
`,
RenameUsage: "用法:/rename <新名稱> 或 /rename <序號> <新名稱>",
RenameNoSession: "當前沒有活躍會話可重新命名",
RenameDoneFmt: "會話已重新命名為 %q",
DiffFoldEnabledFmt: "diff 已摺疊至 %d 行(/diff-fold 展開)",
DiffFoldDisabled: "diff 已展開 — 顯示全部行(/diff-fold 摺疊)",
SlashClearPrompt: "清空當前上下文且不儲存?",
SlashClearDone: "已清空當前上下文",
SlashClearFailed: "清空當前上下文失敗",
SlashClsDone: "已清除畫面(LLM 上下文保留)",
CmdClear: "丟棄當前上下文",
CmdRename: "重新命名會話",
CmdGoal: "設定或清除當前目標",
CmdDiffFold: "切換 diff 摺疊/展開",
ListMemorySaved: "儲存的記憶",
ListMemoryArchived: "歸檔的記憶",
GoalEmpty: "目標:無 — 用 /goal <目標> 設定",
GoalCurrentFmt: "目標:%s",
GoalSetFmt: "目標已設定 → %s",
GoalCleared: "目標已清除",
ProviderErrAuthRejected: "認證失敗 (HTTP 401):服務端拒絕了你的 API key。可能是 key 錯誤或已過期,也可能是服務端出現瞬時鑑權/額度問題——已退避重試仍失敗。請稍後再試,或檢查 .env 中的金鑰 / 執行 `reasonix setup`。",
SelectMoreAboveFmt: " ↑ 上方還有 %d 個",
SelectMoreBelowFmt: " ↓ 下方還有 %d 個",
SelectSearchHint: "/ 搜尋 · 輸入關鍵詞過濾 · Esc 取消搜尋",
CmdProvider: "切換供應商",
ProviderListHeader: "供應商(/provider <名稱> 切換)",
ProviderAlreadyOnFmt: "已經在使用供應商 %s",
ProviderUnknownFmt: "未知供應商 %q",
ProviderPickLabel: "選擇 %s 的一個模型",
ProviderNoModelsFmt: "供應商 %s 沒有已配置的模型",
UpgradeChecking: "正在檢查更新…",
UpgradeDevBuild: "開發版本無法自更新",
UpgradeFetchFailed: "檢查更新失敗:%v",
UpgradeInvalidVersion: "遠端版本不是有效的 semver",
UpgradeAlreadyLatest: "已是最新版本。",
UpgradeForcing: "強制重新安裝當前版本…",
UpgradeAvailableFmt: "當前:%s → 最新:%s",
UpgradeNoAssetFmt: "未找到 %s 的安裝包",
UpgradeDownloadingFmt: "正在下載 %s%s)…",
UpgradeDownloadFailed: "下載失敗:%v",
UpgradeVerifying: "正在校驗 SHA256…",
UpgradeChecksumFailed: "無法獲取校驗檔案:%v",
UpgradeChecksumMismatchFmt: "SHA256 不匹配:得到 %s,期望 %s",
UpgradeChecksumNotFoundFmt: "SHA256SUMS 中未找到 %s",
UpgradeExtractFailed: "解壓二進位制檔案失敗:%v",
UpgradeApplying: "正在替換二進位制檔案…",
UpgradeApplyFailed: "應用更新失敗:%v",
UpgradeSuccessFmt: "已更新 %s → %s",
}