Files

855 lines
89 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"%d quota points": "%d 点额度",
"%s after refresh: %s": "%s(刷新凭证后重试): %s",
"%s failed: %s": "%s 构建失败,%s",
"%s must be positive, using default value: %d": "%s 必须大于 0,已使用默认值: %d",
"%s must be positive; using default": "%s 必须大于 0,已使用默认值",
"%s%.6f quota": "%s%.6f 额度",
"--form 'file=@\"%s\"' (size: %d bytes, content-type: %s)": "--form 'file=@\"%s\"' (大小: %d 字节, content-type: %s)",
"Add abilities for channel %d failed: %s": "修复渠道一致性: 为渠道 %d 重建 abilities 记录失败: %s",
"Auto selected group: %s": "Auto 分组选定: %s",
"Auto selecting group: %s, priorityRetry: %d": "Auto 分组尝试: %s, priorityRetry: %d",
"Batch task %s already transitioned by another process, skip billing": "批量轮询: 任务 %s 的状态已由其他进程更新,跳过计费",
"Batch task %s reached terminal status without data; preserving existing task data": "批量轮询: 任务 %s 已结束,但上游没有返回数据,保留已有的任务数据",
"Batch task response ignored: unknown task_id=%s": "批量轮询: 上游返回了未知的 task_id=%s,已忽略",
"CacheUpdateChannel after: id=%d, name=%s, status=%d, polling_index=%d": "CacheUpdateChannel 更新后: id=%d, name=%s, status=%d, polling_index=%d",
"CacheUpdateChannel before: id=%d, name=%s, status=%d, polling_index=%d": "CacheUpdateChannel 更新前: id=%d, name=%s, status=%d, polling_index=%d",
"Channel #%d failed to update video async tasks: %s": "渠道 #%d 更新视频异步任务失败: %s",
"Channel #%d pending video tasks: %d": "渠道 #%d 有 %d 个视频任务未完成",
"CheckUserExistOrDeleted error: %v": "CheckUserExistOrDeleted 出错: %v",
"Client IP %s passed the token IP restrictions check": "客户端 IP %s 在令牌的 IP 白名单内",
"Creem API response received trade_no=%s status_code=%d body=%q": "Creem API 响应已收到 trade_no=%s status_code=%d body=%q",
"Creem callback customer email is empty trade_no=%s creem_order_id=%s": "Creem 回调客户邮箱为空 trade_no=%s creem_order_id=%s",
"Creem callback customer name is empty trade_no=%s creem_order_id=%s": "Creem 回调客户姓名为空 trade_no=%s creem_order_id=%s",
"Creem failed to create payment link user_id=%d trade_no=%s product_id=%s error=%q": "Creem 创建支付链接失败 user_id=%d trade_no=%s product_id=%s error=%q",
"Creem failed to create subscription payment link trade_no=%s product_id=%s error=%q": "Creem 订阅支付链接创建失败 trade_no=%s product_id=%s error=%q",
"Creem failed to create top-up order user_id=%d trade_no=%s product_id=%s error=%q": "Creem 创建充值订单失败 user_id=%d trade_no=%s product_id=%s error=%q",
"Creem failed to parse product config user_id=%d error=%q": "Creem 产品配置解析失败 user_id=%d error=%q",
"Creem failed to read payment request error=%q": "Creem 支付请求读取失败 error=%q",
"Creem failed to read subscription payment request error=%q": "Creem 订阅支付请求读取失败 error=%q",
"Creem order not paid, ignored request_id=%s order_id=%s order_status=%s": "Creem 订单状态未支付,忽略处理 request_id=%s order_id=%s order_status=%s",
"Creem order type not supported, ignored request_id=%s creem_order_id=%s order_type=%s": "Creem 暂不支持该订单类型,忽略处理 request_id=%s creem_order_id=%s order_type=%s",
"Creem payment completed callback trade_no=%s creem_order_id=%s amount_paid=%d currency=%s product_name=%q customer_email=%q customer_name=%q": "Creem 支付完成回调 trade_no=%s creem_order_id=%s amount_paid=%d currency=%s product_name=%q customer_email=%q customer_name=%q",
"Creem payment link created trade_no=%s response_id=%s checkout_url=%q": "Creem 支付链接创建成功 trade_no=%s response_id=%s checkout_url=%q",
"Creem payment request received user_id=%d body=%q": "Creem 支付请求已收到 user_id=%d body=%q",
"Creem payment request sent api_url=%s product_id=%s email=%q trade_no=%s": "Creem 支付请求已发送 api_url=%s product_id=%s email=%q trade_no=%s",
"Creem subscription order processed trade_no=%s creem_order_id=%s": "Creem 订阅订单处理成功 trade_no=%s creem_order_id=%s",
"Creem subscription order processing failed trade_no=%s creem_order_id=%s error=%q": "Creem 订阅订单处理失败 trade_no=%s creem_order_id=%s error=%q",
"Creem top-up order created user_id=%d trade_no=%s product_id=%s product_name=%q quota=%d money=%.2f": "Creem 充值订单创建成功 user_id=%d trade_no=%s product_id=%s product_name=%q quota=%d money=%.2f",
"Creem top-up order not found trade_no=%s creem_order_id=%s": "Creem 充值订单不存在 trade_no=%s creem_order_id=%s",
"Creem top-up order not pending, ignored trade_no=%s status=%s creem_order_id=%s": "Creem 充值订单状态非 pending,忽略处理 trade_no=%s status=%s creem_order_id=%s",
"Creem top-up processing failed trade_no=%s creem_order_id=%s client_ip=%s error=%q": "Creem 充值处理失败 trade_no=%s creem_order_id=%s client_ip=%s error=%q",
"Creem top-up succeeded trade_no=%s creem_order_id=%s quota=%d money=%.2f client_ip=%s": "Creem 充值成功 trade_no=%s creem_order_id=%s quota=%d money=%.2f client_ip=%s",
"Creem using test environment api_url=%s": "Creem 使用测试环境 api_url=%s",
"Creem webhook failed to parse path=%q client_ip=%s error=%q body=%q": "Creem webhook 解析失败 path=%q client_ip=%s error=%q body=%q",
"Creem webhook failed to read request body path=%q client_ip=%s error=%q": "Creem webhook 读取请求体失败 path=%q client_ip=%s error=%q",
"Creem webhook ignored event event_type=%s event_id=%s": "Creem webhook 忽略事件 event_type=%s event_id=%s",
"Creem webhook missing request_id event_id=%s order_id=%s": "Creem webhook 缺少 request_id event_id=%s order_id=%s",
"Creem webhook missing signature path=%q client_ip=%s body=%q": "Creem webhook 缺少签名 path=%q client_ip=%s body=%q",
"Creem webhook parsed event_type=%s event_id=%s request_id=%s order_id=%s order_status=%s": "Creem webhook 解析成功 event_type=%s event_id=%s request_id=%s order_id=%s order_status=%s",
"Creem webhook received request path=%q client_ip=%s signature=%q body=%q": "Creem webhook 收到请求 path=%q client_ip=%s signature=%q body=%q",
"Creem webhook rejected reason=webhook_disabled path=%q client_ip=%s": "Creem webhook 被拒绝 reason=webhook_disabled path=%q client_ip=%s",
"Creem webhook secret is not configured test_mode=%t signature=%q body=%q": "Creem webhook secret 未配置 test_mode=%t signature=%q body=%q",
"Creem webhook signature check skipped reason=test_mode signature=%q body=%q": "Creem webhook 验签已跳过 reason=test_mode signature=%q body=%q",
"Creem webhook signature verification failed path=%q client_ip=%s signature=%q body=%q": "Creem webhook 验签失败 path=%q client_ip=%s signature=%q body=%q",
"Creem webhook signature verified path=%q client_ip=%s": "Creem webhook 验签成功 path=%q client_ip=%s",
"Current group %s retries exhausted (priorityRetry=%d >= RetryTimes=%d), preparing switch to next group for next retry": "当前分组 %s 重试次数已用完 (priorityRetry=%d >= RetryTimes=%d),下次重试将切换到下一个分组",
"Database pinged successfully": "数据库连接正常",
"Delete abilities failed: %s": "修复渠道一致性: 删除 abilities 记录失败: %s",
"Do gemini request failed: %s": "请求 Gemini 失败: %s",
"Epay callback order not found trade_no=%s callback_type=%s client_ip=%s verify_info=%q": "易支付 回调订单不存在 trade_no=%s callback_type=%s client_ip=%s verify_info=%q",
"Epay client is not initialized path=%q client_ip=%s": "易支付 client 未初始化 path=%q client_ip=%s",
"Epay duplicate callback ignored trade_no=%s callback_type=%s client_ip=%s": "易支付 重复回调幂等忽略 trade_no=%s callback_type=%s client_ip=%s",
"Epay failed to create top-up order user_id=%d trade_no=%s payment_method=%s amount=%d error=%q": "易支付 创建充值订单失败 user_id=%d trade_no=%s payment_method=%s amount=%d error=%q",
"Epay failed to start payment user_id=%d trade_no=%s payment_method=%s amount=%d error=%q": "易支付 拉起支付失败 user_id=%d trade_no=%s payment_method=%s amount=%d error=%q",
"Epay order payment gateway mismatch trade_no=%s callback_type=%s client_ip=%s": "易支付 订单支付网关不匹配 trade_no=%s callback_type=%s client_ip=%s",
"Epay order status invalid trade_no=%s callback_type=%s client_ip=%s": "易支付 订单状态非法 trade_no=%s callback_type=%s client_ip=%s",
"Epay top-up order created user_id=%d trade_no=%s payment_method=%s amount=%d money=%.2f uri=%q params=%q": "易支付 充值订单创建成功 user_id=%d trade_no=%s payment_method=%s amount=%d money=%.2f uri=%q params=%q",
"Epay top-up processing failed trade_no=%s client_ip=%s error=%q": "易支付 充值处理失败 trade_no=%s client_ip=%s error=%q",
"Epay top-up succeeded trade_no=%s callback_type=%s client_ip=%s": "易支付 充值成功 trade_no=%s callback_type=%s client_ip=%s",
"Epay top-up succeeded trade_no=%s user_id=%d quota_to_add=%d money=%.2f": "易支付充值成功 trade_no=%s user_id=%d quota_to_add=%d money=%.2f",
"Epay webhook failed to parse POST form path=%q client_ip=%s error=%q": "易支付 webhook POST 表单解析失败 path=%q client_ip=%s error=%q",
"Epay webhook failed to write response path=%q client_ip=%s error=%q": "易支付 webhook 响应写入失败 path=%q client_ip=%s error=%q",
"Epay webhook failed to write response trade_no=%s client_ip=%s error=%q": "易支付 webhook 响应写入失败 trade_no=%s client_ip=%s error=%q",
"Epay webhook ignored event trade_no=%s callback_type=%s trade_status=%s client_ip=%s verify_info=%q": "易支付 webhook 忽略事件 trade_no=%s callback_type=%s trade_status=%s client_ip=%s verify_info=%q",
"Epay webhook params are empty path=%q client_ip=%s": "易支付 webhook 参数为空 path=%q client_ip=%s",
"Epay webhook received request path=%q client_ip=%s method=%s params=%q": "易支付 webhook 收到请求 path=%q client_ip=%s method=%s params=%q",
"Epay webhook rejected reason=webhook_disabled path=%q client_ip=%s": "易支付 webhook 被拒绝 reason=webhook_disabled path=%q client_ip=%s",
"Epay webhook signature verification failed path=%q client_ip=%s verify_error=%q": "易支付 webhook 验签失败 path=%q client_ip=%s verify_error=%q",
"Epay webhook signature verification failed path=%q client_ip=%s verify_status=false": "易支付 webhook 验签失败 path=%q client_ip=%s verify_status=false",
"Epay webhook signature verified trade_no=%s callback_type=%s trade_status=%s client_ip=%s verify_info=%q": "易支付 webhook 验签成功 trade_no=%s callback_type=%s trade_status=%s client_ip=%s verify_info=%q",
"Error getting sql.DB from GORM: %v": "从 GORM 取得 sql.DB 失败: %v",
"Error pinging DB: %v": "数据库 ping 失败: %v",
"Error: Failed to decode base64 string": "base64 字符串解码失败",
"FRONTEND_BASE_URL is ignored on master node": "当前是主节点,FRONTEND_BASE_URL 设置已忽略",
"Failed to get binding count for provider %s: %s": "查询 OAuth 提供商 %s 的绑定用户数失败: %s",
"Failed to load custom OAuth providers: %s": "加载自定义 OAuth 提供商失败: %s",
"Failed to load rate limit script: %v": "加载限流脚本失败: %v",
"Failed to project plugin video for task %s": "读取任务 %s 的制品列表失败",
"Failed to query task %s: %s": "查询任务 %s 失败: %s",
"Failed to resolve plugin video content for task %s: %v": "任务 %s: 生成视频内容的下载请求失败: %v",
"Failed to stream image: %v": "向客户端转发图片失败: %v",
"Failed to stream task media: %v": "向客户端转发任务媒体文件失败: %v",
"Failed to update task %s: %s": "更新任务 %s 失败: %s",
"Failed to update video task %s: %s": "更新视频任务 %s 失败: %s",
"Failed to write to disk cache, falling back to memory: %v": "写入磁盘缓存失败,改用内存缓存: %v",
"File cached to disk: %s, size: %d bytes": "文件已缓存到磁盘: %s,大小: %d 字节",
"Fix null mj_id task error: %v": "修复 mj_id 为空的任务出错: %v",
"Fix null mj_id task success: %v": "修复 mj_id 为空的任务成功: %v",
"Fix null task_id task error: %v": "修复 task_id 为空的任务出错: %v",
"Fix null task_id task success: %v": "修复 task_id 为空的任务成功: %v",
"Gemini embedding request body: %s": "Gemini 嵌入请求体: %s",
"Gemini native embedding response body: %s": "Gemini 原生格式嵌入响应体: %s",
"Gemini native response body: %s": "Gemini 原生格式响应体: %s",
"Gemini request body: %s": "Gemini 请求体: %s",
"Gemini response body: %s": "Gemini 响应体: %s",
"Gemini responses response body: %s": "Gemini Responses 响应体: %s",
"Gemini stream ended unexpectedly: %s": "Gemini 流式响应异常中断: %s",
"Get Mjp Task parse body error2: %v, body: %s": "解析 Midjourney 任务查询响应失败: %v,响应体: %s",
"Get Mjp Task parse body error: %v": "读取 Midjourney 任务查询响应失败: %v",
"Get Suno Task parse body error: %v": "读取 Suno 任务查询响应失败: %v",
"Get Task Do req error: %v": "发送任务查询请求失败: %v",
"Get Task error: %v": "创建任务查询请求失败: %v",
"Get Task marshal body error: %v": "序列化任务查询请求体失败: %v",
"Get Task status code: %d": "任务查询返回状态码 %d",
"GetAllEnableAbilityWithChannels error: %v": "GetAllEnableAbilityWithChannels 出错: %v",
"GetPasskeyByCredentialID: database error for credential ID: %v": "GetPasskeyByCredentialID: 按凭证 ID 查询数据库出错: %v",
"GetPasskeyByCredentialID: empty credential ID": "GetPasskeyByCredentialID: 凭证 ID 为空",
"GetPasskeyByCredentialID: passkey not found for credential ID length %d": "GetPasskeyByCredentialID: 未找到凭证 ID 对应的通行密钥,凭证 ID 长度 %d",
"GetPasskeyByUserID: database error for user %d: %v": "GetPasskeyByUserID: 查询用户 %d 时数据库出错: %v",
"GetPasskeyByUserID: empty user ID": "GetPasskeyByUserID: 用户 ID 为空",
"GetPreferredModelOwnerChannelTypes error: %v": "GetPreferredModelOwnerChannelTypes 出错: %v",
"InitChannelCache failed: %s": "InitChannelCache 失败: %s",
"InitChannelCache panic: %v": "InitChannelCache 发生 panic: %v",
"InitChannelCache panic: %v, retrying once": "InitChannelCache 发生 panic: %v,重试一次",
"LoadFileSource starting for: %s": "LoadFileSource 开始加载: %s",
"Loaded %d custom OAuth providers": "已加载 %d 个自定义 OAuth 提供商",
"Loaded custom OAuth provider: %s (%s)": "已加载自定义 OAuth 提供商: %s (%s)",
"Local:": "本机地址:",
"Login database error for user %s: %v": "用户 %s 登录时数据库出错: %v",
"Midjourney action uses origin channel: id=%s, base_url=%s": "Midjourney 后续操作使用原任务所在的渠道: id=%s, base_url=%s",
"Midjourney refund succeeded but clearing the quota failed, task %s: %s": "Midjourney 退款成功但清除 quota 失败 task %s: %s",
"Midjourney task response ignored: unknown mj_id=%s": "上游返回了未知的 Midjourney 任务 mj_id=%s,已忽略",
"Network:": "网络地址:",
"New API %s started": "New API %s 已启动",
"No .env file found, using default environment variables. If needed, please create a .env file and set the relevant variables.": "未找到 .env 文件,直接使用进程的环境变量。需要时可以新建 .env 文件,把变量写在里面。",
"No available channel in group %s for model %s at priorityRetry %d, trying next group": "分组 %s 没有模型 %s 的可用渠道 (priorityRetry=%d),尝试下一个分组",
"No update needed for task %s": "任务 %s 没有变化,跳过更新",
"OpenRouter parse failed from %s: %s": "解析 %s 返回的 OpenRouter 数据失败: %s",
"PasskeyLogin: userHandle parse error for credential, length: %d": "PasskeyLogin: 凭证的 userHandle 无法解析为用户 ID,长度: %d",
"Please set SESSION_SECRET to a random string.": "请将 SESSION_SECRET 设置为随机字符串。",
"REDIS_CONN_STRING not set, Redis is not enabled": "未设置 REDIS_CONN_STRING,Redis 未启用",
"Redis connected to %s": "Redis 已连接到 %s",
"Redis database: %d": "Redis 数据库: %d",
"Redis is enabled": "Redis 已启用",
"Redis ping test failed: %s": "Redis 连接测试失败: %s",
"RemoveDisabledFields Marshal error :%s": "RemoveDisabledFields 序列化失败 :%s",
"RemoveDisabledFields Unmarshal error :%s": "RemoveDisabledFields 反序列化失败 :%s",
"RemoveGeminiDisabledFields Marshal error: %s": "RemoveGeminiDisabledFields 序列化失败: %s",
"RemoveGeminiDisabledFields Unmarshal error: %s": "RemoveGeminiDisabledFields 反序列化失败: %s",
"Rerank request body: %s": "重排序请求体: %s",
"SKIP_64BIT_QUOTA_SCHEMA_CHECK=true; skipping user quota schema check": "已设置 SKIP_64BIT_QUOTA_SCHEMA_CHECK=true,跳过用户额度字段的类型检查",
"SQL_DSN not set, using SQLite as database": "未设置 SQL_DSN,数据库使用 SQLite",
"SSE ping data sent": "SSE ping 数据已发送",
"SSE ping error, stopping goroutine: %s": "SSE ping 出错,停止 goroutine: %s",
"SSE ping error: %s": "SSE ping 出错: %s",
"SSE ping goroutine panic recovered: %v": "SSE ping goroutine 发生 panic,已恢复: %v",
"SSE ping goroutine started": "SSE ping goroutine 已启动",
"SSE ping goroutine stopped": "SSE ping goroutine 已停止",
"SSE ping goroutine stopped by defer": "SSE ping goroutine 已由 defer 停止",
"SSE ping goroutine timeout, stopping": "SSE ping goroutine 超时,正在停止",
"SSE ping ticker stopped": "SSE ping ticker 已停止",
"SYNC_FREQUENCY not set, use default value 60": "未设置 SYNC_FREQUENCY,使用默认值 60",
"SetPayloadHash body: %s": "SetPayloadHash 请求体: %s",
"Stripe Checkout payment not completed, waiting for async result trade_no=%s payment_status=%s client_ip=%s": "Stripe Checkout 支付未完成,等待异步结果 trade_no=%s payment_status=%s client_ip=%s",
"Stripe async payment failed but local order not found trade_no=%s client_ip=%s": "Stripe 异步支付失败但本地订单不存在 trade_no=%s client_ip=%s",
"Stripe async payment failed but order not pending, ignored trade_no=%s status=%s client_ip=%s": "Stripe 异步支付失败但订单状态非 pending,忽略处理 trade_no=%s status=%s client_ip=%s",
"Stripe async payment failed but order payment gateway mismatch trade_no=%s payment_provider=%s client_ip=%s": "Stripe 异步支付失败但订单支付网关不匹配 trade_no=%s payment_provider=%s client_ip=%s",
"Stripe async payment failed event missing order number client_ip=%s": "Stripe 异步支付失败事件缺少订单号 client_ip=%s",
"Stripe async payment failed trade_no=%s client_ip=%s": "Stripe 异步支付失败 trade_no=%s client_ip=%s",
"Stripe async payment succeeded trade_no=%s client_ip=%s": "Stripe 异步支付成功 trade_no=%s client_ip=%s",
"Stripe checkout.completed has unexpected status, ignored trade_no=%s status=%s client_ip=%s": "Stripe checkout.completed 状态异常,忽略处理 trade_no=%s status=%s client_ip=%s",
"Stripe checkout.expired has unexpected status, ignored trade_no=%s status=%s": "Stripe checkout.expired 状态异常,忽略处理 trade_no=%s status=%s",
"Stripe checkout.expired missing order number": "Stripe checkout.expired 缺少订单号",
"Stripe failed to create Checkout Session user_id=%d trade_no=%s amount=%d error=%q": "Stripe 创建 Checkout Session 失败 user_id=%d trade_no=%s amount=%d error=%q",
"Stripe failed to create subscription payment link trade_no=%s plan_id=%d error=%q": "Stripe 订阅支付链接创建失败 trade_no=%s plan_id=%d error=%q",
"Stripe failed to create top-up order user_id=%d trade_no=%s amount=%d error=%q": "Stripe 创建充值订单失败 user_id=%d trade_no=%s amount=%d error=%q",
"Stripe failed to mark top-up order as failed trade_no=%s client_ip=%s error=%q": "Stripe 标记充值订单失败状态失败 trade_no=%s client_ip=%s error=%q",
"Stripe order completion missing order number client_ip=%s": "Stripe 完成订单时缺少订单号 client_ip=%s",
"Stripe subscription order expired trade_no=%s": "Stripe 订阅订单已过期 trade_no=%s",
"Stripe subscription order expiry processing failed trade_no=%s error=%q": "Stripe 订阅订单过期处理失败 trade_no=%s error=%q",
"Stripe subscription order processed trade_no=%s event_type=%s client_ip=%s": "Stripe 订阅订单处理成功 trade_no=%s event_type=%s client_ip=%s",
"Stripe subscription order processing failed trade_no=%s event_type=%s client_ip=%s error=%q": "Stripe 订阅订单处理失败 trade_no=%s event_type=%s client_ip=%s error=%q",
"Stripe top-up order created user_id=%d trade_no=%s amount=%d money=%.2f": "Stripe 充值订单创建成功 user_id=%d trade_no=%s amount=%d money=%.2f",
"Stripe top-up order expired trade_no=%s": "Stripe 充值订单已过期 trade_no=%s",
"Stripe top-up order expiry processing failed trade_no=%s error=%q": "Stripe 充值订单过期处理失败 trade_no=%s error=%q",
"Stripe top-up order marked as failed trade_no=%s client_ip=%s": "Stripe 充值订单已标记为失败 trade_no=%s client_ip=%s",
"Stripe top-up order not found, cannot mark as expired trade_no=%s": "Stripe 充值订单不存在,无法标记过期 trade_no=%s",
"Stripe top-up processing failed trade_no=%s event_type=%s client_ip=%s error=%q": "Stripe 充值处理失败 trade_no=%s event_type=%s client_ip=%s error=%q",
"Stripe top-up succeeded trade_no=%s amount_total=%.2f currency=%s event_type=%s client_ip=%s": "Stripe 充值成功 trade_no=%s amount_total=%.2f currency=%s event_type=%s client_ip=%s",
"Stripe webhook failed to read request body path=%q client_ip=%s error=%q": "Stripe webhook 读取请求体失败 path=%q client_ip=%s error=%q",
"Stripe webhook ignored event event_type=%s client_ip=%s": "Stripe webhook 忽略事件 event_type=%s client_ip=%s",
"Stripe webhook received request path=%q client_ip=%s signature=%q body=%q": "Stripe webhook 收到请求 path=%q client_ip=%s signature=%q body=%q",
"Stripe webhook rejected reason=webhook_disabled path=%q client_ip=%s": "Stripe webhook 被拒绝 reason=webhook_disabled path=%q client_ip=%s",
"Stripe webhook signature verification failed path=%q client_ip=%s error=%q": "Stripe webhook 验签失败 path=%q client_ip=%s error=%q",
"Stripe webhook signature verified event_type=%s client_ip=%s path=%q": "Stripe webhook 验签成功 event_type=%s client_ip=%s path=%q",
"Successfully migrated %s.%s to decimal(10,6)": "字段 %s.%s 的类型已改为 decimal(10,6)",
"Successfully migrated %s.%s to text": "字段 %s.%s 的类型已改为 text",
"Task %s CAS lost or no-op update, skip billing": "任务 %s 的状态已由其他进程更新或没有变化,跳过计费",
"Task %s failed": "任务 %s 失败",
"Task %s failed: %s": "任务 %s 失败: %s",
"Task %s not found in taskM": "任务 %s 不在本次轮询的任务列表中",
"Token has IP restrictions, checking client IP %s": "令牌设置了 IP 白名单,检查客户端 IP %s",
"TokenAuth GetUserCache error for user %d: %v": "TokenAuth GetUserCache 获取用户 %d 出错: %v",
"TokenAuth ValidateUserToken database error: %s": "TokenAuth ValidateUserToken 数据库出错: %s",
"TokenAuthReadOnly GetTokenByKey database error: %s": "TokenAuthReadOnly GetTokenByKey 数据库出错: %s",
"TokenAuthReadOnly GetUserCache error for user %d: %v": "TokenAuthReadOnly GetUserCache 获取用户 %d 出错: %v",
"Truncate abilities failed: %s": "修复渠道一致性: 清空 abilities 表失败: %s",
"Trying to read %d bytes to determine file type": "读取前 %d 字节来判断文件类型",
"USER_SESSION_ISSUANCE_WINDOW_SECONDS exceeds revoked retention; configured_window_seconds=%d revoked_retention_seconds=%d effective_window_seconds=%d": "USER_SESSION_ISSUANCE_WINDOW_SECONDS 大于已吊销会话的保留时长,已按保留时长生效: configured_window_seconds=%d revoked_retention_seconds=%d effective_window_seconds=%d",
"USER_SESSION_REVOKED_RETENTION_DAYS is too large, using default value: %d": "USER_SESSION_REVOKED_RETENTION_DAYS 的值过大,已使用默认值: %d",
"UpdateBatchTasks fail: %s": "UpdateBatchTasks 失败: %s",
"UpdateMidjourneyTask error: %v": "UpdateMidjourneyTask 出错: %v",
"UpdateMidjourneyTask task error: %s": "UpdateMidjourneyTask 更新任务出错: %s",
"UpdateSunoTask error: %v": "UpdateSunoTask 出错: %v",
"UpdateSunoTask task error: %s": "UpdateSunoTask 更新任务出错: %s",
"UpdateVideoTask error: %v": "UpdateVideoTask 出错: %v",
"UpdateVideoTasks fail: %s": "UpdateVideoTasks 失败: %s",
"UpdateWithStatus failed for task %s: %s": "更新任务 %s 的状态失败 (UpdateWithStatus): %s",
"UpsertPasskeyCredential: failed to create credential for user %d: %v": "UpsertPasskeyCredential: 为用户 %d 创建凭证失败: %v",
"UpsertPasskeyCredential: failed to delete existing credential for user %d: %v": "UpsertPasskeyCredential: 删除用户 %d 的现有凭证失败: %v",
"ValidateUserToken: failed to get token: %s": "ValidateUserToken: 获取令牌失败: %s",
"WARNING: SESSION_SECRET is set to the default value 'random_string', please change it to a random string.": "警告:SESSION_SECRET被设置为默认值'random_string',请修改为随机字符串。",
"WARNING: TRUSTED_PROXIES is unset or blank; trusting loopback, RFC 1918, and IPv6 ULA proxy addresses for compatibility. Set TRUSTED_PROXIES=none to trust no proxies, or configure explicit proxy IPs/CIDRs to replace these defaults.": "警告:TRUSTED_PROXIES 未设置或为空。为兼容已有部署,来自回环地址、RFC 1918 内网地址和 IPv6 ULA 地址的代理会被信任。设置 TRUSTED_PROXIES=none 表示任何代理都不信任,也可以填写代理的 IP 或 CIDR 来替换这组默认值。",
"Waffo Pancake failed to create checkout session user_id=%d trade_no=%s error=%q": "Waffo Pancake 创建结账会话失败 user_id=%d trade_no=%s error=%q",
"Waffo Pancake failed to create plan product store_id=%q name=%q amount=%q error=%q": "Waffo Pancake 创建套餐产品失败 store_id=%q name=%q amount=%q error=%q",
"Waffo Pancake failed to create store and product orphan_store=%t store_id=%q error=%q": "Waffo Pancake 创建店铺与产品失败 orphan_store=%t store_id=%q error=%q",
"Waffo Pancake failed to create subscription checkout session user_id=%d plan_id=%d trade_no=%s error=%q": "Waffo Pancake 订阅结账会话创建失败 user_id=%d plan_id=%d trade_no=%s error=%q",
"Waffo Pancake failed to create subscription order user_id=%d plan_id=%d trade_no=%s error=%q": "Waffo Pancake 订阅订单创建失败 user_id=%d plan_id=%d trade_no=%s error=%q",
"Waffo Pancake failed to create top-up order user_id=%d trade_no=%s amount=%d error=%q": "Waffo Pancake 创建充值订单失败 user_id=%d trade_no=%s amount=%d error=%q",
"Waffo Pancake failed to fetch store and product catalog error=%q": "Waffo Pancake 拉取店铺与产品目录失败 error=%q",
"Waffo Pancake failed to fetch subscription product list store_id=%q error=%q": "Waffo Pancake 拉取订阅产品列表失败 store_id=%q error=%q",
"Waffo Pancake failed to save config store_id=%q product_id=%q error=%q": "Waffo Pancake 保存配置失败 store_id=%q product_id=%q error=%q",
"Waffo Pancake subscription completed trade_no=%s event_id=%s order_id=%s client_ip=%s": "Waffo Pancake 订阅完成 trade_no=%s event_id=%s order_id=%s client_ip=%s",
"Waffo Pancake subscription completion failed trade_no=%s event_id=%s order_id=%s client_ip=%s error=%q": "Waffo Pancake 订阅完成失败 trade_no=%s event_id=%s order_id=%s client_ip=%s error=%q",
"Waffo Pancake subscription order created user_id=%d plan_id=%d trade_no=%s session_id=%s money=%.2f": "Waffo Pancake 订阅订单创建成功 user_id=%d plan_id=%d trade_no=%s session_id=%s money=%.2f",
"Waffo Pancake top-up order created user_id=%d trade_no=%s session_id=%s amount=%d money=%.2f": "Waffo Pancake 充值订单创建成功 user_id=%d trade_no=%s session_id=%s amount=%d money=%.2f",
"Waffo Pancake top-up processing failed trade_no=%s event_id=%s order_id=%s client_ip=%s error=%q": "Waffo Pancake 充值处理失败 trade_no=%s event_id=%s order_id=%s client_ip=%s error=%q",
"Waffo Pancake top-up succeeded trade_no=%s event_id=%s order_id=%s client_ip=%s": "Waffo Pancake 充值成功 trade_no=%s event_id=%s order_id=%s client_ip=%s",
"Waffo Pancake webhook env mismatch expected=%q actual_mode=%q event_id=%s order_id=%s client_ip=%s": "Waffo Pancake webhook 环境不匹配 expected=%q actual_mode=%q event_id=%s order_id=%s client_ip=%s",
"Waffo Pancake webhook failed to read request body path=%q client_ip=%s error=%q": "Waffo Pancake webhook 读取请求体失败 path=%q client_ip=%s error=%q",
"Waffo Pancake webhook failed to resolve order event_id=%s order_id=%s buyer_identity=%q client_ip=%s error=%q": "Waffo Pancake webhook 订单解析失败 event_id=%s order_id=%s buyer_identity=%q client_ip=%s error=%q",
"Waffo Pancake webhook failed to resolve subscription order event_id=%s order_id=%s buyer_identity=%q client_ip=%s error=%q": "Waffo Pancake webhook 订阅订单解析失败 event_id=%s order_id=%s buyer_identity=%q client_ip=%s error=%q",
"Waffo Pancake webhook invalid env path segment env=%q path=%q client_ip=%s": "Waffo Pancake webhook 路径环境段无效 env=%q path=%q client_ip=%s",
"Waffo Pancake webhook received request path=%q client_ip=%s signature=%q body=%q": "Waffo Pancake webhook 收到请求 path=%q client_ip=%s signature=%q body=%q",
"Waffo Pancake webhook rejected reason=webhook_disabled path=%q client_ip=%s": "Waffo Pancake webhook 被拒绝 reason=webhook_disabled path=%q client_ip=%s",
"Waffo Pancake webhook signature verification failed path=%q client_ip=%s signature=%q body=%q error=%q": "Waffo Pancake webhook 验签失败 path=%q client_ip=%s signature=%q body=%q error=%q",
"Waffo Pancake webhook signature verified event_type=%s event_id=%s order_id=%s client_ip=%s": "Waffo Pancake webhook 验签成功 event_type=%s event_id=%s order_id=%s client_ip=%s",
"Waffo SDK initialization failed user_id=%d trade_no=%s error=%q": "Waffo SDK 初始化失败 user_id=%d trade_no=%s error=%q",
"Waffo failed to create order user_id=%d trade_no=%s error=%q": "Waffo 创建订单失败 user_id=%d trade_no=%s error=%q",
"Waffo failed to create top-up order user_id=%d trade_no=%s amount=%d error=%q": "Waffo 创建充值订单失败 user_id=%d trade_no=%s amount=%d error=%q",
"Waffo failed to mark order as failed trade_no=%s error=%q": "Waffo 标记失败订单状态失败 trade_no=%s error=%q",
"Waffo failed to parse payment callback payload event_type=%s client_ip=%s error=%q body=%q": "Waffo 支付回调载荷解析失败 event_type=%s client_ip=%s error=%q body=%q",
"Waffo invalid payment method index user_id=%d pay_method_index=%d method_count=%d": "Waffo 支付方式索引无效 user_id=%d pay_method_index=%d method_count=%d",
"Waffo invalid payment method user_id=%d pay_method_type=%s pay_method_name=%q": "Waffo 支付方式无效 user_id=%d pay_method_type=%s pay_method_name=%q",
"Waffo order creation rejected user_id=%d trade_no=%s code=%s message=%q response=%q": "Waffo 创建订单业务失败 user_id=%d trade_no=%s code=%s message=%q response=%q",
"Waffo order not successful, top-up skipped trade_no=%s order_status=%s client_ip=%s": "Waffo 订单状态非成功,忽略充值 trade_no=%s order_status=%s client_ip=%s",
"Waffo top-up order created user_id=%d trade_no=%s amount=%d money=%.2f pay_method_type=%s pay_method_name=%q": "Waffo 充值订单创建成功 user_id=%d trade_no=%s amount=%d money=%.2f pay_method_type=%s pay_method_name=%q",
"Waffo top-up processing failed trade_no=%s client_ip=%s error=%q": "Waffo 充值处理失败 trade_no=%s client_ip=%s error=%q",
"Waffo top-up succeeded trade_no=%s client_ip=%s": "Waffo 充值成功 trade_no=%s client_ip=%s",
"Waffo webhook SDK initialization failed path=%q client_ip=%s error=%q": "Waffo webhook SDK 初始化失败 path=%q client_ip=%s error=%q",
"Waffo webhook failed to parse path=%q client_ip=%s error=%q body=%q": "Waffo webhook 解析失败 path=%q client_ip=%s error=%q body=%q",
"Waffo webhook failed to read request body path=%q client_ip=%s error=%q": "Waffo webhook 读取请求体失败 path=%q client_ip=%s error=%q",
"Waffo webhook ignored event event_type=%s client_ip=%s": "Waffo webhook 忽略事件 event_type=%s client_ip=%s",
"Waffo webhook received request path=%q client_ip=%s signature=%q body=%q": "Waffo webhook 收到请求 path=%q client_ip=%s signature=%q body=%q",
"Waffo webhook rejected reason=webhook_disabled path=%q client_ip=%s": "Waffo webhook 被拒绝 reason=webhook_disabled path=%q client_ip=%s",
"Waffo webhook signature verification failed path=%q client_ip=%s signature=%q body=%q": "Waffo webhook 验签失败 path=%q client_ip=%s signature=%q body=%q",
"Waffo webhook verified and parsed event_type=%s merchant_order_id=%s order_status=%s client_ip=%s": "Waffo webhook 验签并解析成功 event_type=%s merchant_order_id=%s order_status=%s client_ip=%s",
"Warning: Refresh cookie is not secure and refresh/logout Origin validation is disabled. Please set SESSION_COOKIE_SECURE=true in production.": "警告:SESSION_COOKIE_SECURE 未开启。登录 Cookie 可经 HTTP 明文传输,续期登录和退出登录接口接受任意来源(Origin)的请求。生产环境请设置 SESSION_COOKIE_SECURE=true。",
"Warning: failed to migrate %s.%s to decimal: %v": "警告:把字段 %s.%s 的类型改为 decimal 失败: %v",
"Warning: failed to query metadata for %s.%s: %v": "警告:查询字段 %s.%s 的类型信息失败: %v",
"[OAuth-Discord] ExchangeToken decode error: %s": "[OAuth-Discord] ExchangeToken 解析响应失败: %s",
"[OAuth-Discord] ExchangeToken error: %s": "[OAuth-Discord] ExchangeToken 请求失败: %s",
"[OAuth-Discord] ExchangeToken failed: empty access token": "[OAuth-Discord] ExchangeToken 失败: 响应里没有 access token",
"[OAuth-Discord] ExchangeToken response status: %d": "[OAuth-Discord] ExchangeToken 响应状态码: %d",
"[OAuth-Discord] ExchangeToken success: scope=%s": "[OAuth-Discord] ExchangeToken 成功: scope=%s",
"[OAuth-Discord] GetUserInfo decode error: %s": "[OAuth-Discord] GetUserInfo 解析响应失败: %s",
"[OAuth-Discord] GetUserInfo error: %s": "[OAuth-Discord] GetUserInfo 请求失败: %s",
"[OAuth-Discord] GetUserInfo failed: empty user fields": "[OAuth-Discord] GetUserInfo 失败: 返回的用户信息为空",
"[OAuth-Discord] GetUserInfo failed: status=%d": "[OAuth-Discord] GetUserInfo 失败: status=%d",
"[OAuth-Discord] GetUserInfo response status: %d": "[OAuth-Discord] GetUserInfo 响应状态码: %d",
"[OAuth-Discord] GetUserInfo success: uid=%s, username=%s, name=%s": "[OAuth-Discord] GetUserInfo 成功: uid=%s, username=%s, name=%s",
"[OAuth-Discord] GetUserInfo: fetching user info": "[OAuth-Discord] GetUserInfo: 开始获取用户信息",
"[OAuth-Generic-%s] ExchangeToken OAuth error: %s - %s": "[OAuth-Generic-%s] ExchangeToken 提供商返回错误: %s - %s",
"[OAuth-Generic-%s] ExchangeToken error: %s": "[OAuth-Generic-%s] ExchangeToken 请求失败: %s",
"[OAuth-Generic-%s] ExchangeToken failed: empty access token": "[OAuth-Generic-%s] ExchangeToken 失败: 响应里没有 access token",
"[OAuth-Generic-%s] ExchangeToken parse error: %s": "[OAuth-Generic-%s] ExchangeToken 解析响应失败: %s",
"[OAuth-Generic-%s] ExchangeToken read body error: %s": "[OAuth-Generic-%s] ExchangeToken 读取响应体失败: %s",
"[OAuth-Generic-%s] ExchangeToken response status: %d": "[OAuth-Generic-%s] ExchangeToken 响应状态码: %d",
"[OAuth-Generic-%s] ExchangeToken success: scope=%s": "[OAuth-Generic-%s] ExchangeToken 成功: scope=%s",
"[OAuth-Generic-%s] GetUserInfo error: %s": "[OAuth-Generic-%s] GetUserInfo 请求失败: %s",
"[OAuth-Generic-%s] GetUserInfo failed: empty user ID (field: %s)": "[OAuth-Generic-%s] GetUserInfo 失败: 用户 ID 为空 (字段: %s)",
"[OAuth-Generic-%s] GetUserInfo failed: status=%d": "[OAuth-Generic-%s] GetUserInfo 失败: status=%d",
"[OAuth-Generic-%s] GetUserInfo read body error: %s": "[OAuth-Generic-%s] GetUserInfo 读取响应体失败: %s",
"[OAuth-Generic-%s] GetUserInfo response status: %d": "[OAuth-Generic-%s] GetUserInfo 响应状态码: %d",
"[OAuth-Generic-%s] GetUserInfo success: id=%s, username=%s, name=%s, email=%s": "[OAuth-Generic-%s] GetUserInfo 成功: id=%s, username=%s, name=%s, email=%s",
"[OAuth-Generic-%s] GetUserInfo: fetching user info from %s": "[OAuth-Generic-%s] GetUserInfo: 开始从 %s 获取用户信息",
"[OAuth-Generic-%s] access denied by policy: field=%s op=%s expected=%v current=%v": "[OAuth-Generic-%s] 不满足访问策略,已拒绝登录: field=%s op=%s expected=%v current=%v",
"[OAuth-Generic-%s] invalid access policy: %s": "[OAuth-Generic-%s] 访问策略配置无效: %s",
"[OAuth-GitHub] ExchangeToken decode error: %s": "[OAuth-GitHub] ExchangeToken 解析响应失败: %s",
"[OAuth-GitHub] ExchangeToken error: %s": "[OAuth-GitHub] ExchangeToken 请求失败: %s",
"[OAuth-GitHub] ExchangeToken failed: empty access token": "[OAuth-GitHub] ExchangeToken 失败: 响应里没有 access token",
"[OAuth-GitHub] ExchangeToken response status: %d": "[OAuth-GitHub] ExchangeToken 响应状态码: %d",
"[OAuth-GitHub] ExchangeToken success: scope=%s": "[OAuth-GitHub] ExchangeToken 成功: scope=%s",
"[OAuth-GitHub] GetUserInfo decode error: %s": "[OAuth-GitHub] GetUserInfo 解析响应失败: %s",
"[OAuth-GitHub] GetUserInfo error: %s": "[OAuth-GitHub] GetUserInfo 请求失败: %s",
"[OAuth-GitHub] GetUserInfo failed: empty id or login field": "[OAuth-GitHub] GetUserInfo 失败: id 或 login 字段为空",
"[OAuth-GitHub] GetUserInfo failed: status=%d, body=%s": "[OAuth-GitHub] GetUserInfo 失败: status=%d, body=%s",
"[OAuth-GitHub] GetUserInfo response status: %d": "[OAuth-GitHub] GetUserInfo 响应状态码: %d",
"[OAuth-GitHub] GetUserInfo success: id=%d, login=%s, name=%s, email=%s": "[OAuth-GitHub] GetUserInfo 成功: id=%d, login=%s, name=%s, email=%s",
"[OAuth-GitHub] GetUserInfo: fetching user info": "[OAuth-GitHub] GetUserInfo: 开始获取用户信息",
"[OAuth-GitHub] GetVerifiedEmails decode error: %s": "[OAuth-GitHub] GetVerifiedEmails 解析响应失败: %s",
"[OAuth-GitHub] GetVerifiedEmails error: %s": "[OAuth-GitHub] GetVerifiedEmails 请求失败: %s",
"[OAuth-GitHub] GetVerifiedEmails failed: status=%d": "[OAuth-GitHub] GetVerifiedEmails 失败: status=%d",
"[OAuth-GitHub] GetVerifiedEmails success: verified=%d": "[OAuth-GitHub] GetVerifiedEmails 成功: verified=%d",
"[OAuth-LinuxDO] ExchangeToken decode error: %s": "[OAuth-LinuxDO] ExchangeToken 解析响应失败: %s",
"[OAuth-LinuxDO] ExchangeToken error: %s": "[OAuth-LinuxDO] ExchangeToken 请求失败: %s",
"[OAuth-LinuxDO] ExchangeToken failed: %s": "[OAuth-LinuxDO] ExchangeToken 失败: %s",
"[OAuth-LinuxDO] ExchangeToken response status: %d": "[OAuth-LinuxDO] ExchangeToken 响应状态码: %d",
"[OAuth-LinuxDO] ExchangeToken success": "[OAuth-LinuxDO] ExchangeToken 成功",
"[OAuth-LinuxDO] GetUserInfo decode error: %s": "[OAuth-LinuxDO] GetUserInfo 解析响应失败: %s",
"[OAuth-LinuxDO] GetUserInfo error: %s": "[OAuth-LinuxDO] GetUserInfo 请求失败: %s",
"[OAuth-LinuxDO] GetUserInfo failed: invalid user id": "[OAuth-LinuxDO] GetUserInfo 失败: 用户 id 无效",
"[OAuth-LinuxDO] GetUserInfo response status: %d": "[OAuth-LinuxDO] GetUserInfo 响应状态码: %d",
"[OAuth-LinuxDO] GetUserInfo success: id=%d, username=%s": "[OAuth-LinuxDO] GetUserInfo 成功: id=%d, username=%s",
"[OAuth-LinuxDO] GetUserInfo: trust level too low (required=%d, current=%d)": "[OAuth-LinuxDO] GetUserInfo: 信任级别不足 (required=%d, current=%d)",
"[OAuth-OIDC] ExchangeToken decode error: %s": "[OAuth-OIDC] ExchangeToken 解析响应失败: %s",
"[OAuth-OIDC] ExchangeToken error: %s": "[OAuth-OIDC] ExchangeToken 请求失败: %s",
"[OAuth-OIDC] ExchangeToken failed: empty access token": "[OAuth-OIDC] ExchangeToken 失败: 响应里没有 access token",
"[OAuth-OIDC] ExchangeToken response status: %d": "[OAuth-OIDC] ExchangeToken 响应状态码: %d",
"[OAuth-OIDC] ExchangeToken success: scope=%s": "[OAuth-OIDC] ExchangeToken 成功: scope=%s",
"[OAuth-OIDC] GetUserInfo decode error: %s": "[OAuth-OIDC] GetUserInfo 解析响应失败: %s",
"[OAuth-OIDC] GetUserInfo error: %s": "[OAuth-OIDC] GetUserInfo 请求失败: %s",
"[OAuth-OIDC] GetUserInfo failed: empty fields (sub=%s, email=%s)": "[OAuth-OIDC] GetUserInfo 失败: 字段为空 (sub=%s, email=%s)",
"[OAuth-OIDC] GetUserInfo failed: status=%d": "[OAuth-OIDC] GetUserInfo 失败: status=%d",
"[OAuth-OIDC] GetUserInfo response status: %d": "[OAuth-OIDC] GetUserInfo 响应状态码: %d",
"[OAuth-OIDC] GetUserInfo success: sub=%s, username=%s, name=%s, email=%s": "[OAuth-OIDC] GetUserInfo 成功: sub=%s, username=%s, name=%s, email=%s",
"[OAuth] Failed to load verified emails for user %d: %s": "[OAuth] 加载用户 %d 的已验证邮箱失败: %s",
"access token last-use update failed (token_id=%d): %v": "更新访问令牌最后使用时间失败 (token_id=%d): %v",
"access token route is not declared: %s": "这条路由没有声明访问令牌的访问规则,已拒绝: %s",
"admin reset subscription plan %d quota: reset_count=%d user_count=%d advance_reset_time=%t": "管理员重置了订阅套餐 %d 的额度: reset_count=%d user_count=%d advance_reset_time=%t",
"admin subscription creation": "管理员创建订阅",
"admin subscription deletion": "管理员删除订阅",
"admin subscription update": "管理员修改订阅",
"api_version not found, using default: %s": "未找到 api_version,使用默认值: %s",
"audit actor role unavailable (request_id=%s, actor_role=%d)": "无法识别审计日志的操作者角色 (request_id=%s, actor_role=%d)",
"audit log write failed (request_id=%s): %v": "审计日志写入失败 (request_id=%s): %v",
"audit log write failed (request_id=%s): log database unavailable": "审计日志写入失败 (request_id=%s): 日志数据库不可用",
"auth session internal error (%s %s): %v": "登录会话接口内部错误 (%s %s): %v",
"authorization policy %d has an unsupported legacy scope; loaded as deny; review the stored policy before granting access": "授权策略 %d 带有已不支持的旧范围设置,已按拒绝(deny)加载。放行前请先检查这条已保存的策略。",
"bad response status code %d with empty error message, body: %s": "上游返回状态码 %d,错误信息为空,响应体: %s",
"bad response status code %d, body: %s": "上游返回异常状态码 %d,响应体: %s",
"batch update enabled with interval %ss": "已启用批量更新,每 %s 秒执行一次",
"batch update finished": "批量更新完成",
"batch update overflow: type=%d id=%d old=%d value=%d": "批量更新的累加值溢出: type=%d id=%d old=%d value=%d",
"batch update started": "批量更新开始",
"billable tool count ignored: tool=%s count=%d": "工具计费次数无效,已忽略: tool=%s count=%d",
"build initial plugin router: %s": "初始化插件路由失败: %s",
"build request failed: %s": "创建请求失败: %s",
"build task plugin native submit view failed: %s": "任务插件提交响应: 构建任务数据失败: %s",
"build task protocol relay info failed: %s": "任务协议: 构建请求上下文失败: %s",
"build task protocol renderer context failed": "任务协议: 构建渲染钩子的上下文失败",
"build task protocol view failed: %s": "任务协议: 构建任务数据失败: %s",
"channel #%d failed to update async tasks: %s": "渠道 #%d 更新异步任务失败: %s",
"channel #%d has %d unfinished tasks": "渠道 #%d 未完成的任务有: %d",
"channel %d polling index: %d": "渠道 %d 的多密钥轮询位置: %d",
"channel %q (#%d) failed, disabling it, reason: %s": "通道「%s」(#%d)发生错误,准备禁用,原因:%s",
"channel %q (#%d) has automatic disabling turned off, skipping": "通道「%s」(#%d)未启用自动禁用功能,跳过禁用操作",
"channel affinity cache delete current failed: err=%v": "渠道亲和性缓存: 删除当前请求的记录失败: err=%v",
"channel affinity cache delete many failed: err=%v": "渠道亲和性缓存: 批量删除失败: err=%v",
"channel affinity cache get failed: key=%s, err=%v": "渠道亲和性缓存: 读取失败: key=%s, err=%v",
"channel affinity cache list keys failed: err=%v": "渠道亲和性缓存: 列出缓存键失败: err=%v",
"channel affinity cache set failed: key=%s, err=%v": "渠道亲和性缓存: 写入失败: key=%s, err=%v",
"channel error (channel #%d, status code: %d): %s": "渠道请求出错 (渠道 #%d,状态码 %d): %s",
"channel pin overridden: winning_source=%s winning_channel_id=%d overridden_source=%s overridden_channel_id=%d": "请求被多处指定了渠道,已按优先级采用其中一个: winning_source=%s winning_channel_id=%d overridden_source=%s overridden_channel_id=%d",
"channel test bad response: channel_id=%d name=%s type=%d model=%s endpoint_type=%s status=%d err=%v": "渠道测试响应异常: channel_id=%d name=%s type=%d model=%s endpoint_type=%s status=%d err=%v",
"channels synced from database": "已从数据库同步渠道",
"channels update done": "所有渠道的余额更新完成",
"charging the difference after pre-consume: %s (actual %s, pre-consumed %s)": "预扣费后补扣费:%s(实际消耗:%s,预扣费:%s)",
"claude response usage is not complete, maybe upstream error": "Claude 响应里的用量信息不完整,可能是上游出错",
"closed %d active websocket connection(s), channels=%v, kinds=%v, reason=%s": "已关闭 %d 个使用中的 WebSocket 连接: channels=%v, kinds=%v, reason=%s",
"codex credential auto-refresh task started: tick=%s threshold=%s": "Codex 凭证自动刷新任务已启动: tick=%s threshold=%s",
"codex credential auto-refresh: InitChannelCache panic: %v": "Codex 凭证自动刷新: InitChannelCache 发生 panic: %v",
"codex credential auto-refresh: channel_id=%d name=%s refresh failed: %v": "Codex 凭证自动刷新: channel_id=%d name=%s 刷新失败: %v",
"codex credential auto-refresh: channel_id=%d name=%s refreshed, expires_at=%s": "Codex 凭证自动刷新: channel_id=%d name=%s 已刷新,expires_at=%s",
"codex credential auto-refresh: query channels failed: %v": "Codex 凭证自动刷新: 查询渠道失败: %v",
"codex credential auto-refresh: scanned=%d refreshed=%d": "Codex 凭证自动刷新: scanned=%d refreshed=%d",
"compile task plugin %s@%s: %v": "编译任务插件 %s@%s 失败: %v",
"configure plugin router trusted proxies: %s": "为插件路由设置可信代理失败: %s",
"conversion diagnostic: code=%q severity=%q from=%q to=%q path=%q message=%q": "格式转换诊断: code=%q severity=%q from=%q to=%q path=%q message=%q",
"conversion diagnostics truncated after %d distinct entries": "格式转换诊断已达 %d 条上限,后续不再记录",
"converted embedding request body: %s": "转换后的嵌入请求体: %s",
"cpu usage too high": "CPU 使用率过高",
"creem topup": "Creem 充值",
"creem topup failed: %s": "Creem 充值失败: %s",
"dashboard authentication error: %s": "控制台登录校验出错: %s",
"data handler goroutine panic: %v": "数据处理 goroutine 发生 panic: %v",
"database migration started": "开始数据库迁移",
"do request failed: %s": "请求上游失败: %s",
"downloading file from worker: %s, reason: %s": "通过 Worker 下载文件: %s,原因: %s",
"downloading from origin: %s, reason: %s": "直接从源地址下载: %s,原因: %s",
"encode task plugin native submit view failed: %s": "任务插件提交响应: 序列化任务数据失败: %s",
"encode task protocol view failed: %s": "任务协议: 序列化任务数据失败: %s",
"epay topup": "易支付充值",
"epay topup failed: %s": "易支付充值失败: %s",
"error adjusting token quota after funding settled (userId=%d, tokenId=%d, delta=%d): %s": "资金来源已结算,调整令牌额度时出错 (userId=%d, tokenId=%d, delta=%d): %s",
"error closing websocket connection: %s": "关闭 WebSocket 连接出错: %s",
"error consuming Midjourney quota: %s": "Midjourney 扣费出错: %s",
"error converting Claude stream response: %s": "转换 Claude 流式响应出错: %s",
"error converting final Gemini stream response: %s": "转换 Gemini 流式响应的最后一段出错: %s",
"error creating Gemini stream state: %s": "初始化 Gemini 流式转换状态出错: %s",
"error finalizing Gemini stream response: %s": "生成 Gemini 流式响应的结束段出错: %s",
"error handling last response: %s, lastStreamData: [%s]": "处理最后一段流数据出错: %s, lastStreamData: [%s]",
"error handling stream format: %s": "转换并发送流数据出错: %s",
"error marshalling chats: %s": "序列化聊天配置出错: %s",
"error marshalling model ratio: %s": "序列化模型倍率出错: %s",
"error marshalling stream response: %s": "序列化流式响应出错: %s",
"error marshalling topup group ratio: %s": "序列化充值分组倍率出错: %s",
"error marshalling user groups: %s": "序列化用户分组出错: %s",
"error processing stream token data: %s": "统计流数据的 token 出错: %s",
"error reading stream response: %s": "读取流式响应出错: %s",
"error reading stream: %s": "读取流式响应出错: %s",
"error refunding billing source: %s": "退还资金来源出错: %s",
"error refunding subscription extra reserved quota: %s": "退还订阅额外预扣的额度出错: %s",
"error refunding token quota: %s": "退还令牌额度出错: %s",
"error rolling back subscription funding reserve: %s": "回滚订阅预扣额度出错: %s",
"error rolling back token quota (userId=%d, tokenId=%d, amount=%d, fundingErr=%s): %s": "回滚令牌额度出错 (userId=%d, tokenId=%d, amount=%d, fundingErr=%s): %s",
"error rolling back wallet funding reserve: %s": "回滚钱包预扣额度出错: %s",
"error sending final Gemini stream response: %s": "发送 Gemini 流式响应的最后一段出错: %s",
"error sending finalized Gemini stream response: %s": "发送 Gemini 流式响应的结束段出错: %s",
"error sending stream response: %s": "发送流式响应出错: %s",
"error settling Midjourney quota: %s": "Midjourney 结算出错: %s",
"error settling billing: %s": "计费结算出错: %s",
"error unmarshalling stream response: %s": "解析流式响应出错: %s",
"error: %s": "错误: %s",
"error_rendering_final_usage_response: %s": "发送用量数据出错: %s",
"error_rendering_stream_response: %s": "发送流式响应出错: %s",
"error_scanning_stream_response: %s": "读取流式响应出错: %s",
"error_unmarshalling_stream_response: %s": "解析流式响应出错: %s",
"expected Claude stream responses, got %T": "这里需要 Claude 流式响应,实际类型是 %T",
"fail to decode image config(gif, jpg, png): %s": "解析图片头信息失败 (gif, jpg, png): %s",
"fail to decode image config(webp): %s": "解析图片头信息失败 (webp): %s",
"fail to get file type from url: %s, error: %s": "获取文件类型失败,URL: %s,错误: %s",
"fail to get image from url: %s": "下载图片失败: %s",
"failed to add user field: %s": "写入表单字段 user 失败: %s",
"failed to adjust funding for the difference, task %s: %s": "差额结算资金调整失败 task %s: %s",
"failed to adjust token quota (delta=%d, task=%s): %s": "调整令牌额度失败 (delta=%d, task=%s): %s",
"failed to batch update token quota: %s": "批量更新令牌额度失败: %s",
"failed to batch update user quota, used quota and request count: %s": "批量更新用户额度、已用额度和请求次数失败: %s",
"failed to bind upstream request: %s": "解析上游倍率同步的请求参数失败: %s",
"failed to cache refresh-reuse session revoke: %s": "刷新令牌被重复使用,会话已吊销,写入缓存失败: %s",
"failed to charge violation fee: %s": "违规扣费失败: %s",
"failed to check channel status before closing active websockets: channel_id=%d, error=%v": "关闭 WebSocket 连接前查询渠道状态失败: channel_id=%d, error=%v",
"failed to check notification limit: %s": "检查通知频率限制失败: %s",
"failed to check the successful request limit: %s": "检查成功请求数限制失败: %s",
"failed to check the total request limit: %s": "检查总请求数限制失败: %s",
"failed to cleanup expired perf metrics: %s": "清理过期性能指标失败: %s",
"failed to clone channel: %s": "复制渠道失败: %s",
"failed to close database: %s": "关闭数据库失败: %s",
"failed to close response body: %s": "关闭响应体失败: %s",
"failed to compensate reserved token quota: result=%d error=%v": "回补缓存中已预扣的令牌额度失败: result=%d error=%v",
"failed to compensate reserved user quota: result=%d error=%v": "回补缓存中已预扣的用户额度失败: result=%d error=%v",
"failed to configure trusted proxies: %s": "设置可信代理失败: %s",
"failed to copy file content: %s": "复制文件内容失败: %s",
"failed to copy response body: %s": "复制响应体失败: %s",
"failed to count backup codes: %s": "获取备用码数量失败: %s",
"failed to count channel types: %s": "统计渠道类型失败: %s",
"failed to count channels: %s": "统计渠道数量失败: %s",
"failed to count hourly user session issuance: %s": "统计近一小时新建的登录会话数失败: %s",
"failed to count search tokens: %s": "统计令牌搜索结果数量失败: %s",
"failed to count search topups: %s": "统计充值记录搜索结果数量失败: %s",
"failed to count tags: %s": "统计标签数量失败: %s",
"failed to count user logs: %s": "统计用户日志数量失败: %s",
"failed to count user tokens: %s": "统计用户令牌数量失败: %s",
"failed to create disk storage, falling back to memory: %v": "请求体写入磁盘失败,改为保存在内存: %v",
"failed to create form file: %s": "创建表单文件失败: %s",
"failed to create request: %s": "创建请求失败: %s",
"failed to create setup record: %s": "创建系统初始化记录失败: %s",
"failed to create temp file: %s": "创建临时文件失败: %s",
"failed to create the pprof directory: %s": "创建pprof文件夹失败 %s",
"failed to create the pprof file: %s": "创建pprof文件失败 %s",
"failed to decode base64: %s": "base64 解码失败: %s",
"failed to decode response: %s": "解析响应失败: %s",
"failed to decrease token quota: %s": "扣减令牌额度失败: %s",
"failed to decrease user quota cache after subscription balance purchase: %s": "余额购买订阅后,扣减用户额度缓存失败: %s",
"failed to decrease user quota: %s": "扣减用户额度失败: %s",
"failed to delete expired access tokens: %s": "清理过期的访问令牌失败: %s",
"failed to delete expired authentication flows: %s": "清理过期的登录验证流程失败: %s",
"failed to delete expired user sessions: %s": "清理过期的登录会话失败: %s",
"failed to delete old revoked user sessions: %s": "清理超过保留期的已吊销会话失败: %s",
"failed to download file from %s, status code: %d": "从 %s 下载文件失败,状态码: %d",
"failed to encode log admin info: %s": "序列化日志的 admin_info 失败: %s",
"failed to fetch codex reset credits": "获取 Codex 重置次数失败",
"failed to fetch codex usage": "获取 Codex 用量失败",
"failed to finalize bulk user session revoke tombstone: %s": "批量吊销会话后,写入吊销缓存失败: %s",
"failed to finalize refresh-authenticated session revoke tombstone: %s": "按刷新令牌吊销会话后,写入吊销缓存失败: %s",
"failed to finalize user session revoke tombstone: %s": "吊销会话后,写入吊销缓存失败: %s",
"failed to flush perf metric bucket model=%s group=%s bucket=%d: %s": "保存性能指标失败 model=%s group=%s bucket=%d: %s",
"failed to generate backup codes: %s": "生成备用码失败: %s",
"failed to generate the default sidebar config: %s": "生成默认边栏配置失败: %s",
"failed to generate token key: %s": "生成令牌密钥失败: %s",
"failed to get audio duration: %v": "获取音频时长失败: %v",
"failed to get channel by id: %s": "按 ID 查询渠道失败: %s",
"failed to get channels by tag: %s": "按标签查询渠道失败: %s",
"failed to get channels: %s": "查询渠道失败: %s",
"failed to get paginated tags: %s": "分页查询标签失败: %s",
"failed to get token by key: %s": "按密钥查询令牌失败: %s",
"failed to get token key (tokenId=%d, task=%s): %s": "获取令牌 key 失败 (tokenId=%d, task=%s): %s",
"failed to get user quota: %s": "查询用户额度失败: %s",
"failed to increase token quota: %s": "增加令牌额度失败: %s",
"failed to increase user quota: %s": "增加用户额度失败: %s",
"failed to init token cache: %s": "初始化令牌缓存失败: %s",
"failed to initialize authorization: %s": "初始化权限控制失败: %s",
"failed to initialize database: %s": "初始化数据库失败: %s",
"failed to initialize i18n: %s": "初始化 i18n 失败: %s",
"failed to initialize password encryption: %s": "初始化密码加密失败: %s",
"failed to initialize resources: %s": "初始化资源失败: %s",
"failed to insert redemption: %s": "保存兑换码失败: %s",
"failed to invalidate token cache after hard deleting user %d: %v": "永久删除用户 %d 后清除令牌缓存失败: %v",
"failed to invalidate token cache before batch delete: %s": "批量删除令牌前清除缓存失败: %s",
"failed to invalidate token cache before delete: %s": "删除令牌前清除缓存失败: %s",
"failed to invalidate token cache before status update: %s": "更新令牌状态前清除缓存失败: %s",
"failed to invalidate token cache before update: %s": "更新令牌前清除缓存失败: %s",
"failed to invalidate tokens cache for user %d: %s": "清除用户 %d 的令牌缓存失败: %s",
"failed to invalidate user cache after hard deleting user %d: %v": "永久删除用户 %d 后清除用户缓存失败: %v",
"failed to load custom OAuth providers: %s": "加载自定义 OAuth 提供商失败: %s",
"failed to load tool prices, using hardcoded fallbacks: %s": "加载工具价格失败,将使用硬编码兜底: %s",
"failed to marshal gemini response: %s": "序列化 Gemini 响应失败: %s",
"failed to marshal log other: %s": "序列化日志 other 字段失败: %s",
"failed to marshal other info: channel_id=%d, tag=%s, name=%s, error=%v": "序列化渠道的 other_info 失败: channel_id=%d, tag=%s, name=%s, error=%v",
"failed to marshal setting: %s": "序列化用户设置失败: %s",
"failed to marshal setting: channel_id=%d, error=%v": "序列化渠道设置失败: channel_id=%d, error=%v",
"failed to migrate options primary key: %s": "为 options 表补主键失败: %s",
"failed to migrate retired frontend options: %s": "迁移旧前端的配置项失败: %s",
"failed to open log file": "打开日志文件失败",
"failed to parse %s: %s, using default value: %d": "环境变量 %s 解析失败: %s,已使用默认值: %d",
"failed to parse %s: %s, using default value: %t": "环境变量 %s 解析失败: %s,已使用默认值: %t",
"failed to parse CHANNEL_UPDATE_FREQUENCY: %s": "解析 CHANNEL_UPDATE_FREQUENCY 失败: %s",
"failed to parse Redis connection string: %s": "解析 Redis 连接字符串失败: %s",
"failed to parse auto groups for token %d: %v": "解析令牌 %d 的 Auto 分组失败: %v",
"failed to parse oauth key: %s": "解析渠道的 OAuth 凭证失败: %s",
"failed to populate newly created user session cache: %s": "新建登录会话后写入缓存失败: %s",
"failed to publish auth tombstone after hard deleting user %d: %v": "永久删除用户 %d 后发布登录失效通知失败: %v",
"failed to publish websocket close event: %v": "向其他节点广播 WebSocket 关闭事件失败: %v",
"failed to query administrators to notify: %s": "查询需要通知的管理员失败: %s",
"failed to query channels: %s": "查询渠道失败: %s",
"failed to query log stat: %s": "查询日志统计失败: %s",
"failed to query rpm/tpm stat: %s": "查询 rpm/tpm 统计失败: %s",
"failed to read TTS response body: %v": "读取 TTS 响应体失败: %v",
"failed to record log: %s": "记录日志失败: %s",
"failed to record task billing log: %s": "记录任务计费日志失败: %s",
"failed to record topup log: %s": "记录充值日志失败: %s",
"failed to redeem key %s for user %d: %s": "用户 %[2]d 使用兑换码 %[1]s 兑换失败: %[3]s",
"failed to refresh codex channel credential: %s": "刷新 Codex 渠道凭证失败: %s",
"failed to refresh user group cache after %s for user %d: %v": "刷新用户 %[2]d 的分组缓存失败(操作: %[1]s): %[3]v",
"failed to refund Midjourney token quota, task %s: %s": "退还 Midjourney 令牌额度失败 task %s: %s",
"failed to refund Midjourney user quota, task %s: %s": "退还 Midjourney 用户额度失败 task %s: %s",
"failed to refund the funding source, task %s: %s": "退还资金来源失败 task %s: %s",
"failed to reload authz policy: %s": "重新加载授权策略失败: %s",
"failed to reset codex usage": "重置 Codex 用量失败",
"failed to save backup codes: %s": "保存备用码失败: %s",
"failed to search tokens: %s": "搜索令牌失败: %s",
"failed to search topups: %s": "搜索充值记录失败: %s",
"failed to search user logs: %s": "搜索用户日志失败: %s",
"failed to send email to %s: %v": "向 %s 发送邮件失败: %v",
"failed to send notice %s to user %d: %s": "向用户 %[2]d 发送通知 %[1]s 失败: %[3]s",
"failed to send password reset email to %s: %s": "向 %s 发送密码重置邮件失败: %s",
"failed to send quota notify to user %d: %s": "向用户 %d 发送额度通知失败: %s",
"failed to send request: %s": "发送请求失败: %s",
"failed to send subscription quota notify to user %d: %s": "向用户 %d 发送订阅额度通知失败: %s",
"failed to serialize VideoUrls: %v": "序列化 VideoUrls 失败: %v",
"failed to start HTTP server: %s": "HTTP 服务启动失败: %s",
"failed to start pprof: %s": "启动pprof失败 %s",
"failed to sync %s credit to user quota cache: %s": "把到账额度同步到用户额度缓存失败(操作: %s): %s",
"failed to sync manual quota adjustment for user %d: %s": "把用户 %d 的手动调额同步到缓存失败: %s",
"failed to synchronously populate user cache: %s": "同步写入用户缓存失败: %s",
"failed to synchronously populate user session cache: %s": "同步写入用户会话缓存失败: %s",
"failed to unmarshal Claude stream event: %s": "解析 Claude 流事件失败: %s",
"failed to unmarshal buffered responses stream event: %s": "解析已缓冲的 Responses 流事件失败: %s",
"failed to unmarshal chat stream response: %s": "解析 Chat 流式响应失败: %s",
"failed to unmarshal header override: channel_id=%d, error=%v": "解析渠道的请求头覆盖失败: channel_id=%d, error=%v",
"failed to unmarshal other info: channel_id=%d, tag=%s, name=%s, error=%v": "解析渠道的 other_info 失败: channel_id=%d, tag=%s, name=%s, error=%v",
"failed to unmarshal param override: channel_id=%d, error=%v": "解析渠道的参数覆盖失败: channel_id=%d, error=%v",
"failed to unmarshal responses stream event: %s": "解析 Responses 流事件失败: %s",
"failed to unmarshal setting: %s": "解析用户设置失败: %s",
"failed to unmarshal setting: channel_id=%d, error=%v": "解析渠道设置失败: channel_id=%d, error=%v",
"failed to unmarshal stream response: %s": "解析流式响应失败: %s",
"failed to unmarshal user: %s": "解析 user 失败: %s",
"failed to unmarshal websocket close event: %v": "解析 WebSocket 关闭事件失败: %v",
"failed to update abilities: channel_id=%d, tag=%s, error=%v": "更新渠道的 abilities 记录失败: channel_id=%d, tag=%s, error=%v",
"failed to update ability status: channel_id=%d, error=%v": "更新渠道的 abilities 状态失败: channel_id=%d, error=%v",
"failed to update balance: channel_id=%d, error=%v": "更新余额失败: channel_id=%d, error=%v",
"failed to update channel status: channel_id=%d, status=%d, error=%v": "更新渠道状态失败: channel_id=%d, status=%d, error=%v",
"failed to update channel used quota: channel_id=%d, delta_quota=%d, error=%v": "更新渠道已用额度失败: channel_id=%d, delta_quota=%d, error=%v",
"failed to update config %s: %s": "更新配置 %s 失败: %s",
"failed to update multi-key status: channel_id=%d, using key not found": "更新多密钥状态失败: channel_id=%d,密钥列表里找不到本次使用的密钥",
"failed to update option map: %s": "加载配置项失败: %s",
"failed to update response time: channel_id=%d, error=%v": "更新响应时间失败: channel_id=%d, error=%v",
"failed to update rotated user session cache: %s": "续期登录后更新会话缓存失败: %s",
"failed to update token status%s": "更新令牌状态失败: %s",
"failed to update user group cache: %s": "更新用户分组缓存失败: %s",
"failed to update user last_login_at: %s": "更新用户最后登录时间失败: %s",
"failed to update user name cache: %s": "更新用户名缓存失败: %s",
"failed to update user setting cache: %s": "更新用户设置缓存失败: %s",
"failed to update user used quota and request count: %s": "更新用户已用额度和请求次数失败: %s",
"failed to update user used quota: %s": "更新用户已用额度失败: %s",
"failed to validate cloned channel: %s": "复制出的渠道未通过校验: %s",
"failed to write TTS response: %v": "写入 TTS 响应失败: %v",
"failed to write back the settled task quota, task %s: %s": "差额结算回写 quota 失败 task %s: %s",
"failed to write stream data: %s": "写入流数据失败: %s",
"failed to write to temp file: %s": "写入临时文件失败: %s",
"final group ratio: %f": "最终分组倍率: %f",
"final group: %s": "最终使用的分组: %s",
"getAndValidateTextRequest failed: %s": "getAndValidateTextRequest 失败: %s",
"get_channel_null: %s": "查询渠道失败: %s",
"group ratio not found: %s": "未找到分组倍率: %s",
"hourly user session issuance exceeded alert threshold: count=%d threshold=%d window_seconds=%d": "近一小时新建的登录会话数超过告警阈值: count=%d threshold=%d window_seconds=%d",
"http error on %s: %s": "请求 %s 出错: %s",
"http transport negotiated: host=%s protocol=%s shards=%d policy=%s negotiated=%s": "HTTP 连接协商结果: host=%s protocol=%s shards=%d policy=%s negotiated=%s",
"http transport select: host=%s protocol=%s shards=%d policy=%s": "HTTP 连接选择: host=%s protocol=%s shards=%d policy=%s",
"http transport: host=%s protocol=%s shard=%d/%d policy=%s negotiated=%s": "HTTP 连接: host=%s protocol=%s shard=%d/%d policy=%s negotiated=%s",
"i18n initialized with languages: %s": "i18n 已初始化,语言: %s",
"image request body: %s": "图片请求体: %s",
"image token input: format=%s, width=%d, height=%d": "计算图片 token: format=%s, width=%d, height=%d",
"increaseQuotaData error: %s": "increaseQuotaData 出错: %s",
"initialize legacy access token deadline: %s": "设置旧访问令牌的停用时间失败: %s",
"initialized the sidebar config for new user %s (role: %d)": "为新用户 %s (角色: %d) 初始化边栏配置",
"insert task error: %s": "保存任务失败: %s",
"invalid SQL_SLOW_THRESHOLD_MS %d (allowed 0-%d, 0 disables slow query log), using default %d": "SQL_SLOW_THRESHOLD_MS=%d 超出范围(可填 0 到 %d,0 表示关闭慢查询日志),已使用默认值 %d",
"invalid access token scopes: %s": "访问令牌的作用域无效: %s",
"invalid channel http transport setting clamped: %s=%q": "渠道的 HTTP 连接设置超出范围,已调整为允许的值: %s=%q",
"invalid image cache token breakdown; using aggregate cache billing": "图片缓存 token 的分项数据无效,按缓存 token 总量计费",
"invalid image stream response": "图片流式响应无效",
"invalid request policy: %s": "请求策略无效: %s",
"invalid response or response body": "上游响应为空或没有响应体",
"invalid task artifact store configuration: %s; using upstream mode": "任务制品存储配置无效: %s,改用 upstream 模式",
"invalid thinking_model_blacklist regex %q: %v": "thinking_model_blacklist 正则 %q 无效: %v",
"invalid thinking_model_blacklist regex %q: pattern is empty": "thinking_model_blacklist 正则 %q 无效: 表达式为空",
"invalid zhipu key: %s": "智谱密钥格式无效: %s",
"json decode failed from %s: %s": "解析 %s 返回的 JSON 失败: %s",
"json marshal failed: %s": "JSON 序列化失败: %s",
"legacy Uptime Kuma options were not migrated: %v": "旧的 Uptime Kuma 配置迁移失败: %v",
"legacy Uptime Kuma options were not migrated: both URL and slug are required": "旧的 Uptime Kuma 配置没有迁移: URL 和 slug 都需要填写",
"legacy option %s was not migrated: %v": "旧配置项 %s 迁移失败: %v",
"legacy proxy URL suffix ignored at runtime: scheme=%s host=%s; update the channel proxy setting": "渠道代理地址带有旧写法的后缀,运行时已忽略: scheme=%s host=%s。请修改渠道的代理设置",
"load advanced custom channel settings error: channel_id=%d, error=%v": "加载高级自定义渠道设置出错: channel_id=%d, error=%v",
"loadFromURL: decoding image config": "loadFromURL: 解析图片头信息",
"loadFromURL: initiating download": "loadFromURL: 开始下载",
"loadFromURL: reading response body": "loadFromURL: 读取响应体",
"manual topup": "管理员补单",
"memory cache enabled": "已启用内存缓存",
"midjourney response body: %s": "Midjourney 响应体: %s",
"model %s is free, skipping pre-consume": "模型 %s 免费,跳过预扣费",
"model price not found: %s": "未找到模型价格: %s",
"model_price_helper result: %s": "model_price_helper 结果: %s",
"model_price_helper_tiered result: model=%s preConsume=%d quotaBeforeGroup=%.2f groupRatio=%.2f tier=%s": "model_price_helper_tiered 结果: model=%s preConsume=%d quotaBeforeGroup=%.2f groupRatio=%.2f tier=%s",
"models.dev parse failed from %s: %s": "解析 %s 返回的 models.dev 数据失败: %s",
"no such user %s": "用户 %s 不存在",
"no user exists, create a root user for you: username is root, password is 123456": "系统里还没有用户,已自动创建 root 账号:用户名 root,密码 123456",
"non-200 from %s: %s": "%s 返回了非 200 状态: %s",
"ollama stream json decode error: %s line=%s": "Ollama 流式响应 JSON 解析失败: %s line=%s",
"ollama stream scan error: %s": "Ollama 流式响应读取出错: %s",
"openrouter enterprise response success=false, data: %s": "OpenRouter Enterprise 响应 success=false, data: %s",
"options key %q had conflicting values; keeping the last row": "options 表的键 %q 有多行且值不同,保留最后一行的值",
"options table has duplicate pricing keys [%s]; the table is missing a primary key": "options 表缺少主键,定价配置出现重复的键 [%s]",
"panic detected: %v": "发生 panic: %v",
"panic in gopool.RelayPool: %v": "gopool.RelayPool 中发生 panic: %v",
"panic recovered in plugin route": "插件路由发生 panic,已恢复",
"passkey verification rejected: code=%s reason=%s rp_id=%q": "通行密钥验证未通过: code=%s reason=%s rp_id=%q",
"payment compliance confirmed user_id=%d ip=%s terms_version=%s confirmed_at=%d": "用户已确认支付合规条款 user_id=%d ip=%s terms_version=%s confirmed_at=%d",
"persist task background flag failed: %s": "保存任务的后台运行标记失败: %s",
"ping data error: %s": "发送 ping 数据出错: %s",
"ping data sent": "ping 数据已发送",
"ping goroutine exited": "ping goroutine 已退出",
"ping goroutine max duration reached": "ping goroutine 运行达到最长时限,已停止",
"ping goroutine panic: %v": "ping goroutine 发生 panic: %v",
"ping interval seconds: %d": "ping 间隔: %d 秒",
"pinned task plugin does not support the requested protocol form": "选定的任务插件不支持本次请求的调用方式(流式、后台或同步)",
"pprof enabled": "已启用 pprof",
"pre-consumed quota matches the actual quota, no adjustment: %s (per-request billing)": "预扣费与实际消耗一致,无需调整:%s(按次计费)",
"quota saturation on consume log: op=%s kind=%s original=%g clamped=%d user=%d model=%s": "消费日志: 额度超出上限,已按上限记录: op=%s kind=%s original=%g clamped=%d user=%d model=%s",
"rate limit check failed (key=%s): %v": "限流检查失败 (key=%s): %v",
"rate limit check failed (mark=%s): %v": "限流检查失败 (mark=%s): %v",
"read response failed from %s: %s": "读取 %s 的响应失败: %s",
"ready in %d ms": "启动完成,耗时 %d ms",
"realtime error: %s": "Realtime 出错: %s",
"realtime streaming consume quota success, quota: %d": "Realtime 扣费成功,额度: %d",
"realtime streaming localUsage: %v": "Realtime 流式 localUsage: %v",
"realtime streaming sumUsage: %v": "Realtime 流式 sumUsage: %v",
"rebuild task alias view: %s": "重建任务模型别名表失败: %s",
"rebuilt options table with primary key from %d rows into %d keys; previous rows kept in %s": "已重建 options 表并加上主键,%d 行合并成 %d 个键,重建前的数据保存在 %s",
"received [DONE], stopping scanner": "收到 [DONE],停止读取流",
"received signal: %v, shutting down...": "收到信号 %v,正在关闭服务...",
"record consume log: userId=%d, params=%s": "记录消费日志: userId=%d, params=%s",
"record error log: userId=%d, channelId=%d, modelName=%s, tokenName=%s, content=%s": "记录错误日志: userId=%d, channelId=%d, modelName=%s, tokenName=%s, content=%s",
"redemption": "兑换码兑换",
"redemption failed: %s": "兑换失败: %s",
"refund succeeded but clearing the task quota failed, task %s: %s": "退款成功但清除 task quota 失败 task %s: %s",
"refunding the difference after pre-consume: %s (actual %s, pre-consumed %s)": "预扣费后返还扣费:%s(实际消耗:%s,预扣费:%s)",
"relay error (channel #%d, status code %d): %s": "转发请求出错 (渠道 #%d,状态码 %d): %s",
"relay error: %s": "转发请求出错: %s",
"relay max idle conns per host: %d": "转发连接池每个主机的最大空闲连接数: %d",
"relay max idle conns: %d": "转发连接池的最大空闲连接数: %d",
"relay timeout seconds: %d": "转发超时: %d 秒",
"reranker response body: %s": "重排序响应体: %s",
"reserve adjusted task billing error: %s": "按调整后的任务费用补扣预扣费失败: %s",
"responses stream failed after output was delivered, billing the delivered output: %s": "Responses 流中途失败,已输出的内容照常计费: %s",
"responses websocket relay error: %s": "Responses WebSocket 转发出错: %s",
"retry: %s": "重试:%s",
"running in debug mode": "调试模式已开启",
"saved dashboard data, %d records": "保存数据看板数据成功,共保存%d条数据",
"scanner error: %s": "读取流出错: %s",
"scanner goroutine exited": "scanner goroutine 已退出",
"scanner goroutine panic: %v": "scanner goroutine 发生 panic: %v",
"send final Gemini stream response failed: %s": "发送 Gemini 流式响应的最后一段失败: %s",
"send final response failed: %s": "发送最后一段响应失败: %s",
"send_stream_response_failed: %s": "发送流式响应失败: %s",
"server exited": "服务已退出",
"server forced to shutdown: %v": "服务未能正常关闭,已强制退出: %v",
"settle task billing error: %s": "任务计费结算出错: %s",
"setup log is already working": "日志正在初始化,跳过本次调用",
"skip password reset email for %s: %s": "未向 %s 发送密码重置邮件: %s",
"skipped %d options rows with empty keys while rebuilding the primary key": "重建主键时跳过了 %d 行键为空的 options 记录",
"stacktrace from panic: %s": "panic 堆栈: %s",
"start pyroscope error : %v": "启动 pyroscope 出错: %v",
"stream ended: %s": "流式响应结束: %s",
"stream ended: %s, received=%d": "流式响应结束: %s, received=%d",
"stream event error: %v %v": "流事件报错: %v %v",
"stream scanner data: %s": "收到流数据: %s",
"streaming timeout seconds: %d": "流式超时: %d 秒",
"stripe topup": "Stripe 充值",
"subscription balance purchase": "余额购买订阅",
"subscription expiration": "订阅到期",
"subscription expire task failed: %v": "处理过期订阅失败: %v",
"subscription maintenance: reset_count=%d, expired_count=%d": "订阅维护: reset_count=%d, expired_count=%d",
"subscription payment completion": "订阅支付完成",
"subscription quota reset task failed: %v": "重置订阅额度失败: %v",
"subscription quota reset task started: tick=%s": "订阅额度重置任务已启动: tick=%s",
"sweepTimedOutTasks CAS update error for task %s: %v": "sweepTimedOutTasks: 更新任务 %s 的状态出错: %v",
"sweepTimedOutTasks: task %s already transitioned, skip": "sweepTimedOutTasks: 任务 %s 的状态已由其他进程更新,跳过",
"sweepTimedOutTasks: timed out %d tasks": "sweepTimedOutTasks: 已把 %d 个超时任务标记为失败",
"sync frequency: %d seconds": "同步间隔: %d 秒",
"syncing channels from database": "正在从数据库同步渠道",
"syncing options from database": "正在从数据库同步配置项",
"system instance report failed: %v": "上报本实例信息失败: %v",
"system is already initialized at: %s": "系统已于 %s 完成初始化",
"system is not initialized and no root user exists": "系统尚未初始化,还没有 root 用户",
"system is not initialized, but root user exists": "系统尚未初始化,但已有 root 用户",
"system task %s failed to persist result: %v": "系统任务 %s 保存结果失败: %v",
"system task %s failed to save failure state: %v": "系统任务 %s 保存失败状态时出错: %v",
"system task %s failed: %v": "系统任务 %s 失败: %v",
"system task %s lock lost": "系统任务 %s 的执行锁已失效",
"system task %s update failed: %v": "系统任务 %s 更新失败: %v",
"system task claim failed: %v": "领取系统任务失败: %v",
"system task runner query failed: %v": "查询待执行的系统任务失败: %v",
"system task runner started: runner=%s idle_interval=%s": "系统任务执行器已启动: runner=%s idle_interval=%s",
"system task scheduler active lookup failed: type=%s err=%v": "系统任务调度: 查询进行中的任务失败: type=%s err=%v",
"system task scheduler create failed: type=%s err=%v": "系统任务调度: 创建任务失败: type=%s err=%v",
"system task scheduler query failed: %v": "系统任务调度: 查询失败: %v",
"system task stale lock cleanup failed: %v": "清理系统任务的过期执行锁失败: %v",
"task %s expression settlement failed, keeping the pre-consumed quota: %v": "任务 %s 表达式结算失败,保留预扣额度: %v",
"task %s expression settlement quota was clamped: %+v": "任务 %s 表达式结算额度发生饱和: %+v",
"task %s is billed per request, skipping difference settlement": "任务 %s 按次计费,跳过差额结算",
"task %s poll %s (failures=%d, http=%d): %s": "任务 %s 轮询结果异常: %s (failures=%d, http=%d): %s",
"task %s pre-consumed quota matches the actual quota (%s, %s)": "任务 %s 预扣费准确(%s,%s)",
"task %s settles the difference: delta=%s (actual %s, pre-consumed %s, %s)": "任务 %s 差额结算:delta=%s(实际:%s,预扣:%s,%s)",
"task alias mapping cycle dropped: channel=%d key=%q": "渠道的模型映射成环,这个任务模型别名已忽略: channel=%d key=%q",
"task alias view: channel %d model_mapping: %s": "解析渠道 %d 的 model_mapping 失败,任务模型别名未包含该渠道: %s",
"task artifact S3 storage is not implemented; using upstream mode": "任务制品 S3 存储尚未实现,改用 upstream 模式",
"task billing other ratio key rejected: %s": "任务计费: 倍率键 %s 不能写入日志,已跳过",
"task immediate usage settlement failed; retaining reserved quota: %v": "任务提交即完成,按用量结算失败,保留预扣额度: %v",
"task model alias %q dropped: maps to multiple plugins %v": "任务模型别名 %q 对应多个插件 %v,已忽略",
"task plugin %s completion context failed; retaining reserved quota: %v": "任务插件 %s: 构建完成结算的上下文失败,保留预扣额度: %v",
"task plugin %s completion usage failed; retaining reserved quota: %v": "任务插件 %s: 提取完成用量失败,保留预扣额度: %v",
"task plugin %s completion usage rejected; retaining reserved quota: %v": "任务插件 %s: 返回的完成用量无效,保留预扣额度: %v",
"task plugin %s rejected invalid %s billing facts": "任务插件 %s 的 %s 钩子返回了无效的计费数据,已忽略",
"task plugin %s rejected invalid or oversized poll state": "任务插件 %s 返回的轮询状态无效或过大,未保存",
"task plugin %s rejected oversized poll state (%d bytes)": "任务插件 %s 返回的轮询状态过大(%d 字节),未保存",
"task plugin %s rejected oversized submit state (%d bytes)": "任务插件 %s 返回的提交状态过大(%d 字节),未保存",
"task plugin native submit presenter failed: %s": "任务插件提交响应: 渲染钩子执行失败: %s",
"task plugin route %s %s declares retainResult: false but returned an asynchronous result; retaining task %s": "任务插件路由 %s %s 声明了 retainResult: false,但返回的是异步结果,任务 %s 仍会保存",
"task poll auth failure channel_id=%d http=%d": "任务轮询被上游拒绝(鉴权失败) channel_id=%d http=%d",
"task poll auth failure channel_id=%d task=%s http=%d": "任务轮询被上游拒绝(鉴权失败) channel_id=%d task=%s http=%d",
"task progress polling finished": "任务进度轮询完成",
"task progress polling started": "任务进度轮询开始",
"task protocol database observation failed": "任务协议: 读取任务状态失败",
"task protocol database observation overloaded; plugin=%s task=%s": "任务协议: 读取任务状态超时,数据库繁忙 plugin=%s task=%s",
"task protocol failure event failed: %s": "任务协议: 生成失败事件出错: %s",
"task protocol failure response failed: %s": "任务协议: 生成失败响应出错: %s",
"task protocol final hook failed": "任务协议: 插件的最终响应钩子执行失败",
"task protocol final hook overloaded; plugin=%s task=%s": "任务协议: 插件运行时繁忙,最终响应钩子等待超时 plugin=%s task=%s",
"task protocol image download failed; returning the upstream URL instead of b64_json: %s": "任务协议: 图片下载失败,b64_json 改用上游 URL 返回: %s",
"task protocol image poll failed for task %s: %s": "任务协议: 轮询图片任务 %s 失败: %s",
"task protocol image render hook failed: %s": "任务协议: 插件的图片渲染钩子执行失败: %s",
"task protocol image render hook must return an object with a data array": "任务协议: 插件的图片渲染钩子需要返回带 data 数组的对象",
"task protocol render hook failed": "任务协议: 插件的渲染钩子执行失败",
"task protocol render hook overloaded; plugin=%s task=%s": "任务协议: 插件运行时繁忙,渲染钩子等待超时 plugin=%s task=%s",
"task protocol render hook slow; plugin=%s task=%s elapsed_ms=%d": "任务协议: 插件的渲染钩子执行过慢 plugin=%s task=%s elapsed_ms=%d",
"task protocol render result invalid: %s": "任务协议: 插件渲染钩子返回的结果无效: %s",
"task protocol retrieve lookup failed": "任务协议: 查询任务失败",
"task protocol retrieve render failed": "任务协议: 生成查询响应失败",
"task protocol state transition failed: %s": "任务协议: 状态切换失败: %s",
"task protocol submission returned an invalid durable outcome": "任务协议: 提交后没有得到有效的任务记录",
"task protocol terminal failure response failed: %s": "任务协议: 生成任务失败的最终响应出错: %s",
"task protocol timeout event failed: %s": "任务协议: 生成超时事件出错: %s",
"task protocol timeout response failed: %s": "任务协议: 生成超时响应出错: %s",
"testing channel #%d, response: \n%s": "测试渠道 #%d,响应: \n%s",
"testing channel %d with model %s , info %+v ": "测试渠道 %d,模型 %s,信息 %+v ",
"text request body: %s": "文本请求体: %s",
"token quota cache reserve unavailable, falling back to database: %s": "无法在缓存中预扣令牌额度,改为直接扣数据库: %s",
"tool surcharge call count clamped: tool=%s count=%d": "工具调用次数超出计费上限,按上限计费: tool=%s count=%d",
"tool surcharge call count overflow for %s": "工具 %s 的计费调用次数溢出",
"topup failed: %s": "充值失败: %s",
"topup group ratio not found: %s": "未找到充值分组倍率: %s",
"total tokens is 0, cannot consume quota, userId %d, channelId %d, tokenId %d, model %s, pre-consumed quota %d": "token 总数为 0,无法扣费,userId %d, channelId %d, tokenId %d, model %s,预扣额度 %d",
"try to decode image config with limit: %d": "读取前 %d 字节来解析图片头信息",
"unexpected content-type from %s: %s": "%s 返回的 content-type 不符合预期: %s",
"unfinished tasks found: %v": "检测到未完成的任务数有: %v",
"union is nil or unknown type": "union 为 nil 或类型未知",
"unknown tag: %v": "未知 tag: %v",
"unrecognized data format from %s: %s": "无法识别 %s 返回的数据格式: %s",
"updateVideoSingleTask parsed as new api response format: %+v": "updateVideoSingleTask 按 New API 响应格式解析: %+v",
"updateVideoSingleTask response: %s": "updateVideoSingleTask 响应: %s",
"updating all channels": "开始更新所有渠道的余额",
"updating dashboard data...": "正在更新数据看板数据...",
"upstream model update check failed: channel_id=%d channel_name=%s err=%v": "检查渠道的上游模型变化失败: channel_id=%d channel_name=%s err=%v",
"upstream model update notification skipped in 24h window: changed_channels=%d failed_channels=%d": "24 小时内已发过相同内容的上游模型更新通知,本次不发送: changed_channels=%d failed_channels=%d",
"upstream model update notifications sent: %d": "已发送 %d 条上游模型更新通知",
"upstream model update task done: checked_channels=%d changed_channels=%d detected_add_models=%d detected_remove_models=%d failed_channels=%d auto_added_models=%d": "上游模型更新检查完成: checked_channels=%d changed_channels=%d detected_add_models=%d detected_remove_models=%d failed_channels=%d auto_added_models=%d",
"upstream model update task query failed: %v": "上游模型更新检查: 查询渠道失败: %v",
"upstream response body: %s": "上游响应体: %s",
"usage extracted from second last SSE: PromptTokens=%d, CompletionTokens=%d, TotalTokens=%d, InputTokens=%d, OutputTokens=%d": "从倒数第二条 SSE 数据中取得用量: PromptTokens=%d, CompletionTokens=%d, TotalTokens=%d, InputTokens=%d, OutputTokens=%d",
"user %d has enough quota, trusted without pre-consume (funding=%s)": "用户 %d 额度充足, 信任且不需要预扣费 (funding=%s)",
"user %d has no bark url, skip sending bark": "用户 %d 没有填写 Bark 推送地址,未发送 Bark 通知",
"user %d has no email, skip sending email": "用户 %d 没有绑定邮箱,未发送邮件通知",
"user %d has no gotify url or token, skip sending gotify": "用户 %d 没有填写 Gotify 地址或令牌,未发送 Gotify 通知",
"user %d has no webhook url, skip sending webhook": "用户 %d 没有填写 Webhook 地址,未发送 Webhook 通知",
"user %d needs pre-consume %s (funding=%s)": "用户 %d 需要预扣费 %s (funding=%s)",
"user %d request failed, refunding the pre-consumed quota (token_quota=%s, funding=%s)": "用户 %d 请求失败, 返还预扣费(token_quota=%s, funding=%s)",
"user %d | %s": "用户 %d | %s",
"user quota cache reserve unavailable, falling back to database: %s": "无法在缓存中预扣用户额度,改为直接扣数据库: %s",
"using ClickHouse as log database": "日志数据库使用 ClickHouse",
"using MySQL as database": "数据库使用 MySQL",
"using PostgreSQL as database": "数据库使用 PostgreSQL",
"waffo pancake topup": "Waffo Pancake 充值",
"waffo pancake topup failed: %s": "Waffo Pancake 充值失败: %s",
"waffo topup": "Waffo 充值",
"waffo topup failed: %s": "Waffo 充值失败: %s",
"websocket connection is nil": "WebSocket 连接为空",
"zhipu_image_empty_b64": "智谱图片接口返回的 b64 为空",
"zhipu_image_get_b64_failed: %s": "智谱图片转 b64 失败: %s",
"zhipu_image_missing_url": "智谱图片接口没有返回 URL",
"¥%.6f quota": "¥%.6f 额度",
"$%.6f quota": "$%.6f 额度"
}