{
	"back": "Back to tasks view",
	"common": {
		"save": "Save",
		"saving": "Saving...",
		"done": "Done",
		"cancel": "Cancel",
		"reset": "Reset",
		"select": "Select",
		"add": "Add Header",
		"remove": "Remove"
	},
	"header": {
		"title": "Settings",
		"saveButtonTooltip": "Save changes",
		"nothingChangedTooltip": "Nothing changed",
		"doneButtonTooltip": "Discard unsaved changes and go back to tasks view"
	},
	"search": {
		"placeholder": "Search settings...",
		"noResults": "No settings found"
	},
	"unsavedChangesDialog": {
		"title": "Unsaved Changes",
		"description": "Do you want to discard changes and continue?",
		"cancelButton": "Cancel",
		"discardButton": "Discard changes"
	},
	"sections": {
		"providers": "Providers",
		"modes": "Modes",
		"mcp": "MCP Servers",
		"worktrees": "Worktrees",
		"skills": "Skills",
		"autoApprove": "Auto-Approve",
		"checkpoints": "Checkpoints",
		"notifications": "Notifications",
		"contextManagement": "Context",
		"terminal": "Terminal",
		"autoCleanup": "Auto Cleanup",
		"slashCommands": "Slash Commands",
		"prompts": "Prompts",
		"ui": "UI",
		"experimental": "Experimental",
		"language": "Language",
		"about": "About CoStrict"
	},
	"about": {
		"bugReport": {
			"label": "Found a bug?",
			"link": "Report on GitHub"
		},
		"featureRequest": {
			"label": "Have an idea?",
			"link": "Share it with us"
		},
		"securityIssue": {
			"label": "Discovered a vulnerability?",
			"link": "Follow our disclosure process"
		},
		"contact": {
			"label": "Need to talk to us? Write"
		},
		"community": "Want tips or to just hang out with other CoStrict users? Contacts CoStrict Assistant on WeChat to join the group",
		"contactAndCommunity": "Contact & Community",
		"manageSettings": "Manage Settings",
		"debugMode": {
			"label": "Enable debug mode",
			"description": "Enable debug mode to show additional buttons in the task header for viewing API conversation history and UI messages as prettified JSON in temporary files."
		}
	},
	"slashCommands": {
		"description": "Slash commands are shortcuts for reusable workflows and actions to be used on demand (like creating a PR, running a set of tasks, etc). <DocsLink>Learn more</DocsLink>",
		"workspaceCommands": "Workspace Commands",
		"globalCommands": "Global Commands",
		"builtInCommands": "Built-in Commands",
		"noWorkspaceCommands": "No commands in this project yet.",
		"noGlobalCommands": "No global commands yet.",
		"addCommand": "Add Slash Command",
		"editCommand": "Edit command",
		"deleteCommand": "Delete command",
		"deleteDialog": {
			"title": "Delete Command",
			"description": "Are you sure you want to delete the command \"{{name}}\"? This action cannot be undone.",
			"confirm": "Delete",
			"cancel": "Cancel"
		},
		"createDialog": {
			"title": "Create New Slash Command",
			"nameLabel": "Name",
			"namePlaceholder": "my-command-name",
			"nameHint": "Lowercase letters, numbers, hyphens and underscores only",
			"sourceLabel": "Location",
			"create": "Create",
			"cancel": "Cancel"
		},
		"source": {
			"global": "Global (available in all workspaces)",
			"project": "Workspace"
		},
		"validation": {
			"nameRequired": "Name is required",
			"nameTooLong": "Name must be 64 characters or less",
			"nameInvalid": "Name must contain only letters, numbers, hyphens, and underscores"
		},
		"footer": "Use slash commands for quick access to frequently used prompts and workflows."
	},
	"skills": {
		"description": "Skills encapsulate contextual instructions and workflows, which the agent can load on-demand. They can include general instructions, specific workflows and even scripts to be run as needed. <DocsLink>Learn more</DocsLink>",
		"workspaceSkills": "Workspace Skills",
		"globalSkills": "Global Skills",
		"noWorkspaceSkills": "No skills in this project yet.",
		"noGlobalSkills": "No global skills yet.",
		"addSkill": "Add Skill",
		"editSkill": "Edit skill",
		"deleteSkill": "Delete skill",
		"configureModes": "Mode availability",
		"modeAny": "Any mode",
		"modeCount": "{{count}} modes",
		"deleteDialog": {
			"title": "Delete Skill",
			"description": "Are you sure you want to delete the skill \"{{name}}\"? This action cannot be undone.",
			"confirm": "Delete",
			"cancel": "Cancel"
		},
		"modeDialog": {
			"title": "Configure Skill Modes",
			"description": "Choose which modes can use this skill",
			"intro": "To keep your context light, we recommend only making skills available for the modes that need them.",
			"anyMode": "Any mode (available everywhere)",
			"save": "Save",
			"cancel": "Cancel"
		},
		"createDialog": {
			"title": "Create New Skill",
			"nameLabel": "Name",
			"namePlaceholder": "my-skill-name (Lowercase letters, numbers, and hyphens only)",
			"descriptionLabel": "Description",
			"descriptionPlaceholder": "Describe when this skill should be used and its contents...",
			"sourceLabel": "Location",
			"modeLabel": "Mode (optional)",
			"modePlaceholder": "Any mode",
			"modeAny": "Any mode",
			"modeHint": "Restrict this skill to a specific mode",
			"create": "Create",
			"cancel": "Cancel"
		},
		"source": {
			"global": "Global (available in all projects)",
			"project": "Project (this workspace only)"
		},
		"validation": {
			"nameRequired": "Name is required",
			"nameTooLong": "Name must be 64 characters or less",
			"nameInvalid": "Name must be 1-64 lowercase letters, numbers, or hyphens",
			"descriptionRequired": "Description is required",
			"descriptionTooLong": "Description must be 1024 characters or less"
		},
		"footer": "Create your own skills with the Skill Writer mode.",
		"footer_bak": "Create your own skills with the Skill Writer mode, available in the <MarketplaceLink>Modes Marketplace</MarketplaceLink>."
	},
	"ui": {
		"collapseThinking": {
			"label": "Collapse Thinking messages by default",
			"description": "When enabled, thinking blocks will be collapsed by default until you interact with them"
		},
		"showSpeedInfo": {
			"label": "Show speed info",
			"description": "When enabled, shows token generation speed metrics in messages"
		},
		"automaticallyFocus": {
			"label": "Automatically focus",
			"description": "Automatically focus on the text box when the window regains focus"
		},
		"requireCtrlEnterToSend": {
			"label": "Require {{primaryMod}}+Enter to send messages",
			"description": "When enabled, you must press {{primaryMod}}+Enter to send messages instead of just Enter"
		}
	},
	"autoCleanup": {
		"description": "Automatically clean up old task history to free up disk space",
		"enabled": {
			"label": "Enable Auto Cleanup",
			"description": "When enabled, the extension will automatically remove old tasks based on your settings"
		},
		"strategy": {
			"label": "Cleanup Strategy",
			"basedOnTime": {
				"label": "Based on Time",
				"description": "Remove tasks older than specified days"
			},
			"basedOnCount": {
				"label": "Based on Count",
				"description": "Keep only the most recent N tasks (including active task)"
			}
		},
		"retentionDays": {
			"label": "Retention Days",
			"description": "Tasks older than this number of days will be removed (1-365)"
		},
		"maxHistoryCount": {
			"label": "Max History Count",
			"tasks": "tasks",
			"description": "Keep only this many most recent tasks including active task (10-500)"
		},
		"excludeActive": {
			"label": "Exclude Active Task",
			"description": "Do not delete the currently running task"
		},
		"cleanupOnStartup": {
			"label": "Cleanup on Startup",
			"description": "Run auto cleanup when the extension starts"
		}
	},
	"prompts": {
		"description": "Configure support prompts that are used for quick actions like enhancing prompts, explaining code, and fixing issues. These prompts help CoStrict provide better assistance for common development tasks."
	},
	"codeIndex": {
		"title": "Codebase Indexing",
		"description": "Configure codebase indexing settings to enable semantic search of your project.",
		"statusTitle": "Status",
		"enableLabel": "Enable Codebase Indexing",
		"enableDescription": "Enable code indexing for improved search and context understanding",
		"settingsTitle": "Indexing Settings",
		"disabledMessage": "Codebase indexing is currently disabled. Enable it in the global settings to configure indexing options.",
		"providerLabel": "Embeddings Provider",
		"embedderProviderLabel": "Embedder Provider",
		"selectProviderPlaceholder": "Select provider",
		"openaiProvider": "OpenAI",
		"ollamaProvider": "Ollama",
		"geminiProvider": "Gemini",
		"geminiApiKeyLabel": "API Key:",
		"geminiApiKeyPlaceholder": "Enter your Gemini API key",
		"mistralProvider": "Mistral",
		"mistralApiKeyLabel": "API Key:",
		"mistralApiKeyPlaceholder": "Enter your Mistral API key",
		"vercelAiGatewayProvider": "Vercel AI Gateway",
		"vercelAiGatewayApiKeyLabel": "API Key",
		"vercelAiGatewayApiKeyPlaceholder": "Enter your Vercel AI Gateway API key",
		"bedrockProvider": "Amazon Bedrock",
		"bedrockRegionLabel": "AWS Region",
		"bedrockRegionPlaceholder": "us-east-1",
		"bedrockProfileLabel": "AWS Profile",
		"bedrockProfilePlaceholder": "default",
		"bedrockProfileDescription": "AWS profile name from ~/.aws/credentials (required).",
		"openRouterProvider": "OpenRouter",
		"openRouterApiKeyLabel": "OpenRouter API Key",
		"openRouterApiKeyPlaceholder": "Enter your OpenRouter API key",
		"openRouterProviderRoutingLabel": "OpenRouter Provider Routing",
		"openRouterProviderRoutingDescription": "OpenRouter routes requests to the best available providers for your embedding model. By default, requests are load balanced across the top providers to maximize uptime. However, you can choose a specific provider to use for this model.",
		"openaiCompatibleProvider": "OpenAI Compatible",
		"openAiKeyLabel": "OpenAI API Key",
		"openAiKeyPlaceholder": "Enter your OpenAI API key",
		"openAiCompatibleBaseUrlLabel": "Base URL",
		"openAiCompatibleApiKeyLabel": "API Key",
		"openAiCompatibleApiKeyPlaceholder": "Enter your API key",
		"openAiCompatibleModelDimensionLabel": "Embedding Dimension:",
		"modelDimensionLabel": "Model Dimension",
		"openAiCompatibleModelDimensionPlaceholder": "e.g., 1536",
		"openAiCompatibleModelDimensionDescription": "The embedding dimension (output size) for your model. Check your provider's documentation for this value. Common values: 384, 768, 1536, 3072.",
		"modelLabel": "Model",
		"modelPlaceholder": "Enter model name",
		"selectModel": "Select a model",
		"selectModelPlaceholder": "Select model",
		"ollamaUrlLabel": "Ollama URL:",
		"ollamaBaseUrlLabel": "Ollama Base URL",
		"qdrantUrlLabel": "Qdrant URL",
		"qdrantKeyLabel": "Qdrant Key:",
		"qdrantApiKeyLabel": "Qdrant API Key",
		"qdrantApiKeyPlaceholder": "Enter your Qdrant API key (optional)",
		"setupConfigLabel": "Setup",
		"advancedConfigLabel": "Advanced Configuration",
		"searchMinScoreLabel": "Search Score Threshold",
		"searchMinScoreDescription": "Minimum similarity score (0.0-1.0) required for search results. Lower values return more results but may be less relevant. Higher values return fewer but more relevant results.",
		"searchMinScoreResetTooltip": "Reset to default value (0.4)",
		"searchMaxResultsLabel": "Maximum Search Results",
		"searchMaxResultsDescription": "Maximum number of search results to return when querying the codebase index. Higher values provide more context but may include less relevant results.",
		"resetToDefault": "Reset to default",
		"startIndexingButton": "Start Indexing",
		"clearIndexDataButton": "Clear Index Data",
		"unsavedSettingsMessage": "Please save your settings before starting the indexing process.",
		"clearDataDialog": {
			"title": "Are you sure?",
			"description": "This action cannot be undone. This will permanently delete your codebase index data.",
			"cancelButton": "Cancel",
			"confirmButton": "Clear Data"
		},
		"ollamaUrlPlaceholder": "http://localhost:11434",
		"openAiCompatibleBaseUrlPlaceholder": "https://api.example.com",
		"modelDimensionPlaceholder": "1536",
		"qdrantUrlPlaceholder": "http://localhost:6333",
		"saveError": "Failed to save settings",
		"modelDimensions": "({{dimension}} dimensions)",
		"saveSuccess": "Settings saved successfully",
		"saving": "Saving...",
		"saveSettings": "Save",
		"indexingStatuses": {
			"standby": "Standby",
			"indexing": "Indexing",
			"indexed": "Indexed",
			"error": "Error"
		},
		"close": "Close",
		"validation": {
			"qdrantUrlRequired": "Qdrant URL is required",
			"invalidQdrantUrl": "Invalid Qdrant URL",
			"invalidOllamaUrl": "Invalid Ollama URL",
			"invalidBaseUrl": "Invalid base URL",
			"openaiApiKeyRequired": "OpenAI API key is required",
			"modelSelectionRequired": "Model selection is required",
			"apiKeyRequired": "API key is required",
			"modelIdRequired": "Model ID is required",
			"modelDimensionRequired": "Model dimension is required",
			"geminiApiKeyRequired": "Gemini API key is required",
			"mistralApiKeyRequired": "Mistral API key is required",
			"vercelAiGatewayApiKeyRequired": "Vercel AI Gateway API key is required",
			"bedrockRegionRequired": "AWS region is required",
			"bedrockProfileRequired": "AWS profile is required",
			"openRouterApiKeyRequired": "OpenRouter API key is required",
			"ollamaBaseUrlRequired": "Ollama base URL is required",
			"baseUrlRequired": "Base URL is required",
			"modelDimensionMinValue": "Model dimension must be greater than 0"
		},
		"optional": "optional",
		"stopIndexingButton": "Stop Indexing",
		"stoppingButton": "Stopping...",
		"workspaceToggleLabel": "Enable indexing for this workspace",
		"workspaceDisabledMessage": "Indexing is configured but not enabled for this workspace.",
		"autoEnableDefaultLabel": "Auto-enable indexing for new workspaces"
	},
	"autoApprove": {
		"description": "Run these actions without asking for permission. Only enable for actions you fully trust and if you understand the security risks.",
		"toggleShortcut": "You can configure a keyboard shortcut for this setting <SettingsLink>in your IDE preferences</SettingsLink>.",
		"enabled": "Auto-Approve Enabled",
		"readOnly": {
			"label": "Read",
			"description": "When enabled, CoStrict will automatically view directory contents and read files without requiring you to click the Approve button.",
			"outsideWorkspace": {
				"label": "Include files outside workspace",
				"description": "Allow CoStrict to read files outside the current workspace without requiring approval."
			}
		},
		"write": {
			"label": "Write",
			"description": "Automatically create and edit files without requiring approval",
			"delayLabel": "Delay after writes to allow diagnostics to detect potential problems",
			"outsideWorkspace": {
				"label": "Include files outside workspace",
				"description": "Allow CoStrict to create and edit files outside the current workspace without requiring approval."
			},
			"protected": {
				"label": "Include protected files",
				"description": "Allow CoStrict to create and edit protected files (like .rooignore and .roo/ configuration files) without requiring approval."
			}
		},
		"mcp": {
			"label": "MCP",
			"description": "Enable auto-approval of individual MCP tools in the MCP Servers view (requires both this setting and the tool's individual \"Always allow\" checkbox)"
		},
		"modeSwitch": {
			"label": "Mode",
			"description": "Automatically switch between different modes without requiring approval"
		},
		"subtasks": {
			"label": "Subtasks",
			"description": "Allow creation and completion of subtasks without requiring approval"
		},
		"followupQuestions": {
			"label": "Question",
			"description": "Automatically select the first suggested answer for follow-up questions after the configured timeout",
			"timeoutLabel": "Time to wait before auto-selecting the first answer"
		},
		"execute": {
			"label": "Execute",
			"description": "Automatically execute allowed terminal commands without requiring approval",
			"allowedCommands": "Allowed Auto-Execute Commands",
			"allowedCommandsDescription": "Command prefixes that can be auto-executed when \"Always approve execute operations\" is enabled. Add * to allow all commands (use with caution).",
			"deniedCommands": "Denied Commands",
			"deniedCommandsDescription": "Command prefixes that will be automatically denied without asking for approval. In case of conflicts with allowed commands, the longest prefix match takes precedence. Add * to deny all commands.",
			"commandPlaceholder": "Enter command prefix (e.g., 'git ')",
			"deniedCommandPlaceholder": "Enter command prefix to deny (e.g., 'rm -rf')",
			"addButton": "Add",
			"autoDenied": "Commands with the prefix `{{prefix}}` have been forbidden by the user. Do not bypass this restriction by running another command."
		},
		"apiRequestLimit": {
			"title": "Max Count",
			"unlimited": "Unlimited"
		},
		"apiCostLimit": {
			"title": "Max Cost",
			"unlimited": "Unlimited"
		},
		"maxLimits": {
			"description": "Automatically make requests up to these limits before asking for approval to continue."
		},
		"toggleAriaLabel": "Toggle auto-approval",
		"disabledAriaLabel": "Auto-approval disabled - select options first",
		"selectOptionsFirst": "Select at least one option below to enable auto-approval"
	},
	"providers": {
		"providerDocumentation": "{{provider}} documentation",
		"configProfile": "Configuration Profile",
		"description": "Save different API configurations to quickly switch between providers and settings.",
		"apiProvider": "API Provider",
		"apiProviderDocs": "Provider Docs",
		"model": "Model",
		"nameEmpty": "Name cannot be empty",
		"nameExists": "A profile with this name already exists",
		"deleteProfile": "Delete Profile",
		"invalidArnFormat": "Invalid ARN format. Please check the examples above.",
		"enterNewName": "Enter new name",
		"addProfile": "Add Profile",
		"renameProfile": "Rename Profile",
		"newProfile": "New Configuration Profile",
		"enterProfileName": "Enter profile name",
		"createProfile": "Create Profile",
		"cannotDeleteOnlyProfile": "Cannot delete the only profile",
		"searchPlaceholder": "Search profiles",
		"searchProviderPlaceholder": "Search providers",
		"noProviderMatchFound": "No providers found",
		"noMatchFound": "No matching profiles found",
		"retiredProviderMessage": "Sorry, this provider is no longer supported. We saw very few Roo users actually using it and we need to reduce the surface area of our codebase so we can keep shipping fast and serving our community well in this space. It was a really hard decision but it lets us focus on what matters most to you. It sucks, we know.",
		"vscodeLmDescription": " The VS Code Language Model API allows you to run models provided by other VS Code extensions (including but not limited to GitHub Copilot). The easiest way to get started is to install the Copilot and Copilot Chat extensions from the VS Code Marketplace.",
		"awsCustomArnUse": "Enter a valid Amazon Bedrock ARN for the model you want to use. Format examples:",
		"awsCustomArnDesc": "Make sure the region in the ARN matches your selected AWS Region above.",
		"openRouterApiKey": "OpenRouter API Key",
		"getOpenRouterApiKey": "Get OpenRouter API Key",
		"vercelAiGatewayApiKey": "Vercel AI Gateway API Key",
		"getVercelAiGatewayApiKey": "Get Vercel AI Gateway API Key",
		"apiKeyStorageNotice": "API keys are stored securely in VSCode's Secret Storage",
		"openAiCodexRateLimits": {
			"title": "Usage Limits for Codex{{planLabel}}",
			"loading": "Loading usage limits...",
			"loadError": "Failed to load usage limits",
			"retry": "Retry",
			"usedPercent": "{{percent}}% used",
			"resetsIn": "Resets in {{time}}",
			"plan": {
				"default": "",
				"withType": " ({{planType}})"
			},
			"time": {
				"now": "Now",
				"notAvailable": "N/A"
			},
			"duration": {
				"daysHours": "{{days}}d {{hours}}h",
				"hoursMinutes": "{{hours}}h {{minutes}}m",
				"minutes": "{{minutes}}m"
			},
			"window": {
				"usage": "Usage",
				"fiveHour": "5h limit",
				"oneHour": "1h limit",
				"daily": "Daily limit",
				"weekly": "Weekly limit",
				"days": "{{days}}d limit",
				"hours": "{{hours}}h limit",
				"minutes": "{{minutes}}m limit"
			}
		},
		"useCustomBaseUrl": "Use custom base URL",
		"useReasoning": "Enable reasoning",
		"useHostHeader": "Use custom Host header",
		"customHeaders": "Custom Headers",
		"headerName": "Header name",
		"headerValue": "Header value",
		"noCustomHeaders": "No custom headers defined. Click the + button to add one.",
		"unboundApiKey": "Unbound API Key",
		"getUnboundApiKey": "Get Unbound API Key",
		"requestyApiKey": "Requesty API Key",
		"refreshModels": {
			"label": "Refresh Models",
			"hint": "Please reopen the settings to see the latest models.",
			"loading": "Refreshing models list...",
			"success": "Models list refreshed successfully!",
			"error": "Failed to refresh models list. Please try again."
		},
		"getRequestyApiKey": "Create new Requesty API Key",
		"getRequestyBaseUrl": "Base URL",
		"requestyUseCustomBaseUrl": "Use custom base URL",
		"anthropicApiKey": "Anthropic API Key",
		"getAnthropicApiKey": "Get Anthropic API Key",
		"anthropicUseAuthToken": "Pass Anthropic API Key as Authorization header instead of X-Api-Key",
		"anthropic1MContextBetaLabel": "Enable 1M context window (Beta)",
		"anthropic1MContextBetaDescription": "Extends context window to 1 million tokens for Claude Sonnet 4.x / Claude Opus 4.6",
		"awsBedrock1MContextBetaLabel": "Enable 1M context window (Beta)",
		"awsBedrock1MContextBetaDescription": "Extends context window to 1 million tokens for Claude Sonnet 4.x / Claude Opus 4.6",
		"vertex1MContextBetaLabel": "Enable 1M context window (Beta)",
		"vertex1MContextBetaDescription": "Extends context window to 1 million tokens for Claude Sonnet 4.x / Claude Opus 4.6",
		"basetenApiKey": "Baseten API Key",
		"getBasetenApiKey": "Get Baseten API Key",
		"poeApiKey": "Poe API Key",
		"getPoeApiKey": "Get Poe API Key",
		"poeBaseUrl": "Poe Base URL",
		"fireworksApiKey": "Fireworks API Key",
		"getFireworksApiKey": "Get Fireworks API Key",
		"deepSeekApiKey": "DeepSeek API Key",
		"getDeepSeekApiKey": "Get DeepSeek API Key",
		"moonshotApiKey": "Moonshot API Key",
		"getMoonshotApiKey": "Get Moonshot API Key",
		"moonshotBaseUrl": "Moonshot Entrypoint",
		"minimaxApiKey": "MiniMax API Key",
		"getMiniMaxApiKey": "Get MiniMax API Key",
		"minimaxBaseUrl": "MiniMax Entrypoint",
		"mimoApiKey": "MiMo API Key",
		"getMimoApiKey": "Get MiMo API Key",
		"mimoBaseUrl": "MiMo Entrypoint",
		"mimoBaseUrlSingapore": "Token Plan - Singapore (Default)",
		"mimoBaseUrlChina": "Token Plan - China",
		"mimoBaseUrlEurope": "Token Plan - Europe (AMS)",
		"mimoBaseUrlPayg": "Pay-as-you-go",
		"zaiApiKey": "Z AI API Key",
		"getZaiApiKey": "Get Z AI API Key",
		"zaiEntrypoint": "Z AI Entrypoint",
		"zaiEntrypointDescription": "Please select the appropriate API entrypoint based on your location. If you are in China, choose open.bigmodel.cn. Otherwise, choose api.z.ai.",
		"geminiApiKey": "Gemini API Key",
		"getSambaNovaApiKey": "Get SambaNova API Key",
		"sambaNovaApiKey": "SambaNova API Key",
		"getGeminiApiKey": "Get Gemini API Key",
		"openAiApiKey": "OpenAI API Key",
		"apiKey": "API Key",
		"openAiBaseUrl": "Base URL",
		"getOpenAiApiKey": "Get OpenAI API Key",
		"mistralApiKey": "Mistral API Key",
		"getMistralApiKey": "Get Mistral / Codestral API Key",
		"codestralBaseUrl": "Codestral Base URL (Optional)",
		"codestralBaseUrlDesc": "Set an alternative URL for the Codestral model.",
		"xaiApiKey": "xAI API Key",
		"getXaiApiKey": "Get xAI API Key",
		"litellmApiKey": "LiteLLM API Key",
		"litellmBaseUrl": "LiteLLM Base URL",
		"awsCredentials": "AWS Credentials",
		"awsProfile": "AWS Profile",
		"awsApiKey": "Amazon Bedrock API Key",
		"awsProfileName": "AWS Profile Name",
		"awsAccessKey": "AWS Access Key",
		"awsSecretKey": "AWS Secret Key",
		"awsSessionToken": "AWS Session Token",
		"awsRegion": "AWS Region",
		"awsCrossRegion": "Use cross-region inference",
		"awsGlobalInference": "Use Global inference (auto-select optimal AWS Region)",
		"awsServiceTier": "Service Tier",
		"awsServiceTierStandard": "Standard",
		"awsServiceTierStandardDesc": "Balanced performance and cost",
		"awsServiceTierFlex": "Flex (50% discount)",
		"awsServiceTierFlexDesc": "Lower cost, higher latency for non-critical tasks",
		"awsServiceTierPriority": "Priority (75% premium)",
		"awsServiceTierPriorityDesc": "Fastest performance for mission-critical applications",
		"awsServiceTierNote": "Service tiers affect pricing and performance. Flex offers 50% discount with higher latency, Priority offers 25% better performance with 75% premium.",
		"awsBedrockVpc": {
			"useCustomVpcEndpoint": "Use custom VPC endpoint",
			"vpcEndpointUrlPlaceholder": "Enter VPC Endpoint URL (optional)",
			"examples": "Examples:"
		},
		"enablePromptCaching": "Enable prompt caching",
		"enablePromptCachingTitle": "Enable prompt caching to improve performance and reduce costs for supported models.",
		"cacheUsageNote": "Note: If you don't see cache usage, try selecting a different model and then selecting your desired model again.",
		"vscodeLmModel": "Language Model",
		"vscodeLmWarning": "Note: Models accessed via the VS Code Language Model API may be wrapped or fine-tuned by the provider, so behavior can differ from using the same model directly from a typical provider or router. To use a model from the Language Model dropdown, first switch to that model and then click Accept in the Copilot Chat prompt; otherwise you may see an error such as 400 \"The requested model is not supported\".",
		"googleCloudSetup": {
			"title": "To use Google Cloud Vertex AI, you need to:",
			"step1": "1. Create a Google Cloud account, enable the Vertex AI API & enable the desired Claude models.",
			"step2": "2. Install the Google Cloud CLI & configure application default credentials.",
			"step3": "3. Or create a service account with credentials."
		},
		"googleCloudCredentials": "Google Cloud Credentials",
		"googleCloudKeyFile": "Google Cloud Key File Path",
		"googleCloudProjectId": "Google Cloud Project ID",
		"googleCloudRegion": "Google Cloud Region",
		"lmStudio": {
			"baseUrl": "Base URL (optional)",
			"modelId": "Model ID",
			"speculativeDecoding": "Enable Speculative Decoding",
			"draftModelId": "Draft Model ID",
			"draftModelDesc": "Draft model must be from the same model family for speculative decoding to work correctly.",
			"selectDraftModel": "Select Draft Model",
			"noModelsFound": "No draft models found. Please ensure LM Studio is running with Server Mode enabled.",
			"description": "LM Studio allows you to run models locally on your computer. For instructions on how to get started, see their <a>quickstart guide</a>. You will also need to start LM Studio's <b>local server</b> feature to use it with this extension. <span>Note:</span> CoStrict uses complex prompts and works best with Claude models. Less capable models may not work as expected."
		},
		"ollama": {
			"baseUrl": "Base URL (optional)",
			"modelId": "Model ID",
			"apiKey": "Ollama API Key",
			"apiKeyHelp": "Optional API key for authenticated Ollama instances or cloud services. Leave empty for local installations.",
			"numCtx": "Context Window Size (num_ctx)",
			"numCtxHelp": "Override the model's default context window size. Leave empty to use the model's Modelfile configuration. Minimum value is 128.",
			"description": "Ollama allows you to run models locally on your computer. For instructions on how to get started, see their quickstart guide.",
			"warning": "Note: CoStrict uses complex prompts and works best with Claude models. Less capable models may not work as expected."
		},
		"humanRelay": {
			"description": "No API key is required, but the user needs to help copy and paste the information to the web chat AI.",
			"instructions": "During use, a dialog box will pop up and the current message will be copied to the clipboard automatically. You need to paste these to web versions of AI (such as ChatGPT or Claude), then copy the AI's reply back to the dialog box and click the confirm button."
		},
		"roo": {
			"authenticatedMessage": "Securely authenticated through your CoStrict Cloud account.",
			"connectButton": "Connect to CoStrict Cloud"
		},
		"openRouter": {
			"providerRouting": {
				"title": "OpenRouter Provider Routing",
				"description": "OpenRouter routes requests to the best available providers for your model. By default, requests are load balanced across the top providers to maximize uptime. However, you can choose a specific provider to use for this model.",
				"learnMore": "Learn more about provider routing"
			}
		},
		"customModel": {
			"capabilities": "Configure the capabilities and pricing for your custom OpenAI-compatible model. Be careful when specifying the model capabilities, as they can affect how CoStrict performs.",
			"maxTokens": {
				"label": "Max Output Tokens",
				"description": "Maximum number of tokens the model can generate in a response."
			},
			"contextWindow": {
				"label": "Context Window Size",
				"description": "Total tokens (input + output) the model can process."
			},
			"imageSupport": {
				"label": "Image Support",
				"description": "Is this model capable of processing and understanding images?"
			},
			"computerUse": {
				"label": "Computer Use",
				"description": "Is this model capable of interacting with a browser?"
			},
			"promptCache": {
				"label": "Prompt Caching",
				"description": "Is this model capable of caching prompts?"
			},
			"pricing": {
				"input": {
					"label": "Input Price",
					"description": "Cost per million tokens in the input/prompt. This affects the cost of sending context and instructions to the model."
				},
				"output": {
					"label": "Output Price",
					"description": "Cost per million tokens in the model's response. This affects the cost of generated content and completions."
				},
				"cacheReads": {
					"label": "Cache Reads Price",
					"description": "Cost per million tokens for reading from the cache. This is the price charged when a cached response is retrieved."
				},
				"cacheWrites": {
					"label": "Cache Writes Price",
					"description": "Cost per million tokens for writing to the cache. This is the price charged when a prompt is cached for the first time."
				}
			},
			"resetDefaults": "Reset to Defaults"
		},
		"rateLimitSeconds": {
			"label": "Rate limit",
			"description": "Minimum time between API requests."
		},
		"consecutiveMistakeLimit": {
			"label": "Error & Repetition Limit",
			"description": "Number of consecutive errors or repeated actions before showing 'CoStrict is having trouble' dialog. Set to 0 to disable this safety mechanism (it will never trigger).",
			"unlimitedDescription": "Unlimited retries enabled (auto-proceed). The dialog will never appear.",
			"warning": "⚠️ Setting to 0 allows unlimited retries which may consume significant API usage"
		},
		"reasoningEffort": {
			"label": "Model Reasoning Effort",
			"none": "None",
			"minimal": "Minimal (Fastest)",
			"low": "Low",
			"medium": "Medium",
			"high": "High",
			"xhigh": "Extra High"
		},
		"verbosity": {
			"label": "Output Verbosity",
			"high": "High",
			"medium": "Medium",
			"low": "Low",
			"description": "Controls how detailed the model's responses are. Low verbosity produces concise answers, while high verbosity provides thorough explanations."
		},
		"setReasoningLevel": "Enable Reasoning Effort",
		"claudeCode": {
			"pathLabel": "Claude Code Path",
			"description": "Optional path to your Claude Code CLI. Defaults to 'claude' if not set.",
			"placeholder": "Default: claude",
			"maxTokensLabel": "Max Output Tokens",
			"maxTokensDescription": "Maximum number of output tokens for Claude Code responses. Default is 8000."
		},
		"geminiCli": {
			"description": "This provider uses OAuth authentication from the Gemini CLI tool and does not require API keys.",
			"oauthPath": "OAuth Credentials Path (optional)",
			"oauthPathDescription": "Path to the OAuth credentials file. Leave empty to use the default location (~/.gemini/oauth_creds.json).",
			"projectId": "Google Cloud Project ID (optional)",
			"projectIdDescription": "Specify your Google Cloud Project ID for enterprise or non-free tier access. Leave empty for automatic project discovery with personal accounts.",
			"projectIdPlaceholder": "e.g., my-project-id",
			"instructions": "If you haven't authenticated yet, please run",
			"instructionsContinued": "in your terminal first.",
			"setupLink": "Gemini CLI Setup Instructions",
			"requirementsTitle": "Important Requirements",
			"requirement1": "First, you need to install the Gemini CLI tool",
			"requirement2": "Then, run gemini in your terminal and make sure you Log in with Google",
			"requirement3": "Only works with personal Google accounts (not Google Workspace accounts)",
			"requirement4": "Does not use API keys - authentication is handled via OAuth",
			"requirement5": "Requires the Gemini CLI tool to be installed and authenticated first",
			"freeAccess": "Free tier access via OAuth authentication"
		}
	},
	"checkpoints": {
		"timeout": {
			"label": "Checkpoint initialization timeout (seconds)",
			"description": "Maximum time to wait for checkpoint service initialization. Default is 15 seconds. Range: 10-60 seconds."
		},
		"enable": {
			"label": "Enable automatic checkpoints",
			"description": "When enabled, CoStrict will automatically create checkpoints during task execution, making it easy to review changes or revert to earlier states."
		},
		"customStoragePath": {
			"label": "Custom storage path",
			"description": "Custom storage path. Leave empty to use the default location. Supports absolute paths (e.g. 'D:\\CostrictCodeStorage')",
			"browse": "Browse",
			"clear": "Clear",
			"dialogTitle": "Select checkpoint storage folder"
		}
	},
	"notifications": {
		"sound": {
			"label": "Enable sound effects",
			"description": "When enabled, CoStrict will play sound effects for notifications and events.",
			"volumeLabel": "Volume"
		},
		"tts": {
			"label": "Enable text-to-speech",
			"description": "When enabled, CoStrict will read aloud its responses using text-to-speech.",
			"speedLabel": "Speed"
		}
	},
	"contextManagement": {
		"description": "Control what information is included in the AI's context window, affecting token usage and response quality",
		"autoCondenseContextPercent": {
			"label": "Threshold to trigger intelligent context condensing",
			"description": "When the context window reaches this threshold, CoStrict will automatically condense it."
		},
		"condensingApiConfiguration": {
			"label": "API Configuration for Context Condensing",
			"description": "Select which API configuration to use for context condensing operations. Leave unselected to use the current active configuration.",
			"useCurrentConfig": "Default"
		},
		"customCondensingPrompt": {
			"label": "Custom Context Condensing Prompt",
			"description": "Customize the system prompt used for context condensing. Leave empty to use the default prompt.",
			"placeholder": "Enter your custom condensing prompt here...\n\nYou can use the same structure as the default prompt:\n- Previous Conversation\n- Current Work\n- Key Technical Concepts\n- Relevant Files and Code\n- Problem Solving\n- Pending Tasks and Next Steps",
			"reset": "Reset to Default",
			"hint": "Empty = use default prompt"
		},
		"autoCondenseContext": {
			"name": "Automatically trigger intelligent context condensing",
			"description": "When enabled, CoStrict will automatically condense the context when the threshold is reached. When disabled, you can still manually trigger context condensing."
		},
		"openTabs": {
			"label": "Open tabs context limit",
			"description": "Maximum number of VSCode open tabs to include in context. Higher values provide more context but increase token usage."
		},
		"workspaceFiles": {
			"label": "Workspace files context limit",
			"description": "Maximum number of files to include in current working directory details. Higher values provide more context but increase token usage."
		},
		"rooignore": {
			"label": "Show .rooignore'd files in lists and searches",
			"description": "When enabled, files matching patterns in .rooignore will be shown in lists with a lock symbol. When disabled, these files will be completely hidden from file lists and searches."
		},
		"maxConcurrentFileReads": {
			"label": "Concurrent file reads limit",
			"description": "Maximum number of files the 'read_file' tool can process concurrently. Higher values may speed up reading multiple small files but increase memory usage."
		},
		"maxReadFile": {
			"label": "File read auto-truncate threshold",
			"description": "CoStrict reads this number of lines when the model omits start/end values. If this number is less than the file's total, CoStrict generates a line number index of code definitions. Special cases: -1 instructs CoStrict to read the entire file (without indexing), and 0 instructs it to read no lines and provides line indexes only for minimal context. Lower values minimize initial context usage, enabling precise subsequent line-range reads. Explicit start/end requests are not limited by this setting.",
			"lines": "lines",
			"always_full_read": "Always read entire file"
		},
		"maxImageFileSize": {
			"label": "Max image file size",
			"mb": "MB",
			"description": "Maximum size (in MB) for image files that can be processed by the read file tool."
		},
		"maxTotalImageSize": {
			"label": "Max total image size",
			"mb": "MB",
			"description": "Maximum cumulative size limit (in MB) for all images processed in a single read_file operation. When reading multiple images, each image's size is added to the total. If including another image would exceed this limit, it will be skipped."
		},
		"diagnostics": {
			"includeMessages": {
				"label": "Automatically include diagnostics in context",
				"description": "When enabled, diagnostic messages (errors) from edited files will be automatically included in the context. You can always manually include all workspace diagnostics using @problems."
			},
			"maxMessages": {
				"label": "Maximum diagnostic messages",
				"description": "Limits the number of diagnostic messages (errors, warnings) included in the context. When set, only this many diagnostics will be shown, prioritizing errors over warnings. Set to 0 for unlimited diagnostics.",
				"resetTooltip": "Reset to default value (50)",
				"unlimitedLabel": "Unlimited"
			},
			"delayAfterWrite": {
				"label": "Delay after writes to allow diagnostics to detect potential problems",
				"description": "Time to wait after file writes before proceeding, allowing diagnostic tools to process changes and detect issues."
			}
		},
		"condensingThreshold": {
			"label": "Condensing Trigger Threshold",
			"selectProfile": "Configure threshold for profile",
			"defaultProfile": "Global Default (all profiles)",
			"defaultDescription": "When context reaches this percentage, it will be automatically condensed for all profiles unless they have custom settings",
			"profileDescription": "Custom threshold for this profile only (overrides global default)",
			"inheritDescription": "This profile inherits the global default threshold ({{threshold}}%)",
			"usesGlobal": "(uses global {{threshold}}%)"
		},
		"includeCurrentTime": {
			"label": "Include current time in context",
			"description": "When enabled, the current time and timezone information will be included in the system prompt. Disable this if models are stopping work due to time concerns."
		},
		"includeCurrentCost": {
			"label": "Include current cost in context",
			"description": "When enabled, the current API usage cost will be included in the system prompt. Disable this if models are stopping work due to cost concerns."
		},
		"maxGitStatusFiles": {
			"label": "Git status max files",
			"description": "Maximum number of file entries to include in git status context. Set to 0 to disable. Branch info is always shown when > 0."
		},
		"enableSubfolderRules": {
			"label": "Enable subfolder rules",
			"description": "Recursively discover and load .roo/rules and AGENTS.md files from subdirectories. Useful for monorepos with per-package rules."
		}
	},
	"terminal": {
		"basic": {
			"label": "Terminal Settings: Basic",
			"description": "Basic terminal settings"
		},
		"advanced": {
			"label": "Terminal Settings: Advanced",
			"description": "These settings apply only when 'Use Inline Terminal' is disabled. They affect the VS Code terminal only and may require restarting the IDE."
		},
		"outputLineLimit": {
			"label": "Terminal output limit",
			"description": "Keeps the first and last lines and drops the middle to stay under the limit. Lower to save tokens; raise to give CoStrict more middle detail. CoStrict sees a placeholder where the content is skipped."
		},
		"outputCharacterLimit": {
			"label": "Terminal character limit",
			"description": "Overrides the line limit to prevent memory issues by enforcing a hard cap on output size. If exceeded, keeps the beginning and end and shows a placeholder to CoStrict where content is skipped."
		},
		"outputPreviewSize": {
			"label": "Command output preview size",
			"description": "Controls how much command output CoStrict sees directly. Full output is always saved and accessible when needed.",
			"options": {
				"small": "Small (5KB)",
				"medium": "Medium (10KB)",
				"large": "Large (20KB)"
			}
		},
		"shellIntegrationTimeout": {
			"label": "Terminal shell integration timeout",
			"description": "How long to wait for VS Code shell integration before running commands. Raise if your shell starts slowly or you see 'Shell Integration Unavailable' errors."
		},
		"shellIntegrationDisabled": {
			"label": "Use Inline Terminal (recommended)",
			"description": "Run commands in the Inline Terminal (chat) to bypass shell profiles/integration for faster, more reliable runs. When disabled CoStrict uses the VS Code terminal with your shell profile, prompts, and plugins."
		},
		"commandDelay": {
			"label": "Terminal command delay",
			"description": "Adds a short pause after each command so the VS Code terminal can flush all output (bash/zsh: PROMPT_COMMAND sleep; PowerShell: start-sleep). Use only if you see missing tail output; otherwise leave at 0."
		},
		"powershellCounter": {
			"label": "Enable PowerShell counter workaround",
			"description": "Turn this on when PowerShell output is missing or duplicated; it appends a tiny counter to each command to stabilize output. Keep this off if output already looks correct."
		},
		"zshClearEolMark": {
			"label": "Clear ZSH EOL mark",
			"description": "Turn this on when you see stray % at the end of lines or parsing looks wrong; it omits Zsh’s end‑of‑line mark (%)."
		},
		"zshOhMy": {
			"label": "Enable Oh My Zsh integration",
			"description": "Turn this on when your Oh My Zsh theme/plugins expect shell integration; it sets ITERM_SHELL_INTEGRATION_INSTALLED=Yes. Turn this off to avoid setting that variable. "
		},
		"zshP10k": {
			"label": "Enable Powerlevel10k integration",
			"description": "Turn this on when using Powerlevel10k shell integration."
		},
		"zdotdir": {
			"label": "Enable ZDOTDIR handling",
			"description": "Turn this on when zsh shell integration fails or conflicts with your dotfiles."
		},
		"inheritEnv": {
			"label": "Inherit environment variables",
			"description": "Turn this on to inherit environment variables from the parent VS Code process."
		}
	},
	"advancedSettings": {
		"title": "Advanced settings"
	},
	"advanced": {
		"diff": {
			"label": "Enable editing through diffs",
			"description": "When enabled, CoStrict will be able to edit files more quickly and will automatically reject truncated full-file writes",
			"strategy": {
				"label": "Diff strategy",
				"options": {
					"standard": "Standard (Single block)",
					"multiBlock": "Experimental: Multi-block diff",
					"unified": "Experimental: Unified diff"
				},
				"descriptions": {
					"standard": "Standard diff strategy applies changes to a single code block at a time.",
					"unified": "Unified diff strategy takes multiple approaches to applying diffs and chooses the best approach.",
					"multiBlock": "Multi-block diff strategy allows updating multiple code blocks in a file in one request."
				}
			}
		},
		"todoList": {
			"label": "Enable todo list tool",
			"description": "When enabled, CoStrict can create and manage todo lists to track task progress. This helps organize complex tasks into manageable steps."
		}
	},
	"experimental": {
		"DIFF_STRATEGY_UNIFIED": {
			"name": "Use experimental unified diff strategy",
			"description": "Enable the experimental unified diff strategy. This strategy might reduce the number of retries caused by model errors but may cause unexpected behavior or incorrect edits. Only enable if you understand the risks and are willing to carefully review all changes."
		},
		"INSERT_BLOCK": {
			"name": "Use experimental insert content tool",
			"description": "Enable the experimental insert content tool, allowing CoStrict to insert content at specific line numbers without needing to create a diff."
		},
		"CONCURRENT_FILE_READS": {
			"name": "Enable concurrent file reads",
			"description": "When enabled, CoStrict can read multiple files in a single request. When disabled, CoStrict must read files one at a time. Disabling this can help when working with less capable models or when you want more control over file access."
		},
		"MULTI_SEARCH_AND_REPLACE": {
			"name": "Use experimental multi block diff tool",
			"description": "When enabled, CoStrict will use multi block diff tool. This will try to update multiple code blocks in the file in one request."
		},
		"MARKETPLACE": {
			"name": "Enable Marketplace",
			"description": "When enabled, you can install MCPs and custom modes from the Marketplace."
		},
		"PREVENT_FOCUS_DISRUPTION": {
			"name": "Background editing",
			"description": "Prevent editor focus disruption when enabled. File edits happen in the background without opening diff views or stealing focus. You can continue working uninterrupted while CoStrict makes changes. Files can be opened without focus to capture diagnostics or kept closed entirely."
		},
		"ASSISTANT_MESSAGE_PARSER": {
			"name": "Use new message parser",
			"description": "Enable the experimental streaming message parser that provides significant performance improvements for long assistant responses by processing messages more efficiently."
		},
		"NEW_TASK_REQUIRE_TODOS": {
			"name": "Require 'todos' list for new tasks",
			"description": "When enabled, the new_task tool will require a todos parameter to be provided. This ensures all new tasks start with a clear list of objectives. When disabled (default), the todos parameter remains optional for backward compatibility."
		},
		"IMAGE_GENERATION": {
			"name": "Enable AI image generation",
			"description": "When enabled, CoStrict can generate images from text prompts using image generation models.",
			"providerLabel": "Provider",
			"providerDescription": "Select which provider to use for image generation.",
			"openRouterApiKeyLabel": "OpenRouter API Key",
			"openRouterApiKeyPlaceholder": "Enter your OpenRouter API key",
			"getApiKeyText": "Get your API key from",
			"modelSelectionLabel": "Image Generation Model",
			"modelSelectionDescription": "Select the model to use for image generation",
			"warningMissingKey": "⚠️ OpenRouter API key is required for OpenRouter image generation. Please configure it above.",
			"successConfigured": "✓ Image generation is configured and ready to use"
		},
		"RUN_SLASH_COMMAND": {
			"name": "Enable model-initiated slash commands",
			"description": "When enabled, CoStrict can run your slash commands to execute workflows."
		},
		"CUSTOM_TOOLS": {
			"name": "Enable custom tools",
			"description": "When enabled, CoStrict can load and use custom TypeScript/JavaScript tools from your project's .roo/tools directory or ~/.roo/tools for global tools. Note: these tools will automatically be auto-approved.",
			"toolsHeader": "Available Custom Tools",
			"noTools": "No custom tools loaded. Add .ts or .js files to your project's .roo/tools directory or ~/.roo/tools for global tools.",
			"refreshButton": "Refresh",
			"refreshing": "Refreshing...",
			"refreshSuccess": "Tools refreshed successfully",
			"refreshError": "Failed to refresh tools",
			"toolParameters": "Parameters"
		}
	},
	"promptCaching": {
		"label": "Disable prompt caching",
		"description": "When checked, CoStrict will not use prompt caching for this model."
	},
	"temperature": {
		"useCustom": "Use custom temperature",
		"description": "Controls randomness in the model's responses.",
		"rangeDescription": "Higher values make output more random, lower values make it more deterministic."
	},
	"modelInfo": {
		"supportsImages": "Supports images",
		"noImages": "Does not support images",
		"supportsPromptCache": "Supports prompt caching",
		"noPromptCache": "Does not support prompt caching",
		"contextWindow": "Context Window:",
		"maxOutput": "Max output",
		"inputPrice": "Input price",
		"outputPrice": "Output price",
		"cacheReadsPrice": "Cache reads price",
		"cacheWritesPrice": "Cache writes price",
		"enableStreaming": "Enable streaming",
		"enableR1Format": "Enable R1 model parameters",
		"enableR1FormatTips": "Must be enabled when using R1 models such as QWQ to prevent 400 errors",
		"useAzure": "Use Azure",
		"azureApiVersion": "Set Azure API version",
		"gemini": {
			"freeRequests": "* Free up to {{count}} requests per minute. After that, billing depends on prompt size.",
			"pricingDetails": "For more info, see pricing details.",
			"billingEstimate": "* Billing is an estimate - exact cost depends on prompt size."
		}
	},
	"modelPicker": {
		"automaticFetch": "The extension automatically fetches the latest list of models available on <serviceLink>{{serviceName}}</serviceLink>. If you're unsure which model to choose, CoStrict works best with <defaultModelLink>{{defaultModelId}}</defaultModelLink>. You can also try searching \"free\" for no-cost options currently available.",
		"label": "Model",
		"searchPlaceholder": "Search",
		"noMatchFound": "No match found",
		"useCustomModel": "Use custom: {{modelId}}",
		"simplifiedExplanation": "You can adjust detailed model settings later."
	},
	"footer": {
		"feedback": "If you have any questions or feedback, feel free to open an issue at <githubLink>github.com/zgsm-ai/costrict</githubLink> or join <redditLink>reddit.com/r/CoStrict</redditLink> or <discordLink>discord.gg/roocode</discordLink>",
		"telemetry": {
			"label": "Allow anonymous error and usage reporting",
			"description": "Help improve CoStrict by sending anonymous usage data and error reports. This telemetry does not collect code, prompts or personal information. See our <privacyLink>privacy policy</privacyLink> for more details."
		},
		"settings": {
			"import": "Import",
			"export": "Export",
			"reset": "Reset",
			"fixCodebase": "Fix codebase",
			"fixHistory": "Fix history index"
		}
	},
	"thinkingBudget": {
		"maxTokens": "Max Tokens",
		"maxThinkingTokens": "Max Thinking Tokens"
	},
	"validation": {
		"apiKey": "You must provide a valid API key.",
		"awsRegion": "You must choose a region to use with Amazon Bedrock.",
		"googleCloud": "You must provide a valid Google Cloud Project ID and Region.",
		"modelId": "You must provide a valid model ID.",
		"modelSelector": "You must provide a valid model selector.",
		"openAi": "You must provide a valid base URL, API key, and model ID.",
		"arn": {
			"invalidFormat": "Invalid ARN format. Please check the format requirements.",
			"regionMismatch": "Warning: The region in your ARN ({{arnRegion}}) does not match your selected region ({{region}}). This may cause access issues. The provider will use the region from the ARN."
		},
		"modelAvailability": "The model ID ({{modelId}}) you provided is not available. Please choose a different model.",
		"modelDeprecated": "This model is no longer available. Please select a different model.",
		"providerNotAllowed": "Provider '{{provider}}' is not allowed by your organization",
		"modelNotAllowed": "Model '{{model}}' is not allowed for provider '{{provider}}' by your organization",
		"profileInvalid": "This profile contains a provider or model that is not allowed by your organization",
		"qwenCodeOauthPath": "You must provide a valid OAuth credentials path."
	},
	"placeholders": {
		"apiKey": "Enter API Key...",
		"profileName": "Enter profile name",
		"accessKey": "Enter Access Key...",
		"secretKey": "Enter Secret Key...",
		"sessionToken": "Enter Session Token...",
		"credentialsJson": "Enter Credentials JSON...",
		"keyFilePath": "Enter Key File Path...",
		"projectId": "Enter Project ID...",
		"customArn": "Enter ARN (e.g. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
		"baseUrl": "Enter base URL...",
		"modelId": {
			"lmStudio": "e.g. meta-llama-3.1-8b-instruct",
			"lmStudioDraft": "e.g. lmstudio-community/llama-3.2-1b-instruct",
			"ollama": "e.g. llama3.1"
		},
		"numbers": {
			"maxTokens": "e.g. 4096",
			"contextWindow": "e.g. 128000",
			"inputPrice": "e.g. 0.0001",
			"outputPrice": "e.g. 0.0002",
			"cacheWritePrice": "e.g. 0.00005"
		}
	},
	"defaults": {
		"ollamaUrl": "Default: http://localhost:11434",
		"lmStudioUrl": "Default: http://localhost:1234",
		"geminiUrl": "Default: https://generativelanguage.googleapis.com"
	},
	"labels": {
		"customArn": "Custom ARN",
		"useCustomArn": "Use custom ARN..."
	},
	"includeMaxOutputTokens": "Include max output tokens",
	"includeMaxOutputTokensDescription": "Send max output tokens parameter in API requests. Some providers may not support this.",
	"limitMaxTokensDescription": "Limit the maximum number of tokens in the response",
	"maxOutputTokensLabel": "Max output tokens",
	"maxTokensGenerateDescription": "Maximum tokens to generate in response",
	"serviceTier": {
		"label": "Service tier",
		"tooltip": "For faster processing of API requests, try the priority processing service tier. For lower prices with higher latency, try the flex processing tier.",
		"standard": "Standard",
		"flex": "Flex",
		"priority": "Priority",
		"pricingTableTitle": "Pricing by service tier (price per 1M tokens)",
		"columns": {
			"tier": "Tier",
			"input": "Input",
			"output": "Output",
			"cacheReads": "Cache reads"
		}
	}
}
