{ "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." } } }