- Change ProviderForm to use providerForm.category* instead of providerPreset.category* - Remove duplicate category keys from providerPreset namespace in both zh.json and en.json - Fix naming inconsistency: use categoryAggregation (not categoryAggregator) - Fixes issue where English UI would show Chinese defaultValue fallbacks This ensures single source of truth for category labels and improves maintainability.
612 lines
28 KiB
JSON
612 lines
28 KiB
JSON
{
|
|
"app": {
|
|
"title": "CC Switch",
|
|
"description": "Claude Code & Codex Provider Switching Tool"
|
|
},
|
|
"common": {
|
|
"add": "Add",
|
|
"edit": "Edit",
|
|
"delete": "Delete",
|
|
"save": "Save",
|
|
"saving": "Saving...",
|
|
"cancel": "Cancel",
|
|
"confirm": "Confirm",
|
|
"close": "Close",
|
|
"done": "Done",
|
|
"settings": "Settings",
|
|
"about": "About",
|
|
"version": "Version",
|
|
"loading": "Loading...",
|
|
"success": "Success",
|
|
"error": "Error",
|
|
"unknown": "Unknown",
|
|
"enterValidValue": "Please enter a valid value",
|
|
"clear": "Clear",
|
|
"toggleTheme": "Toggle theme",
|
|
"format": "Format",
|
|
"formatSuccess": "Formatted successfully",
|
|
"formatError": "Format failed: {{error}}",
|
|
"copy": "Copy"
|
|
},
|
|
"apiKeyInput": {
|
|
"placeholder": "Enter API Key",
|
|
"show": "Show API Key",
|
|
"hide": "Hide API Key"
|
|
},
|
|
"jsonEditor": {
|
|
"mustBeObject": "Configuration must be a JSON object, not an array or other type",
|
|
"invalidJson": "Invalid JSON format"
|
|
},
|
|
"claudeConfig": {
|
|
"configLabel": "Claude Code settings.json (JSON) *",
|
|
"writeCommonConfig": "Write Common Config",
|
|
"editCommonConfig": "Edit Common Config",
|
|
"editCommonConfigTitle": "Edit Common Config Snippet",
|
|
"commonConfigHint": "This snippet will be merged into settings.json when 'Write Common Config' is checked",
|
|
"fullSettingsHint": "Full Claude Code settings.json content"
|
|
},
|
|
"header": {
|
|
"viewOnGithub": "View on GitHub",
|
|
"toggleDarkMode": "Switch to Dark Mode",
|
|
"toggleLightMode": "Switch to Light Mode",
|
|
"addProvider": "Add Provider",
|
|
"switchToChinese": "Switch to Chinese",
|
|
"switchToEnglish": "Switch to English",
|
|
"enterEditMode": "Enter Edit Mode",
|
|
"exitEditMode": "Exit Edit Mode"
|
|
},
|
|
"provider": {
|
|
"noProviders": "No providers added yet",
|
|
"noProvidersDescription": "Click the \"Add Provider\" button in the top right to configure your first API provider",
|
|
"currentlyUsing": "Currently Using",
|
|
"enable": "Enable",
|
|
"inUse": "In Use",
|
|
"editProvider": "Edit Provider",
|
|
"editProviderHint": "Configuration will be applied to the current provider immediately after update.",
|
|
"deleteProvider": "Delete Provider",
|
|
"addNewProvider": "Add New Provider",
|
|
"addClaudeProvider": "Add Claude Code Provider",
|
|
"addCodexProvider": "Add Codex Provider",
|
|
"addGeminiProvider": "Add Gemini Provider",
|
|
"addProviderHint": "Fill in the information to quickly switch providers in the list.",
|
|
"editClaudeProvider": "Edit Claude Code Provider",
|
|
"editCodexProvider": "Edit Codex Provider",
|
|
"configError": "Configuration Error",
|
|
"notConfigured": "Not configured for official website",
|
|
"applyToClaudePlugin": "Apply to Claude plugin",
|
|
"removeFromClaudePlugin": "Remove from Claude plugin",
|
|
"dragToReorder": "Drag to reorder",
|
|
"dragHandle": "Drag to reorder",
|
|
"duplicate": "Duplicate",
|
|
"sortUpdateFailed": "Failed to update sort order",
|
|
"configureUsage": "Configure usage query",
|
|
"name": "Provider Name",
|
|
"namePlaceholder": "e.g., Claude Official",
|
|
"websiteUrl": "Website URL",
|
|
"configJson": "Config JSON",
|
|
"writeCommonConfig": "Write common config",
|
|
"editCommonConfigButton": "Edit common config",
|
|
"configJsonHint": "Please fill in complete Claude Code configuration",
|
|
"editCommonConfigTitle": "Edit common config snippet",
|
|
"editCommonConfigHint": "Common config snippet will be merged into all providers that enable it",
|
|
"addProvider": "Add Provider",
|
|
"sortUpdated": "Sort order updated",
|
|
"usageSaved": "Usage query configuration saved",
|
|
"usageSaveFailed": "Failed to save usage query configuration",
|
|
"geminiConfig": "Gemini Configuration",
|
|
"geminiConfigHint": "Use .env format to configure Gemini",
|
|
"form": {
|
|
"gemini": {
|
|
"model": "Model",
|
|
"oauthTitle": "OAuth Authentication Mode",
|
|
"oauthHint": "Google official uses OAuth personal authentication, no need to fill in API Key. The browser will automatically open for login on first use.",
|
|
"apiKeyPlaceholder": "Enter Gemini API Key"
|
|
}
|
|
}
|
|
},
|
|
"notifications": {
|
|
"providerAdded": "Provider added",
|
|
"providerSaved": "Provider configuration saved",
|
|
"providerDeleted": "Provider deleted successfully",
|
|
"switchSuccess": "Switch successful! Please restart {{appName}} terminal to take effect",
|
|
"switchFailedTitle": "Switch failed",
|
|
"switchFailed": "Switch failed: {{error}}",
|
|
"autoImported": "Default provider created from existing configuration",
|
|
"addFailed": "Failed to add provider: {{error}}",
|
|
"saveFailed": "Save failed: {{error}}",
|
|
"saveFailedGeneric": "Save failed, please try again",
|
|
"appliedToClaudePlugin": "Applied to Claude plugin",
|
|
"removedFromClaudePlugin": "Removed from Claude plugin",
|
|
"syncClaudePluginFailed": "Sync Claude plugin failed",
|
|
"updateSuccess": "Provider updated successfully",
|
|
"updateFailed": "Failed to update provider: {{error}}",
|
|
"deleteSuccess": "Provider deleted",
|
|
"deleteFailed": "Failed to delete provider: {{error}}",
|
|
"settingsSaved": "Settings saved",
|
|
"settingsSaveFailed": "Failed to save settings: {{error}}"
|
|
},
|
|
"confirm": {
|
|
"deleteProvider": "Delete Provider",
|
|
"deleteProviderMessage": "Are you sure you want to delete provider \"{{name}}\"? This action cannot be undone."
|
|
},
|
|
"settings": {
|
|
"title": "Settings",
|
|
"general": "General",
|
|
"tabGeneral": "General",
|
|
"tabAdvanced": "Advanced",
|
|
"language": "Language",
|
|
"languageHint": "Preview interface language immediately after switching, takes effect permanently after saving.",
|
|
"theme": "Theme",
|
|
"themeHint": "Choose the appearance theme for the app, takes effect immediately.",
|
|
"themeLight": "Light",
|
|
"themeDark": "Dark",
|
|
"themeSystem": "System",
|
|
"importExport": "Import/Export Config",
|
|
"importExportHint": "Import or export CC Switch configuration for backup or migration.",
|
|
"exportConfig": "Export Config to File",
|
|
"selectConfigFile": "Select Config File",
|
|
"noFileSelected": "No configuration file selected.",
|
|
"import": "Import",
|
|
"importing": "Importing...",
|
|
"importSuccess": "Import Successful!",
|
|
"importFailed": "Import Failed",
|
|
"syncLiveFailed": "Imported, but failed to sync to the current provider. Please reselect the provider manually.",
|
|
"importPartialSuccess": "Config imported, but failed to sync to the current provider.",
|
|
"importPartialHint": "Please manually reselect the provider to refresh the live configuration.",
|
|
"configExported": "Config exported to:",
|
|
"exportFailed": "Export failed",
|
|
"selectFileFailed": "Failed to select file",
|
|
"configCorrupted": "Config file may be corrupted or invalid",
|
|
"backupId": "Backup ID",
|
|
"autoReload": "Data will refresh automatically in 2 seconds...",
|
|
"languageOptionChinese": "中文",
|
|
"languageOptionEnglish": "English",
|
|
"windowBehavior": "Window Behavior",
|
|
"windowBehaviorHint": "Configure window minimize and Claude plugin integration policies.",
|
|
"minimizeToTray": "Minimize to tray on close",
|
|
"minimizeToTrayDescription": "When checked, clicking the close button will hide to system tray, otherwise the app will exit directly.",
|
|
"enableClaudePluginIntegration": "Apply to Claude Code extension",
|
|
"enableClaudePluginIntegrationDescription": "When enabled, the VS Code Claude Code extension provider will switch with this app",
|
|
"configDirectoryOverride": "Configuration Directory Override (Advanced)",
|
|
"configDirectoryDescription": "When using Claude Code or Codex in environments like WSL, you can manually specify the configuration directory to the one in WSL to keep provider data consistent with the main environment.",
|
|
"appConfigDir": "CC Switch Configuration Directory",
|
|
"appConfigDirDescription": "Customize the storage location for CC Switch configuration (point to cloud sync folder to enable config sync)",
|
|
"browsePlaceholderApp": "e.g., C:\\Users\\Administrator\\.cc-switch",
|
|
"claudeConfigDir": "Claude Code Configuration Directory",
|
|
"claudeConfigDirDescription": "Override Claude configuration directory (settings.json) and keep claude.json (MCP) alongside it.",
|
|
"codexConfigDir": "Codex Configuration Directory",
|
|
"codexConfigDirDescription": "Override Codex configuration directory.",
|
|
"browsePlaceholderClaude": "e.g., /home/<your-username>/.claude",
|
|
"browsePlaceholderCodex": "e.g., /home/<your-username>/.codex",
|
|
"browseDirectory": "Browse Directory",
|
|
"resetDefault": "Reset to default directory (takes effect after saving)",
|
|
"checkForUpdates": "Check for Updates",
|
|
"updateTo": "Update to v{{version}}",
|
|
"updating": "Updating...",
|
|
"checking": "Checking...",
|
|
"upToDate": "Up to Date",
|
|
"aboutHint": "View version information and update status.",
|
|
"portableMode": "Portable mode: updates require manual download.",
|
|
"updateAvailable": "New version available: {{version}}",
|
|
"updateFailed": "Update installation failed, attempted to open download page.",
|
|
"checkUpdateFailed": "Failed to check for updates, please try again later.",
|
|
"openReleaseNotesFailed": "Failed to open release notes",
|
|
"releaseNotes": "Release Notes",
|
|
"viewReleaseNotes": "View release notes for this version",
|
|
"viewCurrentReleaseNotes": "View current version release notes",
|
|
"importFailedError": "Import config failed: {{message}}",
|
|
"exportFailedError": "Export config failed:",
|
|
"restartRequired": "Restart Required",
|
|
"restartRequiredMessage": "Modifying the CC Switch configuration directory requires restarting the application to take effect. Restart now?",
|
|
"restartNow": "Restart Now",
|
|
"restartLater": "Restart Later",
|
|
"restartFailed": "Application restart failed, please manually close and reopen.",
|
|
"devModeRestartHint": "Dev Mode: Automatic restart not supported, please manually restart the application.",
|
|
"saving": "Saving..."
|
|
},
|
|
"apps": {
|
|
"claude": "Claude Code",
|
|
"codex": "Codex",
|
|
"gemini": "Gemini"
|
|
},
|
|
"console": {
|
|
"providerSwitchReceived": "Received provider switch event:",
|
|
"setupListenerFailed": "Failed to setup provider switch listener:",
|
|
"updateProviderFailed": "Update provider failed:",
|
|
"autoImportFailed": "Auto import default configuration failed:",
|
|
"openLinkFailed": "Failed to open link:",
|
|
"getVersionFailed": "Failed to get version info:",
|
|
"loadSettingsFailed": "Failed to load settings:",
|
|
"getConfigPathFailed": "Failed to get config path:",
|
|
"getConfigDirFailed": "Failed to get config directory:",
|
|
"detectPortableFailed": "Failed to detect portable mode:",
|
|
"saveSettingsFailed": "Failed to save settings:",
|
|
"updateFailed": "Update failed:",
|
|
"checkUpdateFailed": "Check for updates failed:",
|
|
"openConfigFolderFailed": "Failed to open config folder:",
|
|
"selectConfigDirFailed": "Failed to select config directory:",
|
|
"getDefaultConfigDirFailed": "Failed to get default config directory:",
|
|
"openReleaseNotesFailed": "Failed to open release notes:"
|
|
},
|
|
"providerForm": {
|
|
"supplierName": "Provider Name",
|
|
"supplierNameRequired": "Provider Name *",
|
|
"supplierNamePlaceholder": "e.g., Anthropic Official",
|
|
"websiteUrl": "Website URL",
|
|
"websiteUrlPlaceholder": "https://example.com (optional)",
|
|
"apiEndpoint": "API Endpoint",
|
|
"apiEndpointPlaceholder": "https://your-api-endpoint.com",
|
|
"codexApiEndpointPlaceholder": "https://your-api-endpoint.com/v1",
|
|
"manageAndTest": "Manage & Test",
|
|
"configContent": "Config Content",
|
|
"useConfigWizard": "Use Configuration Wizard",
|
|
"openConfigWizard": "Open configuration wizard",
|
|
"manualConfig": "Manually configure provider, requires complete configuration, or",
|
|
"officialNoApiKey": "Official login does not require API Key, save directly",
|
|
"codexOfficialNoApiKey": "Official does not require API Key, save directly",
|
|
"codexApiKeyAutoFill": "Just fill in here, auth.json below will be auto-filled",
|
|
"apiKeyAutoFill": "Just fill in here, config below will be auto-filled",
|
|
"cnOfficialApiKeyHint": "💡 Only need to fill in API Key, endpoint is preset",
|
|
"aggregatorApiKeyHint": "💡 Only need to fill in API Key, endpoint is preset",
|
|
"thirdPartyApiKeyHint": "💡 Only need to fill in API Key, endpoint is preset",
|
|
"customApiKeyHint": "💡 Custom configuration requires manually filling all necessary fields",
|
|
"officialHint": "💡 Official provider uses browser login, no API Key needed",
|
|
"getApiKey": "Get API Key",
|
|
"partnerPromotion": {
|
|
"zhipu": "Zhipu GLM is an official partner of CC Switch. Use this link to top up and get a 10% discount",
|
|
"packycode": "PackyCode is an official partner of CC Switch. Register using this link and enter \"cc-switch\" promo code during recharge to get 10% off"
|
|
},
|
|
"parameterConfig": "Parameter Config - {{name}} *",
|
|
"mainModel": "Main Model (optional)",
|
|
"mainModelPlaceholder": "e.g., GLM-4.6",
|
|
"fastModel": "Fast Model (optional)",
|
|
"fastModelPlaceholder": "e.g., GLM-4.5-Air",
|
|
"modelHint": "💡 Leave blank to use provider's default model",
|
|
"apiHint": "💡 Fill in Claude API compatible service endpoint",
|
|
"codexApiHint": "💡 Fill in service endpoint compatible with OpenAI Response format",
|
|
"fillSupplierName": "Please fill in provider name",
|
|
"fillConfigContent": "Please fill in configuration content",
|
|
"fillParameter": "Please fill in {{label}}",
|
|
"fillTemplateValue": "Please fill in {{label}}",
|
|
"configJsonError": "Config JSON format error, please check syntax",
|
|
"authJsonRequired": "auth.json must be a JSON object",
|
|
"authJsonError": "auth.json format error, please check JSON syntax",
|
|
"fillAuthJson": "Please fill in auth.json configuration",
|
|
"fillApiKey": "Please fill in OPENAI_API_KEY",
|
|
"visitWebsite": "Visit {{url}}",
|
|
"anthropicModel": "Main Model",
|
|
"anthropicSmallFastModel": "Fast Model",
|
|
"anthropicDefaultHaikuModel": "Default Haiku Model",
|
|
"anthropicDefaultSonnetModel": "Default Sonnet Model",
|
|
"anthropicDefaultOpusModel": "Default Opus Model",
|
|
"modelPlaceholder": "",
|
|
"smallModelPlaceholder": "",
|
|
"haikuModelPlaceholder": "",
|
|
"modelHelper": "Optional: Specify default Claude model to use, leave blank to use system default.",
|
|
"categoryOfficial": "Official",
|
|
"categoryCnOfficial": "Opensource Official",
|
|
"categoryAggregation": "Aggregation",
|
|
"categoryThirdParty": "Third Party"
|
|
},
|
|
"endpointTest": {
|
|
"title": "API Endpoint Management",
|
|
"endpoints": "endpoints",
|
|
"autoSelect": "Auto Select",
|
|
"testSpeed": "Test",
|
|
"testing": "Testing",
|
|
"addEndpointPlaceholder": "https://api.example.com",
|
|
"done": "Done",
|
|
"noEndpoints": "No endpoints",
|
|
"failed": "Failed",
|
|
"enterValidUrl": "Please enter a valid URL",
|
|
"invalidUrlFormat": "Invalid URL format",
|
|
"onlyHttps": "Only HTTP/HTTPS supported",
|
|
"urlExists": "This URL already exists",
|
|
"saveFailed": "Save failed, please try again",
|
|
"loadEndpointsFailed": "Failed to load custom endpoints:",
|
|
"addEndpointFailed": "Failed to add custom endpoint:",
|
|
"removeEndpointFailed": "Failed to remove custom endpoint:",
|
|
"removeFailed": "Remove failed: {{error}}",
|
|
"updateLastUsedFailed": "Failed to update endpoint last used time",
|
|
"pleaseAddEndpoint": "Please add an endpoint first",
|
|
"testUnavailable": "Speed test unavailable",
|
|
"noResult": "No result returned",
|
|
"testFailed": "Speed test failed: {{error}}"
|
|
},
|
|
"codexConfig": {
|
|
"quickWizard": "Quick Configuration Wizard",
|
|
"authJson": "auth.json (JSON) *",
|
|
"authJsonPlaceholder": "{\n \"OPENAI_API_KEY\": \"sk-your-api-key-here\"\n}",
|
|
"authJsonHint": "Codex auth.json configuration content",
|
|
"configToml": "config.toml (TOML)",
|
|
"configTomlHint": "Codex config.toml configuration content",
|
|
"writeCommonConfig": "Write Common Config",
|
|
"editCommonConfig": "Edit Common Config",
|
|
"editCommonConfigTitle": "Edit Codex Common Config Snippet",
|
|
"commonConfigHint": "This snippet will be appended to the end of config.toml when 'Write Common Config' is checked",
|
|
"wizardHint": "Enter key parameters, the system will automatically generate standard auth.json and config.toml configuration.",
|
|
"apiKeyLabel": "API Key *",
|
|
"apiKeyPlaceholder": "sk-your-api-key-here",
|
|
"supplierNameLabel": "Provider Name *",
|
|
"supplierNamePlaceholder": "e.g., Codex Official",
|
|
"supplierNameHint": "Will be displayed in the provider list, can use Chinese",
|
|
"supplierCodeLabel": "Provider Code (English)",
|
|
"supplierCodePlaceholder": "custom (optional)",
|
|
"supplierCodeHint": "Will be used as identifier in config file, defaults to custom",
|
|
"apiUrlLabel": "API Request URL *",
|
|
"apiUrlPlaceholder": "https://your-api-endpoint.com/v1",
|
|
"websiteLabel": "Website URL",
|
|
"websitePlaceholder": "https://example.com",
|
|
"websiteHint": "Official website address (optional)",
|
|
"modelNameLabel": "Model Name *",
|
|
"modelNamePlaceholder": "gpt-5-codex",
|
|
"configPreview": "Configuration Preview",
|
|
"applyConfig": "Apply Configuration"
|
|
},
|
|
"geminiConfig": {
|
|
"envFile": "Environment Variables (.env)",
|
|
"envFileHint": "Configure Gemini environment variables in .env format",
|
|
"configJson": "Configuration File (config.json)",
|
|
"configJsonHint": "Configure Gemini extended parameters in JSON format (optional)",
|
|
"writeCommonConfig": "Write Common Config",
|
|
"editCommonConfig": "Edit Common Config",
|
|
"editCommonConfigTitle": "Edit Gemini Common Config Snippet",
|
|
"commonConfigHint": "Common config snippet will be merged into all Gemini providers with it enabled"
|
|
},
|
|
"providerPreset": {
|
|
"label": "Provider Preset",
|
|
"custom": "Custom Configuration",
|
|
"other": "Other",
|
|
"hint": "You can continue to adjust the fields below after selecting a preset."
|
|
},
|
|
"usage": {
|
|
"queryFailed": "Query failed",
|
|
"refreshUsage": "Refresh usage",
|
|
"planUsage": "Plan usage",
|
|
"invalid": "Expired",
|
|
"total": "Total:",
|
|
"used": "Used:",
|
|
"remaining": "Remaining:",
|
|
"justNow": "Just now",
|
|
"minutesAgo": "{{count}} min ago",
|
|
"hoursAgo": "{{count}} hr ago",
|
|
"daysAgo": "{{count}} day ago"
|
|
},
|
|
"usageScript": {
|
|
"title": "Configure Usage Query",
|
|
"enableUsageQuery": "Enable usage query",
|
|
"presetTemplate": "Preset template",
|
|
"templateCustom": "Custom",
|
|
"templateGeneral": "General",
|
|
"templateNewAPI": "NewAPI",
|
|
"credentialsConfig": "Credentials",
|
|
"accessToken": "Access Token",
|
|
"accessTokenPlaceholder": "Generate in 'Security Settings'",
|
|
"userId": "User ID",
|
|
"userIdPlaceholder": "e.g., 114514",
|
|
"defaultPlan": "Default Plan",
|
|
"queryFailedMessage": "Query failed",
|
|
"queryScript": "Query script (JavaScript)",
|
|
"timeoutSeconds": "Timeout (seconds)",
|
|
"timeoutHint": "Range: 2-30 seconds",
|
|
"timeoutMustBeInteger": "Timeout must be an integer, decimal part ignored",
|
|
"timeoutCannotBeNegative": "Timeout cannot be negative",
|
|
"autoQueryInterval": "Auto Query Interval (minutes)",
|
|
"autoQueryIntervalHint": "0 to disable, recommend 5-60 minutes",
|
|
"intervalMustBeInteger": "Interval must be an integer, decimal part ignored",
|
|
"intervalCannotBeNegative": "Interval cannot be negative",
|
|
"intervalAdjusted": "Interval adjusted to {{value}} minutes",
|
|
"scriptHelp": "Script writing instructions:",
|
|
"configFormat": "Configuration format:",
|
|
"commentOptional": "optional",
|
|
"commentResponseIsJson": "response is the JSON data returned by the API",
|
|
"extractorFormat": "Extractor return format (all fields optional):",
|
|
"tips": "💡 Tips:",
|
|
"testing": "Testing...",
|
|
"testScript": "Test script",
|
|
"format": "Format",
|
|
"saveConfig": "Save config",
|
|
"scriptEmpty": "Script configuration cannot be empty",
|
|
"mustHaveReturn": "Script must contain return statement",
|
|
"testSuccess": "Test successful!",
|
|
"testFailed": "Test failed",
|
|
"formatSuccess": "Format successful",
|
|
"formatFailed": "Format failed",
|
|
"variablesHint": "Supported variables: {{apiKey}}, {{baseUrl}} | extractor function receives API response JSON object",
|
|
"fieldIsValid": "• isValid: Boolean, whether plan is valid",
|
|
"fieldInvalidMessage": "• invalidMessage: String, reason for expiration (shown when isValid is false)",
|
|
"fieldRemaining": "• remaining: Number, remaining quota",
|
|
"fieldUnit": "• unit: String, unit (e.g., \"USD\")",
|
|
"fieldPlanName": "• planName: String, plan name",
|
|
"fieldTotal": "• total: Number, total quota",
|
|
"fieldUsed": "• used: Number, used quota",
|
|
"fieldExtra": "• extra: String, custom display text",
|
|
"tip1": "• Variables {{apiKey}} and {{baseUrl}} are automatically replaced",
|
|
"tip2": "• Extractor function runs in sandbox environment, supports ES2020+ syntax",
|
|
"tip3": "• Entire config must be wrapped in () to form object literal expression"
|
|
},
|
|
"errors": {
|
|
"usage_query_failed": "Usage query failed"
|
|
},
|
|
|
|
"presetSelector": {
|
|
"title": "Select Configuration Type",
|
|
"custom": "Custom",
|
|
"customDescription": "Manually configure provider, requires complete configuration",
|
|
"officialDescription": "Official login, no API Key required",
|
|
"presetDescription": "Use preset configuration, only API Key required"
|
|
},
|
|
"mcp": {
|
|
"title": "MCP Management",
|
|
"claudeTitle": "Claude Code MCP Management",
|
|
"codexTitle": "Codex MCP Management",
|
|
"userLevelPath": "User-level MCP path",
|
|
"serverList": "Servers",
|
|
"loading": "Loading...",
|
|
"empty": "No MCP servers",
|
|
"emptyDescription": "Click the button in the top right to add your first MCP server",
|
|
"add": "Add MCP",
|
|
"addServer": "Add MCP",
|
|
"editServer": "Edit MCP",
|
|
"addClaudeServer": "Add Claude Code MCP",
|
|
"editClaudeServer": "Edit Claude Code MCP",
|
|
"addCodexServer": "Add Codex MCP",
|
|
"editCodexServer": "Edit Codex MCP",
|
|
"configPath": "Config Path",
|
|
"serverCount": "{{count}} MCP server(s) configured",
|
|
"enabledCount": "{{count}} enabled",
|
|
"template": {
|
|
"fetch": "Quick Template: mcp-fetch"
|
|
},
|
|
"form": {
|
|
"title": "MCP Title (Unique)",
|
|
"titlePlaceholder": "my-mcp-server",
|
|
"name": "Display Name",
|
|
"namePlaceholder": "e.g. @modelcontextprotocol/server-time",
|
|
"description": "Description",
|
|
"descriptionPlaceholder": "Optional description",
|
|
"tags": "Tags (comma separated)",
|
|
"tagsPlaceholder": "stdio, time, utility",
|
|
"homepage": "Homepage",
|
|
"homepagePlaceholder": "https://example.com",
|
|
"docs": "Docs",
|
|
"docsPlaceholder": "https://example.com/docs",
|
|
"additionalInfo": "Additional Info",
|
|
"jsonConfig": "JSON Configuration",
|
|
"jsonPlaceholder": "{\n \"type\": \"stdio\",\n \"command\": \"uvx\",\n \"args\": [\"mcp-server-fetch\"]\n}",
|
|
"tomlConfig": "TOML Configuration",
|
|
"tomlPlaceholder": "type = \"stdio\"\ncommand = \"uvx\"\nargs = [\"mcp-server-fetch\"]",
|
|
"useWizard": "Config Wizard",
|
|
"syncOtherSide": "Mirror to {{target}}",
|
|
"syncOtherSideHint": "Apply the same settings to {{target}}; existing entries with the same id will be overwritten.",
|
|
"willOverwriteWarning": "Will overwrite existing config in {{target}}"
|
|
},
|
|
"wizard": {
|
|
"title": "MCP Configuration Wizard",
|
|
"hint": "Quickly configure MCP server and auto-generate JSON configuration",
|
|
"type": "Type",
|
|
"typeStdio": "stdio",
|
|
"typeHttp": "http",
|
|
"command": "Command",
|
|
"commandPlaceholder": "npx or uvx",
|
|
"args": "Arguments",
|
|
"argsPlaceholder": "arg1\narg2",
|
|
"env": "Environment Variables",
|
|
"envPlaceholder": "KEY1=value1\nKEY2=value2",
|
|
"url": "URL",
|
|
"urlPlaceholder": "https://api.example.com/mcp",
|
|
"urlRequired": "Please enter URL",
|
|
"headers": "Headers (optional)",
|
|
"headersPlaceholder": "Authorization: Bearer your_token_here\nContent-Type: application/json",
|
|
"preview": "Configuration Preview",
|
|
"apply": "Apply Configuration"
|
|
},
|
|
"id": "Identifier (unique)",
|
|
"type": "Type",
|
|
"command": "Command",
|
|
"validateCommand": "Validate Command",
|
|
"args": "Args",
|
|
"argsPlaceholder": "e.g., mcp-server-fetch --help",
|
|
"env": "Environment (one per line, KEY=VALUE)",
|
|
"envPlaceholder": "FOO=bar\nHELLO=world",
|
|
"reset": "Reset",
|
|
"notice": {
|
|
"restartClaude": "Written. Restart Claude to take effect."
|
|
},
|
|
"msg": {
|
|
"saved": "Saved",
|
|
"deleted": "Deleted",
|
|
"enabled": "Enabled",
|
|
"disabled": "Disabled",
|
|
"templateAdded": "Template added"
|
|
},
|
|
"error": {
|
|
"idRequired": "Please enter identifier",
|
|
"idExists": "Identifier already exists. Please choose another.",
|
|
"jsonInvalid": "Invalid JSON format",
|
|
"tomlInvalid": "Invalid TOML format",
|
|
"commandRequired": "Please enter command",
|
|
"singleServerObjectRequired": "Please paste a single MCP server object (do not include top-level mcpServers)",
|
|
"saveFailed": "Save failed",
|
|
"deleteFailed": "Delete failed"
|
|
},
|
|
"validation": {
|
|
"ok": "Command available",
|
|
"fail": "Command not found"
|
|
},
|
|
"confirm": {
|
|
"deleteTitle": "Delete MCP Server",
|
|
"deleteMessage": "Are you sure you want to delete MCP server \"{{id}}\"? This action cannot be undone."
|
|
},
|
|
"presets": {
|
|
"title": "Select MCP Type",
|
|
"enable": "Enable",
|
|
"enabled": "Enabled",
|
|
"installed": "Installed",
|
|
"docs": "Docs",
|
|
"requiresEnv": "Requires env",
|
|
"fetch": {
|
|
"name": "mcp-server-fetch",
|
|
"description": "Universal HTTP request tool, supports GET/POST and other HTTP methods, suitable for quick API requests and web data scraping"
|
|
},
|
|
"time": {
|
|
"name": "@modelcontextprotocol/server-time",
|
|
"description": "Time query tool providing current time, timezone conversion, and date calculation features"
|
|
},
|
|
"memory": {
|
|
"name": "@modelcontextprotocol/server-memory",
|
|
"description": "Knowledge graph memory system supporting entities, relations, and observations to help AI remember important information from conversations"
|
|
},
|
|
"sequential-thinking": {
|
|
"name": "@modelcontextprotocol/server-sequential-thinking",
|
|
"description": "Sequential thinking tool helping AI break down complex problems into multiple steps for deeper thinking"
|
|
},
|
|
"context7": {
|
|
"name": "@upstash/context7-mcp",
|
|
"description": "Context7 documentation search tool providing latest library docs and code examples, with higher limits when configured with a key"
|
|
}
|
|
}
|
|
},
|
|
"prompts": {
|
|
"manage": "Prompts",
|
|
"title": "{{appName}} Prompt Management",
|
|
"claudeTitle": "Claude Prompt Management",
|
|
"codexTitle": "Codex Prompt Management",
|
|
"add": "Add Prompt",
|
|
"edit": "Edit Prompt",
|
|
"addTitle": "Add {{appName}} Prompt",
|
|
"editTitle": "Edit {{appName}} Prompt",
|
|
"import": "Import Existing",
|
|
"count": "{{count}} prompts",
|
|
"enabled": "Enabled",
|
|
"enable": "Enable",
|
|
"enabledName": "Enabled: {{name}}",
|
|
"noneEnabled": "No prompt enabled",
|
|
"currentFile": "Current {{filename}} Content",
|
|
"empty": "No prompts yet",
|
|
"emptyDescription": "Click the button above to add or import prompts",
|
|
"loading": "Loading...",
|
|
"name": "Name",
|
|
"namePlaceholder": "e.g., Default Project Prompt",
|
|
"description": "Description",
|
|
"descriptionPlaceholder": "Optional description",
|
|
"content": "Content",
|
|
"contentPlaceholder": "# {{filename}}\n\nEnter prompt content here...",
|
|
"loadFailed": "Failed to load prompts",
|
|
"saveSuccess": "Saved successfully",
|
|
"saveFailed": "Failed to save",
|
|
"deleteSuccess": "Deleted successfully",
|
|
"deleteFailed": "Failed to delete",
|
|
"enableSuccess": "Enabled successfully",
|
|
"enableFailed": "Failed to enable",
|
|
"disableSuccess": "Disabled successfully",
|
|
"disableFailed": "Failed to disable",
|
|
"importSuccess": "Imported successfully",
|
|
"importFailed": "Failed to import",
|
|
"confirm": {
|
|
"deleteTitle": "Confirm Delete",
|
|
"deleteMessage": "Are you sure you want to delete prompt \"{{name}}\"?"
|
|
}
|
|
}
|
|
}
|