fix(default): improve billing settings forms

This commit is contained in:
CaIon
2026-05-06 20:14:35 +08:00
parent 446a8420f5
commit dede1e2968
17 changed files with 1291 additions and 832 deletions
+112 -77
View File
@@ -38,6 +38,7 @@
"{{count}} models": "{{count}} models",
"{{count}} months ago": "{{count}} months ago",
"{{count}} override": "{{count}} override",
"{{count}} selected targets available for bulk copy.": "{{count}} selected targets available for bulk copy.",
"{{count}} tiers": "{{count}} tiers",
"{{count}} vendors": "{{count}} vendors",
"{{count}} weeks ago": "{{count}} weeks ago",
@@ -96,6 +97,7 @@
"7 Days": "7 Days",
"7 days ago": "7 days ago",
"80,443,8080": "80,443,8080",
"A billing multiplier. Lower ratios mean lower API call costs.": "A billing multiplier. Lower ratios mean lower API call costs.",
"About": "About",
"Accept Unpriced Models": "Accept Unpriced Models",
"Accepts a JSON array of model identifiers that support the Imagine API.": "Accepts a JSON array of model identifiers that support the Imagine API.",
@@ -158,6 +160,7 @@
"Add Mode": "Add Mode",
"Add model": "Add model",
"Add Model": "Add Model",
"Add model pricing": "Add model pricing",
"Add Models": "Add Models",
"Add new amount": "Add new amount",
"Add new redemption code(s) by providing necessary info.": "Add new redemption code(s) by providing necessary info.",
@@ -236,6 +239,7 @@
"Ali": "Ali",
"All": "All",
"All categories": "All categories",
"All conditions must match before this tier is used.": "All conditions must match before this tier is used.",
"All edits are overwrite operations. Leave fields empty to keep current values unchanged.": "All edits are overwrite operations. Leave fields empty to keep current values unchanged.",
"All files exceed the maximum size.": "All files exceed the maximum size.",
"All Groups": "All Groups",
@@ -354,6 +358,7 @@
"Append value to array / string / object end": "Append value to array / string / object end",
"appended": "appended",
"Application": "Application",
"Applied {{name}} pricing to {{count}} models": "Applied {{name}} pricing to {{count}} models",
"Applies to custom completion endpoints. JSON map of model → ratio.": "Applies to custom completion endpoints. JSON map of model → ratio.",
"Apply All Upstream Updates": "Apply All Upstream Updates",
"Apply Filters": "Apply Filters",
@@ -383,6 +388,8 @@
"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.",
"Asc": "Asc",
"Ask anything": "Ask anything",
"Assigned by administrator only": "Assigned by administrator only",
"Assigned by administrators and used to represent a user level, such as default or vip.": "Assigned by administrators and used to represent a user level, such as default or vip.",
"Async task refund": "Async task refund",
"At least one model regex pattern is required": "At least one model regex pattern is required",
"At least one valid key source is required": "At least one valid key source is required",
@@ -393,10 +400,13 @@
"Audio In": "Audio In",
"Audio input": "Audio input",
"Audio Input": "Audio Input",
"Audio input price": "Audio input price",
"Audio Input Price": "Audio Input Price",
"Audio Out": "Audio Out",
"Audio output": "Audio output",
"Audio Output": "Audio Output",
"Audio output price": "Audio output price",
"Audio output price requires an audio input price.": "Audio output price requires an audio input price.",
"Audio playback failed": "Audio playback failed",
"Audio Preview": "Audio Preview",
"Audio ratio": "Audio ratio",
@@ -413,6 +423,7 @@
"Auto Ban": "Auto Ban",
"Auto detect (default)": "Auto detect (default)",
"Auto Disabled": "Auto Disabled",
"Auto group behavior": "Auto group behavior",
"Auto Group Chain": "Auto Group Chain",
"Auto refresh": "Auto refresh",
"Auto Sync Upstream Models": "Auto Sync Upstream Models",
@@ -469,6 +480,8 @@
"Bark Push URL": "Bark Push URL",
"Base address provided by your Epay service": "Base address provided by your Epay service",
"Base amount. Actual deduction = base amount × system group rate.": "Base amount. Actual deduction = base amount × system group rate.",
"Base input and output token prices for this tier.": "Base input and output token prices for this tier.",
"Base input price only": "Base input price only",
"Base Limits": "Base Limits",
"Base multipliers applied when users select specific groups.": "Base multipliers applied when users select specific groups.",
"Base Price": "Base Price",
@@ -493,6 +506,8 @@
"Batch upstream model updates applied: {{channels}} channels, {{added}} added, {{removed}} removed, {{fails}} failed": "Batch upstream model updates applied: {{channels}} channels, {{added}} added, {{removed}} removed, {{fails}} failed",
"Best for single-tenant deployments. Pricing and billing options stay hidden.": "Best for single-tenant deployments. Pricing and billing options stay hidden.",
"Best TTFT": "Best TTFT",
"Billable input tokens": "Billable input tokens",
"Billable output tokens": "Billable output tokens",
"Billing": "Billing",
"Billing & Payment": "Billing & Payment",
"Billing currency": "Billing currency",
@@ -545,6 +560,8 @@
"By category": "By category",
"By model author": "By model author",
"Cache": "Cache",
"Cache create (1h) price": "Cache create (1h) price",
"Cache create price": "Cache create price",
"Cache Creation": "Cache Creation",
"Cache Creation (1h)": "Cache Creation (1h)",
"Cache Creation (5m)": "Cache Creation (5m)",
@@ -553,13 +570,16 @@
"Cache Directory Info": "Cache Directory Info",
"Cache Entries": "Cache Entries",
"Cache mode": "Cache mode",
"Cache pricing": "Cache pricing",
"Cache ratio": "Cache ratio",
"Cache Read": "Cache Read",
"Cache read price": "Cache read price",
"Cache repeated prompt prefixes for cheaper, faster reuse": "Cache repeated prompt prefixes for cheaper, faster reuse",
"Cache write": "Cache write",
"Cache Write": "Cache Write",
"Cache Write (1h)": "Cache Write (1h)",
"Cache Write (5m)": "Cache Write (5m)",
"Cache write price": "Cache write price",
"Cached": "Cached",
"Cached input": "Cached input",
"Calculated price: ${{price}} per 1M tokens": "Calculated price: ${{price}} per 1M tokens",
@@ -592,6 +612,7 @@
"Change language": "Change language",
"Change Password": "Change Password",
"Change To": "Change To",
"Changes are written to the settings draft on save.": "Changes are written to the settings draft on save.",
"Changing...": "Changing...",
"Channel": "Channel",
"Channel Affinity": "Channel Affinity",
@@ -663,6 +684,7 @@
"Classic (Legacy Frontend)": "Classic (Legacy Frontend)",
"Claude": "Claude",
"Claude CLI Header Passthrough": "Claude CLI Header Passthrough",
"Clean": "Clean",
"Clean history logs": "Clean history logs",
"Clean logs": "Clean logs",
"Clean up inactive cache": "Clean up inactive cache",
@@ -755,6 +777,7 @@
"Complete these steps to finish the initial installation.": "Complete these steps to finish the initial installation.",
"Completed": "Completed",
"Completion": "Completion",
"Completion price": "Completion price",
"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",
@@ -894,6 +917,7 @@
"Copied: {{model}}": "Copied: {{model}}",
"Copied!": "Copied!",
"Copy": "Copy",
"Copy {{name}} pricing": "Copy {{name}} pricing",
"Copy a request header": "Copy a request header",
"Copy All": "Copy All",
"Copy all backup codes": "Copy all backup codes",
@@ -924,8 +948,10 @@
"Copy token": "Copy token",
"Copy URL": "Copy URL",
"Copywriting, ad creative, SEO": "Copywriting, ad creative, SEO",
"Core concepts": "Core concepts",
"Core Configuration": "Core Configuration",
"Core Features": "Core Features",
"Core pricing": "Core pricing",
"Cost": "Cost",
"Cost in USD per request, regardless of tokens used.": "Cost in USD per request, regardless of tokens used.",
"Cost Tracking": "Cost Tracking",
@@ -1148,6 +1174,7 @@
"disabled": "disabled",
"Disabled": "Disabled",
"Disabled all channels with tag: {{tag}}": "Disabled all channels with tag: {{tag}}",
"Disabled lanes are omitted on save.": "Disabled lanes are omitted on save.",
"Disabled Reason": "Disabled Reason",
"Disabled Time": "Disabled Time",
"Disabling...": "Disabling...",
@@ -1206,6 +1233,7 @@
"Drawing Logs": "Drawing Logs",
"Drawing task records": "Drawing task records",
"Duplicate": "Duplicate",
"Duplicate group names: {{names}}": "Duplicate group names: {{names}}",
"Duration": "Duration",
"Duration (hours)": "Duration (hours)",
"Duration Settings": "Duration Settings",
@@ -1257,12 +1285,15 @@
"Each item must have exactly one key-value pair.": "Each item must have exactly one key-value pair.",
"Each line represents one keyword. Leave blank to disable the list but keep the switch states.": "Each line represents one keyword. Leave blank to disable the list but keep the switch states.",
"Each tier supports 0~2 conditions (over len, p, c); the last tier is the catch-all without conditions. Use len (full input length, including cache hits) for tier conditions to avoid mis-routing when cache hits reduce p.": "Each tier supports 0~2 conditions (over len, p, c); the last tier is the catch-all without conditions. Use len (full input length, including cache hits) for tier conditions to avoid mis-routing when cache hits reduce p.",
"Each tier supports up to 2 conditions; the last tier is the catch-all without conditions. Use full input length for tier conditions to avoid mis-routing when cache hits reduce billable input tokens.": "Each tier supports up to 2 conditions; the last tier is the catch-all without conditions. Use full input length for tier conditions to avoid mis-routing when cache hits reduce billable input tokens.",
"Each tier supports up to 2 conditions. The last tier without conditions is the fallback.": "Each tier supports up to 2 conditions. The last tier without conditions is the fallback.",
"Earn rewards when your referrals add funds. Transfer accumulated rewards to your balance anytime.": "Earn rewards when your referrals add funds. Transfer accumulated rewards to your balance anytime.",
"Edit": "Edit",
"Edit {{title}}": "Edit {{title}}",
"Edit all channels with tag:": "Edit all channels with tag:",
"Edit Announcement": "Edit Announcement",
"Edit API Shortcut": "Edit API Shortcut",
"Edit billing ratios and user-selectable groups in one table.": "Edit billing ratios and user-selectable groups in one table.",
"Edit Channel": "Edit Channel",
"Edit chat preset": "Edit chat preset",
"Edit discount tier": "Edit discount tier",
@@ -1272,6 +1303,7 @@
"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 model pricing": "Edit model pricing",
"Edit OAuth Provider": "Edit OAuth Provider",
"Edit payment method": "Edit payment method",
"Edit Prefill Group": "Edit Prefill Group",
@@ -1297,6 +1329,7 @@
"Email Verification": "Email Verification",
"Email, summarisation, knowledge work": "Email, summarisation, knowledge work",
"Embeddings": "Embeddings",
"Empty": "Empty",
"Empty value will be saved as {}.": "Empty value will be saved as {}.",
"Enable": "Enable",
"Enable 2FA": "Enable 2FA",
@@ -1475,9 +1508,12 @@
"Expose grouped Uptime Kuma status pages directly on the dashboard": "Expose grouped Uptime Kuma status pages directly on the dashboard",
"Expose ratio API": "Expose ratio API",
"Exposes the pricing/models catalog in the top navigation.": "Exposes the pricing/models catalog in the top navigation.",
"Expression": "Expression",
"Expression based": "Expression based",
"Expression billing": "Expression billing",
"Expression editor": "Expression editor",
"Expression error": "Expression error",
"Expression pricing": "Expression pricing",
"Extend": "Extend",
"Extend deployment": "Extend deployment",
"Extend failed": "Extend failed",
@@ -1489,6 +1525,7 @@
"External Speed Test": "External Speed Test",
"Extra": "Extra",
"Extra Notes (Optional)": "Extra Notes (Optional)",
"extras": "extras",
"Fail Reason": "Fail Reason",
"Fail Reason Details": "Fail Reason Details",
"Failed": "Failed",
@@ -1610,6 +1647,7 @@
"Failed to update user": "Failed to update user",
"Failure keywords": "Failure keywords",
"Fair": "Fair",
"Fallback tier": "Fallback tier",
"FAQ": "FAQ",
"FAQ added. Click \"Save Settings\" to apply.": "FAQ added. Click \"Save Settings\" to apply.",
"FAQ deleted. Click \"Save Settings\" to apply.": "FAQ deleted. Click \"Save Settings\" to apply.",
@@ -1679,6 +1717,7 @@
"Fixed abilities: {{success}} succeeded, {{fails}} failed": "Fixed abilities: {{success}} succeeded, {{fails}} failed",
"Fixed price": "Fixed price",
"Fixed price (USD)": "Fixed price (USD)",
"Fixed request price": "Fixed request price",
"Floating": "Floating",
"FluentRead extension not detected. Please ensure it is installed and active.": "FluentRead extension not detected. Please ensure it is installed and active.",
"Flush interval (minutes)": "Flush interval (minutes)",
@@ -1732,6 +1771,7 @@
"Full API Key": "Full API Key",
"Full Base URL (supports": "Full Base URL (supports",
"Full Code": "Full Code",
"Full input length": "Full input length",
"Full layout": "Full layout",
"Full width": "Full width",
"Function calling": "Function calling",
@@ -1785,10 +1825,10 @@
"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",
"Greater than": "Greater than",
"Greater Than": "Greater Than",
"Greater than or equal": "Greater than or equal",
"Greater Than or Equal": "Greater Than or Equal",
"Grok": "Grok",
"Grok Settings": "Grok Settings",
"Group": "Group",
@@ -1797,6 +1837,7 @@
"Group channels by tag for batch operations": "Group channels by tag for batch operations",
"Group config overrides global limits, shares the same period": "Group config overrides global limits, shares the same period",
"Group deleted. Click \"Save Settings\" to apply.": "Group deleted. Click \"Save Settings\" to apply.",
"Group description": "Group description",
"Group details": "Group details",
"Group identifier": "Group identifier",
"Group is required": "Group is required",
@@ -1805,6 +1846,7 @@
"Group name cannot be changed when editing.": "Group name cannot be changed when editing.",
"Group prices cannot be expanded because this expression is not a standard tiered pricing expression.": "Group prices cannot be expanded because this expression is not a standard tiered pricing expression.",
"Group Pricing": "Group Pricing",
"Group pricing usage guide": "Group pricing usage guide",
"group ratio": "group ratio",
"Group Ratio": "Group Ratio",
"Group ratios": "Group ratios",
@@ -1906,14 +1948,17 @@
"If an upstream error contains any of these keywords (case insensitive), the channel will be disabled automatically.": "If an upstream error contains any of these keywords (case insensitive), the channel will be disabled automatically.",
"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 this keeps happening, please report it on GitHub Issues.": "If this keeps happening, please report it on GitHub Issues.",
"If default auto group is enabled, newly created tokens start with auto instead of an empty group.": "If default auto group is enabled, newly created tokens start with auto instead of an empty group.",
"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.",
"If this keeps happening, please report it on GitHub Issues.": "If this keeps happening, please report it on GitHub Issues.",
"Ignored upstream models": "Ignored upstream models",
"Image": "Image",
"Image Generation": "Image Generation",
"Image In": "Image In",
"Image input": "Image input",
"Image input price": "Image input price",
"Image Out": "Image Out",
"Image output price": "Image output price",
"Image Preview": "Image Preview",
"Image ratio": "Image ratio",
"Image to Video": "Image to Video",
@@ -1927,6 +1972,7 @@
"Include Group": "Include Group",
"Include Model": "Include Model",
"Include Rule Name": "Include Rule Name",
"Includes request rules": "Includes request rules",
"Including failed requests, 0 = unlimited": "Including failed requests, 0 = unlimited",
"Index": "Index",
"Initial quota given to new users": "Initial quota given to new users",
@@ -1938,6 +1984,7 @@
"Input": "Input",
"Input mode": "Input mode",
"Input price": "Input price",
"Input price is required before saving dependent prices.": "Input price is required before saving dependent prices.",
"Input tokens": "Input tokens",
"Input Tokens": "Input Tokens",
"Inset": "Inset",
@@ -2068,10 +2115,10 @@
"Legacy Format Template": "Legacy Format Template",
"Legal": "Legal",
"Less": "Less",
"Less Than": "Less Than",
"Less Than or Equal": "Less Than or Equal",
"Less than": "Less than",
"Less Than": "Less Than",
"Less than or equal": "Less than or equal",
"Less Than or Equal": "Less Than or Equal",
"License": "License",
"Light": "Light",
"Lightning Fast": "Lightning Fast",
@@ -2188,6 +2235,7 @@
"Maximum tokens per response": "Maximum tokens per response",
"maxRequests ≥ 0, maxSuccess ≥ 1, both ≤ 2,147,483,647": "maxRequests ≥ 0, maxSuccess ≥ 1, both ≤ 2,147,483,647",
"May be used for training by upstream provider": "May be used for training by upstream provider",
"Media pricing": "Media pricing",
"Median time-to-first-token (TTFT) sampled hourly per group": "Median time-to-first-token (TTFT) sampled hourly per group",
"Medical Q&A, mental health support": "Medical Q&A, mental health support",
"Memory Hits": "Memory Hits",
@@ -2255,6 +2303,8 @@
"Model performance metrics": "Model performance metrics",
"Model Price": "Model Price",
"Model Price Not Configured": "Model Price Not Configured",
"Model prices": "Model prices",
"Model prices reset successfully": "Model prices reset successfully",
"Model Pricing": "Model Pricing",
"Model pull failed: {{msg}}": "Model pull failed: {{msg}}",
"Model ratio": "Model ratio",
@@ -2365,6 +2415,7 @@
"New API Project Repository:": "New API Project Repository:",
"New Format Template": "New Format Template",
"New Group": "New Group",
"New model": "New model",
"New Models ({{count}})": "New Models ({{count}})",
"New name will be:": "New name will be:",
"New password": "New password",
@@ -2393,6 +2444,7 @@
"No available models": "No available models",
"No available Web chat links": "No available Web chat links",
"No backup": "No backup",
"No base input price": "No base input price",
"No billing records found": "No billing records found",
"No capabilities reported for this model.": "No capabilities reported for this model.",
"No Change": "No Change",
@@ -2428,6 +2480,7 @@
"No group found.": "No group found.",
"No group-based rate limits configured. Click \"Add group\" to get started.": "No group-based rate limits configured. Click \"Add group\" to get started.",
"No groups match your search": "No groups match your search",
"No groups yet. Add a group to get started.": "No groups yet. Add a group to get started.",
"No header overrides configured.": "No header overrides configured.",
"No history data available": "No history data available",
"No incidents in the last 24 hours": "No incidents in the last 24 hours",
@@ -2449,6 +2502,7 @@
"No models available": "No models available",
"No models available in this category": "No models available in this category",
"No models available. Create your first model to get started.": "No models available. Create your first model to get started.",
"No models configured. Use Add model to get started.": "No models configured. Use Add model to get started.",
"No models fetched from upstream": "No models fetched from upstream",
"No models fetched yet.": "No models fetched yet.",
"No models found": "No models found",
@@ -2493,6 +2547,7 @@
"No Retry": "No Retry",
"No rules yet": "No rules yet",
"No rules yet. Add a group below to get started.": "No rules yet. Add a group below to get started.",
"No separate media pricing configured.": "No separate media pricing configured.",
"No status code mappings configured.": "No status code mappings configured.",
"No subscription plans yet": "No subscription plans yet",
"No subscription records": "No subscription records",
@@ -2579,6 +2634,7 @@
"Online topup is not enabled. Please use redemption code or contact administrator.": "Online topup is not enabled. Please use redemption code or contact administrator.",
"Only allow specific email domains": "Only allow specific email domains",
"Only available for admins. When enabled, you will receive a summary notification via your selected method when the scheduled model check detects upstream model changes or check failures.": "Only available for admins. When enabled, you will receive a summary notification via your selected method when the scheduled model check detects upstream model changes or check failures.",
"Only configured combinations are overridden. All other calls keep the token group base ratio.": "Only configured combinations are overridden. All other calls keep the token group base ratio.",
"Only selected fields will be overwritten. You can re-run the sync wizard if new conflicts appear.": "Only selected fields will be overwritten. You can re-run the sync wizard if new conflicts appear.",
"Only successful requests": "Only successful requests",
"Only successful requests count toward this limit.": "Only successful requests count toward this limit.",
@@ -2586,6 +2642,7 @@
"Oops! Page Not Found!": "Oops! Page Not Found!",
"Oops! Something went wrong": "Oops! Something went wrong",
"Open": "Open",
"Open a source model first": "Open a source model first",
"Open authorization page": "Open authorization page",
"Open CC Switch": "Open CC Switch",
"Open in chat": "Open in chat",
@@ -2641,9 +2698,11 @@
"Output aspect ratio": "Output aspect ratio",
"Output image size": "Output image size",
"Output price": "Output price",
"Output token price for generated tokens.": "Output token price for generated tokens.",
"Output tokens": "Output tokens",
"Output Tokens": "Output Tokens",
"overall": "overall",
"Overnight range": "Overnight range",
"override": "override",
"Override": "Override",
"Override Anthropic headers, defaults, and thinking adapter behavior": "Override Anthropic headers, defaults, and thinking adapter behavior",
@@ -2656,7 +2715,6 @@
"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.",
"Overnight range": "Overnight range",
"Overview": "Overview",
"Overwritten": "Overwritten",
"Page": "Page",
@@ -2751,6 +2809,7 @@
"Per-call": "Per-call",
"Per-feature metered windows split by model or capability.": "Per-feature metered windows split by model or capability.",
"Per-group performance": "Per-group performance",
"Per-request": "Per-request",
"Per-request (fixed price)": "Per-request (fixed price)",
"Per-token": "Per-token",
"Per-token (ratio based)": "Per-token (ratio based)",
@@ -2854,6 +2913,7 @@
"Prefix used when displaying prices": "Prefix used when displaying prices",
"Prefix/Suffix Text": "Prefix/Suffix Text",
"Premium chat models": "Premium chat models",
"Premium plan, half price": "Premium plan, half price",
"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…",
@@ -2890,6 +2950,7 @@
"Price estimation description": "After completing the hardware type, deployment location, replica count, etc., the price will be automatically calculated.",
"Price ID": "Price ID",
"Price mode (USD per 1M tokens)": "Price mode (USD per 1M tokens)",
"Price summary": "Price summary",
"price_xxx": "price_xxx",
"Price:": "Price:",
"Price: High to Low": "Price: High to Low",
@@ -2901,6 +2962,8 @@
"Pricing & Display": "Pricing & Display",
"Pricing by Group": "Pricing by Group",
"Pricing Configuration": "Pricing Configuration",
"Pricing group example": "Pricing group example",
"Pricing groups": "Pricing groups",
"Pricing mode": "Pricing mode",
"Pricing Ratios": "Pricing Ratios",
"Pricing Type": "Pricing Type",
@@ -2943,8 +3006,6 @@
"Provide Markdown, HTML, or an external URL for the user agreement": "Provide Markdown, HTML, or an external URL for the user agreement",
"Provide per-category safety overrides as JSON. Use `default` for fallback values.": "Provide per-category safety overrides as JSON. Use `default` for fallback values.",
"Provide per-model header overrides as JSON. Useful for enabling beta features such as expanded context windows.": "Provide per-model header overrides as JSON. Useful for enabling beta features such as expanded context windows.",
"Public model catalog and pricing page.": "Public model catalog and pricing page.",
"Public rankings page based on live usage data.": "Public rankings page based on live usage data.",
"Provider": "Provider",
"Provider & data privacy": "Provider & data privacy",
"Provider created successfully": "Provider created successfully",
@@ -2957,6 +3018,8 @@
"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)",
"Public model catalog and pricing page.": "Public model catalog and pricing page.",
"Public rankings page based on live usage data.": "Public rankings page based on live usage data.",
"Publish Date": "Publish Date",
"Published": "Published",
"Published:": "Published:",
@@ -3171,6 +3234,7 @@
"Resend ({{seconds}}s)": "Resend ({{seconds}}s)",
"Reset": "Reset",
"Reset 2FA": "Reset 2FA",
"Reset all model prices?": "Reset all model prices?",
"Reset all model ratios?": "Reset all model ratios?",
"Reset all settings to default values": "Reset all settings to default values",
"Reset at:": "Reset at:",
@@ -3181,6 +3245,7 @@
"Reset Passkey": "Reset Passkey",
"Reset password": "Reset password",
"Reset Period": "Reset Period",
"Reset prices": "Reset prices",
"Reset ratios": "Reset ratios",
"Reset Stats": "Reset Stats",
"Reset to default": "Reset to default",
@@ -3272,12 +3337,14 @@
"Save group ratios": "Save group ratios",
"Save io.net settings": "Save io.net settings",
"Save log settings": "Save log settings",
"Save model prices": "Save model prices",
"Save model ratios": "Save model ratios",
"Save Models": "Save Models",
"Save monitoring rules": "Save monitoring rules",
"Save navigation": "Save navigation",
"Save notice": "Save notice",
"Save Preferences": "Save Preferences",
"Save preview": "Save preview",
"Save rate limits": "Save rate limits",
"Save sensitive words": "Save sensitive words",
"Save Settings": "Save Settings",
@@ -3340,6 +3407,7 @@
"Select a color": "Select a color",
"Select a group": "Select a group",
"Select a group type": "Select a group type",
"Select a model to edit pricing": "Select a model to edit pricing",
"Select a preset...": "Select a preset...",
"Select a role": "Select a role",
"Select a rule to edit.": "Select a rule to edit.",
@@ -3353,6 +3421,7 @@
"Select an operation mode and enter the amount": "Select an operation mode and enter the amount",
"Select announcement type": "Select announcement type",
"Select at least one field to overwrite.": "Select at least one field to overwrite.",
"Select at least one target model": "Select at least one target model",
"Select border radius": "Select border radius",
"Select channel type": "Select channel type",
"Select color preset": "Select color preset",
@@ -3406,6 +3475,7 @@
"selected": "selected",
"selected channel(s). Leave empty to remove tag.": "selected channel(s). Leave empty to remove tag.",
"Selected conflicts were overwritten successfully.": "Selected conflicts were overwritten successfully.",
"Selected when creating a token and used as the default billing group for API calls.": "Selected when creating a token and used as the default billing group for API calls.",
"Self-Use Mode": "Self-Use Mode",
"Send": "Send",
"Send code": "Send code",
@@ -3413,6 +3483,7 @@
"Sending...": "Sending...",
"Sensitive Words": "Sensitive Words",
"Sent the API key to FluentRead.": "Sent the API key to FluentRead.",
"Separate image/audio prices are enabled.": "Separate image/audio prices are enabled.",
"Serve multiple users or teams with billing and quota control.": "Serve multiple users or teams with billing and quota control.",
"Server Address": "Server Address",
"Server IP": "Server IP",
@@ -3436,6 +3507,7 @@
"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 separate prices for cache reads and writes.": "Set separate prices for cache reads and writes.",
"Set Tag": "Set Tag",
"Set tag for selected channels": "Set tag for selected channels",
"Set the language used across the interface": "Set the language used across the interface",
@@ -3513,10 +3585,14 @@
"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)",
"Special billing expression": "Special billing expression",
"Special group": "Special group",
"Special ratios override the token group ratio for specific user group and token group combinations.": "Special ratios override the token group ratio for specific user group and token group combinations.",
"Special usable group rules": "Special usable group rules",
"Special usable group rules can add, remove, or append selectable token groups for a specific user group.": "Special usable group rules can add, remove, or append selectable token groups for a specific user group.",
"SQLite stores all data in a single file. Make sure that file is persisted when running in containers.": "SQLite stores all data in a single file. Make sure that file is persisted when running in containers.",
"SSRF Protection": "SSRF Protection",
"Standard": "Standard",
"Standard price": "Standard price",
"Start": "Start",
"Start a conversation to see messages here": "Start a conversation to see messages here",
"Start for free with generous limits. No credit card required.": "Start for free with generous limits. No credit card required.",
@@ -3731,12 +3807,15 @@
"This may cause cache failures.": "This may cause cache failures.",
"This may take a few moments while we validate the request and update your session.": "This may take a few moments while we validate the request and update your session.",
"This model has both fixed price and ratio billing conflicts": "This model has both fixed price and ratio billing conflicts",
"This model has both fixed-price and ratio settings. Saving the current mode will rewrite the conflicting fields.": "This model has both fixed-price and ratio settings. Saving the current mode will rewrite the conflicting fields.",
"This model has both fixed-price and token-price settings. Saving the current mode will rewrite the conflicting fields.": "This model has both fixed-price and token-price settings. Saving the current mode will rewrite the conflicting fields.",
"This model is not available in any group, or no group pricing information is configured.": "This model is not available in any group, or no group pricing information is configured.",
"This month": "This month",
"This page has not been created yet.": "This page has not been created yet.",
"This project must be used in compliance with the": "This project must be used in compliance with the",
"This record was written by a pre-upgrade instance and lacks audit info. Upgrade the instance to record server IP, callback IP, payment method and system version.": "This record was written by a pre-upgrade instance and lacks audit info. Upgrade the instance to record server IP, callback IP, payment method and system version.",
"This site currently has {{count}} models enabled": "This site currently has {{count}} models enabled",
"This tier catches any request that did not match earlier tiers.": "This tier catches any request that did not match earlier tiers.",
"this token group": "this token group",
"this user group": "this user group",
"This user has no bindings": "This user has no bindings",
@@ -3758,19 +3837,20 @@
"Throughput by group": "Throughput by group",
"Throughput trend": "Throughput trend",
"Tier": "Tier",
"Tier conditions": "Tier conditions",
"Tier name": "Tier name",
"Tiered": "Tiered",
"Token prices": "Token prices",
"Each tier supports up to 2 conditions. The last tier without conditions is the fallback.": "Each tier supports up to 2 conditions. The last tier without conditions is the fallback.",
"Tiered (billing expression)": "Tiered (billing expression)",
"Tiered price table": "Tiered price table",
"Tiered pricing": "Tiered pricing",
"tiers": "tiers",
"Time": "Time",
"Time Granularity": "Time Granularity",
"Time remaining": "Time remaining",
"Time window for rate limiting": "Time window for rate limiting",
"Time-based": "Time-based",
"Time:": "Time:",
"Time-sliced cache (Claude)": "Time-sliced cache (Claude)",
"Time:": "Time:",
"Timeline": "Timeline",
"times": "times",
"Timing": "Timing",
@@ -3794,11 +3874,18 @@
"Token Endpoint": "Token Endpoint",
"Token Endpoint (Optional)": "Token Endpoint (Optional)",
"Token estimator": "Token estimator",
"Token group": "Token group",
"Token management": "Token management",
"Token Management": "Token Management",
"Token Mgmt": "Token Mgmt",
"Token Name": "Token Name",
"Token obtained from your Gotify application": "Token obtained from your Gotify application",
"Token price for audio input.": "Token price for audio input.",
"Token price for audio output.": "Token price for audio output.",
"Token price for cache reads.": "Token price for cache reads.",
"Token price for creating cache entries.": "Token price for creating cache entries.",
"Token price for image input.": "Token price for image input.",
"Token prices": "Token prices",
"Token regenerated and copied to clipboard": "Token regenerated and copied to clipboard",
"Token share by model author across the last 24 hours": "Token share by model author across the last 24 hours",
"Token share by model author across the past few weeks": "Token share by model author across the past few weeks",
@@ -3922,6 +4009,7 @@
"Unbind failed": "Unbind failed",
"Unbound {{provider}}": "Unbound {{provider}}",
"Underground": "Underground",
"Understand how user groups, token groups, ratios, and special rules work together.": "Understand how user groups, token groups, ratios, and special rules work together.",
"Understand image inputs alongside text": "Understand image inputs alongside text",
"Unexpected release payload": "Unexpected release payload",
"Unified API Gateway for": "Unified API Gateway for",
@@ -3935,6 +4023,7 @@
"Unlimited": "Unlimited",
"Unlimited Quota": "Unlimited Quota",
"Unsaved changes": "Unsaved changes",
"Unset price": "Unset price",
"Until": "Until",
"Untitled": "Untitled",
"Untrusted upstream data:": "Untrusted upstream data:",
@@ -3999,12 +4088,16 @@
"URL is required": "URL is required",
"URL to your logo image (optional)": "URL to your logo image (optional)",
"Usage": "Usage",
"Usage guide": "Usage guide",
"Usage logs": "Usage logs",
"Usage Logs": "Usage Logs",
"Usage mode": "Usage mode",
"Usage-based": "Usage-based",
"USD": "USD",
"USD Exchange Rate": "USD Exchange Rate",
"USD price per 1M input tokens.": "USD price per 1M input tokens.",
"USD price per 1M tokens.": "USD price per 1M tokens.",
"Use +: to add a group, -: to remove a default selectable group, or no prefix to append a group.": "Use +: to add a group, -: to remove a default selectable group, or no prefix to append a group.",
"Use a compatible browser or device with biometric authentication or a security key to register a Passkey.": "Use a compatible browser or device with biometric authentication or a security key to register a Passkey.",
"Use authenticator code": "Use authenticator code",
"Use backup code": "Use backup code",
@@ -4014,6 +4107,8 @@
"Use Passkey to sign in without entering your password.": "Use Passkey to sign in without entering your password.",
"Use secure connection when sending emails": "Use secure connection when sending emails",
"Use sidebar shortcut": "Use sidebar shortcut",
"Use the full-width table to scan prices, then select a row to edit it here.": "Use the full-width table to scan prices, then select a row to edit it here.",
"Use the pricing group table to manage the ratio and whether the group appears in the token creation dropdown.": "Use the pricing group table to manage the ratio and whether the group appears in the token creation dropdown.",
"Use this token for API authentication": "Use this token for API authentication",
"Use your Passkey": "Use your Passkey",
"used": "used",
@@ -4034,6 +4129,7 @@
"User created successfully": "User created successfully",
"User dashboard and quota controls.": "User dashboard and quota controls.",
"User Exclusive Ratio": "User Exclusive Ratio",
"User group": "User group",
"User Group": "User Group",
"User group name": "User group name",
"User Group: {{ratio}}x": "User Group: {{ratio}}x",
@@ -4047,6 +4143,7 @@
"User Information": "User Information",
"User Menu": "User Menu",
"User personal functions": "User personal functions",
"User selectable": "User selectable",
"User Subscription Management": "User Subscription Management",
"User updated successfully": "User updated successfully",
"User Verification": "User Verification",
@@ -4058,6 +4155,7 @@
"Users": "Users",
"Users call the model on the left. The platform forwards the request to the upstream model on the right.": "Users call the model on the left. The platform forwards the request to the upstream model on the right.",
"Users must wait for a successful drawing before upscales or variations.": "Users must wait for a successful drawing before upscales or variations.",
"Users only see groups marked as user selectable. Non-selectable groups can still be assigned by administrators.": "Users only see groups marked as user selectable. Non-selectable groups can still be assigned by administrators.",
"uses": "uses",
"Validity": "Validity",
"Validity Period": "Validity Period",
@@ -4188,6 +4286,7 @@
"Well-Known URL": "Well-Known URL",
"Well-Known URL must start with http:// or https://": "Well-Known URL must start with http:// or https://",
"What would you like to know?": "What would you like to know?",
"When a token uses the auto group, the system tries groups from top to bottom until it finds an available group.": "When a token uses the auto group, the system tries groups from top to bottom until it finds an available group.",
"When conditions match, the final price is multiplied by X. Multiple matches multiply together; values < 1 act as discounts.": "When conditions match, the final price is multiplied by X. Multiple matches multiply together; values < 1 act as discounts.",
"When enabled, if channels in the current group fail, it will try channels in the next group in order.": "When enabled, if channels in the current group fail, it will try channels in the next group in order.",
"When enabled, large request bodies are temporarily stored on disk instead of memory, significantly reducing memory usage. SSD recommended.": "When enabled, large request bodies are temporarily stored on disk instead of memory, significantly reducing memory usage. SSD recommended.",
@@ -4195,6 +4294,7 @@
"When enabled, newly created tokens start in the first auto group.": "When enabled, newly created tokens start in the first auto group.",
"When enabled, prompts are scanned before reaching upstream models.": "When enabled, prompts are scanned before reaching upstream models.",
"When enabled, the store field will be blocked": "When enabled, the store field will be blocked",
"When enabled, users can pick this group when creating tokens.": "When enabled, users can pick this group when creating tokens.",
"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.",
@@ -4249,71 +4349,6 @@
"Zero retention": "Zero retention",
"Zhipu": "Zhipu",
"Zhipu V4": "Zhipu V4",
"Zoom": "Zoom",
"Add model pricing": "Add model pricing",
"Applied {{name}} pricing to {{count}} models": "Applied {{name}} pricing to {{count}} models",
"Audio input price": "Audio input price",
"Audio output price": "Audio output price",
"Audio output price requires an audio input price.": "Audio output price requires an audio input price.",
"Billable input tokens": "Billable input tokens",
"Billable output tokens": "Billable output tokens",
"Cache create (1h) price": "Cache create (1h) price",
"Cache create price": "Cache create price",
"Cache read price": "Cache read price",
"Cache pricing": "Cache pricing",
"Cache write price": "Cache write price",
"Changes are written to the settings draft on save.": "Changes are written to the settings draft on save.",
"Clean": "Clean",
"Completion price": "Completion price",
"Core pricing": "Core pricing",
"Copy {{name}} pricing": "Copy {{name}} pricing",
"Disabled lanes are omitted on save.": "Disabled lanes are omitted on save.",
"Edit model pricing": "Edit model pricing",
"Empty": "Empty",
"Each tier supports up to 2 conditions; the last tier is the catch-all without conditions. Use full input length for tier conditions to avoid mis-routing when cache hits reduce billable input tokens.": "Each tier supports up to 2 conditions; the last tier is the catch-all without conditions. Use full input length for tier conditions to avoid mis-routing when cache hits reduce billable input tokens.",
"All conditions must match before this tier is used.": "All conditions must match before this tier is used.",
"Base input and output token prices for this tier.": "Base input and output token prices for this tier.",
"Expression": "Expression",
"Fallback tier": "Fallback tier",
"Full input length": "Full input length",
"Input price is required before saving dependent prices.": "Input price is required before saving dependent prices.",
"Image input price": "Image input price",
"Image output price": "Image output price",
"Media pricing": "Media pricing",
"New model": "New model",
"No separate media pricing configured.": "No separate media pricing configured.",
"Open a source model first": "Open a source model first",
"Output token price for generated tokens.": "Output token price for generated tokens.",
"Per-request": "Per-request",
"Save preview": "Save preview",
"Select at least one target model": "Select at least one target model",
"Separate image/audio prices are enabled.": "Separate image/audio prices are enabled.",
"Set separate prices for cache reads and writes.": "Set separate prices for cache reads and writes.",
"This model has both fixed-price and ratio settings. Saving the current mode will rewrite the conflicting fields.": "This model has both fixed-price and ratio settings. Saving the current mode will rewrite the conflicting fields.",
"This model has both fixed-price and token-price settings. Saving the current mode will rewrite the conflicting fields.": "This model has both fixed-price and token-price settings. Saving the current mode will rewrite the conflicting fields.",
"This tier catches any request that did not match earlier tiers.": "This tier catches any request that did not match earlier tiers.",
"Tier conditions": "Tier conditions",
"Token price for audio input.": "Token price for audio input.",
"Token price for audio output.": "Token price for audio output.",
"Token price for cache reads.": "Token price for cache reads.",
"Token price for creating cache entries.": "Token price for creating cache entries.",
"Token price for image input.": "Token price for image input.",
"USD price per 1M input tokens.": "USD price per 1M input tokens.",
"USD price per 1M tokens.": "USD price per 1M tokens.",
"{{count}} selected targets available for bulk copy.": "{{count}} selected targets available for bulk copy.",
"Base input price only": "Base input price only",
"Expression based": "Expression based",
"Expression pricing": "Expression pricing",
"Fixed request price": "Fixed request price",
"Includes request rules": "Includes request rules",
"No base input price": "No base input price",
"No models configured. Use Add model to get started.": "No models configured. Use Add model to get started.",
"Price summary": "Price summary",
"Select a model to edit pricing": "Select a model to edit pricing",
"Tiered pricing": "Tiered pricing",
"Unset price": "Unset price",
"Use the full-width table to scan prices, then select a row to edit it here.": "Use the full-width table to scan prices, then select a row to edit it here.",
"extras": "extras",
"tiers": "tiers"
"Zoom": "Zoom"
}
}