free-coding-models 0.5.95 → 0.5.97

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.
@@ -0,0 +1,991 @@
1
+ // Only translated entries live here. Missing entries deliberately use English.
2
+ export default Object.freeze({
3
+ 'common.back': '返回',
4
+ 'common.cancel': '取消',
5
+ 'common.close': '关闭',
6
+ 'common.save': '保存',
7
+ 'common.update': '更新',
8
+ 'common.retry': '重试',
9
+ 'common.refresh': '刷新',
10
+ 'common.search': '搜索',
11
+ 'common.enabled': '已启用',
12
+ 'common.disabled': '已停用',
13
+ 'common.loading': '正在加载…',
14
+ 'common.unknown': '未知',
15
+ 'common.language.english': 'English',
16
+ 'common.language.simplifiedChinese': '简体中文',
17
+ 'nav.dashboard': '仪表盘',
18
+ 'nav.settings': '设置',
19
+ 'nav.analytics': '分析',
20
+ 'nav.recommend': '推荐',
21
+ 'nav.router': '路由器',
22
+ 'nav.routerV2': '路由器 v2',
23
+ 'nav.playground': 'Playground',
24
+ 'nav.help': '帮助',
25
+ 'nav.installEndpoints': '安装端点',
26
+ 'nav.installedModels': '已安装模型',
27
+ 'nav.changelog': '更新日志',
28
+ 'nav.moreFeatures': '更多功能',
29
+ 'nav.navigationMenu': '导航菜单',
30
+ 'nav.commandPalette': '命令面板',
31
+ 'nav.exportData': '导出数据',
32
+ 'nav.primary': '主导航',
33
+ 'settings.title': '设置',
34
+ 'settings.subtitle': '管理 API Key、语言、主题、收藏和更新。设置保存在本地,并与 TUI 共用。',
35
+ 'settings.global': '全局设置',
36
+ 'settings.language': '语言',
37
+ 'settings.language.description': '选择 TUI 和 Web 仪表盘使用的语言。',
38
+ 'settings.globalTheme': '全局主题',
39
+ 'settings.installUpdate': '安装更新(v{version})',
40
+ 'settings.checkUpdatesManually': '手动检查更新',
41
+ 'settings.pressToCheckUpdates': '按 Enter 或 U 检查 npm 更新',
42
+ 'settings.updateCheckFailed': '检查失败(按 U 重试)',
43
+ 'settings.installingUpdate': '正在安装更新…',
44
+ 'settings.favoritesMode': '收藏显示方式',
45
+ 'settings.favoritesNormal': '普通行(遵循筛选和排序)',
46
+ 'settings.startupSpeedTestEnabled': '✅ 已启用 — 启动后运行 Ctrl+U',
47
+ 'settings.startupSpeedTestDisabled': '❌ 已停用 — 仅手动运行 Ctrl+U',
48
+ 'settings.autoHideBrokenModels': '自动隐藏失效模型',
49
+ 'settings.pressEnterCleanup': '按 Enter 清理旧代理残留',
50
+ 'settings.viewChangelog': '查看更新日志',
51
+ 'settings.pressEnterChangelog': '按 Enter 浏览版本历史',
52
+ 'settings.shellEnvEnabled': '✅ 已启用 — Key 可在 shell 中使用',
53
+ 'settings.shellEnvNotConfigured': '🔘 尚未配置 — 按 Enter 设置',
54
+ 'settings.typeApiKey': '输入 API Key',
55
+ 'settings.navigate': '导航',
56
+ 'settings.editRunCycle': '编辑/运行/切换',
57
+ 'settings.addKey': '添加 Key',
58
+ 'settings.updates': '更新',
59
+ 'settings.favorites': '收藏',
60
+ 'settings.toggleCycle': '切换/循环',
61
+ 'settings.theme.description': '自动模式跟随操作系统设置。',
62
+ 'settings.theme.auto': '自动(跟随系统)',
63
+ 'settings.theme.dark': '深色',
64
+ 'settings.theme.light': '浅色',
65
+ 'settings.favoritesPinned': '收藏置顶并始终显示',
66
+ 'settings.favoritesPinned.description': '收藏项置顶,并忽略筛选条件(TUI:Y 键)。',
67
+ 'settings.startupSpeedTest': '启动时运行 AI 速度测试',
68
+ 'settings.startupSpeedTest.description': '启动后自动运行全局基准测试。',
69
+ 'settings.shellEnv': '将 API Key 导出到 shell 配置',
70
+ 'settings.shellEnv.description': '将已配置服务商的 Key 写入 shell 配置文件。',
71
+ 'settings.checkUpdates': '检查更新',
72
+ 'settings.checkUpdates.description': '检查 npm 上是否有新版本。',
73
+ 'settings.checkNow': '立即检查',
74
+ 'settings.cleanupLegacy': '清理旧代理残留',
75
+ 'settings.cleanupLegacy.description': '删除旧版多工具代理留下的配置、环境变量和服务。',
76
+ 'settings.runCleanup': '开始清理',
77
+ 'settings.providers': '服务商',
78
+ 'settings.searchProviders': '搜索服务商…',
79
+ 'settings.loading': '正在加载设置…',
80
+ 'settings.keysAndProviderSettings': 'API Key 和服务商设置',
81
+ 'settings.noProviders': '没有匹配的服务商。',
82
+ 'settings.apiKey': 'API Key',
83
+ 'settings.saveKey': '保存 Key',
84
+ 'settings.testKey': '测试 Key',
85
+ 'settings.keySaved': 'API Key 已保存。',
86
+ 'settings.keySaveFailed': '无法保存 API Key。',
87
+ 'settings.keyRemoved': 'API Key 已移除。',
88
+ 'settings.keyRemoveFailed': '无法移除 API Key。',
89
+ 'settings.keyTestPassed': 'API Key 测试通过。',
90
+ 'settings.keyTestFailed': 'API Key 测试失败。',
91
+ 'settings.updateAvailable': '有可用更新:v{version}',
92
+ 'settings.upToDate': '已是最新版本',
93
+ 'settings.legacyNone': '未发现旧版代理配置。',
94
+ 'settings.languageSaveFailed': '无法保存语言设置。',
95
+ 'dashboard.searchPlaceholder': '搜索模型或服务商…',
96
+ 'dashboard.workingOnly': '仅显示可用',
97
+ 'dashboard.allModels': '全部模型',
98
+ 'dashboard.filters': '筛选',
99
+ 'dashboard.resetView': '重置视图',
100
+ 'dashboard.provider': '服务商',
101
+ 'dashboard.allProviders': '全部服务商',
102
+ 'dashboard.model': '模型',
103
+ 'dashboard.models': '{count} 个模型',
104
+ 'dashboard.favorites': '收藏',
105
+ 'dashboard.favorite': '收藏',
106
+ 'dashboard.recommended': '推荐',
107
+ 'dashboard.rank': '排名',
108
+ 'dashboard.tier': '等级',
109
+ 'dashboard.latency': '延迟',
110
+ 'dashboard.stability': '稳定性',
111
+ 'dashboard.uptime': '可用率',
112
+ 'dashboard.health': '健康状态',
113
+ 'dashboard.verdict': '评价',
114
+ 'dashboard.status': '状态',
115
+ 'dashboard.search': '搜索',
116
+ 'dashboard.noModels': '没有符合当前筛选条件的模型。',
117
+ 'dashboard.noApiKey': '此服务商尚未配置 API Key',
118
+ 'dashboard.notConfigured': '未配置',
119
+ 'dashboard.working': '可用',
120
+ 'dashboard.down': '不可用',
121
+ 'dashboard.pending': '等待中',
122
+ 'dashboard.export': '导出',
123
+ 'dashboard.exportData': '导出模型数据',
124
+ 'dashboard.aiLatency': 'AI 延迟',
125
+ 'dashboard.aiSpeedTest': 'AI 速度测试',
126
+ 'dashboard.aiSpeedTestRunning': 'AI 速度测试进行中 — {completed}/{total}',
127
+ 'dashboard.runBenchmark': '对当前显示的 {count} 个模型运行延迟测试',
128
+ 'dashboard.resetToast': '视图已重置为默认设置。',
129
+ 'filters.tier': '等级',
130
+ 'filters.status': '状态',
131
+ 'filters.verdict': '评价',
132
+ 'filters.health': '健康状态',
133
+ 'filters.origin': '服务商',
134
+ 'filters.search': '搜索',
135
+ 'filters.customPlaceholder': '按文本筛选…',
136
+ 'filters.pingMode': '探测频率',
137
+ 'filters.pingEco': '省配额',
138
+ 'filters.pingBalanced': '均衡',
139
+ 'filters.pingAggressive': '积极',
140
+ 'filters.all': '全部',
141
+ 'help.title': '帮助',
142
+ 'help.shortcuts': '键盘快捷键',
143
+ 'help.loading': '正在加载帮助…',
144
+ 'help.close': '关闭帮助',
145
+ 'help.openSettings': '打开设置',
146
+ 'help.openHelp': '打开帮助',
147
+ 'help.openPalette': '打开命令面板',
148
+ 'help.selectModel': '选择模型',
149
+ 'help.toggleFavorite': '切换收藏状态',
150
+ 'recommend.title': '智能推荐',
151
+ 'recommend.questionTask': '你要完成什么任务?',
152
+ 'recommend.questionSpeed': '你需要多快的响应?',
153
+ 'recommend.next': '下一步',
154
+ 'recommend.previous': '上一步',
155
+ 'recommend.showResults': '查看推荐结果',
156
+ 'recommend.topPicks': '优先推荐',
157
+ 'recommend.noResults': '没有符合条件的可用模型。',
158
+ 'recommend.install': '安装端点',
159
+ 'install.title': '安装端点',
160
+ 'install.subtitle': '将所选模型端点写入支持的工具配置。',
161
+ 'install.scope.all': '全部模型',
162
+ 'install.scope.selected': '所选模型',
163
+ 'install.models': '模型',
164
+ 'install.install': '安装端点',
165
+ 'install.noModels': '没有可安装的兼容模型。',
166
+ 'install.success': '端点已安装。',
167
+ 'install.failure': '端点安装失败。',
168
+ 'install.keyRequired': '请先在设置中添加 API Key。',
169
+ 'installed.title': '已安装模型',
170
+ 'installed.empty': '未找到已安装的模型。',
171
+ 'installed.refresh': '刷新已安装模型',
172
+ 'analytics.title': '分析',
173
+ 'analytics.today': '今天',
174
+ 'analytics.allTime': '全部时间',
175
+ 'analytics.byModel': '按模型',
176
+ 'analytics.noUsage': '暂无用量数据。',
177
+ 'update.upToDate': '已是最新版本',
178
+ 'update.updateNow': '立即更新',
179
+ 'update.failed': '检查更新失败。',
180
+ 'palette.title': '命令面板',
181
+ 'palette.footerTitle': '命令面板',
182
+ 'palette.searchPlaceholder': '搜索命令…',
183
+ 'palette.noResults': '没有找到命令。',
184
+ 'router.title': '智能路由',
185
+ 'router.status.running': '运行中',
186
+ 'router.status.stopped': '已停止',
187
+ 'router.start': '启动守护进程',
188
+ 'router.stop': '停止守护进程',
189
+ 'router.restart': '重启守护进程',
190
+ 'router.refresh': '刷新',
191
+ 'router.fallbackChain': '故障转移链',
192
+ 'router.requests': '已路由请求',
193
+ 'router.uptime': '运行时间',
194
+ 'router.noRequests': '尚无已路由的请求。',
195
+ 'router.model': '模型',
196
+ 'router.state': '状态',
197
+ 'router.lastLatency': '最近延迟',
198
+ 'router.save': '保存',
199
+ 'router.saved': '已保存',
200
+ 'router.saving': '正在保存…',
201
+ 'router.saveFailed': '保存失败',
202
+ 'router.v2.title': '智能路由器 v2',
203
+ 'router.v2.beta': '测试版',
204
+ 'router.v2.validation': '验证',
205
+ 'router.v2.chainHealth': '链路健康度',
206
+ 'router.v2.testViaRouter': '通过路由器测试',
207
+ 'playground.title': 'Playground',
208
+ 'playground.model': '模型',
209
+ 'playground.persona': '角色设定',
210
+ 'playground.clear': '清空对话',
211
+ 'playground.close': '关闭',
212
+ 'playground.toggleStreaming': '切换流式输出',
213
+ 'playground.promptPlaceholder': '输入问题,按 Enter 发送,按 Shift+Enter 换行。',
214
+ 'playground.daemonStopped': '路由器守护进程未运行',
215
+ 'playground.startDaemon': '启动路由器守护进程',
216
+ 'playground.startingDaemon': '正在启动路由器守护进程…',
217
+ 'toast.dismiss': '关闭通知',
218
+ 'cli.usage': '用法',
219
+ 'cli.toolFlags': '工具参数',
220
+ 'cli.analysisFlags': '分析参数',
221
+ 'cli.configMaintenance': '配置与维护',
222
+ 'cli.examples': '示例',
223
+ 'cli.defaultLauncher': '未指定工具参数时的默认启动器:OpenCode CLI',
224
+ 'cli.combineFlags': '参数可以组合使用:--openclaw --tier S --json',
225
+ 'cli.helpTitle': 'CLI 帮助',
226
+ 'cli.routerHowItWorks': 'FCM 路由器的工作方式',
227
+ 'cli.routerDaemon': '智能路由器守护进程',
228
+ 'cli.prePrompt': '预设提示词(系统消息)',
229
+ 'cli.probeMechanism': '探测机制(每 10/30/120 秒)',
230
+ 'cli.circuitBreaker': '熔断器(按模型记录状态)',
231
+ 'cli.failoverOrder': '故障转移顺序',
232
+ 'cli.autoHeal': '自动修复(默认行为)',
233
+ 'cli.rateLimits': '速率限制(RPD / RPM / TPM)',
234
+ 'nav.themeTitle': '主题:{theme}(点击切换自动/深色/浅色)',
235
+ 'nav.themeLabel': '主题:{theme}。点击切换。',
236
+ 'filters.provider': '服务商',
237
+ 'filters.visibility': '显示范围',
238
+ 'filters.visibility.allHint': '显示所有模型',
239
+ 'filters.visibility.configured': '仅显示已配置',
240
+ 'filters.visibility.configuredHint': '隐藏未配置 Key 或认证失败的模型',
241
+ 'filters.visibility.usable': '仅显示可用',
242
+ 'filters.visibility.usableHint': '仅显示健康状态正常且评价良好的模型',
243
+ 'filters.verdict.perfect': '极佳',
244
+ 'filters.verdict.normal': '正常',
245
+ 'filters.verdict.spiky': '波动较大',
246
+ 'filters.verdict.slow': '较慢',
247
+ 'filters.verdict.overloaded': '过载',
248
+ 'filters.verdict.unstable': '不稳定',
249
+ 'filters.health.timeout': '超时',
250
+ 'filters.health.noKey': '无 Key',
251
+ 'filters.health.authError': '认证失败',
252
+ 'filters.ping': '探测',
253
+ 'filters.pingSpeed': '⚡ 快速',
254
+ 'filters.pingNormal': '● 普通',
255
+ 'filters.pingSlow': '🐢 慢速',
256
+ 'filters.pingForced': '🔥 强制',
257
+ 'filters.endpointTarget': '端点目标',
258
+ 'filters.endpointTargetHint': '当前要安装到的工具,可在顶部工具选择器中更改',
259
+ 'filters.text': '文本',
260
+ 'filters.clearTextHint': '点击 X 清除(TUI:X 键)',
261
+ 'filters.clearText': '清除自定义文本筛选(TUI:X)',
262
+ 'filters.resetTitle': '重置 {count} 项筛选(TUI:N)',
263
+ 'filters.nextPing': '下次探测',
264
+ 'dashboard.swe': 'SWE%',
265
+ 'dashboard.context': '上下文',
266
+ 'dashboard.lastPing': '最近探测',
267
+ 'dashboard.average': '平均值',
268
+ 'dashboard.tps': 'TPS',
269
+ 'dashboard.quota': '配额',
270
+ 'dashboard.trend': '趋势',
271
+ 'dashboard.noApiKeyState': '尚未配置 API Key,健康状态会显示为“无 Key”',
272
+ 'dashboard.benchmarking': '基准测试中…',
273
+ 'dashboard.clickToBenchmark': '点击运行 AI 速度测试(TUI:Ctrl+A)',
274
+ 'dashboard.customColumnWidths': '自定义列宽',
275
+ 'dashboard.totalWidth': '总宽度',
276
+ 'dashboard.restoreColumnWidths': '恢复默认列宽',
277
+ 'dashboard.resetColumns': '重置列宽',
278
+ 'dashboard.sortColumn': '排序:{column}(升序 → 降序 → 重置)',
279
+ 'dashboard.resizeColumn': '拖动调整 {column} 列宽(双击恢复默认)',
280
+ 'dashboard.resizeColumnAria': '调整 {column} 列宽',
281
+ 'dashboard.providerModelsTitle': '{provider} — {count} 个模型',
282
+ 'provider.health.active': 'API Key 可用 — 至少一个模型运行正常',
283
+ 'provider.health.pending': '已设置 API Key — 等待健康状态数据',
284
+ 'provider.health.down': '已设置 API Key — 模型不可用或认证失败',
285
+ 'settings.loadFailed': '加载设置失败',
286
+ 'settings.enterApiKey': '请输入 API Key',
287
+ 'settings.keySavedForProvider': '{provider} 的 API Key 已保存!',
288
+ 'settings.networkSaveFailed': '保存时发生网络错误',
289
+ 'settings.confirmDeleteKey': '确定要删除“{provider}”的 API Key 吗?',
290
+ 'settings.keyRemovedForProvider': '{provider} 的 API Key 已删除',
291
+ 'settings.networkDeleteFailed': '删除时发生网络错误',
292
+ 'settings.providerEnabled': '{provider} 已启用',
293
+ 'settings.providerDisabled': '{provider} 已停用',
294
+ 'settings.toggleFailed': '切换设置失败',
295
+ 'settings.networkError': '网络错误',
296
+ 'settings.keyTestResult': '{provider} 测试结果:{result}{code}',
297
+ 'settings.keyTestError': '{provider} 测试失败:{error}',
298
+ 'settings.settingUpdated': '设置已更新',
299
+ 'settings.featureUpdateFailed': '更新设置失败',
300
+ 'settings.shellExportEnabled': '已启用 shell 环境导出 — 重启 shell 后生效。',
301
+ 'settings.shellExportDisabled': '已停用 shell 环境导出。',
302
+ 'settings.shellToggleFailed': '切换 shell 环境导出失败',
303
+ 'settings.confirmLegacyCleanup': '要清理旧版代理配置残留吗?此操作安全。',
304
+ 'settings.legacyCleanupComplete': '已清理 {count} 个旧文件,发生 {errors} 个错误。',
305
+ 'settings.legacyCleanupToast': '旧版代理清理完成:已清理 {count} 个文件。',
306
+ 'settings.legacyCleanupFailed': '清理旧配置失败:{error}',
307
+ 'settings.expandAll': '全部展开',
308
+ 'settings.collapseAll': '全部收起',
309
+ 'settings.test.ok': '正常',
310
+ 'settings.test.authError': '认证失败',
311
+ 'settings.test.rateLimited': '触发速率限制',
312
+ 'settings.test.noCallableModel': '没有可调用的模型',
313
+ 'settings.test.failed': '失败',
314
+ 'settings.test.missingKey': '缺少 Key',
315
+ 'settings.noApiKeySet': '(未设置 Key)',
316
+ 'settings.noLimitInfo': '暂无限额信息',
317
+ 'settings.keyDetected': '已检测到 API Key ✅',
318
+ 'settings.keyMissing': '缺少 API Key ⚠',
319
+ 'settings.setupInstructions': '设置说明',
320
+ 'settings.createProviderAccount': '创建服务商账号',
321
+ 'settings.generateApiKeyHint': '生成 API Key,然后在此行按 Enter 粘贴',
322
+ 'settings.pressToTestKey': '按 {key} 测试 Key。状态:',
323
+ 'settings.testDiagnostics': '测试诊断',
324
+ 'settings.badge.test': '[测试]',
325
+ 'settings.badge.testing': '[测试中…]',
326
+ 'settings.badge.testOk': '[测试通过 ✅]',
327
+ 'settings.badge.missingKey': '[缺少 Key 🔑]',
328
+ 'settings.badge.authError': '[认证失败 ❌]',
329
+ 'settings.badge.rateLimited': '[触发速率限制 ⏳]',
330
+ 'settings.badge.noCallableModel': '[无可调用模型 ⚠]',
331
+ 'settings.badge.failed': '[测试失败 ❌]',
332
+ 'settings.lastTest': '上次测试',
333
+ 'settings.currentApiKey': '当前 API Key',
334
+ 'settings.hideKey': '隐藏',
335
+ 'settings.revealKey': '显示',
336
+ 'settings.testKeyHint': '向服务商测试此 Key(TUI:设置中按 T)',
337
+ 'settings.testKeyForProvider': '测试 {provider} 的 Key',
338
+ 'settings.testing': '测试中…',
339
+ 'settings.deleteKey': '删除 Key',
340
+ 'settings.updateApiKey': '更新 API Key',
341
+ 'settings.addApiKey': '添加 API Key',
342
+ 'settings.apiKeyPlaceholder': '输入 API Key…',
343
+ 'settings.apiKeyForProvider': '{provider} 的 API Key',
344
+ 'settings.providerEnabledLabel': '启用服务商',
345
+ 'settings.providersCount': '{count} 个模型',
346
+ 'common.wait': '等待',
347
+ 'dashboard.averageLatency': '平均延迟',
348
+ 'dashboard.avgPingShort': '平均延迟',
349
+ 'dashboard.terminalMaximize': '请最大化终端以获得更好的使用体验。',
350
+ 'dashboard.terminalTooSmall': '当前终端尺寸过小。',
351
+ 'dashboard.terminalReduceFont': '请缩小字体或增大终端宽度。',
352
+ 'dashboard.warningWillHide': '此提示将在 {seconds} 秒后隐藏',
353
+ 'dashboard.pressEscToDismiss': '按 Esc 关闭',
354
+ 'dashboard.configureApiKeyHint': '按 P 配置 API Key。',
355
+ 'dashboard.noConfiguredVisibleModels': '已配置的服务商当前没有可显示的模型。',
356
+ 'dashboard.noKeyShort': '无 Key',
357
+ 'dashboard.authFailShort': '认证失败',
358
+ 'dashboard.upShort': '可用',
359
+ 'filters.verdict.verySlow': '很慢',
360
+ 'filters.verdict.notActive': '未启用',
361
+ 'filters.verdict.unusable': '不可用',
362
+ 'filters.pingSpeedShort': '快速',
363
+ 'filters.pingNormalShort': '普通',
364
+ 'filters.pingSlowShort': '慢速',
365
+ 'filters.pingForcedShort': '强制',
366
+ 'filters.pingInterval': '探测间隔',
367
+ 'filters.nextPingShort': '下次',
368
+ 'filters.tool': '工具',
369
+ 'help.searchPlaceholder': '搜索帮助、筛选项和快捷键…',
370
+ 'help.note': 'Web 仪表盘以鼠标操作为主。全局快捷键用于打开命令面板,其他操作可在顶部菜单和对话框中找到。',
371
+ 'help.noMatches': '没有找到与“{query}”匹配的帮助内容。',
372
+ 'help.filters': '筛选',
373
+ 'help.sort': '排序',
374
+ 'help.favorites': '收藏',
375
+ 'help.speedTest': 'AI 速度测试',
376
+ 'help.toolMode': '工具模式',
377
+ 'help.palette': '命令面板',
378
+ 'help.theme': '主题',
379
+ 'help.pingMode': '探测模式',
380
+ 'help.deepLinks': 'URL 深层链接',
381
+ 'help.cliParity': 'CLI 一致性',
382
+ 'help.routerHow': 'FCM 路由器的工作方式',
383
+ 'recommend.questionContext': '需要多大的上下文?',
384
+ 'recommend.findBest': '为当前任务寻找合适的模型',
385
+ 'recommend.questionProgress': '问题 {step} / {total}',
386
+ 'recommend.analyzing': '正在分析实时模型目录…',
387
+ 'recommend.analysisHint': '约 10 秒 · 每秒检查约 2 个模型 · 与 TUI 使用相同评分。',
388
+ 'recommend.topThree': '推荐模型 Top 3',
389
+ 'recommend.restart': '重新开始',
390
+ 'install.step.provider': '服务商',
391
+ 'install.step.tool': '工具',
392
+ 'install.step.models': '模型',
393
+ 'install.step.install': '安装',
394
+ 'install.chooseProviderHint': '选择一个已配置 API Key 的服务商。',
395
+ 'install.loadingProviders': '正在加载服务商…',
396
+ 'install.noProvidersConfigured': '未找到已配置的服务商。请先在设置中添加 API Key。',
397
+ 'install.modelsCount': '{count} 个模型',
398
+ 'install.chooseToolHint': '要将 {provider} 的模型安装到哪个工具?',
399
+ 'install.chooseModelsHint': '选择要从 {provider} 安装到 {tool} 的模型。',
400
+ 'install.selectModels': '选择模型',
401
+ 'install.allModelsNotice': '将安装 {provider} 的全部 {count} 个模型。',
402
+ 'install.installingCount': '正在安装 {count}…',
403
+ 'install.writingConfig': '正在写入 {tool} 配置',
404
+ 'install.installed': '安装完成!',
405
+ 'install.installFailed': '安装失败',
406
+ 'install.retryHint': '查看通知了解详情。返回后可以重试。',
407
+ 'install.done': '完成',
408
+ 'install.next': '下一步',
409
+ 'installed.scanning': '正在扫描工具配置…',
410
+ 'installed.noModels': '工具配置中没有找到模型。',
411
+ 'installed.configureHint': '使用“安装端点”为工具配置模型。',
412
+ 'installed.notInstalled': '未安装',
413
+ 'installed.removeTitle': '从配置中移除模型(已保存备份)',
414
+ 'installed.disabled': '已从 {tool} 停用 {model}。',
415
+ 'installed.failed': '失败:{error}',
416
+ 'analytics.subtitle': '实时查看服务商和模型情况',
417
+ 'analytics.providerHealth': '服务商健康状态概览',
418
+ 'analytics.fastestModels': '最快模型',
419
+ 'analytics.tierDistribution': '等级分布',
420
+ 'analytics.waiting': '等待数据…',
421
+ 'analytics.waitingPings': '等待探测数据…',
422
+ 'analytics.loading': '加载中…',
423
+ 'analytics.noTokenData': '暂无 Token 数据。启动路由器并发送请求即可开始记录。',
424
+ 'analytics.requests': '{count} 个请求',
425
+ 'analytics.sevenDayUsage': '近 7 天用量',
426
+ 'analytics.topModels': '热门模型',
427
+ 'analytics.topProviders': '热门服务商',
428
+ 'analytics.tokens': '{count} 个 Token',
429
+ 'analytics.requestsShort': '{count} 次请求',
430
+ 'changelog.backToIndex': '返回版本列表(TUI:B)',
431
+ 'changelog.index': '版本列表',
432
+ 'changelog.loading': '正在加载更新记录…',
433
+ 'changelog.failed': '加载更新记录失败:{error}',
434
+ 'changelog.versionHint': '共 {count} 个版本。选择一个版本查看更新说明。',
435
+ 'changelog.noReleaseNotes': 'v{version} 没有发布说明。',
436
+ 'changelog.noNotes': 'v{version} 没有更新说明。',
437
+ 'playground.findBest': '为当前任务寻找合适的模型',
438
+ 'playground.routerOnline': '路由器在线',
439
+ 'playground.routerOffline': '路由器离线',
440
+ 'playground.checkingRouter': '正在检查路由器…',
441
+ 'playground.autoRouterRecommended': 'fcm — 智能路由(推荐)',
442
+ 'playground.messagesTokens': '{messages} 条消息 · {tokens} 个 Token',
443
+ 'playground.prePromptEnabled': '已启用预设提示词',
444
+ 'playground.prePromptDisabled': '已停用预设提示词',
445
+ 'playground.streamOn': '流式输出:开',
446
+ 'playground.streamOff': '流式输出:关',
447
+ 'playground.startingRouter': '正在启动路由器…',
448
+ 'playground.autoStartIn': '将在 {seconds} 秒后自动启动路由器…',
449
+ 'playground.startRouter': '启动路由器',
450
+ 'playground.chatViaRouter': '通过 FCM 路由器对话',
451
+ 'playground.routerHint': '路由器会选择健康状态最佳的模型,并在需要时自动切换。',
452
+ 'playground.askModel': '向 {model} 提问',
453
+ 'playground.copyReply': '复制回复',
454
+ 'playground.addressedModel': '目标模型',
455
+ 'playground.servedModel': '本次回复使用的模型',
456
+ 'playground.responseTime': '响应时间(发送至完成)',
457
+ 'playground.completionTokens': '生成的 Token 数',
458
+ 'playground.tokensPerSecond': '每秒 Token 数',
459
+ 'playground.stopped': '已停止',
460
+ 'playground.fullPlaceholder': '输入问题,按 Enter 发送,按 Shift+Enter 换行。',
461
+ 'playground.miniPlaceholder': '发送消息…',
462
+ 'playground.stopGenerating': '停止生成',
463
+ 'playground.stop': '停止',
464
+ 'playground.send': '发送',
465
+ 'router.circuit.healthy': '健康',
466
+ 'router.circuit.down': '不可用',
467
+ 'router.circuit.recovering': '恢复中',
468
+ 'router.circuit.authError': '认证失败',
469
+ 'router.circuit.deprecated': '已弃用',
470
+ 'router.circuit.unsupported': '不支持',
471
+ 'router.circuit.unknown': '未知',
472
+ 'router.daemonStarted': '路由器守护进程已启动。',
473
+ 'router.daemonStopped': '路由器守护进程已停止。',
474
+ 'router.startFailed': '启动失败:{error}',
475
+ 'router.stopFailed': '停止失败:{error}',
476
+ 'router.cannotReachDaemon': '无法连接守护进程,可能尚未安装或端口被阻止。',
477
+ 'router.probingModels': '正在使用你的 Key 探测模型…',
478
+ 'router.syncedModels': '已同步 {set}:通过 {probes} 次探测找到 {working} 个可用模型。',
479
+ 'router.syncFailed': '同步失败:{error}',
480
+ 'router.noFavorites': '你还没有收藏模型,请先收藏一些模型。',
481
+ 'router.activeSet': '当前模型组:{name}',
482
+ 'router.probeModeSet': '探测模式已设为 {mode}。',
483
+ 'router.v2.stopped': 'Router v2 已停止',
484
+ 'router.v2.started': 'Router v2 已启动',
485
+ 'router.v2.startFailed': '启动失败',
486
+ 'router.v2.stopFailed': '停止失败',
487
+ 'router.v2.notReachable': '无法连接 Router v2 守护进程({error})。',
488
+ 'router.v2.notRunning': 'Router v2 守护进程未运行。',
489
+ 'router.v2.checking': '正在检查 Router v2 守护进程…',
490
+ 'router.v2.betaDescription': '测试版:Router v2 使用独立端口({port})与稳定版并行运行,并共享模型组、模型和 API Key。故障转移会验证响应内容。Anthropic 风格的 Agent 可通过同一端口调用 POST /v1/messages。',
491
+ 'router.v2.requestsRouted': '已路由请求',
492
+ 'router.v2.failoverNeeded': '{percent}% 的请求触发了故障转移',
493
+ 'router.v2.up': '{count} 个可用',
494
+ 'router.v2.degraded': '{count} 个降级',
495
+ 'router.v2.open': '{count} 个熔断',
496
+ 'router.v2.strict': '严格',
497
+ 'router.v2.lastResort': '最后备用:{model}',
498
+ 'router.v2.fallbackChain': '故障转移链',
499
+ 'router.v2.exactOrder': '下一次请求将按此顺序尝试',
500
+ 'router.v2.lastLatency': '最近延迟',
501
+ 'router.v2.emptyCandidates': '没有可用候选项(可能缺少 Key 或所有模型均不可用)。',
502
+ 'router.v2.testTitle': '通过路由链发送一次真实的指定请求',
503
+ 'router.v2.testing': '测试中…',
504
+ 'router.v2.failed': '失败',
505
+ 'router.v2.test': '测试',
506
+ 'router.v2.testTopThree': '通过路由器测试前 3 个模型',
507
+ 'router.v2.requestChains': '请求链路',
508
+ 'router.v2.attemptsHint': '每次尝试、跳过原因和最终响应的模型',
509
+ 'router.v2.outcome.served': '已响应',
510
+ 'router.v2.outcome.aborted': '已中止',
511
+ 'router.v2.outcome.failed': '失败',
512
+ 'common.select': '选择',
513
+ 'common.expand': '展开',
514
+ 'common.reset': '重置',
515
+ 'filters.visibility.all': '全部模型',
516
+ 'dashboard.globalBenchmark': '全局 AI 速度测试(会消耗较多请求)',
517
+ 'recommend.task': '任务',
518
+ 'recommend.priority': '优先级',
519
+ 'recommend.context': '上下文',
520
+ 'recommend.pinging': '正在以每秒 2 次的频率探测模型,获取最新延迟…',
521
+ 'help.columns': '数据列说明',
522
+ 'help.mainTui': 'TUI 主界面',
523
+ 'help.controls': '操作',
524
+ 'cli.mode': '模式',
525
+ 'cli.flags': 'CLI 参数',
526
+ 'router.activeSetLabel': '当前模型组',
527
+ 'router.familyFailover': '同系列故障转移',
528
+ 'router.syncBest': '同步可用模型',
529
+ 'router.useFavorites': '使用收藏',
530
+ 'router.probeAll': '探测全部',
531
+ 'router.noActiveSetModels': '当前模型组没有模型',
532
+ 'router.addSetModelsHint': '从下方选择器添加模型,或点击上方按钮同步可用模型。',
533
+ 'router.primary': '首选',
534
+ 'router.triesFirst': '优先尝试',
535
+ 'router.fallback': '备用',
536
+ 'router.onFailure': '失败或触发速率限制时使用',
537
+ 'router.nextUp': '下一个',
538
+ 'router.addModelTo': '添加模型到',
539
+ 'router.searchModels': '按服务商、模型或名称搜索…',
540
+ 'router.noModelsMatch': '没有符合筛选条件的模型。',
541
+ 'router.alreadyInSet': '已在模型组中',
542
+ 'router.moveUp': '上移',
543
+ 'router.moveDown': '下移',
544
+ 'router.removeFromSet': '从模型组移除',
545
+ 'router.noActiveRequests': '当前没有活动请求。',
546
+ 'router.noRequestsYet': '暂无请求。开始编写代码后,这里会显示流量。',
547
+ 'router.stalled': '卡住了吗?',
548
+ 'router.processing': '处理中…',
549
+ 'router.savingStatus': '正在保存…',
550
+ 'router.savedStatus': '✓ 已保存',
551
+ 'router.routesVia': '经由',
552
+ 'router.fallbackHint': '查看故障转移链',
553
+ 'router.miniPlaceholder': '测试路由器…(例如:写一首关于 TypeScript 的俳句)',
554
+ 'router.testKeyHint': '重新探测 API Key,仅保留实际可用的模型',
555
+ 'router.useFavoritesHint': '用你收藏的模型替换当前路由模型',
556
+ 'router.benchmarkSetHint': '测试此模型组中每个模型的 AI 延迟和 TPS',
557
+ 'router.syncBestHint': '使用当前 API Key 重新探测,并仅保留可用模型',
558
+ 'router.switchSetHint': '切换当前模型组',
559
+ 'router.liveHeaders': '来自响应头的实时数据(不会额外发送请求)',
560
+ 'router.pasteIntoToolConfig': '复制到你的编程工具配置中',
561
+ 'router.routerModels': '路由模型',
562
+ 'router.favoritesFallbackOrder': '按收藏顺序依次尝试',
563
+ 'router.noFavoritesTui': '还没有收藏。按 Esc 返回,然后按 F 收藏模型。',
564
+ 'router.installEndpointCli': '将路由端点安装到 CLI 工具',
565
+ 'router.lifetime': '累计',
566
+ 'router.activeRequests': '活动请求',
567
+ 'router.recentRequests': '最近请求',
568
+ 'router.time': '时间',
569
+ 'router.detail': '详情',
570
+ 'router.reorder': '调整顺序',
571
+ 'router.healthCheck': '健康检查',
572
+ 'router.clearLog': '清除日志',
573
+ 'router.models': '模型',
574
+ 'router.clearHistory': '清除历史记录',
575
+ 'router.circuit.degraded': '降级',
576
+ 'router.circuit.probing': '探测中',
577
+ 'router.circuit.quotaPaused': '配额暂停',
578
+ 'router.v2.pointToolAtV2': '将编程工具指向 v2',
579
+ 'router.v2.orPinOne': '或指定模型:',
580
+ 'router.v2.failoverRate': '故障转移率',
581
+ 'router.v2.startToSeeChain': '启动守护进程以查看实时路由链。',
582
+ 'router.v2.noHistory': '暂无历史记录(守护进程已停止)。',
583
+ 'router.v2.probes': '探测模式',
584
+ 'router.v2.lastError': '最近错误',
585
+ 'dashboard.uptimeShort': '可用率',
586
+ 'update.retryHint': '按 Shift+U 重试更新',
587
+ 'update.clickToInstall': '点击此处或按 Shift+U 更新',
588
+ 'filters.disableFilter': '关闭筛选',
589
+ 'playground.prePromptHint': '作为第一条系统消息注入路由器角色设定',
590
+ 'playground.runCommand': '也可以在终端中运行:',
591
+ 'playground.waitingForDaemon': '守护进程正在启动,准备好后即可开始对话。',
592
+ 'playground.emptyTitle': '10 秒体验 FCM 路由器',
593
+ 'playground.emptyHint': '请求会路由到当前模型组中健康状态最佳的模型,也可以直接发送到你选定的模型。每条回复下方都会显示所用模型、延迟和 TPS。',
594
+ 'router.v2.startStableHint': '也可以点击上方按钮启动。稳定版 Router v1 会继续运行在 19280 端口。',
595
+ 'router.v2.outcome': '结果',
596
+ 'router.v2.wallTime': '总耗时',
597
+ 'router.v2.lastResortTag': '最后备用',
598
+ 'router.v2.attempts': '尝试记录',
599
+ 'router.v2.skipped': '已跳过',
600
+ 'router.v2.openAiTools': 'OpenAI 兼容工具',
601
+ 'router.v2.anthropicTools': 'Anthropic 协议 Agent',
602
+ 'router.v2.pinOneHint': '指定单个模型用于测试或专属流量:',
603
+ 'common.none': '无',
604
+ 'router.brokenModels': '当前模型组中有 {count} 个模型没有响应',
605
+ 'router.autoHealWarning': '启动时已执行自动修复,但替换模型可能仍不可用。',
606
+ 'router.fixNow': '立即修复',
607
+ 'router.copied': '已复制!',
608
+ 'router.copyAll': '复制全部',
609
+ 'router.baseUrl': '基础 URL',
610
+ 'router.requestsCount': '{count} 个请求',
611
+ 'router.stoppedHint': '智能故障转移路由器。启动后会将请求发送到健康状态最佳的模型。',
612
+ 'router.starting': '正在启动…',
613
+ 'router.stopping': '正在停止…',
614
+ 'router.activeSetModels': '当前模型组({count} 个模型)',
615
+ 'router.familyFailoverHint': '模型失败时,先尝试其他服务商上的同系列模型,再切换到下一个模型。',
616
+ 'router.probing': '探测中…',
617
+ 'router.addModel': '添加模型',
618
+ 'router.primaryTitle': '首选模型,每个请求都会优先尝试',
619
+ 'router.fallbackTitle': '备用模型 #{index},高优先级模型失败或触发速率限制时使用',
620
+ 'router.probeMode': '探测模式',
621
+ 'router.requestLog': '请求日志',
622
+ 'router.testRouter': '测试路由器',
623
+ 'router.testEmptyHint': '发送一条消息,查看路由器选择的模型、延迟和 TPS。',
624
+ 'router.runtimeTelemetry': '运行时数据',
625
+ 'router.callsTrackedLocal': '已记录 {count} 次调用 · 仅本地保存',
626
+ 'router.providerQuota': '服务商配额',
627
+ 'playground.routerStartError': '路由器未运行。按 R 启动,或运行 `free-coding-models --daemon-bg`。',
628
+ 'playground.sending': '正在发送…',
629
+ 'playground.tuiHotkeys': 'Enter 发送 · Shift+Tab 切换模型 · Ctrl+S 切换流式输出 · Esc 关闭 · Ctrl+L 清空',
630
+ 'playground.you': '你',
631
+ 'playground.routed': '路由至',
632
+ 'playground.tokensShort': 'Token',
633
+ 'playground.fallbackShort': '次故障转移',
634
+ 'playground.waitingResponse': '等待响应中,按 Esc 停止',
635
+ 'playground.draftPlaceholder': '输入消息并按 Enter…',
636
+ 'playground.enterToSend': '按 Enter 发送',
637
+ 'playground.pinModel': '可指定模型',
638
+ 'common.error': '错误',
639
+ 'cli.flag.best': '仅显示最高等级模型(A+、S、S+)',
640
+ 'cli.flag.fiable': '运行 10 秒可靠性分析模式',
641
+ 'cli.flag.json': '以 JSON 格式输出,便于脚本和自动化处理',
642
+ 'cli.flag.tier': '按等级系列筛选模型',
643
+ 'cli.flag.recommend': '启动时打开智能推荐',
644
+ 'cli.flag.premium': '启动时启用 S 级筛选和评价排序',
645
+ 'cli.flag.sort': '按指定列排序',
646
+ 'cli.flag.direction': '设置升序或降序',
647
+ 'cli.flag.origin': '按服务商筛选模型',
648
+ 'cli.flag.pingInterval': '设置探测间隔(毫秒)',
649
+ 'cli.flag.hideUnconfigured': '隐藏未配置 API Key 的模型',
650
+ 'cli.flag.showUnconfigured': '显示所有模型,包括未配置 API Key 的模型',
651
+ 'cli.flag.reprobe': '重建探测缓存,并跳过缓存中健康的模型',
652
+ 'cli.flag.probeTtl': '设置健康探测结果的缓存时长',
653
+ 'cli.flag.showBroken': '显示被探测缓存标记为不可用的模型',
654
+ 'cli.flag.checkDrift': '比较 sources.js 与 models.dev 并报告差异',
655
+ 'cli.flag.driftThreshold': '仅在差异数量达到此值时判定失败',
656
+ 'cli.flag.web': '启动实时 Web 仪表盘',
657
+ 'cli.flag.playground': '打开 TUI Playground,必要时自动启动路由器',
658
+ 'cli.flag.daemon': '启动路由器守护进程和 Web 仪表盘',
659
+ 'cli.flag.daemonBg': '在后台启动路由器守护进程',
660
+ 'cli.flag.daemonStatus': '以 JSON 格式输出路由器状态',
661
+ 'cli.flag.daemonStop': '正常停止路由器守护进程',
662
+ 'cli.flag.routerV2': '在 19380 端口启动 Router v2 守护进程',
663
+ 'cli.flag.routerV2Bg': '在后台启动 Router v2',
664
+ 'cli.flag.routerV2Status': '以 JSON 格式输出 Router v2 状态',
665
+ 'cli.flag.routerV2Stop': '正常停止 Router v2 守护进程',
666
+ 'cli.flag.syncSet': '为路由模型组发现并探测模型',
667
+ 'cli.flag.configDir': '将 config.json 和备份保存到指定目录',
668
+ 'cli.flag.fixPermissions': '无需确认,直接设置安全的配置文件权限',
669
+ 'cli.flag.noTelemetry': '本次运行停用匿名遥测',
670
+ 'cli.flag.help': '显示此帮助并退出',
671
+ 'palette.placeholder': '输入命令…(筛选、排序、工具、主题、探测、导出)',
672
+ 'palette.noMatch': '没有匹配的命令。',
673
+ 'palette.navigate': '导航',
674
+ 'palette.select': '选择',
675
+ 'palette.poweredByTui': '使用与 TUI 相同的命令列表',
676
+ 'palette.section.filter': '筛选',
677
+ 'palette.section.sort': '排序',
678
+ 'palette.section.action': '操作',
679
+ 'palette.section.page': '页面',
680
+ 'palette.section.update': '更新',
681
+ 'palette.section.tool': '工具',
682
+ 'palette.updateNow': '立即更新',
683
+ 'palette.versionAvailable': '版本可用',
684
+ 'palette.notAvailable': '此命令暂不可用。',
685
+ 'palette.notWired': '此命令暂未接入 Web。',
686
+ 'palette.toolModeNotReady': '工具模式选择器暂不可用。',
687
+ 'palette.favoriteHint': '在表格的模型行中按 F 键。',
688
+ 'palette.favoriteModeHint': '请在设置中选择收藏显示方式。',
689
+ 'palette.benchmarkHint': '点击 AI 延迟单元格可测试当前选中的模型。',
690
+ 'palette.providerFilterHint': '请使用筛选栏中的服务商下拉菜单。',
691
+ 'palette.tierFilterHint': '请使用筛选栏中的等级标签。',
692
+ 'palette.visibilityFilterHint': '请使用筛选栏中的显示方式下拉菜单。',
693
+ 'palette.sortHint': '点击表格列标题进行排序。',
694
+ 'palette.web.openHelp': '打开帮助',
695
+ 'palette.web.openChangelog': '打开更新日志',
696
+ 'palette.web.openPlayground': '打开 Playground',
697
+ 'palette.web.openInstallEndpoints': '打开安装端点',
698
+ 'palette.web.openInstalledModels': '打开已安装模型',
699
+ 'palette.web.cycleTheme': '切换主题(当前:{theme})',
700
+ 'palette.web.resetView': '重置视图(筛选和排序)',
701
+ 'palette.web.pingMode': '探测模式 → {mode}',
702
+ 'palette.web.exportModels': '导出模型…',
703
+ 'palette.command.filters': '筛选',
704
+ 'palette.command.filter-tier': '按等级筛选',
705
+ 'palette.command.filter-tier-all': '所有等级',
706
+ 'palette.command.filter-tier-splus': 'S+ 级',
707
+ 'palette.command.filter-tier-s': 'S 级',
708
+ 'palette.command.filter-tier-aplus': 'A+ 级',
709
+ 'palette.command.filter-tier-a': 'A 级',
710
+ 'palette.command.filter-tier-aminus': 'A- 级',
711
+ 'palette.command.filter-tier-bplus': 'B+ 级',
712
+ 'palette.command.filter-tier-b': 'B 级',
713
+ 'palette.command.filter-tier-c': 'C 级',
714
+ 'palette.command.filter-provider': '按服务商筛选',
715
+ 'palette.command.filter-provider-cycle': '切换服务商',
716
+ 'palette.command.filter-provider-all': '所有服务商',
717
+ 'palette.command.filter-model': '按模型筛选',
718
+ 'palette.command.filter-other': '其他筛选',
719
+ 'palette.command.filter-configured-toggle': '仅显示已配置且可用的模型',
720
+ 'palette.command.sort': '排序',
721
+ 'palette.command.sort-rank': '按排名排序',
722
+ 'palette.command.sort-tier': '按等级排序',
723
+ 'palette.command.sort-provider': '按服务商排序',
724
+ 'palette.command.sort-model': '按模型排序',
725
+ 'palette.command.sort-latest-ping': '按最近延迟排序',
726
+ 'palette.command.sort-avg-ping': '按平均延迟排序',
727
+ 'palette.command.sort-swe': '按 SWE 分数排序',
728
+ 'palette.command.sort-ctx': '按上下文长度排序',
729
+ 'palette.command.sort-health': '按健康状态排序',
730
+ 'palette.command.sort-verdict': '按综合评价排序',
731
+ 'palette.command.sort-stability': '按稳定性排序',
732
+ 'palette.command.sort-uptime': '按可用率排序',
733
+ 'palette.command.actions': '操作',
734
+ 'palette.command.action-target-tool': '目标工具',
735
+ 'palette.command.action-cycle-tool-mode': '切换目标工具',
736
+ 'palette.command.action-ping-mode': '探测模式',
737
+ 'palette.command.action-cycle-ping-mode': '切换探测模式',
738
+ 'palette.command.action-set-ping-speed': '快速模式(2 秒)',
739
+ 'palette.command.action-set-ping-normal': '普通模式(10 秒)',
740
+ 'palette.command.action-set-ping-slow': '慢速模式(30 秒)',
741
+ 'palette.command.action-set-ping-forced': '强制模式(4 秒)',
742
+ 'palette.command.action-favorites-mode': '收藏模式',
743
+ 'palette.command.action-toggle-favorite-mode': '切换收藏模式',
744
+ 'palette.command.action-favorites-mode-pinned': '置顶并始终显示',
745
+ 'palette.command.action-favorites-mode-normal': '普通行(仅标星)',
746
+ 'palette.command.action-toggle-favorite': '切换所选模型的收藏状态',
747
+ 'palette.command.action-cycle-theme': '切换主题',
748
+ 'palette.command.action-reset-view': '重置视图',
749
+ 'palette.command.action-probe-failed': '重新探测失效模型',
750
+ 'palette.command.action-probe-404': '探测所有模型(404)',
751
+ 'palette.command.action-toggle-auto-hide-broken': '切换自动隐藏失效模型',
752
+ 'palette.command.open-settings': '设置',
753
+ 'palette.command.open-help': '帮助',
754
+ 'palette.command.open-changelog': '更新日志',
755
+ 'palette.command.open-recommend': '智能推荐',
756
+ 'palette.command.open-playground': 'Playground',
757
+ 'palette.command.open-install-endpoints': '安装端点',
758
+ 'palette.command.open-installed-models': '已安装模型',
759
+ 'update.availableTitle': '有可用更新:v{version}。点击安装。',
760
+ 'update.availableDescription': 'npm 上有新版本 v{version}。更新后请重启仪表盘以应用更改。',
761
+ 'update.now': '立即更新',
762
+ 'settings.removeKey': '移除 Key',
763
+ 'settings.theme': '主题',
764
+ 'help.navigation': '导航',
765
+ 'analytics.tokenUsage': 'Token 用量',
766
+ 'install.selectProvider': '选择服务商',
767
+ 'install.selectTool': '选择工具',
768
+ 'common.stepNumber': '第 {step}/{total} 步',
769
+ 'install.tuiSubtitle': '将服务商模型目录安装到支持的编程工具中。',
770
+ 'install.chooseConfiguredProvider': '选择已配置的服务商',
771
+ 'install.chooseTargetTool': '选择目标工具',
772
+ 'install.chooseInstallScope': '选择安装范围',
773
+ 'install.chooseModelsToInstall': '选择要安装的模型',
774
+ 'install.provider': '服务商',
775
+ 'install.tool': '工具',
776
+ 'install.directProvider': '直连服务商',
777
+ 'install.sharedConfigFile': '共用配置文件',
778
+ 'install.envFile': '环境变量文件(~/.fcm-*-env)',
779
+ 'install.managedConfig': '托管配置安装',
780
+ 'install.selectedCount': '已选择:{selected}/{total}',
781
+ 'install.result': '结果',
782
+ 'install.resultUnavailable': '安装结果不可用',
783
+ 'install.futureRefresh': 'FCM 后续启动时会根据服务商目录的变化自动刷新。',
784
+ 'install.scope.all.label': '安装所有模型',
785
+ 'install.scope.all.hint': '推荐,FCM 后续会自动刷新此服务商的模型目录。',
786
+ 'install.scope.selected.label': '仅安装所选模型',
787
+ 'install.scope.selected.hint': '选择更精简的模型列表,便于使用。',
788
+ 'recommend.subtitle': '回答几个问题,为当前任务找到合适的模型。',
789
+ 'recommend.questionPriority': '你最看重什么?',
790
+ 'router.quickSetup': '快速设置',
791
+ 'update.checking': '正在检查更新…',
792
+ 'update.available': '有可用更新',
793
+ 'update.whatsNew': '更新内容',
794
+ 'recommend.taskType.quickfix': '快速修复',
795
+ 'recommend.taskType.refactor': '深度重构',
796
+ 'recommend.taskType.review': '代码审查',
797
+ 'recommend.taskType.testgen': '生成测试',
798
+ 'recommend.priority.speed': '速度',
799
+ 'recommend.priority.quality': '质量',
800
+ 'recommend.priority.balanced': '均衡',
801
+ 'recommend.contextBudget.small': '小型文件(<4K)',
802
+ 'recommend.contextBudget.medium': '中型项目(<32K)',
803
+ 'recommend.contextBudget.large': '大型代码库(>32K)',
804
+ 'changelog.added': '新增',
805
+ 'changelog.fixed': '修复',
806
+ 'changelog.changed': '变更',
807
+ 'changelog.updated': '更新',
808
+ 'help.item.navigation.rows.label': '↑ / ↓',
809
+ 'help.item.navigation.rows.description': '主表行导航(计划支持,目前请使用鼠标)。',
810
+ 'help.item.navigation.details.label': 'Enter',
811
+ 'help.item.navigation.details.description': '打开当前行的详细信息面板。',
812
+ 'help.item.navigation.close.label': 'Esc',
813
+ 'help.item.navigation.close.description': '关闭当前打开的弹窗或详细信息面板。',
814
+ 'help.item.filters.tier.label': '等级标签',
815
+ 'help.item.filters.tier.description': '点击循环切换 S+、S、A+、A、A-、B+、B、C 等级,然后返回“全部”。',
816
+ 'help.item.filters.status.label': '状态标签',
817
+ 'help.item.filters.status.description': '点击循环切换“全部”“可用”“不可用”和“等待中”。',
818
+ 'help.item.filters.verdict.label': '评价标签',
819
+ 'help.item.filters.verdict.description': '点击循环切换“极佳”“正常”“波动”“较慢”“过载”“不可用”“不稳定”和“等待中”。',
820
+ 'help.item.filters.health.label': '健康状态标签',
821
+ 'help.item.filters.health.description': '点击循环切换“可用”“超时”“不可用”“等待中”“缺少 Key”和“认证错误”。',
822
+ 'help.item.filters.visibility.label': '显示范围',
823
+ 'help.item.filters.visibility.description': '选择显示全部模型、仅显示已配置模型,或仅显示可用模型(状态为 UP 且评价良好)。',
824
+ 'help.item.filters.provider.label': '服务商下拉菜单',
825
+ 'help.item.filters.provider.description': '按服务商筛选表格。',
826
+ 'help.item.filters.text.label': '文本筛选',
827
+ 'help.item.filters.text.description': '从命令面板应用文本筛选,或选择“应用文本筛选”;点击 X 标签可清除。',
828
+ 'help.item.filters.reset.label': '重置按钮',
829
+ 'help.item.filters.reset.description': '清除所有筛选,并恢复默认排序。',
830
+ 'help.item.sort.columns.label': '点击任意列标题',
831
+ 'help.item.sort.columns.description': '依次切换升序、降序和默认顺序。',
832
+ 'help.item.sort.resize.label': '调整列宽',
833
+ 'help.item.sort.resize.description': '拖动列标题边缘调整宽度,双击可恢复默认宽度。',
834
+ 'help.item.favorites.row.label': '每行的星标按钮',
835
+ 'help.item.favorites.row.description': '点击收藏或取消收藏模型(TUI:F 键)。',
836
+ 'help.item.favorites.detail.label': '详细信息面板',
837
+ 'help.item.favorites.detail.description': '收藏模型,或使用上/下按钮调整顺序(TUI:Shift+↑/↓)。',
838
+ 'help.item.favorites.pinned.label': '置顶模式',
839
+ 'help.item.favorites.pinned.description': '在设置中启用“收藏置顶并始终显示”(TUI:Y 键)。',
840
+ 'help.item.favorites.shared.label': '与 TUI 共用',
841
+ 'help.item.favorites.shared.description': '收藏保存在与 TUI 共用的 ~/.free-coding-models.json 文件中。',
842
+ 'help.item.benchmark.global.label': '标题栏按钮',
843
+ 'help.item.benchmark.global.description': '为所有当前可见模型运行 AI 速度测试。',
844
+ 'help.item.benchmark.single.label': 'AI 延迟单元格',
845
+ 'help.item.benchmark.single.description': '点击单元格可单独测试该模型(TUI:Ctrl+A)。',
846
+ 'help.item.benchmark.detail.label': '详细信息面板',
847
+ 'help.item.benchmark.detail.description': '点击 AI 速度测试按钮测试当前模型(TUI:Ctrl+A)。',
848
+ 'help.item.benchmark.tps.label': 'TPS 列',
849
+ 'help.item.benchmark.tps.description': '基准测试完成后显示模型每秒生成的 Token 数。',
850
+ 'help.item.benchmark.latency.label': '延迟列',
851
+ 'help.item.benchmark.latency.description': '显示模型完整响应的延迟,而不只是探测延迟。',
852
+ 'help.item.tools.shipped.label': 'M3 已支持',
853
+ 'help.item.tools.shipped.description': '选择目标工具、逐个模型安装端点,或使用目标不兼容时的备用方案弹窗。',
854
+ 'help.item.palette.shortcut.label': '⌘K / Ctrl+P',
855
+ 'help.item.palette.shortcut.description': '在 Web 仪表盘任意位置打开或关闭命令面板。',
856
+ 'help.item.palette.search.label': '输入内容搜索',
857
+ 'help.item.palette.search.description': '搜索筛选、排序、工具、页面、主题、探测和重置操作。',
858
+ 'help.item.palette.execute.label': '↑ / ↓ + Enter',
859
+ 'help.item.palette.execute.description': '移动选择项,并运行高亮的命令。',
860
+ 'help.item.palette.close.label': 'Esc',
861
+ 'help.item.palette.close.description': '关闭命令面板,不运行命令。',
862
+ 'help.item.theme.cycle.label': '标题栏主题按钮',
863
+ 'help.item.theme.cycle.description': '点击循环切换自动、深色和浅色主题(TUI:G 键)。',
864
+ 'help.item.theme.auto.label': '自动模式',
865
+ 'help.item.theme.auto.description': '跟随操作系统的配色偏好并自动更新。',
866
+ 'help.item.ping.cadence.label': '快速 / 普通 / 慢速 / 强制',
867
+ 'help.item.ping.cadence.description': '设置探测间隔为 2 秒、10 秒、30 秒或 4 秒(TUI:W 键)。',
868
+ 'help.item.ping.countdown.label': '下次探测倒计时',
869
+ 'help.item.ping.countdown.description': '在筛选栏中查看实时倒计时。',
870
+ 'help.item.url.filters.label': '?tier=S+&sort=verdict&origin=groq&view=dashboard',
871
+ 'help.item.url.filters.description': '筛选、排序和当前页面会保存在 URL 中,可以分享带有当前仪表盘状态的链接。',
872
+ 'help.item.cli.storage.label': '共用配置',
873
+ 'help.item.cli.storage.description': 'Web 仪表盘和 TUI 读取并写入同一个 ~/.free-coding-models.json 文件。',
874
+ 'help.item.cli.engine.label': '共用引擎',
875
+ 'help.item.cli.engine.description': '模型解析、探测和基准测试共用同一套代码。',
876
+ 'help.item.router.smart.label': '智能路由',
877
+ 'help.item.router.smart.description': '将 OpenAI 兼容客户端指向 http://localhost:19280/v1,并设置模型为“fcm”。守护进程会从当前模型组中选择健康模型,失败时自动切换备用模型。',
878
+ 'help.item.router.prePrompt.label': '预设提示词',
879
+ 'help.item.router.prePrompt.description': '每个代理请求都会附带一条系统消息。可以在设置中编辑默认的 FCM 路由提示词。',
880
+ 'help.item.router.probes.label': '探测',
881
+ 'help.item.router.probes.description': '守护进程会根据探测模式,每 10 秒、30 秒或 120 秒向模型组发送一个 Token 的聊天补全请求。检查延迟和状态码,也能发现无效的 API Key。',
882
+ 'help.item.router.breaker.label': '熔断器',
883
+ 'help.item.router.breaker.description': '每个模型都有独立状态。健康模型接收流量;不可用模型在冷却前会被跳过;恢复中的模型会再次探测;认证错误表示 401/403;已弃用模型会由自动修复功能替换。',
884
+ 'help.item.router.failover.label': '故障转移顺序',
885
+ 'help.item.router.failover.description': '模型按优先级依次尝试。恢复中、不可用或认证错误的模型会被跳过。所有模型都失败时会返回 503,并在错误内容中附上 models_tried 列表。',
886
+ 'help.item.router.autoHeal.label': '自动修复',
887
+ 'help.item.router.autoHeal.description': '守护进程启动时,会用可用模型替换认证错误或已弃用的模型,并优先选择同一服务商。手动添加、移除或调整模型顺序后,自动修复会关闭。',
888
+ 'help.item.router.rateLimits.label': '速率限制',
889
+ 'help.item.router.rateLimits.description': '各服务商的配额彼此独立。常见免费额度包括 Groq 每日 14,400 次、Mistral 每秒 1 次、NVIDIA 约每分钟 40 次、OpenRouter 每日 50 次。遇到 429 时会切换模型;每日配额耗尽后会在下次启动时处理。',
890
+ 'dashboard.favorited': '已收藏',
891
+ 'dashboard.installEndpoint': '安装端点',
892
+ 'dashboard.installEndpointInTool': '将端点安装到 {tool}',
893
+ 'dashboard.installModelEndpoint': '将 {model} 端点安装到 {tool}',
894
+ 'dashboard.selectModelFirst': '请先选择模型',
895
+ 'dashboard.installSelectedModelEndpoint': '安装所选模型端点',
896
+ 'dashboard.installTargetTitle': '安装端点到:{tool}',
897
+ 'dashboard.cycleEndpointTarget': '切换端点目标',
898
+ 'dashboard.endpointInstallTarget': '端点安装目标',
899
+ 'filters.verdict.pending': '等待中',
900
+ 'dashboard.favoriteModelTitle': '收藏 {model}',
901
+ 'dashboard.unfavoriteModelTitle': '取消收藏 {model}',
902
+ 'dashboard.notInSet': '未加入模型组',
903
+ 'health.http404': '404 未找到',
904
+ 'health.http410': '410 已失效',
905
+ 'health.http429': '429 触发速率限制',
906
+ 'health.http500': '500 服务器错误',
907
+ 'health.http502': '502 网关错误',
908
+ 'health.http503': '503 服务不可用',
909
+ 'health.http504': '504 请求超时',
910
+ 'health.httpError': '{code} 错误',
911
+ 'modelDetail.noApiKey': '{provider} 尚未配置 API Key。请按 P 打开设置。',
912
+ 'modelDetail.modelInfo': '模型信息',
913
+ 'modelDetail.miniPlayground': '迷你 Playground — {model}',
914
+ 'modelDetail.testModel': '测试 {model}',
915
+ 'modelDetail.playgroundPlaceholder': '输入消息…',
916
+ 'modelDetail.playgroundEmptyHint': '发送消息以测试此模型。回复会实时显示,并附带延迟和 TPS。',
917
+ 'modelDetail.testAiLatency': '测试 AI 延迟',
918
+ 'modelDetail.runningBenchmark': '正在运行基准测试…',
919
+ 'modelDetail.running': '正在运行…',
920
+ 'modelDetail.tokens': 'Token 数',
921
+ 'modelDetail.generatedText': '生成的文本会显示在这里…',
922
+ 'palette.description.filter-tier-all': '显示所有模型',
923
+ 'palette.description.filter-tier-splus': '编程能力最强的模型',
924
+ 'palette.description.filter-tier-s': '表现出色的模型',
925
+ 'palette.description.filter-tier-aplus': '表现很好的模型',
926
+ 'palette.description.filter-tier-a': '表现良好的模型',
927
+ 'palette.description.filter-tier-aminus': '表现稳定的模型',
928
+ 'palette.description.filter-tier-bplus': '表现一般的模型',
929
+ 'palette.description.filter-tier-b': '基础能力模型',
930
+ 'palette.description.filter-tier-c': '能力有限的模型',
931
+ 'palette.description.filter-provider-cycle': '切换服务商',
932
+ 'palette.description.filter-provider-all': '显示所有服务商',
933
+ 'palette.description.filter-configured-toggle': '仅显示已配置且响应正常的服务商(排除无 Key 和认证错误)',
934
+ 'palette.description.providerModels': '{provider} 模型',
935
+ 'palette.description.sort-rank': '按 SWE 分数排序',
936
+ 'palette.description.sort-tier': '按质量等级分组',
937
+ 'palette.description.sort-provider': '按服务商分组',
938
+ 'palette.description.sort-model': '按字母顺序排列',
939
+ 'palette.description.sort-latest-ping': '按最近响应时间排序',
940
+ 'palette.description.sort-avg-ping': '按平均响应时间排序',
941
+ 'palette.description.sort-swe': '按编程能力分数排序',
942
+ 'palette.description.sort-ctx': '按上下文窗口大小排序',
943
+ 'palette.description.sort-health': '按模型当前状态排序',
944
+ 'palette.description.sort-verdict': '按综合评价排序',
945
+ 'palette.description.sort-stability': '按稳定性排序',
946
+ 'palette.description.sort-uptime': '按成功率排序',
947
+ 'palette.description.action-cycle-tool-mode': '循环切换可用的启动工具。',
948
+ 'palette.description.action-set-tool-opencode': '使用所选模型启动 OpenCode CLI。',
949
+ 'palette.description.action-set-tool-pi': '使用模型和服务商参数启动 Pi。',
950
+ 'palette.description.action-set-tool-jcode': '使用所选模型启动 jcode 编程助手。',
951
+ 'palette.description.action-set-tool-opencode-desktop': '在共享配置中设置模型,然后打开 OpenCode Desktop。',
952
+ 'palette.description.action-set-tool-opencode-web': '在共享配置中设置模型,然后打开 OpenCode WebUI。',
953
+ 'palette.description.action-set-tool-openclaw': '在 OpenClaw 中设为默认模型并启动。',
954
+ 'palette.description.action-set-tool-crush': '使用此服务商和模型启动 Crush。',
955
+ 'palette.description.action-set-tool-goose': '启动 Goose 并预选当前模型。',
956
+ 'palette.description.action-set-tool-aider': '使用所选模型配置并启动 Aider。',
957
+ 'palette.description.action-set-tool-kilo': '在共享配置中设置模型,然后启动 Kilo CLI。',
958
+ 'palette.description.action-set-tool-qwen': '使用所选服务商模型启动 Qwen Code。',
959
+ 'palette.description.action-set-tool-openhands': '使用所选模型端点启动 OpenHands。',
960
+ 'palette.description.action-set-tool-amp': '将此模型设为目标并启动 Amp。',
961
+ 'palette.description.action-set-tool-hermes': '使用所选模型启动 Hermes Agent。',
962
+ 'palette.description.action-set-tool-continue': '使用所选模型启动 Continue CLI。',
963
+ 'palette.description.action-set-tool-cline': '使用所选模型启动 Cline CLI。',
964
+ 'palette.description.action-set-tool-xcode': '将此模型设为当前启动目标。',
965
+ 'palette.description.action-set-tool-fcm_router': '将此模型设为当前启动目标。',
966
+ 'palette.description.action-set-tool-caveman': 'Caveman Code:节省 Token 的编程助手(仅使用 Caveman 工具启动)。',
967
+ 'palette.description.action-set-tool-copilot': '将此模型设为当前启动目标。',
968
+ 'palette.description.action-set-tool-forgecode': '将此模型设为当前启动目标。',
969
+ 'palette.description.action-set-tool-zcode': '将此模型设为当前启动目标。',
970
+ 'palette.description.action-cycle-ping-mode': '循环切换快速、普通、慢速和强制模式。',
971
+ 'palette.description.action-set-ping-speed': '短时检查时以 2 秒间隔快速探测。',
972
+ 'palette.description.action-set-ping-normal': '日常使用的均衡默认间隔。',
973
+ 'palette.description.action-set-ping-slow': '空闲时降低刷新频率。',
974
+ 'palette.description.action-set-ping-forced': '保持 4 秒探测间隔,直到手动更改。',
975
+ 'palette.description.action-toggle-favorite-mode': '切换置顶模式和普通列表模式。',
976
+ 'palette.description.action-favorites-mode-pinned': '收藏项置顶显示,并忽略当前筛选条件。',
977
+ 'palette.description.action-favorites-mode-normal': '收藏项保留星标,并遵循当前筛选和排序。',
978
+ 'palette.description.action-toggle-favorite': '收藏或取消收藏当前选中的模型。',
979
+ 'palette.description.action-cycle-theme': '切换深色、浅色和自动主题。',
980
+ 'palette.description.action-reset-view': '重置筛选和排序。',
981
+ 'palette.description.action-probe-failed': '仅重新探测出现错误的行(认证失败、429、404、超时),不检查整个列表。',
982
+ 'palette.description.action-probe-404': '检查所有已配置模型是否返回 404/410,并自动隐藏失效模型。',
983
+ 'palette.description.action-toggle-auto-hide-broken': '启用或停用自动隐藏 404/410 模型;停用时会显示所有模型。',
984
+ 'palette.description.open-settings': 'API Key 和偏好设置',
985
+ 'palette.description.open-help': '查看所有快捷键',
986
+ 'palette.description.open-changelog': '查看版本历史',
987
+ 'palette.description.open-recommend': '查找适合当前任务的模型',
988
+ 'palette.description.open-playground': '通过 FCM 路由器与模型对话',
989
+ 'palette.description.open-install-endpoints': '安装服务商模型目录',
990
+ 'palette.description.open-installed-models': '查看工具中已配置的模型',
991
+ })