mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 19:21:22 +00:00
fix: 修复重复键
This commit is contained in:
@@ -62,6 +62,30 @@ export default {
|
|||||||
info: 'Information'
|
info: 'Information'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
errors: {
|
||||||
|
loadDashboardFailed: 'Failed to load dashboard data',
|
||||||
|
loadUsageTrendFailed: 'Failed to load usage trend',
|
||||||
|
loadModelStatsFailed: 'Failed to load model statistics',
|
||||||
|
loadApiKeysTrendFailed: 'Failed to load API Keys trend',
|
||||||
|
createClaudeConsoleAccountFailed: 'Failed to create Claude Console account',
|
||||||
|
createAzureOpenAIAccountFailed: 'Failed to create Azure OpenAI account',
|
||||||
|
updateClaudeConsoleAccountFailed: 'Failed to update Claude Console account',
|
||||||
|
updateAzureOpenAIAccountFailed: 'Failed to update Azure OpenAI account',
|
||||||
|
generateSetupTokenUrlFailed: 'Failed to generate Setup Token URL',
|
||||||
|
exchangeSetupTokenFailed: 'Failed to exchange Setup Token authorization code',
|
||||||
|
allApiKeysInvalid: 'All API Keys are invalid',
|
||||||
|
loadOemSettingsFailed: 'Failed to load OEM settings',
|
||||||
|
getApiKeyStatsFailed: 'Failed to get API Key statistics',
|
||||||
|
getTagsFailed: 'Failed to get tags',
|
||||||
|
requestFailed: 'Request failed: {status}',
|
||||||
|
loadSupportedClientsFailed: 'Failed to load supported clients'
|
||||||
|
},
|
||||||
|
system: {
|
||||||
|
status: {
|
||||||
|
normal: 'Normal',
|
||||||
|
abnormal: 'Abnormal'
|
||||||
|
}
|
||||||
|
},
|
||||||
confirmDialog: {
|
confirmDialog: {
|
||||||
confirm: 'Confirm',
|
confirm: 'Confirm',
|
||||||
cancel: 'Cancel'
|
cancel: 'Cancel'
|
||||||
@@ -131,10 +155,6 @@ export default {
|
|||||||
minutesAgo: '{minutes} minutes ago',
|
minutesAgo: '{minutes} minutes ago',
|
||||||
hoursAgo: '{hours} hours ago',
|
hoursAgo: '{hours} hours ago',
|
||||||
daysAgo: '{days} days ago'
|
daysAgo: '{days} days ago'
|
||||||
},
|
|
||||||
errors: {
|
|
||||||
requestFailed: 'Request failed: {status}',
|
|
||||||
loadSupportedClientsFailed: 'Failed to load supported clients'
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
language: {
|
language: {
|
||||||
@@ -221,7 +241,6 @@ export default {
|
|||||||
apiKeyInfo: 'API Key Information',
|
apiKeyInfo: 'API Key Information',
|
||||||
queryKeysCount: 'Query Keys Count',
|
queryKeysCount: 'Query Keys Count',
|
||||||
activeKeysCount: 'Active Keys Count',
|
activeKeysCount: 'Active Keys Count',
|
||||||
invalidKeysCount: 'Invalid Keys Count',
|
|
||||||
totalRequests: 'Total Requests',
|
totalRequests: 'Total Requests',
|
||||||
totalTokens: 'Total Tokens',
|
totalTokens: 'Total Tokens',
|
||||||
totalCost: 'Total Cost',
|
totalCost: 'Total Cost',
|
||||||
@@ -237,7 +256,6 @@ export default {
|
|||||||
modelUsageStats: 'Model Usage Statistics',
|
modelUsageStats: 'Model Usage Statistics',
|
||||||
loadingModelStats: 'Loading model statistics...',
|
loadingModelStats: 'Loading model statistics...',
|
||||||
requestCount: ' requests',
|
requestCount: ' requests',
|
||||||
totalCost: 'Total Cost',
|
|
||||||
inputTokens: 'Input Tokens',
|
inputTokens: 'Input Tokens',
|
||||||
outputTokens: 'Output Tokens',
|
outputTokens: 'Output Tokens',
|
||||||
cacheCreateTokens: 'Cache Create',
|
cacheCreateTokens: 'Cache Create',
|
||||||
@@ -2436,12 +2454,6 @@ export default {
|
|||||||
|
|
||||||
// Manual Token Input Section
|
// Manual Token Input Section
|
||||||
manualTokenInput: 'Manual Token Input',
|
manualTokenInput: 'Manual Token Input',
|
||||||
manualTokenClaudeDescription:
|
|
||||||
'Please enter valid Claude Access Token. If you have Refresh Token, it is recommended to fill both for automatic refresh support.',
|
|
||||||
manualTokenGeminiDescription:
|
|
||||||
'Please enter valid Gemini Access Token. If you have Refresh Token, it is recommended to fill both for automatic refresh support.',
|
|
||||||
manualTokenOpenAIDescription:
|
|
||||||
'Please enter valid OpenAI Access Token. If you have Refresh Token, it is recommended to fill both for automatic refresh support.',
|
|
||||||
getAccessTokenMethod: 'Methods to get Access Token:',
|
getAccessTokenMethod: 'Methods to get Access Token:',
|
||||||
claudeCredentialsPath: 'Please get from logged-in Claude Code machine',
|
claudeCredentialsPath: 'Please get from logged-in Claude Code machine',
|
||||||
geminiCredentialsPath: 'Please get from logged-in Gemini CLI machine',
|
geminiCredentialsPath: 'Please get from logged-in Gemini CLI machine',
|
||||||
@@ -2451,18 +2463,11 @@ export default {
|
|||||||
'credentials from file, do not use keys from Claude official API Keys page.',
|
'credentials from file, do not use keys from Claude official API Keys page.',
|
||||||
refreshTokenWarning:
|
refreshTokenWarning:
|
||||||
'💡 If Refresh Token is not filled, Token needs manual update after expiration.',
|
'💡 If Refresh Token is not filled, Token needs manual update after expiration.',
|
||||||
accessTokenOptional: 'Access Token (Optional)',
|
|
||||||
accessTokenOptionalPlaceholder:
|
|
||||||
'Optional: If not filled, system will automatically obtain through Refresh Token...',
|
|
||||||
accessTokenOptionalInfo:
|
accessTokenOptionalInfo:
|
||||||
'Access Token is optional. If not provided, system will automatically obtain through Refresh Token.',
|
'Access Token is optional. If not provided, system will automatically obtain through Refresh Token.',
|
||||||
accessTokenRequired: 'Access Token *',
|
|
||||||
accessTokenRequiredPlaceholder: 'Please enter Access Token...',
|
accessTokenRequiredPlaceholder: 'Please enter Access Token...',
|
||||||
refreshTokenRequired: 'Refresh Token *',
|
|
||||||
refreshTokenRequiredPlaceholder: 'Please enter Refresh Token (required)...',
|
|
||||||
refreshTokenRequiredInfo:
|
refreshTokenRequiredInfo:
|
||||||
'System will use Refresh Token to automatically obtain Access Token and user information',
|
'System will use Refresh Token to automatically obtain Access Token and user information',
|
||||||
refreshTokenOptional: 'Refresh Token (Optional)',
|
|
||||||
refreshTokenOptionalPlaceholder: 'Please enter Refresh Token...',
|
refreshTokenOptionalPlaceholder: 'Please enter Refresh Token...',
|
||||||
|
|
||||||
// Priority Settings
|
// Priority Settings
|
||||||
@@ -2471,35 +2476,11 @@ export default {
|
|||||||
prioritySchedulingTitle: 'Scheduling Priority (1-100)',
|
prioritySchedulingTitle: 'Scheduling Priority (1-100)',
|
||||||
priorityEditPlaceholder: 'Lower number = higher priority',
|
priorityEditPlaceholder: 'Lower number = higher priority',
|
||||||
|
|
||||||
// Gemini Project ID
|
|
||||||
projectIdOptional: 'Project ID (Optional)',
|
|
||||||
projectIdPlaceholder: 'e.g., verdant-wares-464411-k9',
|
|
||||||
projectIdDescription: 'Google Cloud/Workspace accounts may require Project ID',
|
|
||||||
|
|
||||||
// Claude Subscription Type and Advanced Options
|
// Claude Subscription Type and Advanced Options
|
||||||
subscriptionType: 'Subscription Type',
|
|
||||||
claudeMaxSubscription: 'Claude Max',
|
claudeMaxSubscription: 'Claude Max',
|
||||||
claudeProSubscription: 'Claude Pro',
|
claudeProSubscription: 'Claude Pro',
|
||||||
claudeProLimitation: 'Pro accounts do not support Claude Opus 4 model',
|
|
||||||
autoStopOnWarning: 'Auto-stop scheduling when approaching 5-hour limit',
|
|
||||||
autoStopOnWarningDescription:
|
|
||||||
'When system detects account approaching 5-hour usage limit, automatically pause scheduling for this account. Will resume automatically when entering new time window.',
|
|
||||||
useUnifiedUserAgent: 'Use unified Claude Code version',
|
|
||||||
useUnifiedUserAgentDescription:
|
|
||||||
'When enabled, will use unified User-Agent captured from real Claude Code client, improving compatibility',
|
|
||||||
currentUnifiedVersion: 'Current unified version:',
|
|
||||||
clearCache: 'Clear Cache',
|
|
||||||
clearing: 'Clearing...',
|
|
||||||
waitingForCapture: 'Waiting to capture User-Agent from Claude Code client',
|
|
||||||
captureHint:
|
|
||||||
'💡 Hint: If unable to capture for long time, please confirm Claude Code client is using this account, or contact developer to check if User-Agent format has changed',
|
|
||||||
useUnifiedClientId: 'Use unified client identifier',
|
|
||||||
useUnifiedClientIdDescription:
|
|
||||||
'When enabled, will use fixed client identifier, making all requests appear to come from same client, reducing characteristics',
|
|
||||||
clientIdLabel: 'Client Identifier ID',
|
clientIdLabel: 'Client Identifier ID',
|
||||||
regenerateClientId: 'Regenerate',
|
regenerateClientId: 'Regenerate',
|
||||||
clientIdDescription:
|
|
||||||
'This ID will replace user_id client part in requests, preserving session part for sticky sessions',
|
|
||||||
|
|
||||||
// Edit Mode Fields
|
// Edit Mode Fields
|
||||||
accountNameEdit: 'Account Name',
|
accountNameEdit: 'Account Name',
|
||||||
@@ -2507,7 +2488,6 @@ export default {
|
|||||||
descriptionOptionalEdit: 'Description (Optional)',
|
descriptionOptionalEdit: 'Description (Optional)',
|
||||||
descriptionOptionalEditPlaceholder: 'Account usage description...',
|
descriptionOptionalEditPlaceholder: 'Account usage description...',
|
||||||
accountTypeEdit: 'Account Type',
|
accountTypeEdit: 'Account Type',
|
||||||
selectGroupRequired: 'Select Group *',
|
|
||||||
noAvailableGroups: 'No available groups',
|
noAvailableGroups: 'No available groups',
|
||||||
membersCount: ' members',
|
membersCount: ' members',
|
||||||
createNewGroup: 'Create New Group',
|
createNewGroup: 'Create New Group',
|
||||||
@@ -2516,32 +2496,14 @@ export default {
|
|||||||
bedrockCredentials: 'Credentials Configuration',
|
bedrockCredentials: 'Credentials Configuration',
|
||||||
bedrockCredentialsDescription:
|
bedrockCredentialsDescription:
|
||||||
'Please fill in AWS access credentials for calling Amazon Bedrock service.',
|
'Please fill in AWS access credentials for calling Amazon Bedrock service.',
|
||||||
awsAccessKeyId: 'AWS Access Key ID *',
|
|
||||||
awsAccessKeyIdPlaceholder: 'Please enter AWS Access Key ID...',
|
|
||||||
awsSecretAccessKey: 'AWS Secret Access Key *',
|
|
||||||
awsSecretAccessKeyPlaceholder: 'Please enter AWS Secret Access Key...',
|
|
||||||
sessionTokenOptional: 'Session Token (Optional)',
|
|
||||||
sessionTokenOptionalPlaceholder: 'Session token for temporary credentials...',
|
|
||||||
sessionTokenDescription:
|
|
||||||
'Only required when using temporary credentials (like STS generated credentials)',
|
|
||||||
awsRegion: 'AWS Region *',
|
|
||||||
awsRegionPlaceholder: 'Select AWS region...',
|
|
||||||
bedrockModelConfig: 'Model Configuration',
|
bedrockModelConfig: 'Model Configuration',
|
||||||
defaultModelLabel: 'Default Model',
|
defaultModelLabel: 'Default Model',
|
||||||
defaultModelPlaceholder: 'e.g., anthropic.claude-3-5-sonnet-20240620-v1:0',
|
|
||||||
defaultModelDescription:
|
|
||||||
'Leave blank to use system default model. Supports inference profile ID or ARN',
|
|
||||||
smallFastModelLabel: 'Small Fast Model',
|
smallFastModelLabel: 'Small Fast Model',
|
||||||
smallFastModelPlaceholder: 'e.g., anthropic.claude-3-haiku-20240307-v1:0',
|
|
||||||
smallFastModelDescription: 'Fast model for simple tasks, supports inference profile ID or ARN',
|
|
||||||
|
|
||||||
// Azure OpenAI Configuration
|
// Azure OpenAI Configuration
|
||||||
azureOpenAIConfig: 'Azure OpenAI Configuration',
|
azureOpenAIConfig: 'Azure OpenAI Configuration',
|
||||||
azureOpenAIDescription:
|
azureOpenAIDescription:
|
||||||
'Please configure connection information and deployment details for Azure OpenAI service.',
|
'Please configure connection information and deployment details for Azure OpenAI service.',
|
||||||
azureEndpoint: 'Azure Endpoint *',
|
|
||||||
azureEndpointPlaceholder: 'e.g., https://your-resource.openai.azure.com/',
|
|
||||||
azureEndpointDescription: 'Endpoint URL for Azure OpenAI service',
|
|
||||||
azureApiKey: 'API Key *',
|
azureApiKey: 'API Key *',
|
||||||
azureApiKeyPlaceholder: 'Please enter Azure OpenAI API Key...',
|
azureApiKeyPlaceholder: 'Please enter Azure OpenAI API Key...',
|
||||||
azureApiVersion: 'API Version',
|
azureApiVersion: 'API Version',
|
||||||
@@ -2565,7 +2527,6 @@ export default {
|
|||||||
modelMappingFromPlaceholder: 'e.g., claude-3-5-sonnet-20241022',
|
modelMappingFromPlaceholder: 'e.g., claude-3-5-sonnet-20241022',
|
||||||
modelMappingTo: 'Actual Model',
|
modelMappingTo: 'Actual Model',
|
||||||
modelMappingToPlaceholder: 'e.g., claude-3-5-sonnet-latest',
|
modelMappingToPlaceholder: 'e.g., claude-3-5-sonnet-latest',
|
||||||
addModelMapping: 'Add Mapping',
|
|
||||||
removeMapping: 'Remove',
|
removeMapping: 'Remove',
|
||||||
presetMappings: 'Preset Mappings',
|
presetMappings: 'Preset Mappings',
|
||||||
modelMappingExample: 'Example: claude-3-5-sonnet-20241022 → claude-3-5-sonnet-latest',
|
modelMappingExample: 'Example: claude-3-5-sonnet-20241022 → claude-3-5-sonnet-latest',
|
||||||
@@ -2579,11 +2540,7 @@ export default {
|
|||||||
setupTokenStep1Description:
|
setupTokenStep1Description:
|
||||||
'System will generate a dedicated authorization link for obtaining temporary authorization code.',
|
'System will generate a dedicated authorization link for obtaining temporary authorization code.',
|
||||||
setupTokenStep2: 'Step 2: Complete Authorization',
|
setupTokenStep2: 'Step 2: Complete Authorization',
|
||||||
setupTokenStep2Description:
|
|
||||||
'Open authorization link in new window, log in with your Claude account and complete authorization.',
|
|
||||||
setupTokenStep3: 'Step 3: Enter Authorization Code',
|
setupTokenStep3: 'Step 3: Enter Authorization Code',
|
||||||
setupTokenStep3Description:
|
|
||||||
'After successful authorization, system will display authorization code, please copy and paste into input box below.',
|
|
||||||
setupTokenUrlGenerated: 'Authorization link generated',
|
setupTokenUrlGenerated: 'Authorization link generated',
|
||||||
setupTokenOpenInBrowser: 'Open in browser',
|
setupTokenOpenInBrowser: 'Open in browser',
|
||||||
setupTokenCopyLink: 'Copy link',
|
setupTokenCopyLink: 'Copy link',
|
||||||
@@ -2611,16 +2568,9 @@ export default {
|
|||||||
|
|
||||||
// Rate Limiting and Quota Management
|
// Rate Limiting and Quota Management
|
||||||
rateLimitSettings: 'Rate Limit Settings',
|
rateLimitSettings: 'Rate Limit Settings',
|
||||||
enableRateLimit: 'Enable rate limiting',
|
|
||||||
rateLimitDuration: 'Rate limit duration (seconds)',
|
|
||||||
rateLimitDurationPlaceholder: 'e.g., 60',
|
rateLimitDurationPlaceholder: 'e.g., 60',
|
||||||
rateLimitDescription:
|
|
||||||
'When enabled, will limit request frequency to prevent account being blocked',
|
|
||||||
quotaManagement: 'Quota Management',
|
quotaManagement: 'Quota Management',
|
||||||
dailyQuotaLabel: 'Daily quota limit',
|
|
||||||
dailyQuotaPlaceholder: '0 means unlimited',
|
|
||||||
quotaResetTimeLabel: 'Quota reset time',
|
quotaResetTimeLabel: 'Quota reset time',
|
||||||
quotaResetTimePlaceholder: 'e.g., 00:00',
|
|
||||||
quotaResetDescription: 'Time point when daily quota resets',
|
quotaResetDescription: 'Time point when daily quota resets',
|
||||||
currentDailyUsage: 'Today used',
|
currentDailyUsage: 'Today used',
|
||||||
|
|
||||||
@@ -2628,7 +2578,6 @@ export default {
|
|||||||
advancedSettings: 'Advanced Settings',
|
advancedSettings: 'Advanced Settings',
|
||||||
customUserAgent: 'Custom User-Agent',
|
customUserAgent: 'Custom User-Agent',
|
||||||
customUserAgentPlaceholder: 'Leave blank to use default User-Agent...',
|
customUserAgentPlaceholder: 'Leave blank to use default User-Agent...',
|
||||||
userAgentDescription: 'User-Agent identifier for requests',
|
|
||||||
|
|
||||||
// General Hints and Status
|
// General Hints and Status
|
||||||
notSet: 'Not set',
|
notSet: 'Not set',
|
||||||
@@ -2669,7 +2618,6 @@ export default {
|
|||||||
'Tip: If your account is a regular personal account (not bound to Google Cloud), please leave this field empty.',
|
'Tip: If your account is a regular personal account (not bound to Google Cloud), please leave this field empty.',
|
||||||
|
|
||||||
// AWS Region Reference
|
// AWS Region Reference
|
||||||
awsRegionReference: 'Common AWS regions reference:',
|
|
||||||
awsRegionEastUS: 'us-east-1 (US East)',
|
awsRegionEastUS: 'us-east-1 (US East)',
|
||||||
awsRegionWestUS: 'us-west-2 (US West)',
|
awsRegionWestUS: 'us-west-2 (US West)',
|
||||||
awsRegionEuropeIreland: 'eu-west-1 (Europe Ireland)',
|
awsRegionEuropeIreland: 'eu-west-1 (Europe Ireland)',
|
||||||
@@ -2689,7 +2637,6 @@ export default {
|
|||||||
azureModelSelectionDesc: 'Select model types supported by this deployment',
|
azureModelSelectionDesc: 'Select model types supported by this deployment',
|
||||||
|
|
||||||
// Rate Limiting
|
// Rate Limiting
|
||||||
rateLimitMechanism: 'Rate limiting mechanism',
|
|
||||||
enableRateLimitMechanism: 'Enable rate limiting mechanism',
|
enableRateLimitMechanism: 'Enable rate limiting mechanism',
|
||||||
rateLimitDescription2:
|
rateLimitDescription2:
|
||||||
'When enabled, will pause scheduling for some time when account returns 429 error',
|
'When enabled, will pause scheduling for some time when account returns 429 error',
|
||||||
@@ -2699,34 +2646,22 @@ export default {
|
|||||||
|
|
||||||
// Claude Console Specific Fields
|
// Claude Console Specific Fields
|
||||||
claudeConsoleFields: 'Claude Console specific fields',
|
claudeConsoleFields: 'Claude Console specific fields',
|
||||||
quotaManagement: 'Quota management',
|
|
||||||
modelMappingTable: 'Model mapping table',
|
modelMappingTable: 'Model mapping table',
|
||||||
modelMappingTableOptional: 'Model mapping table (optional)',
|
modelMappingTableOptional: 'Model mapping table (optional)',
|
||||||
addModelMapping: 'Add model mapping',
|
|
||||||
|
|
||||||
// Claude Subscription Type
|
|
||||||
subscriptionType: 'Subscription type',
|
|
||||||
|
|
||||||
// Setup Token Auth
|
// Setup Token Auth
|
||||||
setupTokenAuth: 'Setup Token authorization',
|
|
||||||
claudeSetupTokenAuth: 'Claude Setup Token authorization',
|
claudeSetupTokenAuth: 'Claude Setup Token authorization',
|
||||||
setupTokenAuthSteps:
|
setupTokenAuthSteps:
|
||||||
'Please follow these steps to complete Claude account authorization through Setup Token:',
|
'Please follow these steps to complete Claude account authorization through Setup Token:',
|
||||||
generateSetupTokenLink: 'Generate Setup Token auth link',
|
generateSetupTokenLink: 'Generate Setup Token auth link',
|
||||||
generating: 'Generating...',
|
|
||||||
|
|
||||||
// Buttons and actions
|
// Buttons and actions
|
||||||
verifying: 'Verifying...',
|
|
||||||
completeAuth: 'Complete authorization',
|
completeAuth: 'Complete authorization',
|
||||||
updating: 'Updating...',
|
|
||||||
update: 'Update',
|
|
||||||
|
|
||||||
// Error messages
|
// Error messages
|
||||||
generateSetupTokenFailed: 'Failed to generate Setup Token auth link',
|
generateSetupTokenFailed: 'Failed to generate Setup Token auth link',
|
||||||
copyFailed: 'Copy failed, please copy manually',
|
|
||||||
setupTokenAuthFailed:
|
setupTokenAuthFailed:
|
||||||
'Setup Token authorization failed, please check if the authorization code is correct',
|
'Setup Token authorization failed, please check if the authorization code is correct',
|
||||||
accountCreationFailed: 'Account creation failed',
|
|
||||||
accountCreationError: 'Account creation failed:',
|
accountCreationError: 'Account creation failed:',
|
||||||
|
|
||||||
// Page structure comments
|
// Page structure comments
|
||||||
@@ -2741,29 +2676,18 @@ export default {
|
|||||||
|
|
||||||
// Validation messages
|
// Validation messages
|
||||||
nameRequired: 'Please enter account name',
|
nameRequired: 'Please enter account name',
|
||||||
apiUrlRequired: 'Please enter API URL',
|
|
||||||
rateLimitDefault60: 'Default 60 minutes',
|
rateLimitDefault60: 'Default 60 minutes',
|
||||||
rateLimitPauseDescription: 'Time to pause scheduling after account is rate limited (minutes)',
|
rateLimitPauseDescription: 'Time to pause scheduling after account is rate limited (minutes)',
|
||||||
apiUrlPlaceholder: 'e.g., https://api.example.com',
|
|
||||||
apiKeyPlaceholder: 'Please enter API Key',
|
|
||||||
dailyQuotaLimit: 'Daily quota limit ($)',
|
dailyQuotaLimit: 'Daily quota limit ($)',
|
||||||
quotaZeroUnlimited: '0 means unlimited',
|
quotaZeroUnlimited: '0 means unlimited',
|
||||||
dailyQuotaDescription: 'Set daily usage quota, 0 means unlimited',
|
|
||||||
quotaResetTime: 'Quota reset time',
|
|
||||||
quotaResetTimeDescription: 'Time to automatically reset quota daily',
|
|
||||||
modelMappingDescription:
|
|
||||||
'Leave empty to support all models without modifying requests. After configuring mapping, left model will be recognized as supported model, right is the actual model sent.',
|
|
||||||
|
|
||||||
// Quota Management
|
// Quota Management
|
||||||
quotaManagementFields: 'Quota management fields',
|
quotaManagementFields: 'Quota management fields',
|
||||||
dailyQuotaLimitDollar: 'Daily quota limit ($)',
|
dailyQuotaLimitDollar: 'Daily quota limit ($)',
|
||||||
quotaZeroUnlimited: '0 means unlimited',
|
|
||||||
dailyQuotaDesc: 'Set daily usage quota, 0 means unlimited',
|
dailyQuotaDesc: 'Set daily usage quota, 0 means unlimited',
|
||||||
quotaResetTime: 'Quota reset time',
|
|
||||||
quotaResetTimeDesc: 'Time to automatically reset quota daily',
|
quotaResetTimeDesc: 'Time to automatically reset quota daily',
|
||||||
|
|
||||||
// Model Mapping
|
// Model Mapping
|
||||||
modelMappingOptional: 'Model mapping table (optional)',
|
|
||||||
modelMappingDesc:
|
modelMappingDesc:
|
||||||
'Leave empty to support all models without modifying requests. After configuring mapping, left model will be recognized as supported model, right is the actual model sent.',
|
'Leave empty to support all models without modifying requests. After configuring mapping, left model will be recognized as supported model, right is the actual model sent.',
|
||||||
originalModelName: 'Original model name',
|
originalModelName: 'Original model name',
|
||||||
@@ -2776,7 +2700,6 @@ export default {
|
|||||||
|
|
||||||
// Claude Subscription Type
|
// Claude Subscription Type
|
||||||
claudeSubscriptionType: 'Subscription type',
|
claudeSubscriptionType: 'Subscription type',
|
||||||
claudeProLimitation: 'Pro accounts do not support Claude Opus 4 model',
|
|
||||||
|
|
||||||
// Claude Advanced Options
|
// Claude Advanced Options
|
||||||
claudeAutoStopScheduling: 'Auto-stop scheduling when approaching 5-hour limit',
|
claudeAutoStopScheduling: 'Auto-stop scheduling when approaching 5-hour limit',
|
||||||
@@ -2807,13 +2730,10 @@ export default {
|
|||||||
setupTokenCopyTitle: 'Copy link',
|
setupTokenCopyTitle: 'Copy link',
|
||||||
|
|
||||||
// Step Indicators
|
// Step Indicators
|
||||||
stepIndicator: 'Step indicator',
|
|
||||||
step1BasicInfo: 'Step 1: Basic information and proxy settings',
|
|
||||||
step2OAuth: 'Step 2: OAuth authorization',
|
step2OAuth: 'Step 2: OAuth authorization',
|
||||||
step2SetupToken: 'Step 2: Setup Token authorization',
|
step2SetupToken: 'Step 2: Setup Token authorization',
|
||||||
|
|
||||||
// Group Selector
|
// Group Selector
|
||||||
groupSelector: 'Group selector',
|
|
||||||
multiGroupInterface: 'Multi-group interface',
|
multiGroupInterface: 'Multi-group interface',
|
||||||
createNewGroupOption: 'Create new group option',
|
createNewGroupOption: 'Create new group option',
|
||||||
|
|
||||||
@@ -2823,15 +2743,12 @@ export default {
|
|||||||
// Placeholder texts
|
// Placeholder texts
|
||||||
originalModelNamePlaceholder: 'Original model name',
|
originalModelNamePlaceholder: 'Original model name',
|
||||||
mappedModelNamePlaceholder: 'Mapped model name',
|
mappedModelNamePlaceholder: 'Mapped model name',
|
||||||
userAgentPlaceholder: 'Leave empty to pass through client User-Agent',
|
|
||||||
authCodePlaceholder: 'Paste Authorization Code obtained from Claude Code auth page...',
|
authCodePlaceholder: 'Paste Authorization Code obtained from Claude Code auth page...',
|
||||||
leaveEmptyNoUpdate: 'Leave empty for no update',
|
leaveEmptyNoUpdate: 'Leave empty for no update',
|
||||||
leaveEmptyNoUpdateKey: 'Leave empty for no API Key update',
|
leaveEmptyNoUpdateKey: 'Leave empty for no API Key update',
|
||||||
leaveEmptyNoUpdateToken: 'Leave empty for no update...',
|
leaveEmptyNoUpdateToken: 'Leave empty for no update...',
|
||||||
|
|
||||||
// Labels and descriptions
|
// Labels and descriptions
|
||||||
customUserAgentOptional: 'Custom User-Agent (optional)',
|
|
||||||
clientIdLabel: 'Client ID',
|
|
||||||
schedulePriorityLabel: 'Schedule Priority (1-100)',
|
schedulePriorityLabel: 'Schedule Priority (1-100)',
|
||||||
attentionLabel: 'Attention:',
|
attentionLabel: 'Attention:',
|
||||||
supportedModelsLabel: 'Supported Models',
|
supportedModelsLabel: 'Supported Models',
|
||||||
@@ -2844,19 +2761,16 @@ export default {
|
|||||||
previousStepBtn: 'Previous Step',
|
previousStepBtn: 'Previous Step',
|
||||||
|
|
||||||
// Descriptive texts
|
// Descriptive texts
|
||||||
claudeProLimitation: 'Pro accounts do not support Claude Opus 4 model',
|
|
||||||
claude5HourLimitDesc: 'Auto-stop scheduling when approaching 5-hour usage limit',
|
claude5HourLimitDesc: 'Auto-stop scheduling when approaching 5-hour usage limit',
|
||||||
claude5HourLimitExplanation:
|
claude5HourLimitExplanation:
|
||||||
'When system detects account approaching 5-hour usage limit, automatically pause scheduling for this account. Will resume automatically when entering new time window.',
|
'When system detects account approaching 5-hour usage limit, automatically pause scheduling for this account. Will resume automatically when entering new time window.',
|
||||||
useUnifiedClaudeVersion: 'Use unified Claude Code version',
|
useUnifiedClaudeVersion: 'Use unified Claude Code version',
|
||||||
unifiedVersionDesc:
|
unifiedVersionDesc:
|
||||||
'When enabled, will use unified User-Agent captured from real Claude Code client, improving compatibility',
|
'When enabled, will use unified User-Agent captured from real Claude Code client, improving compatibility',
|
||||||
currentUnifiedVersion: '💡 Current unified version:',
|
|
||||||
waitingUserAgent: '⏳ Waiting to capture User-Agent from Claude Code client',
|
waitingUserAgent: '⏳ Waiting to capture User-Agent from Claude Code client',
|
||||||
userAgentTip:
|
userAgentTip:
|
||||||
'💡 Tip: If unable to capture for a long time, please confirm that Claude Code client is using this account,',
|
'💡 Tip: If unable to capture for a long time, please confirm that Claude Code client is using this account,',
|
||||||
contactDeveloper: 'or contact developer to check if User-Agent format has changed',
|
contactDeveloper: 'or contact developer to check if User-Agent format has changed',
|
||||||
useUnifiedClientId: 'Use unified client identifier',
|
|
||||||
unifiedClientIdDesc:
|
unifiedClientIdDesc:
|
||||||
'When enabled, will use fixed client identifier, making all requests appear from same client, reducing fingerprinting',
|
'When enabled, will use fixed client identifier, making all requests appear from same client, reducing fingerprinting',
|
||||||
clientIdReplaceDesc:
|
clientIdReplaceDesc:
|
||||||
@@ -2883,9 +2797,6 @@ export default {
|
|||||||
awsRegionRef: 'Common AWS regions reference:',
|
awsRegionRef: 'Common AWS regions reference:',
|
||||||
|
|
||||||
// Error messages
|
// Error messages
|
||||||
apiKeyRequired: 'Please enter API Key',
|
|
||||||
refreshTokenRequired: 'Please enter Refresh Token',
|
|
||||||
accessTokenRequired: 'Please enter Access Token',
|
|
||||||
copyFailedManual: 'Copy failed, please copy manually',
|
copyFailedManual: 'Copy failed, please copy manually',
|
||||||
|
|
||||||
// Form descriptions
|
// Form descriptions
|
||||||
@@ -2897,9 +2808,7 @@ export default {
|
|||||||
|
|
||||||
// Basic labels
|
// Basic labels
|
||||||
apiUrlLabel: 'API URL',
|
apiUrlLabel: 'API URL',
|
||||||
apiUrlRequired: 'API URL *',
|
|
||||||
apiKeyLabel: 'API Key',
|
apiKeyLabel: 'API Key',
|
||||||
apiKeyRequired: 'API Key *',
|
|
||||||
|
|
||||||
// More missing keys
|
// More missing keys
|
||||||
copyLinkTooltip: 'Copy Link',
|
copyLinkTooltip: 'Copy Link',
|
||||||
|
|||||||
@@ -62,6 +62,30 @@ export default {
|
|||||||
info: '信息'
|
info: '信息'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
errors: {
|
||||||
|
loadDashboardFailed: '加载仪表板数据失败',
|
||||||
|
loadUsageTrendFailed: '加载使用趋势失败',
|
||||||
|
loadModelStatsFailed: '加载模型统计失败',
|
||||||
|
loadApiKeysTrendFailed: '加载API Keys趋势失败',
|
||||||
|
createClaudeConsoleAccountFailed: '创建Claude Console账户失败',
|
||||||
|
createAzureOpenAIAccountFailed: '创建Azure OpenAI账户失败',
|
||||||
|
updateClaudeConsoleAccountFailed: '更新Claude Console账户失败',
|
||||||
|
updateAzureOpenAIAccountFailed: '更新Azure OpenAI账户失败',
|
||||||
|
generateSetupTokenUrlFailed: '生成Setup Token URL失败',
|
||||||
|
exchangeSetupTokenFailed: '交换Setup Token授权码失败',
|
||||||
|
allApiKeysInvalid: '所有 API Key 都无效',
|
||||||
|
loadOemSettingsFailed: '加载OEM设置失败',
|
||||||
|
getApiKeyStatsFailed: '获取API Key统计失败',
|
||||||
|
getTagsFailed: '获取标签失败',
|
||||||
|
requestFailed: '请求失败: {status}',
|
||||||
|
loadSupportedClientsFailed: '加载支持的客户端失败'
|
||||||
|
},
|
||||||
|
system: {
|
||||||
|
status: {
|
||||||
|
normal: '正常',
|
||||||
|
abnormal: '异常'
|
||||||
|
}
|
||||||
|
},
|
||||||
confirmDialog: {
|
confirmDialog: {
|
||||||
confirm: '确认',
|
confirm: '确认',
|
||||||
cancel: '取消'
|
cancel: '取消'
|
||||||
@@ -131,10 +155,6 @@ export default {
|
|||||||
minutesAgo: '{minutes}分钟前',
|
minutesAgo: '{minutes}分钟前',
|
||||||
hoursAgo: '{hours}小时前',
|
hoursAgo: '{hours}小时前',
|
||||||
daysAgo: '{days}天前'
|
daysAgo: '{days}天前'
|
||||||
},
|
|
||||||
errors: {
|
|
||||||
requestFailed: '请求失败: {status}',
|
|
||||||
loadSupportedClientsFailed: '加载支持的客户端失败'
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
language: {
|
language: {
|
||||||
@@ -145,37 +165,6 @@ export default {
|
|||||||
switch: '切换语言'
|
switch: '切换语言'
|
||||||
},
|
},
|
||||||
|
|
||||||
layout: {
|
|
||||||
tabBar: {
|
|
||||||
tabs: {
|
|
||||||
dashboard: {
|
|
||||||
name: '仪表板',
|
|
||||||
shortName: '仪表板'
|
|
||||||
},
|
|
||||||
apiKeys: {
|
|
||||||
name: 'API Keys',
|
|
||||||
shortName: 'API'
|
|
||||||
},
|
|
||||||
accounts: {
|
|
||||||
name: '账户管理',
|
|
||||||
shortName: '账户'
|
|
||||||
},
|
|
||||||
userManagement: {
|
|
||||||
name: '用户管理',
|
|
||||||
shortName: '用户'
|
|
||||||
},
|
|
||||||
tutorial: {
|
|
||||||
name: '使用教程',
|
|
||||||
shortName: '教程'
|
|
||||||
},
|
|
||||||
settings: {
|
|
||||||
name: '系统设置',
|
|
||||||
shortName: '设置'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
header: {
|
header: {
|
||||||
adminPanel: '管理后台',
|
adminPanel: '管理后台',
|
||||||
userMenu: '用户菜单',
|
userMenu: '用户菜单',
|
||||||
@@ -253,7 +242,6 @@ export default {
|
|||||||
apiKeyInfo: 'API Key 信息',
|
apiKeyInfo: 'API Key 信息',
|
||||||
queryKeysCount: '查询 Keys 数',
|
queryKeysCount: '查询 Keys 数',
|
||||||
activeKeysCount: '有效 Keys 数',
|
activeKeysCount: '有效 Keys 数',
|
||||||
invalidKeysCount: '无效 Keys 数',
|
|
||||||
totalRequests: '总请求数',
|
totalRequests: '总请求数',
|
||||||
totalTokens: '总 Token 数',
|
totalTokens: '总 Token 数',
|
||||||
totalCost: '总费用',
|
totalCost: '总费用',
|
||||||
@@ -269,7 +257,6 @@ export default {
|
|||||||
modelUsageStats: '模型使用统计',
|
modelUsageStats: '模型使用统计',
|
||||||
loadingModelStats: '加载模型统计数据中...',
|
loadingModelStats: '加载模型统计数据中...',
|
||||||
requestCount: '次请求',
|
requestCount: '次请求',
|
||||||
totalCost: '总费用',
|
|
||||||
inputTokens: '输入 Token',
|
inputTokens: '输入 Token',
|
||||||
outputTokens: '输出 Token',
|
outputTokens: '输出 Token',
|
||||||
cacheCreateTokens: '缓存创建',
|
cacheCreateTokens: '缓存创建',
|
||||||
@@ -2420,12 +2407,6 @@ export default {
|
|||||||
|
|
||||||
// 手动 Token 输入部分
|
// 手动 Token 输入部分
|
||||||
manualTokenInput: '手动输入 Token',
|
manualTokenInput: '手动输入 Token',
|
||||||
manualTokenClaudeDescription:
|
|
||||||
'请输入有效的 Claude Access Token。如果您有 Refresh Token,建议也一并填写以支持自动刷新。',
|
|
||||||
manualTokenGeminiDescription:
|
|
||||||
'请输入有效的 Gemini Access Token。如果您有 Refresh Token,建议也一并填写以支持自动刷新。',
|
|
||||||
manualTokenOpenAIDescription:
|
|
||||||
'请输入有效的 OpenAI Access Token。如果您有 Refresh Token,建议也一并填写以支持自动刷新。',
|
|
||||||
getAccessTokenMethod: '获取 Access Token 的方法:',
|
getAccessTokenMethod: '获取 Access Token 的方法:',
|
||||||
claudeCredentialsPath: '请从已登录 Claude Code 的机器上获取',
|
claudeCredentialsPath: '请从已登录 Claude Code 的机器上获取',
|
||||||
geminiCredentialsPath: '请从已登录 Gemini CLI 的机器上获取',
|
geminiCredentialsPath: '请从已登录 Gemini CLI 的机器上获取',
|
||||||
@@ -2433,15 +2414,9 @@ export default {
|
|||||||
'请从已登录 OpenAI 账户的机器上获取认证凭证,或通过 OAuth 授权流程获取 Access Token。',
|
'请从已登录 OpenAI 账户的机器上获取认证凭证,或通过 OAuth 授权流程获取 Access Token。',
|
||||||
claudeCredentialsWarning: '文件中的凭证,请勿使用 Claude 官网 API Keys 页面的密钥。',
|
claudeCredentialsWarning: '文件中的凭证,请勿使用 Claude 官网 API Keys 页面的密钥。',
|
||||||
refreshTokenWarning: '💡 如果未填写 Refresh Token,Token 过期后需要手动更新。',
|
refreshTokenWarning: '💡 如果未填写 Refresh Token,Token 过期后需要手动更新。',
|
||||||
accessTokenOptional: 'Access Token (可选)',
|
|
||||||
accessTokenOptionalPlaceholder: '可选:如果不填写,系统会自动通过 Refresh Token 获取...',
|
|
||||||
accessTokenOptionalInfo: 'Access Token 可选填。如果不提供,系统会通过 Refresh Token 自动获取。',
|
accessTokenOptionalInfo: 'Access Token 可选填。如果不提供,系统会通过 Refresh Token 自动获取。',
|
||||||
accessTokenRequired: 'Access Token *',
|
|
||||||
accessTokenRequiredPlaceholder: '请输入 Access Token...',
|
accessTokenRequiredPlaceholder: '请输入 Access Token...',
|
||||||
refreshTokenRequired: 'Refresh Token *',
|
|
||||||
refreshTokenRequiredPlaceholder: '请输入 Refresh Token(必填)...',
|
|
||||||
refreshTokenRequiredInfo: '系统将使用 Refresh Token 自动获取 Access Token 和用户信息',
|
refreshTokenRequiredInfo: '系统将使用 Refresh Token 自动获取 Access Token 和用户信息',
|
||||||
refreshTokenOptional: 'Refresh Token (可选)',
|
|
||||||
refreshTokenOptionalPlaceholder: '请输入 Refresh Token...',
|
refreshTokenOptionalPlaceholder: '请输入 Refresh Token...',
|
||||||
|
|
||||||
// 优先级设置
|
// 优先级设置
|
||||||
@@ -2450,34 +2425,11 @@ export default {
|
|||||||
prioritySchedulingTitle: '调度优先级 (1-100)',
|
prioritySchedulingTitle: '调度优先级 (1-100)',
|
||||||
priorityEditPlaceholder: '数字越小优先级越高',
|
priorityEditPlaceholder: '数字越小优先级越高',
|
||||||
|
|
||||||
// Gemini 项目ID
|
|
||||||
projectIdOptional: '项目 ID (可选)',
|
|
||||||
projectIdPlaceholder: '例如:verdant-wares-464411-k9',
|
|
||||||
projectIdDescription: 'Google Cloud/Workspace 账号可能需要提供项目 ID',
|
|
||||||
|
|
||||||
// Claude 订阅类型和高级选项
|
// Claude 订阅类型和高级选项
|
||||||
subscriptionType: '订阅类型',
|
|
||||||
claudeMaxSubscription: 'Claude Max',
|
claudeMaxSubscription: 'Claude Max',
|
||||||
claudeProSubscription: 'Claude Pro',
|
claudeProSubscription: 'Claude Pro',
|
||||||
claudeProLimitation: 'Pro 账号不支持 Claude Opus 4 模型',
|
|
||||||
autoStopOnWarning: '5小时使用量接近限制时自动停止调度',
|
|
||||||
autoStopOnWarningDescription:
|
|
||||||
'当系统检测到账户接近5小时使用限制时,自动暂停调度该账户。进入新的时间窗口后会自动恢复调度。',
|
|
||||||
useUnifiedUserAgent: '使用统一 Claude Code 版本',
|
|
||||||
useUnifiedUserAgentDescription:
|
|
||||||
'开启后将使用从真实 Claude Code 客户端捕获的统一 User-Agent,提高兼容性',
|
|
||||||
currentUnifiedVersion: '当前统一版本:',
|
|
||||||
clearCache: '清除缓存',
|
|
||||||
clearing: '清除中...',
|
|
||||||
waitingForCapture: '等待从 Claude Code 客户端捕获 User-Agent',
|
|
||||||
captureHint:
|
|
||||||
'💡 提示:如果长时间未能捕获,请确认有 Claude Code 客户端正在使用此账户,或联系开发者检查 User-Agent 格式是否发生变化',
|
|
||||||
useUnifiedClientId: '使用统一的客户端标识',
|
|
||||||
useUnifiedClientIdDescription:
|
|
||||||
'开启后将使用固定的客户端标识,使所有请求看起来来自同一个客户端,减少特征',
|
|
||||||
clientIdLabel: '客户端标识 ID',
|
clientIdLabel: '客户端标识 ID',
|
||||||
regenerateClientId: '重新生成',
|
regenerateClientId: '重新生成',
|
||||||
clientIdDescription: '此ID将替换请求中的user_id客户端部分,保留session部分用于粘性会话',
|
|
||||||
|
|
||||||
// 编辑模式字段
|
// 编辑模式字段
|
||||||
accountNameEdit: '账户名称',
|
accountNameEdit: '账户名称',
|
||||||
@@ -2485,7 +2437,6 @@ export default {
|
|||||||
descriptionOptionalEdit: '描述 (可选)',
|
descriptionOptionalEdit: '描述 (可选)',
|
||||||
descriptionOptionalEditPlaceholder: '账户用途说明...',
|
descriptionOptionalEditPlaceholder: '账户用途说明...',
|
||||||
accountTypeEdit: '账户类型',
|
accountTypeEdit: '账户类型',
|
||||||
selectGroupRequired: '选择分组 *',
|
|
||||||
noAvailableGroups: '暂无可用分组',
|
noAvailableGroups: '暂无可用分组',
|
||||||
membersCount: ' 个成员',
|
membersCount: ' 个成员',
|
||||||
createNewGroup: '新建分组',
|
createNewGroup: '新建分组',
|
||||||
@@ -2493,29 +2444,14 @@ export default {
|
|||||||
// AWS Bedrock 配置
|
// AWS Bedrock 配置
|
||||||
bedrockCredentials: '凭证配置',
|
bedrockCredentials: '凭证配置',
|
||||||
bedrockCredentialsDescription: '请填写 AWS 访问凭证,用于调用 Amazon Bedrock 服务。',
|
bedrockCredentialsDescription: '请填写 AWS 访问凭证,用于调用 Amazon Bedrock 服务。',
|
||||||
awsAccessKeyId: 'AWS Access Key ID *',
|
|
||||||
awsAccessKeyIdPlaceholder: '请输入 AWS 访问密钥 ID...',
|
|
||||||
awsSecretAccessKey: 'AWS Secret Access Key *',
|
|
||||||
awsSecretAccessKeyPlaceholder: '请输入 AWS 秘密访问密钥...',
|
|
||||||
sessionTokenOptional: 'Session Token (可选)',
|
|
||||||
sessionTokenOptionalPlaceholder: '临时凭证的会话令牌...',
|
sessionTokenOptionalPlaceholder: '临时凭证的会话令牌...',
|
||||||
sessionTokenDescription: '仅在使用临时凭证(如 STS 生成的凭证)时需要填写',
|
|
||||||
awsRegion: 'AWS 区域 *',
|
|
||||||
awsRegionPlaceholder: '选择 AWS 区域...',
|
|
||||||
bedrockModelConfig: '模型配置',
|
bedrockModelConfig: '模型配置',
|
||||||
defaultModelLabel: '默认模型',
|
defaultModelLabel: '默认模型',
|
||||||
defaultModelPlaceholder: '例如:anthropic.claude-3-5-sonnet-20240620-v1:0',
|
|
||||||
defaultModelDescription: '留空将使用系统默认模型。支持 inference profile ID 或 ARN',
|
|
||||||
smallFastModelLabel: '小型快速模型',
|
smallFastModelLabel: '小型快速模型',
|
||||||
smallFastModelPlaceholder: '例如:anthropic.claude-3-haiku-20240307-v1:0',
|
|
||||||
smallFastModelDescription: '用于简单任务的快速模型,支持 inference profile ID 或 ARN',
|
|
||||||
|
|
||||||
// Azure OpenAI 配置
|
// Azure OpenAI 配置
|
||||||
azureOpenAIConfig: 'Azure OpenAI 配置',
|
azureOpenAIConfig: 'Azure OpenAI 配置',
|
||||||
azureOpenAIDescription: '请配置 Azure OpenAI 服务的连接信息和部署详情。',
|
azureOpenAIDescription: '请配置 Azure OpenAI 服务的连接信息和部署详情。',
|
||||||
azureEndpoint: 'Azure Endpoint *',
|
|
||||||
azureEndpointPlaceholder: '例如:https://your-resource.openai.azure.com/',
|
|
||||||
azureEndpointDescription: 'Azure OpenAI 服务的端点 URL',
|
|
||||||
azureApiKey: 'API Key *',
|
azureApiKey: 'API Key *',
|
||||||
azureApiKeyPlaceholder: '请输入 Azure OpenAI API Key...',
|
azureApiKeyPlaceholder: '请输入 Azure OpenAI API Key...',
|
||||||
azureApiVersion: 'API 版本',
|
azureApiVersion: 'API 版本',
|
||||||
@@ -2538,7 +2474,6 @@ export default {
|
|||||||
modelMappingFromPlaceholder: '例如:claude-3-5-sonnet-20241022',
|
modelMappingFromPlaceholder: '例如:claude-3-5-sonnet-20241022',
|
||||||
modelMappingTo: '实际模型',
|
modelMappingTo: '实际模型',
|
||||||
modelMappingToPlaceholder: '例如:claude-3-5-sonnet-latest',
|
modelMappingToPlaceholder: '例如:claude-3-5-sonnet-latest',
|
||||||
addModelMapping: '添加映射',
|
|
||||||
removeMapping: '移除',
|
removeMapping: '移除',
|
||||||
presetMappings: '预设映射',
|
presetMappings: '预设映射',
|
||||||
modelMappingExample: '示例:claude-3-5-sonnet-20241022 → claude-3-5-sonnet-latest',
|
modelMappingExample: '示例:claude-3-5-sonnet-20241022 → claude-3-5-sonnet-latest',
|
||||||
@@ -2550,9 +2485,7 @@ export default {
|
|||||||
setupTokenStep1: '步骤 1:生成授权链接',
|
setupTokenStep1: '步骤 1:生成授权链接',
|
||||||
setupTokenStep1Description: '系统将生成一个专用的授权链接,用于获取临时授权码。',
|
setupTokenStep1Description: '系统将生成一个专用的授权链接,用于获取临时授权码。',
|
||||||
setupTokenStep2: '步骤 2:完成授权',
|
setupTokenStep2: '步骤 2:完成授权',
|
||||||
setupTokenStep2Description: '在新窗口中打开授权链接,使用您的 Claude 账户登录并完成授权。',
|
|
||||||
setupTokenStep3: '步骤 3:输入授权码',
|
setupTokenStep3: '步骤 3:输入授权码',
|
||||||
setupTokenStep3Description: '授权成功后,系统会显示授权码,请复制并粘贴到下方输入框。',
|
|
||||||
setupTokenUrlGenerated: '授权链接已生成',
|
setupTokenUrlGenerated: '授权链接已生成',
|
||||||
setupTokenOpenInBrowser: '在浏览器中打开',
|
setupTokenOpenInBrowser: '在浏览器中打开',
|
||||||
setupTokenCopyLink: '复制链接',
|
setupTokenCopyLink: '复制链接',
|
||||||
@@ -2577,15 +2510,9 @@ export default {
|
|||||||
|
|
||||||
// 限流和配额管理
|
// 限流和配额管理
|
||||||
rateLimitSettings: '限流设置',
|
rateLimitSettings: '限流设置',
|
||||||
enableRateLimit: '启用速率限制',
|
|
||||||
rateLimitDuration: '限流时长 (秒)',
|
|
||||||
rateLimitDurationPlaceholder: '例如:60',
|
rateLimitDurationPlaceholder: '例如:60',
|
||||||
rateLimitDescription: '启用后将限制请求频率,防止账户被封锁',
|
|
||||||
quotaManagement: '配额管理',
|
quotaManagement: '配额管理',
|
||||||
dailyQuotaLabel: '每日配额限制',
|
|
||||||
dailyQuotaPlaceholder: '0 表示不限制',
|
|
||||||
quotaResetTimeLabel: '配额重置时间',
|
quotaResetTimeLabel: '配额重置时间',
|
||||||
quotaResetTimePlaceholder: '例如:00:00',
|
|
||||||
quotaResetDescription: '每天配额重置的时间点',
|
quotaResetDescription: '每天配额重置的时间点',
|
||||||
currentDailyUsage: '今日已用',
|
currentDailyUsage: '今日已用',
|
||||||
|
|
||||||
@@ -2593,7 +2520,6 @@ export default {
|
|||||||
advancedSettings: '高级设置',
|
advancedSettings: '高级设置',
|
||||||
customUserAgent: '自定义 User-Agent',
|
customUserAgent: '自定义 User-Agent',
|
||||||
customUserAgentPlaceholder: '留空使用默认 User-Agent...',
|
customUserAgentPlaceholder: '留空使用默认 User-Agent...',
|
||||||
userAgentDescription: '用于请求时的 User-Agent 标识',
|
|
||||||
|
|
||||||
// 通用提示和状态
|
// 通用提示和状态
|
||||||
notSet: '未设置',
|
notSet: '未设置',
|
||||||
@@ -2634,7 +2560,6 @@ export default {
|
|||||||
'\u63d0示\uff1a如果您的账号是普通个人账号(未绑定 Google Cloud),请留空此字段。',
|
'\u63d0示\uff1a如果您的账号是普通个人账号(未绑定 Google Cloud),请留空此字段。',
|
||||||
|
|
||||||
// AWS 区域参考
|
// AWS 区域参考
|
||||||
awsRegionReference: '常用 AWS 区域参考:',
|
|
||||||
awsRegionEastUS: 'us-east-1 (美国东部)',
|
awsRegionEastUS: 'us-east-1 (美国东部)',
|
||||||
awsRegionWestUS: 'us-west-2 (美国西部)',
|
awsRegionWestUS: 'us-west-2 (美国西部)',
|
||||||
awsRegionEuropeIreland: 'eu-west-1 (欧洲爱尔兰)',
|
awsRegionEuropeIreland: 'eu-west-1 (欧洲爱尔兰)',
|
||||||
@@ -2654,38 +2579,25 @@ export default {
|
|||||||
azureModelSelectionDesc: '选择此部署支持的模型类型',
|
azureModelSelectionDesc: '选择此部署支持的模型类型',
|
||||||
|
|
||||||
// 限流机制
|
// 限流机制
|
||||||
rateLimitMechanism: '限流机制',
|
|
||||||
enableRateLimitMechanism: '启用限流机制',
|
enableRateLimitMechanism: '启用限流机制',
|
||||||
rateLimitDescription2: '启用后,当账号返回429错误时将暂停调度一段时间',
|
rateLimitDescription2: '启用后,当账号返回429错误时将暂停调度一段时间',
|
||||||
|
|
||||||
// Claude Console 特定字段
|
// Claude Console 特定字段
|
||||||
claudeConsoleFields: 'Claude Console 特定字段',
|
claudeConsoleFields: 'Claude Console 特定字段',
|
||||||
quotaManagement: '额度管理',
|
|
||||||
modelMappingTable: '模型映射表',
|
modelMappingTable: '模型映射表',
|
||||||
modelMappingTableOptional: '模型映射表 (可选)',
|
modelMappingTableOptional: '模型映射表 (可选)',
|
||||||
addModelMapping: '添加模型映射',
|
|
||||||
|
|
||||||
// Claude 订阅类型
|
|
||||||
subscriptionType: '订阅类型',
|
|
||||||
|
|
||||||
// Setup Token 授权
|
// Setup Token 授权
|
||||||
setupTokenAuth: 'Setup Token 授权',
|
|
||||||
claudeSetupTokenAuth: 'Claude Setup Token 授权',
|
claudeSetupTokenAuth: 'Claude Setup Token 授权',
|
||||||
setupTokenAuthSteps: '请按照以下步骤通过 Setup Token 完成 Claude 账户的授权:',
|
setupTokenAuthSteps: '请按照以下步骤通过 Setup Token 完成 Claude 账户的授权:',
|
||||||
generateSetupTokenLink: '生成 Setup Token 授权链接',
|
generateSetupTokenLink: '生成 Setup Token 授权链接',
|
||||||
generating: '生成中...',
|
|
||||||
|
|
||||||
// 按钮和操作
|
// 按钮和操作
|
||||||
verifying: '验证中...',
|
|
||||||
completeAuth: '完成授权',
|
completeAuth: '完成授权',
|
||||||
updating: '更新中...',
|
|
||||||
update: '更新',
|
|
||||||
|
|
||||||
// 错误消息
|
// 错误消息
|
||||||
generateSetupTokenFailed: '生成Setup Token授权链接失败',
|
generateSetupTokenFailed: '生成Setup Token授权链接失败',
|
||||||
copyFailed: '复制失败,请手动复制',
|
|
||||||
setupTokenAuthFailed: 'Setup Token授权失败,请检查授权码是否正确',
|
setupTokenAuthFailed: 'Setup Token授权失败,请检查授权码是否正确',
|
||||||
accountCreationFailed: '账户创建失败',
|
|
||||||
accountCreationError: '账户创建失败:',
|
accountCreationError: '账户创建失败:',
|
||||||
|
|
||||||
// 页面结构注释
|
// 页面结构注释
|
||||||
@@ -2700,18 +2612,10 @@ export default {
|
|||||||
|
|
||||||
// 验证消息
|
// 验证消息
|
||||||
nameRequired: '请填写账户名称',
|
nameRequired: '请填写账户名称',
|
||||||
apiUrlRequired: '请填写 API URL',
|
|
||||||
rateLimitDefault60: '默认60分钟',
|
rateLimitDefault60: '默认60分钟',
|
||||||
rateLimitPauseDescription: '账号被限流后暂停调度的时间(分钟)',
|
rateLimitPauseDescription: '账号被限流后暂停调度的时间(分钟)',
|
||||||
apiUrlPlaceholder: '例如:https://api.example.com',
|
|
||||||
apiKeyPlaceholder: '请输入API Key',
|
|
||||||
dailyQuotaLimit: '每日额度限制 ($)',
|
dailyQuotaLimit: '每日额度限制 ($)',
|
||||||
quotaZeroUnlimited: '0 表示不限制',
|
quotaZeroUnlimited: '0 表示不限制',
|
||||||
dailyQuotaDescription: '设置每日使用额度,0 表示不限制',
|
|
||||||
quotaResetTime: '额度重置时间',
|
|
||||||
quotaResetTimeDescription: '每日自动重置额度的时间',
|
|
||||||
modelMappingDescription:
|
|
||||||
'留空表示支持所有模型且不修改请求。配置映射后,左侧模型会被识别为支持的模型,右侧是实际发送的模型。',
|
|
||||||
rateLimitDurationMinutes: '限流时间 (分钟)',
|
rateLimitDurationMinutes: '限流时间 (分钟)',
|
||||||
rateLimitDefaultMinutes: '默认60分钟',
|
rateLimitDefaultMinutes: '默认60分钟',
|
||||||
rateLimitPauseDesc: '账号被限流后暂停调度的时间(分钟)',
|
rateLimitPauseDesc: '账号被限流后暂停调度的时间(分钟)',
|
||||||
@@ -2719,13 +2623,10 @@ export default {
|
|||||||
// 额度管理
|
// 额度管理
|
||||||
quotaManagementFields: '额度管理字段',
|
quotaManagementFields: '额度管理字段',
|
||||||
dailyQuotaLimitDollar: '每日额度限制 ($)',
|
dailyQuotaLimitDollar: '每日额度限制 ($)',
|
||||||
quotaZeroUnlimited: '0 表示不限制',
|
|
||||||
dailyQuotaDesc: '设置每日使用额度,0 表示不限制',
|
dailyQuotaDesc: '设置每日使用额度,0 表示不限制',
|
||||||
quotaResetTime: '额度重置时间',
|
|
||||||
quotaResetTimeDesc: '每日自动重置额度的时间',
|
quotaResetTimeDesc: '每日自动重置额度的时间',
|
||||||
|
|
||||||
// 模型映射
|
// 模型映射
|
||||||
modelMappingOptional: '模型映射表 (可选)',
|
|
||||||
modelMappingDesc:
|
modelMappingDesc:
|
||||||
'留空表示支持所有模型且不修改请求。配置映射后,左侧模型会被识别为支持的模型,右侧是实际发送的模型。',
|
'留空表示支持所有模型且不修改请求。配置映射后,左侧模型会被识别为支持的模型,右侧是实际发送的模型。',
|
||||||
originalModelName: '原始模型名称',
|
originalModelName: '原始模型名称',
|
||||||
@@ -2737,7 +2638,6 @@ export default {
|
|||||||
|
|
||||||
// Claude 订阅类型
|
// Claude 订阅类型
|
||||||
claudeSubscriptionType: '订阅类型',
|
claudeSubscriptionType: '订阅类型',
|
||||||
claudeProLimitation: 'Pro 账号不支持 Claude Opus 4 模型',
|
|
||||||
|
|
||||||
// Claude 高级选项
|
// Claude 高级选项
|
||||||
claudeAutoStopScheduling: '5小时使用量接近限制时自动停止调度',
|
claudeAutoStopScheduling: '5小时使用量接近限制时自动停止调度',
|
||||||
@@ -2765,13 +2665,10 @@ export default {
|
|||||||
setupTokenCopyTitle: '复制链接',
|
setupTokenCopyTitle: '复制链接',
|
||||||
|
|
||||||
// 步骤指示器
|
// 步骤指示器
|
||||||
stepIndicator: '步骤指示器',
|
|
||||||
step1BasicInfo: '步骤1: 基本信息和代理设置',
|
|
||||||
step2OAuth: '步骤2: OAuth授权',
|
step2OAuth: '步骤2: OAuth授权',
|
||||||
step2SetupToken: '步骤2: Setup Token授权',
|
step2SetupToken: '步骤2: Setup Token授权',
|
||||||
|
|
||||||
// 分组选择器
|
// 分组选择器
|
||||||
groupSelector: '分组选择器',
|
|
||||||
multiGroupInterface: '多选分组界面',
|
multiGroupInterface: '多选分组界面',
|
||||||
createNewGroupOption: '新建分组选项',
|
createNewGroupOption: '新建分组选项',
|
||||||
|
|
||||||
@@ -2781,15 +2678,12 @@ export default {
|
|||||||
// Placeholder 文本
|
// Placeholder 文本
|
||||||
originalModelNamePlaceholder: '原始模型名称',
|
originalModelNamePlaceholder: '原始模型名称',
|
||||||
mappedModelNamePlaceholder: '映射后的模型名称',
|
mappedModelNamePlaceholder: '映射后的模型名称',
|
||||||
userAgentPlaceholder: '留空则透传客户端 User-Agent',
|
|
||||||
authCodePlaceholder: '粘贴从Claude Code授权页面获取的Authorization Code...',
|
authCodePlaceholder: '粘贴从Claude Code授权页面获取的Authorization Code...',
|
||||||
leaveEmptyNoUpdate: '留空表示不更新',
|
leaveEmptyNoUpdate: '留空表示不更新',
|
||||||
leaveEmptyNoUpdateKey: '留空表示不更新 API Key',
|
leaveEmptyNoUpdateKey: '留空表示不更新 API Key',
|
||||||
leaveEmptyNoUpdateToken: '留空表示不更新...',
|
leaveEmptyNoUpdateToken: '留空表示不更新...',
|
||||||
|
|
||||||
// 标签和描述
|
// 标签和描述
|
||||||
customUserAgentOptional: '自定义 User-Agent (可选)',
|
|
||||||
clientIdLabel: '客户端标识 ID',
|
|
||||||
schedulePriorityLabel: '调度优先级 (1-100)',
|
schedulePriorityLabel: '调度优先级 (1-100)',
|
||||||
attentionLabel: '注意:',
|
attentionLabel: '注意:',
|
||||||
supportedModelsLabel: '支持的模型',
|
supportedModelsLabel: '支持的模型',
|
||||||
@@ -2802,17 +2696,14 @@ export default {
|
|||||||
previousStepBtn: '上一步',
|
previousStepBtn: '上一步',
|
||||||
|
|
||||||
// 描述性文本
|
// 描述性文本
|
||||||
claudeProLimitation: 'Pro 账号不支持 Claude Opus 4 模型',
|
|
||||||
claude5HourLimitDesc: '5小时使用量接近限制时自动停止调度',
|
claude5HourLimitDesc: '5小时使用量接近限制时自动停止调度',
|
||||||
claude5HourLimitExplanation:
|
claude5HourLimitExplanation:
|
||||||
'当系统检测到账户接近5小时使用限制时,自动暂停调度该账户。进入新的时间窗口后会自动恢复调度。',
|
'当系统检测到账户接近5小时使用限制时,自动暂停调度该账户。进入新的时间窗口后会自动恢复调度。',
|
||||||
useUnifiedClaudeVersion: '使用统一 Claude Code 版本',
|
useUnifiedClaudeVersion: '使用统一 Claude Code 版本',
|
||||||
unifiedVersionDesc: '开启后将使用从真实 Claude Code 客户端捕获的统一 User-Agent,提高兼容性',
|
unifiedVersionDesc: '开启后将使用从真实 Claude Code 客户端捕获的统一 User-Agent,提高兼容性',
|
||||||
currentUnifiedVersion: '💡 当前统一版本:',
|
|
||||||
waitingUserAgent: '⏳ 等待从 Claude Code 客户端捕获 User-Agent',
|
waitingUserAgent: '⏳ 等待从 Claude Code 客户端捕获 User-Agent',
|
||||||
userAgentTip: '💡 提示:如果长时间未能捕获,请确认有 Claude Code 客户端正在使用此账户,',
|
userAgentTip: '💡 提示:如果长时间未能捕获,请确认有 Claude Code 客户端正在使用此账户,',
|
||||||
contactDeveloper: '或联系开发者检查 User-Agent 格式是否发生变化',
|
contactDeveloper: '或联系开发者检查 User-Agent 格式是否发生变化',
|
||||||
useUnifiedClientId: '使用统一的客户端标识',
|
|
||||||
unifiedClientIdDesc: '开启后将使用固定的客户端标识,使所有请求看起来来自同一个客户端,减少特征',
|
unifiedClientIdDesc: '开启后将使用固定的客户端标识,使所有请求看起来来自同一个客户端,减少特征',
|
||||||
clientIdReplaceDesc: '此ID将替换请求中的user_id客户端部分,保留session部分用于粘性会话',
|
clientIdReplaceDesc: '此ID将替换请求中的user_id客户端部分,保留session部分用于粘性会话',
|
||||||
|
|
||||||
@@ -2834,8 +2725,6 @@ export default {
|
|||||||
|
|
||||||
// Error messages
|
// Error messages
|
||||||
apiKeyRequiredError: '请填写 API Key',
|
apiKeyRequiredError: '请填写 API Key',
|
||||||
refreshTokenRequired: '请填写 Refresh Token',
|
|
||||||
accessTokenRequired: '请填写 Access Token',
|
|
||||||
copyFailedManual: '复制失败,请手动复制',
|
copyFailedManual: '复制失败,请手动复制',
|
||||||
|
|
||||||
// 表单描述
|
// 表单描述
|
||||||
@@ -2846,9 +2735,7 @@ export default {
|
|||||||
|
|
||||||
// 基础标签
|
// 基础标签
|
||||||
apiUrlLabel: 'API URL',
|
apiUrlLabel: 'API URL',
|
||||||
apiUrlRequired: 'API URL *',
|
|
||||||
apiKeyLabel: 'API Key',
|
apiKeyLabel: 'API Key',
|
||||||
apiKeyRequired: 'API Key *',
|
|
||||||
|
|
||||||
// 更多缺失的翻译键
|
// 更多缺失的翻译键
|
||||||
copyLinkTooltip: '复制链接',
|
copyLinkTooltip: '复制链接',
|
||||||
|
|||||||
@@ -62,6 +62,30 @@ export default {
|
|||||||
info: '資訊'
|
info: '資訊'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
errors: {
|
||||||
|
loadDashboardFailed: '載入儀表板數據失敗',
|
||||||
|
loadUsageTrendFailed: '載入使用趨勢失敗',
|
||||||
|
loadModelStatsFailed: '載入模型統計失敗',
|
||||||
|
loadApiKeysTrendFailed: '載入API Keys趨勢失敗',
|
||||||
|
createClaudeConsoleAccountFailed: '建立Claude Console帳戶失敗',
|
||||||
|
createAzureOpenAIAccountFailed: '建立Azure OpenAI帳戶失敗',
|
||||||
|
updateClaudeConsoleAccountFailed: '更新Claude Console帳戶失敗',
|
||||||
|
updateAzureOpenAIAccountFailed: '更新Azure OpenAI帳戶失敗',
|
||||||
|
generateSetupTokenUrlFailed: '產生Setup Token URL失敗',
|
||||||
|
exchangeSetupTokenFailed: '交換Setup Token授權碼失敗',
|
||||||
|
allApiKeysInvalid: '所有 API Key 都無效',
|
||||||
|
loadOemSettingsFailed: '載入OEM設定失敗',
|
||||||
|
getApiKeyStatsFailed: '獲取API Key統計失敗',
|
||||||
|
getTagsFailed: '獲取標籤失敗',
|
||||||
|
requestFailed: '請求失敗: {status}',
|
||||||
|
loadSupportedClientsFailed: '載入支援的客戶端失敗'
|
||||||
|
},
|
||||||
|
system: {
|
||||||
|
status: {
|
||||||
|
normal: '正常',
|
||||||
|
abnormal: '異常'
|
||||||
|
}
|
||||||
|
},
|
||||||
confirmDialog: {
|
confirmDialog: {
|
||||||
confirm: '確認',
|
confirm: '確認',
|
||||||
cancel: '取消'
|
cancel: '取消'
|
||||||
@@ -131,10 +155,6 @@ export default {
|
|||||||
minutesAgo: '{minutes}分鐘前',
|
minutesAgo: '{minutes}分鐘前',
|
||||||
hoursAgo: '{hours}小時前',
|
hoursAgo: '{hours}小時前',
|
||||||
daysAgo: '{days}天前'
|
daysAgo: '{days}天前'
|
||||||
},
|
|
||||||
errors: {
|
|
||||||
requestFailed: '請求失敗: {status}',
|
|
||||||
loadSupportedClientsFailed: '載入支援的客戶端失敗'
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
language: {
|
language: {
|
||||||
@@ -221,7 +241,6 @@ export default {
|
|||||||
apiKeyInfo: 'API Key 資訊',
|
apiKeyInfo: 'API Key 資訊',
|
||||||
queryKeysCount: '查詢 Keys 數',
|
queryKeysCount: '查詢 Keys 數',
|
||||||
activeKeysCount: '有效 Keys 數',
|
activeKeysCount: '有效 Keys 數',
|
||||||
invalidKeysCount: '無效 Keys 數',
|
|
||||||
totalRequests: '總請求數',
|
totalRequests: '總請求數',
|
||||||
totalTokens: '總 Token 數',
|
totalTokens: '總 Token 數',
|
||||||
totalCost: '總費用',
|
totalCost: '總費用',
|
||||||
@@ -237,7 +256,6 @@ export default {
|
|||||||
modelUsageStats: '模型使用統計',
|
modelUsageStats: '模型使用統計',
|
||||||
loadingModelStats: '載入模型統計資料中...',
|
loadingModelStats: '載入模型統計資料中...',
|
||||||
requestCount: '次請求',
|
requestCount: '次請求',
|
||||||
totalCost: '總費用',
|
|
||||||
inputTokens: '輸入 Token',
|
inputTokens: '輸入 Token',
|
||||||
outputTokens: '輸出 Token',
|
outputTokens: '輸出 Token',
|
||||||
cacheCreateTokens: '快取建立',
|
cacheCreateTokens: '快取建立',
|
||||||
@@ -2228,7 +2246,7 @@ export default {
|
|||||||
rateLimitDurationDescription: '帳號被限流後暫停排程的時間(分鐘)',
|
rateLimitDurationDescription: '帳號被限流後暫停排程的時間(分鐘)',
|
||||||
|
|
||||||
// Claude 訂閱類型
|
// Claude 訂閱類型
|
||||||
subscriptionType: '訂閱類型',
|
|
||||||
subscriptionClaudeMax: 'Claude Max',
|
subscriptionClaudeMax: 'Claude Max',
|
||||||
subscriptionClaudePro: 'Claude Pro',
|
subscriptionClaudePro: 'Claude Pro',
|
||||||
claudeProLimitation: 'Pro 帳號不支援 Claude Opus 4 模型',
|
claudeProLimitation: 'Pro 帳號不支援 Claude Opus 4 模型',
|
||||||
@@ -2391,12 +2409,6 @@ export default {
|
|||||||
|
|
||||||
// 手動 Token 輸入部分
|
// 手動 Token 輸入部分
|
||||||
manualTokenInput: '手動輸入 Token',
|
manualTokenInput: '手動輸入 Token',
|
||||||
manualTokenClaudeDescription:
|
|
||||||
'請輸入有效的 Claude Access Token。如果您有 Refresh Token,建議也一併填寫以支援自動刷新。',
|
|
||||||
manualTokenGeminiDescription:
|
|
||||||
'請輸入有效的 Gemini Access Token。如果您有 Refresh Token,建議也一併填寫以支援自動刷新。',
|
|
||||||
manualTokenOpenAIDescription:
|
|
||||||
'請輸入有效的 OpenAI Access Token。如果您有 Refresh Token,建議也一併填寫以支援自動刷新。',
|
|
||||||
getAccessTokenMethod: '取得 Access Token 的方法:',
|
getAccessTokenMethod: '取得 Access Token 的方法:',
|
||||||
claudeCredentialsPath: '請從已登入 Claude Code 的機器上取得',
|
claudeCredentialsPath: '請從已登入 Claude Code 的機器上取得',
|
||||||
geminiCredentialsPath: '請從已登入 Gemini CLI 的機器上取得',
|
geminiCredentialsPath: '請從已登入 Gemini CLI 的機器上取得',
|
||||||
@@ -2404,15 +2416,9 @@ export default {
|
|||||||
'請從已登入 OpenAI 帳戶的機器上取得認證憑證,或透過 OAuth 授權流程取得 Access Token。',
|
'請從已登入 OpenAI 帳戶的機器上取得認證憑證,或透過 OAuth 授權流程取得 Access Token。',
|
||||||
claudeCredentialsWarning: '檔案中的憑證,請勿使用 Claude 官網 API Keys 頁面的金鑰。',
|
claudeCredentialsWarning: '檔案中的憑證,請勿使用 Claude 官網 API Keys 頁面的金鑰。',
|
||||||
refreshTokenWarning: '💡 如果未填寫 Refresh Token,Token 過期後需要手動更新。',
|
refreshTokenWarning: '💡 如果未填寫 Refresh Token,Token 過期後需要手動更新。',
|
||||||
accessTokenOptional: 'Access Token (可選)',
|
|
||||||
accessTokenOptionalPlaceholder: '可選:如果不填寫,系統會自動透過 Refresh Token 取得...',
|
|
||||||
accessTokenOptionalInfo: 'Access Token 可選填。如果不提供,系統會透過 Refresh Token 自動取得。',
|
accessTokenOptionalInfo: 'Access Token 可選填。如果不提供,系統會透過 Refresh Token 自動取得。',
|
||||||
accessTokenRequired: 'Access Token *',
|
|
||||||
accessTokenRequiredPlaceholder: '請輸入 Access Token...',
|
accessTokenRequiredPlaceholder: '請輸入 Access Token...',
|
||||||
refreshTokenRequired: 'Refresh Token *',
|
|
||||||
refreshTokenRequiredPlaceholder: '請輸入 Refresh Token(必填)...',
|
|
||||||
refreshTokenRequiredInfo: '系統將使用 Refresh Token 自動取得 Access Token 和使用者資訊',
|
refreshTokenRequiredInfo: '系統將使用 Refresh Token 自動取得 Access Token 和使用者資訊',
|
||||||
refreshTokenOptional: 'Refresh Token (可選)',
|
|
||||||
refreshTokenOptionalPlaceholder: '請輸入 Refresh Token...',
|
refreshTokenOptionalPlaceholder: '請輸入 Refresh Token...',
|
||||||
|
|
||||||
// 優先級設定
|
// 優先級設定
|
||||||
@@ -2421,34 +2427,12 @@ export default {
|
|||||||
prioritySchedulingTitle: '排程優先級 (1-100)',
|
prioritySchedulingTitle: '排程優先級 (1-100)',
|
||||||
priorityEditPlaceholder: '數字越小優先級越高',
|
priorityEditPlaceholder: '數字越小優先級越高',
|
||||||
|
|
||||||
// Gemini 專案ID
|
|
||||||
projectIdOptional: '專案 ID (可選)',
|
|
||||||
projectIdPlaceholder: '例如:verdant-wares-464411-k9',
|
|
||||||
projectIdDescription: 'Google Cloud/Workspace 帳號可能需要提供專案 ID',
|
|
||||||
|
|
||||||
// Claude 訂閱類型和進階選項
|
// Claude 訂閱類型和進階選項
|
||||||
subscriptionType: '訂閱類型',
|
|
||||||
claudeMaxSubscription: 'Claude Max',
|
claudeMaxSubscription: 'Claude Max',
|
||||||
claudeProSubscription: 'Claude Pro',
|
claudeProSubscription: 'Claude Pro',
|
||||||
claudeProLimitation: 'Pro 帳號不支援 Claude Opus 4 模型',
|
|
||||||
autoStopOnWarning: '5小時使用量接近限制時自動停止排程',
|
|
||||||
autoStopOnWarningDescription:
|
|
||||||
'當系統檢測到帳戶接近5小時使用限制時,自動暫停排程該帳戶。進入新的時間視窗後會自動恢復排程。',
|
|
||||||
useUnifiedUserAgent: '使用統一 Claude Code 版本',
|
|
||||||
useUnifiedUserAgentDescription:
|
|
||||||
'開啟後將使用從真實 Claude Code 用戶端捕獲的統一 User-Agent,提高相容性',
|
|
||||||
currentUnifiedVersion: '目前統一版本:',
|
|
||||||
clearCache: '清除快取',
|
|
||||||
clearing: '清除中...',
|
|
||||||
waitingForCapture: '等待從 Claude Code 用戶端捕獲 User-Agent',
|
|
||||||
captureHint:
|
|
||||||
'💡 提示:如果長時間未能捕獲,請確認有 Claude Code 用戶端正在使用此帳戶,或聯絡開發者檢查 User-Agent 格式是否發生變化',
|
|
||||||
useUnifiedClientId: '使用統一的用戶端識別',
|
|
||||||
useUnifiedClientIdDescription:
|
|
||||||
'開啟後將使用固定的用戶端識別,使所有請求看起來來自同一個用戶端,減少特徵',
|
|
||||||
clientIdLabel: '用戶端識別 ID',
|
clientIdLabel: '用戶端識別 ID',
|
||||||
regenerateClientId: '重新產生',
|
regenerateClientId: '重新產生',
|
||||||
clientIdDescription: '此ID將替換請求中的user_id用戶端部分,保留session部分用於黏性工作階段',
|
|
||||||
|
|
||||||
// 編輯模式欄位
|
// 編輯模式欄位
|
||||||
accountNameEdit: '帳戶名稱',
|
accountNameEdit: '帳戶名稱',
|
||||||
@@ -2456,7 +2440,6 @@ export default {
|
|||||||
descriptionOptionalEdit: '描述 (可選)',
|
descriptionOptionalEdit: '描述 (可選)',
|
||||||
descriptionOptionalEditPlaceholder: '帳戶用途說明...',
|
descriptionOptionalEditPlaceholder: '帳戶用途說明...',
|
||||||
accountTypeEdit: '帳戶類型',
|
accountTypeEdit: '帳戶類型',
|
||||||
selectGroupRequired: '選擇群組 *',
|
|
||||||
noAvailableGroups: '暫無可用群組',
|
noAvailableGroups: '暫無可用群組',
|
||||||
membersCount: ' 個成員',
|
membersCount: ' 個成員',
|
||||||
createNewGroup: '新建群組',
|
createNewGroup: '新建群組',
|
||||||
@@ -2464,29 +2447,14 @@ export default {
|
|||||||
// AWS Bedrock 設定
|
// AWS Bedrock 設定
|
||||||
bedrockCredentials: '憑證設定',
|
bedrockCredentials: '憑證設定',
|
||||||
bedrockCredentialsDescription: '請填寫 AWS 存取憑證,用於呼叫 Amazon Bedrock 服務。',
|
bedrockCredentialsDescription: '請填寫 AWS 存取憑證,用於呼叫 Amazon Bedrock 服務。',
|
||||||
awsAccessKeyId: 'AWS Access Key ID *',
|
|
||||||
awsAccessKeyIdPlaceholder: '請輸入 AWS 存取密鑰 ID...',
|
|
||||||
awsSecretAccessKey: 'AWS Secret Access Key *',
|
|
||||||
awsSecretAccessKeyPlaceholder: '請輸入 AWS 秘密存取密鑰...',
|
|
||||||
sessionTokenOptional: 'Session Token (可選)',
|
|
||||||
sessionTokenOptionalPlaceholder: '臨時憑證的工作階段令牌...',
|
sessionTokenOptionalPlaceholder: '臨時憑證的工作階段令牌...',
|
||||||
sessionTokenDescription: '僅在使用臨時憑證(如 STS 產生的憑證)時需要填寫',
|
|
||||||
awsRegion: 'AWS 區域 *',
|
|
||||||
awsRegionPlaceholder: '選擇 AWS 區域...',
|
|
||||||
bedrockModelConfig: '模型設定',
|
bedrockModelConfig: '模型設定',
|
||||||
defaultModelLabel: '預設模型',
|
defaultModelLabel: '預設模型',
|
||||||
defaultModelPlaceholder: '例如:anthropic.claude-3-5-sonnet-20240620-v1:0',
|
|
||||||
defaultModelDescription: '留空將使用系統預設模型。支援 inference profile ID 或 ARN',
|
|
||||||
smallFastModelLabel: '小型快速模型',
|
smallFastModelLabel: '小型快速模型',
|
||||||
smallFastModelPlaceholder: '例如:anthropic.claude-3-haiku-20240307-v1:0',
|
|
||||||
smallFastModelDescription: '用於簡單任務的快速模型,支援 inference profile ID 或 ARN',
|
|
||||||
|
|
||||||
// Azure OpenAI 設定
|
// Azure OpenAI 設定
|
||||||
azureOpenAIConfig: 'Azure OpenAI 設定',
|
azureOpenAIConfig: 'Azure OpenAI 設定',
|
||||||
azureOpenAIDescription: '請設定 Azure OpenAI 服務的連線資訊和部署詳情。',
|
azureOpenAIDescription: '請設定 Azure OpenAI 服務的連線資訊和部署詳情。',
|
||||||
azureEndpoint: 'Azure Endpoint *',
|
|
||||||
azureEndpointPlaceholder: '例如:https://your-resource.openai.azure.com/',
|
|
||||||
azureEndpointDescription: 'Azure OpenAI 服務的端點 URL',
|
|
||||||
azureApiKey: 'API Key *',
|
azureApiKey: 'API Key *',
|
||||||
azureApiKeyPlaceholder: '請輸入 Azure OpenAI API Key...',
|
azureApiKeyPlaceholder: '請輸入 Azure OpenAI API Key...',
|
||||||
azureApiVersion: 'API 版本',
|
azureApiVersion: 'API 版本',
|
||||||
@@ -2509,7 +2477,6 @@ export default {
|
|||||||
modelMappingFromPlaceholder: '例如:claude-3-5-sonnet-20241022',
|
modelMappingFromPlaceholder: '例如:claude-3-5-sonnet-20241022',
|
||||||
modelMappingTo: '實際模型',
|
modelMappingTo: '實際模型',
|
||||||
modelMappingToPlaceholder: '例如:claude-3-5-sonnet-latest',
|
modelMappingToPlaceholder: '例如:claude-3-5-sonnet-latest',
|
||||||
addModelMapping: '新增映射',
|
|
||||||
removeMapping: '移除',
|
removeMapping: '移除',
|
||||||
presetMappings: '預設映射',
|
presetMappings: '預設映射',
|
||||||
modelMappingExample: '示例:claude-3-5-sonnet-20241022 → claude-3-5-sonnet-latest',
|
modelMappingExample: '示例:claude-3-5-sonnet-20241022 → claude-3-5-sonnet-latest',
|
||||||
@@ -2521,9 +2488,7 @@ export default {
|
|||||||
setupTokenStep1: '步驟 1:產生授權連結',
|
setupTokenStep1: '步驟 1:產生授權連結',
|
||||||
setupTokenStep1Description: '系統將產生一個專用的授權連結,用於取得臨時授權碼。',
|
setupTokenStep1Description: '系統將產生一個專用的授權連結,用於取得臨時授權碼。',
|
||||||
setupTokenStep2: '步驟 2:完成授權',
|
setupTokenStep2: '步驟 2:完成授權',
|
||||||
setupTokenStep2Description: '在新視窗中開啟授權連結,使用您的 Claude 帳戶登入並完成授權。',
|
|
||||||
setupTokenStep3: '步驟 3:輸入授權碼',
|
setupTokenStep3: '步驟 3:輸入授權碼',
|
||||||
setupTokenStep3Description: '授權成功後,系統會顯示授權碼,請複製並貼上到下方輸入框。',
|
|
||||||
setupTokenUrlGenerated: '授權連結已產生',
|
setupTokenUrlGenerated: '授權連結已產生',
|
||||||
setupTokenOpenInBrowser: '在瀏覽器中開啟',
|
setupTokenOpenInBrowser: '在瀏覽器中開啟',
|
||||||
setupTokenCopyLink: '複製連結',
|
setupTokenCopyLink: '複製連結',
|
||||||
@@ -2548,15 +2513,9 @@ export default {
|
|||||||
|
|
||||||
// 限流和配額管理
|
// 限流和配額管理
|
||||||
rateLimitSettings: '限流設定',
|
rateLimitSettings: '限流設定',
|
||||||
enableRateLimit: '啟用速率限制',
|
|
||||||
rateLimitDuration: '限流時長 (秒)',
|
|
||||||
rateLimitDurationPlaceholder: '例如:60',
|
rateLimitDurationPlaceholder: '例如:60',
|
||||||
rateLimitDescription: '啟用後將限制請求頻率,防止帳戶被封鎖',
|
|
||||||
quotaManagement: '配額管理',
|
quotaManagement: '配額管理',
|
||||||
dailyQuotaLabel: '每日配額限制',
|
|
||||||
dailyQuotaPlaceholder: '0 表示不限制',
|
|
||||||
quotaResetTimeLabel: '配額重設時間',
|
quotaResetTimeLabel: '配額重設時間',
|
||||||
quotaResetTimePlaceholder: '例如:00:00',
|
|
||||||
quotaResetDescription: '每天配額重設的時間點',
|
quotaResetDescription: '每天配額重設的時間點',
|
||||||
currentDailyUsage: '今日已用',
|
currentDailyUsage: '今日已用',
|
||||||
|
|
||||||
@@ -2564,7 +2523,6 @@ export default {
|
|||||||
advancedSettings: '進階設定',
|
advancedSettings: '進階設定',
|
||||||
customUserAgent: '自定義 User-Agent',
|
customUserAgent: '自定義 User-Agent',
|
||||||
customUserAgentPlaceholder: '留空使用預設 User-Agent...',
|
customUserAgentPlaceholder: '留空使用預設 User-Agent...',
|
||||||
userAgentDescription: '用於請求時的 User-Agent 識別',
|
|
||||||
|
|
||||||
// 通用提示和狀態
|
// 通用提示和狀態
|
||||||
notSet: '未設定',
|
notSet: '未設定',
|
||||||
@@ -2605,7 +2563,6 @@ export default {
|
|||||||
'提示:如果您的帳戶是普通個人帳戶(未綁定 Google Cloud),請留空此欄位。',
|
'提示:如果您的帳戶是普通個人帳戶(未綁定 Google Cloud),請留空此欄位。',
|
||||||
|
|
||||||
// AWS 區域參考
|
// AWS 區域參考
|
||||||
awsRegionReference: '常用 AWS 區域參考:',
|
|
||||||
awsRegionEastUS: 'us-east-1 (美國東部)',
|
awsRegionEastUS: 'us-east-1 (美國東部)',
|
||||||
awsRegionWestUS: 'us-west-2 (美國西部)',
|
awsRegionWestUS: 'us-west-2 (美國西部)',
|
||||||
awsRegionEuropeIreland: 'eu-west-1 (歐洲愛爾蘭)',
|
awsRegionEuropeIreland: 'eu-west-1 (歐洲愛爾蘭)',
|
||||||
@@ -2625,7 +2582,6 @@ export default {
|
|||||||
azureModelSelectionDesc: '選擇此部署支援的模型類型',
|
azureModelSelectionDesc: '選擇此部署支援的模型類型',
|
||||||
|
|
||||||
// 限流機制
|
// 限流機制
|
||||||
rateLimitMechanism: '限流機制',
|
|
||||||
enableRateLimitMechanism: '啟用限流機制',
|
enableRateLimitMechanism: '啟用限流機制',
|
||||||
rateLimitDescription2: '啟用後,當帳戶返回429錯誤時將暫停調度一段時間',
|
rateLimitDescription2: '啟用後,當帳戶返回429錯誤時將暫停調度一段時間',
|
||||||
rateLimitDurationMinutes: '限流時間 (分鐘)',
|
rateLimitDurationMinutes: '限流時間 (分鐘)',
|
||||||
@@ -2634,32 +2590,23 @@ export default {
|
|||||||
|
|
||||||
// Claude Console 特定欄位
|
// Claude Console 特定欄位
|
||||||
claudeConsoleFields: 'Claude Console 特定欄位',
|
claudeConsoleFields: 'Claude Console 特定欄位',
|
||||||
quotaManagement: '額度管理',
|
|
||||||
modelMappingTable: '模型映射表',
|
modelMappingTable: '模型映射表',
|
||||||
modelMappingTableOptional: '模型映射表 (可選)',
|
modelMappingTableOptional: '模型映射表 (可選)',
|
||||||
addModelMapping: '新增模型映射',
|
|
||||||
|
|
||||||
// Claude 訂閱類型
|
// Claude 訂閱類型
|
||||||
subscriptionType: '訂閱類型',
|
subscriptionType: '訂閱類型',
|
||||||
|
|
||||||
// Setup Token 授權
|
// Setup Token 授權
|
||||||
setupTokenAuth: 'Setup Token 授權',
|
|
||||||
claudeSetupTokenAuth: 'Claude Setup Token 授權',
|
claudeSetupTokenAuth: 'Claude Setup Token 授權',
|
||||||
setupTokenAuthSteps: '請按照以下步驟透過 Setup Token 完成 Claude 帳戶的授權:',
|
setupTokenAuthSteps: '請按照以下步驟透過 Setup Token 完成 Claude 帳戶的授權:',
|
||||||
generateSetupTokenLink: '產生 Setup Token 授權連結',
|
generateSetupTokenLink: '產生 Setup Token 授權連結',
|
||||||
generating: '產生中...',
|
|
||||||
|
|
||||||
// 按鈕和操作
|
// 按鈕和操作
|
||||||
verifying: '驗證中...',
|
|
||||||
completeAuth: '完成授權',
|
completeAuth: '完成授權',
|
||||||
updating: '更新中...',
|
|
||||||
update: '更新',
|
|
||||||
|
|
||||||
// 錯誤訊息
|
// 錯誤訊息
|
||||||
generateSetupTokenFailed: '產生Setup Token授權連結失敗',
|
generateSetupTokenFailed: '產生Setup Token授權連結失敗',
|
||||||
copyFailed: '複製失敗,請手動複製',
|
|
||||||
setupTokenAuthFailed: 'Setup Token授權失敗,請檢查授權碼是否正確',
|
setupTokenAuthFailed: 'Setup Token授權失敗,請檢查授權碼是否正確',
|
||||||
accountCreationFailed: '帳戶建立失敗',
|
|
||||||
accountCreationError: '帳戶建立失敗:',
|
accountCreationError: '帳戶建立失敗:',
|
||||||
|
|
||||||
// 頁面結構註釋
|
// 頁面結構註釋
|
||||||
@@ -2674,29 +2621,18 @@ export default {
|
|||||||
|
|
||||||
// 驗證訊息
|
// 驗證訊息
|
||||||
nameRequired: '請填寫帳戶名稱',
|
nameRequired: '請填寫帳戶名稱',
|
||||||
apiUrlRequired: '請填寫 API URL',
|
|
||||||
rateLimitDefault60: '預設60分鐘',
|
rateLimitDefault60: '預設60分鐘',
|
||||||
rateLimitPauseDescription: '帳戶被限流後暫停調度的時間(分鐘)',
|
rateLimitPauseDescription: '帳戶被限流後暫停調度的時間(分鐘)',
|
||||||
apiUrlPlaceholder: '例如:https://api.example.com',
|
|
||||||
apiKeyPlaceholder: '請輸入API Key',
|
|
||||||
dailyQuotaLimit: '每日額度限制 ($)',
|
dailyQuotaLimit: '每日額度限制 ($)',
|
||||||
quotaZeroUnlimited: '0 表示不限制',
|
quotaZeroUnlimited: '0 表示不限制',
|
||||||
dailyQuotaDescription: '設定每日使用額度,0 表示不限制',
|
|
||||||
quotaResetTime: '額度重設時間',
|
|
||||||
quotaResetTimeDescription: '每日自動重設額度的時間',
|
|
||||||
modelMappingDescription:
|
|
||||||
'留空表示支援所有模型且不修改請求。設定映射後,左側模型會被識別為支援的模型,右側是實際傳送的模型。',
|
|
||||||
|
|
||||||
// 額度管理
|
// 額度管理
|
||||||
quotaManagementFields: '配額管理欄位',
|
quotaManagementFields: '配額管理欄位',
|
||||||
dailyQuotaLimitDollar: '每日配額限制 ($)',
|
dailyQuotaLimitDollar: '每日配額限制 ($)',
|
||||||
quotaZeroUnlimited: '0 表示不限制',
|
|
||||||
dailyQuotaDesc: '設定每日使用配額,0 表示不限制',
|
dailyQuotaDesc: '設定每日使用配額,0 表示不限制',
|
||||||
quotaResetTime: '配額重設時間',
|
|
||||||
quotaResetTimeDesc: '每日自動重設配額的時間',
|
quotaResetTimeDesc: '每日自動重設配額的時間',
|
||||||
|
|
||||||
// 模型映射
|
// 模型映射
|
||||||
modelMappingOptional: '模型映射表 (可選)',
|
|
||||||
modelMappingDesc:
|
modelMappingDesc:
|
||||||
'留空表示支援所有模型且不修改請求。設定映射後,左側模型會被識別為支援的模型,右側是實際發送的模型。',
|
'留空表示支援所有模型且不修改請求。設定映射後,左側模型會被識別為支援的模型,右側是實際發送的模型。',
|
||||||
originalModelName: '原始模型名稱',
|
originalModelName: '原始模型名稱',
|
||||||
@@ -2708,7 +2644,6 @@ export default {
|
|||||||
|
|
||||||
// Claude 訂閱類型
|
// Claude 訂閱類型
|
||||||
claudeSubscriptionType: '訂閱類型',
|
claudeSubscriptionType: '訂閱類型',
|
||||||
claudeProLimitation: 'Pro 帳戶不支援 Claude Opus 4 模型',
|
|
||||||
|
|
||||||
// Claude 進階選項
|
// Claude 進階選項
|
||||||
claudeAutoStopScheduling: '5小時使用量接近限制時自動停止調度',
|
claudeAutoStopScheduling: '5小時使用量接近限制時自動停止調度',
|
||||||
@@ -2736,13 +2671,10 @@ export default {
|
|||||||
setupTokenCopyTitle: '複製連結',
|
setupTokenCopyTitle: '複製連結',
|
||||||
|
|
||||||
// 步驟指示器
|
// 步驟指示器
|
||||||
stepIndicator: '步驟指示器',
|
|
||||||
step1BasicInfo: '步驟1: 基本資訊和代理設定',
|
|
||||||
step2OAuth: '步驟2: OAuth授權',
|
step2OAuth: '步驟2: OAuth授權',
|
||||||
step2SetupToken: '步驟2: Setup Token授權',
|
step2SetupToken: '步驟2: Setup Token授權',
|
||||||
|
|
||||||
// 群組選擇器
|
// 群組選擇器
|
||||||
groupSelector: '群組選擇器',
|
|
||||||
multiGroupInterface: '多選群組介面',
|
multiGroupInterface: '多選群組介面',
|
||||||
createNewGroupOption: '新建群組選項',
|
createNewGroupOption: '新建群組選項',
|
||||||
|
|
||||||
@@ -2752,15 +2684,12 @@ export default {
|
|||||||
// Placeholder 文字
|
// Placeholder 文字
|
||||||
originalModelNamePlaceholder: '原始模型名稱',
|
originalModelNamePlaceholder: '原始模型名稱',
|
||||||
mappedModelNamePlaceholder: '映射後的模型名稱',
|
mappedModelNamePlaceholder: '映射後的模型名稱',
|
||||||
userAgentPlaceholder: '留空則透傳用戶端 User-Agent',
|
|
||||||
authCodePlaceholder: '貼上Claude Code授權頁面獲取的Authorization Code...',
|
authCodePlaceholder: '貼上Claude Code授權頁面獲取的Authorization Code...',
|
||||||
leaveEmptyNoUpdate: '留空表示不更新',
|
leaveEmptyNoUpdate: '留空表示不更新',
|
||||||
leaveEmptyNoUpdateKey: '留空表示不更新 API Key',
|
leaveEmptyNoUpdateKey: '留空表示不更新 API Key',
|
||||||
leaveEmptyNoUpdateToken: '留空表示不更新...',
|
leaveEmptyNoUpdateToken: '留空表示不更新...',
|
||||||
|
|
||||||
// 標籤和描述
|
// 標籤和描述
|
||||||
customUserAgentOptional: '自定義 User-Agent (可選)',
|
|
||||||
clientIdLabel: '用戶端標識 ID',
|
|
||||||
schedulePriorityLabel: '調度優先級 (1-100)',
|
schedulePriorityLabel: '調度優先級 (1-100)',
|
||||||
attentionLabel: '注意:',
|
attentionLabel: '注意:',
|
||||||
supportedModelsLabel: '支援的模型',
|
supportedModelsLabel: '支援的模型',
|
||||||
@@ -2773,17 +2702,14 @@ export default {
|
|||||||
previousStepBtn: '上一步',
|
previousStepBtn: '上一步',
|
||||||
|
|
||||||
// 描述性文字
|
// 描述性文字
|
||||||
claudeProLimitation: 'Pro 帳戶不支援 Claude Opus 4 模型',
|
|
||||||
claude5HourLimitDesc: '5小時使用量接近限制時自動停止調度',
|
claude5HourLimitDesc: '5小時使用量接近限制時自動停止調度',
|
||||||
claude5HourLimitExplanation:
|
claude5HourLimitExplanation:
|
||||||
'當系統檢測到帳戶接近5小時使用限制時,自動暫停調度該帳戶。進入新的時間視窗後會自動恢復調度。',
|
'當系統檢測到帳戶接近5小時使用限制時,自動暫停調度該帳戶。進入新的時間視窗後會自動恢復調度。',
|
||||||
useUnifiedClaudeVersion: '使用統一 Claude Code 版本',
|
useUnifiedClaudeVersion: '使用統一 Claude Code 版本',
|
||||||
unifiedVersionDesc: '開啟後將使用從真實 Claude Code 用戶端捕獲的統一 User-Agent,提高相容性',
|
unifiedVersionDesc: '開啟後將使用從真實 Claude Code 用戶端捕獲的統一 User-Agent,提高相容性',
|
||||||
currentUnifiedVersion: '💡 目前統一版本:',
|
|
||||||
waitingUserAgent: '⏳ 等待從 Claude Code 用戶端捕獲 User-Agent',
|
waitingUserAgent: '⏳ 等待從 Claude Code 用戶端捕獲 User-Agent',
|
||||||
userAgentTip: '💡 提示:如果長時間未能捕獲,請確認有 Claude Code 用戶端正在使用此帳戶,',
|
userAgentTip: '💡 提示:如果長時間未能捕獲,請確認有 Claude Code 用戶端正在使用此帳戶,',
|
||||||
contactDeveloper: '或聯繫開發者檢查 User-Agent 格式是否發生變化',
|
contactDeveloper: '或聯繫開發者檢查 User-Agent 格式是否發生變化',
|
||||||
useUnifiedClientId: '使用統一的用戶端標識',
|
|
||||||
unifiedClientIdDesc: '開啟後將使用固定的用戶端標識,使所有請求看起來來自同一個用戶端,減少特徵',
|
unifiedClientIdDesc: '開啟後將使用固定的用戶端標識,使所有請求看起來來自同一個用戶端,減少特徵',
|
||||||
clientIdReplaceDesc: '此ID將替換請求中的user_id用戶端部分,保留session部分用於黏性工作階段',
|
clientIdReplaceDesc: '此ID將替換請求中的user_id用戶端部分,保留session部分用於黏性工作階段',
|
||||||
|
|
||||||
@@ -2804,9 +2730,6 @@ export default {
|
|||||||
awsRegionRef: '常用 AWS 區域參考:',
|
awsRegionRef: '常用 AWS 區域參考:',
|
||||||
|
|
||||||
// 錯誤訊息
|
// 錯誤訊息
|
||||||
apiKeyRequired: '請填寫 API Key',
|
|
||||||
refreshTokenRequired: '請填寫 Refresh Token',
|
|
||||||
accessTokenRequired: '請填寫 Access Token',
|
|
||||||
copyFailedManual: '複製失敗,請手動複製',
|
copyFailedManual: '複製失敗,請手動複製',
|
||||||
|
|
||||||
// 表單描述
|
// 表單描述
|
||||||
@@ -2817,9 +2740,7 @@ export default {
|
|||||||
|
|
||||||
// 基础標籤
|
// 基础標籤
|
||||||
apiUrlLabel: 'API URL',
|
apiUrlLabel: 'API URL',
|
||||||
apiUrlRequired: 'API URL *',
|
|
||||||
apiKeyLabel: 'API Key',
|
apiKeyLabel: 'API Key',
|
||||||
apiKeyRequired: 'API Key *',
|
|
||||||
|
|
||||||
// 更多缺失的翻譯鍵
|
// 更多缺失的翻譯鍵
|
||||||
copyLinkTooltip: '複製連結',
|
copyLinkTooltip: '複製連結',
|
||||||
|
|||||||
Reference in New Issue
Block a user