"Are you sure you want to delete '{name}'? All associated API keys will no longer belong to any group.",
"Are you sure you want to delete '{name}'? All associated API keys will no longer belong to any group.",
...
@@ -1636,16 +1635,6 @@ export default {
...
@@ -1636,16 +1635,6 @@ export default {
title:'Image Generation Pricing',
title:'Image Generation Pricing',
description:'Configure pricing for image generation models. Leave empty to use default prices.'
description:'Configure pricing for image generation models. Leave empty to use default prices.'
},
},
soraPricing:{
title:'Sora Per-Request Pricing',
description:'Configure per-request pricing for Sora image/video generation. Leave empty to disable billing.',
image360:'Image 360px ($)',
image540:'Image 540px ($)',
video:'Video (standard) ($)',
videoHd:'Video (Pro-HD) ($)',
storageQuota:'Storage Quota',
storageQuotaHint:'In GB, set the Sora storage quota for users in this group. 0 means use system default'
},
claudeCode:{
claudeCode:{
title:'Claude Code Client Restriction',
title:'Claude Code Client Restriction',
tooltip:'When enabled, this group only allows official Claude Code clients. Non-Claude Code requests will be rejected or fallback to the specified group.',
tooltip:'When enabled, this group only allows official Claude Code clients. Non-Claude Code requests will be rejected or fallback to the specified group.',
...
@@ -2025,7 +2014,6 @@ export default {
...
@@ -2025,7 +2014,6 @@ export default {
openai:'OpenAI',
openai:'OpenAI',
gemini:'Gemini',
gemini:'Gemini',
antigravity:'Antigravity',
antigravity:'Antigravity',
sora:'Sora'
},
},
types:{
types:{
oauth:'OAuth',
oauth:'OAuth',
...
@@ -2035,10 +2023,6 @@ export default {
...
@@ -2035,10 +2023,6 @@ export default {
codeAssist:'Code Assist',
codeAssist:'Code Assist',
antigravityOauth:'Antigravity OAuth',
antigravityOauth:'Antigravity OAuth',
antigravityApikey:'Connect via Base URL + API Key',
antigravityApikey:'Connect via Base URL + API Key',
soraApiKey:'API Key / Upstream',
soraApiKeyHint:'Connect to another Sub2API or compatible API',
soraBaseUrlRequired:'Sora API Key account requires a Base URL',
soraBaseUrlInvalidScheme:'Base URL must start with http:// or https://',
upstream:'Upstream',
upstream:'Upstream',
upstreamDesc:'Connect via Base URL + API Key'
upstreamDesc:'Connect via Base URL + API Key'
},
},
...
@@ -2301,8 +2285,6 @@ export default {
...
@@ -2301,8 +2285,6 @@ export default {
codexCLIOnlyDesc:
codexCLIOnlyDesc:
'Only applies to OpenAI OAuth. When enabled, only Codex official client families are allowed; when disabled, the gateway bypasses this restriction and keeps existing behavior.',
'Only applies to OpenAI OAuth. When enabled, only Codex official client families are allowed; when disabled, the gateway bypasses this restriction and keeps existing behavior.',
modelRestrictionDisabledByPassthrough:'Automatic passthrough is enabled: model whitelist/mapping will not take effect.',
modelRestrictionDisabledByPassthrough:'Automatic passthrough is enabled: model whitelist/mapping will not take effect.',
enableSora:'Enable Sora simultaneously',
enableSoraHint:'Sora uses the same OpenAI account. Enable to create Sora account simultaneously.'
},
},
anthropic:{
anthropic:{
apiKeyPassthrough:'Auto passthrough (auth only)',
apiKeyPassthrough:'Auto passthrough (auth only)',
...
@@ -2317,9 +2299,6 @@ export default {
...
@@ -2317,9 +2299,6 @@ export default {
'Map request models to actual models. Left is the requested model, right is the actual model sent to API.',
'Map request models to actual models. Left is the requested model, right is the actual model sent to API.',
selectedModels:'Selected {count} model(s)',
selectedModels:'Selected {count} model(s)',
supportsAllModels:'(supports all models)',
supportsAllModels:'(supports all models)',
soraModelsLoadFailed:'Failed to load Sora models, fallback to default list',
soraModelsLoading:'Loading Sora models...',
soraModelsRetry:'Load failed, click to retry',
requestModel:'Request model',
requestModel:'Request model',
actualModel:'Actual model',
actualModel:'Actual model',
addMapping:'Add Mapping',
addMapping:'Add Mapping',
...
@@ -2469,8 +2448,6 @@ export default {
...
@@ -2469,8 +2448,6 @@ export default {
creating:'Creating...',
creating:'Creating...',
updating:'Updating...',
updating:'Updating...',
accountCreated:'Account created successfully',
accountCreated:'Account created successfully',
soraAccountCreated:'Sora account created simultaneously',
soraAccountFailed:'Failed to create Sora account, please add manually later',
accountUpdated:'Account updated successfully',
accountUpdated:'Account updated successfully',
failedToCreate:'Failed to create account',
failedToCreate:'Failed to create account',
failedToUpdate:'Failed to update account',
failedToUpdate:'Failed to update account',
...
@@ -2584,8 +2561,8 @@ export default {
...
@@ -2584,8 +2561,8 @@ export default {
refreshTokenDesc:'Enter your existing OpenAI Refresh Token(s). Supports batch input (one per line). The system will automatically validate and create accounts.',
refreshTokenDesc:'Enter your existing OpenAI Refresh Token(s). Supports batch input (one per line). The system will automatically validate and create accounts.',
refreshTokenPlaceholder:'Paste your OpenAI Refresh Token...\nSupports multiple, one per line',
refreshTokenPlaceholder:'Paste your OpenAI Refresh Token...\nSupports multiple, one per line',
sessionTokenAuth:'Manual ST Input',
sessionTokenAuth:'Manual ST Input',
sessionTokenDesc:'Enter your existing Sora Session Token(s). Supports batch input (one per line). The system will automatically validate and create accounts.',
sessionTokenDesc:'Enter your existing Session Token(s). Supports batch input (one per line). The system will automatically validate and create accounts.',
sessionTokenPlaceholder:'Paste your Sora Session Token...\nSupports multiple, one per line',
sessionTokenPlaceholder:'Paste your Session Token...\nSupports multiple, one per line',
sessionTokenRawLabel:'Raw Input',
sessionTokenRawLabel:'Raw Input',
sessionTokenRawPlaceholder:'Paste /api/auth/session raw payload or Session Token...',
sessionTokenRawPlaceholder:'Paste /api/auth/session raw payload or Session Token...',
sessionTokenRawHint:'You can paste full JSON. The system will auto-parse ST and AT.',
sessionTokenRawHint:'You can paste full JSON. The system will auto-parse ST and AT.',