export type LangCode = "zh" | "en" | "ja" | "ko"; declare const ZH_T: { readonly title: "缓存统计"; readonly hit: "命中率"; readonly totalHit: "总命中:"; readonly read: "缓存读:"; readonly write: "缓存写:"; readonly miss: "未命中:"; readonly out: "输出:"; readonly cost: "费用:"; readonly saved: "累计节省:"; readonly model: "模型:"; readonly provider: "提供商:"; readonly rate: "单价:"; readonly hitFolded: "命中"; readonly inputRate: "输入"; readonly cacheRate: "缓存"; readonly writeRate: "写入"; readonly noData: "等待缓存数据..."; readonly tok: "tok"; readonly distTitle: "估算 Token 分布"; readonly distSys: "系统提示:"; readonly distUser: "用户:"; readonly distAgent: "子代理指令:"; readonly distTool: "Tool 调用:"; readonly distRes: "Tool 结果:"; readonly distReason: "推理:"; readonly stepsCount: "本回合 {n} 次调用:"; readonly secDetail: "明细"; readonly secModel: "模型"; readonly secSkills: "已加载技能"; readonly balTotal: "总余额:"; readonly balNoKey: "未配置 {p} API Key"; readonly balLoading: "查询中..."; readonly balError: "查询失败"; readonly balErr401: "API Key 无效"; readonly balErr403: "余额查询被拒绝"; readonly balErrEmpty: "未获取到余额数据"; readonly balErrTimeout: "查询超时"; readonly balUnsupported: "当前提供商不支持余额查询"; readonly balDetailPlan: "套餐"; readonly balDetailUsed: "已用"; readonly balDetailRemaining: "剩余"; readonly balDetailWindow: "周期"; readonly balDetailReset: "重置"; readonly balDetailCodeReview: "Code Review"; readonly balDetailCredits: "Credits"; readonly balDetailResetCredits: "重置次数"; readonly balUnlimited: "无限"; readonly balDay: "天"; readonly balHour: "小时"; readonly balMinute: "分钟"; readonly balResetSoon: "即将重置"; readonly barHit: "命中率"; readonly barBal: "余额"; readonly barTok: "Tokens"; readonly secToggle: "切换区块"; readonly secBalance: "余额"; readonly secBottom: "底部状态栏"; readonly secBorder: "面板边框"; readonly keySaved: "API Key 已保存,正在查询余额..."; readonly keyCleared: "API Key 已清除"; readonly currencySet: "币种: {v} ({s}), 汇率: {r}"; readonly rateSet: "汇率已设为 {r}"; readonly panelConfigTitle: "缓存面板配置"; readonly panelConfigMsg: "币种: {c} | 汇率: {r} | 明细: {d} | 模型: {m} | 分布: {t} | 技能: {k} | 余额: {b} | 底部: {f}"; readonly borderShown: "面板边框 已显示"; readonly borderHidden: "面板边框 已隐藏"; readonly sectionShown: "{s} 已显示"; readonly sectionHidden: "{s} 已隐藏"; readonly bottomRestartOn: "底部状态栏已开启,重启 TUI 后生效"; readonly bottomRestartOff: "底部状态栏已关闭,重启 TUI 后生效"; readonly langSwitched: "语言已切换为中文"; readonly autoSwitchOn: "自动切换余额提供商: 开"; readonly autoSwitchOff: "自动切换余额提供商: 关"; readonly providerManual: "余额提供商: {p}(自动切换已关闭)"; readonly runInSession: "请在会话内运行此命令"; readonly backToMain: "已切回主会话"; readonly subAgentSwitched: "已切换至子代理: {s}"; readonly langTitle: "显示语言"; readonly subPrefix: "子代理: "; readonly keyUser: "(用户 key)"; readonly keyOpenCode: "(OpenCode)"; readonly keyNotSet: "(未配置)"; readonly balKeyPrompt: "输入 {p} API Key 以显示账户余额(留空清除)"; readonly balProvTitle: "余额提供商 / 自动切换"; readonly autoSwitchOpt: "自动切换提供商"; readonly balSelectTitle: "选择余额提供商"; readonly backToMainTitle: "回到主会话"; readonly subSelectTitle: "选择子代理"; readonly subSwitchTitle: "切换子代理"; readonly subViewTitle: "查看子代理缓存"; readonly subNoFound: "未找到子代理,请手动粘贴 Session ID"; }; /** 结构约束:值放宽为 string,键集合来自中文表(新增语言缺 key 会编译报错)。 */ export type Translation = { [K in keyof typeof ZH_T]: string; }; export declare const LANGS: Record; /** 语言元数据:/cache-lang 选项与自动检测共用。 */ export declare const LANG_META: { code: LangCode; label: string; }[]; /** * 模板参数替换:`{key}` 占位符统一在此处理。 * 未提供的参数保留原占位符,避免静默丢失。 */ export declare function applyParams(tpl: string, params?: Record): string; /** * 翻译查找函数工厂:`t("key")` 返回当前语言的文本,`t("key", { p })` 附带模板参数。 * `getCode` 读取语言信号——在 SolidJS 渲染/memo 上下文中调用时自动建立响应式依赖。 */ export declare function createT(getCode: () => LangCode): (key: keyof Translation, params?: Record) => string; /** 按系统 locale 自动检测语言(zh → 中文,ja → 日语,ko → 韩语,其余 → 英文)。 */ export declare function detectLang(): LangCode; export {};