{ "%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 额度" }