feat(i18n): add Hebrew (he) locale support

This commit is contained in:
Roo Code 2026-03-27 20:03:41 +00:00
parent 137d3f4fd8
commit c3e9692f9b
20 changed files with 2721 additions and 0 deletions

View file

@ -61,6 +61,7 @@ export const languages = [
"en",
"es",
"fr",
"he",
"hi",
"id",
"it",

247
src/i18n/locales/he/common.json generated Normal file
View file

@ -0,0 +1,247 @@
{
"extension": {
"name": "Roo Code",
"description": "A whole dev team of AI agents in your editor."
},
"number_format": {
"thousand_suffix": "k",
"million_suffix": "M",
"billion_suffix": "B"
},
"welcome": "Welcome, {{name}}! You have {{count}} notifications.",
"items": {
"zero": "No items",
"one": "One item",
"other": "{{count}} items"
},
"confirmation": {
"reset_state": "Are you sure you want to reset all state and secret storage in the extension? This cannot be undone.",
"delete_config_profile": "Are you sure you want to delete this configuration profile?",
"delete_custom_mode_with_rules": "Are you sure you want to delete this {scope} mode?\n\nThis will also delete the associated rules folder at:\n{rulesFolderPath}"
},
"errors": {
"invalid_data_uri": "Invalid data URI format",
"error_copying_image": "Error copying image: {{errorMessage}}",
"error_opening_image": "Error opening image: {{error}}",
"error_saving_image": "Error saving image: {{errorMessage}}",
"could_not_open_file": "Could not open file: {{errorMessage}}",
"could_not_open_file_generic": "Could not open file!",
"checkpoint_timeout": "Timed out when attempting to restore checkpoint.",
"checkpoint_failed": "Failed to restore checkpoint.",
"git_not_installed": "Git is required for the checkpoints feature. Please install Git to enable checkpoints.",
"checkpoint_no_first": "No first checkpoint to compare.",
"checkpoint_no_previous": "No previous checkpoint to compare.",
"checkpoint_no_changes": "No changes found.",
"checkpoint_diff_with_next": "Changes compared with next checkpoint",
"checkpoint_diff_since_first": "Changes since first checkpoint",
"checkpoint_diff_to_current": "Changes to current workspace",
"nested_git_repos_warning": "Checkpoints are disabled because a nested git repository was detected at: {{path}}. To use checkpoints, please remove or relocate this nested git repository.",
"no_workspace": "Please open a project folder first",
"update_support_prompt": "Failed to update support prompt",
"reset_support_prompt": "Failed to reset support prompt",
"enhance_prompt": "Failed to enhance prompt",
"get_system_prompt": "Failed to get system prompt",
"search_commits": "Failed to search commits",
"save_api_config": "Failed to save api configuration",
"create_api_config": "Failed to create api configuration",
"rename_api_config": "Failed to rename api configuration",
"load_api_config": "Failed to load api configuration",
"delete_api_config": "Failed to delete api configuration",
"list_api_config": "Failed to get list api configuration",
"update_server_timeout": "Failed to update server timeout",
"hmr_not_running": "Local development server is not running, HMR will not work. Please run 'npm run dev' before launching the extension to enable HMR.",
"retrieve_current_mode": "Error: failed to retrieve current mode from state.",
"failed_delete_repo": "Failed to delete associated shadow repository or branch: {{error}}",
"failed_remove_directory": "Failed to remove task directory: {{error}}",
"custom_storage_path_unusable": "Custom storage path \"{{path}}\" is unusable, will use default path",
"cannot_access_path": "Cannot access path {{path}}: {{error}}",
"settings_import_failed": "Settings import failed: {{error}}.",
"mistake_limit_guidance": "This may indicate a failure in the model's thought process or inability to use a tool properly, which can be mitigated with some user guidance (e.g. \"Try breaking down the task into smaller steps\").",
"violated_organization_allowlist": "Failed to run task: the current profile isn't compatible with your organization settings",
"condense_failed": "Failed to condense context",
"condense_not_enough_messages": "Not enough messages to condense context",
"condensed_recently": "Context was condensed recently; skipping this attempt",
"condense_handler_invalid": "API handler for condensing context is invalid",
"condense_api_failed": "Condensing API call failed: {{message}}",
"url_timeout": "The website took too long to load (timeout). This could be due to a slow connection, heavy website, or the site being temporarily unavailable. You can try again later or check if the URL is correct.",
"url_not_found": "The website address could not be found. Please check if the URL is correct and try again.",
"no_internet": "No internet connection. Please check your network connection and try again.",
"url_forbidden": "Access to this website is forbidden. The site may block automated access or require authentication.",
"url_page_not_found": "The page was not found. Please check if the URL is correct.",
"url_request_aborted": "The request to fetch the URL was aborted. This may happen if the site blocks automated access, requires authentication, or if there's a network issue. Please try again or check if the URL is accessible in a regular browser.",
"url_fetch_failed": "Failed to fetch URL content: {{error}}",
"url_fetch_error_with_url": "Error fetching content for {{url}}: {{error}}",
"command_timeout": "Command execution timed out after {{seconds}} seconds",
"share_task_failed": "Failed to share task. Please try again.",
"share_no_active_task": "No active task to share",
"share_auth_required": "Authentication required. Please sign in to share tasks.",
"share_not_enabled": "Task sharing is not enabled for this organization.",
"share_task_not_found": "Task not found or access denied.",
"mode_import_failed": "Failed to import mode: {{error}}",
"delete_rules_folder_failed": "Failed to delete rules folder: {{rulesFolderPath}}. Error: {{error}}",
"command_not_found": "Command '{{name}}' not found",
"open_command_file": "Failed to open command file",
"delete_command": "Failed to delete command",
"no_workspace_for_project_command": "No workspace folder found for project command",
"command_already_exists": "Command \"{{commandName}}\" already exists",
"create_command_failed": "Failed to create command",
"command_template_content": "---\ndescription: \"Brief description of what this command does\"\n---\n\nThis is a new slash command. Edit this file to customize the command behavior.",
"claudeCode": {
"processExited": "Claude Code process exited with code {{exitCode}}.",
"errorOutput": "Error output: {{output}}",
"processExitedWithError": "Claude Code process exited with code {{exitCode}}. Error output: {{output}}",
"stoppedWithReason": "Claude Code stopped with reason: {{reason}}",
"apiKeyModelPlanMismatch": "API keys and subscription plans allow different models. Make sure the selected model is included in your plan."
},
"message": {
"no_active_task_to_delete": "No active task to delete messages from",
"invalid_timestamp_for_deletion": "Invalid message timestamp for deletion",
"cannot_delete_missing_timestamp": "Cannot delete message: missing timestamp",
"cannot_delete_invalid_timestamp": "Cannot delete message: invalid timestamp",
"message_not_found": "Message with timestamp {{messageTs}} not found",
"error_deleting_message": "Error deleting message: {{error}}",
"error_editing_message": "Error editing message: {{error}}"
},
"gemini": {
"generate_stream": "Gemini generate context stream error: {{error}}",
"generate_complete_prompt": "Gemini completion error: {{error}}",
"sources": "Sources:",
"thinking_complete_no_output": "(Thinking complete, but no output was generated.)",
"thinking_complete_truncated": "(Thinking complete, but output was truncated due to token limit.)",
"thinking_complete_safety": "(Thinking complete, but output was blocked due to safety settings.)",
"thinking_complete_recitation": "(Thinking complete, but output was blocked due to recitation check.)"
},
"roo": {
"authenticationRequired": "Roo provider requires cloud authentication. Please sign in to Roo Code Cloud."
},
"openAiCodex": {
"notAuthenticated": "Not authenticated with OpenAI Codex. Please sign in using the OpenAI Codex OAuth flow.",
"invalidRequest": "Invalid request to Codex API. Please check your input parameters.",
"authenticationFailed": "Authentication failed. Please re-authenticate with OpenAI Codex.",
"accessDenied": "Access denied. Your ChatGPT subscription may not include Codex access.",
"endpointNotFound": "Codex API endpoint not found.",
"rateLimitExceeded": "Rate limit exceeded. Please try again later.",
"serviceError": "OpenAI Codex service error. Please try again later.",
"genericError": "Codex API error ({{status}})",
"noResponseBody": "Codex API error: No response body",
"connectionFailed": "Failed to connect to Codex API: {{message}}",
"unexpectedConnectionError": "Unexpected error connecting to Codex API",
"apiError": "Codex API error: {{message}}",
"responseFailed": "Response failed: {{message}}",
"streamProcessingError": "Error processing response stream: {{message}}",
"unexpectedStreamError": "Unexpected error processing response stream",
"completionError": "OpenAI Codex completion error: {{message}}"
},
"api": {
"invalidKeyInvalidChars": "API key contains invalid characters.",
"apiRequestFailed": "API request failed ({{status}})"
},
"manual_url_empty": "Please enter a valid callback URL",
"manual_url_no_query": "Invalid callback URL: missing query parameters",
"manual_url_missing_params": "Invalid callback URL: missing required parameters (code and state)",
"manual_url_auth_failed": "Manual URL authentication failed",
"manual_url_auth_error": "Authentication failed"
},
"warnings": {
"no_terminal_content": "No terminal content selected",
"missing_task_files": "This task's files are missing. Would you like to remove it from the task list?",
"auto_import_failed": "Failed to auto-import RooCode settings: {{error}}"
},
"info": {
"no_changes": "No changes found.",
"clipboard_copy": "System prompt successfully copied to clipboard",
"history_cleanup": "Cleaned up {{count}} task(s) with missing files from history.",
"custom_storage_path_set": "Custom storage path set: {{path}}",
"default_storage_path": "Reverted to using default storage path",
"settings_imported": "Settings imported successfully.",
"auto_import_success": "RooCode settings automatically imported from {{filename}}",
"share_link_copied": "Share link copied to clipboard",
"organization_share_link_copied": "Organization share link copied to clipboard!",
"public_share_link_copied": "Public share link copied to clipboard!",
"image_copied_to_clipboard": "Image data URI copied to clipboard",
"image_saved": "Image saved to {{path}}",
"mode_exported": "Mode '{{mode}}' exported successfully",
"mode_imported": "Mode imported successfully"
},
"answers": {
"yes": "Yes",
"no": "No",
"remove": "Remove",
"keep": "Keep"
},
"buttons": {
"save": "Save",
"edit": "Edit",
"learn_more": "Learn More"
},
"tasks": {
"canceled": "Task error: It was stopped and canceled by the user.",
"deleted": "Task failure: It was stopped and deleted by the user.",
"incomplete": "Task #{{taskNumber}} (Incomplete)",
"no_messages": "Task #{{taskNumber}} (No messages)"
},
"interruption": {
"responseInterruptedByUser": "Response interrupted by user",
"responseInterruptedByApiError": "Response interrupted by API error",
"streamTerminatedByProvider": "Provider ended the request"
},
"storage": {
"prompt_custom_path": "Enter custom conversation history storage path, leave empty to use default location",
"path_placeholder": "D:\\RooCodeStorage",
"enter_absolute_path": "Please enter an absolute path (e.g. D:\\RooCodeStorage or /home/user/storage)",
"enter_valid_path": "Please enter a valid path"
},
"input": {
"task_prompt": "What should Roo do?",
"task_placeholder": "Type your task here"
},
"customModes": {
"errors": {
"yamlParseError": "Invalid YAML in .roomodes file at line {{line}}. Please check for:\n• Proper indentation (use spaces, not tabs)\n• Matching quotes and brackets\n• Valid YAML syntax",
"schemaValidationError": "Invalid custom modes format in .roomodes:\n{{issues}}",
"invalidFormat": "Invalid custom modes format. Please ensure your settings follow the correct YAML format.",
"updateFailed": "Failed to update custom mode: {{error}}",
"deleteFailed": "Failed to delete custom mode: {{error}}",
"resetFailed": "Failed to reset custom modes: {{error}}",
"modeNotFound": "Write error: Mode not found",
"noWorkspaceForProject": "No workspace folder found for project-specific mode",
"rulesCleanupFailed": "Mode deleted successfully, but failed to delete rules folder at {{rulesFolderPath}}. You may need to delete it manually."
},
"scope": {
"project": "project",
"global": "global"
}
},
"marketplace": {
"mode": {
"rulesCleanupFailed": "Mode removed successfully, but failed to delete rules folder at {{rulesFolderPath}}. You may need to delete it manually."
}
},
"mdm": {
"errors": {
"cloud_auth_required": "Your organization requires Roo Code Cloud authentication. Please sign in to continue.",
"organization_mismatch": "You must be authenticated with your organization's Roo Code Cloud account.",
"verification_failed": "Unable to verify organization authentication."
},
"info": {
"organization_requires_auth": "Your organization requires authentication."
}
},
"prompts": {
"deleteMode": {
"title": "Delete Custom Mode",
"description": "Are you sure you want to delete this {{scope}} mode? This will also delete the associated rules folder at: {{rulesFolderPath}}",
"descriptionNoRules": "Are you sure you want to delete this custom mode?",
"confirm": "Delete"
}
},
"commands": {
"preventCompletionWithOpenTodos": {
"description": "Prevent task completion when there are incomplete todos in the todo list"
}
},
"docsLink": {
"label": "Docs",
"url": "https://docs.roocode.com"
}
}

76
src/i18n/locales/he/embeddings.json generated Normal file
View file

@ -0,0 +1,76 @@
{
"unknownError": "Unknown error",
"authenticationFailed": "Failed to create embeddings: Authentication failed. Please check your API key.",
"failedWithStatus": "Failed to create embeddings after {{attempts}} attempts: HTTP {{statusCode}} - {{errorMessage}}",
"failedWithError": "Failed to create embeddings after {{attempts}} attempts: {{errorMessage}}",
"failedMaxAttempts": "Failed to create embeddings after {{attempts}} attempts",
"textExceedsTokenLimit": "Text at index {{index}} exceeds maximum token limit ({{itemTokens}} > {{maxTokens}}). Skipping.",
"rateLimitRetry": "Rate limit hit, retrying in {{delayMs}}ms (attempt {{attempt}}/{{maxRetries}})",
"ollama": {
"couldNotReadErrorBody": "Could not read error body",
"requestFailed": "Ollama API request failed with status {{status}} {{statusText}}: {{errorBody}}",
"invalidResponseStructure": "Invalid response structure from Ollama API: \"embeddings\" array not found or not an array.",
"embeddingFailed": "Ollama embedding failed: {{message}}",
"serviceNotRunning": "Ollama service is not running at {{baseUrl}}",
"serviceUnavailable": "Ollama service is unavailable (status: {{status}})",
"modelNotFound": "Ollama model not found: {{modelId}}",
"modelNotEmbeddingCapable": "Ollama model is not embedding capable: {{modelId}}",
"hostNotFound": "Ollama host not found: {{baseUrl}}"
},
"bedrock": {
"invalidResponseFormat": "Invalid response format from Amazon Bedrock",
"invalidCredentials": "Invalid AWS credentials. Please check your AWS configuration.",
"accessDenied": "Access denied to Amazon Bedrock service. Please check your IAM permissions.",
"modelNotFound": "Model {{model}} not found in Amazon Bedrock"
},
"scanner": {
"unknownErrorProcessingFile": "Unknown error processing file {{filePath}}",
"unknownErrorDeletingPoints": "Unknown error deleting points for {{filePath}}",
"failedToProcessBatchWithError": "Failed to process batch after {{maxRetries}} attempts: {{errorMessage}}"
},
"vectorStore": {
"qdrantConnectionFailed": "Failed to connect to Qdrant vector database. Please ensure Qdrant is running and accessible at {{qdrantUrl}}. Error: {{errorMessage}}",
"vectorDimensionMismatch": "Failed to update vector index for new model. Please try clearing the index and starting again. Details: {{errorMessage}}"
},
"validation": {
"authenticationFailed": "Authentication failed. Please check your API key in the settings.",
"connectionFailed": "Failed to connect to the embedder service. Please check your connection settings and ensure the service is running.",
"modelNotAvailable": "The specified model is not available. Please check your model configuration.",
"configurationError": "Invalid embedder configuration. Please review your settings.",
"serviceUnavailable": "The embedder service is not available. Please ensure it is running and accessible.",
"invalidEndpoint": "Invalid API endpoint. Please check your URL configuration.",
"invalidEmbedderConfig": "Invalid embedder configuration. Please check your settings.",
"invalidApiKey": "Invalid API key. Please check your API key configuration.",
"invalidBaseUrl": "Invalid base URL. Please check your URL configuration.",
"invalidModel": "Invalid model. Please check your model configuration.",
"invalidResponse": "Invalid response from embedder service. Please check your configuration.",
"apiKeyRequired": "API key is required for this embedder",
"baseUrlRequired": "Base URL is required for this embedder"
},
"serviceFactory": {
"openAiConfigMissing": "OpenAI configuration missing for embedder creation",
"ollamaConfigMissing": "Ollama configuration missing for embedder creation",
"openAiCompatibleConfigMissing": "OpenAI Compatible configuration missing for embedder creation",
"geminiConfigMissing": "Gemini configuration missing for embedder creation",
"mistralConfigMissing": "Mistral configuration missing for embedder creation",
"openRouterConfigMissing": "OpenRouter configuration missing for embedder creation",
"vercelAiGatewayConfigMissing": "Vercel AI Gateway configuration missing for embedder creation",
"bedrockConfigMissing": "Amazon Bedrock configuration missing for embedder creation",
"invalidEmbedderType": "Invalid embedder type configured: {{embedderProvider}}",
"vectorDimensionNotDeterminedOpenAiCompatible": "Could not determine vector dimension for model '{{modelId}}' with provider '{{provider}}'. Please ensure the 'Embedding Dimension' is correctly set in the OpenAI-Compatible provider settings.",
"vectorDimensionNotDetermined": "Could not determine vector dimension for model '{{modelId}}' with provider '{{provider}}'. Check model profiles or configuration.",
"qdrantUrlMissing": "Qdrant URL missing for vector store creation",
"codeIndexingNotConfigured": "Cannot create services: Code indexing is not properly configured"
},
"orchestrator": {
"indexingFailedNoBlocks": "Indexing failed: No code blocks were successfully indexed. This usually indicates an embedder configuration issue.",
"indexingFailedCritical": "Indexing failed: No code blocks were successfully indexed despite finding files to process. This indicates a critical embedder failure.",
"fileWatcherStarted": "File watcher started.",
"fileWatcherStopped": "File watcher stopped.",
"failedDuringInitialScan": "Failed during initial scan: {{errorMessage}}",
"unknownError": "Unknown error",
"indexingRequiresWorkspace": "Indexing requires an open workspace folder",
"indexingStopped": "Indexing stopped by user.",
"indexingStoppedPartial": "Indexing stopped. Partial index data preserved."
}
}

69
src/i18n/locales/he/marketplace.json generated Normal file
View file

@ -0,0 +1,69 @@
{
"type-group": {
"modes": "Modes",
"mcps": "MCP Servers",
"match": "match"
},
"item-card": {
"type-mode": "Mode",
"type-mcp": "MCP Server",
"type-other": "Other",
"by-author": "by {{author}}",
"authors-profile": "Author's Profile",
"remove-tag-filter": "Remove tag filter: {{tag}}",
"filter-by-tag": "Filter by tag: {{tag}}",
"component-details": "Component Details",
"view": "View",
"source": "Source"
},
"filters": {
"search": {
"placeholder": "Search marketplace..."
},
"type": {
"label": "Type",
"all": "All Types",
"mode": "Mode",
"mcpServer": "MCP Server"
},
"sort": {
"label": "Sort By",
"name": "Name",
"lastUpdated": "Last Updated"
},
"tags": {
"label": "Tags",
"clear": "Clear tags",
"placeholder": "Search tags...",
"noResults": "No tags found.",
"selected": "Showing items with any of the selected tags"
},
"installed": {
"label": "Filter by status",
"all": "All Items",
"installed": "Installed",
"notInstalled": "Not Installed"
},
"title": "Marketplace"
},
"done": "Done",
"tabs": {
"installed": "Installed",
"browse": "Browse",
"settings": "Settings"
},
"items": {
"empty": {
"noItems": "No marketplace items found.",
"emptyHint": "Try adjusting your filters or search terms"
}
},
"installation": {
"installing": "Installing item: \"{{itemName}}\"",
"installSuccess": "\"{{itemName}}\" installed successfully",
"installError": "Failed to install \"{{itemName}}\": {{errorMessage}}",
"removing": "Removing item: \"{{itemName}}\"",
"removeSuccess": "\"{{itemName}}\" removed successfully",
"removeError": "Failed to remove \"{{itemName}}\": {{errorMessage}}"
}
}

28
src/i18n/locales/he/mcp.json generated Normal file
View file

@ -0,0 +1,28 @@
{
"errors": {
"invalid_settings_format": "Invalid MCP settings JSON format. Please ensure your settings follow the correct JSON format.",
"invalid_settings_syntax": "Invalid MCP settings JSON format. Please check your settings file for syntax errors.",
"invalid_settings_validation": "Invalid MCP settings format: {{errorMessages}}",
"create_json": "Failed to create or open .roo/mcp.json: {{error}}",
"failed_update_project": "Failed to update project MCP servers",
"invalidJsonArgument": "Roo tried to use {{toolName}} with an invalid JSON argument. Retrying...",
"refresh_after_disable": "Failed to refresh MCP connections after disabling",
"refresh_after_enable": "Failed to refresh MCP connections after enabling",
"disconnect_servers_partial": "Failed to disconnect {{count}} MCP server(s). Check the output for details.",
"toolNotFound": "Tool '{{toolName}}' does not exist on server '{{serverName}}'. Available tools: {{availableTools}}",
"serverNotFound": "MCP server '{{serverName}}' is not configured. Available servers: {{availableServers}}",
"toolDisabled": "Tool '{{toolName}}' on server '{{serverName}}' is disabled. Available enabled tools: {{availableTools}}"
},
"info": {
"server_restarting": "Restarting {{serverName}} MCP server...",
"server_connected": "{{serverName}} MCP server connected",
"server_deleted": "Deleted MCP server: {{serverName}}",
"server_not_found": "Server \"{{serverName}}\" not found in configuration",
"global_servers_active": "Active Global MCP Servers: {{mcpServers}}",
"project_servers_active": "Active Project MCP Servers: {{mcpServers}}",
"already_refreshing": "MCP servers are already refreshing.",
"refreshing_all": "Refreshing all MCP servers...",
"all_refreshed": "All MCP servers have been refreshed.",
"project_config_deleted": "Project MCP configuration file deleted. All project MCP servers have been disconnected."
}
}

16
src/i18n/locales/he/skills.json generated Normal file
View file

@ -0,0 +1,16 @@
{
"errors": {
"name_length": "Skill name must be 1-{{maxLength}} characters (got {{length}})",
"name_format": "Skill name must be lowercase letters/numbers/hyphens only (no leading/trailing hyphen, no consecutive hyphens)",
"description_length": "Skill description must be 1-1024 characters (got {{length}})",
"no_workspace": "Cannot create project skill: no workspace folder is open",
"already_exists": "Skill \"{{name}}\" already exists at {{path}}",
"not_found": "Skill \"{{name}}\" not found in {{source}}{{modeInfo}}",
"missing_create_fields": "Missing required fields: skillName, source, or skillDescription",
"missing_move_fields": "Missing required fields: skillName or source",
"missing_update_modes_fields": "Missing required fields: skillName or source",
"manager_unavailable": "Skills manager not available",
"missing_delete_fields": "Missing required fields: skillName or source",
"skill_not_found": "Skill \"{{name}}\" not found"
}
}

31
src/i18n/locales/he/tools.json generated Normal file
View file

@ -0,0 +1,31 @@
{
"readFile": {
"linesRange": " (lines {{start}}-{{end}})",
"definitionsOnly": " (definitions only)",
"maxLines": " (max {{max}} lines)",
"imageTooLarge": "Image file is too large ({{size}} MB). The maximum allowed size is {{max}} MB.",
"imageWithSize": "Image file ({{size}} KB)"
},
"toolRepetitionLimitReached": "Roo appears to be stuck in a loop, attempting the same action ({{toolName}}) repeatedly. This might indicate a problem with its current strategy. Consider rephrasing the task, providing more specific instructions, or guiding it towards a different approach.",
"unknownToolError": "Roo tried to use an unknown tool: \"{{toolName}}\". Retrying...",
"codebaseSearch": {
"approval": "Searching for '{{query}}' in codebase..."
},
"newTask": {
"errors": {
"policy_restriction": "Failed to create new task due to policy restrictions."
}
},
"generateImage": {
"openRouterApiKeyRequired": "OpenRouter API key is required for image generation with OpenRouter models. Please configure it in the Image Generation experimental settings.",
"failedWithStatus": "Failed to generate image: {{status}} {{statusText}}",
"failedWithMessage": "Failed to generate image: {{message}}",
"noImageGenerated": "No image was generated in the response",
"invalidImageData": "Invalid image data in response",
"invalidImageFormat": "Invalid image format received",
"unknownError": "Unknown error occurred",
"roo": {
"authRequired": "Roo Code Cloud authentication is required for image generation. Please sign in to Roo Code Cloud."
}
}
}

4
src/i18n/locales/he/worktrees.json generated Normal file
View file

@ -0,0 +1,4 @@
{
"selectWorktreeLocation": "Select Worktree Location",
"selectFolderForWorktree": "Select folder for new worktree"
}

View file

@ -10,6 +10,7 @@ export const LANGUAGES: Record<Language, string> = {
en: "English",
es: "Español",
fr: "Français",
he: "עברית",
hi: "हिन्दी",
id: "Bahasa Indonesia",
it: "Italiano",

0
webview-ui/src/i18n/locales/he/.gitkeep generated Normal file
View file

491
webview-ui/src/i18n/locales/he/chat.json generated Normal file
View file

@ -0,0 +1,491 @@
{
"greeting": "Welcome to Roo Code!",
"task": {
"title": "Task",
"expand": "Expand task",
"collapse": "Collapse task",
"seeMore": "See more",
"seeLess": "See less",
"tokens": "Tokens",
"cache": "Cache",
"apiCost": "API Cost",
"size": "Size",
"condenseContext": "Intelligently condense context",
"contextWindow": "Context Length",
"closeAndStart": "Close task and start a new one",
"export": "Export task history",
"share": "Share task",
"delete": "Delete Task (Shift + Click to skip confirmation)",
"shareWithOrganization": "Share with Organization",
"shareWithOrganizationDescription": "Only members of your organization can access",
"sharePublicly": "Share Publicly",
"sharePubliclyDescription": "Anyone with the link can access",
"connectToCloud": "Connect to Cloud",
"connectToCloudDescription": "Sign in to Roo Code Cloud to share tasks",
"sharingDisabledByOrganization": "Sharing disabled by organization",
"shareSuccessOrganization": "Organization link copied to clipboard",
"shareSuccessPublic": "Public link copied to clipboard",
"openApiHistory": "Open API History",
"openUiHistory": "Open UI History",
"backToParentTask": "Parent task"
},
"unpin": "Unpin",
"pin": "Pin",
"fileChangesInConversation": {
"header": "{{count}} file(s) changed in this conversation"
},
"retry": {
"title": "Retry",
"tooltip": "Try the operation again"
},
"startNewTask": {
"title": "Start New Task",
"tooltip": "Begin a new task"
},
"proceedAnyways": {
"title": "Proceed Anyways",
"tooltip": "Continue while command executes"
},
"save": {
"title": "Save",
"tooltip": "Save the message changes"
},
"tokenProgress": {
"availableSpace": "Available space: {{amount}} tokens",
"tokensUsed": "Tokens used: {{used}} of {{total}}",
"reservedForResponse": "Reserved for model response: {{amount}} tokens",
"tokensUsedLabel": "Tokens used",
"reservedForResponseLabel": "Reserved for response",
"availableSpaceLabel": "Available space"
},
"reject": {
"title": "Deny",
"tooltip": "Prevent this action from occurring"
},
"completeSubtaskAndReturn": "Complete subtask and keep going",
"approve": {
"title": "Approve",
"tooltip": "Allow this action to happen"
},
"read-batch": {
"approve": {
"title": "Approve All"
},
"deny": {
"title": "Deny All"
}
},
"list-batch": {
"approve": {
"title": "Approve All"
},
"deny": {
"title": "Deny All"
}
},
"edit-batch": {
"approve": {
"title": "Save All"
},
"deny": {
"title": "Deny All"
}
},
"runCommand": {
"title": "Run",
"tooltip": "Execute this command"
},
"proceedWhileRunning": {
"title": "Continue While Running",
"tooltip": "Keep going despite warnings"
},
"killCommand": {
"title": "Kill Command",
"tooltip": "Kill the current command"
},
"resumeTask": {
"title": "Continue",
"tooltip": "Resume the current task"
},
"terminate": {
"title": "New task",
"tooltip": "Start a new task"
},
"cancel": {
"title": "Cancel",
"tooltip": "Cancel the current operation"
},
"stop": {
"title": "Stop",
"tooltip": "Stop the current task"
},
"enqueueMessage": "Add message to queue (will be sent after current task completes)",
"editMessage": {
"placeholder": "Edit your message..."
},
"scrollToBottom": "Scroll to bottom of chat",
"about": "Roo is a whole AI dev team in your editor",
"docs": "Check our <DocsLink>docs</DocsLink> to get started",
"onboarding": "What would you like to do?",
"rooTips": {
"customizableModes": {
"title": "Customizable modes that don't swerve",
"description": "Specialized personas that stay on-task and deliver."
},
"modelAgnostic": {
"title": "Bring your own model, no markup or lock-in",
"description": "Use your own provider key or even run local inference — Roo doesn't charge for it"
}
},
"selectMode": "Select mode for interaction",
"selectApiConfig": "Select API configuration",
"lockApiConfigAcrossModes": "Lock API configuration across all modes in this workspace",
"unlockApiConfigAcrossModes": "API configuration is locked across all modes in this workspace (click to unlock)",
"enhancePrompt": "Enhance prompt with additional context",
"modeSelector": {
"title": "Modes",
"marketplace": "Mode Marketplace",
"settings": "Mode Settings",
"description": "Specialized personas that tailor Roo's behavior.",
"searchPlaceholder": "Search modes...",
"noResults": "No results found"
},
"enhancePromptDescription": "The 'Enhance Prompt' button helps improve your prompt by providing additional context, clarification, or rephrasing. Try typing a prompt in here and clicking the button again to see how it works.",
"addImages": "Add images to message",
"sendMessage": "Send message",
"pressToSend": "Press {{keyCombination}} to send",
"stopTts": "Stop text-to-speech",
"typeMessage": "Type a message...",
"typeTask": "Type your task here...",
"addContext": "@ to add context, / for commands",
"dragFiles": "hold shift to drag in files",
"dragFilesImages": "hold shift to drag in files/images",
"errorReadingFile": "Error reading file",
"noValidImages": "No valid images were processed",
"separator": "Separator",
"edit": "Edit...",
"forNextMode": "for next mode",
"forPreviousMode": "for previous mode",
"apiRequest": {
"title": "API Request",
"failed": "API Request Failed",
"streaming": "API Request...",
"cancelled": "API Request Cancelled",
"streamingFailed": "API Streaming Failed",
"rateLimitWait": "Rate limiting",
"errorTitle": "Provider Error {{code}}",
"errorMessage": {
"400": "The provider couldn't process the request as made. Stop the task and try a different approach.",
"401": "Couldn't authenticate with provider. Please check your API key configuration.",
"402": "You seem to have run out of funds/credits in your account. Go to your provider and add more to continue.",
"403": "Unauthorized. Your API key is valid, but the provider refused to complete this request.",
"429": "Too many requests. You're being rate-limited by the provider. Please wait a bit before your next API call.",
"500": "Provider server error. Something is wrong on the provider side, there's nothing wrong with your request.",
"docs": "Docs",
"goToSettings": "Settings",
"connection": "Connection error. Make sure you have a working internet connection.",
"unknown": "Unknown API error. Please contact Roo Code support.",
"claudeCodeNotAuthenticated": "You need to sign in to use Claude Code. Go to Settings and click \"Sign in to Claude Code\" to authenticate."
}
},
"checkpoint": {
"regular": "Checkpoint",
"initializingWarning": "Still initializing checkpoint... If this takes too long, you can disable checkpoints in <settingsLink>settings</settingsLink> and restart your task.",
"menu": {
"viewDiff": "View Diff",
"viewDiffFromInit": "View All Changes",
"viewDiffWithCurrent": "View Changes Since This Checkpoint",
"restore": "Restore Checkpoint",
"restoreFiles": "Restore Files",
"restoreFilesDescription": "Restores your project's files back to a snapshot taken at this point.",
"restoreFilesAndTask": "Restore Files & Task",
"confirm": "Confirm",
"cancel": "Cancel",
"cannotUndo": "This action cannot be undone.",
"restoreFilesAndTaskDescription": "Restores your project's files back to a snapshot taken at this point and deletes all messages after this point.",
"more": "More options"
},
"current": "Current"
},
"contextManagement": {
"tokens": "tokens",
"condensation": {
"title": "Context Condensed",
"inProgress": "Condensing context...",
"errorHeader": "Failed to condense context"
},
"truncation": {
"title": "Context Truncated",
"inProgress": "Truncating context...",
"messagesRemoved": "{{count}} message removed",
"messagesRemoved_other": "{{count}} messages removed",
"description": "Older messages were removed from the conversation to stay within the context window limit. This is a fast but less context-preserving approach compared to condensation."
}
},
"skill": {
"wantsToLoad": "Roo wants to load a skill",
"didLoad": "Roo loaded a skill"
},
"fileOperations": {
"wantsToRead": "Roo wants to read this file",
"wantsToReadMultiple": "Roo wants to read multiple files",
"wantsToReadAndXMore": "Roo wants to read this file and {{count}} more",
"wantsToReadOutsideWorkspace": "Roo wants to read this file outside of the workspace",
"didRead": "Roo read this file",
"wantsToEdit": "Roo wants to edit this file",
"wantsToEditOutsideWorkspace": "Roo wants to edit this file outside of the workspace",
"wantsToEditProtected": "Roo wants to edit a protected configuration file",
"wantsToApplyBatchChanges": "Roo wants to apply changes to multiple files",
"wantsToGenerateImage": "Roo wants to generate an image",
"wantsToGenerateImageOutsideWorkspace": "Roo wants to generate an image outside of the workspace",
"wantsToGenerateImageProtected": "Roo wants to generate an image in a protected location",
"didGenerateImage": "Roo generated an image",
"wantsToCreate": "Roo wants to create a new file",
"wantsToInsert": "Roo wants to insert content into this file",
"wantsToInsertWithLineNumber": "Roo wants to insert content into this file at line {{lineNumber}}",
"wantsToInsertAtEnd": "Roo wants to append content to the end of this file"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo wants to view the top level files in this directory",
"didViewTopLevel": "Roo viewed the top level files in this directory",
"wantsToViewTopLevelOutsideWorkspace": "Roo wants to view the top level files in this directory (outside workspace)",
"didViewTopLevelOutsideWorkspace": "Roo viewed the top level files in this directory (outside workspace)",
"wantsToViewRecursive": "Roo wants to recursively view all files in this directory",
"didViewRecursive": "Roo recursively viewed all files in this directory",
"wantsToViewRecursiveOutsideWorkspace": "Roo wants to recursively view all files in this directory (outside workspace)",
"didViewRecursiveOutsideWorkspace": "Roo recursively viewed all files in this directory (outside workspace)",
"wantsToViewMultipleDirectories": "Roo wants to view multiple directories",
"wantsToSearch": "Roo wants to search this directory for <code>{{regex}}</code>",
"didSearch": "Roo searched this directory for <code>{{regex}}</code>",
"wantsToSearchOutsideWorkspace": "Roo wants to search this directory (outside workspace) for <code>{{regex}}</code>",
"didSearchOutsideWorkspace": "Roo searched this directory (outside workspace) for <code>{{regex}}</code>"
},
"codebaseSearch": {
"wantsToSearch": "Roo wants to search the codebase for <code>{{query}}</code>",
"wantsToSearchWithPath": "Roo wants to search the codebase for <code>{{query}}</code> in <code>{{path}}</code>",
"didSearch_one": "Found 1 result",
"didSearch_other": "Found {{count}} results",
"resultTooltip": "Similarity score: {{score}} (click to open file)"
},
"commandOutput": "Command Output",
"commandExecution": {
"abort": "Abort",
"running": "Running",
"pid": "PID: {{pid}}",
"exitStatus": "Exited with status {{exitCode}}",
"manageCommands": "Auto-approved commands",
"addToAllowed": "Add to allowed list",
"removeFromAllowed": "Remove from allowed list",
"addToDenied": "Add to denied list",
"removeFromDenied": "Remove from denied list",
"abortCommand": "Abort command execution",
"expandOutput": "Expand output",
"collapseOutput": "Collapse output",
"expandManagement": "Expand command management section",
"collapseManagement": "Collapse command management section"
},
"response": "Response",
"arguments": "Arguments",
"text": {
"rooSaid": "Roo said"
},
"feedback": {
"youSaid": "You said"
},
"mcp": {
"wantsToUseTool": "Roo wants to use a tool on the {{serverName}} MCP server",
"wantsToAccessResource": "Roo wants to access a resource on the {{serverName}} MCP server"
},
"modes": {
"wantsToSwitch": "Roo wants to switch to {{mode}} mode",
"wantsToSwitchWithReason": "Roo wants to switch to {{mode}} mode because: {{reason}}",
"didSwitch": "Roo switched to {{mode}} mode",
"didSwitchWithReason": "Roo switched to {{mode}} mode because: {{reason}}"
},
"subtasks": {
"wantsToCreate": "Roo wants to create a new subtask in {{mode}} mode",
"wantsToFinish": "Roo wants to mark this as completed",
"newTaskContent": "Subtask Instructions",
"resultContent": "Subtask completed",
"defaultResult": "Please continue to the next task.",
"completionInstructions": "You can review the results and suggest any corrections or next steps. If everything looks good, confirm to return the result to the parent task.",
"goToSubtask": "View task"
},
"questions": {
"hasQuestion": "Roo has a question"
},
"taskCompleted": "Task Completed",
"error": "Error",
"modelResponseIncomplete": "Model Response Incomplete",
"modelResponseErrors": {
"noToolsUsed": "The model failed to use any tools in its response. This typically happens when the model provides only text/reasoning without calling the required tools to complete the task.",
"noToolsUsedDetails": "The model provided text/reasoning but did not call any of the required tools. This usually indicates the model misunderstood the task or is having difficulty determining which tool to use. The model has been automatically prompted to retry with proper tool usage.",
"noAssistantMessages": "The model did not provide any response content. This may indicate an issue with the API or the model's output.",
"noAssistantMessagesDetails": "The language model returned an empty response without any text or tool calls. This can happen due to API issues, rate limiting, or model-specific problems. The model has been automatically prompted to retry."
},
"errorDetails": {
"link": "Details",
"title": "Error Details",
"copyToClipboard": "Copy basic error info",
"copied": "Copied!",
"diagnostics": "Get detailed error info",
"proxyProvider": "You seem to be using a proxy-based provider. Make sure to check its logs and to ensure it's not rewriting Roo's requests."
},
"diffError": {
"title": "Edit Unsuccessful"
},
"troubleMessage": "Roo is having trouble...",
"powershell": {
"issues": "It seems like you're having Windows PowerShell issues, please see this"
},
"autoApprove": {
"tooltipManage": "Manage auto-approval settings",
"tooltipStatus": "Auto-approval enabled for: {{toggles}}",
"title": "Auto-approve",
"all": "All",
"none": "None",
"description": "Run these actions without asking for permission. Only enable for actions you fully trust.",
"selectOptionsFirst": "Select at least one option below to enable auto-approval",
"toggleAriaLabel": "Toggle auto-approval",
"disabledAriaLabel": "Auto-approval disabled - select options first",
"triggerLabelOff": "Auto-approve off",
"triggerLabelOffShort": "Off",
"triggerLabel_zero": "0 auto-approve",
"triggerLabel_one": "1 auto-approved",
"triggerLabel_other": "{{count}} auto-approved",
"triggerLabelAll": "BRRR"
},
"announcement": {
"title": "Roo Code {{version}} Released",
"support": "Please support Roo Code by starring us on <githubLink>GitHub</githubLink>.",
"stealthModel": {
"feature": "<bold>Limited-time FREE stealth model</bold> - Code Supernova: Now upgraded with a <bold>1M token context window</bold>! A versatile agentic coding model that supports image inputs, accessible through Roo Code Cloud.",
"note": "(Note: prompts and completions are logged by the model creator and used to improve the model)",
"connectButton": "Connect to Roo Code Cloud",
"selectModel": "Select <code>roo/code-supernova</code> from the Roo Code Cloud provider in Settings to get started.",
"goToSettingsButton": "Go to Settings"
},
"release": {
"heading": "What's New:",
"gpt54": "OpenAI GPT-5.4 Support: Added OpenAI GPT-5.4 and GPT-5.3 Chat Latest so you can use the newest OpenAI chat models in Roo Code.",
"slashSkills": "Slash Command Skills: Skills can now be exposed as slash commands with fallback execution for faster workflows."
},
"cloudAgents": {
"heading": "New in the Cloud:",
"specialized": "Introducing <bold>Explainer</bold>, <bold>Planner</bold>, and <bold>Coder</bold> - three specialized cloud agents to enhance your workflows.",
"description": "The agents work together in the cloud and can be triggered from the web or through Slack.",
"tryButton": "Try Cloud Agents"
},
"careers": "Also, <careersLink>we're hiring!</careersLink>"
},
"reasoning": {
"thinking": "Thinking",
"seconds": "{{count}}s"
},
"followUpSuggest": {
"copyToInput": "Copy to input (same as shift + click)",
"timerPrefix": "Auto-approve enabled. Selecting in {{seconds}}s…"
},
"costs": {
"totalWithSubtasks": "Total Cost (including subtasks): ${{cost}}",
"total": "Total Cost: ${{cost}}",
"includesSubtasks": "Includes subtask costs"
},
"codeblock": {
"tooltips": {
"expand": "Expand code block",
"collapse": "Collapse code block",
"copy_code": "Copy code"
}
},
"profileViolationWarning": "The current profile isn't compatible with your organization's settings",
"shellIntegration": {
"title": "Command Execution Warning",
"description": "Your command is being executed without VSCode terminal shell integration. To suppress this warning you can disable shell integration in the <strong>Terminal</strong> section of the <settingsLink>Roo Code settings</settingsLink> or troubleshoot VSCode terminal integration using the link below.",
"troubleshooting": "Click here for shell integration documentation."
},
"ask": {
"autoApprovedRequestLimitReached": {
"title": "Auto-Approved Request Limit Reached",
"description": "Roo has reached the auto-approved limit of {{count}} API request(s). Would you like to reset the count and proceed with the task?",
"button": "Reset and Continue"
},
"autoApprovedCostLimitReached": {
"title": "Auto-Approved Cost Limit Reached",
"description": "Roo has reached the auto-approved cost limit of ${{count}}. Would you like to reset the cost and proceed with the task?",
"button": "Reset and Continue"
}
},
"indexingStatus": {
"ready": "Index ready",
"indexing": "Indexing {{percentage}}%",
"indexed": "Indexed",
"error": "Index error",
"status": "Index status",
"stopping": "Stopping indexing..."
},
"versionIndicator": {
"ariaLabel": "Version {{version}} - Click to view release notes"
},
"command": {
"triggerDescription": "Trigger the {{name}} command"
},
"slashCommands": {
"tooltip": "Manage slash commands",
"title": "Slash Commands",
"description": "Use built-in slash commands or create custom ones for quick access to frequently used prompts and workflows. <DocsLink>Docs</DocsLink>",
"manageCommands": "Manage slash commands in settings",
"builtInCommands": "Built-in Commands",
"globalCommands": "Global Commands",
"workspaceCommands": "Workspace Commands",
"globalCommand": "Global command",
"editCommand": "Edit command",
"deleteCommand": "Delete command",
"newGlobalCommandPlaceholder": "New global command...",
"newWorkspaceCommandPlaceholder": "New workspace command...",
"deleteDialog": {
"title": "Delete Command",
"description": "Are you sure you want to delete the command \"{{name}}\"? This action cannot be undone.",
"cancel": "Cancel",
"confirm": "Delete"
}
},
"slashCommand": {
"wantsToRun": "Roo wants to run a slash command",
"didRun": "Roo ran a slash command"
},
"queuedMessages": {
"title": "Queued Messages",
"clickToEdit": "Click to edit message"
},
"contextMenu": {
"noResults": "No results",
"problems": "Problems",
"terminal": "Terminal",
"url": "Paste URL to fetch contents"
},
"todo": {
"partial": "{{completed}} of {{total}} to-dos done",
"complete": "{{total}} to-dos done",
"updated": "Updated the to-do list",
"completed": "Completed",
"started": "Started"
},
"tooManyTools": {
"title": "Too many tools enabled",
"toolsPart_one": "{{count}} tool",
"toolsPart_other": "{{count}} tools",
"serversPart_one": "{{count}} MCP server",
"serversPart_other": "{{count}} MCP servers",
"messageTemplate": "You have {{tools}} enabled via {{servers}}. Such a high number can confuse the model and lead to errors. Try to keep it below {{threshold}}.",
"openMcpSettings": "Open MCP Settings"
},
"readCommandOutput": {
"title": "Roo read command output"
},
"retiredProvider": {
"title": "Provider no longer supported",
"message": "Sorry, this provider is no longer supported. We saw very few Roo users actually using it and we need to reduce the surface area of our codebase so we can keep shipping fast and serving our community well in this space. It was a really hard decision but it lets us focus on what matters most to you. It sucks, we know.",
"openSettings": "Open Settings"
}
}

View file

@ -0,0 +1,33 @@
{
"title": "Cloud",
"profilePicture": "Profile picture",
"logOut": "Log out",
"testApiAuthentication": "Test API Authentication",
"signIn": "Connect to Roo Code Cloud",
"connect": "Get started",
"cloudBenefitsTitle": "Try Roo Code Cloud",
"cloudBenefitProvider": "Access free and paid models that work great with Roo",
"cloudBenefitCloudAgents": "Give tasks to autonomous Cloud agents",
"cloudBenefitTriggers": "Get code reviews on GitHub, start tasks from Slack and more",
"cloudBenefitWalkaway": "Follow and control tasks from anywhere (including your phone)",
"cloudBenefitHistory": "Access your task history from anywhere and share them with others",
"cloudBenefitMetrics": "Get a holistic view of your token consumption",
"visitCloudWebsite": "Visit Roo Code Cloud",
"taskSync": "Task sync",
"taskSyncDescription": "Sync your tasks for viewing and sharing on Roo Code Cloud",
"taskSyncManagedByOrganization": "Task sync is managed by your organization",
"usageMetricsAlwaysReported": "Model usage info is always reported when logged in",
"cloudUrlPillLabel": "Roo Code Cloud URL",
"authWaiting": "Waiting for browser authentication...",
"havingTrouble": "Having trouble?",
"pasteCallbackUrl": "Copy the redirect URL from your browser and paste it here:",
"startOver": "Start over",
"personalAccount": "Personal Account",
"switchAccount": "Switch Roo Code Cloud Account",
"createTeamAccount": "Create Team Account",
"upsell": {
"autoApprovePowerUser": "Giving Roo some independence? Control it from anywhere with Roo Code Cloud. <learnMoreLink>Learn more</learnMoreLink>.",
"longRunningTask": "This might take a while. Continue from anywhere with Cloud.",
"taskList": "Enjoying Roo? Check out Roo Code Cloud: follow and control your tasks from anywhere, run autonomous Cloud agents, get usage stats and more. <learnMoreLink>Learn more</learnMoreLink>."
}
}

114
webview-ui/src/i18n/locales/he/common.json generated Normal file
View file

@ -0,0 +1,114 @@
{
"errorBoundary": {
"title": "Something went wrong",
"reportText": "Please help us improve by reporting this error on",
"githubText": "our GitHub Issues page",
"copyInstructions": "Copy and paste the following error message to include it as part of your submission:",
"errorStack": "Error Stack:",
"componentStack": "Component Stack:"
},
"answers": {
"yes": "Yes",
"no": "No",
"cancel": "Cancel",
"remove": "Remove",
"keep": "Keep"
},
"number_format": {
"thousand_suffix": "k",
"million_suffix": "m",
"billion_suffix": "b"
},
"ui": {
"search_placeholder": "Search...",
"no_results": "No results found"
},
"mermaid": {
"loading": "Generating mermaid diagram...",
"render_error": "Unable to Render Diagram",
"buttons": {
"zoom": "Zoom",
"zoomIn": "Zoom In",
"zoomOut": "Zoom Out",
"copy": "Copy",
"save": "Save Image",
"viewCode": "View Code",
"viewDiagram": "View Diagram",
"close": "Close"
},
"modal": {
"codeTitle": "Mermaid Code"
},
"tabs": {
"diagram": "Diagram",
"code": "Code"
},
"feedback": {
"imageCopied": "Image copied to clipboard",
"copyError": "Error copying image"
}
},
"image": {
"tabs": {
"view": "Image"
},
"noData": "No image data"
},
"file": {
"errors": {
"invalidDataUri": "Invalid data URI format",
"copyingImage": "Error copying image: {{error}}",
"openingImage": "Error opening image: {{error}}",
"pathNotExists": "Path does not exist: {{path}}",
"couldNotOpen": "Could not open file: {{error}}",
"couldNotOpenGeneric": "Could not open file!"
},
"success": {
"imageDataUriCopied": "Image data URI copied to clipboard"
}
},
"confirmation": {
"deleteMessage": "Delete Message",
"deleteWarning": "Deleting this message will delete all subsequent messages in the conversation. Do you want to proceed?",
"editMessage": "Edit Message",
"editWarning": "Editing this message will delete all subsequent messages in the conversation. Do you want to proceed?",
"editQuestionWithCheckpoint": "Editing this message will delete all later messages in the conversation. Do you also want to undo all changes back to this checkpoint?",
"deleteQuestionWithCheckpoint": "Deleting this message will delete all later messages in the conversation. Do you also want to undo all changes back to this checkpoint?",
"editOnly": "No, edit message only",
"deleteOnly": "No, delete message only",
"restoreToCheckpoint": "Yes, restore the checkpoint",
"proceed": "Proceed",
"dontShowAgain": "Don't show this again"
},
"time_ago": {
"just_now": "just now",
"seconds_ago": "{{count}} seconds ago",
"minute_ago": "a minute ago",
"minutes_ago": "{{count}} minutes ago",
"hour_ago": "an hour ago",
"hours_ago": "{{count}} hours ago",
"day_ago": "a day ago",
"days_ago": "{{count}} days ago",
"week_ago": "a week ago",
"weeks_ago": "{{count}} weeks ago",
"month_ago": "a month ago",
"months_ago": "{{count}} months ago",
"year_ago": "a year ago",
"years_ago": "{{count}} years ago"
},
"errors": {
"wait_checkpoint_long_time": "Waited {{timeout}} seconds for checkpoint initialization. If you don't need the checkpoint feature, please turn it off in <settingsLink>the checkpoint settings</settingsLink>.",
"init_checkpoint_fail_long_time": "Checkpoint initialization has taken more than {{timeout}} seconds, so checkpoints are disabled for this task. You can disable checkpoints or extend the waiting time in <settingsLink>the checkpoint settings</settingsLink>.",
"attempt_completion_tool_failed": "Cannot execute attempt_completion because a previous tool call failed in this turn. Please address the tool failure before attempting completion."
},
"tasks": {
"delegated": "Delegated to subtask",
"delegated_to": "Delegated to task {{childId}}",
"delegation_completed": "Subtask completed, resuming parent",
"awaiting_child": "Awaiting child task {{childId}}"
},
"costs": {
"own": "Own",
"subtasks": "Subtasks"
}
}

View file

@ -0,0 +1,51 @@
{
"recentTasks": "Recent Tasks",
"history": "History",
"exitSelectionMode": "Exit Selection Mode",
"enterSelectionMode": "Enter Selection Mode",
"done": "Done",
"searchPlaceholder": "Fuzzy search history...",
"newest": "Newest",
"oldest": "Oldest",
"mostExpensive": "Most Expensive",
"mostTokens": "Most Tokens",
"mostRelevant": "Most Relevant",
"deleteTaskTitle": "Delete Task (Shift + Click to skip confirmation)",
"copyPrompt": "Copy Prompt",
"exportTask": "Export Task",
"deleteTask": "Delete Task",
"deleteTaskMessage": "Are you sure you want to delete this task? This action cannot be undone.",
"cancel": "Cancel",
"delete": "Delete",
"exitSelection": "Exit Selection",
"selectionMode": "Selection Mode",
"deselectAll": "Deselect all",
"selectAll": "Select all",
"selectedItems": "Selected {{selected}}/{{total}} items",
"clearSelection": "Clear Selection",
"deleteSelected": "Delete Selected",
"deleteTasks": "Delete Tasks",
"confirmDeleteTasks": "Are you sure you want to delete {{count}} tasks?",
"deleteTasksWarning": "Deleted tasks cannot be recovered. Please make sure you want to proceed.",
"deleteItems": "Delete {{count}} Items",
"workspace": {
"prefix": "Workspace:",
"current": "Current",
"all": "All"
},
"sort": {
"prefix": "Sort:",
"newest": "Newest",
"oldest": "Oldest",
"mostExpensive": "Most Expensive",
"mostTokens": "Most Tokens",
"mostRelevant": "Most Relevant"
},
"viewAllHistory": "View all",
"subtasks_one": "{{count}} subtask",
"subtasks_other": "{{count}} subtasks",
"subtaskTag": "Subtask",
"deleteWithSubtasks": "This will also delete {{count}} subtask(s). Are you sure?",
"expandSubtasks": "Expand subtasks",
"collapseSubtasks": "Collapse subtasks"
}

View file

@ -0,0 +1,156 @@
{
"title": "Roo Marketplace",
"tabs": {
"installed": "Installed",
"settings": "Settings",
"browse": "Browse"
},
"done": "Done",
"refresh": "Refresh",
"filters": {
"search": {
"placeholder": "Search marketplace items...",
"placeholderMcp": "Search MCPs...",
"placeholderMode": "Search Modes..."
},
"installed": {
"label": "Filter by status",
"all": "All Items",
"installed": "Installed",
"notInstalled": "Not Installed"
},
"type": {
"label": "Filter by type:",
"all": "All types",
"mode": "Mode",
"mcpServer": "MCP Server"
},
"sort": {
"label": "Sort by:",
"name": "Name",
"author": "Author",
"lastUpdated": "Last Updated"
},
"tags": {
"label": "Filter by tags:",
"clear": "Clear tags",
"placeholder": "Type to search and select tags...",
"noResults": "No matching tags found",
"selected": "Showing items with any of the selected tags",
"clickToFilter": "Click tags to filter items"
},
"none": "None"
},
"sections": {
"organizationMcps": "{{organization}} MCPs",
"marketplace": "Marketplace"
},
"type-group": {
"modes": "Modes",
"mcps": "MCP Servers"
},
"items": {
"empty": {
"noItems": "No marketplace items found",
"withFilters": "Try adjusting your filters",
"noSources": "Try adding a source in the Sources tab",
"adjustFilters": "Try adjusting your filters or search terms",
"clearAllFilters": "Clear all filters"
},
"count": "{{count}} items found",
"components": "{{count}} components",
"matched": "{{count}} matched",
"refresh": {
"button": "Refresh",
"refreshing": "Refreshing...",
"mayTakeMoment": "This may take a moment."
},
"card": {
"by": "by {{author}}",
"from": "from {{source}}",
"install": "Install",
"installProject": "Install",
"installGlobal": "Install (Global)",
"remove": "Remove",
"removeProject": "Remove",
"removeGlobal": "Remove (Global)",
"viewSource": "View",
"viewOnSource": "View on {{source}}",
"noWorkspaceTooltip": "Open a workspace to install marketplace items",
"installed": "Installed",
"removeProjectTooltip": "Remove from current project",
"removeGlobalTooltip": "Remove from global configuration",
"actionsMenuLabel": "More actions"
},
"removeFailed": "Failed to remove item: {{error}}",
"unknownError": "Unknown error occurred"
},
"install": {
"title": "Install {{name}}",
"titleMode": "Install {{name}} Mode",
"titleMcp": "Install {{name}} MCP",
"scope": "Installation Scope",
"project": "Project (current workspace)",
"global": "Global (all workspaces)",
"method": "Installation Method",
"prerequisites": "Prerequisites",
"configuration": "Configuration",
"configurationDescription": "Configure the parameters required for this MCP server",
"button": "Install",
"successTitle": "{{name}} Installed",
"successDescription": "Installation completed successfully",
"installed": "Successfully installed!",
"whatNextMcp": "You can now configure and use this MCP server. Click the MCP icon in the sidebar to switch tabs.",
"whatNextMode": "You can now use this mode. Click the Modes icon in the sidebar to switch tabs.",
"done": "Done",
"goToMcp": "Go to MCP Tab",
"goToModes": "Go to Modes Settings",
"moreInfoMcp": "View {{name}} MCP documentation",
"validationRequired": "Please provide a value for {{paramName}}"
},
"sources": {
"title": "Configure Marketplace Sources",
"description": "Add Git repositories that contain marketplace items. These repositories will be fetched when browsing the marketplace.",
"add": {
"title": "Add New Source",
"urlPlaceholder": "Git repository URL (e.g., https://github.com/username/repo)",
"urlFormats": "Supported formats: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git), or Git protocol (git://github.com/username/repo.git)",
"namePlaceholder": "Display name (max 20 chars)",
"button": "Add Source"
},
"current": {
"title": "Current Sources",
"empty": "No sources configured. Add a source to get started.",
"refresh": "Refresh this source",
"remove": "Remove source"
},
"errors": {
"emptyUrl": "URL cannot be empty",
"invalidUrl": "Invalid URL format",
"nonVisibleChars": "URL contains non-visible characters other than spaces",
"invalidGitUrl": "URL must be a valid Git repository URL (e.g., https://github.com/username/repo)",
"duplicateUrl": "This URL is already in the list (case and whitespace insensitive match)",
"nameTooLong": "Name must be 20 characters or less",
"nonVisibleCharsName": "Name contains non-visible characters other than spaces",
"duplicateName": "This name is already in use (case and whitespace insensitive match)",
"emojiName": "Emoji characters may cause display issues",
"maxSources": "Maximum of {{max}} sources allowed"
}
},
"removeConfirm": {
"mode": {
"title": "Remove Mode",
"message": "Are you sure you want to remove the mode \"{{modeName}}\"?",
"rulesWarning": "This will also remove any associated rules files for this mode."
},
"mcp": {
"title": "Remove MCP Server",
"message": "Are you sure you want to remove the MCP server \"{{mcpName}}\"?"
},
"cancel": "Cancel",
"confirm": "Remove"
},
"footer": {
"issueText": "Found a problem with a marketplace item or have suggestions for new ones? <0>Open a GitHub issue</0> to let us know!"
}
}

65
webview-ui/src/i18n/locales/he/mcp.json generated Normal file
View file

@ -0,0 +1,65 @@
{
"title": "MCP Servers",
"done": "Done",
"marketplace": "MCP Marketplace",
"description": "The <0>Model Context Protocol</0> enables communication with locally running MCP servers that provide additional tools and resources to extend Roo's capabilities. You can use <1>community-made servers</1> or ask Roo to create new tools specific to your workflow (e.g., \"add a tool that gets the latest npm docs\").",
"instructions": "Instructions",
"enableToggle": {
"title": "Enable MCP Servers",
"description": "Turn this ON to let Roo use tools from connected MCP servers. This gives Roo more capabilities. If you don't plan to use these extra tools, turn it OFF to help reduce API token costs."
},
"enableServerCreation": {
"title": "Enable MCP Server Creation",
"description": "Enable this to have Roo help you build <1>new</1> custom MCP servers. <0>Learn about server creation</0>",
"hint": "Hint: To reduce API token costs, disable this setting when you are not actively asking Roo to create a new MCP server."
},
"editGlobalMCP": "Edit Global MCP",
"editProjectMCP": "Edit Project MCP",
"refreshMCP": "Refresh MCP Servers",
"learnMoreEditingSettings": "Learn more about editing MCP settings files",
"tool": {
"alwaysAllow": "Always allow",
"parameters": "Parameters",
"noDescription": "No description",
"togglePromptInclusion": "Toggle inclusion in prompt"
},
"tabs": {
"tools": "Tools",
"resources": "Resources",
"logs": "Logs"
},
"emptyState": {
"noTools": "No tools found",
"noResources": "No resources found",
"noLogs": "No logs yet"
},
"networkTimeout": {
"label": "Network Timeout",
"description": "Maximum time to wait for server responses",
"options": {
"15seconds": "15 seconds",
"30seconds": "30 seconds",
"1minute": "1 minute",
"5minutes": "5 minutes",
"10minutes": "10 minutes",
"15minutes": "15 minutes",
"30minutes": "30 minutes",
"60minutes": "60 minutes"
}
},
"deleteDialog": {
"title": "Delete MCP Server",
"description": "Are you sure you want to delete the MCP server \"{{serverName}}\"? This action cannot be undone.",
"cancel": "Cancel",
"delete": "Delete"
},
"serverStatus": {
"retrying": "Retrying...",
"retryConnection": "Retry Connection"
},
"execution": {
"running": "Running",
"completed": "Completed",
"error": "Error"
}
}

View file

@ -0,0 +1,202 @@
{
"title": "Modes",
"done": "Done",
"modes": {
"title": "Modes",
"createNewMode": "Create new mode",
"importMode": "Import Mode",
"editModesConfig": "Edit modes configuration",
"editGlobalModes": "Edit Global Modes",
"editProjectModes": "Edit Project Modes (.roomodes)",
"createModeHelpText": "Modes are specialized personas that tailor Roo's behavior. <0>Learn about Using Modes</0> or <1>Customizing Modes.</1>",
"selectMode": "Search modes",
"noMatchFound": "No modes found"
},
"apiConfiguration": {
"title": "API Configuration",
"select": "Select which API configuration to use for this mode"
},
"tools": {
"title": "Available Tools",
"builtInModesText": "Tools for built-in modes cannot be modified",
"editTools": "Edit tools",
"doneEditing": "Done editing",
"allowedFiles": "Allowed files:",
"toolNames": {
"read": "Read Files",
"edit": "Edit Files",
"command": "Run Commands",
"mcp": "Use MCP"
},
"noTools": "None"
},
"roleDefinition": {
"title": "Role Definition",
"resetToDefault": "Reset to default",
"description": "Define Roo's expertise and personality for this mode. This description shapes how Roo presents itself and approaches tasks."
},
"description": {
"title": "Short description (for humans)",
"resetToDefault": "Reset to default description",
"description": "A brief description shown in the mode selector dropdown."
},
"whenToUse": {
"title": "When to Use (optional)",
"description": "Guidance for Roo for when this mode should be used. This helps the Orchestrator choose the right mode for a task.",
"resetToDefault": "Reset to default 'When to Use' description"
},
"customInstructions": {
"title": "Mode-specific Custom Instructions (optional)",
"resetToDefault": "Reset to default",
"description": "Add behavioral guidelines specific to {{modeName}} mode.",
"loadFromFile": "Custom instructions specific to {{mode}} mode can also be loaded from the <span>.roo/rules-{{slug}}/</span> folder in your workspace or from the global <0>.roo/rules-{{slug}}/</0> (.roorules-{{slug}} and .clinerules-{{slug}} are deprecated and will stop working soon)."
},
"exportMode": {
"title": "Export Mode",
"description": "Export this mode with rules from the .roo/rules-{{slug}}/ folder combined into a shareable YAML file. The original files remain unchanged.",
"exporting": "Exporting..."
},
"importMode": {
"selectLevel": "Choose where to import this mode:",
"import": "Import",
"importing": "Importing...",
"global": {
"label": "Global Level",
"description": "Available across all projects. If the exported mode contained rules files, they will be recreated in the global .roo/rules-{slug}/ folder."
},
"project": {
"label": "Project Level",
"description": "Only available in this workspace. If the exported mode contained rules files, they will be recreated in .roo/rules-{slug}/ folder."
}
},
"globalCustomInstructions": {
"title": "Custom Instructions for All Modes",
"description": "These instructions apply to all modes. They provide a base set of behaviors that can be enhanced by mode-specific instructions below. <0>Learn more</0>",
"loadFromFile": "Instructions can also be loaded from the <span>.roo/rules/</span> folder in your workspace or from the global <0>.roo/rules/</0> (.roorules and .clinerules are deprecated and will stop working soon)."
},
"systemPrompt": {
"preview": "Preview System Prompt",
"copy": "Copy system prompt to clipboard",
"title": "System Prompt ({{modeName}} mode)"
},
"supportPrompts": {
"title": "Support Prompts",
"resetPrompt": "Reset {{promptType}} prompt to default",
"prompt": "Prompt",
"enhance": {
"apiConfiguration": "API Configuration",
"apiConfigDescription": "You can select an API configuration to always use for enhancing prompts, or just use whatever is currently selected",
"useCurrentConfig": "Use currently selected API configuration",
"testPromptPlaceholder": "Enter a prompt to test the enhancement",
"previewButton": "Preview Prompt Enhancement",
"testEnhancement": "Test Enhancement",
"includeTaskHistory": "Include task history as context",
"includeTaskHistoryDescription": "When enabled, the last 10 messages from the current conversation will be included as context when enhancing prompts, helping to generate more relevant and context-aware suggestions."
},
"condense": {
"apiConfiguration": "API Configuration for Context Condensing",
"apiConfigDescription": "Select which API configuration to use for context condensing operations. Leave unselected to use the current active configuration.",
"useCurrentConfig": "Use currently selected API configuration"
},
"types": {
"ENHANCE": {
"label": "Enhance Prompt",
"description": "Use prompt enhancement to get tailored suggestions or improvements for your inputs. This ensures Roo understands your intent and provides the best possible responses. Available via the ✨ icon in chat."
},
"CONDENSE": {
"label": "Context Condensing",
"description": "Configure how conversation context is condensed to manage token limits. This prompt is used for both manual and automatic context condensing operations."
},
"EXPLAIN": {
"label": "Explain Code",
"description": "Get detailed explanations of code snippets, functions, or entire files. Useful for understanding complex code or learning new patterns. Available in code actions (lightbulb icon in the editor) and the editor context menu (right-click on selected code)."
},
"FIX": {
"label": "Fix Issues",
"description": "Get help identifying and resolving bugs, errors, or code quality issues. Provides step-by-step guidance for fixing problems. Available in code actions (lightbulb icon in the editor) and the editor context menu (right-click on selected code)."
},
"IMPROVE": {
"label": "Improve Code",
"description": "Receive suggestions for code optimization, better practices, and architectural improvements while maintaining functionality. Available in code actions (lightbulb icon in the editor) and the editor context menu (right-click on selected code)."
},
"ADD_TO_CONTEXT": {
"label": "Add to Context",
"description": "Add context to your current task or conversation. Useful for providing additional information or clarifications. Available in code actions (lightbulb icon in the editor) and the editor context menu (right-click on selected code)."
},
"TERMINAL_ADD_TO_CONTEXT": {
"label": "Add Terminal Content to Context",
"description": "Add terminal output to your current task or conversation. Useful for providing command outputs or logs. Available in the terminal context menu (right-click on selected terminal content)."
},
"TERMINAL_FIX": {
"label": "Fix Terminal Command",
"description": "Get help fixing terminal commands that failed or need improvement. Available in the terminal context menu (right-click on selected terminal content)."
},
"TERMINAL_EXPLAIN": {
"label": "Explain Terminal Command",
"description": "Get detailed explanations of terminal commands and their outputs. Available in the terminal context menu (right-click on selected terminal content)."
},
"NEW_TASK": {
"label": "Start New Task",
"description": "Start a new task with user input. Available in the Command Palette."
}
}
},
"createModeDialog": {
"title": "Create New Mode",
"close": "Close",
"name": {
"label": "Name",
"placeholder": "Enter mode name"
},
"slug": {
"label": "Slug",
"description": "The slug is used in URLs and file names. It should be lowercase and contain only letters, numbers, and hyphens."
},
"saveLocation": {
"label": "Save Location",
"description": "Choose where to save this mode. Project-specific modes take precedence over global modes.",
"global": {
"label": "Global",
"description": "Available in all workspaces"
},
"project": {
"label": "Project-specific (.roomodes)",
"description": "Only available in this workspace, takes precedence over global"
}
},
"roleDefinition": {
"label": "Role Definition",
"description": "Define Roo's expertise and personality for this mode."
},
"description": {
"label": "Short description (for humans)",
"description": "A brief description shown in the mode selector dropdown."
},
"whenToUse": {
"label": "When to Use (optional)",
"description": "Guidance for Roo for when this mode should be used. This helps the Orchestrator choose the right mode for a task."
},
"tools": {
"label": "Available Tools",
"description": "Select which tools this mode can use."
},
"customInstructions": {
"label": "Custom Instructions (optional)",
"description": "Add behavioral guidelines specific to this mode."
},
"buttons": {
"cancel": "Cancel",
"create": "Create Mode"
},
"deleteMode": "Delete mode"
},
"allFiles": "all files",
"deleteMode": {
"title": "Delete Mode",
"message": "Are you sure you want to delete the mode \"{{modeName}}\"?",
"rulesFolder": "This mode has a rules folder at {{folderPath}} that will also be deleted.",
"descriptionNoRules": "Are you sure you want to delete this custom mode?",
"confirm": "Delete",
"cancel": "Cancel"
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,52 @@
{
"routers": {
"requesty": {
"description": "Your optimized LLM router",
"incentive": "$1 free credit"
},
"openrouter": {
"description": "A unified interface for LLMs"
},
"roo": {
"description": "The best free models to get started",
"incentive": "Try Roo out for free"
}
},
"landing": {
"greeting": "Welcome to Roo Code!",
"introduction": "With a range of built-in and extensible Modes, Roo Code lets you plan, architect, code, debug and boost your productivity like never before.",
"accountMention": "To get started, create your Roo Code Cloud account. Get powerful models, web control, analytics, support and more.",
"getStarted": "Create Roo Account",
"noAccount": "or use without an account"
},
"providerSignup": {
"heading": "Choose your provider",
"chooseProvider": "Roo needs an LLM provider to work. Choose one to get started, you can add more later.",
"rooCloudProvider": "Roo Code Router",
"rooCloudDescription": "The easiest way to start is with the Roo Code Router: a curated mix of free and paid models at a low cost.",
"learnMore": "Learn more",
"useAnotherProvider": "3rd-party Provider",
"useAnotherProviderDescription": "Enter an API key and get going.",
"noApiKeys": "Don't want to deal with API keys and separate accounts?",
"backToRoo": "Go with the Roo Code Router.",
"goBack": "Back",
"finish": "Finish"
},
"waitingForCloud": {
"heading": "Logging into Roo Code Cloud...",
"description": "We'll take you to your browser to sign up for Roo Code Cloud. We'll then bring you back here to finish.",
"noPrompt": "If you don't get prompted to open a URL, <clickHere>click here</clickHere>.",
"havingTrouble": "If you've completed sign up but are having trouble, <clickHere>click here</clickHere>.",
"pasteUrl": "Paste the callback URL shown in your browser:",
"docsLink": "Not working? <DocsLink>Check the docs</DocsLink>.",
"invalidURL": "That doesn't look like a valid callback URL. Please copy what Roo Code Cloud is showing in your browser.",
"goBack": "Go back"
},
"startRouter": "We recommend using an LLM Router:",
"startCustom": "Or you can bring your provider API key:",
"telemetry": {
"helpImprove": "Help Improve Roo Code",
"helpImproveMessage": "Roo Code collects error and usage data to help us fix bugs and improve the extension. This telemetry does not collect code, prompts or personal information. You can turn this off in <settingsLink>settings</settingsLink>."
},
"importSettings": "Import Settings"
}

View file

@ -0,0 +1,69 @@
{
"title": "Worktrees",
"done": "Done",
"description": "Git worktrees are great for agentic coding, because they allow you to work on multiple branches of a repo at the same time, by keeping them in different directories. Each worktree gets its own VS Code window with Roo Code.",
"notGitRepo": "This workspace is not a Git repository. Open a workspace with a Git repository to set up worktrees.",
"multiRootNotSupported": "Worktrees are not supported in multi-root workspaces. Please open a single folder to use worktrees.",
"subfolderNotSupported": "This workspace is a subfolder of a Git repository. Please open the repository root to use worktrees.",
"gitRoot": "Git root",
"includeFileExists": ".worktreeinclude file found. Files will be copied to new worktrees.",
"noIncludeFile": "No .worktreeinclude file found",
"createFromGitignore": "Create from .gitignore",
"primary": "Primary",
"current": "Current",
"locked": "Locked",
"detachedHead": "Detached HEAD",
"noBranch": "No branch",
"switchInThisWindow": "Switch to worktree",
"openInNewWindow": "Open in new window",
"delete": "Delete",
"newWorktree": "Create worktree",
"createWorktree": "Create Worktree",
"branchName": "New branch",
"createNewBranch": "Create new branch",
"checkoutExisting": "Checkout existing branch",
"baseBranch": "From base branch",
"loadingBranches": "Loading branches...",
"selectBranch": "Select branch",
"searchBranch": "Search branches...",
"noBranchFound": "No branch found",
"localBranches": "Local branches",
"remoteBranches": "Remote branches",
"worktreePath": "In",
"selectWorktreeLocation": "Select Worktree Location",
"selectFolderForWorktree": "Select folder for new worktree",
"noIncludeFileWarning": "No .worktreeinclude file",
"noIncludeFileHint": "Worktrees are created with just the files from their branch. If you want to copy over local files like .env and node_modules, include them in a .worktreeinclude file at the root of the repository.",
"create": "Create",
"creating": "Creating...",
"copyingFiles": "Copying files...",
"copyingProgress": "{{item}} — {{copied}} copied",
"cancel": "Cancel",
"deleteWorktree": "Delete Worktree",
"deleteWarning": "This can't be undone. It will delete:",
"deleteWarningBranch": "The branch and any uncommitted changes",
"deleteWarningFiles": "All files in the worktree directory",
"deleteNoticeLarge": "If this is a large repository, it may take a little while.",
"forceDelete": "Force delete",
"worktreeIsLocked": "worktree is locked",
"deleting": "Deleting...",
"close": "Close",
"showInHomeScreen": "Show worktrees in home screen",
"selector": {
"worktree": "Worktree",
"title": "Worktrees",
"tooltip": "Switch between worktrees",
"description": "Git worktrees let you work on multiple branches simultaneously. Click to switch workspace.",
"settings": "Manage Worktrees",
"info": "Git worktrees allow you to have multiple working directories attached to the same repository."
}
}