import type { TranslationCatalogs } from "pi-maestro-settings-core/v1"; export const MODEL_TUI_CATALOGS = { en: { "model.title": "Teammate Control Center", "model.tab.profiles": "Profiles", "model.tab.routing": "Routing", "model.tab.roles": "Roles", "model.tab.connections": "Connections", "model.tab.active": "Active", "remote.title": "Connections", "remote.scopeGlobal": "global", "remote.scopeProject": "project", "connections.deploymentsTitle": "Deployments · v2 registry", "connections.hostsTitle": "Worker hosts", "connections.workspacesTitle": "Pi workspaces", "connections.targetsTitle": "Worker targets", "connections.legacyNotice": "Legacy registry document · Enter to upgrade", "connections.addDeployment": "a add deployment", "connections.compactHint": "enter open · n host · N target · t test · esc close", "connections.registryLoadFailed": "Model registry unavailable: {message}", "connections.registryRequired": "A v2 model registry is required to edit this deployment.", "connections.registrationMissing": "Model registration {id} is no longer available.", "connections.legacyRequired": "A legacy registry document is required for this upgrade.", "connections.unknownAction": "Unknown connections action.", "connections.saveFailed": "Connection configuration save failed: {message}", "connections.stateUnavailable": "state unavailable", "connections.currentValue": "current: {value}", "connections.defaultValue": "default: {value}", "connections.retryPrompt": "Retry?", "connections.externalChangeDeclined": "External change overwrite declined.", "connections.wroteFile": "Wrote {path}", "connections.wroteFileBackup": "Wrote {path}; previous document saved to {backupPath}", "connections.deploymentManifestRequired": "A deployment manifest is required.", "connections.modelRegistration": "Model registration", "connections.unknownRegistration": "Unknown model registration.", "connections.unknownDeployment": "Unknown deployment {id}.", "connections.noChanges": "No changes.", "connections.registrationDeployment": "Registration deployment", "connections.modelRegistrationId": "Model registration id", "connections.intrinsicModelId": "Intrinsic model id", "connections.selector": "Selector", "connections.adapterModelSelector": "Adapter model selector", "connections.deploymentDefaultConfirm": "Use as this deployment's default model?", "connections.backendFamily": "Backend family", "connections.backendModuleId": "Backend module id", "connections.transport": "Transport", "connections.deploymentId": "Deployment id", "connections.saved": "Saved", "connections.savedRegistration": "{message}; {id} -> {selector}", "connections.legacyUpgradeConfirm": "{skeleton}\nWrite upgraded copy to {path}? The legacy file will not be changed.", "connections.upgradedCopyExists": "Upgraded copy already exists: {path}", "connections.scopeHint": "g/p scope", "connections.deploymentRow": "[D] {registration} · {model} · {harness}/{transport} · resolvable {resolvable}", "connections.hiddenHost": "(hidden) [H] {id}", "connections.hiddenWorkspace": "(hidden) [W] {workspace}", "connections.hiddenTarget": "(hidden) [T] {id}", "connections.hostRow": "[H] {id} {user}@{host}:{port} · SHA256:{keyPrefix}", "connections.hostRefRow": "[H] {id} /ssh reference · {sshHostRef}", "connections.workspaceRow": "[W] {workspace} {cwd} · host {host} · protocol >= {protocol}", "connections.targetRow": "[T] {id} {driver} · {cwd} · host {host}", "connections.connecting": "(connecting)", "connections.timedOut": "timed out after {timeout}", "connections.remotePersistenceCwdRequired": "Remote wizard persistence requires a working directory.", "connections.legacySkeletonMissing": "Legacy upgrade preview contains no JSON skeleton.", "connections.legacySkeletonInvalid": "Legacy upgrade preview contains no valid JSON skeleton.", "remote.newHost": "n new host", "remote.newTarget": "N new target", "remote.newWorkspace": "w new workspace", "remote.test": "t test", "remote.delete": "d delete", "remote.filter": "/ filter", "remote.close": "Esc close", "remote.testing": "Testing {id}…", "remote.ok": "✓", "remote.fail": "✗", "remote.empty": "No remote hosts or targets configured.", "remote.loadFailed": "Remote configuration unavailable: {message}", "remote.saveFailed": "Remote configuration save failed: {message}", "remote.validationFailed": "Validation failed: {error}", "remote.hostId": "Host id (alphanumeric, dots, dashes, underscores)", "remote.hostIdRequired": "Host id is required.", "remote.hostSource": "SSH host source", "remote.hostSourceInline": "Inline SSH settings", "remote.hostSourceManager": "Select from unlocked /ssh manager", "remote.hostRefSelect": "Select compatible /ssh host", "remote.hostRefUnavailable": "/ssh host references are unavailable: {error}", "remote.hostRefNoneCompatible": "The unlocked /ssh manager has no bash host using agent or passphrase-free identity authentication.", "remote.hostAddress": "Host address", "remote.hostUser": "SSH user", "remote.hostPort": "SSH port", "remote.hostKey": "Host key fingerprint (SHA256:… from ssh-keyscan -t rsa )", "remote.identityFile": "Identity file (leave empty for ssh-agent)", "remote.targetId": "Target id (e.g. linux/pi)", "remote.targetIdRequired": "Target id is required.", "remote.targetHost": "Target host", "remote.targetCwd": "Remote working directory (absolute POSIX path)", "remote.targetDriver": "Driver", "remote.targetCommand": "Command argv as JSON array (e.g. [\"pi\", \"--remote\"])", "remote.commandInvalid": "Command must be a JSON array of strings.", "remote.targetEnv": "Forwarded env variable names as JSON array (e.g. [\"CODEX_API_KEY\"]); leave [] for none", "remote.envInvalid": "Environment must be a JSON array of strings.", "remote.workspaceRef": "Workspace ref (e.g. prod/app)", "remote.workspaceHost": "Workspace host", "remote.workspaceCwd": "Trusted remote workspace directory (canonical absolute POSIX path)", "remote.workspaceProtocol": "Minimum window protocol", "remote.hostSaved": "Saved host {id}.", "remote.targetSaved": "Saved target {id}.", "remote.workspaceSaved": "Saved workspace {workspace}.", "remote.hostDeleted": "Deleted host {id}.", "remote.targetDeleted": "Deleted target {id}.", "remote.workspaceDeleted": "Deleted workspace {workspace}.", "remote.deleteHostTitle": "Delete host {id}?", "remote.deleteTargetTitle": "Delete target {id}?", "remote.deleteWorkspaceTitle": "Delete workspace {workspace}?", "model.status.pending": "Pending", "model.status.failed": "Failed", "model.status.retrying": "Retrying", "model.status.sleeping": "Sleeping", "model.status.done": "Done", "model.status.running": "Running", "model.circuit.strict": "strict · 2 failures / 30s", "model.circuit.strictDetail": "Fast-fail a degraded model", "model.circuit.lenient": "lenient · 5 failures / 300s", "model.circuit.lenientDetail": "Tolerate transient provider hiccups", "model.circuit.default": "default ({threshold} failures / {seconds}s)", "model.circuit.defaultPicker": "default · {threshold} failures / {seconds}s", "model.circuit.value": "{threshold} failures / {seconds}s", "model.setting.type": "Type", "model.setting.modelOverride": "Model override", "model.setting.thinkingOverride": "Thinking override", "model.setting.fallbackOverride": "Fallback override", "model.setting.circuit": "Circuit", "model.setting.model": "Model", "model.setting.thinking": "Thinking", "model.smartMode.off": "Smart model selection: off", "model.smartMode.economy": "Smart model selection: economy", "model.smartMode.balanced": "Smart model selection: balanced", "model.smartMode.sota": "Smart model selection: SOTA", "model.smartModeName.off": "off", "model.smartModeName.economy": "economy", "model.smartModeName.balanced": "balanced", "model.smartModeName.sota": "SOTA", "model.smartToggleHint": "· Ctrl+S", "model.smartModeChanged": "Smart model selection: {mode}", "model.askToggleOn": "Ask model before dispatch: on", "model.askToggleOff": "Ask model before dispatch: off", "model.askToggleHint": "· Ctrl+A", "model.askToggleEnabled": "Ask-before-dispatch enabled", "model.askToggleDisabled": "Ask-before-dispatch disabled", "ask.title": "Teammate dispatch · confirm model", "ask.taskCount": "· {count} task(s)", "ask.inheritModel": "inherit main session", "ask.inheritThinking": "inherit / Pi default", "ask.confirm": "Enter confirm", "ask.cancel": "Esc cancel", "ask.pickModel": "m model", "ask.pickThinking": "t thinking", "ask.pickLocation": "l location", "ask.locationPickerTitle": "Select location", "ask.locationCurrent": "Current workspace", "ask.locationCurrentShort": "@current", "ask.locationCustom": "Other local directory…", "ask.locationInput": "type an absolute or workspace-relative path", "ask.locationInputHint": "The directory must exist; paths outside the workspace need confirmation.", "ask.locationNotFound": "Directory not found: {path}", "ask.locationOutside": "Path is outside the current workspace: {path}", "ask.locationOutsideConfirm": "Confirm outside-workspace location (y/n)", "ask.locationRemoteDisabled": "Remote locations require active Monitor mode.", "ask.locationRemoteDisabledShort": "monitor", "ask.locationApplyAll": "a all", "ask.modelPickerTitle": "Select model", "ask.thinkingPickerTitle": "Select thinking", "ask.modelSearch": "type to filter", "ask.noModels": "No authenticated models", "ask.selectModel": "Enter select", "ask.back": "Esc back", "model.setting.fallbacks": "Fallbacks", "model.setting.roles": "Roles", "model.setting.keywords": "Keywords", "model.route.routesTo": "routes to {model}", "model.route.notPinned": "model not pinned", "model.route.frontmatter": "auto · agent frontmatter or prompt inference", "model.route.behindType": "fallback behind {type}", "model.route.inheritType": "inherit from type · {value}", "model.route.inheritModel": "auto · inherit routed model", "model.route.inheritThinking": "inherit / Pi default", "model.route.noneAssigned": "none assigned", "model.route.autoMain": "auto · inherit main session model", "model.role.currentType": "Current type · {type}", "model.role.noType": "{source} · no assigned type", "model.role.autoFrontmatter": "auto / agent frontmatter", "model.role.declaredType": "Use the agent's declared type · {type}", "model.role.promptInference": "Use prompt inference when no type is declared", "model.saving": "Saving {target}…", "model.savingMessage": "Saving · {target}", "model.saved": "Saved · {target} {kind} → {value}", "model.saveFailed": "Save failed · {message}", "model.savingRoles": "Saving roles for {type}…", "model.savedRoles": "Saved roles · {roles}", "model.invalidCircuit": "Invalid circuit · type threshold/cooldown (e.g. 4/120)", "model.savingCircuit": "Saving @{role} circuit…", "model.savedCircuit": "Saved · @{role} circuit → custom ({value})", "model.invalidType": "Invalid type · lowercase letters, digits, . _ - (e.g. security-audit)", "model.builtinType": "Cannot register a built-in type · {type}", "model.typeExists": "Custom type already exists · {type}", "model.savingCustomType": "Saving custom type {type}…", "model.savingKeywords": "Saving keywords for {type}…", "model.createdType": "Created custom type {type}", "model.savedKeywords": "Saved keywords for {type}", "model.clearedKeywords": "Cleared keywords for {type}", "model.builtinDelete": "Built-in types cannot be deleted", "model.deleting": "Deleting {type}…", "model.resetType": "Reset routing for agent-declared type {type}", "model.deletedType": "Deleted custom type {type}", "model.deleteFailed": "Delete failed · {message}", "model.notAuthenticated": "Not authenticated in this session", "model.notInFallback": "Not in fallback chain", "model.fallbackPriority": "Fallback priority {priority}", "model.circuitOpen": "circuit open · skipped", "model.circuitHalfOpen": "circuit half-open · probing", "model.circuitFailures": "{detail} ({count} failures)", "model.editor.settings": "Settings", "model.editor.fallback": "Fallback", "model.editor.thinking": "Thinking", "model.editor.circuit": "Circuit", "model.editor.type": "Type", "model.editor.roles": "Roles", "model.editor.model": "Model", "model.kind.model": "model", "model.kind.thinking": "thinking", "model.kind.circuit": "circuit", "model.kind.type": "type", "model.savingFallbacks": "Saving {target} fallbacks…", "model.savedFallbacks": "Saved fallbacks · {models}", "model.customAgent": "custom agent", "model.customDescription": "Custom agent task routing", "model.autoPicker": "auto / inherit main session model", "model.autoPickerDetail": "Use the task/top-level model, an explicitly configured mapping, or inherit the main session's model", "model.currentModel": "Current {owner} model", "model.authenticated": "Authenticated in this session", "model.configuredUnavailable": "Configured model is not authenticated in this session", "model.thinkingAutoDetail": "Use explicit task, top-level, agent frontmatter, or Pi default thinking", "model.currentThinking": "Current {owner} thinking depth", "model.appliesModel": "Applies to {model}", "model.appliesRouted": "Applies to the routed task model", "model.circuitShared": "Use the shared circuit breaker defaults", "model.circuitCustom": "custom …", "model.circuitCustomValue": "custom · {value}", "model.circuitPrompt": "type threshold/cooldown (e.g. 4/120)", "model.circuitCustomFooter": "Enter save · Esc/← back · type e.g. 4/120", "model.keywordsPlaceholder": "comma-separated keywords (e.g. audit, security)", "model.keywordsHelp": "Keywords for {type} · when to use this type · Enter with empty text skips", "model.keywordsFooter": "Enter save · Esc cancel · type comma-separated", "model.typePlaceholder": "type identifier (e.g. security-audit)", "model.newTypeHelp": "New custom agent type · lowercase letters, digits, . _ -", "model.newTypeFooter": "Enter save · Esc cancel · type identifier", "model.customRole": "custom role", "model.state.assigned": "✓ assigned", "model.state.active": "✓ active", "model.state.available": "available", "model.state.configured": "configured", "model.state.inherited": "inherited", "model.state.unavailable": "! unavailable{active}", "model.noOptions": "□ No matching options · Backspace clears the filter", "model.footer.fallback": "Esc/← settings · Space toggle · Ctrl+↑↓ order · Enter save", "model.footer.roles": "Esc/← settings · Space toggle · Enter save · ↑↓ select", "model.footer.menu": "Esc/← back · Enter/→ open · ↑↓ select", "model.footer.editor": "Esc/← settings · Enter save · ↑↓ select · type filter", "model.newType": "+ New custom type", "model.routingRow": "· {model} · think {thinking}", "model.customTypeSearch": "new custom type", "task.explore.label": "Explore", "task.explore.description": "File discovery, definitions, and call sites", "task.analysis.label": "Analysis", "task.analysis.description": "Read-only tracing and technical investigation", "task.debug.label": "Debug", "task.debug.description": "Root-cause diagnosis and runtime debugging", "task.planning.label": "Planning", "task.planning.description": "Architecture and execution planning", "task.development.label": "Development", "task.development.description": "Implementation and refactoring", "task.review.label": "Review", "task.review.description": "Correctness, quality, and security review", "task.testing.label": "Testing", "task.testing.description": "Tests, coverage, and regression validation", }, "zh-CN": { "model.title": "Teammate 控制中心", "model.tab.profiles": "配置方案", "model.tab.routing": "路由", "model.tab.roles": "Roles", "model.tab.connections": "连接", "model.tab.active": "活跃", "remote.title": "连接", "remote.scopeGlobal": "全局", "remote.scopeProject": "项目", "connections.deploymentsTitle": "部署 · v2 注册表", "connections.hostsTitle": "工作主机", "connections.workspacesTitle": "Pi 工作区", "connections.targetsTitle": "工作目标", "connections.legacyNotice": "旧版注册表文档 · 按 Enter 升级", "connections.addDeployment": "a 新建部署", "connections.compactHint": "enter 打开 · n 主机 · N 目标 · t 测试 · esc 关闭", "connections.registryLoadFailed": "Model 注册表不可用:{message}", "connections.registryRequired": "编辑此部署需要 v2 Model 注册表。", "connections.registrationMissing": "Model 注册项 {id} 已不可用。", "connections.legacyRequired": "升级需要旧版注册表文档。", "connections.unknownAction": "未知的连接操作。", "connections.saveFailed": "连接配置保存失败:{message}", "connections.stateUnavailable": "状态不可用", "connections.currentValue": "当前值:{value}", "connections.defaultValue": "默认值:{value}", "connections.retryPrompt": "重试?", "connections.externalChangeDeclined": "已拒绝覆盖外部更改。", "connections.wroteFile": "已写入 {path}", "connections.wroteFileBackup": "已写入 {path};原文档已备份至 {backupPath}", "connections.deploymentManifestRequired": "需要部署清单。", "connections.modelRegistration": "Model 注册项", "connections.unknownRegistration": "未知的 Model 注册项。", "connections.unknownDeployment": "未知部署 {id}。", "connections.noChanges": "没有更改。", "connections.registrationDeployment": "注册项部署", "connections.modelRegistrationId": "Model 注册项 id", "connections.intrinsicModelId": "内在 Model id", "connections.selector": "选择器", "connections.adapterModelSelector": "适配器 Model 选择器", "connections.deploymentDefaultConfirm": "设为此部署的默认 Model?", "connections.backendFamily": "Backend 系列", "connections.backendModuleId": "Backend 模块 id", "connections.transport": "传输方式", "connections.deploymentId": "部署 id", "connections.saved": "已保存", "connections.savedRegistration": "{message};{id} -> {selector}", "connections.legacyUpgradeConfirm": "{skeleton}\n将升级副本写入 {path}?旧版文件不会被更改。", "connections.upgradedCopyExists": "升级副本已存在:{path}", "connections.scopeHint": "g/p 范围", "connections.deploymentRow": "[D] {registration} · {model} · {harness}/{transport} · 可解析 {resolvable}", "connections.hiddenHost": "(已隐藏)[H] {id}", "connections.hiddenWorkspace": "(已隐藏)[W] {workspace}", "connections.hiddenTarget": "(已隐藏)[T] {id}", "connections.hostRow": "[H] {id} {user}@{host}:{port} · SHA256:{keyPrefix}", "connections.hostRefRow": "[H] {id} /ssh 引用 · {sshHostRef}", "connections.workspaceRow": "[W] {workspace} {cwd} · 主机 {host} · 协议 >= {protocol}", "connections.targetRow": "[T] {id} {driver} · {cwd} · 主机 {host}", "connections.connecting": "(连接中)", "connections.timedOut": "{timeout} 后超时", "connections.remotePersistenceCwdRequired": "远程向导持久化需要工作目录。", "connections.legacySkeletonMissing": "旧版升级预览不包含 JSON 骨架。", "connections.legacySkeletonInvalid": "旧版升级预览不包含有效的 JSON 骨架。", "remote.newHost": "n 新建主机", "remote.newTarget": "N 新建目标", "remote.newWorkspace": "w 新建工作区", "remote.test": "t 测试", "remote.delete": "d 删除", "remote.filter": "/ 过滤", "remote.close": "Esc 关闭", "remote.testing": "测试中 {id}…", "remote.ok": "✓", "remote.fail": "✗", "remote.empty": "尚未配置远程主机或目标。", "remote.loadFailed": "远程配置不可用:{message}", "remote.saveFailed": "远程配置保存失败:{message}", "remote.validationFailed": "校验失败:{error}", "remote.hostId": "主机 id(字母数字、点、横线、下划线)", "remote.hostIdRequired": "主机 id 不能为空。", "remote.hostSource": "SSH 主机来源", "remote.hostSourceInline": "内嵌 SSH 设置", "remote.hostSourceManager": "从已解锁的 /ssh 管理器选择", "remote.hostRefSelect": "选择兼容的 /ssh 主机", "remote.hostRefUnavailable": "/ssh 主机引用不可用:{error}", "remote.hostRefNoneCompatible": "已解锁的 /ssh 管理器中没有使用 agent 或无口令 identity 认证的 bash 主机。", "remote.hostAddress": "主机地址", "remote.hostUser": "SSH 用户", "remote.hostPort": "SSH 端口", "remote.hostKey": "主机密钥指纹(SHA256:…,来自 ssh-keyscan -t rsa )", "remote.identityFile": "身份文件(留空使用 ssh-agent)", "remote.targetId": "目标 id(例如 linux/pi)", "remote.targetIdRequired": "目标 id 不能为空。", "remote.targetHost": "目标主机", "remote.targetCwd": "远端工作目录(POSIX 绝对路径)", "remote.targetDriver": "驱动", "remote.targetCommand": "命令 argv(JSON 数组,例如 [\"pi\", \"--remote\"])", "remote.commandInvalid": "命令必须是字符串 JSON 数组。", "remote.targetEnv": "透传的环境变量名(JSON 数组,例如 [\"CODEX_API_KEY\"]);留 [] 表示不设置", "remote.envInvalid": "环境变量必须是字符串 JSON 数组。", "remote.workspaceRef": "工作区引用(例如 prod/app)", "remote.workspaceHost": "工作区主机", "remote.workspaceCwd": "受信远端工作区目录(规范 POSIX 绝对路径)", "remote.workspaceProtocol": "最低窗口协议版本", "remote.hostSaved": "已保存主机 {id}。", "remote.targetSaved": "已保存目标 {id}。", "remote.workspaceSaved": "已保存工作区 {workspace}。", "remote.hostDeleted": "已删除主机 {id}。", "remote.targetDeleted": "已删除目标 {id}。", "remote.workspaceDeleted": "已删除工作区 {workspace}。", "remote.deleteHostTitle": "删除主机 {id}?", "remote.deleteTargetTitle": "删除目标 {id}?", "remote.deleteWorkspaceTitle": "删除工作区 {workspace}?", "model.status.pending": "等待中", "model.status.failed": "失败", "model.status.retrying": "重试中", "model.status.sleeping": "休眠中", "model.status.done": "完成", "model.status.running": "运行中", "model.circuit.strict": "严格 · 2 次失败 / 30 秒", "model.circuit.strictDetail": "Model 降级时快速失败", "model.circuit.lenient": "宽松 · 5 次失败 / 300 秒", "model.circuit.lenientDetail": "容忍 Provider 的短暂波动", "model.circuit.default": "默认({threshold} 次失败 / {seconds} 秒)", "model.circuit.defaultPicker": "默认 · {threshold} 次失败 / {seconds} 秒", "model.circuit.value": "{threshold} 次失败 / {seconds} 秒", "model.setting.type": "Type", "model.setting.modelOverride": "Model 覆盖", "model.setting.thinkingOverride": "Thinking 覆盖", "model.setting.fallbackOverride": "Fallbacks 覆盖", "model.setting.circuit": "Circuit", "model.setting.model": "Model", "model.setting.thinking": "Thinking", "model.smartMode.off": "智能模型选择:关闭", "model.smartMode.economy": "智能模型选择:省钱", "model.smartMode.balanced": "智能模型选择:平衡", "model.smartMode.sota": "智能模型选择:极致(SOTA)", "model.smartModeName.off": "关闭", "model.smartModeName.economy": "省钱", "model.smartModeName.balanced": "平衡", "model.smartModeName.sota": "极致(SOTA)", "model.smartToggleHint": "· Ctrl+S", "model.smartModeChanged": "智能模型选择:{mode}", "model.askToggleOn": "派发前询问 Model:开启", "model.askToggleOff": "派发前询问 Model:关闭", "model.askToggleHint": "· Ctrl+A", "model.askToggleEnabled": "已开启派发前询问", "model.askToggleDisabled": "已关闭派发前询问", "ask.title": "Teammate 派发 · 确认 Model", "ask.taskCount": "· 共 {count} 个任务", "ask.inheritModel": "继承主会话 Model", "ask.inheritThinking": "继承 / Pi 默认", "ask.confirm": "Enter 确认", "ask.cancel": "Esc 取消", "ask.pickModel": "m 选择 Model", "ask.pickThinking": "t 选择 Thinking", "ask.pickLocation": "l 位置", "ask.locationPickerTitle": "选择位置", "ask.locationCurrent": "当前工作区", "ask.locationCurrentShort": "@当前", "ask.locationCustom": "其他本地目录…", "ask.locationInput": "输入绝对路径或相对当前工作区的路径", "ask.locationInputHint": "目录必须存在;工作区外的路径需要确认。", "ask.locationNotFound": "目录不存在:{path}", "ask.locationOutside": "路径位于当前工作区之外:{path}", "ask.locationOutsideConfirm": "确认工作区外位置(y/n)", "ask.locationRemoteDisabled": "远程位置需要处于 Monitor 模式。", "ask.locationRemoteDisabledShort": "monitor", "ask.locationApplyAll": "a 全部", "ask.modelPickerTitle": "选择 Model", "ask.thinkingPickerTitle": "选择 Thinking", "ask.modelSearch": "输入内容筛选", "ask.noModels": "没有已认证的 Model", "ask.selectModel": "Enter 选择", "ask.back": "Esc 返回", "model.setting.fallbacks": "Fallbacks", "model.setting.roles": "Roles", "model.setting.keywords": "Keywords", "model.route.routesTo": "路由到 {model}", "model.route.notPinned": "未固定 Model", "model.route.frontmatter": "自动 · 使用 Agent frontmatter 或提示词推断", "model.route.behindType": "位于 Type {type} 之后回退", "model.route.inheritType": "继承 Type · {value}", "model.route.inheritModel": "自动 · 继承路由 Model", "model.route.inheritThinking": "继承 / Pi 默认", "model.route.noneAssigned": "未分配", "model.route.autoMain": "自动 · 继承主会话 Model", "model.role.currentType": "当前 Type · {type}", "model.role.noType": "{source} · 未分配 Type", "model.role.autoFrontmatter": "自动 / Agent frontmatter", "model.role.declaredType": "使用 Agent 声明的 Type · {type}", "model.role.promptInference": "未声明 Type 时使用提示词推断", "model.saving": "正在保存 {target}…", "model.savingMessage": "正在保存 · {target}", "model.saved": "已保存 · {target} {kind} → {value}", "model.saveFailed": "保存失败 · {message}", "model.savingRoles": "正在保存 {type} 的 Roles…", "model.savedRoles": "已保存 Roles · {roles}", "model.invalidCircuit": "Circuit 配置无效 · 请输入 阈值/冷却秒数(如 4/120)", "model.savingCircuit": "正在保存 @{role} 的 Circuit…", "model.savedCircuit": "已保存 · @{role} Circuit → 自定义({value})", "model.invalidType": "Type 无效 · 仅支持小写字母、数字、. _ -(如 security-audit)", "model.builtinType": "无法注册内置 Type · {type}", "model.typeExists": "自定义 Type 已存在 · {type}", "model.savingCustomType": "正在保存自定义 Type {type}…", "model.savingKeywords": "正在保存 {type} 的 Keywords…", "model.createdType": "已创建自定义 Type {type}", "model.savedKeywords": "已保存 {type} 的 Keywords", "model.clearedKeywords": "已清除 {type} 的 Keywords", "model.builtinDelete": "内置 Type 不能删除", "model.deleting": "正在删除 {type}…", "model.resetType": "已重置 Agent 声明 Type {type} 的路由", "model.deletedType": "已删除自定义 Type {type}", "model.deleteFailed": "删除失败 · {message}", "model.notAuthenticated": "本会话尚未认证", "model.notInFallback": "不在 Fallback 链中", "model.fallbackPriority": "Fallback 优先级 {priority}", "model.circuitOpen": "Circuit 打开 · 已跳过", "model.circuitHalfOpen": "Circuit 半开 · 正在探测", "model.circuitFailures": "{detail}({count} 次失败)", "model.editor.settings": "设置", "model.editor.fallback": "Fallbacks", "model.editor.thinking": "Thinking", "model.editor.circuit": "Circuit", "model.editor.type": "Type", "model.editor.roles": "Roles", "model.editor.model": "Model", "model.kind.model": "Model", "model.kind.thinking": "Thinking", "model.kind.circuit": "Circuit", "model.kind.type": "Type", "model.savingFallbacks": "正在保存 {target} 的 Fallbacks…", "model.savedFallbacks": "已保存 Fallbacks · {models}", "model.customAgent": "自定义 Agent", "model.customDescription": "自定义 Agent 任务路由", "model.autoPicker": "自动 / 继承主会话 Model", "model.autoPickerDetail": "使用任务或顶层 Model、显式映射,或继承主会话 Model", "model.currentModel": "当前 {owner} Model", "model.authenticated": "本会话已认证", "model.configuredUnavailable": "配置的 Model 在本会话中未认证", "model.thinkingAutoDetail": "使用显式任务、顶层、Agent frontmatter 或 Pi 默认 Thinking", "model.currentThinking": "当前 {owner} Thinking", "model.appliesModel": "应用到 {model}", "model.appliesRouted": "应用到任务路由 Model", "model.circuitShared": "使用共享 Circuit 默认值", "model.circuitCustom": "自定义…", "model.circuitCustomValue": "自定义 · {value}", "model.circuitPrompt": "输入 阈值/冷却秒数(如 4/120)", "model.circuitCustomFooter": "Enter 保存 · Esc/← 返回 · 输入如 4/120", "model.keywordsPlaceholder": "逗号分隔的 Keywords(如 audit, security)", "model.keywordsHelp": "{type} 的 Keywords · 定义何时使用该 Type · 留空按 Enter 可跳过", "model.keywordsFooter": "Enter 保存 · Esc 取消 · 输入逗号分隔项", "model.typePlaceholder": "Type 标识符(如 security-audit)", "model.newTypeHelp": "新建自定义 Agent Type · 支持小写字母、数字、. _ -", "model.newTypeFooter": "Enter 保存 · Esc 取消 · 输入 Type 标识符", "model.customRole": "自定义 Role", "model.state.assigned": "✓ 已分配", "model.state.active": "✓ 生效中", "model.state.available": "可用", "model.state.configured": "已配置", "model.state.inherited": "已继承", "model.state.unavailable": "! 不可用{active}", "model.noOptions": "□ 没有匹配选项 · Backspace 清除筛选", "model.footer.fallback": "Esc/← 设置 · Space 开关 · Ctrl+↑↓ 排序 · Enter 保存", "model.footer.roles": "Esc/← 设置 · Space 开关 · Enter 保存 · ↑↓ 选择", "model.footer.menu": "Esc/← 返回 · Enter/→ 打开 · ↑↓ 选择", "model.footer.editor": "Esc/← 设置 · Enter 保存 · ↑↓ 选择 · 输入筛选", "model.newType": "+ 新建自定义 Type", "model.routingRow": "· {model} · Thinking {thinking}", "model.customTypeSearch": "新建自定义 Type", "task.explore.label": "Explore", "task.explore.description": "发现文件、定义和调用位置", "task.analysis.label": "Analysis", "task.analysis.description": "只读追踪和技术调查", "task.debug.label": "Debug", "task.debug.description": "根因诊断和运行时调试", "task.planning.label": "Planning", "task.planning.description": "架构和执行规划", "task.development.label": "Development", "task.development.description": "实现和重构", "task.review.label": "Review", "task.review.description": "正确性、质量和安全审查", "task.testing.label": "Testing", "task.testing.description": "测试、覆盖率和回归验证", }, } as const satisfies TranslationCatalogs;