export const dict = {
  "command.category.suggested": "Suggested",
  "command.category.view": "View",
  "command.category.project": "Project",
  "command.category.provider": "Provider",
  "command.category.server": "Server",
  "command.category.session": "Session",
  "command.category.theme": "Theme",
  "command.category.language": "Language",
  "command.category.file": "File",
  "command.category.context": "Context",
  "command.category.terminal": "Terminal",
  "command.category.model": "Model",
  "command.category.mcp": "MCP",
  "command.category.agent": "Agent",
  "command.category.permissions": "Permissions",
  "command.category.workspace": "Workspace",
  "command.category.settings": "Settings",

  "theme.scheme.system": "System",
  "theme.scheme.light": "Light",
  "theme.scheme.dark": "Dark",

  "command.sidebar.toggle": "Toggle sidebar",
  "command.project.open": "Open project",
  "command.provider.connect": "Connect provider",
  "command.server.switch": "Switch server",
  "command.settings.open": "Open settings",
  "command.session.previous": "Previous session",
  "command.session.next": "Next session",
  "command.session.previous.unseen": "Previous unread session",
  "command.session.next.unseen": "Next unread session",
  "command.session.archive": "Archive session",

  "command.palette": "Command palette",

  "command.theme.cycle": "Cycle theme",
  "command.theme.set": "Use theme: {{theme}}",
  "command.theme.scheme.cycle": "Cycle color scheme",
  "command.theme.scheme.set": "Use color scheme: {{scheme}}",

  "command.language.cycle": "Cycle language",
  "command.language.set": "Use language: {{language}}",

  "command.session.new": "New session",
  "command.session.new.task": "New task",
  "command.session.show.changes": "Show Changes",
  "command.file.open": "Open file",
  "command.tab.close": "Close tab",
  "command.context.addSelection": "Add selection to context",
  "command.context.addSelection.description": "Add selected lines from the current file",
  "command.terminal.toggle": "Toggle terminal",
  "command.fileTree.toggle": "Toggle file tree",
  "command.review.toggle": "Toggle review",
  "command.terminal.new": "New terminal",
  "command.terminal.new.description": "Create a new terminal tab",
  "command.steps.toggle": "Toggle steps",
  "command.steps.toggle.description": "Show or hide steps for the current message",
  "command.message.previous": "Previous message",
  "command.message.previous.description": "Go to the previous user message",
  "command.message.next": "Next message",
  "command.message.next.description": "Go to the next user message",
  "command.model.choose": "Choose model",
  "command.model.choose.description": "Select a different model",
  "command.mcp.toggle": "Toggle MCPs",
  "command.mcp.toggle.description": "Toggle MCPs",
  "command.agent.cycle": "Cycle agent",
  "command.agent.cycle.description": "Switch to the next agent",
  "command.agent.cycle.reverse": "Cycle agent backwards",
  "command.agent.cycle.reverse.description": "Switch to the previous agent",
  "command.model.variant.cycle": "Cycle thinking effort",
  "command.model.variant.cycle.description": "Switch to the next effort level",
  "command.permissions.autoaccept.enable": "Auto-accept edits",
  "command.permissions.autoaccept.disable": "Stop auto-accepting edits",
  "command.workspace.toggle": "Toggle workspaces",
  "command.workspace.toggle.description": "Enable or disable multiple workspaces in the sidebar",
  "command.session.undo": "Undo",
  "command.session.undo.description": "Undo the last message",
  "command.session.redo": "Redo",
  "command.session.redo.description": "Redo the last undone message",
  "revert.banner.count_one": "{{count}} message reverted",
  "revert.banner.count_other": "{{count}} messages reverted",
  "revert.banner.redo": "Redo",
  "revert.banner.redo.all": "Redo All",
  "revert.banner.hint": "Send a new message to make this permanent",
  "revert.disabled.agentBusy": "Wait for agent to finish",
  "command.session.compact": "Compact session",
  "command.session.compact.description": "Summarize the session to reduce context size",
  "command.session.fork": "Fork from message",
  "command.session.fork.description": "Create a new session from a previous message",
  "command.session.share": "Share session",
  "command.session.share.description": "Share this session and copy the URL to clipboard",
  "command.session.unshare": "Unshare session",
  "command.session.unshare.description": "Stop sharing this session",
  "command.session.export": "Export session transcript",

  "palette.search.placeholder": "Search files, commands, and sessions",
  "palette.empty": "No results found",
  "palette.group.commands": "Commands",
  "palette.group.files": "Files",

  "dialog.provider.search.placeholder": "Search providers",
  "dialog.provider.empty": "No providers found",
  "dialog.provider.group.other": "Other",
  "dialog.provider.tag.recommended": "Recommended",

  "dialog.model.select.title": "Select model",
  "dialog.model.search.placeholder": "Search models",
  "dialog.model.empty": "No model results",
  "dialog.model.manage": "Manage models",
  "dialog.model.manage.description": "Customize which models appear in the model selector.",
  "dialog.model.select": "Select",
  "dialog.model.expand": "Expand",
  "dialog.model.collapse": "Collapse",

  "dialog.model.unpaid.freeModels.title": "Free models provided by Kilo",
  "dialog.model.unpaid.addMore.title": "Add more models from popular providers",

  "dialog.provider.viewAll": "Show more providers",

  "provider.connect.title": "Connect {{provider}}",
  "provider.connect.title.anthropicProMax": "Login with Claude Pro/Max",
  "provider.connect.selectMethod": "Select login method for {{provider}}.",
  "provider.connect.method.apiKey": "API key",
  "provider.connect.status.inProgress": "Authorization in progress...",
  "provider.connect.status.waiting": "Waiting for authorization...",
  "provider.connect.status.failed": "Authorization failed: {{error}}",
  "provider.connect.apiKey.description":
    "Enter your {{provider}} API key to connect your account and use {{provider}} models in Kilo.",
  "provider.connect.apiKey.description.local":
    "Connect to your local {{provider}} server. Leave the API key empty if the server does not require one (default for localhost).",
  "provider.connect.atomicChat.description":
    "Connect to Atomic Chat on your machine (default http://127.0.0.1:1337). No API key is required for the local server — start Atomic Chat, load a model, then connect.",
  "provider.connect.apiKey.label": "{{provider}} API key",
  "provider.connect.apiKey.label.optional": "{{provider}} API key (optional)",
  "provider.connect.apiKey.placeholder": "API key",
  "provider.connect.apiKey.placeholder.optional": "Leave empty for local server",
  "provider.connect.apiKey.required": "API key is required",
  "provider.connect.prompt.required": "{{field}} is required",
  "provider.connect.azure.endpointType.label": "Select Azure endpoint configuration",
  "provider.connect.azure.endpointType.resourceName.label": "Resource name",
  "provider.connect.azure.endpointType.resourceName.hint": "Build the endpoint from your Azure resource name",
  "provider.connect.azure.endpointType.baseURL.label": "Full endpoint URL",
  "provider.connect.azure.endpointType.baseURL.hint": "Use a custom Azure OpenAI endpoint",
  "provider.connect.azure.resourceName.label": "Azure resource name",
  "provider.connect.azure.resourceName.placeholder": "e.g. my-models",
  "provider.connect.azure.baseURL.label": "Azure OpenAI endpoint URL",
  "provider.connect.azure.baseURL.placeholder": "e.g. https://my-models.openai.azure.com/openai",
  "provider.connect.opencodeZen.line1":
    "OpenCode Zen gives you access to a curated set of reliable optimized models for coding agents.",
  "provider.connect.opencodeZen.line2":
    "With a single API key you'll get access to models such as Claude, GPT, Gemini, GLM and more.",
  "provider.connect.opencodeZen.visit.prefix": "Visit ",
  "provider.connect.opencodeZen.visit.link": "https://opencode.ai/zen",
  "provider.connect.opencodeZen.visit.suffix": " to collect your API key.",
  "provider.connect.oauth.code.visit.prefix": "Visit ",
  "provider.connect.oauth.code.visit.link": "this link",
  "provider.connect.oauth.code.visit.suffix":
    " to collect your authorization code to connect your account and use {{provider}} models in Kilo.",
  "provider.connect.oauth.code.label": "{{method}} authorization code",
  "provider.connect.oauth.code.placeholder": "Authorization code",
  "provider.connect.oauth.code.required": "Authorization code is required",
  "provider.connect.oauth.code.invalid": "Invalid authorization code",
  "provider.connect.oauth.auto.visit.prefix": "Visit ",
  "provider.connect.oauth.auto.visit.link": "this link",
  "provider.connect.oauth.auto.visit.suffix":
    " and enter the code below to connect your account and use {{provider}} models in Kilo.",
  "provider.connect.oauth.auto.confirmationCode": "Confirmation code",
  "provider.connect.toast.connected.title": "{{provider}} connected",
  "provider.connect.toast.connected.description": "{{provider}} models are now available to use.",

  "provider.disconnect.toast.disconnected.title": "{{provider}} disconnected",
  "provider.disconnect.toast.disconnected.description": "{{provider}} models are no longer available.",

  "model.tag.free": "Free",
  "model.tag.dataCollected": "Data may be used for training",
  "model.tag.latest": "Latest",
  "model.group.recommended": "Recommended",
  "model.group.favorites": "Favorites",
  "model.group.collapse": "Collapse {{group}}",
  "model.group.expand": "Expand {{group}}",
  "model.favorite.add": "Add to favorites",
  "model.favorite.remove": "Remove from favorites",
  "model.provider.anthropic": "Anthropic",
  "model.provider.openai": "OpenAI",
  "model.provider.google": "Google",
  "model.provider.xai": "xAI",
  "model.provider.meta": "Meta",
  "model.input.text": "text",
  "model.input.image": "image",
  "model.input.audio": "audio",
  "model.input.video": "video",
  "model.input.pdf": "pdf",
  "model.tooltip.allows": "Allows: {{inputs}}",
  "model.tooltip.reasoning.allowed": "Allows reasoning",
  "model.tooltip.reasoning.none": "No reasoning",
  "model.tooltip.context": "Context limit {{limit}}",
  "model.preview.label.released": "Released",
  "model.preview.label.input": "Input",
  "model.preview.label.output": "Output",
  "model.preview.label.cached": "Cached",
  "model.preview.label.average": "Est. Average Cost",
  "model.preview.label.context": "Context",
  "model.preview.group.terminalBench": "Terminal Bench 2.0",
  "model.preview.label.completion": "Completion",
  "model.preview.label.costAttempt": "Cost / attempt",
  "model.preview.value.notSupported": "Not supported",
  "model.preview.tooltip.average":
    "The estimated average cost is based on a typical ratio of input, output, and cache read tokens.",
  "model.preview.badge.reasoning": "Reasoning",
  "model.preview.modality.text": "Text",
  "model.preview.modality.image": "Images",
  "model.preview.modality.audio": "Audio",
  "model.preview.modality.video": "Video",
  "model.preview.modality.pdf": "PDF",

  "common.search.placeholder": "Search",
  "common.goBack": "Back",
  "common.goForward": "Forward",
  "common.loading": "Loading",
  "common.loading.ellipsis": "...",
  "common.cancel": "Cancel",
  "common.connect": "Connect",
  "common.disconnect": "Disconnect",
  "common.submit": "Submit",
  "common.save": "Save",
  "common.saving": "Saving...",
  "common.default": "Default",
  "common.attachment": "attachment",

  "prompt.placeholder.shell": "Enter shell command...",
  "prompt.placeholder.normal": 'Ask anything... "{{example}}"',
  "prompt.placeholder.summarizeComments": "Summarize comments…",
  "prompt.placeholder.summarizeComment": "Summarize comment…",
  "prompt.mode.shell": "Shell",
  "prompt.mode.shell.exit": "esc to exit",

  "prompt.example.1": "Fix a TODO in the codebase",
  "prompt.example.2": "What is the tech stack of this project?",
  "prompt.example.3": "Fix broken tests",
  "prompt.example.4": "Explain how authentication works",
  "prompt.example.5": "Find and fix security vulnerabilities",
  "prompt.example.6": "Add unit tests for the user service",
  "prompt.example.7": "Refactor this function to be more readable",
  "prompt.example.8": "What does this error mean?",
  "prompt.example.9": "Help me debug this issue",
  "prompt.example.10": "Generate API documentation",
  "prompt.example.11": "Optimize database queries",
  "prompt.example.12": "Add input validation",
  "prompt.example.13": "Create a new component for...",
  "prompt.example.14": "How do I deploy this project?",
  "prompt.example.15": "Review my code for best practices",
  "prompt.example.16": "Add error handling to this function",
  "prompt.example.17": "Explain this regex pattern",
  "prompt.example.18": "Convert this to TypeScript",
  "prompt.example.19": "Add logging throughout the codebase",
  "prompt.example.20": "What dependencies are outdated?",
  "prompt.example.21": "Help me write a migration script",
  "prompt.example.22": "Implement caching for this endpoint",
  "prompt.example.23": "Add pagination to this list",
  "prompt.example.24": "Create a CLI command for...",
  "prompt.example.25": "How do environment variables work here?",

  "prompt.popover.emptyResults": "No matching results",
  "prompt.popover.emptyCommands": "No matching commands",
  "prompt.dropzone.label": "Drop images or PDFs here",
  "prompt.slash.badge.custom": "custom",
  "prompt.slash.badge.skill": "skill",
  "prompt.slash.badge.mcp": "mcp",
  "prompt.context.active": "active",
  "prompt.context.includeActiveFile": "Include active file",
  "prompt.context.removeActiveFile": "Remove active file from context",
  "prompt.context.removeFile": "Remove file from context",
  "prompt.action.attachFile": "Attach file",
  "prompt.attachment.remove": "Remove attachment",
  "prompt.action.send": "Send",
  "prompt.action.send.blocked": "Answer or dismiss the pending question first",
  "prompt.action.send.recording": "Transcribe and send",
  "prompt.action.stop": "Stop",
  "prompt.action.enhance": "Enhance prompt",
  "prompt.action.indexing": "Indexing settings",
  "prompt.action.autoApprove.enable": "Enable auto-approve",
  "prompt.action.autoApprove.disable": "Disable auto-approve",
  "prompt.action.autoApprove.enabled": "Auto-approve is enabled. Permission prompts will be approved automatically.",
  "prompt.action.autoApprove.disabled": "Auto-approve is disabled. Click to approve permission prompts automatically.",
  "prompt.action.resetModel": "Reset model to default",
  "prompt.action.enhanceDescription":
    "The 'Enhance Prompt' button helps improve your prompt by providing additional context, clarification, or rephrasing. Try typing a prompt in here and clicking the button again to see how it works.",
  "speechToText.tooltip.start": "Start voice input with Kilo Gateway",
  "speechToText.tooltip.stop": "Stop capturing",
  "speechToText.tooltip.transcribing": "Transcribing... Click to cancel.",
  "speechToText.tooltip.error": "Speech input failed. Click to clear.",
  "speechToText.error.title": "Speech input failed",
  "speechToText.error.loginRequired": "Sign in to Kilo to use speech input.",
  "speechToText.error.permission": "Microphone permission was denied.",
  "speechToText.error.microphone": "Could not start the microphone.",
  "speechToText.error.recording": "Recording failed.",
  "speechToText.error.emptyRecording": "No audio was recorded.",
  "speechToText.error.emptyTranscript": "No speech was detected.",
  "speechToText.error.encoding": "Could not encode the recording.",
  "speechToText.toast.transcribed": "Transcription inserted",

  "prompt.toast.pasteUnsupported.title": "Unsupported paste",
  "prompt.toast.pasteUnsupported.description": "Only images or PDFs can be pasted here.",
  "prompt.toast.modelAgentRequired.title": "Select an agent and model",
  "prompt.toast.modelAgentRequired.description": "Choose an agent and model before sending a prompt.",
  "prompt.toast.worktreeCreateFailed.title": "Failed to create worktree",
  "prompt.toast.sessionCreateFailed.title": "Failed to create session",
  "prompt.toast.shellSendFailed.title": "Failed to send shell command",
  "prompt.toast.commandSendFailed.title": "Failed to send command",
  "prompt.toast.promptSendFailed.title": "Failed to send prompt",

  "dialog.mcp.title": "MCPs",
  "dialog.mcp.description": "{{enabled}} of {{total}} enabled",
  "dialog.mcp.empty": "No MCPs configured",

  "dialog.lsp.empty": "LSPs auto-detected from file types",
  "dialog.plugins.empty": "Plugins configured in opencode.json",

  "mcp.status.connected": "connected",
  "mcp.status.failed": "failed",
  "mcp.status.needs_auth": "needs auth",
  "mcp.status.needs_registration": "needs client registration",
  "mcp.status.disabled": "disabled",

  "dialog.fork.empty": "No messages to fork from",

  "dialog.directory.search.placeholder": "Search folders",
  "dialog.directory.empty": "No folders found",

  "dialog.server.title": "Servers",
  "dialog.server.description": "Switch which Kilo server this app connects to.",
  "dialog.server.search.placeholder": "Search servers",
  "dialog.server.empty": "No servers yet",
  "dialog.server.add.title": "Add a server",
  "dialog.server.add.url": "Server URL",
  "dialog.server.add.placeholder": "http://localhost:4096",
  "dialog.server.add.error": "Could not connect to server",
  "dialog.server.add.checking": "Checking...",
  "dialog.server.add.button": "Add server",
  "dialog.server.default.title": "Default server",
  "dialog.server.default.description":
    "Connect to this server on app launch instead of starting a local server. Requires restart.",
  "dialog.server.default.none": "No server selected",
  "dialog.server.default.set": "Set current server as default",
  "dialog.server.default.clear": "Clear",
  "dialog.server.action.remove": "Remove server",

  "dialog.server.menu.edit": "Edit",
  "dialog.server.menu.default": "Set as default",
  "dialog.server.menu.defaultRemove": "Remove default",
  "dialog.server.menu.delete": "Delete",
  "dialog.server.current": "Current Server",
  "dialog.server.status.default": "Default",

  "dialog.project.edit.title": "Edit project",
  "dialog.project.edit.name": "Name",
  "dialog.project.edit.icon": "Icon",
  "dialog.project.edit.icon.alt": "Project icon",
  "dialog.project.edit.icon.hint": "Click or drag an image",
  "dialog.project.edit.icon.recommended": "Recommended: 128x128px",
  "dialog.project.edit.color": "Color",
  "dialog.project.edit.color.select": "Select {{color}} color",
  "dialog.project.edit.worktree.startup": "Workspace startup script",
  "dialog.project.edit.worktree.startup.description": "Runs after creating a new workspace (worktree).",
  "dialog.project.edit.worktree.startup.placeholder": "e.g. bun install",

  "context.breakdown.title": "Context Breakdown",
  "context.breakdown.note": 'Approximate breakdown of input tokens. "Other" includes tool definitions and overhead.',
  "context.breakdown.system": "System",
  "context.breakdown.user": "User",
  "context.breakdown.assistant": "Assistant",
  "context.breakdown.tool": "Tool Calls",
  "context.breakdown.other": "Other",

  "context.systemPrompt.title": "System Prompt",
  "context.rawMessages.title": "Raw messages",

  "context.stats.session": "Session",
  "context.stats.messages": "Messages",
  "context.stats.provider": "Provider",
  "context.stats.model": "Model",
  "context.stats.limit": "Context Limit",
  "context.stats.totalTokens": "Total Tokens",
  "context.stats.usage": "Usage",
  "context.stats.inputTokens": "Input Tokens",
  "context.stats.outputTokens": "Output Tokens",
  "context.stats.reasoningTokens": "Reasoning Tokens",
  "context.stats.cacheTokens": "Cache Tokens (read/write)",
  "context.stats.userMessages": "User Messages",
  "context.stats.assistantMessages": "Assistant Messages",
  "context.stats.totalCost": "Total Cost",
  "context.stats.sessionCreated": "Session Created",
  "context.stats.lastActivity": "Last Activity",

  "context.usage.tokens": "Tokens",
  "context.usage.usage": "Usage",
  "context.usage.cost": "Cost",
  "context.usage.clickToView": "Click to view context",
  "context.usage.view": "View context usage",

  "language.en": "English",
  "language.zh": "简体中文",
  "language.zht": "繁體中文",
  "language.ko": "한국어",
  "language.de": "Deutsch",
  "language.es": "Español",
  "language.fr": "Français",
  "language.da": "Dansk",
  "language.ja": "日本語",
  "language.pl": "Polski",
  "language.ru": "Русский",
  "language.ar": "العربية",
  "language.no": "Norsk",
  "language.br": "Português (Brasil)",
  "language.bs": "Bosanski",
  "language.th": "ไทย",
  "language.tr": "Türkçe",

  "toast.language.title": "Language",
  "toast.language.description": "Switched to {{language}}",

  "toast.theme.title": "Theme switched",
  "toast.scheme.title": "Color scheme",

  "toast.workspace.enabled.title": "Workspaces enabled",
  "toast.workspace.enabled.description": "Multiple worktrees are now shown in the sidebar",
  "toast.workspace.disabled.title": "Workspaces disabled",
  "toast.workspace.disabled.description": "Only the main worktree is shown in the sidebar",

  "toast.permissions.autoaccept.on.title": "Auto-accepting edits",
  "toast.permissions.autoaccept.on.description": "Edit and write permissions will be automatically approved",
  "toast.permissions.autoaccept.off.title": "Stopped auto-accepting edits",
  "toast.permissions.autoaccept.off.description": "Edit and write permissions will require approval",

  "toast.model.none.title": "No model selected",
  "toast.model.none.description": "Connect a provider to summarize this session",

  "toast.file.loadFailed.title": "Failed to load file",
  "toast.file.listFailed.title": "Failed to list files",

  "toast.context.noLineSelection.title": "No line selection",
  "toast.context.noLineSelection.description": "Select a line range in a file tab first.",

  "toast.session.share.copyFailed.title": "Failed to copy URL to clipboard",
  "toast.session.share.success.title": "Session shared",
  "toast.session.share.success.description": "Share URL copied to clipboard!",
  "toast.session.share.failed.title": "Failed to share session",
  "toast.session.share.failed.description": "An error occurred while sharing the session",

  "toast.session.unshare.success.title": "Session unshared",
  "toast.session.unshare.success.description": "Session unshared successfully!",
  "toast.session.unshare.failed.title": "Failed to unshare session",
  "toast.session.unshare.failed.description": "An error occurred while unsharing the session",

  "toast.session.rename.invalid.title": "Invalid session title",
  "toast.session.listFailed.title": "Failed to load sessions for {{project}}",

  "toast.update.title": "Update available",
  "toast.update.description": "A new version of Kilo ({{version}}) is now available to install.",
  "toast.update.action.installRestart": "Install and restart",
  "toast.update.action.notYet": "Not yet",

  "error.page.title": "Something went wrong",
  "error.page.description": "An error occurred while loading the application.",
  "error.page.details.label": "Error Details",
  "error.page.action.restart": "Restart",
  "error.page.action.checking": "Checking...",
  "error.page.action.checkUpdates": "Check for updates",
  "error.page.action.updateTo": "Update to {{version}}",
  "error.page.report.prefix": "Please report this error to the Kilo team",
  "error.page.report.discord": "on Discord",
  "error.page.version": "Version: {{version}}",

  "error.dev.rootNotFound":
    "Root element not found. Did you forget to add it to your index.html? Or maybe the id attribute got misspelled?",

  "error.globalSync.connectFailed": "Could not connect to server. Is there a server running at `{{url}}`?",

  "error.startup.title": "Server connection failed",

  "error.paidModel.title": "You need to sign in to use this model",
  "error.paidModel.description":
    "Sign in or create an account to access over 500 models, use credits at cost, or bring your own key.",
  "error.paidModel.action": "Sign In",
  "error.promotionLimit.title": "You need to sign up to keep going",
  "error.promotionLimit.description":
    "Sign up for free to continue and explore 500 other models. Takes 2 minutes, no credit card required. Or come back later.",
  "error.promotionLimit.action": "Sign Up",
  "error.providerAuth.title": "{{provider}} signed you out",
  "error.providerAuth.description": "Reconnect {{provider}}, then send your message again.",
  "error.providerAuth.chatgpt.title": "OpenAI signed you out",
  "error.providerAuth.chatgpt.description":
    "Sign in with ChatGPT again, then send your message again to keep using Codex models.",

  "error.chain.unknown": "Unknown error",
  "error.chain.causedBy": "Caused by:",
  "error.chain.apiError": "API error",
  "error.chain.status": "Status: {{status}}",
  "error.chain.retryable": "Retryable: {{retryable}}",
  "error.chain.responseBody": "Response body:\n{{body}}",
  "error.chain.didYouMean": "Did you mean: {{suggestions}}",
  "error.chain.modelNotFound": "Model not found: {{provider}}/{{model}}",
  "error.chain.checkConfig": "Check your config (opencode.json) provider/model names",
  "error.chain.mcpFailed": 'MCP server "{{name}}" failed. Note, Kilo does not support MCP authentication yet.',
  "error.chain.providerAuthFailed": "Provider authentication failed ({{provider}}): {{message}}",
  "error.chain.providerInitFailed":
    'Failed to initialize provider "{{provider}}". Check credentials and configuration.',
  "error.chain.configJsonInvalid": "Config file at {{path}} is not valid JSON(C)",
  "error.chain.configJsonInvalidWithMessage": "Config file at {{path}} is not valid JSON(C): {{message}}",
  "error.chain.configDirectoryTypo":
    'Directory "{{dir}}" in {{path}} is not valid. Rename the directory to "{{suggestion}}" or remove it. This is a common typo.',
  "error.chain.configFrontmatterError": "Failed to parse frontmatter in {{path}}:\n{{message}}",
  "error.chain.configInvalid": "Config file at {{path}} is invalid",
  "error.chain.configInvalidWithMessage": "Config file at {{path}} is invalid: {{message}}",

  "notification.permission.title": "Permission required",
  "notification.permission.titleSubagent": "Permission required (subagent)",
  "notification.permission.description": "{{sessionTitle}} in {{projectName}} needs permission",
  "ui.permission.manageAutoApprove": "Manage Auto-Approve Rules",
  "ui.permission.doomLoop.prompt": "Potential loop detected for the {{tool}} tool. Continue running?",
  "ui.permission.doomLoop.rule": "Continue {{tool}} calls",
  "ui.permission.rule.addToAllowed": "Add to allowed list",
  "ui.permission.rule.removeFromAllowed": "Remove from allowed list",
  "ui.permission.rule.addToDenied": "Add to denied list",
  "ui.permission.rule.removeFromDenied": "Remove from denied list",
  "ui.permission.toolLabel.read": "Read",
  "ui.permission.toolLabel.edit": "Edit",
  "ui.permission.toolLabel.write": "Write",
  "ui.permission.toolLabel.patch": "Patch",
  "ui.permission.toolLabel.globSearch": "Glob Search",
  "ui.permission.toolLabel.grepSearch": "Grep Search",
  "ui.permission.toolLabel.webSearch": "Web Search",
  "ui.permission.toolLabel.list": "List",
  "ui.permission.toolLabel.externalDirectory": "Read External Directory",
  "ui.permission.toolLabel.webFetch": "Web Fetch",
  "ui.permission.toolLabel.task": "Task",
  "ui.permission.toolLabel.skill": "Skill",
  "ui.permission.toolLabel.lsp": "LSP",
  "ui.permission.toolLabel.bash": "Bash",
  "ui.permission.toolLabel.todoRead": "Todo Read",
  "ui.permission.toolLabel.todoWrite": "Todo Write",
  "ui.permission.toolLabel.codeSearch": "Code Search",
  "ui.permission.toggleWrap": "Toggle word wrap",
  "ui.permission.copyCommand": "Copy",
  "notification.question.title": "Question",
  "notification.question.description": "{{sessionTitle}} in {{projectName}} has a question",
  "notification.action.goToSession": "Go to session",

  "notification.session.responseReady.title": "Response ready",
  "notification.session.error.title": "Session error",
  "notification.session.error.fallbackDescription": "An error occurred",

  "home.recentProjects": "Recent projects",
  "home.empty.title": "No recent projects",
  "home.empty.description": "Get started by opening a local project",

  "session.tab.session": "Session",
  "session.tab.review": "Review",
  "session.tab.context": "Context",
  "session.panel.reviewAndFiles": "Review and files",
  "session.review.filesChanged": "{{count}} Files Changed",
  "session.review.change.one": "Change",
  "session.review.change.other": "Changes",
  "session.review.loadingChanges": "Loading changes...",
  "session.review.empty": "No changes in this session yet",
  "session.review.noChanges": "No changes",

  "session.files.selectToOpen": "Select a file to open",
  "session.files.all": "All files",
  "session.files.binaryContent": "Binary file (content cannot be displayed)",

  "session.messages.renderEarlier": "Render earlier messages",
  "session.messages.loadingEarlier": "Loading earlier messages...",
  "session.messages.loadEarlier": "Load earlier messages",
  "session.messages.loading": "Loading messages...",
  "session.messages.jumpToLatest": "Jump to latest",

  "session.context.addToContext": "Add {{selection}} to context",

  "session.new.worktree.main": "Main branch",
  "session.new.worktree.mainWithBranch": "Main branch ({{branch}})",
  "session.new.worktree.create": "Create new worktree",
  "session.new.lastModified": "Last modified",

  "session.header.search.placeholder": "Search {{project}}",
  "session.header.searchFiles": "Search files",
  "session.header.openIn": "Open in",
  "session.header.open.action": "Open {{app}}",
  "session.header.open.ariaLabel": "Open in {{app}}",
  "session.header.open.menu": "Open options",
  "session.header.open.copyPath": "Copy Path",

  "status.popover.trigger": "Status",
  "status.popover.ariaLabel": "Server configurations",
  "status.popover.tab.servers": "Servers",
  "status.popover.tab.mcp": "MCP",
  "status.popover.tab.lsp": "LSP",
  "status.popover.tab.plugins": "Plugins",
  "status.popover.action.manageServers": "Manage servers",

  "session.share.popover.title": "Publish on web",
  "session.share.popover.description.shared":
    "This session is public on the web. It is accessible to anyone with the link.",
  "session.share.popover.description.unshared":
    "Share session publicly on the web. It will be accessible to anyone with the link.",
  "session.share.action.share": "Share",
  "session.share.action.publish": "Publish",
  "session.share.action.publishing": "Publishing...",
  "session.share.action.unpublish": "Unpublish",
  "session.share.action.unpublishing": "Unpublishing...",
  "session.share.action.view": "View",
  "session.share.copy.copied": "Copied",
  "session.share.copy.copyLink": "Copy link",

  "lsp.tooltip.none": "No LSP servers",
  "lsp.label.connected": "{{count}} LSP",

  "prompt.loading": "Loading prompt...",
  "terminal.loading": "Loading terminal...",
  "terminal.title": "Terminal",
  "terminal.title.numbered": "Terminal {{number}}",
  "terminal.close": "Close terminal",
  "terminal.connectionLost.title": "Connection Lost",
  "terminal.connectionLost.description":
    "The terminal connection was interrupted. This can happen when the server restarts.",

  "common.closeTab": "Close tab",
  "common.signIn": "Sign in",
  "common.signOut": "Sign out",
  "common.dismiss": "Dismiss",
  "common.requestFailed": "Request failed",
  "common.moreOptions": "More options",
  "common.learnMore": "Learn more",
  "common.rename": "Rename",
  "common.reset": "Reset",
  "common.archive": "Archive",
  "common.delete": "Delete",
  "common.close": "Close",
  "common.edit": "Edit",
  "common.loadMore": "Load more",
  "common.key.esc": "ESC",

  "sidebar.menu.toggle": "Toggle menu",
  "sidebar.nav.projectsAndSessions": "Projects and sessions",
  "sidebar.settings": "Settings",
  "sidebar.help": "Help",
  "sidebar.workspaces.enable": "Enable workspaces",
  "sidebar.workspaces.disable": "Disable workspaces",
  "sidebar.gettingStarted.title": "Getting started",
  "sidebar.gettingStarted.line1": "Kilo includes free models so you can start immediately.",
  "sidebar.gettingStarted.line2": "Connect any provider to use models, inc. Claude, GPT, Gemini etc.",
  "sidebar.project.recentSessions": "Recent sessions",
  "sidebar.project.viewAllSessions": "View all sessions",

  "app.name.desktop": "Kilo Desktop",

  "settings.section.desktop": "Desktop",
  "settings.section.server": "Server",
  "settings.tab.general": "General",
  "settings.tab.shortcuts": "Shortcuts",

  "settings.general.section.appearance": "Appearance",
  "settings.general.section.notifications": "System notifications",
  "settings.general.section.updates": "Updates",
  "settings.general.section.sounds": "Sound effects",

  "settings.general.row.language.title": "Language",
  "settings.general.row.language.description": "Change the display language for Kilo",
  "settings.general.row.appearance.title": "Appearance",
  "settings.general.row.appearance.description": "Customise how Kilo looks on your device",
  "settings.general.row.theme.title": "Theme",
  "settings.general.row.theme.description": "Customise how Kilo is themed.",
  "settings.general.row.font.title": "Font",
  "settings.general.row.font.description": "Customise the mono font used in code blocks",

  "settings.general.row.releaseNotes.title": "Release notes",
  "settings.general.row.releaseNotes.description": "Show What's New popups after updates",

  "settings.updates.row.startup.title": "Check for updates on startup",
  "settings.updates.row.startup.description": "Automatically check for updates when Kilo launches",
  "settings.updates.row.check.title": "Check for updates",
  "settings.updates.row.check.description": "Manually check for updates and install if available",
  "settings.updates.action.checkNow": "Check now",
  "settings.updates.action.checking": "Checking...",
  "settings.updates.toast.latest.title": "You're up to date",
  "settings.updates.toast.latest.description": "You're running the latest version of Kilo.",
  "font.option.ibmPlexMono": "IBM Plex Mono",
  "font.option.cascadiaCode": "Cascadia Code",
  "font.option.firaCode": "Fira Code",
  "font.option.hack": "Hack",
  "font.option.inconsolata": "Inconsolata",
  "font.option.intelOneMono": "Intel One Mono",
  "font.option.iosevka": "Iosevka",
  "font.option.jetbrainsMono": "JetBrains Mono",
  "font.option.mesloLgs": "Meslo LGS",
  "font.option.robotoMono": "Roboto Mono",
  "font.option.sourceCodePro": "Source Code Pro",
  "font.option.ubuntuMono": "Ubuntu Mono",
  "sound.option.alert01": "Alert 01",
  "sound.option.alert02": "Alert 02",
  "sound.option.alert03": "Alert 03",
  "sound.option.alert04": "Alert 04",
  "sound.option.alert05": "Alert 05",
  "sound.option.alert06": "Alert 06",
  "sound.option.alert07": "Alert 07",
  "sound.option.alert08": "Alert 08",
  "sound.option.alert09": "Alert 09",
  "sound.option.alert10": "Alert 10",
  "sound.option.bipbop01": "Bip-bop 01",
  "sound.option.bipbop02": "Bip-bop 02",
  "sound.option.bipbop03": "Bip-bop 03",
  "sound.option.bipbop04": "Bip-bop 04",
  "sound.option.bipbop05": "Bip-bop 05",
  "sound.option.bipbop06": "Bip-bop 06",
  "sound.option.bipbop07": "Bip-bop 07",
  "sound.option.bipbop08": "Bip-bop 08",
  "sound.option.bipbop09": "Bip-bop 09",
  "sound.option.bipbop10": "Bip-bop 10",
  "sound.option.staplebops01": "Staplebops 01",
  "sound.option.staplebops02": "Staplebops 02",
  "sound.option.staplebops03": "Staplebops 03",
  "sound.option.staplebops04": "Staplebops 04",
  "sound.option.staplebops05": "Staplebops 05",
  "sound.option.staplebops06": "Staplebops 06",
  "sound.option.staplebops07": "Staplebops 07",
  "sound.option.nope01": "Nope 01",
  "sound.option.nope02": "Nope 02",
  "sound.option.nope03": "Nope 03",
  "sound.option.nope04": "Nope 04",
  "sound.option.nope05": "Nope 05",
  "sound.option.nope06": "Nope 06",
  "sound.option.nope07": "Nope 07",
  "sound.option.nope08": "Nope 08",
  "sound.option.nope09": "Nope 09",
  "sound.option.nope10": "Nope 10",
  "sound.option.nope11": "Nope 11",
  "sound.option.nope12": "Nope 12",
  "sound.option.yup01": "Yup 01",
  "sound.option.yup02": "Yup 02",
  "sound.option.yup03": "Yup 03",
  "sound.option.yup04": "Yup 04",
  "sound.option.yup05": "Yup 05",
  "sound.option.yup06": "Yup 06",

  "settings.general.notifications.agent.title": "Agent",
  "settings.general.notifications.agent.description":
    "Show system notification when the agent is complete or needs attention",
  "settings.general.notifications.permissions.title": "Permissions",
  "settings.general.notifications.permissions.description": "Show system notification when a permission is required",
  "settings.general.notifications.errors.title": "Errors",
  "settings.general.notifications.errors.description": "Show system notification when an error occurs",

  "settings.general.sounds.agent.title": "Agent",
  "settings.general.sounds.agent.description": "Play sound when the agent is complete or needs attention",
  "settings.general.sounds.permissions.title": "Permissions",
  "settings.general.sounds.permissions.description": "Play sound when a permission is required",
  "settings.general.sounds.errors.title": "Errors",
  "settings.general.sounds.errors.description": "Play sound when an error occurs",

  "settings.shortcuts.title": "Keyboard shortcuts",
  "settings.shortcuts.reset.button": "Reset to defaults",
  "settings.shortcuts.reset.toast.title": "Shortcuts reset",
  "settings.shortcuts.reset.toast.description": "Keyboard shortcuts have been reset to defaults.",
  "settings.shortcuts.conflict.title": "Shortcut already in use",
  "settings.shortcuts.conflict.description": "{{keybind}} is already assigned to {{titles}}.",
  "settings.shortcuts.unassigned": "Unassigned",
  "settings.shortcuts.pressKeys": "Press keys",
  "settings.shortcuts.search.placeholder": "Search shortcuts",
  "settings.shortcuts.search.empty": "No shortcuts found",

  "settings.shortcuts.group.general": "General",
  "settings.shortcuts.group.session": "Session",
  "settings.shortcuts.group.navigation": "Navigation",
  "settings.shortcuts.group.modelAndAgent": "Model and agent",
  "settings.shortcuts.group.terminal": "Terminal",
  "settings.shortcuts.group.prompt": "Prompt",

  "settings.providers.title": "Providers",
  "settings.providers.description": "Provider settings will be configurable here.",
  "settings.providers.betaNotice":
    "Currently only the Kilo Gateway provider can be configured in the settings interface. Support for configuring other providers is coming soon during the beta period. In the interim you can configure providers using the CLI or config file. We're committed to keeping Kilo open, no lock-in.",
  "settings.providers.section.connected": "Connected providers",
  "settings.providers.connected.empty": "No connected providers",
  "settings.providers.section.popular": "Popular providers",
  "settings.providers.tag.gateway": "Gateway",
  "settings.providers.tag.environment": "Environment",
  "settings.providers.tag.config": "Config",
  "settings.providers.tag.chatgpt": "ChatGPT",
  "settings.providers.tag.custom": "Custom",
  "settings.providers.tag.customProvider": "Custom provider",
  "settings.providers.tag.other": "Other",
  "settings.providers.connected.environmentDescription": "Connected from your environment variables",
  "settings.providers.action.signInChatGPT": "Sign in with ChatGPT",
  "settings.providers.custom.description": "Add an OpenAI-compatible provider by base URL.",

  "provider.custom.title": "Custom provider",
  "provider.custom.description.prefix": "Configure an OpenAI-compatible provider. See the ",
  "provider.custom.description.link": "provider config docs",
  "provider.custom.description.suffix": ".",
  "provider.custom.field.providerID.label": "Provider ID",
  "provider.custom.field.providerID.placeholder": "myprovider",
  "provider.custom.field.providerID.description": "Lowercase letters, numbers, hyphens, or underscores",
  "provider.custom.field.name.label": "Display name",
  "provider.custom.field.name.placeholder": "My AI Provider",
  "provider.custom.field.package.label": "Provider API",
  "provider.custom.field.baseURL.label": "Base URL",
  "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1",
  "provider.custom.field.apiKey.label": "API key",
  "provider.custom.field.apiKey.placeholder": "API key",
  "provider.custom.field.apiKey.description": "Optional. Leave empty if you manage auth via headers.",
  "provider.custom.models.label": "Models",
  "provider.custom.models.id.label": "ID",
  "provider.custom.models.id.placeholder": "model-id",
  "provider.custom.models.name.label": "Name",
  "provider.custom.models.name.placeholder": "Display Name",
  "provider.custom.models.reasoning.label": "Reasoning",
  "provider.custom.models.variants.label": "Variants",
  "provider.custom.models.variants.add": "Add variant",
  "provider.custom.models.variants.remove": "Remove variant",
  "provider.custom.models.variants.name.label": "Name",
  "provider.custom.models.variants.name.placeholder": "e.g. thinking",
  "provider.custom.models.variants.option.unset": "(not set)",
  "provider.custom.models.variants.enableThinking.label": "Enable thinking (e.g. Alibaba)",
  "provider.custom.models.variants.enableThinking.placeholder": "enable_thinking",
  "provider.custom.models.variants.enableThinking.true": "true",
  "provider.custom.models.variants.enableThinking.false": "false",
  "provider.custom.models.variants.thinking.label": "Thinking type (e.g. Z.ai)",
  "provider.custom.models.variants.thinking.placeholder": "thinking",
  "provider.custom.models.variants.thinking.enabled": "enabled",
  "provider.custom.models.variants.thinking.disabled": "disabled",
  "provider.custom.models.variants.thinking.adaptive": "adaptive",
  "provider.custom.models.variants.splitReasoning.label": "Split reasoning (required for e.g. MiniMax)",
  "provider.custom.models.variants.splitReasoning.placeholder": "reasoning_split",
  "provider.custom.models.variants.splitReasoning.true": "true",
  "provider.custom.models.variants.splitReasoning.false": "false",
  "provider.custom.models.variants.chatTemplateArgs.label":
    "Enable thinking via chat template args (e.g. Hugging Face)",
  "provider.custom.models.variants.chatTemplateArgs.placeholder": "chat_template_args",
  "provider.custom.models.variants.chatTemplateArgs.true": "true",
  "provider.custom.models.variants.chatTemplateArgs.false": "false",
  "provider.custom.models.variants.reasoningEffort.label": "Reasoning effort",
  "provider.custom.models.variants.reasoningEffort.placeholder": "reasoningEffort",
  "provider.custom.models.variants.reasoningEffort.none": "none",
  "provider.custom.models.variants.reasoningEffort.minimal": "minimal",
  "provider.custom.models.variants.reasoningEffort.low": "low",
  "provider.custom.models.variants.reasoningEffort.medium": "medium",
  "provider.custom.models.variants.reasoningEffort.high": "high",
  "provider.custom.models.variants.reasoningEffort.xhigh": "xhigh",
  "provider.custom.models.variants.outputEffort.label": "Output effort (e.g. Anthropic)",
  "provider.custom.models.variants.outputEffort.placeholder": "effort",
  "provider.custom.models.variants.outputEffort.low": "low",
  "provider.custom.models.variants.outputEffort.medium": "medium",
  "provider.custom.models.variants.outputEffort.high": "high",
  "provider.custom.models.variants.outputEffort.xhigh": "xhigh",
  "provider.custom.models.variants.outputEffort.max": "max",
  "provider.custom.models.remove": "Remove model",
  "provider.custom.models.add": "Add model",
  "provider.custom.models.fetch": "Fetch models",
  "provider.custom.models.fetching": "Fetching\u2026",
  "provider.custom.models.fetch.error": "Failed to fetch models: {{error}}",
  "provider.custom.models.fetch.authError": "Authentication failed. Check the API key above and try again.",
  "provider.custom.models.fetch.empty": "No models found on this server.",
  "provider.custom.models.fetch.added": "Added {{count}} model(s).",
  "provider.custom.models.fetch.allExist": "All fetched models are already added.",
  "provider.custom.models.fetch.selectAll": "Select all",
  "provider.custom.models.fetch.deselectAll": "Deselect all",
  "provider.custom.models.fetch.found": "{{count}} models found",
  "provider.custom.models.fetch.showing": "Showing {{shown}} of {{total}}",
  "provider.custom.models.fetch.search": "Search models\u2026",
  "provider.custom.models.fetch.add": "Add {{count}} model(s)",
  "provider.custom.edit.title": "Edit provider",
  "provider.custom.headers.label": "Headers (optional)",
  "provider.custom.headers.key.label": "Header",
  "provider.custom.headers.key.placeholder": "Header-Name",
  "provider.custom.headers.value.label": "Value",
  "provider.custom.headers.value.placeholder": "value",
  "provider.custom.headers.remove": "Remove header",
  "provider.custom.headers.add": "Add header",
  "provider.custom.error.providerID.required": "Provider ID is required",
  "provider.custom.error.providerID.format": "Use lowercase letters, numbers, hyphens, or underscores",
  "provider.custom.error.providerID.exists": "That provider ID already exists",
  "provider.custom.error.name.required": "Display name is required",
  "provider.custom.error.baseURL.required": "Base URL is required",
  "provider.custom.error.baseURL.format": "Must start with http:// or https://",
  "provider.custom.error.required": "Required",
  "provider.custom.error.duplicate": "Duplicate",
  "settings.openLocalConfig": "Local Config",
  "settings.openGlobalConfig": "Global Config",
  "settings.config.scope.local": "Local",
  "settings.config.scope.global": "Global",
  "settings.config.status.loaded": "loaded",
  "settings.config.status.loadedLegacy": "loaded legacy config",
  "settings.config.status.notLoaded": "not loaded",
  "settings.config.status.create": "not found - create this file",
  "settings.config.title": "Open {{scope}} Kilo config file",
  "settings.config.placeholder": "Config files are merged in order; files marked loaded currently affect settings.",
  "settings.config.noWorkspace": "Open a workspace folder to edit the local Kilo config file.",
  "settings.config.openFailed": "Failed to open {{scope}} Kilo config file: {{message}}",
  "settings.config.source.xdg": "XDG global config",
  "settings.config.source.homeKilo": "Home .kilo config",
  "settings.config.source.homeKilocode": "Home .kilocode config",
  "settings.config.source.homeOpencode": "Home .opencode config",
  "settings.config.source.envFile": "KILO_CONFIG environment file",
  "settings.config.source.envDir": "KILO_CONFIG_DIR",
  "settings.config.source.envContent": "Inline environment config",
  "settings.config.source.projectKilo": "Project .kilo config",
  "settings.config.source.projectRoot": "Project root config",
  "settings.config.source.projectKilocode": "Legacy .kilocode config",
  "settings.config.source.projectOpencode": "Legacy .opencode config",
  "settings.models.title": "Models",
  "settings.models.description": "Model settings will be configurable here.",
  "settings.agents.title": "Agents",
  "settings.agents.description": "Agent settings will be configurable here.",
  "settings.commands.title": "Commands",
  "settings.commands.description": "Command settings will be configurable here.",
  "settings.mcp.title": "MCP",
  "settings.mcp.description": "MCP settings will be configurable here.",

  "settings.permissions.title": "Permissions",
  "settings.permissions.description": "Control what tools the server can use by default.",
  "settings.permissions.section.tools": "Tools",
  "settings.permissions.toast.updateFailed.title": "Failed to update permissions",

  "settings.permissions.action.allow": "Allow",
  "settings.permissions.action.ask": "Ask",
  "settings.permissions.action.deny": "Deny",

  "settings.permissions.tool.read.title": "Read",
  "settings.permissions.tool.read.description": "Reading a file (matches the file path)",
  "settings.permissions.tool.edit.title": "Edit",
  "settings.permissions.tool.edit.description": "Modify files, including edits, writes, patches, and multi-edits",
  "settings.permissions.tool.glob.title": "Glob",
  "settings.permissions.tool.glob.description": "Match files using glob patterns",
  "settings.permissions.tool.grep.title": "Grep",
  "settings.permissions.tool.grep.description": "Search file contents using regular expressions",
  "settings.permissions.tool.list.title": "List",
  "settings.permissions.tool.list.description": "List files within a directory",
  "settings.permissions.tool.bash.title": "Bash",
  "settings.permissions.tool.bash.description": "Run shell commands",
  "settings.permissions.tool.task.title": "Task",
  "settings.permissions.tool.task.description": "Launch sub-agents",
  "settings.permissions.tool.skill.title": "Skill",
  "settings.permissions.tool.skill.description": "Load a skill by name",
  "settings.permissions.tool.lsp.title": "LSP",
  "settings.permissions.tool.lsp.description": "Run language server queries",
  "settings.permissions.tool.todoread.title": "Todo Read",
  "settings.permissions.tool.todoread.description": "Read the todo list",
  "settings.permissions.tool.todowrite.title": "Todo Write",
  "settings.permissions.tool.todowrite.description": "Update the todo list",
  "settings.permissions.tool.webfetch.title": "Web Fetch",
  "settings.permissions.tool.webfetch.description": "Fetch content from a URL",
  "settings.permissions.tool.websearch.title": "Web Search",
  "settings.permissions.tool.websearch.description": "Search the web",
  "settings.permissions.tool.codesearch.title": "Code Search",
  "settings.permissions.tool.codesearch.description": "Search code on the web",
  "settings.permissions.tool.external_directory.title": "External Directory",
  "settings.permissions.tool.external_directory.description": "Access files outside the project directory",
  "settings.permissions.tool.doom_loop.title": "Doom Loop",
  "settings.permissions.tool.doom_loop.description": "Detect repeated tool calls with identical input",

  "session.delete.failed.title": "Failed to delete session",
  "session.delete.title": "Delete session",
  "session.delete.confirm": 'Delete session "{{name}}"?',
  "session.delete.button": "Delete session",
  "session.untitled": "Untitled",
  "session.current": "Current session",
  "session.recent": "Recent",
  "session.showHistory": "Show History",
  "session.history.sources": "History source",
  "session.search.placeholder": "Search sessions...",
  "session.empty": "No sessions yet. Click + to start a new conversation.",
  "session.tab.local": "Local",
  "session.tab.cloud": "Cloud",
  "session.cloud.repoOnly": "Only this repository",
  "session.cloud.import": "Import session",
  "feedback.button": "Feedback & Support",
  "feedback.dialog.message": "We'd love to hear your feedback or help with any issues you're experiencing.",
  "feedback.dialog.github": "Report an issue on GitHub",
  "feedback.dialog.discord": "Join our Discord community",
  "feedback.dialog.support": "Customer Support",
  "workStyle.onboarding.welcome": "Welcome to Kilo",
  "workStyle.onboarding.title": "Choose how you want to work",
  "workStyle.onboarding.description":
    "This sets the starting defaults for permissions, reasoning blocks, terminal output, and the context timeline. It only applies once and skips settings you already customized.",
  "workStyle.onboarding.skip": "Skip for now",
  "workStyle.onboarding.settingsNote": "You can change these options anytime in",
  "workStyle.onboarding.settings": "Settings.",
  "workStyle.toast.saved.title": "Mode saved successfully",
  "workStyle.toast.saved.description": "Update your preferences anytime in Settings.",
  "workStyle.toast.saved.action": "Go to Settings",
  "workStyle.choice.permissions": "Permissions",
  "workStyle.choice.bash": "Bash",
  "workStyle.choice.visibility": "Visibility",
  "workStyle.choice.human-in-the-loop.eyebrow": "Human in the Loop",
  "workStyle.choice.human-in-the-loop.title": "Review first",
  "workStyle.choice.human-in-the-loop.description": "Kilo pauses and shows you its plan as it works.",
  "workStyle.choice.human-in-the-loop.permissions": "Asks before editing files or running commands.",
  "workStyle.choice.human-in-the-loop.bash": "Asks for permission when running all terminal commands.",
  "workStyle.choice.human-in-the-loop.visibility": "Shows full conversation details, including reasoning.",
  "workStyle.choice.autonomous.eyebrow": "Fewer interruptions",
  "workStyle.choice.autonomous.title": "High autonomy",
  "workStyle.choice.autonomous.description": "Fewer interruptions, streamlined interface.",
  "workStyle.choice.autonomous.permissions": "Edits files and runs commands in the workspace without asking.",
  "workStyle.choice.autonomous.bash": "Can run terminal commands in the workspace without approval.",
  "workStyle.choice.autonomous.visibility": "Details stay collapsed until you expand them.",
  "session.cloud.import.title": "Import session",
  "session.cloud.import.placeholder": "Session ID, URL, or kilo import command",
  "session.cloud.import.button": "Import",
  "session.cloud.import.invalid": "Invalid session ID format",
  "session.cloud.import.legacy": "This appears to be a legacy session that is no longer supported.",
  "session.cloud.import.failed": "Failed to import cloud session",

  "workspace.new": "New workspace",
  "workspace.type.local": "local",
  "workspace.type.sandbox": "sandbox",
  "workspace.create.failed.title": "Failed to create workspace",
  "workspace.delete.failed.title": "Failed to delete workspace",
  "workspace.resetting.title": "Resetting workspace",
  "workspace.resetting.description": "This may take a minute.",
  "workspace.reset.failed.title": "Failed to reset workspace",
  "workspace.reset.success.title": "Workspace reset",
  "workspace.reset.success.description": "Workspace now matches the default branch.",
  "workspace.error.stillPreparing": "Workspace is still preparing",
  "workspace.status.checking": "Checking for unmerged changes...",
  "workspace.status.error": "Unable to verify git status.",
  "workspace.status.clean": "No unmerged changes detected.",
  "workspace.status.dirty": "Unmerged changes detected in this workspace.",
  "workspace.delete.title": "Delete workspace",
  "workspace.delete.confirm": 'Delete workspace "{{name}}"?',
  "workspace.delete.button": "Delete workspace",
  "workspace.reset.title": "Reset workspace",
  "workspace.reset.confirm": 'Reset workspace "{{name}}"?',
  "workspace.reset.button": "Reset workspace",
  "workspace.reset.archived.none": "No active sessions will be archived.",
  "workspace.reset.archived.one": "1 session will be archived.",
  "workspace.reset.archived.many": "{{count}} sessions will be archived.",
  "workspace.reset.note": "This will reset the workspace to match the default branch.",

  "deviceAuth.toast.urlCopied": "URL copied to clipboard",
  "deviceAuth.toast.codeCopied": "Code copied to clipboard",
  "deviceAuth.toast.errorCopied": "Error copied to clipboard",
  "deviceAuth.status.initiating": "Starting login...",
  "deviceAuth.title": "Sign in to Kilo Code",
  "deviceAuth.step1": "Step 1: Open this URL",
  "deviceAuth.action.copyUrl": "Copy URL",
  "deviceAuth.action.openBrowser": "Open Browser",
  "deviceAuth.qrCode.alt": "QR Code",
  "deviceAuth.step2": "Step 2: Enter this code",
  "deviceAuth.action.clickToCopy": "Click to copy",
  "deviceAuth.status.waiting": "Waiting for authorization...",
  "deviceAuth.status.success": "Login successful!",
  "deviceAuth.status.failed": "Login failed",
  "deviceAuth.status.cancelled": "Login cancelled",
  "deviceAuth.action.copyError": "Copy error",
  "deviceAuth.action.showDetails": "View details",
  "deviceAuth.action.tryAgain": "Try Again",
  "deviceAuth.error.detailsTitle": "Login error details",

  "common.retry": "Retry",
  "common.refresh": "Refresh",

  "profile.title": "Profile",
  "profile.notLoggedIn": "Not logged in",
  "profile.action.login": "Login with Kilo Code",
  "profile.balance.title": "Balance",
  "profile.balance.refresh": "Refresh balance",
  "profile.action.dashboard": "Dashboard",
  "profile.action.logout": "Log Out",

  "settings.section.configuration": "Configuration",
  "settings.agentBehaviour.title": "Agent Behaviour",
  "settings.autoApprove.title": "Auto-Approve",
  "settings.browser.title": "Browser",
  "settings.checkpoints.title": "Checkpoints",
  "settings.display.title": "Display",
  "settings.autocomplete.title": "Autocomplete",
  "settings.notifications.title": "Notifications",
  "settings.context.title": "Context",
  "settings.indexing.title": "Indexing",
  "settings.indexing.status.title": "Status",
  "settings.indexing.enable.title": "Enable indexing",
  "settings.indexing.enable.description": "Turn semantic codebase indexing on or off.",
  "settings.indexing.globalEnable.title": "Enable globally",
  "settings.indexing.globalEnable.description": "Enable indexing for every workspace.",
  "settings.indexing.projectEnable.title": "Enable for this project",
  "settings.indexing.projectEnable.description": "Enable indexing for this workspace when global indexing is off.",
  "settings.indexing.projectEnable.disabledTooltip": "Global indexing is enabled, so this project is already covered.",
  "settings.indexing.provider.title": "Embedding provider",
  "settings.indexing.provider.description": "Choose the provider used to generate embeddings for semantic search.",
  "settings.indexing.kiloModel.title": "Kilo model preset",
  "settings.indexing.kiloModel.description": "Choose a supported Kilo-hosted embedding model.",
  "settings.indexing.kiloSignIn.title": "Kilo sign-in required",
  "settings.indexing.kiloSignIn.description": "Sign in to Kilo to use hosted embeddings.",
  "settings.indexing.model.title": "Embedding model",
  "settings.indexing.model.description": "Override the default embedding model for the selected provider.",
  "settings.indexing.dimension.title": "Vector dimension",
  "settings.indexing.dimension.description": "Leave empty to auto-detect the embedding dimension from the model.",
  "settings.indexing.dimension.placeholder": "Auto",
  "settings.indexing.providerField.description": "Provider-specific connection setting.",
  "settings.indexing.vectorStore.title": "Vector store",
  "settings.indexing.vectorStore.description": "Choose where indexed embeddings are stored.",
  "settings.indexing.lancedbDirectory.title": "LanceDB directory",
  "settings.indexing.lancedbDirectory.description": "Optional directory for the local LanceDB store.",
  "settings.indexing.lancedbDirectory.placeholder": "Leave empty for default",
  "settings.indexing.qdrantUrl.title": "Qdrant URL",
  "settings.indexing.qdrantUrl.description": "Server URL for the Qdrant instance.",
  "settings.indexing.qdrantApiKey.title": "Qdrant API key",
  "settings.indexing.qdrantApiKey.description": "Optional API key for the Qdrant instance.",
  "settings.indexing.qdrantApiKey.placeholder": "Optional API key",
  "settings.indexing.tuning.description": "Advanced search and batching parameter.",
  "settings.experimental.title": "Experimental",
  "settings.language.title": "Language",
  "settings.aboutKiloCode.title": "About Kilo Code",

  "session.messages.empty": "Start a conversation by typing a message below.",
  "session.messages.welcome":
    "Kilo Code is an AI coding assistant. Ask it to build features, fix bugs, or explain your codebase.",
  "session.messages.scrollToBottom": "Scroll to bottom",
  "session.messages.initializing": "Initializing...",
  "session.messages.taskStarting": "Starting...",
  "session.status.writingResponse": "Writing response...",
  "session.status.retry": "Retrying…",
  "session.status.retrying": "Retrying (attempt {{ attempt }})… {{ message }}",
  "session.status.working": "Working...",
  "session.status.offline": "Network disconnected — reconnecting...",
  "session.outcome.incomplete": "Turn ended with {{count}} to-dos remaining.",
  "session.outcome.limit": "Response reached its output limit and may be incomplete.",
  "session.outcome.unknown": "Response ended without a finish reason and may be incomplete.",
  "session.outcome.filtered": "The provider stopped this response because of a content filter.",
  "session.outcome.unexpected": "Response ended unexpectedly and may be incomplete.",
  "session.outcome.interrupted": "Turn interrupted.",
  "session.outcome.error": "Turn failed.",
  "session.outcome.finish": "Technical finish reason: {{reason}}",
  "sidebar.session.newSession": "New Session",
  "sidebar.session.newSession.tooltip": "Start a fresh conversation while keeping the current session intact.",
  "sidebar.session.newSession.disabled": "This session is already new. Start chatting or create a worktree instead.",
  "sidebar.session.newWorktree": "New Worktree",
  "sidebar.session.newWorktree.tooltip":
    "Create an isolated git worktree to experiment safely, keep changes separated, and run parallel sessions without disrupting your current branch.",
  "sidebar.session.configureWorktree.tooltip":
    "Open the Agent Manager worktree dialog to configure a new worktree before creating it.",
  "sidebar.session.newWorktree.from": "New Worktree from",
  "sidebar.session.currentBranch": "current branch",
  "sidebar.session.moveToWorktree": "Move to Worktree",
  "sidebar.session.moveToWorktree.tooltip.empty":
    "Move this conversation and your current local changes into a dedicated worktree for isolated follow-up work.",
  "sidebar.session.moveToWorktree.tooltip.one":
    "Move this conversation and 1 changed file into a dedicated worktree for isolated follow-up work.",
  "sidebar.session.moveToWorktree.tooltip.other":
    "Move this conversation and {{files}} changed files into a dedicated worktree for isolated follow-up work.",
  "sidebar.session.showChanges.tooltip.empty": "Open the changes view to inspect the current working tree.",
  "sidebar.session.showChanges.tooltip.one": "1 file changed · +{{additions}} -{{deletions}}. Open the changes view.",
  "sidebar.session.showChanges.tooltip.other":
    "{{files}} files changed · +{{additions}} -{{deletions}}. Open the changes view.",
  "sidebar.session.agentManager.tooltip":
    "Open Agent Manager for a full overview of parallel sessions and worktrees, so you can coordinate long-running tasks in one place.",
  "sidebar.session.openAgentManager": "Open Agent Manager",
  "sidebar.session.progress.capturing": "Capturing changes...",
  "sidebar.session.progress.creating": "Creating worktree...",
  "sidebar.session.progress.setup": "Running setup...",
  "sidebar.session.progress.transferring": "Transferring changes...",
  "sidebar.session.progress.forking": "Starting session...",
  "sidebar.session.progress.failed": "Failed to continue in worktree",

  "ui.sessionTurn.cancel": "Cancel",
  "ui.sessionTurn.status.thinking": "Thinking...",
  "ui.sessionTurn.status.consideringNextSteps": "Considering next steps...",

  "dialog.model.noProviders": "No providers",

  "prompt.placeholder.connecting": "Connecting to server...",
  "prompt.placeholder.default": "Type a message... (Enter to send, Shift+Enter for new line)",
  "prompt.placeholder.error": "Connection failed. Check the output panel or restart the extension.",

  "context.usage.sessionCost": "Session cost",
  "context.usage.olderSessions": "{{count}} older sessions",
  "context.stats.thisSession": "This session",

  "time.justNow": "just now",
  "time.minutesAgo": "{{count}} min ago",
  "time.hoursAgo": "{{count}}h ago",
  "time.daysAgo": "{{count}}d ago",
  "time.monthsAgo": "{{count}}mo ago",
  "time.today": "Today",
  "time.yesterday": "Yesterday",
  "time.thisWeek": "This Week",
  "time.thisMonth": "This Month",
  "time.older": "Older",

  "settings.aboutKiloCode.status.connected": "Connected",
  "settings.aboutKiloCode.status.connecting": "Connecting...",
  "settings.aboutKiloCode.status.disconnected": "Disconnected",
  "settings.aboutKiloCode.status.error": "Error",
  "settings.aboutKiloCode.cliServer": "CLI Server",
  "settings.aboutKiloCode.status.label": "Status:",
  "settings.aboutKiloCode.port.label": "Port:",
  "settings.aboutKiloCode.versionInfo": "Version Information",
  "settings.aboutKiloCode.version.label": "Version:",
  "settings.aboutKiloCode.extensionName": "Kilo Code Extension",
  "settings.aboutKiloCode.community": "Community & Support",
  "settings.aboutKiloCode.feedback.prefix": "If you have any questions or feedback, feel free to open an issue on",
  "settings.aboutKiloCode.feedback.or": "or",
  "settings.aboutKiloCode.support.prefix": "For billing or account questions, contact Customer Support at",
  "settings.aboutKiloCode.resetSettings.title": "Reset Settings",
  "settings.aboutKiloCode.resetSettings.description":
    "This resets only VS Code extension-specific settings to their default values. Settings shared with the CLI, such as modes and auto-approve rules, are stored in the CLI configuration and will not be reset.",
  "settings.aboutKiloCode.resetSettings.button": "Reset All Settings",
  "settings.aboutKiloCode.settingsTransfer.title": "Settings Transfer",
  "settings.aboutKiloCode.settingsTransfer.description":
    "Export or import your settings to transfer them between VS Code instances.",
  "settings.aboutKiloCode.exportSettings": "Export",
  "settings.aboutKiloCode.importSettings": "Import",
  "settings.aboutKiloCode.importSettings.invalidJson": "Invalid JSON file. Please select a valid settings file.",
  "settings.aboutKiloCode.importSettings.invalidConfig": "File does not contain valid Kilo settings.",
  "settings.aboutKiloCode.importSettings.tooLarge": "File is too large. Settings files must be under 1 MB.",
  "settings.aboutKiloCode.importSettings.newerVersion":
    "This file was exported from a newer version of Kilo. Some settings may be ignored.",
  "settings.aboutKiloCode.importSettings.success": "Settings imported. Review the changes above, then click Save.",

  "settings.aboutKiloCode.telemetry.title": "Telemetry",
  "settings.aboutKiloCode.telemetry.description":
    'Telemetry is controlled by VS Code\'s built-in telemetry setting. To disable it, go to Settings > Telemetry > Telemetry Level and set it to "off". Restart VS Code to apply the change.',
  "settings.aboutKiloCode.telemetry.openSettings": "Open Telemetry Settings",

  "settings.agentBehaviour.subtab.agents": "Agents",
  "settings.agentBehaviour.subtab.mcpServers": "MCP Servers",
  "settings.agentBehaviour.subtab.rules": "Rules",
  "settings.agentBehaviour.subtab.workflows": "Workflows",
  "settings.agentBehaviour.subtab.skills": "Skills",

  "settings.browser.description":
    "When enabled, the AI agent can interact with web pages — navigating, clicking, typing, and taking screenshots. A Chrome window will open so you can watch the agent work.",
  "settings.browser.enable.title": "Enable Browser Automation",
  "settings.browser.enable.description": "Register the Playwright MCP server with the CLI backend.",
  "settings.browser.systemChrome.title": "Use System Chrome",
  "settings.browser.systemChrome.description":
    "Use your installed Chrome browser instead of a separate Chromium instance.",
  "settings.browser.headless.title": "Headless Mode",
  "settings.browser.headless.description": "Run in headless mode (no visible browser window).",

  "settings.language.description":
    'Choose the language for the Kilo Code UI. "Auto" uses your VS Code display language.',
  "settings.language.auto": "Auto (VS Code language)",
  "settings.language.current": "Current:",

  "common.add": "Add",
  "common.choose": "Choose…",

  "settings.autocomplete.model.title": "Autocomplete model",
  "settings.autocomplete.model.description": "Select the model used for inline code completions",
  "settings.autocomplete.autoTrigger.title": "Enable automatic inline completions",
  "settings.autocomplete.autoTrigger.description": "Automatically show inline completion suggestions as you type",
  "settings.autocomplete.smartKeybinding.title": "Enable smart inline task keybinding",
  "settings.autocomplete.smartKeybinding.description": "Use a smart keybinding for triggering inline tasks",
  "settings.autocomplete.chatAutocomplete.title": "Enable chat textarea autocomplete",
  "settings.autocomplete.chatAutocomplete.description": "Show autocomplete suggestions in the chat textarea",
  "settings.autocomplete.modelsHint": "To choose which model is used for autocompletions, see the Models settings.",

  "settings.notifications.agent.title": "Agent Completion",
  "settings.notifications.agent.description": "Show notification when agent completes a task",
  "settings.notifications.permissions.title": "Permission Requests",
  "settings.notifications.permissions.description": "Show notification on permission requests",
  "settings.notifications.errors.title": "Errors",
  "settings.notifications.errors.description": "Show notification on errors",
  "settings.notifications.sounds": "Sounds",
  "settings.notifications.enable.title": "Enable Sound Notifications",
  "settings.notifications.enable.description":
    "Play sounds when sessions complete, encounter an error, or need your input",
  "settings.notifications.testSound": "Test",
  "settings.notifications.agentSound.title": "Agent Completion Sound",
  "settings.notifications.agentSound.description": "Sound to play when agent completes",
  "settings.notifications.permSound.title": "Permission Request Sound",
  "settings.notifications.permSound.description": "Sound to play on permission requests",
  "settings.notifications.errorSound.title": "Error Sound",
  "settings.notifications.errorSound.description": "Sound to play on errors",
  "settings.notifications.sound.default": "Default",
  "settings.notifications.sound.system": "System",
  "settings.notifications.sound.description":
    "Default uses different sounds for completion, input, and errors. Other choices use one sound for every event.",
  "settings.notifications.sound.none": "None",

  "settings.experimental.share.title": "Share Mode",
  "settings.experimental.share.description": "How session sharing behaves",
  "settings.experimental.share.manual": "Manual",
  "settings.experimental.share.auto": "Auto",
  "settings.experimental.share.disabled": "Disabled",
  "settings.experimental.formatter.title": "Formatter",
  "settings.experimental.formatter.description": "Enable the automatic code formatter",
  "settings.experimental.lsp.title": "LSP",
  "settings.experimental.lsp.description": "Enable language server protocol integration",
  "settings.experimental.batch.title": "Batch Tool",
  "settings.experimental.batch.description": "Enable batching of multiple tool calls",
  "settings.experimental.codebaseSearch.title": "Codebase Search",
  "settings.experimental.codebaseSearch.description": "Enable AI-powered natural language search across your codebase",
  "settings.experimental.speechToText.title": "Speech to Text",
  "settings.experimental.speechToText.description":
    "Enable voice input in prompt fields using your Kilo account through Kilo Gateway.",
  "settings.models.speechToText.disabledDescription":
    "Enable and sign in to the Kilo provider to use Speech to Text. Speech to Text is currently only supported through Kilo Gateway.",
  "settings.models.speechToTextModel.title": "Speech to Text Model",
  "settings.models.speechToTextModel.description": "Choose the Kilo Gateway transcription model for voice input.",
  "settings.experimental.continueOnDeny.title": "Continue on Deny",
  "settings.experimental.continueOnDeny.description": "Continue the agent loop when a permission is denied",
  "settings.experimental.mcpTimeout.title": "MCP Timeout (ms)",
  "settings.experimental.mcpTimeout.description": "Timeout for MCP server requests in milliseconds",
  "settings.experimental.remote.title": "Remote Control",
  "settings.experimental.remote.description":
    "Enable remote control of sessions via Kilo Cloud. This will also affect CLIs on this machine.",
  "settings.experimental.remote.current": "Current state:",
  "settings.experimental.remote.startup": "Auto-enable on startup:",
  "settings.experimental.remote.active": "Active",
  "settings.experimental.remote.inactive": "Inactive",
  "settings.experimental.remote.hint": "Use /remote in chat to toggle",
  "settings.experimental.toolToggles": "Tool Toggles",

  "settings.agentBehaviour.defaultAgent.title": "Default Agent",
  "settings.agentBehaviour.defaultAgent.description": "Agent to use when none is specified",
  "settings.agentBehaviour.availableAgents": "Available Agents",
  "settings.agentBehaviour.selectAgent": "Select an agent to configure…",
  "settings.agentBehaviour.selectAgent.title": "Agent",
  "settings.agentBehaviour.selectAgent.description": "Select an agent to configure…",
  "settings.agentBehaviour.modelOverride.title": "Model Override",
  "settings.agentBehaviour.modelOverride.description": "Override the default model for this agent",
  "settings.agentBehaviour.variantOverride.title": "Variant Override",
  "settings.agentBehaviour.variantOverride.description": "Override the model variant for this agent",
  "settings.agentBehaviour.prompt.title": "Custom Prompt",
  "settings.agentBehaviour.prompt.description": "Additional system prompt for this agent",
  "settings.agentBehaviour.temperature.title": "Temperature",
  "settings.agentBehaviour.temperature.description": "Sampling temperature (0-2)",
  "settings.agentBehaviour.topP.title": "Top P",
  "settings.agentBehaviour.topP.description": "Nucleus sampling parameter (0-1)",
  "settings.agentBehaviour.maxSteps.title": "Max Steps",
  "settings.agentBehaviour.maxSteps.description": "Maximum agentic iterations",
  "settings.agentBehaviour.hidden.title": "Hidden",
  "settings.agentBehaviour.hidden.description": "Hide this agent from the mode switcher in the chat input",
  "settings.agentBehaviour.disable.title": "Disabled",
  "settings.agentBehaviour.disable.description": "Fully disable this agent — it will not appear anywhere",
  "settings.agentBehaviour.badge.hidden": "hidden",
  "settings.agentBehaviour.badge.disabled": "disabled",
  "settings.agentBehaviour.badge.deprecated": "deprecated",
  "settings.agentBehaviour.discoveredSkills": "Discovered Skills",
  "settings.agentBehaviour.noSkillsFound":
    "No skills discovered. Add skill folder paths or URLs below to make skills available.",
  "settings.agentBehaviour.availableModes": "Available Custom Modes",
  "settings.agentBehaviour.noAgentsFound": "No agents found.",
  "settings.agentBehaviour.removeAgent.title": "Remove agent",
  "settings.agentBehaviour.removeAgent.confirm":
    'Remove agent "{{name}}"? This will disable the agent by updating your config.',
  "settings.agentBehaviour.removeAgent.button": "Remove",
  "settings.agentBehaviour.skillPaths": "Skill Folder Paths",
  "settings.agentBehaviour.skillUrls": "Skill URLs",
  "settings.agentBehaviour.removeSkill.title": "Remove skill",
  "settings.agentBehaviour.removeSkill.confirm": 'Remove skill "{{name}}"? This will delete the skill files from disk.',
  "settings.agentBehaviour.removeSkill.button": "Remove",
  "settings.agentBehaviour.rules.description":
    "Rules are instruction files that guide agent behaviour. They are included in the system prompt for every conversation. Add file paths below to include additional rules.",
  "settings.agentBehaviour.instructionFiles": "Additional Instruction Files",
  "settings.agentBehaviour.instructionFiles.description":
    "Paths to additional instruction files that are included in the system prompt",
  "settings.agentBehaviour.claudeCompat.heading": "Claude Code Compatibility",
  "settings.agentBehaviour.claudeCompat.title": "Load Claude Code Files",
  "settings.agentBehaviour.claudeCompat.description":
    "Load CLAUDE.md instructions and skills from your Claude Code configuration directory into sessions. Enable this if you want Kilo to use your Claude Code instructions and skills. Requires restart.",
  "settings.agentBehaviour.removeMcp.title": "Remove MCP server",
  "settings.agentBehaviour.removeMcp.confirm": 'Remove MCP server "{{name}}"? This will remove it from your config.',
  "settings.agentBehaviour.removeMcp.button": "Remove",
  "settings.agentBehaviour.mcpDetail.command": "Command",
  "settings.agentBehaviour.mcpDetail.args": "Arguments",
  "settings.agentBehaviour.mcpDetail.env": "Environment",
  "settings.agentBehaviour.mcpDetail.disabled": "This server is disabled.",
  "settings.agentBehaviour.editMcp": "Edit MCP Server",
  "settings.agentBehaviour.editMcp.transportLocal": "Local server (stdio transport)",
  "settings.agentBehaviour.editMcp.transportRemote": "Remote server (SSE/HTTP transport)",
  "settings.agentBehaviour.editMcp.env": "Environment Variables",
  "settings.agentBehaviour.editMcp.env.help": "Variables passed to the MCP server process.",
  "settings.agentBehaviour.addMcp.command": "Command",
  "settings.agentBehaviour.addMcp.command.placeholder": "e.g. npx",
  "settings.agentBehaviour.addMcp.args": "Arguments",
  "settings.agentBehaviour.addMcp.args.help": "One argument per line. Paths with spaces are preserved as-is.",
  "settings.agentBehaviour.addMcp.args.placeholder": "e.g.\n-y\n@modelcontextprotocol/server-filesystem\n/tmp",
  "settings.agentBehaviour.addMcp.url": "Server URL",
  "settings.agentBehaviour.addMcp.url.placeholder": "e.g. http://localhost:3000/sse",
  "settings.agentBehaviour.mcpBrowseMarketplace": "Browse Marketplace",
  "settings.agentBehaviour.mcpEmpty":
    "No MCP servers configured. Add MCP servers in kilo.jsonc, or ask the agent to add them for you.",
  "settings.agentBehaviour.workflowsPlaceholder": "Workflows are managed via workflow files in your workspace.",
  "settings.agentBehaviour.workflows.description":
    "Workflows are custom slash commands defined in your config. Type /command-name in the chat to invoke them. Commands are configured in opencode.json under the 'command' section.",
  "settings.agentBehaviour.workflows.empty":
    "No custom commands configured. Add commands to your opencode.json to see them here.",
  "settings.agentBehaviour.workflows.detail.description": "Description",
  "settings.agentBehaviour.workflows.detail.template": "Template",

  "settings.agentBehaviour.createMode": "Create New Mode",
  "settings.agentBehaviour.createMode.name": "Name",
  "settings.agentBehaviour.createMode.name.placeholder": "e.g. reviewer",
  "settings.agentBehaviour.createMode.name.description":
    "Unique identifier for the mode. Use lowercase letters, numbers, and hyphens only.",
  "settings.agentBehaviour.createMode.description": "Description",
  "settings.agentBehaviour.createMode.description.placeholder": "e.g. Reviews code for quality and best practices",
  "settings.agentBehaviour.createMode.description.help": "Short description of what this mode does.",
  "settings.agentBehaviour.createMode.prompt": "System Prompt",
  "settings.agentBehaviour.createMode.prompt.placeholder":
    "e.g. You are a code reviewer. Focus on code quality, best practices, and potential bugs.",
  "settings.agentBehaviour.createMode.prompt.help": "Instructions for the AI agent when using this mode.",
  "settings.agentBehaviour.createMode.button": "Create",
  "settings.agentBehaviour.createMode.cancel": "Cancel",
  "settings.agentBehaviour.createMode.nameRequired": "Name is required",
  "settings.agentBehaviour.createMode.nameInvalid":
    "Name must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens",
  "settings.agentBehaviour.createMode.nameTaken": "A mode with this name already exists",
  "settings.agentBehaviour.importMode": "Import",
  "settings.agentBehaviour.importMode.invalidName":
    "Invalid mode name in file. Name must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens.",
  "settings.agentBehaviour.importMode.nameTaken": "A mode with this name already exists.",
  "settings.agentBehaviour.importMode.invalidJson": "Invalid JSON file. Please select a valid agent definition file.",
  "settings.agentBehaviour.importMode.tooLarge": "File is too large. Agent definitions must be under 1 MB.",
  "settings.agentBehaviour.exportMode": "Export agent definition",
  "settings.agentBehaviour.editMode": "Edit Mode",
  "settings.agentBehaviour.editMode.description": "Description",
  "settings.agentBehaviour.editMode.prompt": "System Prompt",
  "settings.agentBehaviour.editMode.save": "Done",
  "settings.agentBehaviour.editMode.back": "Back to list",
  "settings.agentBehaviour.editMode.native":
    "This is a built-in mode. Its base definition cannot be changed, but you can configure overrides below.",
  "settings.agentBehaviour.editMode.promptOverride": "Custom prompt override for this built-in mode",
  "settings.agentBehaviour.badge.subagent": "subagent",
  "settings.agentBehaviour.permissions.title": "Calculated Permissions",
  "settings.agentBehaviour.permissions.count": "{{count}} rules",
  "settings.agentBehaviour.permissions.effective": "Effective (wildcard):",
  "settings.agentBehaviour.permissions.col.tool": "Tool",
  "settings.agentBehaviour.permissions.col.pattern": "Pattern",
  "settings.agentBehaviour.permissions.col.action": "Action",
  "settings.agentBehaviour.permissions.copy": "Copy permissions as JSON",
  "settings.agentBehaviour.permissions.hint":
    "Rules are evaluated in order — last matching rule wins. This is the resolved ruleset from the CLI backend.",

  "settings.autoApprove.description":
    "Define how tools are allowed to run. Most tools default to Allow. doom_loop and external_directory default to Ask.",
  "settings.autoApprove.level.allow": "Allow",
  "settings.autoApprove.level.ask": "Ask",
  "settings.autoApprove.level.deny": "Deny",
  "settings.autoApprove.wildcardLabel.commands": "All commands (*)",
  "settings.autoApprove.wildcardLabel.paths": "All paths (*)",
  "settings.autoApprove.exceptions": "Exceptions",
  "settings.autoApprove.addCommand": "Add command",
  "settings.autoApprove.addPath": "Add path",
  "settings.autoApprove.placeholder.command": "e.g. git *",
  "settings.autoApprove.placeholder.path": "e.g. *.env",
  "settings.autoApprove.tool.external_directory":
    "Access files outside workspace. Triggered when accessing files outside the current project directory.",
  "settings.autoApprove.tool.bash": "Run terminal commands. Allows execution of shell commands (e.g., git status).",
  "settings.autoApprove.tool.read": "Read files. Allows the agent to read files matching the specified path.",
  "settings.autoApprove.tool.edit":
    "Modify files. Allows the agent to create or edit files, including patches and multi-file updates.",
  "settings.autoApprove.tool.glob":
    "Match files by pattern. Allows file matching using glob patterns (e.g., src/**/*.ts).",
  "settings.autoApprove.tool.grep": "Search file contents. Allows regex-based search inside files.",
  "settings.autoApprove.tool.list": "List directory contents. Allows viewing files and folders within a directory.",
  "settings.autoApprove.tool.task": "Launch sub-agents. Allows starting specialized sub-agents for specific tasks.",
  "settings.autoApprove.tool.skill": "Load skills. Allows loading predefined skills by name.",
  "settings.autoApprove.tool.lsp":
    "Query language server. Allows running language server queries for code intelligence.",
  "settings.autoApprove.tool.todoreadwrite": "Manage task list. Allows reading and updating the internal task list.",
  "settings.autoApprove.tool.webfetch": "Fetch a URL. Allows retrieving content from a specific URL.",
  "settings.autoApprove.tool.websearch": "Search the web. Allows performing external web searches.",
  "settings.autoApprove.tool.doom_loop":
    "Prevent repeated identical actions. Triggered when the same tool call repeats with identical input.",

  "settings.checkpoints.enable.title": "Enable Snapshots",
  "settings.checkpoints.enable.description": "Create checkpoints before file edits so you can restore previous states",

  "settings.context.autoCompaction.title": "Auto Compaction",
  "settings.context.autoCompaction.description": "Automatically compact context before it reaches the limit",
  "settings.context.compactionLimit.title": "Auto Compaction Limit",
  "settings.context.compactionLimit.description":
    "Compact when context reaches this percentage of the model window. Leave blank to use the safety buffer only.",
  "settings.context.prune.title": "Prune Old Outputs",
  "settings.context.prune.description": "Remove old tool outputs during compaction",
  "settings.context.watcherPatterns": "File Watcher Ignore Patterns",
  "settings.context.watcherPatterns.description": "Glob patterns for files the watcher should ignore",

  "settings.commitMessage.title": "Commit Message",
  "settings.commitMessage.override.title": "Use Custom Prompt",
  "settings.commitMessage.override.description":
    "Override the default commit message prompt. When enabled, your custom prompt fully replaces the built-in conventional commits prompt.",
  "settings.commitMessage.prompt.title": "Custom Prompt",
  "settings.commitMessage.prompt.description":
    "System prompt sent to the AI when generating commit messages. This replaces the default prompt entirely.",
  "settings.commitMessage.prompt.placeholder":
    "e.g. Generate commit messages in Spanish following conventional commits format. Return ONLY the commit message.",

  "settings.display.username.title": "Username",
  "settings.display.username.description": "Custom username displayed in conversations",
  "settings.display.fontSize.title": "Font Size",
  "settings.display.fontSize.description": "Adjust the Kilo webview UI font size independently from VS Code.",
  "settings.display.reasoningAutoCollapse.title": "Auto-Collapse Reasoning",
  "settings.display.reasoningAutoCollapse.description":
    "Collapse reasoning blocks after the agent finishes writing them. Leave off to keep reasoning expanded unless you collapse it manually.",
  "settings.display.terminalCommand.title": "Terminal Command Blocks",
  "settings.display.terminalCommand.description": "Choose whether terminal command blocks start expanded or collapsed.",
  "settings.display.terminalCommand.expanded": "Expanded",
  "settings.display.terminalCommand.collapsed": "Collapsed",
  "settings.display.codeEdit.title": "Code Edit Blocks",
  "settings.display.codeEdit.description": "Choose whether code edit and diff blocks start expanded or collapsed.",
  "settings.display.codeEdit.expanded": "Expanded",
  "settings.display.codeEdit.collapsed": "Collapsed",

  "settings.providers.defaultModel.title": "Default Model",
  "settings.providers.defaultModel.description": "Primary model for conversations",
  "settings.providers.smallModel.title": "Small Model",
  "settings.providers.smallModel.description":
    "Lightweight model for title generation, commit message generation, prompt enhancement, and other quick tasks",
  "settings.providers.subagentModel.title": "Subagent Model",
  "settings.providers.subagentModel.description":
    "Default model and reasoning effort for task-tool subagents. Leave unset to inherit the calling agent's model.",
  "settings.models.hidePromptTraining.title": "Hide Prompt-Training Models",
  "settings.models.hidePromptTraining.description":
    "Hide Kilo Gateway models whose providers may use your prompts for training.",
  "settings.providers.modeModels": "Model per Mode",
  "settings.providers.modeModels.description":
    "Override the default model for specific modes. If not set, the global default model is used.",
  "settings.providers.disabled": "Disabled Providers",
  "settings.providers.disabled.description": "Providers to hide from the provider list",
  "settings.providers.disabled.enable": "Enable",
  "settings.providers.enabled": "Enabled Providers (Allowlist)",
  "settings.providers.enabled.description": "If set, only these providers will be available (exclusive allowlist)",
  "settings.providers.notSet": "Not set (use server default)",
  "settings.providers.custom.note": "Add an OpenAI-compatible provider by base URL.",
  "settings.providers.search.placeholder": "Search providers",
  "settings.providers.select.placeholder": "Select provider...",

  "dialog.model.notSet": "Not set",

  "profile.personalAccount": "Personal Account",
  "profile.switchingAccount": "Switching account…",

  // Agent Manager strings live in webview-ui/agent-manager/i18n/en.ts

  "question.summary": "{{n}} of {{total}} questions",
  "common.review": "Review",

  // legacy-migration start
  "settings.legacyMigration.link": "Migrate from Legacy Version",
  "settings.aboutKiloCode.legacyMigration.title": "Legacy Migration",
  "settings.aboutKiloCode.legacyMigration.description":
    "Migrate settings from a previous installation of Kilo Code, including provider API keys and default model.",
  "settings.aboutKiloCode.rooImport.description": "Import conversation history from a Roo Code installation.",
  "settings.aboutKiloCode.rooImport.button": "Import Sessions from Roo Code",

  // Screen 1 — What's New
  "migration.whatsNew.title": "What's New in Kilo Code",
  "migration.whatsNew.subtitle": "We've rebuilt the extension on a faster, more efficient foundation.",
  "migration.whatsNew.features.performance.title": "Faster Agent Performance",
  "migration.whatsNew.features.performance.detail":
    "Parallel tool calls and subagents let your agent tackle more at once — so you spend less time watching and more time shipping.",
  "migration.whatsNew.features.interface.title": "Streamlined Interface",
  "migration.whatsNew.features.interface.detail": "Fewer distractions, easier and quicker to read.",
  "migration.whatsNew.features.agentManager.title": "Agent Manager",
  "migration.whatsNew.features.agentManager.detail":
    "A unified interface for running multiple agents in parallel, each on its own worktree — monitor progress, switch context, and review changes in one place.",
  "migration.whatsNew.features.foundation.title": "Shared Foundation",
  "migration.whatsNew.features.foundation.detail":
    "One small, efficient core across every Kilo product. A familiar experience however you choose to work.",
  "migration.whatsNew.blogLink": "Read the full announcement",
  "migration.whatsNew.docsLink": "What's new & FAQ",
  "migration.whatsNew.continue": "Continue",

  // Screen 2 — Migrate Settings
  "migration.migrate.title": "Migrate Your Settings",
  "migration.migrate.subtitle": "We found settings from your previous installation. Here's what we can bring over.",
  "migration.migrate.selectLabel": "Select what to migrate",
  "migration.migrate.cannotMigrate": "Cannot be migrated",
  "migration.migrate.chatHistory": "Chat Sessions & History",
  "migration.migrate.chatHistoryDesc": "Incompatible with the new architecture",
  "migration.migrate.button": "Migrate Settings",
  "migration.migrate.skip": "Skip",
  "migration.migrate.keysDetected": "{{count}} keys detected",
  "migration.migrate.serversConfigured": "{{count}} server(s) configured",
  "migration.migrate.modesFound": "{{count}} mode(s) found",
  "migration.migrate.sessionsDetected": "{{count}} sessions detected",
  "migration.migrate.nothingToMigrate": "Nothing to migrate was found in the legacy settings.",

  // Migrate — item labels (reused from old select keys)
  "migration.select.providers": "Provider API Keys",
  "migration.select.mcpServers": "MCP Servers",
  "migration.select.customModes": "Custom Modes / Agents",
  "migration.select.defaultModel": "Default Model",
  "migration.select.autoApproval": "Auto-Approval",
  "migration.select.language": "UI Language",
  "migration.select.autocomplete": "Autocomplete Settings",

  // Migrate — completion
  "migration.complete.summary": "{{success}} of {{total}} items migrated successfully.",
  "migration.complete.cleanup": "Remove legacy settings data",
  "migration.complete.cleanupDescription":
    "This removes the old settings from VS Code storage. You will not be able to re-run this migration.",
  "migration.complete.done": "Done",
  "migration.error.sessionFailed": "Session migration failed",
  "migration.error.continue": "Continue",
  "migration.error.action.copy": "Copy",
  "migration.error.toast.copied": "Error copied to clipboard",
  "migration.sessionSummary.title": "Summary:",
  "migration.sessionSummary.copy": "Copy Report",
  "migration.sessionSummary.toast.copied": "Copied report",
  "migration.sessionSummary.successful": "Successful",
  "migration.sessionSummary.skipped": "Skipped",
  "migration.sessionSummary.alreadyMigrated": "Already migrated",
  "migration.sessionSummary.errored": "Errored",
  "migration.sessionSummary.none": "None",
  "migration.forceReimport.title": "Force Re-import",
  "migration.forceReimport.description":
    "Re-importing {{target}} will overwrite them and delete any new messages already made in those sessions.",
  "migration.forceReimport.target.one": "this session",
  "migration.forceReimport.target.many": "these {{count}} sessions",
  "migration.forceReimport.button": "Force Re-import",
  "migration.forceReimport.all": "Re-import all",
  "migration.forceReimport.proceed": "Proceed",
  "migration.forceReimport.toast.started": "Force re-import started",
  "migration.running.title": "Migration in Progress",
  "migration.running.description.line1": "You are about to finish while there are still sessions being migrated.",
  "migration.running.description.line2": "If you leave now, some sessions may remain incomplete.",
  "migration.running.stay": "Stay",
  "migration.running.proceed": "Proceed",
  "migration.sessionProgress.preparing": "Preparing session",
  "migration.sessionProgress.storing": "Storing session",
  "migration.sessionProgress.skipped": "Session skipped",
  "migration.sessionProgress.header": "Migrating {{current}} of {{total}}",
  "migration.sessionFormat.unknownDate": "Unknown date",
  "migration.sessionFormat.unknown": "Unknown",
  "migration.sessionFormat.unknownError": "Unknown error",
  // legacy-migration end

  "error.details.show": "Details",

  "task.todos.progress": "{{done}}/{{total}} to-dos done",
  "task.todos.allDone": "{{count}} to-dos done",

  "settings.saveBar.unsavedChanges": "Unsaved changes",
  "settings.saveBar.discard": "Discard",
  "settings.saveBar.save": "Save",
  "settings.saveBar.saving": "Saving…",
  "settings.saveBar.warning.one": "One session is running and will be interrupted",
  "settings.saveBar.warning.many": "Several sessions are running and will be interrupted",
  "settings.saveBar.saveAnyway": "Save anyway",
  "settings.saveBar.cancel": "Cancel",
  "settings.saveBar.saveFailed": "Couldn't save settings",

  "notifications.action.next": "Next",
  "notifications.action.close": "Close",
  "notifications.action.tryModel": "Try {{model}}",
  "notifications.action.tryModelGeneric": "Try Model",

  "diffViewer.source.workspace.label": "Branch",
  "diffViewer.source.workspace.tooltip":
    "All changes on this branch compared to the base branch. Includes uncommitted files (staged, unstaged, untracked) and local commits not yet in the base.",
  "diffViewer.source.staged.label": "Staged",
  "diffViewer.source.staged.tooltip":
    "Files with changes you've added to git's staging area (`git add`), as they will appear in the next commit.",
  "diffViewer.source.unstaged.label": "Unstaged",
  "diffViewer.source.unstaged.tooltip":
    "Files modified in your working tree but not yet staged, plus untracked (new) files.",
  "diffViewer.source.session.label": "Session",
  "diffViewer.source.session.tooltip":
    "Files changed by Kilo during the current session, based on per-turn snapshots. Resets when you start a new session.",
  "diffViewer.group.session": "Session",
  "diffViewer.group.git": "Git",
  "diffViewer.notice.snapshotsDisabled":
    "Snapshots are disabled for this repository. Please edit your configuration files in order to display session changes.",

  "diffViewer.baseBranch.auto": "Default",
  "diffViewer.baseBranch.default": "Default",
  "diffViewer.baseBranch.remote": "Remote",
  "diffViewer.baseBranch.search": "Search branches",
  "diffViewer.baseBranch.empty": "No matching branches",
  "diffViewer.baseBranch.loading": "Loading branches…",
  "diffViewer.baseBranch.none": "—",

  "plan.exit.ready": "Plan is ready:",
}
