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.terminal": "Terminal", "command.category.model": "Model", "command.category.mcp": "MCP", "command.category.agent": "Agent", "command.category.permissions": "Permissions", "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.session.previous": "Previous session", "command.session.next": "Next 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.file.open": "Open file", "command.file.open.description": "Search files and commands", "command.terminal.toggle": "Toggle terminal", "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.session.undo": "Undo", "command.session.undo.description": "Undo the last message", "command.session.redo": "Redo", "command.session.redo.description": "Redo the last undone message", "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", "palette.search.placeholder": "Search files and commands", "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.popular": "Popular", "dialog.provider.group.other": "Other", "dialog.provider.tag.recommended": "Recommended", "dialog.provider.anthropic.note": "Connect with Claude Pro/Max or API key", "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.unpaid.freeModels.title": "Free models provided by OpenCode", "dialog.model.unpaid.addMore.title": "Add more models from popular providers", "dialog.provider.viewAll": "View all 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 OpenCode.", "provider.connect.apiKey.label": "{{provider}} API key", "provider.connect.apiKey.placeholder": "API key", "provider.connect.apiKey.required": "API key is required", "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.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 OpenCode.", "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 OpenCode.", "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.", "model.tag.free": "Free", "model.tag.latest": "Latest", "common.search.placeholder": "Search", "common.loading": "Loading", "common.cancel": "Cancel", "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.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.context.active": "active", "prompt.context.includeActiveFile": "Include active file", "prompt.action.attachFile": "Attach file", "prompt.action.send": "Send", "prompt.action.stop": "Stop", "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", "mcp.status.connected": "connected", "mcp.status.failed": "failed", "mcp.status.needs_auth": "needs auth", "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 OpenCode 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", "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.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", "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", "language.en": "English", "language.zh": "Chinese", "toast.language.title": "Language", "toast.language.description": "Switched to {{language}}", "toast.theme.title": "Theme switched", "toast.scheme.title": "Color scheme", "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.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.listFailed.title": "Failed to load sessions for {{project}}", "toast.update.title": "Update available", "toast.update.description": "A new version of OpenCode ({{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 OpenCode 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.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, OpenCode 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.description": "{{sessionTitle}} in {{projectName}} needs permission", "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.review.filesChanged": "{{count}} Files Changed", "session.review.loadingChanges": "Loading changes...", "session.review.empty": "No changes in this session yet", "session.messages.renderEarlier": "Render earlier messages", "session.messages.loadingEarlier": "Loading earlier messages...", "session.messages.loadEarlier": "Load earlier messages", "session.messages.loading": "Loading messages...", "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.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}}", "common.closeTab": "Close tab", "common.dismiss": "Dismiss", "common.requestFailed": "Request failed", "common.moreOptions": "More options", "common.learnMore": "Learn more", "common.rename": "Rename", "common.reset": "Reset", "common.delete": "Delete", "common.close": "Close", "common.edit": "Edit", "common.loadMore": "Load more", "sidebar.settings": "Settings", "sidebar.help": "Help", "sidebar.workspaces.enable": "Enable workspaces", "sidebar.workspaces.disable": "Disable workspaces", "sidebar.gettingStarted.title": "Getting started", "sidebar.gettingStarted.line1": "OpenCode 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", "settings.section.desktop": "Desktop", "settings.tab.general": "General", "settings.tab.shortcuts": "Shortcuts", "settings.general.section.appearance": "Appearance", "settings.general.section.notifications": "System notifications", "settings.general.section.sounds": "Sound effects", "settings.general.row.language.title": "Language", "settings.general.row.language.description": "Change the display language for OpenCode", "settings.general.row.appearance.title": "Appearance", "settings.general.row.appearance.description": "Customise how OpenCode looks on your device", "settings.general.row.theme.title": "Theme", "settings.general.row.theme.description": "Customise how OpenCode is themed.", "settings.general.row.font.title": "Font", "settings.general.row.font.description": "Customise the mono font used in code blocks", "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.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.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", "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.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.", }