feat(ui): overhaul default channel editor with full param override visual editor

- Port classic ParamOverrideEditorModal to default as standalone dialog (~3200 lines)
  with two-panel layout, drag-to-reorder, 23 operation modes, template library,
  visual/JSON dual mode, conditions management, and legacy format support
- Redesign channel drawer layout with clear visual hierarchy (CardHeading vs SubHeading)
  and bordered sub-modules for Field Passthrough and Upstream Model Detection
- Replace header override JsonEditor with plain textarea matching classic behavior
- Add searchable channel type combobox with scroll fix
- Add 100+ i18n keys across all 6 locales (en, zh, fr, ja, ru, vi)
This commit is contained in:
CaIon
2026-04-29 18:09:11 +08:00
parent 3b592895c6
commit b44faec66b
15 changed files with 5658 additions and 892 deletions
+191 -5
View File
@@ -10,6 +10,7 @@
". This action cannot be undone.": ". This action cannot be undone.",
"...": "...",
"\"default\": \"us-central1\", \"claude-3-5-sonnet-20240620\": \"europe-west1\"": "\"default\": \"us-central1\", \"claude-3-5-sonnet-20240620\": \"europe-west1\"",
"({{total}} total, {{omit}} omitted)": "({{total}} total, {{omit}} omitted)",
"(Leave empty to dissolve tag)": "(Leave empty to dissolve tag)",
"(Optional: redirect model names)": "(Optional: redirect model names)",
"(Override all channels' groups)": "(Override all channels' groups)",
@@ -122,6 +123,7 @@
"Add auto group": "Add auto group",
"Add chat preset": "Add chat preset",
"Add condition": "Add condition",
"Add Condition": "Add Condition",
"Add custom model(s), comma-separated": "Add custom model(s), comma-separated",
"Add discount tier": "Add discount tier",
"Add each model or tag you want to include.": "Add each model or tag you want to include.",
@@ -164,12 +166,14 @@
"Added {{count}} custom model(s)": "Added {{count}} custom model(s)",
"Added {{count}} model(s)": "Added {{count}} model(s)",
"Added successfully": "Added successfully",
"Additional Conditions": "Additional Conditions",
"Additional information": "Additional information",
"Additional Information": "Additional Information",
"Additional Limit": "Additional Limit",
"Additional Limits": "Additional Limits",
"Additional metered capability": "Additional metered capability",
"Adjust Quota": "Adjust Quota",
"Adjust response formatting, prompt behavior, proxy, and upstream automation.": "Adjust response formatting, prompt behavior, proxy, and upstream automation.",
"Adjust the appearance and layout to suit your preferences.": "Adjust the appearance and layout to suit your preferences.",
"Admin": "Admin",
"Admin access required": "Admin access required",
@@ -185,6 +189,7 @@
"Advanced Options": "Advanced Options",
"Advanced platform configuration.": "Advanced platform configuration.",
"Advanced Settings": "Advanced Settings",
"Advanced text editing": "Advanced text editing",
"After clicking the button, you'll be asked to authorize the bot": "After clicking the button, you'll be asked to authorize the bot",
"After disabling, it will no longer be shown to users, but historical orders are not affected. Continue?": "After disabling, it will no longer be shown to users, but historical orders are not affected. Continue?",
"After enabling, the plan will be shown to users. Continue?": "After enabling, the plan will be shown to users. Continue?",
@@ -209,6 +214,7 @@
"All Groups": "All Groups",
"All Models": "All Models",
"All models in use are properly configured.": "All models in use are properly configured.",
"All Must Match (AND)": "All Must Match (AND)",
"All Status": "All Status",
"All Sync Status": "All Sync Status",
"All Tags": "All Tags",
@@ -229,6 +235,7 @@
"Allow Private IPs": "Allow Private IPs",
"Allow registration with password": "Allow registration with password",
"Allow requests to private IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)": "Allow requests to private IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)",
"Allow Retry": "Allow Retry",
"Allow safety_identifier passthrough": "Allow safety_identifier passthrough",
"Allow service_tier passthrough": "Allow service_tier passthrough",
"Allow speed passthrough": "Allow speed passthrough",
@@ -271,6 +278,8 @@
"Announcements saved successfully": "Announcements saved successfully",
"Answer": "Answer",
"Anthropic": "Anthropic",
"Any Match (OR)": "Any Match (OR)",
"API Access": "API Access",
"API Addresses": "API Addresses",
"API Base URL (Important: Not Chat API) *": "API Base URL (Important: Not Chat API) *",
"API Base URL *": "API Base URL *",
@@ -305,8 +314,11 @@
"API2GPT": "API2GPT",
"Append": "Append",
"Append mode: New keys will be added to the end of the existing key list": "Append mode: New keys will be added to the end of the existing key list",
"Append Template": "Append Template",
"Append to channel": "Append to channel",
"Append to End": "Append to End",
"Append to existing keys": "Append to existing keys",
"Append value to array / string / object end": "Append value to array / string / object end",
"appended": "appended",
"Application": "Application",
"Applies to custom completion endpoints. JSON map of model → ratio.": "Applies to custom completion endpoints. JSON map of model → ratio.",
@@ -329,9 +341,9 @@
"Are you sure you want to unbind {{provider}} for this user? The user will no longer be able to log in via this method.": "Are you sure you want to unbind {{provider}} for this user? The user will no longer be able to log in via this method.",
"Are you sure you want to unbind {{provider}}? You will no longer be able to log in via this method.": "Are you sure you want to unbind {{provider}}? You will no longer be able to log in via this method.",
"Are you sure?": "Are you sure?",
"Area Chart": "Area Chart",
"Args (space separated)": "Args (space separated)",
"Array of chat client presets. Each item is an object with one key-value pair: client name and its URL.": "Array of chat client presets. Each item is an object with one key-value pair: client name and its URL.",
"Area Chart": "Area Chart",
"Asc": "Asc",
"Ask anything": "Ask anything",
"Async task refund": "Async task refund",
@@ -370,6 +382,7 @@
"Auto-disable status codes": "Auto-disable status codes",
"Auto-discover": "Auto-discover",
"Auto-discovers endpoints from the provider": "Auto-discovers endpoints from the provider",
"Auto-fill when one field exists and another is missing": "Auto-fill when one field exists and another is missing",
"Auto-retry status codes": "Auto-retry status codes",
"Automatically disable channel on repeated failures": "Automatically disable channel on repeated failures",
"Automatically disable channels exceeding this response time": "Automatically disable channels exceeding this response time",
@@ -386,6 +399,7 @@
"Average RPM": "Average RPM",
"Average TPM": "Average TPM",
"AWS": "AWS",
"AWS Bedrock Claude Compat": "AWS Bedrock Claude Compat",
"AWS Key Format": "AWS Key Format",
"Azure": "Azure",
"AZURE_OPENAI_ENDPOINT *": "AZURE_OPENAI_ENDPOINT *",
@@ -399,6 +413,7 @@
"Backup code must be in format XXXX-XXXX": "Backup code must be in format XXXX-XXXX",
"Backup codes regenerated successfully": "Backup codes regenerated successfully",
"Backup codes remaining: {{count}}": "Backup codes remaining: {{count}}",
"Bad Request": "Bad Request",
"Badge Color": "Badge Color",
"Baidu": "Baidu",
"Baidu V2": "Baidu V2",
@@ -420,6 +435,7 @@
"Basic Configuration": "Basic Configuration",
"Basic Info": "Basic Info",
"Basic Information": "Basic Information",
"Basic Templates": "Basic Templates",
"Batch Add (one key per line)": "Batch Add (one key per line)",
"Batch delete failed": "Batch delete failed",
"Batch detection complete: {{channels}} channels, {{add}} to add, {{remove}} to remove, {{fails}} failed": "Batch detection complete: {{channels}} channels, {{add}} to add, {{remove}} to remove, {{fails}} failed",
@@ -533,6 +549,7 @@
"Channel enabled successfully": "Channel enabled successfully",
"Channel Extra Settings": "Channel Extra Settings",
"Channel ID": "Channel ID",
"Channel key": "Channel key",
"Channel key unlocked": "Channel key unlocked",
"Channel models": "Channel models",
"Channel name is required": "Channel name is required",
@@ -585,6 +602,7 @@
"Choose where to fetch upstream metadata.": "Choose where to fetch upstream metadata.",
"Classic (Legacy Frontend)": "Classic (Legacy Frontend)",
"Claude": "Claude",
"Claude CLI Header Passthrough": "Claude CLI Header Passthrough",
"Clean history logs": "Clean history logs",
"Clean logs": "Clean logs",
"Clean up inactive cache": "Clean up inactive cache",
@@ -621,6 +639,7 @@
"Click to view full details": "Click to view full details",
"Click to view full error message": "Click to view full error message",
"Click to view full prompt": "Click to view full prompt",
"Client header value": "Client header value",
"Client ID": "Client ID",
"Client Secret": "Client Secret",
"Close": "Close",
@@ -636,12 +655,15 @@
"Codex Account & Usage": "Codex Account & Usage",
"Codex Authorization": "Codex Authorization",
"Codex channels use an OAuth JSON credential as the key.": "Codex channels use an OAuth JSON credential as the key.",
"Codex CLI Header Passthrough": "Codex CLI Header Passthrough",
"Cohere": "Cohere",
"Collapse": "Collapse",
"Collapse All": "Collapse All",
"Color": "Color",
"Color is required": "Color is required",
"Color:": "Color:",
"Coming Soon!": "Coming Soon!",
"Comma-separated exact model names. Prefix with regex: to ignore by regular expression.": "Comma-separated exact model names. Prefix with regex: to ignore by regular expression.",
"Comma-separated list of allowed ports (empty = all ports)": "Comma-separated list of allowed ports (empty = all ports)",
"Comma-separated model names (leave empty to keep current)": "Comma-separated model names (leave empty to keep current)",
"Comma-separated model names, e.g., gpt-4,gpt-3.5-turbo": "Comma-separated model names, e.g., gpt-4,gpt-3.5-turbo",
@@ -659,7 +681,11 @@
"Completion price ($/1M tokens)": "Completion price ($/1M tokens)",
"Completion ratio": "Completion ratio",
"Concatenate channel system prompt with user's prompt": "Concatenate channel system prompt with user's prompt",
"Condition Path": "Condition Path",
"Condition Settings": "Condition Settings",
"Condition Value": "Condition Value",
"Conditional multipliers": "Conditional multipliers",
"Conditions": "Conditions",
"Conditions (AND)": "Conditions (AND)",
"Confidence": "Confidence",
"Configuration": "Configuration",
@@ -768,16 +794,20 @@
"Control log retention and clean historical data.": "Control log retention and clean historical data.",
"Control passthrough behavior and connection keep-alive settings": "Control passthrough behavior and connection keep-alive settings",
"Control request frequency to prevent abuse and manage system load.": "Control request frequency to prevent abuse and manage system load.",
"Control which models are exposed and which groups may use them.": "Control which models are exposed and which groups may use them.",
"Control which sidebar areas and modules are available to all users.": "Control which sidebar areas and modules are available to all users.",
"Controls whether user verification (biometrics/PIN) is required during Passkey flows.": "Controls whether user verification (biometrics/PIN) is required during Passkey flows.",
"Conversion rate from USD to your custom currency": "Conversion rate from USD to your custom currency",
"Convert reasoning_content to <think> tag in content": "Convert reasoning_content to <think> tag in content",
"Convert string to lowercase": "Convert string to lowercase",
"Convert string to uppercase": "Convert string to uppercase",
"Copied": "Copied",
"Copied {{count}} key(s)": "Copied {{count}} key(s)",
"Copied to clipboard": "Copied to clipboard",
"Copied: {{model}}": "Copied: {{model}}",
"Copied!": "Copied!",
"Copy": "Copy",
"Copy a request header": "Copy a request header",
"Copy All": "Copy All",
"Copy all backup codes": "Copy all backup codes",
"Copy All Codes": "Copy All Codes",
@@ -787,6 +817,7 @@
"Copy code": "Copy code",
"Copy Connection Info": "Copy Connection Info",
"Copy failed": "Copy failed",
"Copy Field": "Copy Field",
"Copy Header": "Copy Header",
"Copy Key": "Copy Key",
"Copy Link": "Copy Link",
@@ -795,14 +826,17 @@
"Copy prompt": "Copy prompt",
"Copy redemption code": "Copy redemption code",
"Copy referral link": "Copy referral link",
"Copy Request Header": "Copy Request Header",
"Copy secret key": "Copy secret key",
"Copy selected codes": "Copy selected codes",
"Copy selected keys": "Copy selected keys",
"Copy source field to target field": "Copy source field to target field",
"Copy the key and paste it here": "Copy the key and paste it here",
"Copy this prompt and send it to an LLM (e.g. ChatGPT / Claude) to help design your billing expression.": "Copy this prompt and send it to an LLM (e.g. ChatGPT / Claude) to help design your billing expression.",
"Copy to clipboard": "Copy to clipboard",
"Copy token": "Copy token",
"Copy URL": "Copy URL",
"Core Configuration": "Core Configuration",
"Core Features": "Core Features",
"Cost": "Cost",
"Cost in USD per request, regardless of tokens used.": "Cost in USD per request, regardless of tokens used.",
@@ -834,6 +868,8 @@
"Create Prefill Group": "Create Prefill Group",
"Create Provider": "Create Provider",
"Create Redemption Code": "Create Redemption Code",
"Create request parameter override rules with a visual editor or raw JSON.": "Create request parameter override rules with a visual editor or raw JSON.",
"Create request parameter override rules without editing raw JSON.": "Create request parameter override rules without editing raw JSON.",
"Create reusable bundles of models, tags, endpoints, and user groups to speed up configuration elsewhere in the console.": "Create reusable bundles of models, tags, endpoints, and user groups to speed up configuration elsewhere in the console.",
"Create succeeded": "Create succeeded",
"Create Vendor": "Create Vendor",
@@ -858,6 +894,8 @@
"Current Cache Size": "Current Cache Size",
"Current email: {{email}}. Enter a new email to change.": "Current email: {{email}}. Enter a new email to change.",
"Current key": "Current key",
"Current legacy JSON is invalid, cannot append": "Current legacy JSON is invalid, cannot append",
"Current Level Only": "Current Level Only",
"Current models for the longest channel in this tag. May not include all models from all channels.": "Current models for the longest channel in this tag. May not include all models from all channels.",
"Current Password": "Current Password",
"Current Price": "Current Price",
@@ -874,6 +912,7 @@
"Custom Currency Symbol": "Custom Currency Symbol",
"Custom currency symbol is required": "Custom currency symbol is required",
"Custom database driver detected.": "Custom database driver detected.",
"Custom Error Response": "Custom Error Response",
"Custom Home Page": "Custom Home Page",
"Custom message shown when access is denied": "Custom message shown when access is denied",
"Custom model (comma-separated)": "Custom model (comma-separated)",
@@ -923,13 +962,17 @@
"Delete": "Delete",
"Delete (": "Delete (",
"Delete {{count}} API key(s)?": "Delete {{count}} API key(s)?",
"Delete a runtime request header": "Delete a runtime request header",
"Delete Account": "Delete Account",
"Delete All Disabled": "Delete All Disabled",
"Delete All Disabled Channels?": "Delete All Disabled Channels?",
"Delete Auto-Disabled": "Delete Auto-Disabled",
"Delete Channel": "Delete Channel",
"Delete Channels?": "Delete Channels?",
"Delete condition": "Delete condition",
"Delete Condition": "Delete Condition",
"Delete failed": "Delete failed",
"Delete Field": "Delete Field",
"Delete group": "Delete group",
"Delete Header": "Delete Header",
"Delete Invalid": "Delete Invalid",
@@ -941,6 +984,7 @@
"Delete Model": "Delete Model",
"Delete Models?": "Delete Models?",
"Delete Provider": "Delete Provider",
"Delete Request Header": "Delete Request Header",
"Delete selected API keys": "Delete selected API keys",
"Delete selected channels": "Delete selected channels",
"Delete selected models": "Delete selected models",
@@ -1033,6 +1077,8 @@
"Displays the mobile sidebar.": "Displays the mobile sidebar.",
"Do not over-trust this feature. IP may be spoofed. Please use with nginx, CDN and other gateways.": "Do not over-trust this feature. IP may be spoofed. Please use with nginx, CDN and other gateways.",
"Do not repeat check-in; only once per day": "Do not repeat check-in; only once per day",
"Do regex replacement in the target field": "Do regex replacement in the target field",
"Do string replacement in the target field": "Do string replacement in the target field",
"Docs": "Docs",
"Documentation Link": "Documentation Link",
"Documentation or external knowledge base.": "Documentation or external knowledge base.",
@@ -1062,6 +1108,7 @@
"e.g. 401, 403, 429, 500-599": "e.g. 401, 403, 429, 500-599",
"e.g. 8 means 1 USD = 8 units": "e.g. 8 means 1 USD = 8 units",
"e.g. Basic Plan": "e.g. Basic Plan",
"e.g. Clean tool parameters to avoid upstream validation errors": "e.g. Clean tool parameters to avoid upstream validation errors",
"e.g. example.com": "e.g. example.com",
"e.g. llama3.1:8b": "e.g. llama3.1:8b",
"e.g. My GitLab": "e.g. My GitLab",
@@ -1069,6 +1116,7 @@
"e.g. New API Console": "e.g. New API Console",
"e.g. openid profile email": "e.g. openid profile email",
"e.g. Suitable for light usage": "e.g. Suitable for light usage",
"e.g. This request does not meet access policy": "e.g. This request does not meet access policy",
"e.g., 0.95": "e.g., 0.95",
"e.g., 100": "e.g., 100",
"e.g., 123456": "e.g., 123456",
@@ -1084,6 +1132,7 @@
"e.g., d6b5da8hk1awo8nap34ube6gh": "e.g., d6b5da8hk1awo8nap34ube6gh",
"e.g., default, vip, premium": "e.g., default, vip, premium",
"e.g., gpt-4, claude-3": "e.g., gpt-4, claude-3",
"e.g., gpt-4.1-nano,regex:^claude-.*$,regex:^sora-.*$": "e.g., gpt-4.1-nano,regex:^claude-.*$,regex:^sora-.*$",
"e.g., https://api.example.com (path before /suno)": "e.g., https://api.example.com (path before /suno)",
"e.g., https://api.openai.com/v1/chat/completions": "e.g., https://api.openai.com/v1/chat/completions",
"e.g., https://ark.cn-beijing.volces.com": "e.g., https://ark.cn-beijing.volces.com",
@@ -1111,6 +1160,8 @@
"Edit discount tier": "Edit discount tier",
"Edit FAQ": "Edit FAQ",
"Edit group rate limit": "Edit group rate limit",
"Edit JSON object directly. Suitable for simple parameter overrides.": "Edit JSON object directly. Suitable for simple parameter overrides.",
"Edit JSON text directly. Format will be validated on save.": "Edit JSON text directly. Format will be validated on save.",
"Edit model": "Edit model",
"Edit Model": "Edit Model",
"Edit OAuth Provider": "Edit OAuth Provider",
@@ -1195,6 +1246,8 @@
"English": "English",
"Ensure Prefix": "Ensure Prefix",
"Ensure Suffix": "Ensure Suffix",
"Ensure the string has a specified prefix": "Ensure the string has a specified prefix",
"Ensure the string has a specified suffix": "Ensure the string has a specified suffix",
"Enter 6-digit code": "Enter 6-digit code",
"Enter a name": "Enter a name",
"Enter a new name": "Enter a new name",
@@ -1220,6 +1273,7 @@
"Enter display name": "Enter display name",
"Enter HTML code (e.g., <p>About us...</p>) or a URL (e.g., https://example.com) to embed as iframe": "Enter HTML code (e.g., <p>About us...</p>) or a URL (e.g., https://example.com) to embed as iframe",
"Enter Input price to calculate ratio": "Enter Input price to calculate ratio",
"Enter JSON to override request headers": "Enter JSON to override request headers",
"Enter key, format: AccessKey|SecretAccessKey|Region": "Enter key, format: AccessKey|SecretAccessKey|Region",
"Enter key, one per line, format: AccessKey|SecretAccessKey|Region": "Enter key, one per line, format: AccessKey|SecretAccessKey|Region",
"Enter model name": "Enter model name",
@@ -1271,8 +1325,12 @@
"Epay Gateway": "Epay Gateway",
"Epay merchant ID": "Epay merchant ID",
"Epay secret key": "Epay secret key",
"Equals": "Equals",
"Error": "Error",
"Error Code (optional)": "Error Code (optional)",
"Error Message": "Error Message",
"Error Message (required)": "Error Message (required)",
"Error Type (optional)": "Error Type (optional)",
"Estimated cost": "Estimated cost",
"Estimated quota cost": "Estimated quota cost",
"Exact": "Exact",
@@ -1290,6 +1348,7 @@
"Existing account will be reused": "Existing account will be reused",
"Existing Models ({{count}})": "Existing Models ({{count}})",
"Exists": "Exists",
"Expand All": "Expand All",
"Expected a JSON array.": "Expected a JSON array.",
"Experiment with prompts and models in real time.": "Experiment with prompts and models in real time.",
"Expiration Time": "Expiration Time",
@@ -1456,6 +1515,7 @@
"field": "field",
"Field Mapping": "Field Mapping",
"Field passthrough controls": "Field passthrough controls",
"Field Path": "Field Path",
"File Search": "File Search",
"Files to Retain": "Files to Retain",
"Fill All Models": "Fill All Models",
@@ -1551,6 +1611,7 @@
"GC executed": "GC executed",
"GC execution failed": "GC execution failed",
"Gemini": "Gemini",
"Gemini Image 4K": "Gemini Image 4K",
"Gemini will continue to auto-detect thinking mode even with the adapter disabled. Enable this only when you need finer control over pricing and budgeting.": "Gemini will continue to auto-detect thinking mode even with the adapter disabled. Enable this only when you need finer control over pricing and budgeting.",
"General": "General",
"General Settings": "General Settings",
@@ -1592,6 +1653,8 @@
"gpt-4": "gpt-4",
"gpt-4, claude-3-opus, etc.": "gpt-4, claude-3-opus, etc.",
"GPU count": "GPU count",
"Greater Than": "Greater Than",
"Greater Than or Equal": "Greater Than or Equal",
"Grok": "Grok",
"Grok Settings": "Grok Settings",
"Group": "Group",
@@ -1629,8 +1692,11 @@
"Has been invalidated": "Invalidated successfully",
"Have a Code?": "Have a Code?",
"Header": "Header",
"Header Name": "Header Name",
"Header navigation": "Header navigation",
"Header Override": "Header Override",
"Header Passthrough (X-Request-Id)": "Header Passthrough (X-Request-Id)",
"Header Value (supports string or JSON mapping)": "Header Value (supports string or JSON mapping)",
"Hidden — verify to reveal": "Hidden — verify to reveal",
"Hide": "Hide",
"Hide API key": "Hide API key",
@@ -1697,6 +1763,7 @@
"If authorization succeeds, the generated JSON will be inserted into the key field. You still need to save the channel to persist it.": "If authorization succeeds, the generated JSON will be inserted into the key field. You still need to save the channel to persist it.",
"If connecting to upstream One API or New API relay projects, use OpenAI type instead unless you know what you are doing": "If connecting to upstream One API or New API relay projects, use OpenAI type instead unless you know what you are doing",
"If the affinity channel fails and retry succeeds on another channel, update affinity to the successful channel.": "If the affinity channel fails and retry succeeds on another channel, update affinity to the successful channel.",
"Ignored upstream models": "Ignored upstream models",
"Image": "Image",
"Image Generation": "Image Generation",
"Image In": "Image In",
@@ -1730,6 +1797,7 @@
"Integrations": "Integrations",
"Inter-group overrides": "Inter-group overrides",
"Inter-group ratio overrides": "Inter-group ratio overrides",
"Internal Notes": "Internal Notes",
"Internal notes (not shown to users)": "Internal notes (not shown to users)",
"Internal Server Error!": "Internal Server Error!",
"Invalid chat link. Please contact the administrator.": "Invalid chat link. Please contact the administrator.",
@@ -1750,6 +1818,7 @@
"Invalid status code mapping entries: {{entries}}": "Invalid status code mapping entries: {{entries}}",
"Invalidate": "Invalidate",
"Invalidated": "Invalidated",
"Invert match": "Invert match",
"Invitation Code": "Invitation Code",
"Invitation Quota": "Invitation Quota",
"Invite Info": "Invite Info",
@@ -1777,6 +1846,7 @@
"JSON": "JSON",
"JSON array of group identifiers. When enabled below, new tokens rotate through this list.": "JSON array of group identifiers. When enabled below, new tokens rotate through this list.",
"JSON Editor": "JSON Editor",
"JSON format error": "JSON format error",
"JSON format supports service account JSON files": "JSON format supports service account JSON files",
"JSON map of group → description exposed when users create API keys.": "JSON map of group → description exposed when users create API keys.",
"JSON map of group → ratio applied when the user selects the group explicitly.": "JSON map of group → ratio applied when the user selects the group explicitly.",
@@ -1785,11 +1855,14 @@
"JSON Mode": "JSON Mode",
"JSON must be an object": "JSON must be an object",
"JSON object:": "JSON object:",
"JSON Text": "JSON Text",
"JSON-based access control rules. Leave empty to allow all users.": "JSON-based access control rules. Leave empty to allow all users.",
"Just now": "Just now",
"JustSong": "JustSong",
"K": "K",
"Keep enabled if you need to proxy requests for different upstream accounts.": "Keep enabled if you need to proxy requests for different upstream accounts.",
"Keep original value": "Keep original value",
"Keep original value (skip if target exists)": "Keep original value (skip if target exists)",
"Keep this above 1 minute to avoid heavy database load": "Keep this above 1 minute to avoid heavy database load",
"Keep-alive Ping": "Keep-alive Ping",
"Key": "Key",
@@ -1797,9 +1870,12 @@
"Key Sources": "Key Sources",
"Key Summary": "Key Summary",
"Key Update Mode": "Key Update Mode",
"Keys, OAuth credentials, and multi-key update behavior.": "Keys, OAuth credentials, and multi-key update behavior.",
"Kling": "Kling",
"Knowledge Base ID *": "Knowledge Base ID *",
"Landing page with system overview.": "Landing page with system overview.",
"Last check time": "Last check time",
"Last detected addable models": "Last detected addable models",
"Last Login": "Last Login",
"Last Seen": "Last Seen",
"Last Tested": "Last Tested",
@@ -1823,7 +1899,11 @@
"Leave empty to use default": "Leave empty to use default",
"Leave empty to use system temp directory": "Leave empty to use system temp directory",
"Leave empty to use username": "Leave empty to use username",
"Legacy Format (JSON Object)": "Legacy Format (JSON Object)",
"Legacy format must be a JSON object": "Legacy format must be a JSON object",
"Less": "Less",
"Less Than": "Less Than",
"Less Than or Equal": "Less Than or Equal",
"Light": "Light",
"Lightning Fast": "Lightning Fast",
"Limit period": "Limit period",
@@ -1863,6 +1943,7 @@
"Log IP address for usage and error logs": "Log IP address for usage and error logs",
"Log Maintenance": "Log Maintenance",
"Log Type": "Log Type",
"Logic": "Logic",
"Login failed": "Login failed",
"Logo": "Logo",
"Logo URL": "Logo URL",
@@ -1900,11 +1981,17 @@
"Map request model names to actual provider model names (JSON format)": "Map request model names to actual provider model names (JSON format)",
"Map response status codes (JSON format)": "Map response status codes (JSON format)",
"Map upstream status codes to different codes": "Map upstream status codes to different codes",
"Match All (AND)": "Match All (AND)",
"Match Any (OR)": "Match Any (OR)",
"Match Mode": "Match Mode",
"Match model name exactly": "Match model name exactly",
"Match models containing this name": "Match models containing this name",
"Match models ending with this name": "Match models ending with this name",
"Match models starting with this name": "Match models starting with this name",
"Match Text": "Match Text",
"Match Type": "Match Type",
"Match Value": "Match Value",
"Match Value (optional)": "Match Value (optional)",
"Matched": "Matched",
"Matched Tier": "Matched Tier",
"Matching Rules": "Matching Rules",
@@ -2018,8 +2105,12 @@
"More templates...": "More templates...",
"More...": "More...",
"Move": "Move",
"Move a request header": "Move a request header",
"Move affiliate rewards to your main balance": "Move affiliate rewards to your main balance",
"Move Field": "Move Field",
"Move Header": "Move Header",
"Move Request Header": "Move Request Header",
"Move source field to target field": "Move source field to target field",
"ms": "ms",
"Multi-key channel: Keys will be": "Multi-key channel: Keys will be",
"Multi-Key Management": "Multi-Key Management",
@@ -2054,6 +2145,8 @@
"Name must be between {{min}} and {{max}} characters": "Name must be between {{min}} and {{max}} characters",
"Name Rule": "Name Rule",
"Name Suffix": "Name Suffix",
"Name the channel and choose the upstream provider.": "Name the channel and choose the upstream provider.",
"Name the channel, choose the provider, configure API access, and set credentials.": "Name the channel, choose the provider, configure API access, and set credentials.",
"name@example.com": "name@example.com",
"Native format": "Native format",
"Need a code?": "Need a code?",
@@ -2098,6 +2191,7 @@
"No changes made": "No changes made",
"No changes to save": "No changes to save",
"No channel selected": "No channel selected",
"No channel type found.": "No channel type found.",
"No channels available. Create your first channel to get started.": "No channels available. Create your first channel to get started.",
"No channels found": "No channels found",
"No Channels Found": "No Channels Found",
@@ -2133,6 +2227,7 @@
"No mappings configured. Click \"Add Row\" to get started.": "No mappings configured. Click \"Add Row\" to get started.",
"No matches found": "No matches found",
"No matching results": "No matching results",
"No matching rules": "No matching rules",
"No messages yet": "No messages yet",
"No missing models found.": "No missing models found.",
"No model found.": "No model found.",
@@ -2205,6 +2300,7 @@
"Not available": "Not available",
"Not backed up": "Not backed up",
"Not bound": "Not bound",
"Not Equals": "Not Equals",
"Not Set": "Not Set",
"Not set yet": "Not set yet",
"Not Started": "Not Started",
@@ -2225,6 +2321,7 @@
"OAuth failed": "OAuth failed",
"OAuth Integrations": "OAuth Integrations",
"OAuth start failed": "OAuth start failed",
"Object Prune Rules": "Object Prune Rules",
"Observability": "Observability",
"Obtain the API key, merchant ID, and RSA key pair from the Waffo dashboard, and configure the callback URL.": "Obtain the API key, merchant ID, and RSA key pair from the Waffo dashboard, and configure the callback URL.",
"Obtain the merchant, store, product and signing keys from your Waffo dashboard. Webhook URL: <ServerAddress>/api/waffo-pancake/webhook": "Obtain the merchant, store, product and signing keys from your Waffo dashboard. Webhook URL: <ServerAddress>/api/waffo-pancake/webhook",
@@ -2282,7 +2379,9 @@
"Opened authorization page": "Opened authorization page",
"OpenRouter": "OpenRouter",
"opens in an external client. Trigger it from the sidebar or API key actions to launch the configured application.": "opens in an external client. Trigger it from the sidebar or API key actions to launch the configured application.",
"Operation": "Operation",
"Operation failed": "Operation failed",
"Operation Type": "Operation Type",
"Operator Admin": "Operator Admin",
"Optimize system for self-hosted single-user usage": "Optimize system for self-hosted single-user usage",
"Optimized network architecture ensures millisecond response times": "Optimized network architecture ensures millisecond response times",
@@ -2294,6 +2393,7 @@
"Optional notes about this channel": "Optional notes about this channel",
"Optional notes about when to use this group": "Optional notes about when to use this group",
"Optional ratio used when upstream cache hits occur.": "Optional ratio used when upstream cache hits occur.",
"Optional rule description": "Optional rule description",
"Optional settings for advanced container configuration.": "Optional settings for advanced container configuration.",
"Optional supplementary information (max 100 characters)": "Optional supplementary information (max 100 characters)",
"Optional tag for grouping channels": "Optional tag for grouping channels",
@@ -2318,6 +2418,8 @@
"Override request headers (JSON format)": "Override request headers (JSON format)",
"Override request parameters (JSON format)": "Override request parameters (JSON format)",
"Override request parameters. Cannot override": "Override request parameters. Cannot override",
"Override request parameters. Cannot override stream parameter.": "Override request parameters. Cannot override stream parameter.",
"Override Rules": "Override Rules",
"Override the endpoint used for testing. Leave empty to auto detect.": "Override the endpoint used for testing. Leave empty to auto detect.",
"overrides for matching model prefix.": "overrides for matching model prefix.",
"Overview": "Overview",
@@ -2327,7 +2429,10 @@
"PaLM": "PaLM",
"Pan": "Pan",
"Param Override": "Param Override",
"Parameter configuration error": "Parameter configuration error",
"Parameter Override": "Parameter Override",
"Parameter override must be a valid JSON object": "Parameter override must be a valid JSON object",
"Parameter override must be valid JSON format": "Parameter override must be valid JSON format",
"Parameter Override Template (JSON)": "Parameter Override Template (JSON)",
"Parameter override template must be a JSON object": "Parameter override template must be a JSON object",
"parameter.": "parameter.",
@@ -2336,7 +2441,9 @@
"Partial Submission": "Partial Submission",
"Pass Headers": "Pass Headers",
"Pass request body directly to upstream": "Pass request body directly to upstream",
"Pass specified request headers to upstream": "Pass specified request headers to upstream",
"Pass Through Body": "Pass Through Body",
"Pass Through Headers": "Pass Through Headers",
"Pass through the anthropic-beta header for beta features": "Pass through the anthropic-beta header for beta features",
"Pass through the include field for usage obfuscation": "Pass through the include field for usage obfuscation",
"Pass through the inference_geo field for Claude data residency region control": "Pass through the inference_geo field for Claude data residency region control",
@@ -2344,7 +2451,9 @@
"Pass through the safety_identifier field": "Pass through the safety_identifier field",
"Pass through the service_tier field": "Pass through the service_tier field",
"Pass through the speed field for Claude inference speed mode control": "Pass through the speed field for Claude inference speed mode control",
"Pass when key is missing": "Pass when key is missing",
"Pass-Through": "Pass-Through",
"Pass-through Headers (comma-separated or JSON array)": "Pass-through Headers (comma-separated or JSON array)",
"Passkey": "Passkey",
"Passkey Authentication": "Passkey Authentication",
"Passkey is not available in this browser": "Passkey is not available in this browser",
@@ -2360,6 +2469,7 @@
"Passkey registration was cancelled": "Passkey registration was cancelled",
"Passkey removed successfully": "Passkey removed successfully",
"Passkey reset successfully": "Passkey reset successfully",
"Passthrough Template": "Passthrough Template",
"Password": "Password",
"Password / Access Token": "Password / Access Token",
"Password changed successfully": "Password changed successfully",
@@ -2374,6 +2484,7 @@
"Passwords do not match": "Passwords do not match",
"Paste the full callback URL (includes code & state)": "Paste the full callback URL (includes code & state)",
"Path": "Path",
"Path not set": "Path not set",
"Path Regex (one per line)": "Path Regex (one per line)",
"Path:": "Path:",
"Pay": "Pay",
@@ -2496,11 +2607,15 @@
"Prefix": "Prefix",
"Prefix Match": "Prefix Match",
"Prefix used when displaying prices": "Prefix used when displaying prices",
"Prefix/Suffix Text": "Prefix/Suffix Text",
"Premium chat models": "Premium chat models",
"Preparing chat keys…": "Preparing chat keys…",
"Preparing your chat link, please try again in a moment.": "Preparing your chat link, please try again in a moment.",
"Preparing your chat link…": "Preparing your chat link…",
"Prepend": "Prepend",
"Prepend to Start": "Prepend to Start",
"Prepend value to array / string / object start": "Prepend value to array / string / object start",
"Preserve the original field when applying this rule": "Preserve the original field when applying this rule",
"Preset recharge amounts (JSON array)": "Preset recharge amounts (JSON array)",
"Preset recharge amounts displayed to users": "Preset recharge amounts displayed to users",
"Preset Template": "Preset Template",
@@ -2577,7 +2692,11 @@
"Provider Name": "Provider Name",
"Provider type (OpenAI, Anthropic, etc.)": "Provider type (OpenAI, Anthropic, etc.)",
"Provider updated successfully": "Provider updated successfully",
"Provider-specific endpoint, account, and compatibility settings.": "Provider-specific endpoint, account, and compatibility settings.",
"Proxy Address": "Proxy Address",
"Prune Object Items": "Prune Object Items",
"Prune object items by conditions": "Prune object items by conditions",
"Prune Rule (string or JSON object)": "Prune Rule (string or JSON object)",
"Publish Date": "Publish Date",
"Published": "Published",
"Published:": "Published:",
@@ -2619,6 +2738,7 @@
"Random": "Random",
"Randomly select a key from the pool for each request": "Randomly select a key from the pool for each request",
"Rate Limit Windows": "Rate Limit Windows",
"Rate Limited": "Rate Limited",
"Rate Limiting": "Rate Limiting",
"Ratio": "Ratio",
"Ratio applied to audio completions for streaming models.": "Ratio applied to audio completions for streaming models.",
@@ -2648,6 +2768,8 @@
"Recommended to keep this high to avoid upstream throttling.": "Recommended to keep this high to avoid upstream throttling.",
"Record IP Address": "Record IP Address",
"Record quota usage": "Record quota usage",
"Recursion Strategy": "Recursion Strategy",
"Recursive": "Recursive",
"Redeem": "Redeem",
"Redeem codes": "Redeem codes",
"Redeemed By": "Redeemed By",
@@ -2681,6 +2803,8 @@
"Refund Details": "Refund Details",
"Regenerate": "Regenerate",
"Regenerate Backup Codes": "Regenerate Backup Codes",
"Regex": "Regex",
"Regex Pattern": "Regex Pattern",
"Regex Replace": "Regex Replace",
"Register Passkey": "Register Passkey",
"Registration Enabled": "Registration Enabled",
@@ -2709,6 +2833,9 @@
"Remove Passkey": "Remove Passkey",
"Remove Passkey?": "Remove Passkey?",
"Remove rule group": "Remove rule group",
"Remove string prefix": "Remove string prefix",
"Remove string suffix": "Remove string suffix",
"Remove the target field": "Remove the target field",
"Remove tier": "Remove tier",
"Removed": "Removed",
"Removed {{removed}} duplicate key(s). Before: {{before}}, After: {{after}}": "Removed {{removed}} duplicate key(s). Before: {{before}}, After: {{after}}",
@@ -2724,6 +2851,7 @@
"Replace all existing keys": "Replace all existing keys",
"Replace channel models": "Replace channel models",
"Replace mode: Will completely replace all existing keys": "Replace mode: Will completely replace all existing keys",
"Replace With": "Replace With",
"replaced": "replaced",
"Replacement Model": "Replacement Model",
"Replica count": "Replica count",
@@ -2731,6 +2859,7 @@
"request": "request",
"Request": "Request",
"Request Body Disk Cache": "Request Body Disk Cache",
"Request Body Field": "Request Body Field",
"Request Body Memory Cache": "Request Body Memory Cache",
"Request body pass-through is enabled. The request body will be sent directly to the upstream without any conversion.": "Request body pass-through is enabled. The request body will be sent directly to the upstream without any conversion.",
"Request conversion": "Request conversion",
@@ -2738,11 +2867,14 @@
"Request Count": "Request Count",
"Request failed": "Request failed",
"Request flow": "Request flow",
"Request Header Field": "Request Header Field",
"Request Header Override": "Request Header Override",
"Request Header Overrides": "Request Header Overrides",
"Request ID": "Request ID",
"Request Limits": "Request Limits",
"Request Model": "Request Model",
"Request Model:": "Request Model:",
"Request overrides, routing behavior, and upstream model automation": "Request overrides, routing behavior, and upstream model automation",
"Request rule pricing": "Request rule pricing",
"Request timed out, please refresh and restart GitHub login": "Request timed out, please refresh and restart GitHub login",
"Request-based": "Request-based",
@@ -2755,6 +2887,7 @@
"Require login to view models": "Require login to view models",
"Required": "Required",
"Required events:": "Required events:",
"Required provider, authentication, model, and group settings": "Required provider, authentication, model, and group settings",
"Required to expose Midjourney-style image generation to end users.": "Required to expose Midjourney-style image generation to end users.",
"Rerank": "Rerank",
"Reroll": "Reroll",
@@ -2789,7 +2922,10 @@
"Retain last N files": "Retain last N files",
"Retry": "Retry",
"Retry Chain": "Retry Chain",
"Retry Suggestion": "Retry Suggestion",
"Retry Times": "Retry Times",
"Return a custom error immediately": "Return a custom error immediately",
"Return Custom Error": "Return Custom Error",
"Return Error": "Return Error",
"Return to dashboard": "Return to dashboard",
"Reveal API key": "Reveal API key",
@@ -2806,13 +2942,25 @@
"Route": "Route",
"Route Description": "Route Description",
"Route is required": "Route is required",
"Routing & Overrides": "Routing & Overrides",
"Routing Strategy": "Routing Strategy",
"Rows per page": "Rows per page",
"RPM": "RPM",
"RSA Private Key (Production)": "RSA Private Key (Production)",
"RSA Private Key (Sandbox)": "RSA Private Key (Sandbox)",
"Rule": "Rule",
"Rule {{line}} is missing source field": "Rule {{line}} is missing source field",
"Rule {{line}} is missing target field": "Rule {{line}} is missing target field",
"Rule {{line}} is missing target path": "Rule {{line}} is missing target path",
"Rule {{line}} is missing value": "Rule {{line}} is missing value",
"Rule {{line}} pass_headers format is invalid": "Rule {{line}} pass_headers format is invalid",
"Rule {{line}} pass_headers is missing header names": "Rule {{line}} pass_headers is missing header names",
"Rule {{line}} prune_objects is missing conditions": "Rule {{line}} prune_objects is missing conditions",
"Rule {{line}} return_error requires a message field": "Rule {{line}} return_error requires a message field",
"Rule Description (optional)": "Rule Description (optional)",
"Rule group": "Rule group",
"rules": "rules",
"Rules": "Rules",
"Rules JSON": "Rules JSON",
"Rules JSON must be an array": "Rules JSON must be an array",
"Run GC": "Run GC",
@@ -2861,12 +3009,14 @@
"Scan the QR code to follow the official account and reply with “验证码” to receive your verification code.": "Scan the QR code to follow the official account and send the message “验证码” to receive your verification code.",
"Scan the QR code with WeChat to bind your account": "Scan the QR code with WeChat to bind your account",
"Scan this QR code with your authenticator app (Google Authenticator, Microsoft Authenticator, etc.)": "Scan this QR code with your authenticator app (Google Authenticator, Microsoft Authenticator, etc.)",
"Scenario Templates": "Scenario Templates",
"Scheduled channel tests": "Scheduled channel tests",
"Scope": "Scope",
"Scopes": "Scopes",
"Search": "Search",
"Search by name or URL...": "Search by name or URL...",
"Search by order number...": "Search by order number...",
"Search channel type...": "Search channel type...",
"Search chat presets...": "Search chat presets...",
"Search colors...": "Search colors...",
"Search conflicting models or fields": "Search conflicting models or fields",
@@ -2882,6 +3032,7 @@
"Search payment methods...": "Search payment methods...",
"Search payment types...": "Search payment types...",
"Search products...": "Search products...",
"Search rules...": "Search rules...",
"Search tags...": "Search tags...",
"Search vendors...": "Search vendors...",
"Search...": "Search...",
@@ -2899,6 +3050,7 @@
"Select a group type": "Select a group type",
"Select a preset...": "Select a preset...",
"Select a role": "Select a role",
"Select a rule to edit.": "Select a rule to edit.",
"Select a timestamp before clearing logs.": "Select a timestamp before clearing logs.",
"Select a usage mode to continue": "Select a usage mode to continue",
"Select a verification method first": "Select a verification method first",
@@ -2973,13 +3125,16 @@
"Set a discount rate for a specific recharge amount threshold.": "Set a discount rate for a specific recharge amount threshold.",
"Set a secure password (min. 8 characters)": "Set a secure password (min. 8 characters)",
"Set a tag for": "Set a tag for",
"Set filters to customize your dashboard statistics and charts.": "Set filters to customize your dashboard statistics and charts.",
"Set filters to narrow down your log search results.": "Set filters to narrow down your log search results.",
"Set API key access restrictions": "Set API key access restrictions",
"Set API key basic information": "Set API key basic information",
"Set Field": "Set Field",
"Set filters to customize your dashboard statistics and charts.": "Set filters to customize your dashboard statistics and charts.",
"Set filters to narrow down your log search results.": "Set filters to narrow down your log search results.",
"Set Header": "Set Header",
"Set Project to io.cloud when creating/selecting key": "Set Project to io.cloud when creating/selecting key",
"Set quota amount and limits": "Set quota amount and limits",
"Set Request Header": "Set Request Header",
"Set runtime request header: override entire value, or manipulate comma-separated tokens": "Set runtime request header: override entire value, or manipulate comma-separated tokens",
"Set Tag": "Set Tag",
"Set tag for selected channels": "Set tag for selected channels",
"Set the user's role (cannot be Root)": "Set the user's role (cannot be Root)",
@@ -3019,6 +3174,9 @@
"Signed out": "Signed out",
"Signing you in with {{provider}}": "Signing you in with {{provider}}",
"SiliconFlow": "SiliconFlow",
"Simple": "Simple",
"Simple mode only returns message; status code and error type use system defaults.": "Simple mode only returns message; status code and error type use system defaults.",
"Simple mode: prune objects by type, e.g. redacted_thinking.": "Simple mode: prune objects by type, e.g. redacted_thinking.",
"Single Key": "Single Key",
"Site Key": "Site Key",
"Size:": "Size:",
@@ -3043,6 +3201,9 @@
"Sort by ID": "Sort by ID",
"Sort Order": "Sort Order",
"Source": "Source",
"Source Endpoint": "Source Endpoint",
"Source Field": "Source Field",
"Source Header": "Source Header",
"sources": "sources",
"Space-separated OAuth scopes": "Space-separated OAuth scopes",
"Spark model version, e.g., v2.1 (version number in API URL)": "Spark model version, e.g., v2.1 (version number in API URL)",
@@ -3061,6 +3222,7 @@
"Statistics reset": "Statistics reset",
"Status": "Status",
"Status & Sync": "Status & Sync",
"Status Code": "Status Code",
"Status Code Mapping": "Status Code Mapping",
"Status Page Slug": "Status Page Slug",
"Status:": "Status:",
@@ -3068,6 +3230,7 @@
"Stay tuned though!": "Stay tuned though!",
"Step": "Step",
"Stop": "Stop",
"Stop Retry": "Stop Retry",
"Store ID": "Store ID",
"Store ID is required": "Store ID is required",
"Stored value is not echoed back for security": "Stored value is not echoed back for security",
@@ -3075,6 +3238,7 @@
"Stream": "Stream",
"Stream Mode": "Stream Mode",
"Stream Status": "Stream Status",
"String Replace": "String Replace",
"Stripe": "Stripe",
"Stripe API key (leave blank unless updating)": "Stripe API key (leave blank unless updating)",
"Stripe Dashboard": "Stripe Dashboard",
@@ -3111,6 +3275,7 @@
"Super Admin": "Super Admin",
"Support for high concurrency with automatic load balancing": "Support for high concurrency with automatic load balancing",
"Supported Imagine Models": "Supported Imagine Models",
"Supported variables": "Supported variables",
"Supports `-thinking`, `-thinking-": "Supports `-thinking`, `-thinking-",
"Supports HTML markup or iframe embedding. Enter HTML code directly, or provide a complete URL to automatically embed it as an iframe.": "Supports HTML markup or iframe embedding. Enter HTML code directly, or provide a complete URL to automatically embed it as an iframe.",
"Supports PNG, JPG, SVG, or WebP. Recommended size: 128×128 or smaller.": "Supports PNG, JPG, SVG, or WebP. Recommended size: 128×128 or smaller.",
@@ -3120,6 +3285,7 @@
"Switch to JSON": "Switch to JSON",
"Switch to Visual": "Switch to Visual",
"Sync Endpoint": "Sync Endpoint",
"Sync Endpoints": "Sync Endpoints",
"Sync Fields": "Sync Fields",
"Sync from the public upstream metadata repository.": "Sync from the public upstream metadata repository.",
"Sync this model with official upstream": "Sync this model with official upstream",
@@ -3161,7 +3327,12 @@
"Tags": "Tags",
"Take photo": "Take photo",
"Take screenshot": "Take screenshot",
"Target Endpoint": "Target Endpoint",
"Target Field": "Target Field",
"Target Field Path": "Target Field Path",
"Target group": "Target group",
"Target Header": "Target Header",
"Target Path (optional)": "Target Path (optional)",
"Task": "Task",
"Task ID": "Task ID",
"Task ID:": "Task ID:",
@@ -3172,6 +3343,7 @@
"Telegram": "Telegram",
"Telegram login requires widget integration; coming soon": "Telegram login requires widget integration; coming soon",
"Telegram Login Widget": "Telegram Login Widget",
"Template": "Template",
"Template variables:": "Template variables:",
"Templates": "Templates",
"Templates appended": "Templates appended",
@@ -3276,9 +3448,11 @@
"to access this resource.": "to access this resource.",
"to confirm": "to confirm",
"To Lower": "To Lower",
"To Lowercase": "To Lowercase",
"to override billing when a user in one group uses a token of another group.": "to override billing when a user in one group uses a token of another group.",
"to the Models list so users can use them before the mapping sends traffic upstream.": "to the Models list so users can use them before the mapping sends traffic upstream.",
"To Upper": "To Upper",
"To Uppercase": "To Uppercase",
"to view this resource.": "to view this resource.",
"Today": "Today",
"Toggle columns": "Toggle columns",
@@ -3309,8 +3483,8 @@
"Tool prices": "Tool prices",
"Top {{count}}": "Top {{count}}",
"Top Models": "Top Models",
"Top Users": "Top Users",
"Top up balance and view billing history.": "Top up balance and view billing history.",
"Top Users": "Top Users",
"Top-up": "Top-up",
"Top-up amount options": "Top-up amount options",
"Top-up Audit Info": "Top-up Audit Info",
@@ -3349,6 +3523,7 @@
"Transfer to Balance": "Transfer to Balance",
"Translate `-thinking` suffixes into Anthropic native thinking models while keeping pricing predictable.": "Translate `-thinking` suffixes into Anthropic native thinking models while keeping pricing predictable.",
"Transparent Billing": "Transparent Billing",
"Trim leading/trailing whitespace": "Trim leading/trailing whitespace",
"Trim Prefix": "Trim Prefix",
"Trim Space": "Trim Space",
"Trim Suffix": "Trim Suffix",
@@ -3357,6 +3532,7 @@
"TTL": "TTL",
"TTL (seconds, 0 = default)": "TTL (seconds, 0 = default)",
"TTL (seconds)": "TTL (seconds)",
"Tune selection priority, testing, status handling, and request overrides.": "Tune selection priority, testing, status handling, and request overrides.",
"Turnstile is enabled but site key is empty.": "Turnstile is enabled but site key is empty.",
"Two-factor Authentication": "Two-factor Authentication",
"Two-Factor Authentication": "Two-Factor Authentication",
@@ -3365,6 +3541,7 @@
"Two-factor authentication reset": "Two-factor authentication reset",
"Two-Step Verification": "Two-Step Verification",
"Type": "Type",
"Type (common)": "Type (common)",
"Type *": "Type *",
"Type a command or search...": "Type a command or search...",
"Type-Specific Settings": "Type-Specific Settings",
@@ -3375,6 +3552,7 @@
"Unable to load groups": "Unable to load groups",
"Unable to open chat": "Unable to open chat",
"Unable to prepare chat link. Please ensure you have an enabled API key.": "Unable to prepare chat link. Please ensure you have an enabled API key.",
"Unauthorized": "Unauthorized",
"Unauthorized Access": "Unauthorized Access",
"Unbind": "Unbind",
"Unbind failed": "Unbind failed",
@@ -3431,6 +3609,7 @@
"Upload photo": "Upload photo",
"Upscale": "Upscale",
"Upstream": "Upstream",
"Upstream Model Detection Settings": "Upstream Model Detection Settings",
"Upstream Model Update Check": "Upstream Model Update Check",
"Upstream Model Updates": "Upstream Model Updates",
"Upstream model updates applied: {{added}} added, {{removed}} removed, {{ignored}} ignored this time, {{totalIgnored}} total ignored models": "Upstream model updates applied: {{added}} added, {{removed}} removed, {{ignored}} ignored this time, {{totalIgnored}} total ignored models",
@@ -3511,6 +3690,7 @@
"Validity": "Validity",
"Validity Period": "Validity Period",
"Value": "Value",
"Value (supports JSON or plain text)": "Value (supports JSON or plain text)",
"Value must be at least 0": "Value must be at least 0",
"Value Regex": "Value Regex",
"variable": "variable",
@@ -3573,10 +3753,12 @@
"Visit Settings → General and adjust quota options...": "Visit Settings → General and adjust quota options...",
"Visitors must authenticate before accessing the pricing directory.": "Visitors must authenticate before accessing the pricing directory.",
"Visual": "Visual",
"Visual edit": "Visual edit",
"Visual editor": "Visual editor",
"Visual Editor": "Visual Editor",
"Visual indicator color for the API card": "Visual indicator color for the API card",
"Visual Mode": "Visual Mode",
"Visual Parameter Override": "Visual Parameter Override",
"VolcEngine": "VolcEngine",
"Waffo Pancake Payment Gateway": "Waffo Pancake payment gateway",
"Waffo Payment": "Waffo Payment",
@@ -3633,6 +3815,7 @@
"When enabled, the store field will be blocked": "When enabled, the store field will be blocked",
"When enabled, violation requests will incur additional charges.": "When enabled, violation requests will incur additional charges.",
"When enabled, zero-cost models also pre-consume quota before final settlement.": "When enabled, zero-cost models also pre-consume quota before final settlement.",
"When no conditions are set, the operation always executes.": "When no conditions are set, the operation always executes.",
"When performance monitoring is enabled and system resource usage exceeds the set threshold, new Relay requests will be rejected.": "When performance monitoring is enabled and system resource usage exceeds the set threshold, new Relay requests will be rejected.",
"When running in containers or ephemeral environments, ensure the SQLite file is mapped to persistent storage to avoid data loss on restart.": "When running in containers or ephemeral environments, ensure the SQLite file is mapped to persistent storage to avoid data loss on restart.",
"Whitelist": "Whitelist",
@@ -3641,10 +3824,12 @@
"whsec_xxx": "whsec_xxx",
"Window:": "Window:",
"with conflicts": "with conflicts",
"Without additional conditions, only the type above is used for pruning.": "Without additional conditions, only the type above is used for pruning.",
"Worker Access Key": "Worker Access Key",
"Worker Proxy": "Worker Proxy",
"Worker URL": "Worker URL",
"Workspaces": "Workspaces",
"Write value to the target field": "Write value to the target field",
"x": "x",
"xAI": "xAI",
"Xinference": "Xinference",
@@ -3678,6 +3863,7 @@
"Your Turnstile site key": "Your Turnstile site key",
"Zhipu": "Zhipu",
"Zhipu V4": "Zhipu V4",
"Zoom": "Zoom"
"Zoom": "Zoom",
"Legacy Format Template": "Legacy Format Template"
}
}