{
  "ai-chat-ui.show-settings": "Show AI Settings",
  "ai-chat:summarize-session-as-task-for-coder": "Summarize Session as Task for Coder",
  "ai.executePlanWithCoder": "Execute Current Plan with Coder",
  "ai.updateTaskContext": "Update Current Task Context",
  "aiConfiguration:open": "Open AI Configuration view",
  "aiHistory:clear": "AI History: Clear History",
  "aiHistory:open": "Open AI History view",
  "aiHistory:sortChronologically": "AI History: Sort chronologically",
  "aiHistory:sortReverseChronologically": "AI History: Sort reverse chronologically",
  "aiHistory:toggleCompact": "AI History: Toggle compact view",
  "aiHistory:toggleHideNewlines": "AI History: Stop interpreting newlines",
  "aiHistory:toggleRaw": "AI History: Toggle raw view",
  "aiHistory:toggleRenderNewlines": "AI History: Interpret newlines",
  "debug.breakpoint.editCondition": "Edit Condition...",
  "debug.breakpoint.removeSelected": "Remove Selected Breakpoints",
  "debug.breakpoint.toggleEnabled": "Toggle Enable Breakpoints",
  "notebook.cell.changeToCode": "Change Cell to Code",
  "notebook.cell.changeToMarkdown": "Change Cell to Markdown",
  "notebook.cell.insertMarkdownCellAbove": "Insert Markdown Cell Above",
  "notebook.cell.insertMarkdownCellBelow": "Insert Markdown Cell Below",
  "terminal:new:profile": "Create New Integrated Terminal from a Profile",
  "terminal:profile:default": "Choose the default Terminal Profile",
  "theia": {
    "ai": {
      "agents": {
        "completionNotification": {
          "mdDescription": "Notification behavior when this agent completes a task. If not set, the global default notification setting will be used.\n                - `os-notification`: Show OS/system notifications\n                - `message`: Show notifications in the status bar/message area\n                - `blink`: Blink or highlight the UI\n                - `off`: Disable notifications for this agent",
          "title": "Completion Notification"
        },
        "enable": {
          "mdDescription": "Specifies whether the agent should be enabled (true) or disabled (false).",
          "title": "Enable Agent"
        },
        "languageModelRequirements": {
          "identifier": {
            "mdDescription": "The identifier of the language model to be used."
          },
          "mdDescription": "Specifies the used language models for this agent.",
          "purpose": {
            "mdDescription": "The purpose for which this language model is used.",
            "title": "Purpose"
          },
          "title": "Language Model Requirements"
        },
        "mdDescription": "Configure agent settings such as enabling or disabling specific agents, configuring prompts and         selecting LLMs.",
        "selectedVariants": {
          "mdDescription": "Specifies the currently selected prompt variants for this agent.",
          "title": "Selected Variants"
        },
        "title": "Agent Settings"
      },
      "anthropic": {
        "apiKey": {
          "description": "Enter an API Key of your official Anthropic Account. **Please note:** By using this preference the Anthropic API key will be stored in clear text            on the machine running Theia. Use the environment variable `ANTHROPIC_API_KEY` to set the key securely."
        },
        "models": {
          "description": "Official Anthropic models to use"
        }
      },
      "chat": {
        "agent": {
          "architect": "Architect",
          "coder": "Coder",
          "universal": "Universal"
        },
        "applySuggestion": "Apply suggestion",
        "bypassModelRequirement": {
          "description": "Bypass the language model requirement check. Enable this if you are using external agents (e.g., Claude Code) that do not require Theia language models."
        },
        "changeSetDefaultTitle": "Suggested Changes",
        "changeSetFileDiffUriLabel": "AI Changes: {0}",
        "chatAgentsVariable": {
          "description": "Returns the list of chat agents available in the system"
        },
        "chatSessionNamingAgent": {
          "description": "Agent for generating chat session names",
          "vars": {
            "conversation": {
              "description": "The content of the chat conversation."
            },
            "listOfSessionNames": {
              "description": "The list of existing session names."
            }
          }
        },
        "chatSessionSummaryAgent": {
          "description": "Agent for generating chat session summaries."
        },
        "confirmApplySuggestion": "The file {0} has changed since this suggestion was created. Are you certain you wish to apply the change?",
        "confirmRevertSuggestion": "The file {0} has changed since this suggestion was created. Are you certain you wish to revert the change?",
        "couldNotFindMatchingLM": "Couldn't find a matching language model. Please check your setup!",
        "couldNotFindReadyLMforAgent": "Couldn't find a ready language model for agent {0}. Please check your setup!",
        "defaultAgent": {
          "description": "Optional: <agent-name> of the Chat Agent that shall be invoked, if no agent is explicitly mentioned with @<agent-name> in the user query.         If no Default Agent is configured, Theia´s defaults will be applied."
        },
        "imageContextVariable": {
          "args": {
            "data": {
              "description": "The image data in base64."
            },
            "mimeType": {
              "description": "The mimetype of the image."
            },
            "name": {
              "description": "The name of the image file if available."
            },
            "wsRelativePath": {
              "description": "The workspace-relative path of the image file if available."
            }
          },
          "description": "Provides context information for an image",
          "label": "Image File"
        },
        "orchestrator": {
          "description": "This agent analyzes the user request against the description of all available chat agents and selects the best fitting agent to answer the request     (by using AI).The user's request will be directly delegated to the selected agent without further confirmation.",
          "vars": {
            "availableChatAgents": {
              "description": "The list of chat agents that the orchestrator can delegate to, excluding agents specified in the exclusion list preference."
            }
          }
        },
        "pinChatAgent": {
          "description": "Enable agent pinning to automatically keep a mentioned chat agent active across prompts, reducing the need for repeated mentions.        You can manually unpin or switch agents anytime."
        },
        "revertSuggestion": "Revert suggestion",
        "selectImageFile": "Select an image file",
        "sessionStorage": {
          "description": "Configure where to store chat sessions.",
          "globalPath": "Global Path",
          "pathNotUsedForScope": "Not used with {0} storage scope.",
          "pathRequired": "Path cannot be empty",
          "pathSettings": "Path Settings",
          "resetToDefault": "Reset to default",
          "scope": {
            "global": "Store chat sessions in the global configuration folder.",
            "workspace": "Store chat sessions in the workspace folder."
          },
          "workspacePath": "Workspace Path"
        },
        "taskContextService": {
          "summarizeProgressMessage": "Summarize: {0}",
          "updatingProgressMessage": "Updating: {0}"
        },
        "toolConfirmation": {
          "confirm": {
            "description": "Ask for confirmation before executing tools"
          },
          "disabled": {
            "description": "Disable tool execution"
          },
          "yolo": {
            "description": "Execute tools automatically without confirmation"
          }
        },
        "view": {
          "label": "AI Chat"
        }
      },
      "chat-ui": {
        "addContextVariable": "Add context variable",
        "agent": "Agent",
        "aiDisabled": "AI features are disabled",
        "applyAll": "Apply All",
        "applyAllTitle": "Apply all pending changes",
        "askQuestion": "Ask a question",
        "attachToContext": "Attach elements to context",
        "cancel": "Cancel (Esc)",
        "chat-view-tree-widget": {
          "ai": "AI",
          "aiFeatureHeader": "🚀 AI Features Available (Beta Version)!",
          "featuresDisabled": "Currently, all AI Features are disabled!",
          "generating": "Generating",
          "howToEnable": "How to Enable the AI Features:",
          "noRenderer": "Error: No renderer found",
          "scrollToBottom": "Jump to latest message",
          "waitingForInput": "Waiting for input",
          "you": "You"
        },
        "chatInput": {
          "clearHistory": "Clear Input Prompt History",
          "cycleMode": "Cycle Chat Mode",
          "nextPrompt": "Next Prompt",
          "previousPrompt": "Previous Prompt"
        },
        "chatInputAriaLabel": "Type your message here",
        "chatResponses": "Chat responses",
        "code-part-renderer": {
          "generatedCode": "Generated Code"
        },
        "collapseChangeSet": "Collapse Change Set",
        "command-part-renderer": {
          "commandNotExecutable": "The command has the id \"{0}\" but it is not executable from the Chat window."
        },
        "copyCodeBlock": "Copy Code Block",
        "couldNotSendRequestToSession": "Was not able to send request \"{0}\" to session {1}",
        "delegation-response-renderer": {
          "prompt": {
            "label": "Delegated prompt:"
          },
          "response": {
            "label": "Response:"
          },
          "starting": "Starting delegation...",
          "status": {
            "canceled": "canceled",
            "error": "error",
            "generating": "generating...",
            "starting": "starting..."
          }
        },
        "deleteChangeSet": "Delete Change Set",
        "editRequest": "Edit",
        "edited": "edited",
        "editedTooltipHint": "This prompt variant has been edited. You can reset it in the AI Configuration view.",
        "enterChatName": "Enter chat name",
        "errorChatInvocation": "An error occurred during chat service invocation.",
        "expandChangeSet": "Expand Change Set",
        "failedToDeleteSession": "Failed to delete chat session",
        "failedToLoadChats": "Failed to load chat sessions",
        "failedToRestoreSession": "Failed to restore chat session",
        "failedToRetry": "Failed to retry message",
        "focusInput": "Focus Chat Input",
        "focusResponse": "Focus Chat Response",
        "noChatAgentsAvailable": "No chat agents available.",
        "openDiff": "Open Diff",
        "openOriginalFile": "Open Original File",
        "performThisTask": "Perform this task.",
        "persistedSession": "Persisted session (click to restore)",
        "removeChat": "Remove Chat",
        "renameChat": "Rename Chat",
        "requestNotFoundForRetry": "Request not found for retry",
        "responseFrom": "Response from {0}",
        "selectAgentQuickPickPlaceholder": "Select an agent for the new session",
        "selectChat": "Select chat",
        "selectContextVariableQuickPickPlaceholder": "Select a context variable to be attached to the message",
        "selectTaskContextQuickPickItem": {
          "currentlyOpen": "currently open"
        },
        "selectTaskContextQuickPickPlaceholder": "Select a task context to attach",
        "selectVariableArguments": "Select variable arguments",
        "send": "Send (Enter)",
        "sessionNotFoundForRetry": "Session not found for retry",
        "text-part-renderer": {
          "cantDisplay": "Can't display response, please check your ChatResponsePartRenderers!"
        },
        "thinking-part-renderer": {
          "thinking": "Thinking"
        },
        "toolcall-part-renderer": {
          "denied": "Execution denied",
          "finished": "Ran",
          "rejected": "Execution canceled"
        },
        "toolconfirmation": {
          "allow-options-dropdown-tooltip": "More Allow Options",
          "allow-session": "Allow for this Chat",
          "allowed": "Tool execution allowed",
          "alwaysAllowConfirm": "I understand, enable auto-approval",
          "alwaysAllowTitle": "Enable Auto-Approval for \"{0}\"?",
          "canceled": "Tool execution canceled",
          "denied": "Tool execution denied",
          "deny-forever": "Always Deny",
          "deny-options-dropdown-tooltip": "More Deny Options",
          "deny-reason-placeholder": "Enter reason for denial...",
          "deny-session": "Deny for this Chat",
          "deny-with-reason": "Deny with reason...",
          "executionDenied": "Tool execution denied",
          "header": "Confirm Tool Execution"
        },
        "unableToSummarizeCurrentSession": "Unable to summarize current session. Please confirm that the summary agent is not disabled.",
        "unknown-part-renderer": {
          "contentNotRestoreable": "This content (type '{0}') could not be fully restored. It may be from an extension that is no longer available."
        },
        "unpinAgent": "Unpin Agent",
        "variantTooltip": "Prompt variant: {0}",
        "yourMessage": "Your message"
      },
      "claude-code": {
        "agentDescription": "Anthropic's coding agent",
        "askBeforeEdit": "Ask before edit",
        "changeSetTitle": "Changes by Claude Code",
        "clearCommand": {
          "description": "Create a new session"
        },
        "compactCommand": {
          "description": "Compact conversation with optional focus instructions"
        },
        "completedCount": "{0}/{1} completed",
        "configCommand": {
          "description": "Open Claude Code Configuration"
        },
        "currentDirectory": "current directory",
        "differentAgentRequestWarning": "The previous chat request was handled by a different agent. Claude Code does not see those other messages.",
        "directory": "Directory",
        "domain": "Domain",
        "editAutomatically": "Edit automatically",
        "editNumber": "Edit {0}",
        "editing": "Editing",
        "editsCount": "{0} edits",
        "emptyTodoList": "No todos available",
        "entireFile": "Entire File",
        "excludingOnePattern": " (exluding 1 pattern)",
        "excludingPatterns": " (excluding {0} patterns)",
        "executedCommand": "Executed: {0}",
        "failedToParseBashToolData": "Failed to parse Bash tool data",
        "failedToParseEditToolData": "Failed to parse Edit tool data",
        "failedToParseGlobToolData": "Failed to parse Glob tool data",
        "failedToParseGrepToolData": "Failed to parse Grep tool data",
        "failedToParseLSToolData": "Failed to parse LS tool data",
        "failedToParseMultiEditToolData": "Failed to parse MultiEdit tool data",
        "failedToParseReadToolData": "Failed to parse Read tool data",
        "failedToParseTodoListData": "Failed to parse todo list data",
        "failedToParseWebFetchToolData": "Failed to parse WebFetch tool data",
        "failedToParseWriteToolData": "Failed to parse Write tool data",
        "fetching": "Fetching",
        "fileFilter": "File Filter",
        "filePath": "File Path",
        "fileType": "File Type",
        "findMatchingFiles": "Find files matching the glob pattern \"{0}\" in the current directory",
        "findMatchingFilesWithPath": "Find files matching the glob pattern \"{0}\" within {1}",
        "finding": "Finding",
        "from": "From",
        "globPattern": "glob pattern",
        "grepOptions": {
          "caseInsensitive": "case-insensitive",
          "glob": "glob: {0}",
          "headLimit": "limit: {0}",
          "lineNumbers": "line numbers",
          "linesAfter": "+{0} after",
          "linesBefore": "+{0} before",
          "linesContext": "±{0} context",
          "multiLine": "multiline",
          "type": "type: {0}"
        },
        "grepOutputModes": {
          "content": "content",
          "count": "count",
          "filesWithMatches": "files with matches"
        },
        "ignoredPatterns": "Ignored Patterns",
        "ignoringPatterns": "Ignoring {0} patterns",
        "initCommand": {
          "description": "Initialize project with CLAUDE.md guide"
        },
        "itemCount": "{0} items",
        "lineLimit": "Line Limit",
        "lines": "Lines",
        "listDirectoryContents": "List directory contents",
        "listing": "Listing",
        "memoryCommand": {
          "description": "Edit CLAUDE.md memory file"
        },
        "multiEditing": "Multi-editing",
        "oneEdit": "1 edit",
        "oneItem": "1 item",
        "oneOption": "1 option",
        "openDirectoryTooltip": "Click to open directory",
        "openFileTooltip": "Click to open file in editor",
        "optionsCount": "{0} options",
        "partial": "Partial",
        "pattern": "Pattern",
        "plan": "Plan mode",
        "project": "project",
        "projectRoot": "project root",
        "readMode": "Read Mode",
        "reading": "Reading",
        "replaceAllCount": "{0} replace-all",
        "replaceAllOccurrences": "Replace all occurrences",
        "resumeCommand": {
          "description": "Resume a session"
        },
        "reviewCommand": {
          "description": "Request code review"
        },
        "searchPath": "Search Path",
        "searching": "Searching",
        "startingLine": "Starting Line",
        "timeout": "Timeout",
        "timeoutInMs": "Timeout: {0}ms",
        "to": "To",
        "todoList": "Todo List",
        "todoPriority": {
          "high": "high",
          "low": "low",
          "medium": "medium"
        },
        "toolApprovalRequest": "Claude Code wants to use the \"{0}\" tool. Do you want to allow this?",
        "totalEdits": "Total Edits",
        "webFetch": "Web Fetch",
        "writing": "Writing"
      },
      "code-completion": {
        "progressText": "Calculating AI code completion..."
      },
      "codex": {
        "agentDescription": "OpenAI's coding assistant powered by Codex",
        "completedCount": "{0}/{1} completed",
        "exitCode": "Exit code: {0}",
        "fileChangeFailed": "Codex failed to apply changes for: {0}",
        "fileChangeFailedGeneric": "Codex failed to apply file changes.",
        "itemCount": "{0} items",
        "noItems": "No items",
        "oneItem": "1 item",
        "running": "Running...",
        "searched": "Searched",
        "searching": "Searching",
        "todoList": "Todo List",
        "webSearch": "Web Search"
      },
      "completion": {
        "agent": {
          "description": "This agent provides inline code completion in the code editor in the Theia IDE.",
          "vars": {
            "file": {
              "description": "The URI of the file being edited"
            },
            "language": {
              "description": "The languageId of the file being edited"
            },
            "prefix": {
              "description": "The code before the current cursor position"
            },
            "suffix": {
              "description": "The code after the current cursor position"
            }
          }
        },
        "automaticEnable": {
          "description": "Automatically trigger AI completions inline within any (Monaco) editor while editing.            \n            Alternatively, you can manually trigger the code via the command \"Trigger Inline Suggestion\" or the default shortcut \"Ctrl+Alt+Space\"."
        },
        "cacheCapacity": {
          "description": "Maximum number of code completions to store in the cache. A higher number can improve performance but will consume more memory.                Minimum value is 10, recommended range is between 50-200.",
          "title": "Code Completion Cache Capacity"
        },
        "debounceDelay": {
          "description": "Controls the delay in milliseconds before triggering AI completions after changes have been detected in the editor.                Requires `Automatic Code Completion` to be enabled. Enter 0 to disable the debounce delay.",
          "title": "Debounce Delay"
        },
        "excludedFileExts": {
          "description": "Specify file extensions (e.g., .md, .txt) where AI completions should be disabled.",
          "title": "Excluded File Extensions"
        },
        "fileVariable": {
          "description": "The URI of the file being edited. Only available in code completion context."
        },
        "languageVariable": {
          "description": "The languageId of the file being edited. Only available in code completion context."
        },
        "maxContextLines": {
          "description": "The maximum number of lines used as context, distributed among the lines before and after the cursor position (prefix and suffix).            Set this to -1 to use the full file as context without any line limit and 0 to only use the current line.",
          "title": "Maximum Context Lines"
        },
        "prefixVariable": {
          "description": "The code before the current cursor position. Only available in code completion context."
        },
        "stripBackticks": {
          "description": "Remove surrounding backticks from the code returned by some LLMs. If a backtick is detected, all content after the closing             backtick is stripped as well. This setting helps ensure plain code is returned when language models use markdown-like formatting.",
          "title": "Strip Backticks from Inline Completions"
        },
        "suffixVariable": {
          "description": "The code after the current cursor position. Only available in code completion context."
        }
      },
      "configuration": {
        "selectItem": "Please select an item."
      },
      "copilot": {
        "auth": {
          "aiConfiguration": "AI Configuration",
          "authorize": "I have authorized",
          "copied": "Copied!",
          "copyCode": "Copy code",
          "expired": "Authorization expired or was denied. Please try again.",
          "hint": "After entering the code and authorizing, click \"I have authorized\" below.",
          "initiating": "Initiating authentication...",
          "instructions": "To authorize Theia to use GitHub Copilot, visit the URL below and enter the code:",
          "openGitHub": "Open GitHub",
          "success": "Successfully signed in to GitHub Copilot!",
          "successHint": "If your GitHub account has access to Copilot, you can now configure Copilot language models in the ",
          "title": "Sign in to GitHub Copilot",
          "tos": "By signing in, you agree to the ",
          "tosLink": "GitHub Terms of Service",
          "verifying": "Verifying authorization..."
        },
        "category": "Copilot",
        "commands": {
          "signIn": "Sign in to GitHub Copilot",
          "signOut": "Sign out of GitHub Copilot"
        },
        "enterpriseUrl": {
          "mdDescription": "GitHub Enterprise domain for Copilot API (e.g., `github.mycompany.com`). Leave empty for GitHub.com."
        },
        "models": {
          "description": "GitHub Copilot models to use. Available models depend on your Copilot subscription."
        },
        "statusBar": {
          "signedIn": "Signed in to GitHub Copilot as {0}. Click to sign out.",
          "signedOut": "Not signed in to GitHub Copilot. Click to sign in."
        }
      },
      "core": {
        "agentConfiguration": {
          "actions": "Actions",
          "addCustomAgent": "Add Custom Agent",
          "enableAgent": "Enable Agent",
          "label": "Agents",
          "llmRequirements": "LLM Requirements",
          "notUsedInPrompt": "Not used in prompt",
          "promptTemplates": "Prompt Templates",
          "selectAgentMessage": "Please select an Agent first!",
          "templateName": "Template",
          "undeclared": "Undeclared",
          "usedAgentSpecificVariables": "Used Agent-Specific Variables",
          "usedFunctions": "Used Functions",
          "usedGlobalVariables": "Used Global Variables",
          "variant": "Variant"
        },
        "agentsVariable": {
          "description": "Returns the list of agents available in the system"
        },
        "aiConfiguration": {
          "label": "AI Configuration [Beta]"
        },
        "blinkTitle": {
          "agentCompleted": "Theia - Agent Completed",
          "namedAgentCompleted": "Theia - Agent \"{0}\" Completed"
        },
        "changeSetSummaryVariable": {
          "description": "Provides a summary of the files in a change set and their contents."
        },
        "contextDetailsVariable": {
          "description": "Provides full text values and descriptions for all context elements."
        },
        "contextSummaryVariable": {
          "description": "Describes files in the context for a given session."
        },
        "customAgentTemplate": {
          "description": "This is an example agent. Please adapt the properties to fit your needs."
        },
        "defaultModelAliases": {
          "code": {
            "description": "Optimized for code understanding and generation tasks."
          },
          "code-completion": {
            "description": "Best suited for code autocompletion scenarios."
          },
          "summarize": {
            "description": "Models prioritized for summarization and condensation of content."
          },
          "universal": {
            "description": "Well-balanced for both code and general language use."
          }
        },
        "defaultNotification": {
          "mdDescription": "The default notification method used when an AI agent completes a task. Individual agents can override this setting.\n                - `os-notification`: Show OS/system notifications\n                - `message`: Show notifications in the status bar/message area\n                - `blink`: Blink or highlight the UI\n                - `off`: Disable all notifications",
          "title": "Default Notification Type"
        },
        "discard": {
          "label": "Discard AI Prompt Template"
        },
        "discardCustomPrompt": {
          "tooltip": "Discard Customizations"
        },
        "fileVariable": {
          "description": "Resolves the contents of a file",
          "uri": {
            "description": "The URI of the requested file."
          }
        },
        "languageModelRenderer": {
          "alias": "[alias] {0}",
          "languageModel": "Language Model",
          "purpose": "Purpose"
        },
        "maxRetries": {
          "mdDescription": "The maximum number of retry attempts when a request to an AI provider fails. A value of 0 means no retries.",
          "title": "Maximum Retries"
        },
        "modelAliasesConfiguration": {
          "agents": "Agents using this Alias",
          "defaultList": "[Default list]",
          "evaluatesTo": "Evaluates to",
          "label": "Model Aliases",
          "modelNotReadyTooltip": "Not ready",
          "modelReadyTooltip": "Ready",
          "noAgents": "No agents use this alias.",
          "noModelReadyTooltip": "No model ready",
          "noResolvedModel": "No model ready for this alias.",
          "priorityList": "Priority List",
          "selectAlias": "Please select a Model Alias.",
          "selectedModelId": "Selected Model",
          "unavailableModel": "Selected model is no longer available"
        },
        "noVariableFoundForOpenRequest": "No variable found for open request.",
        "openEditorsShortVariable": {
          "description": "Short reference to all currently open files (relative paths, comma-separated)"
        },
        "openEditorsVariable": {
          "description": "A comma-separated list of all currently open files, relative to the workspace root."
        },
        "preference": {
          "languageModelAliases": {
            "description": "Configure models for each language model alias in the [AI Configuration View]({0}). Alternatiely you can set the settings manually in the settings.json: \n```\n\"default/code\": {\n  \"selectedModel\": \"anthropic/claude-opus-4-20250514\"\n}\n```",
            "selectedModel": "The user-selected model for this alias.",
            "title": "Language Model Aliases"
          }
        },
        "prefs": {
          "title": "AI Features [Beta]"
        },
        "promptFragmentsConfiguration": {
          "activeCustomizationTitle": "Active customization",
          "createCustomizationTitle": "Create Customization",
          "customization": "customization",
          "customizationLabel": "Customization",
          "defaultVariantTitle": "Default variant",
          "deleteCustomizationTitle": "Delete Customization",
          "editTemplateTitle": "Edit template",
          "headerTitle": "Prompt Fragments",
          "label": "Prompt Fragments",
          "noFragmentsAvailable": "No prompt fragments available.",
          "otherPromptFragmentsHeader": "Other Prompt Fragments",
          "promptTemplateText": "Prompt Template Text",
          "promptVariantsHeader": "Prompt Variant Sets",
          "removeCustomizationDialogMsg": "Are you sure you want to remove the {0} customization for prompt fragment \"{1}\"?",
          "removeCustomizationDialogTitle": "Remove Customization",
          "removeCustomizationWithDescDialogMsg": "Are you sure you want to remove the {0} customization for prompt fragment \"{1}\" ({2})?",
          "resetAllButton": "Reset All",
          "resetAllCustomizationsDialogMsg": "Are you sure you want to reset all prompt fragments to their built-in versions? This will remove all customizations.",
          "resetAllCustomizationsDialogTitle": "Reset All Customizations",
          "resetAllCustomizationsTitle": "Reset all customizations",
          "resetAllPromptFragments": "Reset all prompt fragments",
          "resetToBuiltInDialogMsg": "Are you sure you want to reset the prompt fragment \"{0}\" to its built-in version? This will remove all customizations.",
          "resetToBuiltInDialogTitle": "Reset to Built-in",
          "resetToBuiltInTitle": "Reset to this built-in",
          "resetToCustomizationDialogMsg": "Are you sure you want to reset the prompt fragment \"{0}\" to use the {1} customization? This will remove all higher-priority customizations.",
          "resetToCustomizationDialogTitle": "Reset to Customization",
          "resetToCustomizationTitle": "Reset to this customization",
          "selectedVariantLabel": "Selected",
          "selectedVariantTitle": "Selected variant",
          "usedByAgentTitle": "Used by agent: {0}",
          "variantSetError": "The selected variant does not exist and no default could be found. Please check your configuration.",
          "variantSetWarning": "The selected variant does not exist. The default variant is being used instead.",
          "variantsOfSystemPrompt": "Variants of this prompt variant set:"
        },
        "promptTemplates": {
          "description": "Folder for storing customized prompt templates. If not customized the user config directory is used. Please consider to use a folder, which is            under version control to manage your variants of prompt templates.",
          "openLabel": "Select Folder"
        },
        "promptVariable": {
          "argDescription": "The prompt template id to resolve",
          "completions": {
            "detail": {
              "builtin": "Built-in prompt fragment",
              "custom": "Customized prompt fragment"
            }
          },
          "description": "Resolves prompt templates via the prompt service"
        },
        "prompts": {
          "category": "AI Prompt Templates"
        },
        "requestSettings": {
          "clientSettings": {
            "description": "Client settings for how to handle messages that are send back to the llm.",
            "keepThinking": {
              "description": "If set to false, all thinking output will be filtered before sending the next user request in a multi-turn conversation."
            },
            "keepToolCalls": {
              "description": "If set to false, all tool request and tool responses will be filtered                                     before sending the next user request in a multi-turn conversation."
            }
          },
          "mdDescription": "Allows specifying custom request settings for multiple models.\n            Each setting consists of:\n            - `scope`: Defines when the setting applies:\n              - `modelId` (optional): The model ID to match\n              - `providerId` (optional): The provider ID to match (e.g., huggingface, openai, ollama, llamafile)\n              - `agentId` (optional): The agent ID to match\n            - `requestSettings`: Model-specific settings as key-value pairs\n            - `clientSettings`: Client-side message handling settings:\n              - `keepToolCalls` (boolean): Whether to keep tool calls in the context\n              - `keepThinking` (boolean): Whether to keep thinking messages\n            Settings are matched based on specificity (agent: 100, model: 10, provider: 1 points).\n            Refer to [our documentation](https://theia-ide.org/docs/user_ai/#custom-request-settings) for more information.",
          "modelSpecificSettings": {
            "description": "Settings for the specific model ID."
          },
          "scope": {
            "agentId": {
              "description": "The (optional) agent id to apply the settings to."
            },
            "modelId": {
              "description": "The (optional) model id"
            },
            "providerId": {
              "description": "The (optional) provider id to apply the settings to."
            }
          },
          "title": "Custom Request Settings"
        },
        "skillsVariable": {
          "description": "Returns the list of available skills that can be used by AI agents"
        },
        "taskContextSummary": {
          "description": "Resolves all task context items present in the session context."
        },
        "templateSettings": {
          "edited": "edited",
          "unavailableVariant": "Unavailable"
        },
        "todayVariable": {
          "description": "Does something for today",
          "format": {
            "description": "The format of the date"
          }
        },
        "unableToDisplayVariableValue": "Unable to display variable value.",
        "unableToResolveVariable": "Unable to resolve variable.",
        "variable-contribution": {
          "builtInVariable": "Theia Built-in Variable",
          "currentAbsoluteFilePath": "The absolute path of the                 currently opened file. Please note that most agents will expect a relative file path (relative to the current workspace).",
          "currentFileContent": "The plain content of the                 currently opened file. This excludes the information where the content is coming from. Please note that most agents will work better with a relative file path                 (relative to the current workspace).",
          "currentRelativeDirPath": "The relative path of the directory                 containing the currently opened file.",
          "currentRelativeFilePath": "The relative path of the                 currently opened file.",
          "currentSelectedText": "The plain text that is currently selected in the                 opened file. This excludes the information where the content is coming from. Please note that most agents will work better with a relative file path                 (relative to the current workspace).",
          "dotRelativePath": "Short reference to the relative path of the                 currently opened file ('currentRelativeFilePath')."
        }
      },
      "editor": {
        "editorContextVariable": {
          "description": "Resolves editor specific context information",
          "label": "EditorContext"
        },
        "explainWithAI": {
          "prompt": "Explain this error",
          "title": "Explain with AI"
        },
        "fixWithAI": {
          "prompt": "Help to fix this error"
        }
      },
      "google": {
        "apiKey": {
          "description": "Enter an API Key of your official Google AI (Gemini) Account. **Please note:** By using this preference the GOOGLE AI API key will be stored in clear text            on the machine running Theia. Use the environment variable `GOOGLE_API_KEY` to set the key securely."
        },
        "maxRetriesOnErrors": {
          "description": "Maximum number of retries in case of errors. If smaller than 1, then the retry logic is disabled"
        },
        "models": {
          "description": "Official Google Gemini models to use"
        },
        "retryDelayOnOtherErrors": {
          "description": "Delay in seconds between retries in case of other errors (sometimes the Google GenAI reports errors such as incomplete JSON syntax returned from the model                 or 500 Internal Server Error). Setting this to -1 prevents retries in these cases. Otherwise a retry happens either immediately (if set to 0) or after                 this delay in seconds (if set to a positive number)."
        },
        "retryDelayOnRateLimitError": {
          "description": "Delay in seconds between retries in case of rate limit errors. See https://ai.google.dev/gemini-api/docs/rate-limits"
        }
      },
      "history": {
        "clear": {
          "tooltip": "Clear History of all agents"
        },
        "exchange-card": {
          "agentId": "Agent",
          "timestamp": "Started"
        },
        "open-history-tooltip": "Open AI history...",
        "request-card": {
          "agent": "Agent",
          "model": "Model",
          "request": "Request",
          "response": "Response",
          "timestamp": "Timestamp",
          "title": "Request"
        },
        "sortChronologically": {
          "tooltip": "Sort chronologically"
        },
        "sortReverseChronologically": {
          "tooltip": "Sort reverse chronologically"
        },
        "toggleCompact": {
          "tooltip": "Show compact view"
        },
        "toggleHideNewlines": {
          "tooltip": "Stop interpreting newlines"
        },
        "toggleRaw": {
          "tooltip": "Show raw view"
        },
        "toggleRenderNewlines": {
          "tooltip": "Interpret newlines"
        },
        "view": {
          "label": "AI Agent History [Beta]",
          "noAgent": "No agent available.",
          "noAgentSelected": "No agent selected.",
          "noHistoryForAgent": "No history available for the selected agent '{0}'"
        }
      },
      "huggingFace": {
        "apiKey": {
          "mdDescription": "Enter an API Key for your Hugging Face Account. **Please note:** By using this preference the Hugging Face API key will be stored in clear text            on the machine running Theia. Use the environment variable `HUGGINGFACE_API_KEY` to set the key securely."
        },
        "models": {
          "mdDescription": "Hugging Face models to use. **Please note:** Only models supporting the chat completion API are supported             (instruction-tuned models like `*-Instruct`) currently. Some models may require accepting license terms on the Hugging Face website."
        }
      },
      "ide": {
        "agent-description": "Configure AI agent settings including enablement, LLM selection, prompt template customization, and custom agent creation in the [AI Configuration View]({0}).",
        "agentConfiguration": {
          "customAgentLocationQuickPick": {
            "createNewFile": "Create new file",
            "openExistingFile": "Open existing file",
            "placeholder": "Choose where to create or open a custom agents file",
            "title": "Select Location for Custom Agents File"
          },
          "noDescription": "No description available"
        },
        "app-tester": {
          "errorCheckingDevToolsServerStatus": "Error checking DevTools MCP server status: {0}",
          "errorCheckingPlaywrightServerStatus": "Error checking Playwright MCP server status: {0}",
          "startChromeDevToolsMcpServers": {
            "canceled": "Please setup the Chrome DevTools MCP server.",
            "error": "Failed to start Chrome DevTools MCP server: {0}",
            "progress": "Starting Chrome DevTools MCP server.",
            "question": "The Chrome DevTools MCP server is not running. Would you like to start it now? This may install the Chrome DevTools MCP server."
          },
          "startMcpServers": {
            "no": "No, cancel",
            "yes": "Yes, start the servers"
          },
          "startPlaywrightServers": {
            "canceled": "Please setup the Playwright MCP servers.",
            "error": "Failed to start Playwright MCP servers: {0}",
            "progress": "Starting Playwright MCP servers.",
            "question": "The Playwright MCP servers are not running. Would you like to start them now? This may install the Playwright MCP servers."
          }
        },
        "architectAgent": {
          "mode": {
            "default": "Default Mode",
            "plan": "Plan Mode",
            "simple": "Simple Mode"
          },
          "suggestion": {
            "executePlanWithCoder": "Execute \"{0}\" with Coder",
            "summarizeSessionAsTaskForCoder": "Summarize this session as a task for Coder",
            "updateTaskContext": "Update current task context"
          }
        },
        "bypassHint": "Some agents like Claude Code don't require Theia Language Models",
        "chatDisabledMessage": {
          "featuresTitle": "Currently Supported Views and Features:"
        },
        "coderAgent": {
          "mode": {
            "agentNext": "Agent Mode (Next)",
            "edit": "Edit Mode"
          },
          "suggestion": {
            "fixProblems": {
              "content": "[Fix problems]({0}) in the current file.",
              "prompt": "please look at {1} and fix any problems."
            },
            "startNewChat": "Keep chats short and focused. [Start a new chat]({0}) for a new task or [start a new chat with a summary of this one]({1})."
          }
        },
        "commandAgent": {
          "commandCallback": {
            "confirmAction": "Got it",
            "label": "AI command"
          },
          "response": {
            "customHandler": "Try executing this:",
            "noCommand": "Sorry, I can't find such a command",
            "theiaCommand": "I found this command that might help you:"
          },
          "vars": {
            "commandIds": {
              "description": "The list of available commands in Theia."
            }
          }
        },
        "configureAgent": {
          "header": "Configure a default agent"
        },
        "continueAnyway": "Continue Anyway",
        "createSkillAgent": {
          "mode": {
            "edit": "Default Mode"
          }
        },
        "enableAI": {
          "mdDescription": "❗ This setting allows you to access the latest AI capabilities (Beta version).            \n            Please note that these features are in a beta phase, which means they may             undergo changes and will be further improved. It is important to be aware that these features may generate            continuous requests to the language models (LLMs) you provide access to. This might incur costs that you            need to monitor closely. By enabling this option, you acknowledge these risks.            \n            **Please note! The settings below in this section will only take effect\n            once the main feature setting is enabled. After enabling the feature, you need to configure at least one            LLM provider below. Also see [the documentation](https://theia-ide.org/docs/user_ai/)**."
        },
        "github": {
          "configureGitHubServer": {
            "canceled": "GitHub server configuration cancelled. Please configure the GitHub MCP server to use this agent.",
            "no": "No, cancel",
            "yes": "Yes, configure GitHub server"
          },
          "errorCheckingGitHubServerStatus": "Error checking GitHub MCP server status: {0}",
          "startGitHubServer": {
            "canceled": "Please start the GitHub MCP server to use this agent.",
            "error": "Failed to start GitHub MCP server: {0}",
            "no": "No, cancel",
            "progress": "Starting GitHub MCP server.",
            "question": "The GitHub MCP server is configured but not running. Would you like to start it now?",
            "yes": "Yes, start the server"
          }
        },
        "githubRepoName": {
          "description": "The name of the current GitHub repository (e.g., \"eclipse-theia/theia\")"
        },
        "model-selection-description": "Choose which Large Language Models (LLMs) are used by each AI agent in the [AI Configuration View]({0}).",
        "moreAgentsAvailable": {
          "header": "More agents are available"
        },
        "noRecommendedAgents": "No recommended agents are available.",
        "openSettings": "Open AI Settings",
        "or": "or",
        "orchestrator": {
          "error": {
            "noAgents": "No chat agent available to handle request. Please check your configuration whether any are enabled."
          },
          "progressMessage": "Determining the most appropriate agent",
          "response": {
            "delegatingToAgent": "Delegating to `@{0}`"
          }
        },
        "prompt-template-description": "Select prompt variants and customize prompt templates for AI agents in the [AI Configuration View]({0}).",
        "recommendedAgents": "Recommended agents:",
        "skillsConfiguration": {
          "label": "Skills",
          "location": {
            "label": "Location"
          }
        },
        "toolsConfiguration": {
          "confirmAlwaysAllow": {
            "confirm": "I understand, enable auto-approval",
            "title": "Enable Auto-Approval for \"{0}\"?"
          },
          "confirmationMode": {
            "label": "Confirmation Mode"
          },
          "default": {
            "label": "Default Tool Confirmation Mode:"
          },
          "resetAll": "Reset All",
          "resetAllConfirmDialog": {
            "msg": "Are you sure you want to reset all tool confirmation modes to the default? This will remove all custom settings.",
            "title": "Reset All Tool Confirmation Modes"
          },
          "resetAllTooltip": "Reset all tools to default",
          "toolOptions": {
            "confirm": {
              "label": "Confirm"
            }
          }
        },
        "variableConfiguration": {
          "selectVariable": "Please select a Variable.",
          "usedByAgents": "Used by Agents",
          "variableArgs": "Arguments"
        }
      },
      "llamaFile": {
        "prefs": {
          "mdDescription": "This setting allows you to configure and manage LlamaFile models in Theia IDE.            \n            Each entry requires a user-friendly `name`, the file `uri` pointing to your LlamaFile, and the `port` on which it will run.            \n            To start a LlamaFile, use the \"Start LlamaFile\" command, which enables you to select the desired model.            \n            If you edit an entry (e.g., change the port), any running instance will stop, and you will need to manually start it again.            \n            [Learn more about configuring and managing LlamaFiles in the Theia IDE documentation](https://theia-ide.org/docs/user_ai/#llamafile-models).",
          "name": {
            "description": "The model name to use for this Llamafile."
          },
          "port": {
            "description": "The port to use to start the server."
          },
          "title": "✨ AI LlamaFile",
          "uri": {
            "description": "The file uri to the Llamafile."
          }
        },
        "start": "Start Llamafile",
        "stop": "Stop Llamafile"
      },
      "llamafile": {
        "error": {
          "noConfigured": "No Llamafiles configured.",
          "noRunning": "No Llamafiles running.",
          "startFailed": "Something went wrong during the llamafile start: {0}.\nFor more information, see the console.",
          "stopFailed": "Something went wrong during the llamafile stop: {0}.\nFor more information, see the console."
        }
      },
      "mcp": {
        "error": {
          "allServersRunning": "All MCP servers are already running.",
          "noRunningServers": "No MCP servers running.",
          "noServersConfigured": "No MCP servers configured.",
          "startFailed": "An error occurred while starting the MCP server."
        },
        "info": {
          "serverStarted": "MCP server \"{0}\" successfully started. Registered tools: {1}"
        },
        "servers": {
          "args": {
            "mdDescription": "An array of arguments to pass to the command.",
            "title": "Arguments for the command"
          },
          "autostart": {
            "mdDescription": "Automatically start this server when the frontend starts. Newly added servers are not immediately auto started, but on restart",
            "title": "Autostart"
          },
          "command": {
            "mdDescription": "The command used to start the MCP server, e.g., \"uvx\" or \"npx\".",
            "title": "Command to execute the MCP server"
          },
          "env": {
            "mdDescription": "Optional environment variables to set for the server, such as an API key.",
            "title": "Environment variables"
          },
          "headers": {
            "mdDescription": "Optional additional headers included with each request to the server.",
            "title": "Headers"
          },
          "mdDescription": "Configure MCP servers either local with command, arguments and optionally environment variables, or remote with server URL, authentication token and optionally an authentication header name. Additionally it is possible to configure autostart (true by default). Each server is identified by a unique key, such as \"brave-search\" or \"filesystem\". To start a server, use the \"MCP: Start MCP Server\" command, which enables you to select the desired server. To stop a server, use the \"MCP: Stop MCP Server\" command. Please note that autostart will only take effect after a restart, you need to start a server manually for the first time.\nExample configuration:\n```{\n  \"brave-search\": {\n    \"command\": \"npx\",\n    \"args\": [\n      \"-y\",\n      \"@modelcontextprotocol/server-brave-search\"\n    ],\n    \"env\": {\n      \"BRAVE_API_KEY\": \"YOUR_API_KEY\"\n    },\n  },\n  \"filesystem\": {\n    \"command\": \"npx\",\n    \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/Users/YOUR_USERNAME/Desktop\"],\n    \"env\": {\n      \"CUSTOM_ENV_VAR\": \"custom-value\"\n    },\n    \"autostart\": false\n  },\n  \"jira\": {\n    \"serverUrl\": \"YOUR_JIRA_MCP_SERVER_URL\",\n    \"serverAuthToken\": \"YOUR_JIRA_MCP_SERVER_TOKEN\"\n  }\n}\n```",
          "serverAuthToken": {
            "mdDescription": "The authentication token for the server, if required. This is used to authenticate with the remote server.",
            "title": "Authentication Token"
          },
          "serverAuthTokenHeader": {
            "mdDescription": "The header name to use for the server authentication token. If not provided, \"Authorization\" with \"Bearer\" will be used.",
            "title": "Authentication Header Name"
          },
          "serverUrl": {
            "mdDescription": "The URL of the remote MCP server. If provided, the server will connect to this URL instead of starting a local process.",
            "title": "Server URL"
          },
          "title": "MCP Server Configuration"
        },
        "start": {
          "label": "MCP: Start MCP Server"
        },
        "stop": {
          "label": "MCP: Stop MCP Server"
        }
      },
      "mcpConfiguration": {
        "arguments": "Arguments",
        "autostart": "Autostart",
        "connectServer": "Connect",
        "connectingServer": "Connecting...",
        "copiedAllList": "Copied all tools to clipboard (list of all tools)",
        "copiedAllSingle": "Copied all tools to clipboard (single prompt fragment with                                     all tools)",
        "copiedForPromptTemplate": "Copied all tools to clipboard for prompt template                                     (single prompt fragment with all tools)",
        "copyAllList": "Copy all (list of all tools)",
        "copyAllSingle": "Copy all for chat (single prompt fragment with all tools)",
        "copyForPrompt": "Copy tool (for chat or prompt template)",
        "copyForPromptTemplate": "Copy all for prompt template (single prompt fragment with all tools)",
        "environmentVariables": "Environment Variables",
        "headers": "Headers",
        "noServers": "No MCP servers configured",
        "serverAuthToken": "Auth Token",
        "serverAuthTokenHeader": "Auth Header Name",
        "serverUrl": "Server URL",
        "tools": "Tools: "
      },
      "openai": {
        "apiKey": {
          "mdDescription": "Enter an API Key of your official OpenAI Account. **Please note:** By using this preference the Open AI API key will be stored in clear text on the machine running Theia. Use the environment variable `OPENAI_API_KEY` to set the key securely."
        },
        "customEndpoints": {
          "apiKey": {
            "title": "Either the key to access the API served at the given url or `true` to use the global OpenAI API key"
          },
          "apiVersion": {
            "title": "Either the version to access the API served at the given url in Azure or `true` to use the global OpenAI API version"
          },
          "deployment": {
            "title": "The deployment name to access the API served at the given url in Azure"
          },
          "developerMessageSettings": {
            "title": "Controls the handling of system messages: `user`, `system`, and `developer` will be used as a role, `mergeWithFollowingUserMessage` will prefix                         the following user message with the system message or convert the system message to user message if the next message is not a user message.                         `skip` will just remove the system message), defaulting to `developer`."
          },
          "enableStreaming": {
            "title": "Indicates whether the streaming API shall be used. `true` by default."
          },
          "id": {
            "title": "A unique identifier which is used in the UI to identify the custom model"
          },
          "mdDescription": "Integrate custom models compatible with the OpenAI API, for example via `vllm`. The required attributes are `model` and `url`.            \n            Optionally, you can            \n            - specify a unique `id` to identify the custom model in the UI. If none is given `model` will be used as `id`.            \n            - provide an `apiKey` to access the API served at the given url. Use `true` to indicate the use of the global OpenAI API key.            \n            - provide an `apiVersion` to access the API served at the given url in Azure. Use `true` to indicate the use of the global OpenAI API version.            \n            - provide a `deployment` name for your Azure deployment.            \n            - set `developerMessageSettings` to one of `user`, `system`, `developer`, `mergeWithFollowingUserMessage`, or `skip` to control how the developer message is            included (where `user`, `system`, and `developer` will be used as a role, `mergeWithFollowingUserMessage` will prefix the following user message with the system            message or convert the system message to user message if the next message is not a user message. `skip` will just remove the system message).            Defaulting to `developer`.            \n            - specify `supportsStructuredOutput: false` to indicate that structured output shall not be used.            \n            - specify `enableStreaming: false` to indicate that streaming shall not be used.            \n            - specify `useResponseApi: true` to use the newer OpenAI Response API instead of the Chat Completion API (requires compatible endpoint).            \n            Refer to [our documentation](https://theia-ide.org/docs/user_ai/#openai-compatible-models-eg-via-vllm) for more information.",
          "modelId": {
            "title": "Model ID"
          },
          "supportsStructuredOutput": {
            "title": "Indicates whether the model supports structured output. `true` by default."
          },
          "url": {
            "title": "The Open AI API compatible endpoint where the model is hosted"
          }
        },
        "models": {
          "description": "Official OpenAI models to use"
        },
        "useResponseApi": {
          "mdDescription": "Use the newer OpenAI Response API instead of the Chat Completion API for official OpenAI models.This setting only applies to official OpenAI models - custom providers must configure this individually.Note that for the response API, tool call definitions must satisfy Open AI's [strict schema definition](https://platform.openai.com/docs/guides/function-calling#strict-mode).Best effort is made to convert non-conformant schemas, but errors are still possible."
        }
      },
      "promptTemplates": {
        "directories": {
          "title": "Workspace-specific Prompt Template Directories"
        },
        "extensions": {
          "description": "List of additional file extensions in prompt locations that are considered as prompt templates. '.prompttemplate' is always considered as a default.",
          "title": "Additional Prompt Template File Extensions"
        },
        "files": {
          "title": "Workspace-specific Prompt Template Files"
        }
      },
      "scanoss": {
        "changeSet": {
          "clean": "No Matches",
          "error": "Error: Rerun",
          "error-notification": "ScanOSS error encountered: {0}.",
          "match": "View Matches",
          "scan": "Scan",
          "scanning": "Scanning..."
        },
        "mode": {
          "automatic": {
            "description": "Enable automatic scan of code snippets in chat views."
          },
          "description": "Configure the SCANOSS feature for analyzing code snippets in chat views. This will send a hash of suggested code snippets to the SCANOSS\nservice hosted by the [Software Transparency foundation](https://www.softwaretransparency.org/osskb) for analysis.",
          "manual": {
            "description": "User can manually trigger the scan by clicking the SCANOSS item in the chat view."
          },
          "off": {
            "description": "Feature is turned off completely."
          }
        },
        "snippet": {
          "dialog-header": "ScanOSS Results",
          "errored": "SCANOSS - Error - {0}",
          "file-name-heading": "Match found in {0}",
          "in-progress": "SCANOSS - Performing scan...",
          "match-count": "Found {0} match(es)",
          "matched": "SCANOSS - Found {0} match",
          "no-match": "SCANOSS - No match",
          "summary": "Summary"
        }
      },
      "session-settings-dialog": {
        "title": "Set Session Settings",
        "tooltip": "Set Session Settings"
      },
      "terminal": {
        "agent": {
          "description": "This agent provides assistance to write and execute arbitrary terminal commands.         Based on the user's request, it suggests commands and allows the user to directly paste and execute them in the terminal.         It accesses the current directory, environment and the recent terminal output of the terminal session to provide context-aware assistance",
          "vars": {
            "cwd": {
              "description": "The current working directory."
            },
            "recentTerminalContents": {
              "description": "The last 0 to 50 recent lines visible in the terminal."
            },
            "shell": {
              "description": "The shell being used, e.g., /usr/bin/zsh."
            },
            "userRequest": {
              "description": "The user's question or request."
            }
          }
        },
        "askAi": "Ask AI",
        "askTerminalCommand": "Ask about a terminal command...",
        "hitEnterConfirm": "Hit enter to confirm",
        "howCanIHelp": "How can I help you?",
        "loading": "Loading",
        "tryAgain": "Try again...",
        "useArrowsAlternatives": " or use ⇅ to show alternatives..."
      },
      "tokenUsage": {
        "cachedInputTokens": "Input Tokens Written to Cache",
        "cachedInputTokensTooltip": "Tracked additionally to 'Input Tokens'. Usually more expensive than non-cached tokens.",
        "failedToGetTokenUsageData": "Failed to fetch token usage data: {0}",
        "inputTokens": "Input Tokens",
        "label": "Token Usage",
        "lastUsed": "Last Used",
        "model": "Model",
        "noData": "No token usage data available yet.",
        "note": "Token usage is tracked since the start of the application and is not persisted.",
        "outputTokens": "Output Tokens",
        "readCachedInputTokens": "Input Tokens Read From Cache",
        "readCachedInputTokensTooltip": "Tracked additionally to 'Input Token'. Usually much less expensive than not cached. Usually does not count to rate limits.",
        "total": "Total",
        "totalTokens": "Total Tokens",
        "totalTokensTooltip": "'Input Tokens' + 'Output Tokens'"
      },
      "vercelai": {
        "anthropicApiKey": {
          "mdDescription": "Enter an API Key for Anthropic models used by the Vercel AI SDK.                 **Please note:** By using this preference the API key will be stored in clear text         on the machine running Theia. Use the environment variable `ANTHROPIC_API_KEY` to set the key securely."
        },
        "customEndpoints": {
          "apiKey": {
            "title": "Either the key to access the API served at the given url or `true` to use the global API key"
          },
          "enableStreaming": {
            "title": "Indicates whether the streaming API shall be used. `true` by default."
          },
          "id": {
            "title": "A unique identifier which is used in the UI to identify the custom model"
          },
          "mdDescription": "Integrate custom models compatible with the Vercel AI SDK. The required attributes are `model` and `url`.            \n            Optionally, you can            \n            - specify a unique `id` to identify the custom model in the UI. If none is given `model` will be used as `id`.            \n            - provide an `apiKey` to access the API served at the given url. Use `true` to indicate the use of the global API key.            \n            - specify `supportsStructuredOutput: false` to indicate that structured output shall not be used.            \n            - specify `enableStreaming: false` to indicate that streaming shall not be used.            \n            - specify `provider` to indicate which provider the model is from (openai, anthropic).",
          "modelId": {
            "title": "Model ID"
          },
          "supportsStructuredOutput": {
            "title": "Indicates whether the model supports structured output. `true` by default."
          },
          "url": {
            "title": "The API endpoint where the model is hosted"
          }
        },
        "models": {
          "description": "Official models to use with Vercel AI SDK",
          "id": {
            "title": "Model ID"
          },
          "model": {
            "title": "Model Name"
          }
        },
        "openaiApiKey": {
          "mdDescription": "Enter an API Key for OpenAI models used by the Vercel AI SDK.                 **Please note:** By using this preference the API key will be stored in clear text         on the machine running Theia. Use the environment variable `OPENAI_API_KEY` to set the key securely."
        }
      },
      "workspace": {
        "coderAgent": {
          "description": "An AI assistant integrated into Theia IDE, designed to assist software developers. This agent can access the users workspace, it can get a list of all available files         and folders and retrieve their content. Furthermore, it can suggest modifications of files to the user. It can therefore assist the user with coding tasks or other         tasks involving file changes."
        },
        "considerGitignore": {
          "description": "If enabled, excludes files/folders specified in a global .gitignore file (expected location is the workspace root).",
          "title": "Consider .gitignore"
        },
        "excludedPattern": {
          "description": "List of patterns (glob or regex) for files/folders to exclude.",
          "title": "Excluded File Patterns"
        },
        "searchMaxResults": {
          "description": "Maximum number of search results returned by the workspace search function.",
          "title": "Maximum Search Results"
        },
        "workspaceAgent": {
          "description": "An AI assistant integrated into Theia IDE, designed to assist software developers. This agent can access the users workspace, it can get a list of all available files          and folders and retrieve their content. It cannot modify files. It can therefore answer questions about the current project, project files and source code in the          workspace, such as how to build the project, where to put source code, where to find specific code or configurations, etc."
        }
      }
    },
    "ai-chat": {
      "fileChangeSetTitle": "Changes proposed"
    },
    "ai-chat-ui": {
      "initiate-session-task-context": "Task Context: Initiate Session",
      "open-current-session-summary": "Open Current Session Summary",
      "open-settings-tooltip": "Open AI settings...",
      "scroll-lock": "Lock Scroll",
      "scroll-unlock": "Unlock Scroll",
      "session-settings": "Set Session Settings",
      "showChats": "Show Chats...",
      "summarize-current-session": "Summarize Current Session"
    },
    "ai-claude-code": {
      "open-config": "Open Claude Code Configuration",
      "open-memory": "Open Claude Code Memory (CLAUDE.MD)"
    },
    "ai-core": {
      "agentCompletionMessage": "Agent \"{0}\" has completed its task.",
      "agentCompletionTitle": "Agent \"{0}\" Task Completed",
      "agentCompletionWithTask": "Agent \"{0}\" has completed the task: {1}"
    },
    "ai-editor": {
      "contextMenu": "Ask AI",
      "sendToChat": "Send to AI Chat"
    },
    "ai-ide": {
      "addressGhReviewCommand": {
        "argumentHint": "<pr-number>",
        "description": "Address review comments on a GitHub pull request"
      },
      "fixGhTicketCommand": {
        "argumentHint": "<ticket-number>",
        "description": "Analyze a GitHub ticket and implement the solution"
      },
      "open-agent-settings-tooltip": "Open Agent settings...",
      "rememberCommand": {
        "argumentHint": "[topic-hint]",
        "description": "Extract topics from conversation and update project info"
      },
      "ticketCommand": {
        "argumentHint": "<ticket-number>",
        "description": "Analyze a GitHub ticket and create an implementation plan"
      },
      "todoTool": {
        "noTasks": "No tasks"
      },
      "withAppTesterCommand": {
        "description": "Delegate testing to the AppTester agent (requires agent mode)"
      }
    },
    "ai-mcp": {
      "blockedServersLabel": "MCP Servers (autostart blocked)"
    },
    "ai-terminal": {
      "cancelExecution": "Cancel command execution",
      "canceling": "Canceling...",
      "confirmExecution": "Confirm Shell Command",
      "denialReason": "Reason",
      "executionCanceled": "Canceled",
      "executionDenied": "Denied",
      "executionDeniedWithReason": "Denied with reason",
      "noOutput": "No output",
      "partialOutput": "Partial Output",
      "timeout": "Timeout",
      "workingDirectory": "Working directory"
    },
    "callhierarchy": {
      "noCallers": "No callers have been detected.",
      "open": "Open Call Hierarchy"
    },
    "chat": {
      "taskContextVariable": {
        "args": {
          "contextId": {
            "description": "The ID of the task context to retrieve, or a chat session to summarize."
          }
        },
        "description": "Provides context information for a task, e.g. the plan for completing a task or a summary of a previous sessions",
        "label": "Task Context"
      }
    },
    "collaboration": {
      "collaborate": "Collaborate",
      "collaboration": "Collaboration",
      "collaborationWorkspace": "Collaboration Workspace",
      "connected": "Connected",
      "connectedSession": "Connected to a collaboration session",
      "copiedInvitation": "Invitation code copied to clipboard.",
      "copyAgain": "Copy Again",
      "createRoom": "Create New Collaboration Session",
      "creatingRoom": "Creating Session",
      "end": "End Collaboration Session",
      "endDetail": "Terminate the session, cease content sharing, and revoke access for others.",
      "enterCode": "Enter collaboration session code",
      "failedCreate": "Failed to create room: {0}",
      "failedJoin": "Failed to join room: {0}",
      "fieldRequired": "The {0} field is required. Login aborted.",
      "invite": "Invite Others",
      "inviteDetail": "Copy the invitation code for sharing it with others to join the session.",
      "joinRoom": "Join Collaboration Session",
      "joiningRoom": "Joining Session",
      "leave": "Leave Collaboration Session",
      "leaveDetail": "Disconnect from the current collaboration session and close the workspace.",
      "loginFailed": "Login failed.",
      "loginSuccessful": "Login successful.",
      "noAuth": "No authentication method provided by the server.",
      "optional": "optional",
      "selectAuth": "Select Authentication Method",
      "selectCollaboration": "Select collaboration option",
      "serverUrl": "Server URL",
      "serverUrlDescription": "URL of the Open Collaboration Tools Server instance for live collaboration sessions",
      "sharedSession": "Shared a collaboration session",
      "startSession": "Start or join collaboration session",
      "userWantsToJoin": "User '{0}' wants to join the collaboration room",
      "whatToDo": "What would you like to do with other collaborators?"
    },
    "core": {
      "about": {
        "compatibility": "{0} Compatibility",
        "defaultApi": "Default {0} API",
        "listOfExtensions": "List of extensions"
      },
      "common": {
        "closeAll": "Close All Tabs",
        "closeAllTabMain": "Close All Tabs in Main Area",
        "closeOtherTabMain": "Close Other Tabs in Main Area",
        "closeOthers": "Close Other Tabs",
        "closeRight": "Close Tabs to the Right",
        "closeTab": "Close Tab",
        "closeTabMain": "Close Tab in Main Area",
        "collapseAllTabs": "Collapse All Side Panels",
        "collapseBottomPanel": "Toggle Bottom Panel",
        "collapseLeftPanel": "Toggle Left Panel",
        "collapseRightPanel": "Toggle Right Panel",
        "collapseTab": "Collapse Side Panel",
        "showNextTabGroup": "Switch to Next Tab Group",
        "showNextTabInGroup": "Switch to Next Tab in Group",
        "showPreviousTabGroup": "Switch to Previous Tab Group",
        "showPreviousTabInGroup": "Switch to Previous Tab in Group",
        "toggleMaximized": "Toggle Maximized"
      },
      "copyInfo": "Open a file first to copy its path",
      "copyWarn": "Please use the browser's copy command or shortcut.",
      "cutWarn": "Please use the browser's cut command or shortcut.",
      "enhancedPreview": {
        "classic": "Display a simple preview of the tab with basic information.",
        "enhanced": "Display an enhanced preview of the tab with additional information.",
        "visual": "Display a visual preview of the tab."
      },
      "file": {
        "browse": "Browse"
      },
      "highlightModifiedTabs": "Controls whether a top border is drawn on modified (dirty) editor tabs or not.",
      "keybinding": {
        "duplicateModifierError": "Can't parse keybinding {0} Duplicate modifiers",
        "metaError": "Can't parse keybinding {0} meta is for OSX only",
        "unrecognizedKeyError": "Unrecognized key {0} in {1}"
      },
      "keybindingStatus": "{0} was pressed, waiting for more keys",
      "keyboard": {
        "choose": "Choose Keyboard Layout",
        "chooseLayout": "Choose a keyboard layout",
        "current": "(current: {0})",
        "currentLayout": " - current layout",
        "mac": "Mac Keyboards",
        "pc": "PC Keyboards",
        "tryDetect": "Try to detect the keyboard layout from browser information and pressed keys."
      },
      "navigator": {
        "clipboardWarn": "Access to the clipboard is denied. Check your browser's permission.",
        "clipboardWarnFirefox": "Clipboard API is not available. It can be enabled by '{0}' preference on '{1}' page. Then reload Theia. Note, it will allow FireFox getting full access to the system clipboard."
      },
      "offline": "Offline",
      "pasteWarn": "Please use the browser's paste command or shortcut.",
      "quitMessage": "Any unsaved changes will not be saved.",
      "resetWorkbenchLayout": "Reset Workbench Layout",
      "searchbox": {
        "close": "Close (Escape)",
        "next": "Next (Down)",
        "previous": "Previous (Up)",
        "showAll": "Show all items",
        "showOnlyMatching": "Show only matching items"
      },
      "secondaryWindow": {
        "alwaysOnTop": "When enabled, the secondary window stays above all other windows, including those of different applications.",
        "description": "Sets the initial position and size of the extracted secondary window.",
        "fullSize": "The position and size of the extracted widget will be the same as the running Theia application.",
        "halfWidth": "The position and size of the extracted widget will be half the width of the running Theia application.",
        "originalSize": "The position and size of the extracted widget will be the same as the original widget."
      },
      "severity": {
        "log": "Log"
      },
      "silentNotifications": "Controls whether to suppress notification popups.",
      "tabDefaultSize": "Specifies the default size for tabs.",
      "tabMaximize": "Controls whether to maximize tabs on double click.",
      "tabMinimumSize": "Specifies the minimum size for tabs.",
      "tabShrinkToFit": "Shrink tabs to fit available space.",
      "window": {
        "tabCloseIconPlacement": {
          "description": "Place the close icons on tab titles at the start or end of the tab. The default is end on all platforms.",
          "end": "Place the close icon at the end of the label. In left-to-right languages, this is the right side of the tab.",
          "start": "Place the close icon at the start of the label. In left-to-right languages, this is the left side of the tab."
        }
      },
      "window.menuBarVisibility": "Menu is displayed as a compact button in the side bar. This value is ignored when {0} is {1}."
    },
    "debug": {
      "TheiaIDE": "Theia IDE",
      "addConfigurationPlaceholder": "Select workspace root to add configuration to",
      "breakpoint": "breakpoint",
      "cannotRunToThisLocation": "Could not run the current thread to the specified location.",
      "compound-cycle": "Launch configuration '{0}' contains a cycle with itself",
      "conditionalBreakpoint": "Conditional Breakpoint",
      "conditionalBreakpointsNotSupported": "Conditional breakpoints not supported by this debug type",
      "confirmRunToShiftedPosition_msg": "The target position will be shifted to Ln {0}, Col {1}. Run anyway?",
      "confirmRunToShiftedPosition_title": "Cannot run the current thread to exactly the specified location",
      "consoleFilter": "Filter (e.g. text, !exclude)",
      "consoleFilterAriaLabel": "Filter debug console output",
      "consoleSessionSelectorTooltip": "Switch between debug sessions. Each debug session has its own console output.",
      "consoleSeverityTooltip": "Filter console output by severity level. Only messages with the selected severity will be shown.",
      "continueAll": "Continue All",
      "copyExpressionValue": "Copy Expression Value",
      "couldNotRunTask": "Could not run the task '{0}'.",
      "dataBreakpoint": "data breakpoint",
      "debugConfiguration": "Debug Configuration",
      "debugSessionInitializationFailed": "Debug session initialization failed. See console for details.",
      "debugSessionTypeNotSupported": "The debug session type \"{0}\" is not supported.",
      "debugToolbarMenu": "Debug Toolbar Menu",
      "debugVariableInput": "Set {0} Value",
      "disableSelectedBreakpoints": "Disable Selected Breakpoints",
      "disabledBreakpoint": "Disabled {0}",
      "enableSelectedBreakpoints": "Enable Selected Breakpoints",
      "entry": "entry",
      "errorStartingDebugSession": "There was an error starting the debug session, check the logs for more details.",
      "exception": "exception",
      "functionBreakpoint": "function breakpoint",
      "goto": "goto",
      "htiConditionalBreakpointsNotSupported": "Hit conditional breakpoints not supported by this debug type",
      "instruction-breakpoint": "Instruction Breakpoint",
      "instructionBreakpoint": "instruction breakpoint",
      "logpointsNotSupported": "Logpoints not supported by this debug type",
      "missingConfiguration": "Dynamic configuration '{0}:{1}' is missing or not applicable",
      "pause": "pause",
      "pauseAll": "Pause All",
      "reveal": "Reveal",
      "step": "step",
      "taskTerminatedBySignal": "Task '{0}' terminated by signal {1}.",
      "taskTerminatedForUnknownReason": "Task '{0}' terminated for unknown reason.",
      "taskTerminatedWithExitCode": "Task '{0}' terminated with exit code {1}.",
      "threads": "Threads",
      "toggleTracing": "Enable/disable tracing communications with debug adapters",
      "unknownSession": "Unknown Session",
      "unverifiedBreakpoint": "Unverified {0}"
    },
    "editor": {
      "diffEditor.wordWrap2": "Lines will wrap according to the `#editor.wordWrap#` setting.",
      "dirtyEncoding": "The file is dirty. Please save it first before reopening it with another encoding.",
      "editor.bracketPairColorization.enabled": "Controls whether bracket pair colorization is enabled or not. Use `#workbench.colorCustomizations#` to override the bracket highlight colors.",
      "editor.codeActions.triggerOnFocusChange": "Enable triggering `#editor.codeActionsOnSave#` when `#files.autoSave#` is set to `afterDelay`. Code Actions must be set to `always` to be triggered for window and focus changes.",
      "editor.detectIndentation": "Controls whether `#editor.tabSize#` and `#editor.insertSpaces#` will be automatically detected when a file is opened based on the file contents.",
      "editor.experimental.preferTreeSitter": "Controls whether tree sitter parsing should be turned on for specific languages. This will take precedence over `editor.experimental.treeSitterTelemetry` for the specified languages.",
      "editor.inlayHints.enabled1": "Inlay hints are showing by default and hide when holding Ctrl+Alt",
      "editor.inlayHints.enabled2": "Inlay hints are hidden by default and show when holding Ctrl+Alt",
      "editor.inlayHints.fontFamily": "Controls font family of inlay hints in the editor. When set to empty, the `#editor.fontFamily#` is used.",
      "editor.inlayHints.fontSize": "Controls font size of inlay hints in the editor. As default the `#editor.fontSize#` is used when the configured value is less than `5` or greater than the editor font size.",
      "editor.inlineSuggest.edits.experimental.enabled": "Controls whether to enable experimental edits in inline suggestions.",
      "editor.inlineSuggest.edits.experimental.onlyShowWhenCloseToCursor": "Controls whether to only show inline suggestions when the cursor is close to the suggestion.",
      "editor.inlineSuggest.edits.experimental.useInterleavedLinesDiff": "Controls whether to enable experimental interleaved lines diff in inline suggestions.",
      "editor.inlineSuggest.edits.experimental.useMixedLinesDiff": "Controls whether to enable experimental edits in inline suggestions.",
      "editor.insertSpaces": "Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.",
      "editor.quickSuggestions": "Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the `#editor.suggestOnTriggerCharacters#`-setting which controls if suggestions are triggered by special characters.",
      "editor.suggestFontSize": "Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.",
      "editor.suggestLineHeight": "Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used. The minimum value is 8.",
      "editor.tabSize": "The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.",
      "formatOnSaveTimeout": "Timeout in milliseconds after which the formatting that is run on file save is cancelled.",
      "persistClosedEditors": "Controls whether to persist closed editor history for the workspace across window reloads.",
      "showAllEditors": "Show All Opened Editors",
      "splitHorizontal": "Split Editor Horizontal",
      "splitVertical": "Split Editor Vertical",
      "toggleStickyScroll": "Toggle Sticky Scroll"
    },
    "external-terminal": {
      "cwd": "Select current working directory for new external terminal"
    },
    "file-search": {
      "toggleIgnoredFiles": " (Press {0} to show/hide ignored files)"
    },
    "fileDialog": {
      "showHidden": "Show hidden files"
    },
    "fileSystem": {
      "fileResource": {
        "overWriteBody": "Do you want to overwrite the changes made to '{0}' on the file system?"
      }
    },
    "filesystem": {
      "copiedToClipboard": "Copied the download link to the clipboard.",
      "copyDownloadLink": "Copy Download Link",
      "dialog": {
        "initialLocation": "Go To Initial Location",
        "multipleItemMessage": "You can select only one item",
        "navigateBack": "Navigate Back",
        "navigateForward": "Navigate Forward",
        "navigateUp": "Navigate Up One Directory"
      },
      "fileResource": {
        "binaryFileQuery": "Opening it might take some time and might make the IDE unresponsive. Do you want to open '{0}' anyway?",
        "binaryTitle": "The file is either binary or uses an unsupported text encoding.",
        "largeFileTitle": "The file is too large ({0}).",
        "overwriteTitle": "The file '{0}' has been changed on the file system."
      },
      "filesExclude": "Configure glob patterns for excluding files and folders. For example, the file Explorer decides which files and folders to show or hide based on this setting.",
      "format": "Format:",
      "maxConcurrentUploads": "Maximum number of concurrent files to upload when uploading multiple files. 0 means all files will be uploaded concurrently.",
      "maxFileSizeMB": "Controls the max file size in MB which is possible to open.",
      "prepareDownload": "Preparing download...",
      "prepareDownloadLink": "Preparing download link...",
      "processedOutOf": "Processed {0} out of {1}",
      "replaceTitle": "Replace File",
      "uploadFailed": "An error occurred while uploading a file. {0}",
      "uploadFiles": "Uploading Files",
      "uploadedOutOf": "Uploaded {0} out of {1}"
    },
    "getting-started": {
      "ai": {
        "header": "AI Support in the Theia IDE is available (Beta Version)!",
        "openAIChatView": "Open the AI Chat View now to learn how to start!"
      },
      "apiComparator": "{0} API Compatibility",
      "newExtension": "Building a New Extension",
      "newPlugin": "Building a New Plugin",
      "startup-editor": {
        "welcomePage": "Open the Welcome page, with content to aid in getting started with {0} and extensions."
      },
      "telemetry": "Data Usage & Telemetry"
    },
    "git": {
      "aFewSecondsAgo": "a few seconds ago",
      "addSignedOff": "Add Signed-off-by",
      "added": "Added",
      "amendReuseMessage": "To reuse the last commit message, press 'Enter' or 'Escape' to cancel.",
      "amendRewrite": "Rewrite previous commit message. Press 'Enter' to confirm or 'Escape' to cancel.",
      "checkoutCreateLocalBranchWithName": "Create a new local branch with name: {0}. Press 'Enter' to confirm or 'Escape' to cancel.",
      "checkoutProvideBranchName": "Please provide a branch name. ",
      "checkoutSelectRef": "Select a ref to checkout or create a new local branch:",
      "cloneQuickInputLabel": "Please provide a Git repository location. Press 'Enter' to confirm or 'Escape' to cancel.",
      "cloneRepository": "Clone the Git repository: {0}. Press 'Enter' to confirm or 'Escape' to cancel.",
      "compareWith": "Compare With...",
      "compareWithBranchOrTag": "Pick a branch or tag to compare with the currently active {0} branch:",
      "conflicted": "Conflicted",
      "copied": "Copied",
      "diff": "Diff",
      "dirtyDiffLinesLimit": "Do not show dirty diff decorations, if editor's line count exceeds this limit.",
      "dropStashMessage": "Stash successfully removed.",
      "editorDecorationsEnabled": "Show git decorations in the editor.",
      "fetchPickRemote": "Pick a remote to fetch from:",
      "gitDecorationsColors": "Use color decoration in the navigator.",
      "mergeEditor": {
        "currentSideTitle": "Current",
        "incomingSideTitle": "Incoming"
      },
      "mergeQuickPickPlaceholder": "Pick a branch to merge into the currently active {0} branch:",
      "missingUserInfo": "Make sure you configure your 'user.name' and 'user.email' in git.",
      "noHistoryForError": "There is no history available for {0}",
      "noPreviousCommit": "No previous commit to amend",
      "noRepositoriesSelected": "No repositories were selected.",
      "prepositionIn": "in",
      "renamed": "Renamed",
      "repositoryNotInitialized": "Repository {0} is not yet initialized.",
      "stashChanges": "Stash changes. Press 'Enter' to confirm or 'Escape' to cancel.",
      "stashChangesWithMessage": "Stash changes with message: {0}. Press 'Enter' to confirm or 'Escape' to cancel.",
      "tabTitleIndex": "{0} (Index)",
      "tabTitleWorkingTree": "{0} (Working tree)",
      "toggleBlameAnnotations": "Toggle Blame Annotations",
      "unstaged": "Unstaged"
    },
    "keybinding-schema-updater": {
      "deprecation": "Use `when` clause instead."
    },
    "keymaps": {
      "addKeybindingTitle": "Add Keybinding for {0}",
      "editKeybinding": "Edit Keybinding...",
      "editKeybindingTitle": "Edit Keybinding for {0}",
      "editWhenExpression": "Edit When Expression...",
      "editWhenExpressionTitle": "Edit When Expression for {0}",
      "keybinding": {
        "copy": "Copy Keybinding",
        "copyCommandId": "Copy Keybinding Command ID",
        "copyCommandTitle": "Copy Keybinding Command Title",
        "edit": "Edit Keybinding...",
        "editWhenExpression": "Edit Keybinding When Expression..."
      },
      "keybindingCollidesValidation": "keybinding currently collides",
      "requiredKeybindingValidation": "keybinding value is required",
      "resetKeybindingConfirmation": "Do you really want to reset this keybinding to its default value?",
      "resetKeybindingTitle": "Reset keybinding for {0}",
      "resetMultipleKeybindingsWarning": "If multiple keybindings exist for this command, all of them will be reset."
    },
    "localize": {
      "offlineTooltip": "Cannot connect to backend."
    },
    "markers": {
      "clearAll": "Clear All",
      "noProblems": "No problems have been detected in the workspace so far.",
      "tabbarDecorationsEnabled": "Show problem decorators (diagnostic markers) in the tab bars."
    },
    "memory-inspector": {
      "addressTooltip": "Memory location to display, an address or expression evaluating to an address",
      "ascii": "ASCII",
      "binary": "Binary",
      "byteSize": "Byte Size",
      "bytesPerGroup": "Bytes Per Group",
      "closeSettings": "Close Settings",
      "columns": "Columns",
      "command": {
        "createNewMemory": "Create New Memory Inspector",
        "createNewRegisterView": "Create New Register View",
        "followPointer": "Follow Pointer",
        "followPointerMemory": "Follow Pointer in Memory Inspector",
        "resetValue": "Reset Value",
        "showRegister": "Show Register in Memory Inspector",
        "viewVariable": "Show Variable in Memory Inspector"
      },
      "data": "Data",
      "decimal": "Decimal",
      "diff": {
        "label": "Diff: {0}"
      },
      "diff-widget": {
        "offset-label": "{0} Offset",
        "offset-title": "Bytes to offset the memory from {0}"
      },
      "editable": {
        "apply": "Apply Changes",
        "clear": "Clear Changes"
      },
      "endianness": "Endianness",
      "extraColumn": "Extra Column",
      "groupsPerRow": "Groups Per Row",
      "hexadecimal": "Hexadecimal",
      "length": "Length",
      "lengthTooltip": "Number of bytes to fetch, in decimal or hexadecimal",
      "memory": {
        "addressField": {
          "memoryReadError": "Enter an address or expression in the Location field."
        },
        "freeze": "Freeze Memory View",
        "hideSettings": "Hide Settings Panel",
        "readError": {
          "bounds": "Memory bounds exceeded, result will be truncated.",
          "noContents": "No memory contents currently available."
        },
        "readLength": {
          "memoryReadError": "Enter a length (decimal or hexadecimal number) in the Length field."
        },
        "showSettings": "Show Settings Panel",
        "unfreeze": "Unfreeze Memory View",
        "userError": "There was an error fetching memory."
      },
      "memoryCategory": "Memory Inspector",
      "memoryInspector": "Memory Inspector",
      "memoryTitle": "Memory",
      "octal": "Octal",
      "offset": "Offset",
      "offsetTooltip": "Offset to be added to the current memory location, when navigating",
      "provider": {
        "localsError": "Cannot read local variables. No active debug session.",
        "readError": "Cannot read memory. No active debug session.",
        "writeError": "Cannot write memory. No active debug session."
      },
      "register": "Register",
      "register-widget": {
        "filter-placeholder": "Filter (starts with)"
      },
      "registerReadError": "There was an error fetching registers.",
      "registers": "Registers",
      "toggleComparisonWidgetVisibility": "Toggle Comparison Widget Visibility",
      "utils": {
        "afterBytes": "You must load memory in both widgets you would like to compare. {0} has no memory loaded.",
        "bytesMessage": "You must load memory in both widgets you would like to compare. {0} has no memory loaded."
      }
    },
    "messages": {
      "notificationTimeout": "Informative notifications will be hidden after this timeout.",
      "toggleNotifications": "Toggle Notifications"
    },
    "mini-browser": {
      "typeUrl": "Type a URL"
    },
    "monaco": {
      "noSymbolsMatching": "No symbols matching",
      "typeToSearchForSymbols": "Type to search for symbols"
    },
    "navigator": {
      "autoReveal": "Auto Reveal",
      "clipboardWarn": "Access to the clipboard is denied. Check your browser's permission.",
      "clipboardWarnFirefox": "Clipboard API is not available. It can be enabled by '{0}' preference on '{1}' page. Then reload Theia. Note, it will allow FireFox getting full access to the system clipboard.",
      "openWithSystemEditor": "Open With System Editor",
      "refresh": "Refresh in Explorer",
      "reveal": "Reveal in Explorer",
      "systemEditor": "System Editor",
      "toggleHiddenFiles": "Toggle Hidden Files"
    },
    "output": {
      "clearOutputChannel": "Clear Output Channel...",
      "closeOutputChannel": "Close Output Channel...",
      "hiddenChannels": "Hidden Channels",
      "hideOutputChannel": "Hide Output Channel...",
      "maxChannelHistory": "The maximum number of entries in an output channel.",
      "outputChannels": "Output Channels",
      "showOutputChannel": "Show Output Channel..."
    },
    "plugin": {
      "blockNewTab": "Your browser prevented opening of a new tab"
    },
    "plugin-dev": {
      "alreadyRunning": "Hosted instance is already running.",
      "debugInstance": "Debug Instance",
      "debugMode": "Using inspect or inspect-brk for Node.js debug",
      "debugPorts": {
        "debugPort": "Port to use for this server's Node.js debug"
      },
      "devHost": "Development Host",
      "failed": "Failed to run hosted plugin instance: {0}",
      "hostedPlugin": "Hosted Plugin",
      "hostedPluginRunning": "Hosted Plugin: Running",
      "hostedPluginStarting": "Hosted Plugin: Starting",
      "hostedPluginStopped": "Hosted Plugin: Stopped",
      "hostedPluginWatching": "Hosted Plugin: Watching",
      "instanceTerminated": "{0} has been terminated",
      "launchOutFiles": "Array of glob patterns for locating generated JavaScript files (`${pluginPath}` will be replaced by plugin actual path).",
      "noValidPlugin": "Specified folder does not contain valid plugin.",
      "notRunning": "Hosted instance is not running.",
      "pluginFolder": "Plugin folder is set to: {0}",
      "preventedNewTab": "Your browser prevented opening of a new tab",
      "restartInstance": "Restart Instance",
      "running": "Hosted instance is running at:",
      "selectPath": "Select Path",
      "startInstance": "Start Instance",
      "starting": "Starting hosted instance server ...",
      "stopInstance": "Stop Instance",
      "unknownTerminated": "The instance has been terminated",
      "watchMode": "Run watcher on plugin under development"
    },
    "plugin-ext": {
      "authentication-main": {
        "loginTitle": "Login",
        "signedOut": "Successfully signed out."
      },
      "plugins": "Plugins",
      "webviewTrace": "Controls communication tracing with webviews.",
      "webviewWarnIfUnsecure": "Warns users that webviews are currently deployed insecurely."
    },
    "preferences": {
      "ai-features": "AI Features",
      "hostedPlugin": "Hosted Plugin",
      "toolbar": "Toolbar"
    },
    "preview": {
      "openByDefault": "Open the preview instead of the editor by default."
    },
    "property-view": {
      "created": "Created",
      "directory": "Directory",
      "lastModified": "Last modified",
      "location": "Location",
      "noProperties": "No properties available.",
      "properties": "Properties",
      "symbolicLink": "Symbolic link"
    },
    "remote": {
      "dev-container": {
        "connect": "Reopen in Container",
        "noDevcontainerFiles": "No devcontainer.json files found in the workspace. Please ensure you have a .devcontainer directory with a devcontainer.json file.",
        "selectDevcontainer": "Select a devcontainer.json file"
      },
      "ssh": {
        "connect": "Connect Current Window to Host...",
        "connectToConfigHost": "Connect Current Window to Host in Config File...",
        "enterHost": "Enter SSH host name",
        "enterUser": "Enter SSH user name",
        "failure": "Could not open SSH connection to remote.",
        "hostPlaceHolder": "E.g. hello@example.com",
        "needsHost": "Please enter a host name.",
        "needsUser": "Please enter a user name.",
        "userPlaceHolder": "E.g. hello"
      },
      "sshNoConfigPath": "No SSH config path found.",
      "wsl": {
        "connectToWsl": "Connect to WSL",
        "connectToWslUsingDistro": "Connect to WSL using Distro...",
        "noWslDistroFound": "No WSL distributions found. Please install a WSL distribution first.",
        "reopenInWsl": "Reopen Folder in WSL",
        "selectWSLDistro": "Select a WSL distribution"
      }
    },
    "scm": {
      "amend": "Amend",
      "amendHeadCommit": "HEAD Commit",
      "amendLastCommit": "Amend last commit",
      "changeRepository": "Change Repository...",
      "config.untrackedChanges": "Controls how untracked changes behave.",
      "config.untrackedChanges.hidden": "hidden",
      "config.untrackedChanges.mixed": "mixed",
      "config.untrackedChanges.separate": "separate",
      "dirtyDiff": {
        "close": "Close Change Peek View"
      },
      "history": "History",
      "mergeEditor": {
        "resetConfirmationTitle": "Do you really want to reset the merge result in this editor?"
      },
      "noRepositoryFound": "No repository found",
      "unamend": "Unamend",
      "unamendCommit": "Unamend commit"
    },
    "search-in-workspace": {
      "includeIgnoredFiles": "Include Ignored Files",
      "noFolderSpecified": "You have not opened or specified a folder. Only open files are currently searched.",
      "resultSubset": "This is only a subset of all results. Use a more specific search term to narrow down the result list.",
      "searchOnEditorModification": "Search the active editor when modified."
    },
    "secondary-window": {
      "extract-widget": "Move View to Secondary Window"
    },
    "shell-area": {
      "secondary": "Secondary Window"
    },
    "task": {
      "attachTask": "Attach Task...",
      "circularReferenceDetected": "Circular reference detected: {0} --> {1}",
      "clearHistory": "Clear History",
      "errorKillingTask": "Error killing task '{0}': {1}",
      "errorLaunchingTask": "Error launching task '{0}': {1}",
      "invalidTaskConfigs": "Invalid task configurations are found. Open tasks.json and find details in the Problems view.",
      "neverScanTaskOutput": "Never scan the task output",
      "noTaskToRun": "No task to run found. Configure Tasks...",
      "noTasksFound": "No tasks found",
      "notEnoughDataInDependsOn": "The information provided in the \"dependsOn\" is not enough for matching the correct task!",
      "schema": {
        "commandOptions": {
          "cwd": "The current working directory of the executed program or script. If omitted Theia's current workspace root is used."
        },
        "presentation": {
          "panel": {
            "dedicated": "The terminal is dedicated to a specific task. If that task is executed again, the terminal is reused. However, the output of a different task is presented in a different terminal.",
            "new": "Every execution of that task is using a new clean terminal.",
            "shared": "The terminal is shared and the output of other task runs are added to the same terminal."
          },
          "showReuseMessage": "Controls whether to show the \"Terminal will be reused by tasks\" message."
        },
        "problemMatcherObject": {
          "owner": "The owner of the problem inside Theia. Can be omitted if base is specified. Defaults to 'external' if omitted and base is not specified."
        }
      },
      "taskAlreadyRunningInTerminal": "Task is already running in terminal",
      "taskExitedWithCode": "Task '{0}' has exited with code {1}.",
      "taskTerminalTitle": "Task: {0}",
      "taskTerminatedBySignal": "Task '{0}' was terminated by signal {1}.",
      "terminalWillBeReusedByTasks": "Terminal will be reused by tasks."
    },
    "terminal": {
      "defaultProfile": "The default profile used on {0}",
      "enableCopy": "Enable ctrl-c (cmd-c on macOS) to copy selected text",
      "enablePaste": "Enable ctrl-v (cmd-v on macOS) to paste from clipboard",
      "profileArgs": "The shell arguments that this profile uses.",
      "profileColor": "A terminal theme color ID to associate with the terminal.",
      "profileDefault": "Choose Default Profile...",
      "profileIcon": "A codicon ID to associate with the terminal icon.\nterminal-tmux:\"$(terminal-tmux)\"",
      "profileNew": "New Terminal (With Profile)...",
      "profilePath": "The path of the shell that this profile uses.",
      "profiles": "The profiles to present when creating a new terminal. Set the path property manually with optional args.\nSet an existing profile to `null` to hide the profile from the list, for example: `\"{0}\": null`.",
      "rendererType": "Controls how the terminal is rendered.",
      "rendererTypeDeprecationMessage": "The renderer type is no longer supported as an option.",
      "selectProfile": "Select a profile for the new terminal",
      "shell.deprecated": "This is deprecated, the new recommended way to configure your default shell is by creating a terminal profile in 'terminal.integrated.profiles.{0}' and setting its profile name as the default in 'terminal.integrated.defaultProfile.{0}.'",
      "shellArgsLinux": "The command line arguments to use when on the Linux terminal.",
      "shellArgsOsx": "The command line arguments to use when on the macOS terminal.",
      "shellArgsWindows": "The command line arguments to use when on the Windows terminal.",
      "shellLinux": "The path of the shell that the terminal uses on Linux (default: '{0}'}).",
      "shellOsx": "The path of the shell that the terminal uses on macOS (default: '{0}'}).",
      "shellWindows": "The path of the shell that the terminal uses on Windows. (default: '{0}')."
    },
    "terminal-manager": {
      "addTerminalToGroup": "Add terminal to group",
      "closeDialog": {
        "message": "Once the Terminal Manager is closed, its layout cannot be restored. Are you sure you want to close the Terminal Manager?",
        "title": "Do you want to close the terminal manager?"
      },
      "closeTerminalManager": "Close Terminal Manager",
      "createNewTerminalGroup": "Create New Terminal Group",
      "createNewTerminalPage": "Create New Terminal Page",
      "deleteGroup": "Delete Group",
      "deletePage": "Delete Page",
      "deleteTerminal": "Delete Terminal",
      "group": "Group",
      "label": "Terminals",
      "maximizeBottomPanel": "Maximize Bottom Panel",
      "minimizeBottomPanel": "Minimize Bottom Panel",
      "openTerminalManager": "Open Terminal Manager",
      "page": "Page",
      "rename": "Rename",
      "resetTerminalManagerLayout": "Reset Terminal Manager Layout",
      "toggleTreeView": "Toggle Tree View"
    },
    "test": {
      "cancelAllTestRuns": "Cancel All Test Runs",
      "stackFrameAt": "at",
      "testRunDefaultName": "{0} run {1}",
      "testRuns": "Test Runs"
    },
    "toolbar": {
      "addCommand": "Add Command to Toolbar",
      "addCommandPlaceholder": "Find a command to add to the toolbar",
      "centerColumn": "Center Column",
      "failedUpdate": "Failed to update the value of '{0}' in '{1}'.",
      "filterIcons": "Filter Icons",
      "iconSelectDialog": "Select an Icon for '{0}'",
      "iconSet": "Icon Set",
      "insertGroupLeft": "Insert Group Separator (Left)",
      "insertGroupRight": "Insert Group Separator (Right)",
      "leftColumn": "Left Column",
      "openJSON": "Customize Toolbar (Open JSON)",
      "removeCommand": "Remove Command From Toolbar",
      "restoreDefaults": "Restore Toolbar Defaults",
      "rightColumn": "Right Column",
      "selectIcon": "Select Icon",
      "toggleToolbar": "Toggle Toolbar",
      "toolbarLocationPlaceholder": "Where would you like the command added?",
      "useDefaultIcon": "Use Default Icon"
    },
    "typehierarchy": {
      "subtypeHierarchy": "Subtype Hierarchy",
      "supertypeHierarchy": "Supertype Hierarchy"
    },
    "variableResolver": {
      "listAllVariables": "Variable: List All"
    },
    "vsx-registry": {
      "confirmDialogMessage": "The extension \"{0}\" is unverified and might pose a security risk.",
      "confirmDialogTitle": "Are you sure you want to proceed with the installation?",
      "downloadCount": "Download count: {0}",
      "errorFetching": "Error fetching extensions.",
      "errorFetchingConfigurationHint": "This could be caused by network configuration issues.",
      "failedInstallingVSIX": "Failed to install {0} from VSIX.",
      "invalidVSIX": "The selected file is not a valid \"*.vsix\" plugin.",
      "license": "License: {0}",
      "onlyShowVerifiedExtensionsDescription": "This allows the {0} to only show verified extensions.",
      "onlyShowVerifiedExtensionsTitle": "Only Show Verified Extensions",
      "recommendedExtensions": "A list of the names of extensions recommended for use in this workspace.",
      "searchPlaceholder": "Search Extensions in {0}",
      "showInstalled": "Show Installed Extensions",
      "showRecommendedExtensions": "Controls whether notifications are shown for extension recommendations.",
      "vsx-extensions-contribution": {
        "update-version-uninstall-error": "Error while removing the extension: {0}.",
        "update-version-version-error": "Failed to install version {0} of {1}."
      }
    },
    "webview": {
      "goToReadme": "Go To README",
      "messageWarning": "            The {0} endpoint's host pattern has been changed to `{1}`; changing the pattern can lead to security vulnerabilities.             See `{2}` for more information."
    },
    "workspace": {
      "bothAreDirectories": "Both resources are directories.",
      "clickToManageTrust": "Click to manage trust settings.",
      "compareWithEachOther": "Compare with Each Other",
      "confirmDeletePermanently.description": "Failed to delete \"{0}\" using the Trash. Do you want to permanently delete instead?",
      "confirmDeletePermanently.solution": "You can disable the use of Trash in the preferences.",
      "confirmDeletePermanently.title": "Error deleting file",
      "confirmMessage.delete": "Do you really want to delete the following files?",
      "confirmMessage.dirtyMultiple": "Do you really want to delete {0} files with unsaved changes?",
      "confirmMessage.dirtySingle": "Do you really want to delete {0} with unsaved changes?",
      "confirmMessage.uriMultiple": "Do you really want to delete all the {0} selected files?",
      "confirmMessage.uriSingle": "Do you really want to delete {0}?",
      "directoriesCannotBeCompared": "Directories cannot be compared. {0}",
      "duplicate": "Duplicate",
      "failSaveAs": "Cannot run \"{0}\" for the current widget.",
      "isDirectory": "'{0}' is a directory.",
      "manageTrustPlaceholder": "Select trust state for this workspace",
      "newFilePlaceholder": "File Name",
      "newFolderPlaceholder": "Folder Name",
      "noErasure": "Note: Nothing will be erased from disk",
      "notWorkspaceFile": "Not a valid workspace file: {0}",
      "openRecentPlaceholder": "Type the name of the workspace you want to open",
      "openRecentWorkspace": "Open Recent Workspace...",
      "preserveWindow": "Enable opening workspaces in current window.",
      "removeFolder": "Are you sure you want to remove the following folder from the workspace?",
      "removeFolders": "Are you sure you want to remove the following folders from the workspace?",
      "restrictedModeDescription": "Some features are disabled because this workspace is not trusted.",
      "restrictedModeNote": "*Please note: The workspace trust feature is currently under development in Theia; not all features are integrated with workspace trust yet*",
      "schema": {
        "folders": {
          "description": "Root folders in the workspace"
        },
        "title": "Workspace File"
      },
      "trashTitle": "Move {0} to Trash",
      "trustEmptyWindow": "Controls whether or not the empty workspace is trusted by default.",
      "trustEnabled": "Controls whether or not workspace trust is enabled. If disabled, all workspaces are trusted.",
      "trustTrustedFolders": "List of folder URIs that are trusted without prompting.",
      "untitled-cleanup": "There appear to be many untitled workspace files. Please check {0} and remove any unused files.",
      "variables": {
        "cwd": {
          "description": "The task runner's current working directory on startup"
        },
        "file": {
          "description": "The path of the currently opened file"
        },
        "fileBasename": {
          "description": "The basename of the currently opened file"
        },
        "fileBasenameNoExtension": {
          "description": "The currently opened file's name without extension"
        },
        "fileDirname": {
          "description": "The name of the currently opened file's directory"
        },
        "fileExtname": {
          "description": "The extension of the currently opened file"
        },
        "relativeFile": {
          "description": "The currently opened file's path relative to the workspace root"
        },
        "relativeFileDirname": {
          "description": "The current opened file's dirname relative to ${workspaceFolder}"
        },
        "workspaceFolder": {
          "description": "The path of the workspace root folder"
        },
        "workspaceFolderBasename": {
          "description": "The name of the workspace root folder"
        },
        "workspaceRoot": {
          "description": "The path of the workspace root folder"
        },
        "workspaceRootFolderName": {
          "description": "The name of the workspace root folder"
        }
      },
      "workspaceFolderAdded": "A workspace with multiple roots was created. Do you want to save your workspace configuration as a file?",
      "workspaceFolderAddedTitle": "Folder added to Workspace"
    }
  },
  "vsx.disabling": "Disabling",
  "vsx.disabling.extensions": "Disabling {0}...",
  "vsx.enabling": "Enabling",
  "vsx.enabling.extension": "Enabling {0}..."
}
