mirror of
https://github.com/CJackHwang/ds2api.git
synced 2026-05-06 01:15:29 +08:00
329 lines
14 KiB
JSON
329 lines
14 KiB
JSON
{
|
||
"language": {
|
||
"label": "Language",
|
||
"english": "English",
|
||
"chinese": "中文"
|
||
},
|
||
"nav": {
|
||
"accounts": {
|
||
"label": "Account Management",
|
||
"desc": "Manage the DeepSeek account pool"
|
||
},
|
||
"test": {
|
||
"label": "API Test",
|
||
"desc": "Test API connectivity and responses"
|
||
},
|
||
"import": {
|
||
"label": "Batch Import",
|
||
"desc": "Bulk import account configuration"
|
||
},
|
||
"vercel": {
|
||
"label": "Vercel Sync",
|
||
"desc": "Sync configuration to Vercel"
|
||
},
|
||
"settings": {
|
||
"label": "Settings",
|
||
"desc": "Edit runtime and security settings online"
|
||
}
|
||
},
|
||
"sidebar": {
|
||
"onlineAdminConsole": "Online Admin Console",
|
||
"systemStatus": "System Status",
|
||
"statusOnline": "Online",
|
||
"accounts": "Accounts",
|
||
"keys": "Keys",
|
||
"signOut": "Sign out",
|
||
"version": "Version",
|
||
"updateAvailable": "Update available: {latest}"
|
||
},
|
||
"auth": {
|
||
"expired": "Authentication expired. Please sign in again.",
|
||
"checking": "Checking authentication status..."
|
||
},
|
||
"errors": {
|
||
"fetchConfig": "Failed to fetch configuration: {error}"
|
||
},
|
||
"actions": {
|
||
"cancel": "Cancel",
|
||
"add": "Add",
|
||
"delete": "Delete",
|
||
"copy": "Copy",
|
||
"generate": "Generate",
|
||
"test": "Refresh token",
|
||
"testing": "Refreshing...",
|
||
"loading": "Loading..."
|
||
},
|
||
"messages": {
|
||
"deleted": "Deleted successfully",
|
||
"deleteFailed": "Delete failed",
|
||
"failedToAdd": "Failed to add",
|
||
"networkError": "Network error.",
|
||
"requestFailed": "Request failed.",
|
||
"generationStopped": "Generation stopped.",
|
||
"invalidJson": "Invalid JSON format.",
|
||
"importFailed": "Import failed.",
|
||
"copyFailed": "Copy failed."
|
||
},
|
||
"landing": {
|
||
"adminConsole": "Admin Console",
|
||
"apiStatus": "API Status",
|
||
"features": {
|
||
"compatibility": {
|
||
"title": "Full Compatibility",
|
||
"desc": "OpenAI & Claude format support"
|
||
},
|
||
"loadBalancing": {
|
||
"title": "Load Balancing",
|
||
"desc": "Smart rotation with stable throughput"
|
||
},
|
||
"reasoning": {
|
||
"title": "Deep Reasoning",
|
||
"desc": "Expose reasoning traces when enabled"
|
||
},
|
||
"search": {
|
||
"title": "Web Search",
|
||
"desc": "Integrated native web search"
|
||
}
|
||
}
|
||
},
|
||
"accountManager": {
|
||
"addKeySuccess": "API key added successfully.",
|
||
"addAccountSuccess": "Account added successfully.",
|
||
"requiredFields": "Password and email/mobile are required.",
|
||
"deleteKeyConfirm": "Are you sure you want to delete this API key?",
|
||
"deleteAccountConfirm": "Are you sure you want to delete this account?",
|
||
"invalidIdentifier": "Invalid account identifier. Operation aborted.",
|
||
"testAllConfirm": "Refresh all account tokens and verify login?",
|
||
"testAllCompleted": "Completed: {success}/{total} refreshed",
|
||
"testFailed": "Test failed: {error}",
|
||
"available": "Available",
|
||
"inUse": "In use",
|
||
"totalPool": "Total pool",
|
||
"accountsUnit": "accounts",
|
||
"threadsUnit": "threads",
|
||
"apiKeysTitle": "API Keys",
|
||
"apiKeysDesc": "Manage the API access key pool",
|
||
"addKey": "Add key",
|
||
"copied": "Copied",
|
||
"copyFailed": "Copy failed",
|
||
"copyKeyTitle": "Copy key",
|
||
"deleteKeyTitle": "Delete key",
|
||
"noApiKeys": "No API keys found.",
|
||
"accountsTitle": "DeepSeek Accounts",
|
||
"accountsDesc": "Manage the DeepSeek account pool",
|
||
"testAll": "Refresh all tokens",
|
||
"addAccount": "Add account",
|
||
"testingAllAccounts": "Refreshing tokens for all accounts...",
|
||
"sessionActive": "Session active",
|
||
"reauthRequired": "Re-auth required",
|
||
"runtimeStatusUnknown": "Will be determined after sync",
|
||
"testStatusFailed": "Last test failed",
|
||
"noAccounts": "No accounts found.",
|
||
"modalAddKeyTitle": "Add API key",
|
||
"newKeyLabel": "New key value",
|
||
"newKeyPlaceholder": "Enter a custom API key",
|
||
"generate": "Generate",
|
||
"generateHint": "Click Generate to create a random key.",
|
||
"addKeyLoading": "Adding...",
|
||
"addKeyAction": "Add key",
|
||
"modalAddAccountTitle": "Add DeepSeek account",
|
||
"emailOptional": "Email (optional)",
|
||
"mobileOptional": "Mobile (optional)",
|
||
"passwordLabel": "Password",
|
||
"passwordPlaceholder": "Account password",
|
||
"addAccountLoading": "Adding...",
|
||
"addAccountAction": "Add account",
|
||
"pageInfo": "Page {current}/{total}, {count} accounts total",
|
||
"searchPlaceholder": "Search accounts...",
|
||
"searchNoResults": "No accounts match your search",
|
||
"sessionCount": "Sessions: {count}",
|
||
"deleteAllSessions": "Delete all sessions",
|
||
"deleteAllSessionsConfirm": "Are you sure you want to delete all sessions for this account? This action cannot be undone.",
|
||
"deleteAllSessionsSuccess": "Successfully deleted all sessions",
|
||
"envModeRiskTitle": "Environment-variable config mode detected (persistence risk)",
|
||
"envModeRiskDesc": "Detected DS2API_CONFIG_JSON. If DS2API_ENV_WRITEBACK is not enabled, Admin UI edits are in-memory only and may be lost after restart.",
|
||
"envModeWritebackPendingTitle": "Env mode + auto-persistence enabled (pending file handoff)",
|
||
"envModeWritebackActiveTitle": "Env mode + auto-persistence active",
|
||
"envModeWritebackDesc": "The app will auto-create/write the config file and transition to file-backed mode. Current persistence path: {path}"
|
||
},
|
||
"apiTester": {
|
||
"defaultMessage": "Hello, please introduce yourself in one sentence.",
|
||
"models": {
|
||
"chat": "Non-reasoning model",
|
||
"reasoner": "Reasoning model",
|
||
"chatSearch": "Non-reasoning model (with search)",
|
||
"reasonerSearch": "Reasoning model (with search)"
|
||
},
|
||
"missingApiKey": "Please provide an API key.",
|
||
"requestFailed": "Request failed.",
|
||
"networkError": "Network error: {error}",
|
||
"testSuccess": "{account}: Token refresh successful ({time}ms)",
|
||
"config": "Configuration",
|
||
"modelLabel": "Model",
|
||
"streamMode": "Streaming",
|
||
"accountSelector": "Account",
|
||
"autoRandom": "🤖 Auto / Random",
|
||
"apiKeyOptional": "API Key (optional)",
|
||
"apiKeyDefault": "Default: ...{suffix}",
|
||
"apiKeyPlaceholder": "Enter a custom key",
|
||
"modeManaged": "Managed key mode (uses account pool).",
|
||
"modeDirect": "Direct token mode (requires a valid DeepSeek token).",
|
||
"statusError": "Error",
|
||
"reasoningTrace": "Reasoning Trace",
|
||
"generating": "Generating response...",
|
||
"enterMessage": "Enter a message...",
|
||
"adminConsoleLabel": "DeepSeek admin console"
|
||
},
|
||
"batchImport": {
|
||
"templates": {
|
||
"full": {
|
||
"name": "Full configuration template",
|
||
"desc": "Includes keys, accounts, and model mapping"
|
||
},
|
||
"emailOnly": {
|
||
"name": "Email-only accounts",
|
||
"desc": "Batch import accounts using email login"
|
||
},
|
||
"mobileOnly": {
|
||
"name": "Mobile-only accounts",
|
||
"desc": "Batch import accounts using mobile login"
|
||
},
|
||
"keysOnly": {
|
||
"name": "API keys only",
|
||
"desc": "Add API access keys only"
|
||
}
|
||
},
|
||
"enterJson": "Please provide JSON configuration content.",
|
||
"importSuccess": "Import successful: {keys} keys, {accounts} accounts",
|
||
"templateLoaded": "Template loaded: {name}",
|
||
"currentConfigLoaded": "Current configuration loaded.",
|
||
"fetchConfigFailed": "Failed to fetch configuration.",
|
||
"copySuccess": "Base64 configuration copied to clipboard.",
|
||
"quickTemplates": "Quick Templates",
|
||
"dataExport": "Data Export",
|
||
"dataExportDesc": "Copy the Base64-encoded configuration for Vercel environment variables.",
|
||
"copyBase64": "Copy Base64 config",
|
||
"copied": "Copied",
|
||
"variableName": "Variable name",
|
||
"jsonEditor": "JSON Editor",
|
||
"loadCurrentConfig": "Load current config",
|
||
"applyConfig": "Apply config",
|
||
"importing": "Importing...",
|
||
"importComplete": "Import complete",
|
||
"importSummary": "Imported {keys} API keys and updated {accounts} accounts."
|
||
},
|
||
"settings": {
|
||
"loadFailed": "Failed to load settings.",
|
||
"nonJsonResponse": "Unexpected non-JSON response from server (status: {status}).",
|
||
"save": "Save settings",
|
||
"saving": "Saving...",
|
||
"saveSuccess": "Settings saved and hot reloaded.",
|
||
"saveFailed": "Failed to save settings.",
|
||
"securityTitle": "Security",
|
||
"jwtExpireHours": "JWT expiry (hours)",
|
||
"newPassword": "New admin password",
|
||
"newPasswordPlaceholder": "Enter new password (min 4 chars)",
|
||
"updatePassword": "Update password",
|
||
"updating": "Updating...",
|
||
"passwordTooShort": "Password must be at least 4 characters.",
|
||
"passwordUpdated": "Password updated. Please sign in again.",
|
||
"passwordUpdateFailed": "Failed to update password.",
|
||
"runtimeTitle": "Runtime",
|
||
"accountMaxInflight": "Per-account max inflight",
|
||
"accountMaxQueue": "Account max queue size",
|
||
"globalMaxInflight": "Global max inflight",
|
||
"tokenRefreshIntervalHours": "Managed token refresh interval (hours)",
|
||
"behaviorTitle": "Behavior",
|
||
"responsesTTL": "Responses store TTL (seconds)",
|
||
"embeddingsProvider": "Embeddings provider",
|
||
"compatibilityTitle": "Compatibility",
|
||
"compatibilityDesc": "Compatibility controls that keep stream output closer to the wire format or safer for the web UI.",
|
||
"stripReferenceMarkers": "Strip [reference:N] markers",
|
||
"modelTitle": "Model mapping",
|
||
"claudeMapping": "Claude mapping (JSON)",
|
||
"modelAliases": "Model aliases (JSON)",
|
||
"autoDeleteTitle": "Session Cleanup Policy",
|
||
"autoDeleteDesc": "Choose how DeepSeek remote chat records are cleaned up after each request completes.",
|
||
"autoDeleteMode": "Deletion mode",
|
||
"autoDeleteNone": "Do not delete",
|
||
"autoDeleteSingle": "Delete current session",
|
||
"autoDeleteAll": "Delete all sessions",
|
||
"autoDeleteNoneDesc": "Keep the remote session after the request completes.",
|
||
"autoDeleteSingleDesc": "Delete only the remote session created by this request.",
|
||
"autoDeleteAllDesc": "Delete every remote session for the account after the request completes.",
|
||
"autoDeleteWarning": "This mode deletes remote chat records. Use with caution.",
|
||
"backupTitle": "Backup & Restore",
|
||
"loadExport": "Load current export",
|
||
"downloadExport": "Download backup file",
|
||
"importModeMerge": "Merge import (default)",
|
||
"importModeReplace": "Replace all import",
|
||
"chooseImportFile": "Choose import file",
|
||
"importNow": "Import now",
|
||
"importing": "Importing...",
|
||
"importPlaceholder": "Paste config JSON to import",
|
||
"importEmpty": "Please input import JSON.",
|
||
"importInvalidJson": "Import JSON is invalid.",
|
||
"importFailed": "Import failed.",
|
||
"importSuccess": "Config imported (mode: {mode}).",
|
||
"importFileLoaded": "Import file content loaded.",
|
||
"importFileReadFailed": "Failed to read import file.",
|
||
"exportFailed": "Export failed.",
|
||
"exportLoaded": "Current export loaded.",
|
||
"exportDownloaded": "Backup file download started.",
|
||
"exportJson": "Export JSON",
|
||
"invalidJsonField": "{field} is not a valid JSON object.",
|
||
"defaultPasswordWarning": "You are using the default admin password \"admin\". Please change it.",
|
||
"vercelSyncHint": "Configuration changed. For Vercel deployments, sync manually in Vercel Sync and redeploy.",
|
||
"autoFetchPaused": "Auto loading paused after {count} failures: {error}",
|
||
"retryLoad": "Retry now"
|
||
},
|
||
"login": {
|
||
"welcome": "Welcome back",
|
||
"subtitle": "Enter your admin key to continue",
|
||
"adminKeyLabel": "Admin key",
|
||
"adminKeyPlaceholder": "Enter your admin key...",
|
||
"rememberSession": "Remember this session",
|
||
"signIn": "Sign in",
|
||
"secureConnection": "Secure connection",
|
||
"adminPortal": "DS2API admin portal",
|
||
"signInFailed": "Sign-in failed.",
|
||
"networkError": "Network error: {error}"
|
||
},
|
||
"vercel": {
|
||
"tokenRequired": "Vercel access token is required.",
|
||
"projectRequired": "Project ID is required.",
|
||
"syncFailed": "Sync failed.",
|
||
"networkError": "Network error.",
|
||
"title": "Vercel Deployment",
|
||
"description": "Sync the current keys and accounts directly to Vercel environment variables.",
|
||
"tokenLabel": "Vercel Access Token",
|
||
"getToken": "Get token",
|
||
"tokenPlaceholderPreconfig": "Using preconfigured token",
|
||
"tokenPlaceholder": "Enter Vercel access token",
|
||
"projectIdLabel": "Project ID",
|
||
"projectIdHint": "Find it in Project Settings → General.",
|
||
"teamIdLabel": "Team ID",
|
||
"optional": "optional",
|
||
"syncing": "Syncing...",
|
||
"syncRedeploy": "Sync & redeploy",
|
||
"redeployHint": "This triggers a Vercel redeploy and usually takes 30–60 seconds.",
|
||
"syncSucceeded": "Sync succeeded",
|
||
"syncFailedLabel": "Sync failed",
|
||
"openDeployment": "Open deployment",
|
||
"statusSynced": "Synced",
|
||
"statusNotSynced": "Not synced",
|
||
"statusNeverSynced": "Never synced",
|
||
"lastSyncTime": "Last sync: {time}",
|
||
"draftDiffers": "Frontend draft differs from env config. Click Sync & redeploy.",
|
||
"pollPaused": "Status polling paused after {count} failures.",
|
||
"manualRefresh": "Refresh manually",
|
||
"howItWorks": "How it works",
|
||
"steps": {
|
||
"one": "The current configuration (keys and accounts) is exported as JSON.",
|
||
"two": "The JSON is Base64-encoded for safe formatting.",
|
||
"three": "Update the env var in Vercel:",
|
||
"four": "Trigger a redeploy to apply the updated environment variables."
|
||
}
|
||
}
|
||
}
|