forked from boos/BoosAPI
829 lines
62 KiB
TypeScript
829 lines
62 KiB
TypeScript
// Auto-generated supplemental i18n mappings for strict English mode.
|
||
// Generated by tmp-generate-i18n-clean.ts
|
||
|
||
export const zhToEnSupplemental: Record<string, string> = {
|
||
'...等${rows.length}个': '...Waiting for ${rows.length}',
|
||
'(已配置)': '(configured)',
|
||
'// 暂无数据': '// No data yet',
|
||
'+ 添加站点': '+ add site',
|
||
'+ 添加账号': '+ add account',
|
||
'+ 新增令牌': '+ Add new token',
|
||
'☀️ 早上好': '☀️ Good morning',
|
||
'🌙 晚上好': '🌙 Good evening',
|
||
'🌙 夜深了': '🌙 It’s late at night',
|
||
'🌤️ 下午好': '🌤️ Good afternoon',
|
||
'👋 中午好': '👋 Good afternoon',
|
||
'${account.username || \'ID:\' + accountId} 余额不足: $${balanceInfo.balance.toFixed(2)}': '${account.username || \'ID:\' + accountId} Insufficient balance: $${balanceInfo.balance.toFixed(2)}',
|
||
'${accountLabel} @ ${siteLabel} 的 Token 无效或已过期${detail}': 'The Token of ${accountLabel} @ ${siteLabel} is invalid or expired ${detail}',
|
||
'${activeBrand} ${tr(\'路由\')}': '${activeBrand} ${tr(\'路由\')}',
|
||
'${existingSite.name} 已禁用,关联账号已全部置为禁用': '${existingSite.name} is disabled, all associated accounts have been set to disabled',
|
||
'${existingSite.name} 已启用,关联禁用账号已恢复为活跃': '${existingSite.name} is enabled, the associated disabled account has been restored to active',
|
||
'${initialTask.title} 正在执行': '${initialTask.title} is executing',
|
||
'${options.title} 已开始执行': '${options.title} has started execution',
|
||
'${resolveAccountLabel(item)} 同步失败:${resolveSyncMessage(item, \'请检查账号配置\')}': '${resolveAccountLabel(item)} Synchronization failed: ${resolveSyncMessage(item, \'请检查账号配置\')}',
|
||
'${resolveAccountLabel(item)} 已跳过:${resolveSyncMessage(item, \'不满足同步条件\')}': '${resolveAccountLabel(item)} Skipped: ${resolveSyncMessage(item, \'不满足同步条件\')}',
|
||
'${site.name}: 测速失败': '${site.name}: Speed test failed',
|
||
'${t(\'跟随系统\')} (${resolvedThemeLabel})': '${t(\'跟随系统\')} (${resolvedThemeLabel})',
|
||
'${task.title} 失败': '${task.title} failed',
|
||
'${task.title} 失败:${errorText}': '${task.title} failed: ${errorText}',
|
||
'${task.title} 已开始执行': '${task.title} has started execution',
|
||
'${task.title} 已完成': '${task.title} Completed',
|
||
'${task.title}已开始': '${task.title} has started',
|
||
'${taskTitle}失败:${currentTask.error || \'unknown error\'}': '${taskTitle} failed: ${currentTask.error || \'unknown error\'}',
|
||
'${taskTitle}完成:健康 ${summary.healthy},异常 ${summary.unhealthy},禁用 ${summary.disabled}': '${taskTitle} done: healthy ${summary.healthy}, abnormal ${summary.unhealthy}, disabled ${summary.disabled}',
|
||
'${taskTitle}已完成': '${taskTitle} Completed',
|
||
'${token.name}${token.isDefault ? \'(默认)\' : \'\'}': '${token.name}${token.isDefault ? \'(默认)\' : \'\'}',
|
||
'${tr(\'查看\')} ${activeBrand} ${tr(\'品牌的所有模型\')}': '${tr(\'查看\')} ${activeBrand} ${tr(\'品牌的所有模型\')}',
|
||
'${tr(\'查看\')} ${activeBrand} ${tr(\'品牌路由\')}': '${tr(\'查看\')} ${activeBrand} ${tr(\'品牌路由\')}',
|
||
'${tr(\'当前精确路由\')} ${exactRouteCount} ${tr(\'条,为避免首屏卡顿,默认不自动计算概率,点击“加载选择解释”后按需获取。\')}': '${tr(\'当前精确路由\')} ${exactRouteCount} ${tr(\'条,为避免首屏卡顿,默认不自动计算概率,点击“加载选择解释”后按需获取。\')}',
|
||
'${tr(\'来自供应商\')} ${activeSite} ${tr(\'的模型\')}': '${tr(\'来自供应商\')} ${activeSite} ${tr(\'的模型\')}',
|
||
'安全设置已保存': 'Security settings saved',
|
||
'按成本、延迟、成功率自动选择最优通道,故障自动转移': 'Automatically select the optimal channel based on cost, delay, and success rate, and automatically transfer failures',
|
||
'按模型过滤': 'Filter by model',
|
||
'按权重随机(W=${weight},成本=${costSourceText}:${(cost?.unitCost || 1).toFixed(6)},同站点通道=${siteChannels},概率≈${(probability * 100).toFixed(1)}%)': 'Randomly by weight (W=${weight}, cost=${costSourceText}:${(cost?.unitCost || 1).toFixed(6)}, same-site channel=${siteChannels}, probability≈${(probability * 100).toFixed(1)}%)',
|
||
'P 值是硬优先级,只会在当前最高可用优先级内结合权重、成本和健康度随机选择': 'P value is a hard priority. Selection stays within the highest available priority tier, then chooses randomly using weight, cost, and health signals.',
|
||
'保存': 'save',
|
||
'保存 Cookie': 'Save Cookie',
|
||
'保存 Cookie 失败': 'Failed to save cookie',
|
||
'保存安全设置': 'Save security settings',
|
||
'保存定时任务': 'Save scheduled tasks',
|
||
'保存路由': 'Save route',
|
||
'保存路由策略': 'Save routing policy',
|
||
'保存失败': 'Save failed',
|
||
'保存通道优先级失败,已回滚': 'Failed to save channel priority, rolled back',
|
||
'保存通知设置': 'Save notification settings',
|
||
'保存修改': 'Save changes',
|
||
'保存站点': 'save site',
|
||
'保存中...': 'Saving...',
|
||
'本次未选出通道': 'No channel selected this time',
|
||
'编辑站点': 'Edit site',
|
||
'标记失败': 'Marking failed',
|
||
'标记已读': 'Mark as read',
|
||
'表格视图': 'table view',
|
||
'不可用': 'Not available',
|
||
'不支持的平台: ${row.sites.platform}': 'Unsupported platforms: ${row.sites.platform}',
|
||
'不支持的平台: ${site.platform}': 'Unsupported platforms: ${site.platform}',
|
||
'操作': 'operate',
|
||
'操作失败': 'Operation failed',
|
||
'操作已中止': 'Operation aborted',
|
||
'测试通知': 'Test notification',
|
||
'测试通知发送失败': 'Test notification failed to send',
|
||
'测试通知已发送': 'Test notification sent',
|
||
'测试通知已发送(成功 ${result.succeeded}/${result.attempted})': 'Test notification sent (successful ${result.succeeded}/${result.attempted})',
|
||
'查看未归类品牌路由': 'View uncategorized brand routes',
|
||
'查看详细日志后重试': 'Check the detailed log and try again',
|
||
'站点未开启签到': 'Check-in is not enabled on this site',
|
||
'无需重试(非故障)': 'No retry needed (not a failure)',
|
||
'该站点未提供签到端点,账号会被自动跳过。': 'This site does not expose a check-in endpoint, so the account is skipped automatically.',
|
||
'超时': 'time out',
|
||
'成本权重': 'cost weight',
|
||
'成功': 'success',
|
||
'成功 (${countBy(\'success\')})': 'Success (${countBy(\'success\')})',
|
||
'成功率': 'success rate',
|
||
'程序日志': 'System Logs',
|
||
'加载运行日志失败': 'Failed to load runtime logs',
|
||
'筛选运行日志': 'Filter runtime logs',
|
||
'仅看未读运行日志': 'Unread runtime logs only',
|
||
'当前筛选条件下没有运行日志。': 'No runtime logs match the current filters.',
|
||
'使用日志、运行日志、通知渠道和运行事件集中留痕。': 'Usage logs, runtime logs, notification channels, and runtime events are recorded centrally.',
|
||
'清理运行日志': 'Clean runtime logs',
|
||
'请求日志、运行日志和任务排障集中在这里': 'Request logs, runtime logs, and task triage are centralized here',
|
||
'聚合请求吞吐、路由健康、站点风险、后台任务和运行日志,作为值班排障的第一屏。': 'Aggregate request throughput, route health, site risk, background tasks, and runtime logs as the first on-call triage screen.',
|
||
'任务失败,需要进入对应业务页重试或查看运行日志。': 'Task failed. Retry in the related app page or inspect runtime logs.',
|
||
'查看运行日志': 'View runtime logs',
|
||
'暂无运行日志': 'No runtime logs',
|
||
'触发 Cloudflare 验证': 'Trigger Cloudflare verification',
|
||
'触发测试通知失败': 'Trigger test notification failed',
|
||
'触发签到失败': 'Failed to trigger sign-in',
|
||
'创建并同步令牌': 'Create and sync tokens',
|
||
'创建令牌失败': 'Failed to create token',
|
||
'创建路由失败': 'Failed to create route',
|
||
'创建任务失败:${message}': 'Failed to create task: ${message}',
|
||
'从自定义请求体构建请求失败。': 'Building request from custom request body failed.',
|
||
'存在惩罚': 'There is punishment',
|
||
'错误': 'mistake',
|
||
'打开': 'Open',
|
||
'代理': 'acting',
|
||
'代理访问 Token': 'Agent access token',
|
||
'代理访问 Token 已更新': 'Agent access token has been updated',
|
||
'代理访问 Token 至少 6 位': 'Proxy access token must be at least 6 digits',
|
||
'下游访问令牌(PROXY_TOKEN)': 'Downstream Access Token (PROXY_TOKEN)',
|
||
'用于下游站点或客户端访问本服务代理接口。前缀 sk- 固定不可修改,只需填写后缀。': 'Used by downstream sites or clients to access this service proxy API. The sk- prefix is fixed and cannot be edited; only the suffix is required.',
|
||
'请输入 sk- 后的令牌内容': 'Enter the token content after sk-.',
|
||
'更新下游访问令牌': 'Update downstream access token',
|
||
'下游访问令牌已更新': 'Downstream access token updated',
|
||
'下游访问令牌必须以 sk- 开头': 'Downstream access token must start with sk-.',
|
||
'下游访问令牌至少 6 位(含 sk-)': 'Downstream access token must be at least 6 characters (including sk-).',
|
||
'代理模式已启用:若仍无法加载,请检查 Cookie 是否过期后重新保存。': 'Proxy mode is enabled: If it still cannot be loaded, please check whether the cookie has expired and save it again.',
|
||
'代理全部失败': 'All agents failed',
|
||
'代理统计: 总计 ${metrics.proxyTotal} | 成功 ${metrics.proxySuccess} | 失败 ${metrics.proxyFailed} | Tokens ${metrics.proxyTotalTokens.toLocaleString()}': 'Agent Statistics: Total ${metrics.proxyTotal} | Success ${metrics.proxySuccess} | Failure ${metrics.proxyFailed} | Tokens ${metrics.proxyTotalTokens.toLocaleString()}',
|
||
'单 Docker 容器,内置 SQLite,无外部依赖': 'Single Docker container, built-in SQLite, no external dependencies',
|
||
'当前 JSON 结构无法识别': 'The current JSON structure is not recognized',
|
||
'当前模型已被筛选:${inputs.model}': 'The current model has been filtered: ${inputs.model}',
|
||
'当前请求已尝试': 'The current request has been attempted',
|
||
'当前筛选范围内去重后的唯一账号数': 'The number of unique accounts after deduplication within the current filtering range',
|
||
'当前站点可能禁止 iframe 内嵌,或 OAuth 跨站 Cookie 受限。建议先新窗口授权再回到此页刷新。': 'The current site may prohibit iframe embedding, or OAuth cross-site cookies may be restricted. It is recommended to authorize a new window first and then return to this page to refresh.',
|
||
'导出成功': 'Export successful',
|
||
'导出类型无效,仅支持 all/accounts/preferences': 'Invalid export type, only all/accounts/preferences supported',
|
||
'导出失败': 'Export failed',
|
||
'导航': 'navigation',
|
||
'导入': 'import',
|
||
'导入 / 导出': 'Import/Export',
|
||
'导入/导出': 'Import/Export',
|
||
'导入会覆盖账号/路由或系统设置,确认继续?': 'Importing will overwrite account/routing or system settings. Are you sure to continue?',
|
||
'导入失败': 'Import failed',
|
||
'导入数据格式错误:必须为 JSON 对象': 'Import data format error: must be a JSON object',
|
||
'导入数据格式错误:缺少 timestamp': 'Import data format error: missing timestamp',
|
||
'导入数据格式错误:设置数据结构不正确': 'Import data format error: setting data structure is incorrect',
|
||
'导入数据格式错误:需要 JSON 对象': 'Import data format error: JSON object required',
|
||
'导入数据格式错误:账号数据结构不正确': 'Import data format error: The account data structure is incorrect',
|
||
'导入数据中没有可识别的账号或设置数据': 'There is no identifiable account or settings data in the imported data',
|
||
'导入完成': 'Import completed',
|
||
'导入完成:${sections.length ? sections.join(\'、\') : \'无有效数据\'}': 'Import completed: ${sections.length ? sections.join(\'、\') : \'无有效数据\'}',
|
||
'登录': 'Log in',
|
||
'登录并添加': 'Log in and add',
|
||
'登录令牌无效': 'Invalid login token',
|
||
'登录请求失败': 'Login request failed',
|
||
'登录失败': 'Login failed',
|
||
'低延迟': 'low latency',
|
||
'点击“自动重建”可按当前模型可用性生成路由。': 'Click Auto-Rebuild to generate routes based on current model availability.',
|
||
'点击关闭签到,全部签到会忽略此账号': 'Click to close sign-in. All sign-ins will ignore this account.',
|
||
'点击开启签到': 'Click to open sign-in',
|
||
'调用分布': 'call distribution',
|
||
'调用趋势': 'Call trend',
|
||
'定时签到 + 余额刷新,不再手动操心': 'Regular check-in + balance refresh, no more manual worries',
|
||
'定时任务设置已保存': 'Scheduled task settings have been saved',
|
||
'豆包': 'bean bag',
|
||
'读取文件失败': 'Failed to read file',
|
||
'端到端类型安全': 'End-to-end type safety',
|
||
'对话已清除。': 'Conversation cleared.',
|
||
'多个用英文逗号分隔': 'Multiple separated by commas',
|
||
'多渠道告警': 'Multi-channel alarm',
|
||
'多站点聚合': 'multisite aggregation',
|
||
'额度(正整数)': 'Amount (positive integer)',
|
||
'发件人地址': 'Sender address',
|
||
'发送被阻止:无效的自定义请求体。': 'Sending blocked: Invalid custom request body.',
|
||
'发送测试通知': 'Send test notification',
|
||
'发现未完成的请求快照,点击重试继续。': 'Unfinished request snapshot is found, click Retry to continue.',
|
||
'发现未完成的任务,正在重新连接...': 'Unfinished tasks found, reconnecting...',
|
||
'访问令牌': 'access token',
|
||
'访问令牌失效': 'Access token expired',
|
||
'访问令牌失效:${params.detail}': 'Access token expired: ${params.detail}',
|
||
'访问令牌已过期': 'Access token has expired',
|
||
'费用统计: 支出 $${metrics.todaySpend.toFixed(6)} | 奖励 $${metrics.todayReward.toFixed(6)} | 净值 $${net.toFixed(6)}': 'Cost statistics: Expenses $${metrics.todaySpend.toFixed(6)} | Rewards $${metrics.todayReward.toFixed(6)} | Net worth $${net.toFixed(6)}',
|
||
'分组计费': 'Group charging',
|
||
'分组加载中...': 'Group loading...',
|
||
'风险': 'risk',
|
||
'复制': 'copy',
|
||
'复制模型名': 'Copy model name',
|
||
'复制失败,请手动复制。': 'Copy failed, please copy manually.',
|
||
'覆盖槽位': 'Cover slot',
|
||
'该令牌不支持当前模型': 'The token is not supported by the current model',
|
||
'该通道由用户手动添加,而非系统自动生成': 'This channel is added manually by the user and is not automatically generated by the system.',
|
||
'该站点需要 LinuxDo OAuth 授权': 'This site requires LinuxDo OAuth authorization',
|
||
'该账号当天签到已完成,重复请求会被站点拒绝或跳过。': 'The sign-in for this account has been completed for the day, and repeated requests will be rejected or skipped by the site.',
|
||
'该账号所属站点处于禁用状态,任务会自动跳过。': 'The site to which this account belongs is disabled and the task will be automatically skipped.',
|
||
'改令牌': 'Change token',
|
||
'概率为 0%': 'The probability is 0%',
|
||
'高性能 Node.js 后端框架': 'High performance Node.js backend framework',
|
||
'告警冷静期必须是大于等于 0 的数字(秒)': 'The alarm cooling off period must be a number greater than or equal to 0 (seconds)',
|
||
'个令牌': 'tokens',
|
||
'个模型': 'models',
|
||
'个人信息': 'personal information',
|
||
'个人信息已保存': 'Personal information has been saved',
|
||
'头像实时预览': 'Avatar live preview',
|
||
'会同步显示在右上角和侧边栏。': 'It will appear in the top-right menu and sidebar.',
|
||
'本地上传头像': 'Upload local avatar',
|
||
'选择图片': 'Choose image',
|
||
'已选择本地头像': 'Local avatar selected',
|
||
'未选择文件': 'No file selected',
|
||
'图片会压缩后保存在本机浏览器,不上传服务器。': 'The image is compressed and saved in this browser, not uploaded to the server.',
|
||
'头像文件必须是图片格式': 'Avatar file must be an image',
|
||
'头像图片不能超过 5MB': 'Avatar image must be under 5MB',
|
||
'当前浏览器无法处理头像图片': 'This browser cannot process the avatar image',
|
||
'头像上传失败': 'Avatar upload failed',
|
||
'头像图片读取失败,请重新上传': 'Avatar image could not be read. Please upload it again.',
|
||
'个站点': 'sites',
|
||
'个账号': 'accounts',
|
||
'跟随系统': 'Follow the system',
|
||
'更新代理令牌': 'Update proxy token',
|
||
'更新令牌失败': 'Update token failed',
|
||
'更新失败': 'Update failed',
|
||
'供应商': 'supplier',
|
||
'共': 'common',
|
||
'共 ${models.length} 个模型': 'Total ${models.length} models',
|
||
'关闭': 'closure',
|
||
'关于': 'about',
|
||
'关于 BoosAPI': 'About BoosAPI',
|
||
'管理端 IP 白名单': 'Management IP whitelist',
|
||
'管理员': 'administrator',
|
||
'管理员登录 Token 已被修改,请使用新 Token 登录。': 'The administrator login token has been modified, please use the new token to log in.',
|
||
'管理员登录令牌已更新': 'Admin login token updated',
|
||
'管理员令牌': 'Admin token',
|
||
'过期': 'Expired',
|
||
'核心特色': 'Core features',
|
||
'忽略非 JSON 的 SSE 数据块 (event=${parsed.event})。': 'Ignore non-JSON SSE data chunks (event=${parsed.event}).',
|
||
'缓存清理后重建路由已完成': 'Rebuilding routes after cache cleaning is complete',
|
||
'缓存清理后重建失败:${currentTask.error || \'unknown error\'}': 'Rebuild failed after cache cleanup: ${currentTask.error || \'unknown error\'}',
|
||
'缓存清理后重建完成:新增路由 ${rebuild.createdRoutes},新增通道 ${rebuild.createdChannels},移除通道 ${rebuild.removedChannels}': 'Reconstruction is completed after cache cleaning: new route ${rebuild.createdRoutes}, new channel ${rebuild.createdChannels}, removed channel ${rebuild.removedChannels}',
|
||
'缓存已清理,重建路由已开始执行': 'The cache has been cleared and routing reconstruction has started.',
|
||
'缓存已清理(模型缓存 ${res.deletedModelAvailability || 0} 条)': 'Cache cleared (model cache ${res.deletedModelAvailability || 0} items)',
|
||
'清除图片头像': 'Clear image avatar',
|
||
'换一个随机头像': 'Change a random avatar',
|
||
'恢复待处理的请求快照。': 'Restore a pending request snapshot.',
|
||
'恢复任务 ${restored.pendingJobId}。': 'Recovery task ${restored.pendingJobId}.',
|
||
'会话已过期': 'Session has expired',
|
||
'会话已过期,请重新登录': 'The session has expired, please log in again',
|
||
'获取模型列表失败。': 'Failed to get model list.',
|
||
'基础权重因子': 'Basic weight factor',
|
||
'基础信息': 'Basic information',
|
||
'集中管理 New API / One API / OneHub / DoneHub / Veloera 等': 'Centralized management New API / One API / OneHub / DoneHub / Veloera, etc.',
|
||
'计算中...': 'Calculating...',
|
||
'技术栈': 'technology stack',
|
||
'加载程序日志失败': 'Failed to load system logs',
|
||
'加载更多': 'load more',
|
||
'加载监控配置失败': 'Failed to load monitoring configuration',
|
||
'加载令牌失败': 'Failed to load token',
|
||
'加载路由配置失败': 'Failed to load routing configuration',
|
||
'加载模型列表失败。': 'Failed to load model list.',
|
||
'加载签到记录失败': 'Failed to load check-in records',
|
||
'加载日志失败': 'Failed to load log',
|
||
'加载设置失败': 'Failed to load settings',
|
||
'加载通知设置失败': 'Failed to load notification settings',
|
||
'加载仪表盘失败': 'Failed to load dashboard',
|
||
'加载元数据中...': 'Loading metadata...',
|
||
'加载站点列表失败': 'Failed to load site list',
|
||
'加载账号列表失败': 'Failed to load account list',
|
||
'加载中...': 'loading...',
|
||
'价值分因子': 'value factor',
|
||
'监控内嵌': 'Monitor embedded',
|
||
'检测到平台: ${result.platform}': 'Platform detected: ${result.platform}',
|
||
'健康': 'healthy',
|
||
'健康检查失败': 'Health check failed',
|
||
'降低频率并稍后重试': 'Reduce frequency and try again later',
|
||
'降级': 'Downgrade',
|
||
'降序 ↓': 'Descending order ↓',
|
||
'阶跃星辰': 'Step stars',
|
||
'接口能力': 'Interface capability',
|
||
'今日已签到': 'Signed in today',
|
||
'今天已经签到': 'Already signed in today',
|
||
'近期失败': 'recent failure',
|
||
'进行中': 'in progress',
|
||
'禁用': 'Disable',
|
||
'警告': 'warn',
|
||
'旧 Token 验证失败': 'Old Token verification failed',
|
||
'就绪': 'ready',
|
||
'卡片视图': 'card view',
|
||
'开启': 'turn on',
|
||
'可选种子值': 'Optional seed value',
|
||
'可用': 'Available',
|
||
'可用性监控': 'Availability monitoring',
|
||
'控制台': 'console',
|
||
'跨站模型覆盖、定价对比、延迟与成功率实测数据': 'Cross-site model coverage, pricing comparison, latency and success rate measured data',
|
||
'拉取分组失败': 'Failed to pull group',
|
||
'拉取分组失败,已回退 default': 'Failed to pull the group and has fallen back to default',
|
||
'冷却中': 'Cooling down',
|
||
'例如 BoosAPI': 'For example BoosAPI',
|
||
'例如: admin@example.com': 'For example: admin@example.com',
|
||
'例如: smtp.qq.com': 'For example: smtp.qq.com',
|
||
'例如: target@example.com': 'For example: target@example.com',
|
||
'例如:小王': 'For example: Xiao Wang',
|
||
'两次输入的新 Token 不一致': 'The new Token entered twice is inconsistent',
|
||
'零配置嵌入式数据库': 'Zero-configuration embedded database',
|
||
'零一万物': 'zero one thing',
|
||
'令牌': 'token',
|
||
'令牌 ID 无效': 'Token ID is invalid',
|
||
'令牌不存在': 'Token does not exist',
|
||
'令牌不存在或不属于当前账号': 'The token does not exist or does not belong to the current account',
|
||
'令牌不存在或不属于通道账号': 'The token does not exist or does not belong to the channel account',
|
||
'令牌不可用': 'Token not available',
|
||
'令牌不能为空': 'Token cannot be empty',
|
||
'令牌管理': 'Account tokens',
|
||
'令牌失效': 'Token expired',
|
||
'令牌数': 'Number of tokens',
|
||
'令牌同步成功': 'Token synchronization successful',
|
||
'令牌同步任务执行中,请稍后查看程序日志': 'Token sync task is running, please check system logs later.',
|
||
'令牌同步失败': 'Token sync failed',
|
||
'令牌同步跳过': 'Token sync skipped',
|
||
'令牌为空,无法复制': 'Token is empty and cannot be copied',
|
||
'令牌已禁用': 'Token is disabled',
|
||
'令牌已启用': 'Token is enabled',
|
||
'令牌已删除': 'Token deleted',
|
||
'另有 ${failedRows.length - 3} 个失败账号,请查看日志': 'There are ${failedRows.length - 3} failed accounts, please check the logs',
|
||
'另有 ${skippedRows.length - 3} 个跳过账号,请查看日志': 'There are ${skippedRows.length - 3} skipped accounts, please check the logs',
|
||
'浏览器先人工签到一次': 'Browser manually sign in once',
|
||
'流式': 'streaming',
|
||
'流式传输被用户中止。': 'Streaming was aborted by user.',
|
||
'流式传输失败:${message}': 'Streaming failed: ${message}',
|
||
'流式传输未收到 [DONE] 信号,已在本地完成。': 'Streaming did not receive [DONE] signal and was completed locally.',
|
||
'流式传输已成功完成。': 'Streaming completed successfully.',
|
||
'流式传输异常中断:${streamError?.message || \'AbortError\'}': 'Streaming aborted abnormally: ${streamError?.message || \'AbortError\'}',
|
||
'流式连接中断,请重试。': 'Streaming connection interrupted, please try again.',
|
||
'流式请求失败': 'Streaming request failed',
|
||
'流式响应体为空': 'Streaming response body is empty',
|
||
'路由': 'routing',
|
||
'路由不存在': 'Routes',
|
||
'路由权重': 'Route weight',
|
||
'路由权重已保存': 'Route weight saved',
|
||
'路由选择概率已刷新': 'Routes Refresh',
|
||
'路由已创建': 'Route created',
|
||
'路由已删除': 'Route deleted',
|
||
'路由重建任务执行中,请稍后查看程序日志': 'Route rebuild task is running, please check system logs later.',
|
||
'轮询 ${pendingJobId} 失败一次:${message}': 'Polling ${pendingJobId} failed once: ${message}',
|
||
'没有可复制的文本内容。': 'There is no text content to copy.',
|
||
'没有可用通道(全部被禁用、站点不可用、冷却或令牌不可用)': 'No channels available (all disabled, site unavailable, cooldown or token unavailable)',
|
||
'没有匹配的路由': 'No matching route',
|
||
'没有找到匹配结果': 'No matching results found',
|
||
'每日总结 ${metrics.localDay}': 'Daily summary ${metrics.localDay}',
|
||
'每页条数': 'Number of items per page',
|
||
'密码': 'password',
|
||
'名称': 'name',
|
||
'命中路由:${match.route.modelPattern}': 'Hit route: ${match.route.modelPattern}',
|
||
'模糊搜索模型名称': 'Fuzzy search model name',
|
||
'模型': 'Model',
|
||
'模型=${params.model}, 原因=${params.reason}': 'model=${params.model}, reason=${params.reason}',
|
||
'模型操练场': 'Model training ground',
|
||
'模型测试': 'Model testing',
|
||
'模型广场': 'model square',
|
||
'模型广场刷新进行中': 'Model square refresh in progress',
|
||
'模型广场刷新失败:${currentTask.error || \'unknown error\'}': 'Model square refresh failed: ${currentTask.error || \'unknown error\'}',
|
||
'模型广场刷新完成:新增路由 ${rebuild.createdRoutes},新增通道 ${rebuild.createdChannels},移除通道 ${rebuild.removedChannels}': 'The model square refresh is completed: add route ${rebuild.createdRoutes}, add channel ${rebuild.createdChannels}, remove channel ${rebuild.removedChannels}',
|
||
'模型广场刷新已完成': 'Model square refresh has been completed',
|
||
'模型路由': 'model routing',
|
||
'群组': 'groups',
|
||
'全部群组': 'all groups',
|
||
'群组路由': 'group routes',
|
||
'查看群组路由': 'viewing group routes',
|
||
'模型名称': 'Model name',
|
||
'模型匹配(如 gpt-4o、claude-*、re:^claude-.*$)': 'Model matching (such as gpt-4o, claude-*, re:^claude-.*$)',
|
||
'模型已更新': 'Model updated',
|
||
'模型映射 JSON(可选)': 'Model mapping JSON (optional)',
|
||
'默认': 'default',
|
||
'默认令牌': 'default token',
|
||
'默认令牌已更新': 'Default token updated',
|
||
'目录': 'Table of contents',
|
||
'您好,这是一条来自系统设置的连通性测试通知,您的通知相关配置目前工作正常!': 'Hello, this is a connectivity test notification from system settings. Your notification-related configuration is currently working normally!',
|
||
'排行榜': 'Ranking list',
|
||
'排序保存中': 'Sorting and saving',
|
||
'排序方式': 'sort by',
|
||
'排序字段': 'sort field',
|
||
'配置': 'Configuration',
|
||
'匹配 ${filteredModels.length} / ${models.length}': 'Matches ${filteredModels.length} / ${models.length}',
|
||
'频率惩罚': 'frequency penalty',
|
||
'品牌': 'brand',
|
||
'平均延迟': 'average delay',
|
||
'平台类型(可自动检测)': 'Platform type (can be automatically detected)',
|
||
'其他': 'other',
|
||
'其他未归类的模型': 'Other uncategorized models',
|
||
'启用': 'enable',
|
||
'启用 SSL/TLS 加密连接': 'Enable SSL/TLS encrypted connection',
|
||
'启用站点后再试': 'Try again after enabling the site',
|
||
'签到': 'Sign in',
|
||
'签到 Cron': 'Sign in Cron',
|
||
'签到 Cron 表达式无效': 'Check-in Cron expression is invalid',
|
||
'签到记录': 'Sign-in record',
|
||
'签到任务执行中,请稍后查看签到日志': 'Check-in task is running, please check check-in logs later.',
|
||
'签到统计: 总计 ${metrics.checkinTotal} | 成功 ${metrics.checkinSuccess} | 跳过 ${metrics.checkinSkipped} | 失败 ${metrics.checkinFailed}': 'Sign-in statistics: Total ${metrics.checkinTotal} | Success ${metrics.checkinSuccess} | Skip ${metrics.checkinSkipped} | Failure ${metrics.checkinFailed}',
|
||
'签到完成': 'Sign in completed',
|
||
'签到已执行': 'Sign-in has been executed',
|
||
'签到中...': 'Checking in...',
|
||
'浅色': 'light color',
|
||
'浅色模式': 'light mode',
|
||
'切换到中文': 'Switch to Chinese',
|
||
'切换排序方向': 'Switch sort direction',
|
||
'切换签到状态失败': 'Failed to switch sign-in status',
|
||
'切换站点状态失败': 'Failed to switch site status',
|
||
'轻量 TypeScript ORM': 'Lightweight TypeScript ORM',
|
||
'轻量部署': 'Lightweight deployment',
|
||
'清除缓存并重建路由': 'Clear cache and rebuild routes',
|
||
'清除占用与使用日志': 'Clear occupancy and usage logs',
|
||
'清空': 'Clear',
|
||
'清空 Cookie': 'Clear Cookies',
|
||
'清空日志': 'Clear log',
|
||
'清空失败': 'Clearing failed',
|
||
'清理缓存并重建路由': 'Clear cache and rebuild routes',
|
||
'清理缓存失败': 'Failed to clear cache',
|
||
'清理占用失败': 'Failed to clear occupation',
|
||
'请调整品牌筛选、搜索词或排序条件。': 'Please adjust your brand filters, search terms, or sorting criteria.',
|
||
'请求超时': 'Request timeout',
|
||
'请求超时(${Math.max(1, Math.round(timeoutMs / 1000))}s)': 'Request timeout (${Math.max(1, Math.round(timeoutMs / 1000))}s)',
|
||
'请求触发了防护挑战,建议稍后再试或更换稳定站点。': 'The request triggered a protection challenge. It is recommended to try again later or change the stable site.',
|
||
'请求失败': 'Request failed',
|
||
'请求体必须是对象': 'The request body must be an object',
|
||
'请求在超时时间内未完成,可能是网络波动或站点响应慢。': 'The request was not completed within the timeout period, possibly due to network fluctuations or slow site response.',
|
||
'请输入管理员令牌后继续。': 'Please enter your administrator token to continue.',
|
||
'请输入新的代理访问 Token': 'Please enter new proxy access token',
|
||
'请填写所有字段': 'Please fill in all fields',
|
||
'请填写站点名称和 URL': 'Please fill in the site name and URL',
|
||
'请先检查站点与账号状态,然后点击刷新。': 'Please check the site and account status first, then click Refresh.',
|
||
'请先输入 URL': 'Please enter URL first',
|
||
'请先选择或粘贴 JSON 备份内容': 'Please select or paste the JSON backup content first',
|
||
'请选择 JSON 格式的备份文件': 'Please select a backup file in JSON format',
|
||
'请选择模型': 'Please select a model',
|
||
'请选择下游协议': 'Please select a downstream protocol',
|
||
'取消': 'Cancel',
|
||
'去重账号': 'Remove duplicate accounts',
|
||
'全部': 'all',
|
||
'全部 (${logs.length})': 'All (${logs.length})',
|
||
'全部备份': 'All backup',
|
||
'全部测速完成': 'All speed tests completed',
|
||
'全部类型': 'All types',
|
||
'全部品牌': 'All brands',
|
||
'全部签到': 'Sign in all',
|
||
'全部同步失败': 'All synchronization failed',
|
||
'全部同步失败:${resolveSyncMessage(res, \'请稍后重试\')}': 'All synchronization failed: ${resolveSyncMessage(res, \'请稍后重试\')}',
|
||
'全部同步完成:成功 ${successRows.length},跳过 ${skippedRows.length},失败 ${failedRows.length}': 'All synchronization completed: success ${successRows.length}, skip ${skippedRows.length}, failure ${failedRows.length}',
|
||
'全部同步已跳过:${resolveSyncMessage(res, \'没有可同步的账号\')}': 'All syncs skipped: ${resolveSyncMessage(res, \'没有可同步的账号\')}',
|
||
'全部已读': 'All read',
|
||
'全部账号令牌同步任务已完成': 'All account token synchronization tasks have been completed',
|
||
'全部账号令牌同步失败:${currentTask.error || \'unknown error\'}': 'All account token synchronization failed: ${currentTask.error || \'unknown error\'}',
|
||
'全部账号令牌同步完成:成功 ${summary.synced},跳过 ${summary.skipped},失败 ${summary.failed}': 'All account tokens are synchronized: successful ${summary.synced}, skipped ${summary.skipped}, failed ${summary.failed}',
|
||
'全部账号签到': 'Sign in for all accounts',
|
||
'全部账号签到任务失败:${currentTask.error || \'unknown error\'}': 'All account sign-in tasks failed: ${currentTask.error || \'unknown error\'}',
|
||
'全部账号签到任务已完成': 'All account sign-in tasks have been completed',
|
||
'全部账号签到失败': 'Sign-in failed for all accounts',
|
||
'全部账号签到完成:成功 ${summary.success},跳过 ${summary.skipped},失败 ${summary.failed}': 'All account sign-ins completed: successful ${summary.success}, skipped ${summary.skipped}, failed ${summary.failed}',
|
||
'全部账号签到已完成': 'Sign-in for all accounts has been completed',
|
||
'全部账号签到已完成(成功${summary.success}/跳过${summary.skipped}/失败${summary.failed})': 'Sign-in for all accounts has been completed (successful${summary.success}/skip${summary.skipped}/failure${summary.failed})',
|
||
'全部账号同步完成': 'All accounts have been synchronized',
|
||
'确认清理模型缓存并重建路由?': 'Are you sure you want to clear the model cache and rebuild the route?',
|
||
'确认清理占用统计与使用日志?': 'Are you sure you want to clear the usage statistics and usage logs?',
|
||
'确认修改': 'Confirm changes',
|
||
'任务 ${pendingJobId} 失败:${message}': 'Task ${pendingJobId} failed: ${message}',
|
||
'任务 ${pendingJobId} 已成功。': 'Task ${pendingJobId} was successful.',
|
||
'任务 ${pendingJobId} 已取消。': 'Task ${pendingJobId} has been cancelled.',
|
||
'任务模式': 'mission mode',
|
||
'任务已成功完成。': 'Mission completed successfully.',
|
||
'任务状态已更新': 'Task status updated',
|
||
'日期: ${metrics.localDay}': 'Date: ${metrics.localDay}',
|
||
'日志已清空': 'The log has been cleared',
|
||
'筛选': 'filter',
|
||
'删除': 'delete',
|
||
'删除路由': 'Delete route',
|
||
'删除路由失败': 'Failed to delete route',
|
||
'删除失败': 'Delete failed',
|
||
'上游未提供模型说明。': 'No model description is provided upstream.',
|
||
'上游新增模型自动出现在模型列表,零配置路由生成': 'Newly added upstream models automatically appear in the model list, and zero-configuration routes are generated.',
|
||
'上游站点错误': 'Upstream site error',
|
||
'尚未获取运行健康信息': 'Running health information has not been obtained yet',
|
||
'尚未检测': 'Not tested yet',
|
||
'稍后重试': 'Try again later',
|
||
'稍后重试并检查网络': 'Try again later and check the network',
|
||
'稍后重试或联系站点方': 'Try again later or contact the site',
|
||
'设默认': 'Set default',
|
||
'设置': 'set up',
|
||
'深色': 'Dark',
|
||
'深色模式': 'dark mode',
|
||
'升序 ↑': 'Ascending order ↑',
|
||
'生成时间: ${metrics.generatedAtLocal} (${metrics.timeZone})': 'Generation time: ${metrics.generatedAtLocal} (${metrics.timeZone})',
|
||
'生成已被用户停止。': 'The build has been stopped by the user.',
|
||
'生成已取消。': 'The build was canceled.',
|
||
'生成已停止。': 'The build has stopped.',
|
||
'生成中...': 'Generating...',
|
||
'已缓存': 'Cached',
|
||
'失败': 'fail',
|
||
'失败 (${countBy(\'failed\')})': 'Failure (${countBy(\'failed\')})',
|
||
'失败避让': 'failure avoidance',
|
||
'实测': 'Actual measurement',
|
||
'实时决策': 'Real-time decision-making',
|
||
'使用频次权重': 'Use frequency weight',
|
||
'使用日志': 'Usage log',
|
||
'收到流式 [DONE] 信号。': 'Streaming [DONE] signal received.',
|
||
'收件人地址': 'Recipient address',
|
||
'收起': 'close',
|
||
'收起高级参数': 'Close advanced parameters',
|
||
'手动模式适合高级场景;自动路由仍会保持开启。': 'Manual mode is suitable for advanced scenarios; automatic routing will still remain on.',
|
||
'手动增改路由': 'Manually add and modify routes',
|
||
'输入当前 Token': 'Enter the current Token',
|
||
'输入提示词...(回车发送,Shift+回车换行)': 'Enter the prompt word...(Press Enter to send, Shift+Enter to line feed)',
|
||
'输入新 Token (至少 6 位)': 'Enter new Token (at least 6 digits)',
|
||
'输入新的 Server酱 Key(留空则不改)': 'Enter the new Server Key (leave it blank and do not change it)',
|
||
'输入新的代理访问令牌': 'Enter new proxy access token',
|
||
'输入以更改密码...': 'Enter to change password...',
|
||
'数据与隐私': 'Data and privacy',
|
||
'刷新': 'refresh',
|
||
'刷新路由选择概率失败': 'Failed to refresh routing probability',
|
||
'刷新模型并重建路由': 'Refresh the model and rebuild the route',
|
||
'刷新模型并重建路由失败:${currentTask.error || \'unknown error\'}': 'Refreshing model and rebuilding routes failed: ${currentTask.error || \'unknown error\'}',
|
||
'刷新模型并重建路由完成:新增路由 ${rebuild.createdRoutes},新增通道 ${rebuild.createdChannels},移除通道 ${rebuild.removedChannels}': 'Refreshing the model and rebuilding the route is completed: add route ${rebuild.createdRoutes}, add channel ${rebuild.createdChannels}, remove channel ${rebuild.removedChannels}',
|
||
'刷新模型并重建路由已完成': 'Refreshing the model and rebuilding the routes is complete',
|
||
'刷新模型广场数据': 'Refresh model square data',
|
||
'刷新全部账号运行健康状态': 'Refresh the running health status of all accounts',
|
||
'刷新选中概率': 'Refresh selection probability',
|
||
'刷新账号运行健康状态 #${accountId}': 'Refresh account health status #${accountId}',
|
||
'刷新账号状态失败': 'Failed to refresh account status',
|
||
'刷新账户状态': 'Refresh account status',
|
||
'刷新状态中...': 'Refreshing status...',
|
||
'思考中...': 'Thinking...',
|
||
'松开以导入文件': 'Release to import file',
|
||
'搜索': 'Search',
|
||
'搜索 (Ctrl+K)': 'Search (Ctrl+K)',
|
||
'搜索模型(支持名称片段)': 'Search model (supports name fragments)',
|
||
'搜索模型路由...': 'Search model routes...',
|
||
'搜索模型名称...': 'Search model name...',
|
||
'搜索站点、账号、模型、日志...': 'Search sites, accounts, models, logs...',
|
||
'随机种子': 'random seed',
|
||
'所有模型 accountCount 累计值,同一账号在多个模型中会重复计数': 'Cumulative value of accountCount in all models. The same account will be counted repeatedly in multiple models.',
|
||
'腾讯混元': 'Tencent Hunyuan',
|
||
'添加失败': 'Add failed',
|
||
'添加通道失败': 'Failed to add channel',
|
||
'添加站点': 'Add site',
|
||
'添加账号': 'Add account',
|
||
'条路由': 'route',
|
||
'跳过': 'jump over',
|
||
'跳过 (${countBy(\'skipped\')})': 'Skip (${countBy(\'skipped\')})',
|
||
'通道': 'aisle',
|
||
'通道不存在': 'Channel does not exist',
|
||
'通道不存在: ${missingId}': 'Channel does not exist: ${missingId}',
|
||
'通道禁用': 'channel disabled',
|
||
'通道令牌已更新': 'Channel token updated',
|
||
'通道数量': 'Number of channels',
|
||
'通道已添加': 'Channel added',
|
||
'通道已移除': 'Channel removed',
|
||
'通配符路由按请求实时决策;概率解释仅在精确模型路由中展示。': 'Wildcard routing makes real-time decisions on a per-request basis; probabilistic interpretation is only shown in exact model routing.',
|
||
'通配符路由按请求实时决策;概率解释在当前路由内统一估算。': 'Wildcard routing makes real-time decisions on a per-request basis; probabilistic interpretation is estimated uniformly within the current route.',
|
||
'通义千问': 'Tongyi Qianwen',
|
||
'通知': 'notify',
|
||
'通知发送失败:${failedResults[0].error}': 'Notification sending failed: ${failedResults[0].error}',
|
||
'通知设置': 'Notification settings',
|
||
'通知设置已保存': 'Notification settings saved',
|
||
'同步令牌失败': 'Sync token failed',
|
||
'同步全部账号': 'Sync all accounts',
|
||
'同步全部账号令牌': 'Synchronize all account tokens',
|
||
'同步全部账号令牌失败': 'Failed to synchronize all account tokens',
|
||
'同步全部账号令牌已完成': 'Synchronization of all account tokens has been completed',
|
||
'同步全部账号令牌已完成(成功${summary.synced}/跳过${summary.skipped}/失败${summary.failed})': 'Synchronization of all account tokens has been completed (successful${summary.synced}/skip${summary.skipped}/failure${summary.failed})',
|
||
'同步失败': 'Sync failed',
|
||
'同步失败:${resolveSyncMessage(res, \'请检查账号令牌或站点状态\')}': 'Sync failed: ${resolveSyncMessage(res, \'请检查账号令牌或站点状态\')}',
|
||
'同步完成:新增 ${res.created || 0},更新 ${res.updated || 0}': 'Synchronization completed: new ${res.created || 0}, updated ${res.updated || 0}',
|
||
'同步已跳过:${resolveSyncMessage(res, \'账号缺少可用 Session Cookie\')}': 'Sync skipped: ${resolveSyncMessage(res, \'账号缺少可用 Session Cookie\')}',
|
||
'同步站点令牌': 'Sync site token',
|
||
'同步站点令牌失败': 'Failed to sync site token',
|
||
'统一代理网关': 'Unified proxy gateway',
|
||
'头像(Dicebear 随机) · 风格:': 'Avatar (Dicebear random) · Style:',
|
||
'推理过程': 'reasoning process',
|
||
'退出登录': 'Log out',
|
||
'拖拽 JSON 备份文件到此处': 'Drag and drop the JSON backup file here',
|
||
'拖拽调整优先级': 'Drag and drop to adjust priority',
|
||
'拖拽调整优先级桶': 'Drag and drop to adjust priority buckets',
|
||
'唯一可用候选': 'The only available candidate',
|
||
'未登录': 'Not logged in',
|
||
'未登录且未提供 access token': 'Not logged in and no access token provided',
|
||
'未关联站点': 'Not associated site',
|
||
'未命名': 'Unnamed',
|
||
'未匹配到启用的路由': 'No enabled routes were matched',
|
||
'未启用任何通知渠道,请先开启并保存至少一种通知方式': 'No notification channels are enabled. Please enable and save at least one notification method first.',
|
||
'未设置': 'not set',
|
||
'未提供': 'Not provided',
|
||
'未选择': 'Not selected',
|
||
'未找到': 'not found',
|
||
'未找到可重试的用户消息。': 'No user message found to retry.',
|
||
'未找到匹配模型': 'No matching model found',
|
||
'未知': 'unknown',
|
||
'未知错误': 'unknown error',
|
||
'未知轮询错误': 'Unknown polling error',
|
||
'未知站点': 'unknown site',
|
||
'未知账号': 'Unknown account',
|
||
'温度': 'temperature',
|
||
'文心一言': 'Wenxinyiyan',
|
||
'无法连接到服务器': 'Unable to connect to server',
|
||
'无法识别平台类型': 'Unable to identify platform type',
|
||
'无价模型默认单价必须是大于 0 的数字': 'The default unit price of priceless models must be a number greater than 0',
|
||
'无可用通道': 'No channel available',
|
||
'无效': 'invalid',
|
||
'无需操作': 'No action required',
|
||
'无需重复执行': 'No need to repeat',
|
||
'系统': 'system',
|
||
'系统会根据模型可用性自动生成路由。优先级按 P0/P1 等桶管理,同一桶内可有多个通道;拖动通道或灰色分隔线即可调整。精确模型路由会自动过滤只支持该模型的账号和令牌。群组路由中的优先级调整会直接回写来源通道。选中概率表示请求到达时该通道被选中的概率。成本来源优先级为:实测成本 → 账号配置成本 → 目录参考价 → 默认回退单价。': 'The system automatically generates routes based on model availability. Priorities are managed as P0/P1 buckets, and multiple channels can share the same bucket; drag channels or the gray separators to adjust them. Exact model routes automatically filter accounts and tokens that only support that model. Priority edits inside group routes write back to the source channels directly. The selection probability indicates the probability of the channel being selected when the request arrives. The priority of cost sources is: measured cost → account configuration cost → catalog reference price → default fallback unit price.',
|
||
'该群组会将多个来源模型聚合为一个对外模型名;这里调整优先级桶时会直接回写来源通道。若某个来源模型被其他群组复用,保存前会提示影响范围。': 'This group aggregates multiple source models into one public model name. Priority bucket edits here write back to the source channels directly. If a source model is reused by other groups, the impact is shown before saving.',
|
||
'通配符路由按请求实时决策;下方优先级桶在整条路由内全局生效,来源模型只作为通道标签展示。': 'Wildcard routes decide per request. The priority buckets below apply globally across the whole route, while source models are shown only as channel labels.',
|
||
'系统会根据模型可用性自动生成路由;精确模型路由会自动过滤只支持该模型的账号和令牌。': 'Routes are auto-generated by model availability; exact model routes auto-filter accounts and tokens that support that model.',
|
||
'系统设置': 'System settings',
|
||
'显示调试': 'show debugging',
|
||
'项目链接': 'Project link',
|
||
'消耗分布': 'Consumption distribution',
|
||
'消耗趋势': 'consumption trend',
|
||
'校验': 'check',
|
||
'新 Token 至少 6 个字符': 'New Token must be at least 6 characters long',
|
||
'新增 ${result.created},更新 ${result.updated},总数 ${result.total}': 'New ${result.created}, updated ${result.updated}, total ${result.total}',
|
||
'信息': 'information',
|
||
'需要人工验证': 'Requires manual verification',
|
||
'选择分组': 'Select group',
|
||
'选择令牌(可选)': 'Select token (optional)',
|
||
'选择站点': 'Select site',
|
||
'选择账号': 'Select account',
|
||
'选择账号后同步站点令牌': 'Synchronize site token after selecting account',
|
||
'选中概率用于解释当前策略下这一次请求更可能落到哪里;轮询和稳定优先更适合把它当作顺序参考。': 'Selection probability explains where this request is more likely to land under the current strategy; for round robin and stable first it is better treated as an order hint.',
|
||
'先避开最近失败或不健康站点,再在稳定池里按顺序轮询;P 值表示轮询顺位': 'Avoid recently failed or unhealthy sites first, then rotate through the stable pool in order; P value means rotation order.',
|
||
'讯飞星火': 'iFlytek Spark',
|
||
'延迟': 'Delay',
|
||
'验证': 'verify',
|
||
'验证 Token': 'Verify Token',
|
||
'只要更高优先级还有可用通道,后面的通道本次就不会参与选择。': 'As long as a higher-priority tier still has available channels, later channels will not participate in this selection.',
|
||
'忽略 P 值,按全局顺序依次调用;连续失败 3 次后进入分级冷却': 'Ignore P value and call in global order; after 3 consecutive failures the channel enters staged cooldown.',
|
||
'当前策略不看 P 值;如果之后切回其他策略,拖拽保存的顺序仍会保留。': 'This strategy does not use P value; if you switch back to other strategies later, the saved drag order is still kept.',
|
||
'当前策略下,稳定站点会按 P 顺序轮换;不稳定站点会被自动降权或临时避让。': 'Under this strategy, stable sites rotate by P order; unstable sites are automatically downweighted or temporarily avoided.',
|
||
'验证成功: ${result.userInfo?.username || \'未知用户\'}': 'Verification successful: ${result.userInfo?.username || \'未知用户\'}',
|
||
'验证失败': 'Authentication failed',
|
||
'验证中...': 'Verifying...',
|
||
'一个 Key、一个入口,兼容 OpenAI / Claude 下游格式': 'One Key, one entry, compatible with OpenAI/Claude downstream formats',
|
||
'仪表盘': 'Dashboard',
|
||
'移除通道失败': 'Failed to remove channel',
|
||
'已标记全部为已读': 'Marked all as read',
|
||
'已触发全部签到': 'All sign-ins have been triggered',
|
||
'已创建任务 ${created.jobId}。': 'Task ${created.jobId} has been created.',
|
||
'已复制消息 ${message.id}。': 'Message ${message.id} copied.',
|
||
'已更新:${changedLabels.join(\'、\')}': 'Updated: ${changedLabels.join(\'、\')}',
|
||
'已关闭签到(全部签到会忽略此账号)': 'Sign-in is closed (all sign-ins will ignore this account)',
|
||
'已将消息同步到自定义请求体。': 'The message has been synchronized to the custom request body.',
|
||
'已将自定义请求体同步到消息。': 'The custom request body has been synchronized to the message.',
|
||
'已禁用': 'Disabled',
|
||
'已经签到': 'Already signed in',
|
||
'已开启签到': 'Sign-in is enabled',
|
||
'已开始': 'Started',
|
||
'已开始流式请求。': 'Streaming request started.',
|
||
'已开始路由重建,请稍后查看程序日志': 'Route rebuild has started, please check system logs later.',
|
||
'已开始签到,请稍后查看签到记录': 'Sign-in has started, please check the sign-in record later',
|
||
'已开始全部签到,请稍后查看签到日志': 'All sign-ins have started, please check the sign-in log later',
|
||
'已开始全部账号令牌同步,请稍后查看程序日志': 'All-account token sync has started, please check system logs later.',
|
||
'已开始刷新模型广场': 'Started to refresh the model square',
|
||
'已开始刷新账号运行健康状态,请稍后查看账号列表': 'Refreshing account health status has started. Please check the account list later.',
|
||
'已开始同步令牌,请稍后查看日志': 'Token synchronization has started, please check the log later',
|
||
'已开始重建路由,请稍后查看日志': 'Route reconstruction has started, please check the log later',
|
||
'已启用 Cookie 代理模式': 'Cookie proxy mode enabled',
|
||
'已清理使用日志 ${deletedProxyLogs} 条,并重置路由与账号占用统计': '${deletedProxyLogs} usage logs have been cleared, and routing and account occupancy statistics have been reset',
|
||
'已删除': 'Deleted',
|
||
'已删除消息 ${target.id}。': 'Message ${target.id} has been deleted.',
|
||
'已添加为 API Key 账号(可用于代理转发)': 'Added as API Key account (can be used for proxy forwarding)',
|
||
'已完成': 'Completed',
|
||
'已在站点创建并同步令牌': 'The token has been created and synchronized on the site',
|
||
'已找到 (': 'Found (',
|
||
'异常': 'abnormal',
|
||
'隐藏调试': 'Hide debugging',
|
||
'隐藏手动模式': 'Hide manual mode',
|
||
'用户 ID(数字)': 'User ID (numeric)',
|
||
'用户界面库': 'user interface library',
|
||
'用户名': 'username',
|
||
'用户名不能为空': 'Username cannot be empty',
|
||
'用户名已自动识别': 'Username has been automatically recognized',
|
||
'用户名最多 24 个字符': 'Username maximum 24 characters',
|
||
'优先级 P${priority}:可用 ${rawLayer.length}': 'Priority P${priority}: Available ${rawLayer.length}',
|
||
'优先级 P${priority}:可用 ${rawLayer.length},因最近失败避让 ${avoided.length}': 'Priority P${priority}: Available ${rawLayer.length}, avoid ${avoided.length} due to recent failure',
|
||
'有限额度令牌必须填写 remainQuota': 'Limited quota token must fill in remainQuota',
|
||
'有限额度令牌请填写正整数额度': 'For limited tokens, please fill in the positive integer amount',
|
||
'右上角头像实时预览': 'Real-time preview of the avatar in the upper right corner',
|
||
'余额': 'Balance',
|
||
'余额不足': 'Insufficient balance',
|
||
'余额不足提醒': 'Insufficient balance reminder',
|
||
'余额权重': 'Balance weight',
|
||
'余额刷新 Cron': 'Balance Refresh Cron',
|
||
'余额刷新 Cron 表达式无效': 'Balance refresh cron expression is invalid',
|
||
'余额已刷新': 'Balance has been refreshed',
|
||
'原子化样式框架': 'Atomized style framework',
|
||
'运行时设置已更新': 'Runtime settings updated',
|
||
'运行所有签到': 'Run all check-ins',
|
||
'运行状态波动': 'Operating status fluctuations',
|
||
'运行状态正常': 'Running status is normal',
|
||
'再次输入新 Token': 'Enter the new Token again',
|
||
'在新窗口直接打开目标站点': 'Open the target site directly in a new window',
|
||
'暂未识别到明确错误类型,可根据原始信息进一步排查。': 'No clear error type has been identified yet, and further investigation can be based on the original information.',
|
||
'暂无标签': 'No tags yet',
|
||
'暂无价格元数据': 'No price metadata yet',
|
||
'暂无路由': 'No route yet',
|
||
'暂无模型': 'No model yet',
|
||
'暂无模型数据': 'No model data yet',
|
||
'暂无使用日志': 'No usage log yet',
|
||
'暂无通知': 'No notification yet',
|
||
'粘贴 JSON 数据或通过上面的拖拽区域导入...': 'Paste JSON data or import via the drag area above...',
|
||
'粘贴 ld_auth_session 或 ld_auth_session=xxx': 'Paste ld_auth_session or ld_auth_session=xxx',
|
||
'粘贴 Session Cookie 或 API Key (系统会自动识别凭证类型)': 'Paste Session Cookie or API Key (The system will automatically identify credential type)',
|
||
'支持两种凭证类型,系统自动识别': 'Supports two credential types; auto-detected by the system',
|
||
'获取 Session Cookie:': 'Get Session Cookie:',
|
||
'Session Cookie 有效': 'Session Cookie is valid',
|
||
'账号缺少可用 Session Cookie': 'No available Session Cookie for this account',
|
||
'展开': 'Expand',
|
||
'展开高级参数': 'Expand advanced parameters',
|
||
'占用统计已清理': 'Occupancy statistics cleared',
|
||
'占用统计已清理(日志 ${res.deletedProxyLogs || 0} 条)': 'Occupancy statistics have been cleared (log ${res.deletedProxyLogs || 0} entries)',
|
||
'占用统计与使用日志已清理': 'Occupancy statistics and usage logs have been cleared',
|
||
'站点': 'site',
|
||
'站点 "${payload.name}" 已更新': 'Site "${payload.name}" has been updated',
|
||
'站点 "${payload.name}" 已添加': 'Site "${payload.name}" added',
|
||
'站点 "${site.name}" 已禁用': 'Site "${site.name}" is disabled',
|
||
'站点 "${site.name}" 已启用': 'Site "${site.name}" is enabled',
|
||
'站点 "${site.name}" 已删除': 'Site "${site.name}" has been deleted',
|
||
'站点 URL (例如 https://api.example.com)': 'Site URL (e.g. https://api.example.com)',
|
||
'站点创建令牌失败': 'Site creation token failed',
|
||
'站点返回服务端错误,通常需要站点恢复后才可成功。': 'The site returns a server-side error, which usually requires site recovery before success.',
|
||
'站点管理': 'Site management',
|
||
'站点开启了 Turnstile 人机验证,自动签到无法直接通过。': 'The site has Turnstile human-machine verification turned on, and automatic sign-in cannot pass directly.',
|
||
'站点名称': 'Site name',
|
||
'站点删除令牌失败,本地未删除': 'Site deletion token failed, not deleted locally',
|
||
'站点隧道不可用': 'Site tunnel is not available',
|
||
'站点未返回可用令牌': 'Site did not return available tokens',
|
||
'站点已禁用': 'site disabled',
|
||
'站点已禁用,无法创建令牌': 'Site is disabled, token cannot be created',
|
||
'站点已启用': 'Site is enabled',
|
||
'站点状态=${row.site.status || \'disabled\'}': 'site status=${row.site.status || \'disabled\'}',
|
||
'账号': 'account',
|
||
'账号 "${loginForm.username}" 已添加,API Key 已自动获取': 'The account "${loginForm.username}" has been added and the API Key has been automatically obtained.',
|
||
'账号 "${loginForm.username}" 已添加(未找到 API Key,请手动设置)': 'Account "${loginForm.username}" has been added (API Key not found, please set it manually)',
|
||
'账号 ID 无效': 'Invalid account ID',
|
||
'账号不存在': 'Account does not exist',
|
||
'账号访问令牌可能过期或无效,需更新认证信息。': 'The account access token may be expired or invalid, and the authentication information needs to be updated.',
|
||
'账号管理': 'Connection management',
|
||
'账号或站点已禁用': 'Account or site has been disabled',
|
||
'账号路由': 'Account routing',
|
||
'账号缺少访问令牌,无法创建站点令牌': 'The account is missing an access token and cannot create a site token.',
|
||
'账号缺少访问令牌,无法拉取分组': 'The account lacks an access token and cannot pull the group.',
|
||
'账号数': 'Number of accounts',
|
||
'账号已添加${extra}': 'Account has been added ${extra}',
|
||
'账号与路由': 'Account and routing',
|
||
'账号运行健康状态刷新进行中,请稍后查看账号列表': 'The account health status is being refreshed. Please check the account list later.',
|
||
'账号状态=${row.account.status}': 'Account status=${row.account.status}',
|
||
'账号状态刷新任务已提交,完成后会自动更新。': 'The account status refresh task has been submitted and will be automatically updated after completion.',
|
||
'账号状态已刷新': 'Account status has been refreshed',
|
||
'正在加载价格元数据...': 'Loading price metadata...',
|
||
'正在加载模型元数据...': 'Loading model metadata...',
|
||
'正在重试待处理的请求。': 'Pending request is being retried.',
|
||
'执行成功': 'Executed successfully',
|
||
'智能路由引擎': 'Intelligent routing engine',
|
||
'智谱 AI': 'Wisdom spectrum AI',
|
||
'中': 'ZH',
|
||
'中转站的中转站 — 将你在各处注册的 New API / One API / OneHub 等 AI 中转站聚合为一个统一网关。一个 API Key、一个入口,自动发现模型、智能路由、成本最优。': 'A transit station of transit stations — Aggregate your New API / One API / OneHub and other AI transit stations registered everywhere into a unified gateway. One API Key, one entrance, automatic model discovery, intelligent routing, and cost optimization.',
|
||
'重建路由失败': 'Failed to rebuild route',
|
||
'重新登录或同步新令牌': 'Log back in or sync new token',
|
||
'重新加载当前站点': 'Reload current site',
|
||
'重置': 'reset',
|
||
'转为系统': 'Convert to system',
|
||
'转为助手': 'Turn into assistant',
|
||
'状态': 'state',
|
||
'自定义模式下输入可选。回车发送提示词并同步到自定义请求体。': 'Input is optional in custom mode. Press Enter to send the prompt word and synchronize it to the custom request body.',
|
||
'自定义请求': 'Custom request',
|
||
'自定义请求体必须是有效的 JSON 且包含非空消息。': 'The custom request body must be valid JSON and contain a non-empty message.',
|
||
'自定义请求体无效或不包含消息。': 'The custom request body is invalid or does not contain a message.',
|
||
'自定义请求体中的 JSON 无效': 'Invalid JSON in custom request body',
|
||
'自定义请求体中没有有效的消息。': 'There is no valid message in the custom request body.',
|
||
'自动': 'automatic',
|
||
'自动检测': 'Automatic detection',
|
||
'自动检测失败': 'Automatic detection failed',
|
||
'自动模型发现': 'Automatic model discovery',
|
||
'自动签到': 'Automatic check-in',
|
||
'自动重建': 'automatic rebuild',
|
||
'自动重建完成(新增 ${createdRoutes} 条路由 / ${createdChannels} 个通道)': 'Automatic reconstruction completed (new ${createdRoutes} routes / ${createdChannels} channels)',
|
||
'最大 Token 数': 'Maximum number of tokens',
|
||
'最近刷新': 'Last refreshed',
|
||
'最近健康检查失败': 'Recent health check failed',
|
||
'最近失败,优先避让(${RECENT_FAILURE_AVOID_SEC / 60} 分钟窗口)': 'Recent failure, priority avoidance (${RECENT_FAILURE_AVOID_SEC / 60} minute window)',
|
||
'最近一次检查失败': 'The latest check failed',
|
||
'最终选择:${selectedLabel}(P${selectedPriority})': 'Final selection: ${selectedLabel} (P${selectedPriority})',
|
||
'API Key 已自动获取': 'API Key has been obtained automatically',
|
||
'API Key(可选)': 'API Key (optional)',
|
||
'Bark 地址': 'address',
|
||
'Bark 开关': 'Bark switch',
|
||
'Bark 响应状态 ${response.status}': 'Bark response status ${response.status}',
|
||
'Cloudflare Tunnel 当前不可达,通常是站点侧网络或隧道进程问题。': 'The Cloudflare Tunnel is currently unreachable, usually due to a site-side network or tunnel process issue.',
|
||
'Cookie 格式无效,请填写 ld_auth_session 或其值': 'The cookie format is invalid, please fill in ld_auth_session or its value',
|
||
'expiredTime 参数无效': 'expiredTime parameter is invalid',
|
||
'https://api.day.app/your_key (可选)': 'https://api.day.app/your_key (optional)',
|
||
'https://your-webhook-url (可选)': 'https://your-webhook-url (optional)',
|
||
'JSON 解析错误:${formatError?.message || \'无效的 JSON\'}': 'JSON parsing error: ${formatError?.message || \'无效的 JSON\'}',
|
||
'LDOH 监控面板': 'LDOH monitoring panel',
|
||
'LDOH Cookie 已保存': 'LDOH Cookie Saved',
|
||
'LDOH Cookie 已更新': 'LDOH Cookie updated',
|
||
'LDOH Cookie 已清空': 'LDOH Cookie Cleared',
|
||
'LinuxDo 可用性监控': 'LinuxDo availability monitoring',
|
||
'BoosAPI 完全自托管,所有数据(账号、令牌、路由、日志)均存储在本地 SQLite 数据库中,不会向任何第三方发送数据。代理请求仅在你的服务器与上游站点之间直连传输。': 'boosapi is completely self-hosted, all data (accounts, tokens, routes, logs) is stored in a local SQLite database and no data is sent to any third party. Proxy requests only travel directly between your server and the upstream site.',
|
||
'model 不能为空': 'model cannot be empty',
|
||
'modelLimitsEnabled 参数无效': 'modelLimitsEnabled parameter is invalid',
|
||
'models 必须是非空数组': 'models must be a non-empty array',
|
||
'models 中没有有效模型名称': 'No valid model name in models',
|
||
'remainQuota 必须是正整数': 'remainQuota must be a positive integer',
|
||
'Server 酱开关': 'Server sauce switch',
|
||
'Server 酱密钥': 'Server sauce key',
|
||
'Server酱响应状态 ${response.status}': 'Server sauce response status ${response.status}',
|
||
'SMTP 安全连接': 'SMTP secure connection',
|
||
'SMTP 端口无效': 'Invalid SMTP port',
|
||
'SMTP 开关': 'SMTP switch',
|
||
'SMTP 密码': 'SMTP password',
|
||
'SMTP 用户': 'SMTP user',
|
||
'SMTP 用户名': 'SMTP username',
|
||
'SMTP 主机': 'SMTP host',
|
||
'Token 无效': 'Token is invalid',
|
||
'Token 无效或已过期': 'Token is invalid or expired',
|
||
'Token 已更新': 'Token has been updated',
|
||
'Token 已更新,请使用新 Token 重新登录': 'Token has been updated, please use the new Token to log in again',
|
||
'Token 已失效': 'Token has expired',
|
||
'turnstile token 为空': 'turnstile token is empty',
|
||
'unlimitedQuota 参数无效': 'unlimitedQuota parameter is invalid',
|
||
'updates 必须是非空数组': 'updates must be a non-empty array',
|
||
'updates[${index}] 必须是对象': 'updates[${index}] must be an object',
|
||
'updates[${index}].id 必须大于 0': 'updates[${index}].id must be greater than 0',
|
||
'updates[${index}].id 必须是有限数字': 'updates[${index}].id must be a finite number',
|
||
'updates[${index}].priority 必须是有限数字': 'updates[${index}].priority must be a finite number',
|
||
'Webhook / Bark / Server酱 / 邮件,余额不足及时提醒': 'Webhook / Bark / Server sauce / email, timely reminder of insufficient balance',
|
||
'Webhook 地址': 'Webhook address',
|
||
'Webhook 开关': 'Webhook switch',
|
||
'Webhook 响应状态 ${response.status}': 'Webhook response status ${response.status}',
|
||
};
|