'When enabled, for Claude models without upstream cache-write usage, the system deterministically maps tokens to a small input plus 1h cache creation while keeping total tokens unchanged.',
enabled:'Enabled (simulate 1h cache)',
disabled:'Disabled',
hint:'Only token categories in usage billing logs are adjusted. No per-request mapping state is persisted.'
},
supportedScopes:{
title:'Supported Model Families',
tooltip:'Select the model families this group supports. Unchecked families will not be routed to this group.',
...
...
@@ -1867,6 +1876,9 @@ export default {
rateLimitedUntil:'Rate limited and removed from scheduling. Auto resumes at {time}',
rateLimitedAutoResume:'Auto resumes in {time}',
modelRateLimitedUntil:'{model} rate limited until {time}',
modelCreditOveragesUntil:'{model} using AI Credits until {time}',
creditsExhausted:'Credits Exhausted',
creditsExhaustedUntil:'AI Credits exhausted, expected recovery at {time}',
quotaLimitHint:'Set daily/weekly/total spending limits (USD). Account will be paused when any limit is reached. Changing limits won\'t reset usage.',
quotaLimitHint:'Set daily/weekly/total spending limits (USD). Anthropic API key accounts can also configure client affinity. Changing limits won\'t reset usage.',
quotaLimitToggle:'Enable Quota Limit',
quotaLimitToggleHint:'When enabled, account will be paused when usage reaches the set limit',
quotaDailyLimit:'Daily Limit',
...
...
@@ -2165,7 +2177,7 @@ export default {
// Quota control (Anthropic OAuth/SetupToken only)
quotaControl:{
title:'Quota Control',
hint:'Only applies to Anthropic OAuth/Setup Token accounts',
hint:'Configure cost window, session limits, client affinity and other scheduling controls.',
windowCost:{
label:'5h Window Cost Limit',
hint:'Limit account cost usage within the 5-hour window',
...
...
@@ -2220,8 +2232,26 @@ export default {
hint:'Force all cache creation tokens to be billed as the selected TTL tier (5m or 1h)',
target:'Target TTL',
targetHint:'Select the TTL tier for billing'
},
clientAffinity:{
label:'Client Affinity Scheduling',
hint:'When enabled, new sessions prefer accounts previously used by this client to reduce account switching'
}
},
affinityNoClients:'No affinity clients',
affinityClients:'{count} affinity clients:',
affinitySection:'Client Affinity',
affinitySectionHint:'Control how clients are distributed across accounts. Configure zone thresholds to balance load.',
affinityToggle:'Enable Client Affinity',
affinityToggleHint:'New sessions prefer accounts previously used by this client',
affinityBase:'Base Limit (Green Zone)',
affinityBasePlaceholder:'Empty = no limit',
affinityBaseHint:'Max clients in green zone (full priority scheduling)',
affinityBaseOffHint:'No green zone limit. All clients receive full priority scheduling.',
affinityBuffer:'Buffer (Yellow Zone)',
affinityBufferPlaceholder:'e.g. 3',
affinityBufferHint:'Additional clients allowed in the yellow zone (degraded priority)',
affinityBufferInfinite:'Unlimited',
expired:'Expired',
proxy:'Proxy',
noProxy:'No Proxy',
...
...
@@ -2239,6 +2269,10 @@ export default {
mixedSchedulingHint:'Enable to participate in Anthropic/Gemini group scheduling',
mixedSchedulingTooltip:
'!! WARNING !! Antigravity Claude and Anthropic Claude cannot be used in the same context. If you have both Anthropic and Antigravity accounts, enabling this option will cause frequent 400 errors. When enabled, please use the group feature to isolate Antigravity accounts from Anthropic accounts. Make sure you understand this before enabling!!',
aiCreditsBalance:'AI Credits',
allowOverages:'Allow Overages (AI Credits)',
allowOveragesTooltip:
'Only use AI Credits after free quota is explicitly exhausted. Ordinary concurrent 429 rate limits will not switch to overages.',
creating:'Creating...',
updating:'Updating...',
accountCreated:'Account created successfully',
...
...
@@ -2672,7 +2706,7 @@ export default {
geminiFlashDaily:'Flash',
gemini3Pro:'G3P',
gemini3Flash:'G3F',
gemini3Image:'GImage',
gemini3Image:'G31FI',
claude:'Claude'
},
tier:{
...
...
@@ -4185,40 +4219,55 @@ export default {
usage:'Usage: Add to request header - x-api-key: <your-admin-api-key>'
},
soraS3:{
title:'Sora S3 Storage',
description:'Manage multiple Sora S3 endpoints and switch the active profile',
title:'Sora Storage',
description:'Manage Sora media storage profiles with S3 and Google Drive support',
newProfile:'New Profile',
reloadProfiles:'Reload Profiles',
empty:'No Sora S3 profiles yet, create one first',
createTitle:'Create Sora S3 Profile',
editTitle:'Edit Sora S3 Profile',
empty:'No storage profiles yet, create one first',
createTitle:'Create Storage Profile',
editTitle:'Edit Storage Profile',
selectProvider:'Select Storage Type',
providerS3Desc:'S3-compatible object storage',
providerGDriveDesc:'Google Drive cloud storage',
profileID:'Profile ID',
profileName:'Profile Name',
setActive:'Set as active after creation',
saveProfile:'Save Profile',
activateProfile:'Activate',
profileCreated:'Sora S3 profile created',
profileSaved:'Sora S3 profile saved',
profileDeleted:'Sora S3 profile deleted',
profileActivated:'Sora S3 active profile switched',