@xwm111/ccs 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +65 -0
- package/bin/ccs.mjs +2 -0
- package/dist/chunks/auto-updater.mjs +1708 -0
- package/dist/chunks/claude-code-incremental-manager.mjs +576 -0
- package/dist/chunks/installer.mjs +610 -0
- package/dist/cli.d.mts +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.mjs +2407 -0
- package/dist/i18n/locales/en/api.json +51 -0
- package/dist/i18n/locales/en/cli.json +58 -0
- package/dist/i18n/locales/en/common.json +19 -0
- package/dist/i18n/locales/en/configuration.json +81 -0
- package/dist/i18n/locales/en/errors.json +26 -0
- package/dist/i18n/locales/en/installation.json +80 -0
- package/dist/i18n/locales/en/language.json +19 -0
- package/dist/i18n/locales/en/menu.json +31 -0
- package/dist/i18n/locales/en/multi-config.json +79 -0
- package/dist/i18n/locales/en/uninstall.json +56 -0
- package/dist/i18n/locales/en/updater.json +26 -0
- package/dist/i18n/locales/zh-CN/api.json +51 -0
- package/dist/i18n/locales/zh-CN/cli.json +58 -0
- package/dist/i18n/locales/zh-CN/common.json +19 -0
- package/dist/i18n/locales/zh-CN/configuration.json +81 -0
- package/dist/i18n/locales/zh-CN/errors.json +26 -0
- package/dist/i18n/locales/zh-CN/installation.json +80 -0
- package/dist/i18n/locales/zh-CN/language.json +19 -0
- package/dist/i18n/locales/zh-CN/menu.json +31 -0
- package/dist/i18n/locales/zh-CN/multi-config.json +79 -0
- package/dist/i18n/locales/zh-CN/uninstall.json +56 -0
- package/dist/i18n/locales/zh-CN/updater.json +26 -0
- package/dist/index.d.mts +222 -0
- package/dist/index.d.ts +222 -0
- package/dist/index.mjs +18 -0
- package/package.json +109 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"apiConfigAuthType": "Auth Type",
|
|
3
|
+
"apiConfigKey": "Key",
|
|
4
|
+
"apiConfigSuccess": "API configured",
|
|
5
|
+
"apiConfigUrl": "URL",
|
|
6
|
+
"modelConfigSuccess": "API models configured",
|
|
7
|
+
"primaryModel": "Primary model",
|
|
8
|
+
"fastModel": "Fast model",
|
|
9
|
+
"apiKeyDesc": "For API keys from Anthropic Console",
|
|
10
|
+
"apiKeyValidation.example": "Example format: sk-abcdef123456_789xyz",
|
|
11
|
+
"authTokenDesc": "For tokens obtained via OAuth or browser login",
|
|
12
|
+
"configureApi": "Select API authentication method",
|
|
13
|
+
"enterApiKey": "Enter API Key",
|
|
14
|
+
"enterApiUrl": "Enter API URL",
|
|
15
|
+
"enterAuthToken": "Enter Auth Token",
|
|
16
|
+
"enterNewApiKey": "Enter new API Key (current: {key})",
|
|
17
|
+
"enterNewApiUrl": "Enter new API URL (current: {url})",
|
|
18
|
+
"existingApiConfig": "Existing API configuration detected:",
|
|
19
|
+
"invalidKeyFormat": "Invalid key format",
|
|
20
|
+
"invalidUrl": "Invalid URL",
|
|
21
|
+
"keepExistingConfig": "Keep existing configuration",
|
|
22
|
+
"keyRequired": "Key is required",
|
|
23
|
+
"modificationSaved": "Configuration saved",
|
|
24
|
+
"modifyAllConfig": "Modify all configuration",
|
|
25
|
+
"modifyApiKey": "Modify API Key",
|
|
26
|
+
"modifyApiUrl": "Modify API URL",
|
|
27
|
+
"modifyAuthType": "Modify auth type",
|
|
28
|
+
"modifyPartialConfig": "Modify partial configuration",
|
|
29
|
+
|
|
30
|
+
"selectApiMode": "Select API configuration mode",
|
|
31
|
+
"selectCustomConfigAction": "Select custom configuration action",
|
|
32
|
+
"selectModifyItems": "Select items to modify",
|
|
33
|
+
"selectNewAuthType": "Select new auth type (current: {type})",
|
|
34
|
+
"skipApi": "Skip (configure manually later)",
|
|
35
|
+
"customApiConfig": "Custom API configuration",
|
|
36
|
+
"urlRequired": "URL is required",
|
|
37
|
+
"useApiKey": "Use API Key (Key authentication)",
|
|
38
|
+
"useAuthToken": "Use Auth Token (OAuth authentication)",
|
|
39
|
+
"useCcrProxy": "Use CCR Proxy",
|
|
40
|
+
"useOfficialLogin": "Use Official Login",
|
|
41
|
+
"officialLoginConfigured": "Switched to official login mode",
|
|
42
|
+
"officialLoginFailed": "Failed to switch to official login mode",
|
|
43
|
+
"apiModeOfficial": "Use Official Login (No API Configuration)",
|
|
44
|
+
"apiModeCustom": "Custom API Configuration",
|
|
45
|
+
"apiModeCcr": "Use CCR Proxy",
|
|
46
|
+
"apiModeSwitch": "Switch API Configuration",
|
|
47
|
+
"apiModeSkip": "Skip",
|
|
48
|
+
"apiModePrompt": "Select API configuration mode",
|
|
49
|
+
"apiKeyApprovalFailed": "Failed to manage API key approval status",
|
|
50
|
+
"primaryApiKeySetFailed": "Failed to set primaryApiKey"
|
|
51
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"help.commands": "Commands",
|
|
3
|
+
"help.shortcuts": "Shortcuts",
|
|
4
|
+
"help.options": "Options",
|
|
5
|
+
"help.examples": "Examples",
|
|
6
|
+
"help.nonInteractiveMode": "Non-interactive mode (for CI/CD)",
|
|
7
|
+
"help.commandDescriptions.showInteractiveMenuDefault": "Show interactive menu (default)",
|
|
8
|
+
"help.commandDescriptions.initClaudeCodeConfig": "Initialize Claude Code configuration",
|
|
9
|
+
"help.commandDescriptions.updateWorkflowFiles": "Update workflow-related md files",
|
|
10
|
+
"help.commandDescriptions.configureCcrProxy": "Configure Claude Code Router for model proxy",
|
|
11
|
+
"help.commandDescriptions.claudeCodeUsageAnalysis": "Claude Code usage statistics analysis",
|
|
12
|
+
"help.commandDescriptions.uninstallConfigurations": "Remove Claude Code configurations and tools",
|
|
13
|
+
"help.commandDescriptions.checkUpdateVersions": "Check and update to latest versions",
|
|
14
|
+
"help.shortcutDescriptions.quickInit": "Quick init",
|
|
15
|
+
"help.shortcutDescriptions.quickUpdate": "Quick update",
|
|
16
|
+
"help.shortcutDescriptions.quickCheckUpdates": "Quick check updates",
|
|
17
|
+
"help.optionDescriptions.displayLanguage": "Display language",
|
|
18
|
+
"help.optionDescriptions.configurationLanguage": "Configuration language",
|
|
19
|
+
"help.optionDescriptions.forceOverwrite": "Force overwrite",
|
|
20
|
+
"help.optionDescriptions.displayHelp": "Display help",
|
|
21
|
+
"help.optionDescriptions.displayVersion": "Display version",
|
|
22
|
+
"help.optionDescriptions.skipAllPrompts": "Skip all prompts",
|
|
23
|
+
"help.optionDescriptions.apiType": "API type",
|
|
24
|
+
"help.optionDescriptions.apiKey": "API key (for both types)",
|
|
25
|
+
"help.optionDescriptions.customApiUrl": "Custom API URL",
|
|
26
|
+
"help.optionDescriptions.apiModel": "Primary API model",
|
|
27
|
+
"help.optionDescriptions.apiHaikuModel": "Default Haiku model",
|
|
28
|
+
"help.optionDescriptions.apiSonnetModel": "Default Sonnet model",
|
|
29
|
+
"help.optionDescriptions.apiOpusModel": "Default Opus model",
|
|
30
|
+
"help.optionDescriptions.aiOutputLanguage": "AI output language",
|
|
31
|
+
"help.optionDescriptions.setAllLanguageParams": "Set all language params",
|
|
32
|
+
"help.optionDescriptions.configHandling": "Config handling",
|
|
33
|
+
"help.optionDescriptions.mcpServices": "MCP services",
|
|
34
|
+
"help.optionDescriptions.workflows": "Workflows",
|
|
35
|
+
"help.optionDescriptions.outputStyles": "Output styles",
|
|
36
|
+
"help.optionDescriptions.defaultOutputStyle": "Default output style",
|
|
37
|
+
"help.optionDescriptions.installStatuslineTool": "Install statusline tool",
|
|
38
|
+
"help.optionDescriptions.codeToolType": "Code tool type",
|
|
39
|
+
"help.exampleDescriptions.showInteractiveMenu": "Show interactive menu",
|
|
40
|
+
"help.exampleDescriptions.runFullInitialization": "Run full initialization",
|
|
41
|
+
"help.exampleDescriptions.updateWorkflowFilesOnly": "Update workflow-related md files only",
|
|
42
|
+
"help.exampleDescriptions.configureClaudeCodeRouter": "Configure Claude Code Router",
|
|
43
|
+
"help.exampleDescriptions.runClaudeCodeUsageAnalysis": "Run Claude Code usage analysis",
|
|
44
|
+
"help.exampleDescriptions.uninstallConfigurations": "Uninstall configurations and tools",
|
|
45
|
+
"help.exampleDescriptions.checkAndUpdateTools": "Check and update tools",
|
|
46
|
+
"help.exampleDescriptions.checkClaudeCode": "Check and update Claude Code tools",
|
|
47
|
+
"help.exampleDescriptions.checkCodex": "Check and update Codex tools",
|
|
48
|
+
"help.exampleDescriptions.nonInteractiveModeCicd": "Non-interactive mode (CI/CD)",
|
|
49
|
+
"banner.subtitle": "One-click configuration tool for Claude Code",
|
|
50
|
+
"banner.updateSubtitle": "Update configuration for Claude Code",
|
|
51
|
+
"help.defaults.dailyUsage": "Daily usage (default)",
|
|
52
|
+
"help.defaults.interactiveUninstall": "Interactive uninstall menu",
|
|
53
|
+
"help.defaults.updateTools": "Update Claude Code and ccs",
|
|
54
|
+
"help.defaults.prefix": "default:",
|
|
55
|
+
"help.commandDescriptions.switchConfiguration": "Switch Claude Code API configuration",
|
|
56
|
+
"help.optionDescriptions.listConfigurations": "List available configurations",
|
|
57
|
+
"help.exampleDescriptions.switchConfiguration": "Switch API configuration"
|
|
58
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"multiSelectHint": " (Space to select, a to select all, i to invert, Enter to confirm)",
|
|
3
|
+
"skip": "Skip",
|
|
4
|
+
"emptyToSkip": " (press Enter with empty content to skip)",
|
|
5
|
+
"cancelled": "Operation cancelled",
|
|
6
|
+
"error": "Error",
|
|
7
|
+
"complete": "🎉 Setup complete! Use 'claude' command to start.",
|
|
8
|
+
"none": "None",
|
|
9
|
+
"enterChoice": "Enter your choice and press enter (case-insensitive)",
|
|
10
|
+
"invalidChoice": "Invalid choice. Please enter a valid option.",
|
|
11
|
+
"goodbye": "👋 Thanks for using ccs! Goodbye!",
|
|
12
|
+
"returnToMenu": "Return to main menu?",
|
|
13
|
+
"back": "Back",
|
|
14
|
+
"operationFailed": "Operation failed",
|
|
15
|
+
"backupCreated": "📁 Configuration backup created: {{path}}",
|
|
16
|
+
"current": "current",
|
|
17
|
+
"claudeCode": "Claude Code",
|
|
18
|
+
"yes": "Yes"
|
|
19
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"addedLanguageDirective": "Added language directive",
|
|
3
|
+
"aiLanguageConfigured": "AI output language configured",
|
|
4
|
+
"backupAndOverwrite": "Backup and overwrite all",
|
|
5
|
+
"backupSuccess": "All config files backed up to",
|
|
6
|
+
"cleanupLegacyFiles": "Clean up legacy configuration files?",
|
|
7
|
+
"configSuccess": "Config files copied to",
|
|
8
|
+
"configureAiLanguage": "Configure AI output language",
|
|
9
|
+
"configureOutputStyle": "Configure global AI output style",
|
|
10
|
+
"configureSystemPromptStyle": "Configure global AI system prompt style",
|
|
11
|
+
"customModelConfigured": "Custom model configuration completed",
|
|
12
|
+
"customModelOption": "Custom - Specify custom model names",
|
|
13
|
+
"customModelSkipped": "Custom model configuration skipped",
|
|
14
|
+
"currentLanguage": "Current language",
|
|
15
|
+
"currentModel": "Current model",
|
|
16
|
+
"defaultModelOption": "Default - Let Claude Code choose",
|
|
17
|
+
"defaultStyle": "Default style",
|
|
18
|
+
"enterHaikuModel": "Enter default Haiku model",
|
|
19
|
+
"enterSonnetModel": "Enter default Sonnet model",
|
|
20
|
+
"enterOpusModel": "Enter default Opus model",
|
|
21
|
+
"enterPrimaryModel": "Enter primary model name",
|
|
22
|
+
"envImportSuccess": "Environment variables imported",
|
|
23
|
+
"existingConfig": "Existing config detected. How to proceed?",
|
|
24
|
+
"existingLanguageConfig": "Existing AI output language configuration detected",
|
|
25
|
+
"existingModelConfig": "Existing model configuration detected",
|
|
26
|
+
"fixWindowsMcp": "Fix Windows MCP configuration?",
|
|
27
|
+
"importRecommendedEnv": "Import ccs recommended environment variables",
|
|
28
|
+
"importRecommendedEnvDesc": "Privacy protection variables, MCP timeout settings, etc.",
|
|
29
|
+
"importRecommendedPermissions": "Import ccs recommended permissions",
|
|
30
|
+
"importRecommendedPermissionsDesc": "Almost all permissions, reduce frequent permission requests, dangerous ops limited by rules",
|
|
31
|
+
"keepLanguage": "Keeping existing language configuration",
|
|
32
|
+
"keepModel": "Keeping existing model configuration",
|
|
33
|
+
"legacyFilesDetected": "Legacy personality configuration files detected",
|
|
34
|
+
"legacyFilesRemoved": "Legacy configuration files removed",
|
|
35
|
+
"mergeConfig": "Merge config",
|
|
36
|
+
"modelConfigured": "Default model configured",
|
|
37
|
+
"modifyLanguage": "Modify AI output language?",
|
|
38
|
+
"modifyModel": "Modify model configuration?",
|
|
39
|
+
"openSettingsJson": "Open settings.json for manual configuration",
|
|
40
|
+
"openSettingsJsonDesc": "Advanced user customization",
|
|
41
|
+
"openingSettingsJson": "Opening settings.json...",
|
|
42
|
+
"opusModelOption": "Opus - Only use opus, high token consumption, use with caution",
|
|
43
|
+
"sonnet1mModelOption": "Sonnet 1M - 1M context version",
|
|
44
|
+
"noOutputStyle": "No output style",
|
|
45
|
+
"noOutputStyleDesc": "Do not set any output style, use Claude Code default behavior",
|
|
46
|
+
"outputStyleCleared": "Output style settings cleared",
|
|
47
|
+
"outputStyleInstalled": "Output styles installed successfully",
|
|
48
|
+
"outputStyles.default.description": "Claude completes coding tasks efficiently and provides concise responses (Claude Code built-in)",
|
|
49
|
+
"outputStyles.default.name": "Default",
|
|
50
|
+
"outputStyles.engineer-professional.description": "Professional software engineer following SOLID, KISS, DRY, YAGNI principles",
|
|
51
|
+
"outputStyles.engineer-professional.name": "Engineer Professional",
|
|
52
|
+
"outputStyles.explanatory.description": "Claude explains its implementation choices and codebase patterns (Claude Code built-in)",
|
|
53
|
+
"outputStyles.explanatory.name": "Explanatory",
|
|
54
|
+
"outputStyles.laowang-engineer.description": "Laowang grumpy tech style, never tolerates code errors and non-standard code",
|
|
55
|
+
"outputStyles.laowang-engineer.name": "Laowang Grumpy Tech",
|
|
56
|
+
"outputStyles.learning.description": "Learn-by-doing mode where Claude pauses and asks you to write small pieces of code for hands-on practice (Claude Code built-in)",
|
|
57
|
+
"outputStyles.learning.name": "Learning",
|
|
58
|
+
"outputStyles.nekomata-engineer.description": "Professional catgirl engineer UFO Nya, combining rigorous engineering with cute catgirl traits",
|
|
59
|
+
"outputStyles.nekomata-engineer.name": "Nekomata Engineer",
|
|
60
|
+
"outputStyles.ojousama-engineer.description": "Tsundere blonde ojou-sama programmer Halley-chan, combining rigorous engineering excellence with tsundere ojou-sama traits",
|
|
61
|
+
"outputStyles.ojousama-engineer.name": "Ojou-sama Engineer",
|
|
62
|
+
"outputStyles.leibus-engineer.description": "Marketing genius engineer background, providing technical services with ultimate product thinking and rigorous engineering quality",
|
|
63
|
+
"outputStyles.leibus-engineer.name": "LeiBus Engineer",
|
|
64
|
+
"outputStyles.rem-engineer.description": "Loyal blue-haired maid programmer Rem, blending extreme gentle devotion with calm decisive execution",
|
|
65
|
+
"outputStyles.rem-engineer.name": "Rem Maid Engineer",
|
|
66
|
+
"permissionsImportSuccess": "Permissions imported",
|
|
67
|
+
"selectAtLeastOne": "Please select at least one output style",
|
|
68
|
+
"selectDefaultModel": "Select default model",
|
|
69
|
+
"selectDefaultOutputStyle": "Select global default output style",
|
|
70
|
+
"selectEnvPermissionOption": "Select configuration option",
|
|
71
|
+
"selectMemoryOption": "Select configuration option",
|
|
72
|
+
"selectOutputStyles": "Select output styles to install",
|
|
73
|
+
"selectedStyles": "Selected styles",
|
|
74
|
+
"singleConfigSaved": "Configuration {{name}} saved",
|
|
75
|
+
"singleConfigSaveFailed": "Failed to save configuration",
|
|
76
|
+
"updateDocsOnly": "Update workflow-related md files only with backup",
|
|
77
|
+
"updatingPrompts": "Updating Claude Code memory documents...",
|
|
78
|
+
"enterCustomModel": "Enter custom model name",
|
|
79
|
+
"systemPromptConfigured": "System prompt style configured",
|
|
80
|
+
"windowsMcpConfigFixed": "Windows MCP configuration fixed"
|
|
81
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"failedToRemoveFile": "Failed to remove file:",
|
|
3
|
+
"failedToSetOnboarding": "Failed to set onboarding completion flag:",
|
|
4
|
+
"failedToWriteMcpConfig": "Failed to write MCP config:",
|
|
5
|
+
"invalidConfigAction": "Invalid configAction value: {value}. Must be 'new', 'backup', 'merge', 'docs-only', or 'skip'",
|
|
6
|
+
"invalidApiType": "Invalid apiType value: {value}. Must be 'auth_token', 'api_key', 'ccr_proxy', or 'skip'",
|
|
7
|
+
"apiKeyRequiredForApiKey": "API key is required when apiType is \"api_key\"",
|
|
8
|
+
"apiKeyRequiredForAuthToken": "API key is required when apiType is \"auth_token\"",
|
|
9
|
+
"invalidMcpService": "Invalid MCP service: {service}. Available services: {validServices}",
|
|
10
|
+
"invalidOutputStyle": "Invalid output style: {style}. Available styles: {validStyles}",
|
|
11
|
+
"invalidDefaultOutputStyle": "Invalid default output style: {style}. Available styles: {validStyles}",
|
|
12
|
+
"invalidWorkflow": "Invalid workflow: {workflow}. Available workflows: {validWorkflows}",
|
|
13
|
+
"invalidModel": "Invalid model: {model}. Expected 'opus', 'sonnet', or 'sonnet[1m]'",
|
|
14
|
+
"invalidApiModel": "Invalid API model parameter: {value}",
|
|
15
|
+
"invalidModelParam": "Invalid model parameter {key}: {value}",
|
|
16
|
+
"invalidEnvConfig": "Invalid env configuration: expected object",
|
|
17
|
+
"invalidBaseUrl": "Invalid ANTHROPIC_BASE_URL: expected string",
|
|
18
|
+
"invalidApiKeyConfig": "Invalid ANTHROPIC_API_KEY: expected string",
|
|
19
|
+
"invalidAuthTokenConfig": "Invalid ANTHROPIC_AUTH_TOKEN: expected string",
|
|
20
|
+
"invalidPermissionsConfig": "Invalid permissions configuration: expected object",
|
|
21
|
+
"invalidPermissionsAllow": "Invalid permissions.allow: expected array",
|
|
22
|
+
"invalidCodeType": "Invalid code type: \"{value}\". Valid options are: {validOptions}. Using default: {defaultValue}.",
|
|
23
|
+
"invalidProvider": "Invalid provider: {provider}. Available providers: {validProviders}",
|
|
24
|
+
"generalError": "Error",
|
|
25
|
+
"stackTrace": "Stack"
|
|
26
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"alreadyInstalled": "Claude Code is already installed",
|
|
3
|
+
"installFailed": "Failed to install Claude Code",
|
|
4
|
+
"installPrompt": "Claude Code not found. Install automatically?",
|
|
5
|
+
"installSuccess": "Claude Code installed successfully",
|
|
6
|
+
"installing": "Installing Claude Code...",
|
|
7
|
+
"usingSudo": "Detected non-root Linux user. Elevating with sudo for global installation (password prompt may appear).",
|
|
8
|
+
"termuxDetected": "Termux environment detected",
|
|
9
|
+
"termuxEnvironmentInfo": "Termux environment provides Node.js and npm through pkg manager",
|
|
10
|
+
"termuxInstallHint": "In Termux, please run first: pkg install nodejs or pkg install nodejs-lts",
|
|
11
|
+
"windowsDetected": "Windows detected, will configure compatible format",
|
|
12
|
+
"termuxPathInfo": "Termux environment path prefix: {path}",
|
|
13
|
+
"multipleInstallationsDetected": "Multiple Claude Code installations detected",
|
|
14
|
+
"chooseInstallationMethod": "Please choose the installation method to use:",
|
|
15
|
+
"chooseGlobal": "Use Global Installation (Recommended)",
|
|
16
|
+
"chooseLocal": "Use Local Installation (Project-specific)",
|
|
17
|
+
"globalInstallation": "Global Installation",
|
|
18
|
+
"localInstallation": "Local Installation",
|
|
19
|
+
"available": "available",
|
|
20
|
+
"removingLocalInstallation": "Removing local installation",
|
|
21
|
+
"localInstallationRemoved": "Local installation removed",
|
|
22
|
+
"usingLocalInstallation": "Using local installation",
|
|
23
|
+
"failedToRemoveLocalInstallation": "Failed to remove local installation",
|
|
24
|
+
"failedToSaveInstallationConfig": "Failed to save installation config",
|
|
25
|
+
"onlyLocalInstallationDetected": "Only local installation detected",
|
|
26
|
+
"notInstalled": "not installed",
|
|
27
|
+
"installingGlobalClaudeCode": "Installing global Claude Code",
|
|
28
|
+
"globalInstallationCompleted": "Global installation completed",
|
|
29
|
+
"wslDetected": "WSL environment detected ({distro})",
|
|
30
|
+
"wslDetectedGeneric": "WSL environment detected",
|
|
31
|
+
"wslPathInfo": "Configuration path: {path}",
|
|
32
|
+
"wslInstallSuccess": "Claude Code successfully installed in WSL environment",
|
|
33
|
+
"selectInstallMethod": "Please select installation method for {{codeType}}:",
|
|
34
|
+
"recommendedMethod": "Recommended",
|
|
35
|
+
"notRecommended": "Not Recommended",
|
|
36
|
+
"installMethodNpm": "npm",
|
|
37
|
+
"installMethodHomebrew": "homebrew",
|
|
38
|
+
"installMethodCurl": "curl",
|
|
39
|
+
"installMethodPowershell": "powershell",
|
|
40
|
+
"installMethodCmd": "cmd",
|
|
41
|
+
"installingWith": "Installing {{codeType}} using {{method}}...",
|
|
42
|
+
"installMethodSuccess": "Successfully installed using {{method}}",
|
|
43
|
+
"installMethodFailed": "Failed to install using {{method}}",
|
|
44
|
+
"tryAnotherMethod": "Installation failed. Try another method?",
|
|
45
|
+
"noMoreMethods": "No more installation methods available",
|
|
46
|
+
"detectedVersion": "Detected version {{version}}",
|
|
47
|
+
"uninstallingWith": "Uninstalling {{codeType}} using {{method}}...",
|
|
48
|
+
"uninstallSuccess": "Successfully uninstalled using {{method}}",
|
|
49
|
+
"uninstallFailed": "Failed to uninstall using {{method}}",
|
|
50
|
+
"manualUninstallRequired": "{{codeType}} requires manual uninstallation",
|
|
51
|
+
"binaryLocation": "Binary location: {{path}}",
|
|
52
|
+
"failedToLocateBinary": "Failed to locate {{command}} binary",
|
|
53
|
+
"verificationSuccess": "installation verified successfully",
|
|
54
|
+
"verificationFailed": "installation verification failed",
|
|
55
|
+
"symlinkCreated": "Symlink created at {{path}}",
|
|
56
|
+
"foundAtPath": "Found at: {{path}}",
|
|
57
|
+
"manualSymlinkHint": "You may need to manually add the tool to your PATH or create a symlink",
|
|
58
|
+
"duplicateInstallationsDetected": "⚠️ Multiple Claude Code installations detected",
|
|
59
|
+
"duplicateInstallationsWarning": "Having multiple installations may cause version confusion and update issues",
|
|
60
|
+
"currentActiveInstallation": "Current active installation",
|
|
61
|
+
"inactiveInstallations": "Inactive installations",
|
|
62
|
+
"installationSource": "Installation source",
|
|
63
|
+
"installationPath": "Path",
|
|
64
|
+
"installationVersion": "Version",
|
|
65
|
+
"sourceHomebrewCask": "Homebrew Cask",
|
|
66
|
+
"sourceNpm": "npm global",
|
|
67
|
+
"sourceNpmHomebrewNode": "npm (via Homebrew Node)",
|
|
68
|
+
"sourceCurl": "curl installation",
|
|
69
|
+
"sourceOther": "Other",
|
|
70
|
+
"recommendRemoveNpm": "Recommend removing npm installation to maintain single installation source",
|
|
71
|
+
"confirmRemoveDuplicate": "Remove redundant {source}?",
|
|
72
|
+
"removingDuplicateInstallation": "Removing redundant installation...",
|
|
73
|
+
"duplicateRemoved": "Redundant installation removed",
|
|
74
|
+
"duplicateRemovalFailed": "Failed to remove redundant installation",
|
|
75
|
+
"keepBothInstallations": "Keep both installations (not recommended)",
|
|
76
|
+
"duplicateWarningContinue": "Acknowledged duplicate installation risk, continue",
|
|
77
|
+
"versionMismatchWarning": "⚠️ Version mismatch: npm is {npmVersion}, Homebrew is {homebrewVersion}",
|
|
78
|
+
"activatingHomebrew": "Activating Homebrew installation...",
|
|
79
|
+
"autoRemovingNpm": "Silent mode: Auto-removing npm installation and keeping Homebrew..."
|
|
80
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"selectScriptLang": "Select ccs display language",
|
|
3
|
+
"selectConfigLang": "Select Claude Code configuration language",
|
|
4
|
+
"selectAiOutputLang": "Select AI output language",
|
|
5
|
+
"aiOutputLangHint": "AI will respond to you in this language",
|
|
6
|
+
"enterCustomLanguage": "Enter custom language (e.g., Japanese, French, etc.)",
|
|
7
|
+
"languageChanged": "Language changed",
|
|
8
|
+
"configLangHint.zh-CN": "easier for Chinese users to customize",
|
|
9
|
+
"configLangHint.en": "lower token consumption",
|
|
10
|
+
"languageRequired": "Language is required",
|
|
11
|
+
"labels.custom": "Custom",
|
|
12
|
+
"currentConfigFound": "Current AI output language configuration",
|
|
13
|
+
"modifyConfigPrompt": "Would you like to modify the AI output language configuration?",
|
|
14
|
+
"currentTemplateLanguageFound": "Current template language configuration",
|
|
15
|
+
"modifyTemplateLanguagePrompt": "Would you like to modify the template language configuration?",
|
|
16
|
+
"usingFallbackTemplate": "Using interface language as template language?",
|
|
17
|
+
"currentSystemPromptFound": "Current system prompt style configuration",
|
|
18
|
+
"modifySystemPromptPrompt": "Would you like to modify the system prompt style configuration?"
|
|
19
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"menuDescriptions.ccrManagement": "Configure Claude Code Router to use multiple AI models",
|
|
3
|
+
"menuDescriptions.ccusage": "Claude Code usage analysis",
|
|
4
|
+
"menuDescriptions.changeLanguage": "Change ccs interface language",
|
|
5
|
+
"menuDescriptions.checkUpdates": "Check and update Claude Code, CCR and CCometixLine versions",
|
|
6
|
+
"menuDescriptions.uninstall": "Remove Claude Code configurations and tools from your system",
|
|
7
|
+
"menuDescriptions.cometixLine": "High-performance Claude Code statusline tool with Git integration and real-time usage tracking",
|
|
8
|
+
"menuDescriptions.configureAiMemory": "Configure AI output language and output styles",
|
|
9
|
+
"menuDescriptions.configureApiOrCcr": "Configure multiple API endpoints and switch quickly (official / custom / switch)",
|
|
10
|
+
"menuDescriptions.configureEnvPermission": "Import privacy protection environment variables and system permissions",
|
|
11
|
+
"menuDescriptions.configureMcp": "Configure MCP services (includes Windows fix)",
|
|
12
|
+
"menuDescriptions.configureModel": "Set default model (opus/sonnet/sonnet 1m/custom)",
|
|
13
|
+
"menuDescriptions.fullInit": "Install Claude Code + Import workflow + Configure API or CCR proxy + Configure MCP services",
|
|
14
|
+
"menuDescriptions.importWorkflow": "Import/update workflow-related files only",
|
|
15
|
+
"menuOptions.ccrManagement": "CCR",
|
|
16
|
+
"menuOptions.ccusage": "ccusage",
|
|
17
|
+
"menuOptions.changeLanguage": "Select display language / 更改显示语言",
|
|
18
|
+
"menuOptions.checkUpdates": "Check updates",
|
|
19
|
+
"menuOptions.uninstall": "Uninstall & Remove Configurations",
|
|
20
|
+
"menuOptions.cometixLine": "CCometixLine",
|
|
21
|
+
"menuOptions.configureAiMemory": "Configure Claude global memory",
|
|
22
|
+
"menuOptions.configureApiOrCcr": "Configure / switch API",
|
|
23
|
+
"menuOptions.configureEnvPermission": "Import recommended environment variables and permissions",
|
|
24
|
+
"menuOptions.configureMcp": "Configure MCP",
|
|
25
|
+
"menuOptions.configureModel": "Configure default model",
|
|
26
|
+
"menuOptions.exit": "Exit",
|
|
27
|
+
"menuOptions.fullInit": "Full initialization",
|
|
28
|
+
"menuOptions.importWorkflow": "Import workflow",
|
|
29
|
+
"menuSections.otherTools": "Other Tools",
|
|
30
|
+
"selectFunction": "Select function"
|
|
31
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"configsAddedSuccessfully": "API configurations added successfully",
|
|
3
|
+
"configsFailed": "Failed to add API configurations",
|
|
4
|
+
"defaultProfileSet": "Set default profile: {{name}}",
|
|
5
|
+
"providerAdded": "Added provider: {{name}}",
|
|
6
|
+
"defaultProviderSet": "Set default provider: {{name}}",
|
|
7
|
+
"noClaudeCodeProfilesAvailable": "No Claude Code profiles available",
|
|
8
|
+
"availableClaudeCodeProfiles": "Available Claude Code Profiles",
|
|
9
|
+
"selectClaudeCodeConfiguration": "Select Claude Code configuration:",
|
|
10
|
+
"cancelled": "Cancelled",
|
|
11
|
+
"successfullySwitchedToOfficial": "Successfully switched to official login",
|
|
12
|
+
"failedToSwitchToOfficial": "Failed to switch to official login: {{error}}",
|
|
13
|
+
"successfullySwitchedToCcr": "Successfully switched to CCR proxy",
|
|
14
|
+
"failedToSwitchToCcr": "Failed to switch to CCR proxy: {error}",
|
|
15
|
+
"successfullySwitchedToProfile": "Successfully switched to profile: {{name}}",
|
|
16
|
+
"failedToSwitchToProfile": "Failed to switch to profile: {{error}}",
|
|
17
|
+
"incrementalManagementTitle": "📋 Claude Code Configuration Management",
|
|
18
|
+
"currentProfileCount": "Current profile count: {{count}}",
|
|
19
|
+
"currentDefaultProfile": "Current default profile: {{profile}}",
|
|
20
|
+
"addProfile": "Add Profile",
|
|
21
|
+
"editProfile": "Edit Profile",
|
|
22
|
+
"copyProfile": "Copy Profile",
|
|
23
|
+
"deleteProfile": "Delete Profile",
|
|
24
|
+
"selectAction": "Select action",
|
|
25
|
+
"addingNewProfile": "Adding New Profile",
|
|
26
|
+
"profileNamePrompt": "Profile name (letters, numbers, spaces, . _ -)",
|
|
27
|
+
"profileNameRequired": "Profile name is required",
|
|
28
|
+
"profileNameInvalid": "Profile name can only contain letters, numbers, spaces, hyphens, and underscores",
|
|
29
|
+
"authTypePrompt": "Select authentication type",
|
|
30
|
+
"apiKeyPrompt": "Enter API key",
|
|
31
|
+
"apiKeyRequired": "API key is required",
|
|
32
|
+
"baseUrlPrompt": "Enter API base URL",
|
|
33
|
+
"baseUrlRequired": "API base URL is required",
|
|
34
|
+
"baseUrlInvalid": "Please enter a valid URL",
|
|
35
|
+
"setAsDefaultPrompt": "Set as default profile",
|
|
36
|
+
"authType.api_key": "API Key",
|
|
37
|
+
"authType.auth_token": "Auth Token",
|
|
38
|
+
"authType.ccr_proxy": "CCR Proxy",
|
|
39
|
+
"ccrProxyOption": "Use CCR Proxy",
|
|
40
|
+
"profileAdded": "✔ Successfully added profile: {{name}}",
|
|
41
|
+
"profileAddFailed": "❌ Failed to add profile: {{error}}",
|
|
42
|
+
"profileDuplicatePrompt": "Profile '{{name}}' already exists in {{source}}, overwrite it?",
|
|
43
|
+
"profileDuplicateSkipped": "Skipped duplicate profile configuration",
|
|
44
|
+
"existingConfig": "existing configuration",
|
|
45
|
+
"addAnotherProfilePrompt": "Add another Claude Code profile?",
|
|
46
|
+
"profileSetAsDefault": "✔ Set profile {{name}} as default",
|
|
47
|
+
"profileNotFound": "Profile not found",
|
|
48
|
+
"editingProfile": "Editing Profile: {{name}}",
|
|
49
|
+
"profileUpdated": "✔ Successfully updated profile: {{name}}",
|
|
50
|
+
"profileUpdateFailed": "❌ Failed to update profile: {{error}}",
|
|
51
|
+
"selectProfileToEdit": "Select profile to edit",
|
|
52
|
+
"selectProfileToCopy": "Select profile to copy",
|
|
53
|
+
"copyingProfile": "Copying profile: {{name}}",
|
|
54
|
+
"profileCopied": "✔ Successfully copied profile: {{name}}",
|
|
55
|
+
"profileCopyFailed": "❌ Failed to copy profile: {{error}}",
|
|
56
|
+
"selectProfilesToDelete": "Select profiles to delete (multiple)",
|
|
57
|
+
"selectAtLeastOne": "Please select at least one profile",
|
|
58
|
+
"cannotDeleteAll": "Cannot delete all profiles, at least one must remain",
|
|
59
|
+
"cannotDeleteLast": "Cannot delete the last profile",
|
|
60
|
+
"confirmDeleteProfiles": "Confirm deletion of the following profiles: {{providers}}?",
|
|
61
|
+
"profilesDeleted": "✔ Successfully deleted {{count}} profiles",
|
|
62
|
+
"profilesDeleteFailed": "❌ Failed to delete profiles: {{error}}",
|
|
63
|
+
"newDefaultProfile": "ℹ️ New default profile: {{profile}}",
|
|
64
|
+
"settingsApplied": "✔ Settings applied",
|
|
65
|
+
"failedToApplySettings": "Failed to apply settings",
|
|
66
|
+
"profileNameNotFound": "Profile \"{{name}}\" not found",
|
|
67
|
+
"conflictingParams": "Cannot specify both --api-configs and --api-configs-file at the same time",
|
|
68
|
+
"mustBeArray": "API configs must be an array",
|
|
69
|
+
"mustHaveValidName": "Each config must have a valid name",
|
|
70
|
+
"invalidAuthType": "Invalid auth type: {{type}}",
|
|
71
|
+
"duplicateName": "Duplicate config name: {{name}}",
|
|
72
|
+
"configApiKeyRequired": "Config \"{{name}}\" requires API key",
|
|
73
|
+
"ccrProxyReserved": "CCR proxy type is reserved and cannot be added manually (config: \"{{name}}\")",
|
|
74
|
+
"configProfileAddFailed": "Failed to add profile \"{{name}}\": {{error}}",
|
|
75
|
+
"providerAddFailed": "Failed to add provider \"{{name}}\": {{error}}",
|
|
76
|
+
"invalidJson": "Invalid API configs JSON: {{error}}",
|
|
77
|
+
"fileReadFailed": "Failed to read API configs file: {{error}}",
|
|
78
|
+
"providerOrTypeRequired": "Must provide either provider or type field"
|
|
79
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "ccs Uninstaller",
|
|
3
|
+
"selectMainOption": "Select uninstall option:",
|
|
4
|
+
"completeUninstall": "Complete Uninstall",
|
|
5
|
+
"completeUninstallDesc": "Remove all Claude Code related configurations and tools",
|
|
6
|
+
"customUninstall": "Custom Uninstall",
|
|
7
|
+
"customUninstallDesc": "Select specific items to remove",
|
|
8
|
+
"selectCustomItems": "Select items to remove:",
|
|
9
|
+
"selectItemsToRemove": "Choose configurations and tools to remove:",
|
|
10
|
+
"selectAtLeastOne": "Please select at least one item to remove.",
|
|
11
|
+
"executingComplete": "🗑️ Executing Complete Uninstall",
|
|
12
|
+
"executingCustom": "🗑️ Executing Custom Uninstall",
|
|
13
|
+
"completeWarning": "⚠️ This will remove ALL Claude Code configurations, directories, and tools. This action cannot be undone!",
|
|
14
|
+
"confirmComplete": "Are you sure you want to completely uninstall Claude Code and all related tools?",
|
|
15
|
+
"confirmCustom": "Are you sure you want to remove the selected items?",
|
|
16
|
+
"processingComplete": "🔄 Processing complete uninstall...",
|
|
17
|
+
"processingCustom": "🔄 Processing custom uninstall...",
|
|
18
|
+
"selectedItems": "Selected items:",
|
|
19
|
+
"movedToTrash": "Moved to trash/recycle bin",
|
|
20
|
+
"removedConfigs": "Configuration removed",
|
|
21
|
+
"errors": "Errors occurred",
|
|
22
|
+
"warnings": "Warnings",
|
|
23
|
+
"completeSuccess": "Complete uninstall completed successfully! All files moved to trash/recycle bin.",
|
|
24
|
+
"completePartialSuccess": "Complete uninstall completed with some warnings.",
|
|
25
|
+
"customSuccess": "Custom uninstall completed successfully! Processed {{count}} items.",
|
|
26
|
+
"customSuccessFiles": "Custom uninstall completed successfully! Moved {{count}} files/directories to trash/recycle bin.",
|
|
27
|
+
"customSuccessConfigs": "Custom uninstall completed successfully! Removed {{count}} configuration items.",
|
|
28
|
+
"customSuccessBoth": "Custom uninstall completed successfully! Moved {{fileCount}} files/directories to trash/recycle bin and removed {{configCount}} configuration items.",
|
|
29
|
+
"errorsCount": "{{count}} errors occurred during uninstall.",
|
|
30
|
+
"warningsCount": "{{count}} warnings occurred during uninstall.",
|
|
31
|
+
|
|
32
|
+
"outputStyles": "Output Styles - Remove output style configurations",
|
|
33
|
+
"commands": "Commands - Remove custom ccs commands",
|
|
34
|
+
"agents": "Agents - Remove custom ccs agents",
|
|
35
|
+
"claudeMd": "CLAUDE.md - Remove global memory file",
|
|
36
|
+
"permissionsEnvs": "Permissions & Envs - Remove permissions and environment variables",
|
|
37
|
+
"mcps": "MCPs - Remove MCP server configurations",
|
|
38
|
+
"ccr": "Claude Code Router - Uninstall CCR and remove configurations",
|
|
39
|
+
"ccline": "CCometixLine - Uninstall status line tool",
|
|
40
|
+
"claudeCode": "Claude Code - Uninstall Claude Code and configurations",
|
|
41
|
+
"backups": "Backups - Remove backup files",
|
|
42
|
+
"zcfConfig": "ccs Config - Remove ccs preference configurations",
|
|
43
|
+
|
|
44
|
+
"settingsJsonNotFound": "settings.json not found",
|
|
45
|
+
"commandsNotFound": "Commands directory not found",
|
|
46
|
+
"agentsNotFound": "Agents directory not found",
|
|
47
|
+
"claudeMdNotFound": "CLAUDE.md file not found",
|
|
48
|
+
"claudeJsonNotFound": ".claude.json file not found",
|
|
49
|
+
"ccrPackageNotFound": "Claude Code Router package not found",
|
|
50
|
+
"cclinePackageNotFound": "CCometixLine package not found",
|
|
51
|
+
"claudeCodePackageNotFound": "Claude Code package not found",
|
|
52
|
+
"backupsNotFound": "Backup directory not found",
|
|
53
|
+
"zcfConfigNotFound": "ccs configuration file not found",
|
|
54
|
+
"outputStylesDirectoryNotFound": "Output styles directory not found",
|
|
55
|
+
"uninstallFailed": "Failed to uninstall {{codeType}}{{message}}"
|
|
56
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"autoUpdating": "Auto-updating {tool}...",
|
|
3
|
+
"usingSudo": "Detected non-root Linux user. Using sudo for update (password prompt may appear).",
|
|
4
|
+
"cannotCheckVersion": "Cannot check latest version",
|
|
5
|
+
"ccrNotInstalled": "CCR is not installed",
|
|
6
|
+
"ccrUpToDate": "CCR is up to date (v{version})",
|
|
7
|
+
"checkFailed": "Version check failed",
|
|
8
|
+
"checkingTools": "Checking tool versions",
|
|
9
|
+
"checkingVersion": "Checking version...",
|
|
10
|
+
"claudeCodeNotInstalled": "Claude Code is not installed",
|
|
11
|
+
"claudeCodeUpToDate": "Claude Code is up to date (v{version})",
|
|
12
|
+
"ccsUpToDate": "ccs is up to date (v{version})",
|
|
13
|
+
"cometixLineNotInstalled": "CCometixLine is not installed",
|
|
14
|
+
"cometixLineUpToDate": "CCometixLine is up to date (v{version})",
|
|
15
|
+
"confirmUpdate": "Update {tool} to the latest version?",
|
|
16
|
+
"currentVersion": "Current version: v{version}",
|
|
17
|
+
"errorCheckingUpdates": "Error checking updates:",
|
|
18
|
+
"failed": "failed",
|
|
19
|
+
"latestVersion": "Latest version: v{version}",
|
|
20
|
+
"success": "success",
|
|
21
|
+
"updateFailed": "{tool} update failed",
|
|
22
|
+
"updateSkipped": "Update skipped",
|
|
23
|
+
"updateSuccess": "{tool} updated successfully!",
|
|
24
|
+
"updateSummary": "Update Summary",
|
|
25
|
+
"updating": "Updating {tool}..."
|
|
26
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"apiConfigAuthType": "认证类型",
|
|
3
|
+
"apiConfigKey": "Key",
|
|
4
|
+
"apiConfigSuccess": "API 配置完成",
|
|
5
|
+
"apiConfigUrl": "URL",
|
|
6
|
+
"modelConfigSuccess": "API 模型配置完成",
|
|
7
|
+
"primaryModel": "主模型",
|
|
8
|
+
"fastModel": "快速模型",
|
|
9
|
+
"apiKeyDesc": "适用于从 Anthropic Console 获取的 API 密钥",
|
|
10
|
+
"apiKeyValidation.example": "示例格式: sk-abcdef123456_789xyz",
|
|
11
|
+
"authTokenDesc": "适用于通过 OAuth 或浏览器登录获取的令牌",
|
|
12
|
+
"configureApi": "选择 API 认证方式",
|
|
13
|
+
"enterApiKey": "请输入 API Key",
|
|
14
|
+
"enterApiUrl": "请输入 API URL",
|
|
15
|
+
"enterAuthToken": "请输入 Auth Token",
|
|
16
|
+
"enterNewApiKey": "请输入新的 API Key(当前:{key})",
|
|
17
|
+
"enterNewApiUrl": "请输入新的 API URL(当前:{url})",
|
|
18
|
+
"existingApiConfig": "检测到已有 API 配置:",
|
|
19
|
+
"invalidKeyFormat": "无效的密钥格式",
|
|
20
|
+
"invalidUrl": "无效的 URL",
|
|
21
|
+
"keepExistingConfig": "保留现有配置",
|
|
22
|
+
"keyRequired": "密钥为必填项",
|
|
23
|
+
"modificationSaved": "配置已保存",
|
|
24
|
+
"modifyAllConfig": "修改全部配置",
|
|
25
|
+
"modifyApiKey": "修改 API Key",
|
|
26
|
+
"modifyApiUrl": "修改 API URL",
|
|
27
|
+
"modifyAuthType": "修改认证类型",
|
|
28
|
+
"modifyPartialConfig": "修改部分配置",
|
|
29
|
+
|
|
30
|
+
"selectApiMode": "请选择 API 配置模式",
|
|
31
|
+
"selectCustomConfigAction": "请选择自定义配置操作",
|
|
32
|
+
"selectModifyItems": "请选择要修改的项",
|
|
33
|
+
"selectNewAuthType": "选择新的认证类型(当前:{type})",
|
|
34
|
+
"skipApi": "跳过(稍后手动配置)",
|
|
35
|
+
"customApiConfig": "自定义 API 配置",
|
|
36
|
+
"urlRequired": "URL 为必填项",
|
|
37
|
+
"useApiKey": "使用 API Key (密钥认证)",
|
|
38
|
+
"useAuthToken": "使用 Auth Token (OAuth 认证)",
|
|
39
|
+
"useCcrProxy": "使用 CCR 代理",
|
|
40
|
+
"useOfficialLogin": "使用官方登录",
|
|
41
|
+
"officialLoginConfigured": "已切换到官方登录模式",
|
|
42
|
+
"officialLoginFailed": "切换到官方登录模式失败",
|
|
43
|
+
"apiModeOfficial": "使用官方登录(不配置 API)",
|
|
44
|
+
"apiModeCustom": "自定义 API 配置",
|
|
45
|
+
"apiModeCcr": "使用CCR代理",
|
|
46
|
+
"apiModeSwitch": "切换 API 配置",
|
|
47
|
+
"apiModeSkip": "跳过",
|
|
48
|
+
"apiModePrompt": "请选择 API 配置模式",
|
|
49
|
+
"apiKeyApprovalFailed": "API密钥批准状态管理失败",
|
|
50
|
+
"primaryApiKeySetFailed": "设置 primaryApiKey 失败"
|
|
51
|
+
}
|