From 592155b36401ae990770bb9fd6a118c6eb8638f8 Mon Sep 17 00:00:00 2001 From: Roo Code Date: Mon, 22 Sep 2025 09:47:34 +0000 Subject: [PATCH 01/10] feat: add keyboard shortcut for toggling auto-approve (Cmd/Ctrl+Alt+A) --- packages/types/src/vscode.ts | 1 + src/activate/registerCommands.ts | 32 +++++++++++++++++ src/i18n/locales/en/common.json | 6 ++++ src/package.json | 12 +++++++ src/package.nls.json | 1 + src/shared/ExtensionMessage.ts | 1 + .../components/chat/AutoApproveDropdown.tsx | 13 ++++--- .../settings/AutoApproveSettings.tsx | 3 +- .../src/context/ExtensionStateContext.tsx | 12 +++++++ webview-ui/src/utils/keyboard.ts | 36 +++++++++++++++++++ 10 files changed, 111 insertions(+), 6 deletions(-) create mode 100644 webview-ui/src/utils/keyboard.ts diff --git a/packages/types/src/vscode.ts b/packages/types/src/vscode.ts index 28385146908..d22ebdab229 100644 --- a/packages/types/src/vscode.ts +++ b/packages/types/src/vscode.ts @@ -53,6 +53,7 @@ export const commandIds = [ "focusInput", "acceptInput", "focusPanel", + "toggleAutoApprove", ] as const export type CommandId = (typeof commandIds)[number] diff --git a/src/activate/registerCommands.ts b/src/activate/registerCommands.ts index fac615edf11..62afe8f1876 100644 --- a/src/activate/registerCommands.ts +++ b/src/activate/registerCommands.ts @@ -221,6 +221,38 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt visibleProvider.postMessageToWebview({ type: "acceptInput" }) }, + toggleAutoApprove: async () => { + const visibleProvider = getVisibleProviderOrLog(outputChannel) + + if (!visibleProvider) { + // If no visible provider, try to get the global state directly + const currentState = context.globalState.get("autoApprovalEnabled") ?? false + const newState = !currentState + await context.globalState.update("autoApprovalEnabled", newState) + + // Show notification even without visible provider + const message = newState ? t("notification.autoApprove.enabled") : t("notification.autoApprove.disabled") + vscode.window.showInformationMessage(message) + return + } + + // Toggle the auto-approval state + const currentState = visibleProvider.getValue("autoApprovalEnabled") ?? false + const newState = !currentState + + // Update the state + await visibleProvider.setValue("autoApprovalEnabled", newState) + + // Post message to webview to update UI + visibleProvider.postMessageToWebview({ + type: "action", + action: "toggleAutoApprove", + }) + + // Show toast notification + const message = newState ? t("notification.autoApprove.enabled") : t("notification.autoApprove.disabled") + vscode.window.showInformationMessage(message) + }, }) export const openClineInNewTab = async ({ context, outputChannel }: Omit) => { diff --git a/src/i18n/locales/en/common.json b/src/i18n/locales/en/common.json index 3a613cc1c21..eb6e4ce7625 100644 --- a/src/i18n/locales/en/common.json +++ b/src/i18n/locales/en/common.json @@ -144,6 +144,12 @@ "mode_exported": "Mode '{{mode}}' exported successfully", "mode_imported": "Mode imported successfully" }, + "notification": { + "autoApprove": { + "enabled": "Auto-approve enabled", + "disabled": "Auto-approve disabled" + } + }, "answers": { "yes": "Yes", "no": "No", diff --git a/src/package.json b/src/package.json index 05b59063ecb..51c68ace574 100644 --- a/src/package.json +++ b/src/package.json @@ -174,6 +174,11 @@ "command": "roo-cline.acceptInput", "title": "%command.acceptInput.title%", "category": "%configuration.title%" + }, + { + "command": "roo-cline.toggleAutoApprove", + "title": "%command.toggleAutoApprove.title%", + "category": "%configuration.title%" } ], "menus": { @@ -310,6 +315,13 @@ "win": "ctrl+y", "linux": "ctrl+y", "when": "editorTextFocus && editorHasSelection" + }, + { + "command": "roo-cline.toggleAutoApprove", + "key": "cmd+alt+a", + "mac": "cmd+alt+a", + "win": "ctrl+alt+a", + "linux": "ctrl+alt+a" } ], "submenus": [ diff --git a/src/package.nls.json b/src/package.nls.json index b0b7f401f85..1db69777ac1 100644 --- a/src/package.nls.json +++ b/src/package.nls.json @@ -26,6 +26,7 @@ "command.terminal.fixCommand.title": "Fix This Command", "command.terminal.explainCommand.title": "Explain This Command", "command.acceptInput.title": "Accept Input/Suggestion", + "command.toggleAutoApprove.title": "Toggle Auto-Approve", "configuration.title": "Roo Code", "commands.allowedCommands.description": "Commands that can be auto-executed when 'Always approve execute operations' is enabled", "commands.deniedCommands.description": "Command prefixes that will be automatically denied without asking for approval. In case of conflicts with allowed commands, the longest prefix match takes precedence. Add * to deny all commands.", diff --git a/src/shared/ExtensionMessage.ts b/src/shared/ExtensionMessage.ts index aaddc520cb9..7772e8d8174 100644 --- a/src/shared/ExtensionMessage.ts +++ b/src/shared/ExtensionMessage.ts @@ -137,6 +137,7 @@ export interface ExtensionMessage { | "didBecomeVisible" | "focusInput" | "switchTab" + | "toggleAutoApprove" invoke?: "newChat" | "sendMessage" | "primaryButtonClick" | "secondaryButtonClick" | "setChatBoxMessage" state?: ExtensionState images?: string[] diff --git a/webview-ui/src/components/chat/AutoApproveDropdown.tsx b/webview-ui/src/components/chat/AutoApproveDropdown.tsx index 08e4a90f6bb..3e5533d3190 100644 --- a/webview-ui/src/components/chat/AutoApproveDropdown.tsx +++ b/webview-ui/src/components/chat/AutoApproveDropdown.tsx @@ -10,6 +10,7 @@ import { Popover, PopoverContent, PopoverTrigger, StandardTooltip, ToggleSwitch import { AutoApproveSetting, autoApproveSettingsConfig } from "../settings/AutoApproveToggle" import { useAutoApprovalToggles } from "@/hooks/useAutoApprovalToggles" import { useAutoApprovalState } from "@/hooks/useAutoApprovalState" +import { getAutoApproveShortcut } from "@/utils/keyboard" interface AutoApproveDropdownProps { disabled?: boolean @@ -296,11 +297,13 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }: } handleAutoApprovalToggle() }}> - + + + Enabled diff --git a/webview-ui/src/components/settings/AutoApproveSettings.tsx b/webview-ui/src/components/settings/AutoApproveSettings.tsx index eabd2ddf808..6b2d1d54792 100644 --- a/webview-ui/src/components/settings/AutoApproveSettings.tsx +++ b/webview-ui/src/components/settings/AutoApproveSettings.tsx @@ -14,6 +14,7 @@ import { MaxLimitInputs } from "./MaxLimitInputs" import { useExtensionState } from "@/context/ExtensionStateContext" import { useAutoApprovalState } from "@/hooks/useAutoApprovalState" import { useAutoApprovalToggles } from "@/hooks/useAutoApprovalToggles" +import { getAutoApproveShortcut } from "@/utils/keyboard" type AutoApproveSettingsProps = HTMLAttributes & { alwaysAllowReadOnly?: boolean @@ -135,7 +136,7 @@ export const AutoApproveSettings = ({ {t("settings:autoApprove.enabled")}
- {t("settings:autoApprove.description")} + {t("settings:autoApprove.description")} {getAutoApproveShortcut()}
diff --git a/webview-ui/src/context/ExtensionStateContext.tsx b/webview-ui/src/context/ExtensionStateContext.tsx index 5534686db66..7acff476298 100644 --- a/webview-ui/src/context/ExtensionStateContext.tsx +++ b/webview-ui/src/context/ExtensionStateContext.tsx @@ -326,6 +326,18 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode } break } + case "action": { + if (message.action === "toggleAutoApprove") { + // Toggle the auto-approval state + setState((prevState) => { + const newValue = !(prevState.autoApprovalEnabled ?? false) + // Also send the update to the extension + vscode.postMessage({ type: "autoApprovalEnabled", bool: newValue }) + return { ...prevState, autoApprovalEnabled: newValue } + }) + } + break + } case "theme": { if (message.text) { setTheme(convertTextMateToHljs(JSON.parse(message.text))) diff --git a/webview-ui/src/utils/keyboard.ts b/webview-ui/src/utils/keyboard.ts new file mode 100644 index 00000000000..032666404be --- /dev/null +++ b/webview-ui/src/utils/keyboard.ts @@ -0,0 +1,36 @@ +/** + * Utility functions for keyboard shortcuts + */ + +/** + * Detects if the current platform is macOS + */ +export const isMac = (): boolean => { + // Check if we're in a browser environment + if (typeof navigator !== "undefined" && navigator.platform) { + return navigator.platform.toUpperCase().indexOf("MAC") >= 0 + } + // Fallback for non-browser environments + return false +} + +/** + * Gets the platform-specific modifier key label + */ +export const getModifierKey = (): string => { + return isMac() ? "Cmd" : "Ctrl" +} + +/** + * Gets the platform-specific keyboard shortcut for toggling auto-approve + */ +export const getAutoApproveShortcut = (): string => { + return isMac() ? "Cmd+Option+A" : "Ctrl+Alt+A" +} + +/** + * Formats a keyboard shortcut for display + */ +export const formatShortcut = (shortcut: string): string => { + return `(${shortcut})` +} From 68ab72cc9c4176ca10f08bfc39769806413bbfd4 Mon Sep 17 00:00:00 2001 From: Bruno Bergher Date: Mon, 22 Sep 2025 11:14:52 +0100 Subject: [PATCH 02/10] Better display of auto-approval kb shortcut --- .../src/components/chat/AutoApproveDropdown.tsx | 16 +++++++++------- .../components/settings/AutoApproveSettings.tsx | 6 ++++-- webview-ui/src/i18n/locales/en/chat.json | 1 + 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/webview-ui/src/components/chat/AutoApproveDropdown.tsx b/webview-ui/src/components/chat/AutoApproveDropdown.tsx index 3e5533d3190..87ab4ca7bf6 100644 --- a/webview-ui/src/components/chat/AutoApproveDropdown.tsx +++ b/webview-ui/src/components/chat/AutoApproveDropdown.tsx @@ -297,14 +297,16 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }: } handleAutoApprovalToggle() }}> - - + + + + Enabled + - Enabled diff --git a/webview-ui/src/components/settings/AutoApproveSettings.tsx b/webview-ui/src/components/settings/AutoApproveSettings.tsx index 6b2d1d54792..8f502a4a665 100644 --- a/webview-ui/src/components/settings/AutoApproveSettings.tsx +++ b/webview-ui/src/components/settings/AutoApproveSettings.tsx @@ -133,10 +133,12 @@ export const AutoApproveSettings = ({ setAutoApprovalEnabled(newValue) vscode.postMessage({ type: "autoApprovalEnabled", bool: newValue }) }}> - {t("settings:autoApprove.enabled")} + + {t("settings:autoApprove.enabled")} ({getAutoApproveShortcut()}) +
- {t("settings:autoApprove.description")} {getAutoApproveShortcut()} + {t("settings:autoApprove.description")}
diff --git a/webview-ui/src/i18n/locales/en/chat.json b/webview-ui/src/i18n/locales/en/chat.json index 99464dfb607..dcbda19df6d 100644 --- a/webview-ui/src/i18n/locales/en/chat.json +++ b/webview-ui/src/i18n/locales/en/chat.json @@ -277,6 +277,7 @@ "tooltipManage": "Manage auto-approval settings", "tooltipStatus": "Auto-approval enabled for: {{toggles}}", "title": "Auto-approve", + "toggle": "Toggle auto-approve", "all": "All", "none": "None", "description": "Run these actions without asking for permission. Only enable for actions you fully trust.", From b99bebae2feb628e185f478f53b52427a2276f89 Mon Sep 17 00:00:00 2001 From: Bruno Bergher Date: Mon, 22 Sep 2025 11:18:28 +0100 Subject: [PATCH 03/10] We don't need no toast for this --- src/activate/registerCommands.ts | 8 -------- webview-ui/src/components/chat/AutoApproveDropdown.tsx | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/activate/registerCommands.ts b/src/activate/registerCommands.ts index 62afe8f1876..b85450e9b28 100644 --- a/src/activate/registerCommands.ts +++ b/src/activate/registerCommands.ts @@ -229,10 +229,6 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt const currentState = context.globalState.get("autoApprovalEnabled") ?? false const newState = !currentState await context.globalState.update("autoApprovalEnabled", newState) - - // Show notification even without visible provider - const message = newState ? t("notification.autoApprove.enabled") : t("notification.autoApprove.disabled") - vscode.window.showInformationMessage(message) return } @@ -248,10 +244,6 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt type: "action", action: "toggleAutoApprove", }) - - // Show toast notification - const message = newState ? t("notification.autoApprove.enabled") : t("notification.autoApprove.disabled") - vscode.window.showInformationMessage(message) }, }) diff --git a/webview-ui/src/components/chat/AutoApproveDropdown.tsx b/webview-ui/src/components/chat/AutoApproveDropdown.tsx index 87ab4ca7bf6..a9264f23324 100644 --- a/webview-ui/src/components/chat/AutoApproveDropdown.tsx +++ b/webview-ui/src/components/chat/AutoApproveDropdown.tsx @@ -298,7 +298,7 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }: handleAutoApprovalToggle() }}> - + Date: Mon, 22 Sep 2025 11:50:00 +0100 Subject: [PATCH 04/10] Localization --- src/i18n/locales/en/common.json | 6 ------ webview-ui/src/i18n/locales/ca/chat.json | 1 + webview-ui/src/i18n/locales/de/chat.json | 1 + webview-ui/src/i18n/locales/es/chat.json | 1 + webview-ui/src/i18n/locales/fr/chat.json | 1 + webview-ui/src/i18n/locales/hi/chat.json | 1 + webview-ui/src/i18n/locales/id/chat.json | 1 + webview-ui/src/i18n/locales/it/chat.json | 1 + webview-ui/src/i18n/locales/ja/chat.json | 1 + webview-ui/src/i18n/locales/ko/chat.json | 1 + webview-ui/src/i18n/locales/nl/chat.json | 1 + webview-ui/src/i18n/locales/pl/chat.json | 1 + webview-ui/src/i18n/locales/pt-BR/chat.json | 1 + webview-ui/src/i18n/locales/ru/chat.json | 1 + webview-ui/src/i18n/locales/tr/chat.json | 1 + webview-ui/src/i18n/locales/vi/chat.json | 1 + webview-ui/src/i18n/locales/zh-CN/chat.json | 1 + webview-ui/src/i18n/locales/zh-TW/chat.json | 1 + 18 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/i18n/locales/en/common.json b/src/i18n/locales/en/common.json index eb6e4ce7625..3a613cc1c21 100644 --- a/src/i18n/locales/en/common.json +++ b/src/i18n/locales/en/common.json @@ -144,12 +144,6 @@ "mode_exported": "Mode '{{mode}}' exported successfully", "mode_imported": "Mode imported successfully" }, - "notification": { - "autoApprove": { - "enabled": "Auto-approve enabled", - "disabled": "Auto-approve disabled" - } - }, "answers": { "yes": "Yes", "no": "No", diff --git a/webview-ui/src/i18n/locales/ca/chat.json b/webview-ui/src/i18n/locales/ca/chat.json index 338b10232fd..0d84ca17c88 100644 --- a/webview-ui/src/i18n/locales/ca/chat.json +++ b/webview-ui/src/i18n/locales/ca/chat.json @@ -253,6 +253,7 @@ "tooltipManage": "Gestiona la configuració d'aprovació automàtica", "tooltipStatus": "Aprovació automàtica activada per a: {{toggles}}", "title": "Aprovació automàtica", + "toggle": "Commuta l'aprovació automàtica", "all": "Tot", "none": "Cap", "description": "Executa aquestes accions sense demanar permís. Activa-ho només per a accions de confiança.", diff --git a/webview-ui/src/i18n/locales/de/chat.json b/webview-ui/src/i18n/locales/de/chat.json index 76356ce9f9e..43f20643458 100644 --- a/webview-ui/src/i18n/locales/de/chat.json +++ b/webview-ui/src/i18n/locales/de/chat.json @@ -253,6 +253,7 @@ "tooltipManage": "Einstellungen für die automatische Genehmigung verwalten", "tooltipStatus": "Automatische Genehmigung aktiviert für: {{toggles}}", "title": "Automatische Genehmigung", + "toggle": "Automatische Genehmigung umschalten", "all": "Alle", "none": "Keine", "description": "Führe diese Aktionen aus, ohne um Erlaubnis zu fragen. Aktiviere dies nur für Aktionen, denen du voll vertraust.", diff --git a/webview-ui/src/i18n/locales/es/chat.json b/webview-ui/src/i18n/locales/es/chat.json index 785dcfe7d9e..a64927e05e8 100644 --- a/webview-ui/src/i18n/locales/es/chat.json +++ b/webview-ui/src/i18n/locales/es/chat.json @@ -253,6 +253,7 @@ "tooltipManage": "Administrar la configuración de aprobación automática", "tooltipStatus": "Aprobación automática habilitada para: {{toggles}}", "title": "Aprobación automática", + "toggle": "Alternar aprobación automática", "all": "Todo", "none": "Ninguno", "description": "Ejecuta estas acciones sin pedir permiso. Habilita esto solo para acciones en las que confíes plenamente.", diff --git a/webview-ui/src/i18n/locales/fr/chat.json b/webview-ui/src/i18n/locales/fr/chat.json index f04ee15b0c4..151fe3932eb 100644 --- a/webview-ui/src/i18n/locales/fr/chat.json +++ b/webview-ui/src/i18n/locales/fr/chat.json @@ -253,6 +253,7 @@ "tooltipManage": "Gérer les paramètres d'approbation automatique", "tooltipStatus": "Approbation automatique activée pour : {{toggles}}", "title": "Approbation automatique", + "toggle": "Basculer l'approbation automatique", "all": "Tout", "none": "Aucun", "description": "Exécutez ces actions sans demander la permission. N'activez cette option que pour les actions en lesquelles vous avez entièrement confiance.", diff --git a/webview-ui/src/i18n/locales/hi/chat.json b/webview-ui/src/i18n/locales/hi/chat.json index c0c9a9c9a69..a53070834c4 100644 --- a/webview-ui/src/i18n/locales/hi/chat.json +++ b/webview-ui/src/i18n/locales/hi/chat.json @@ -253,6 +253,7 @@ "tooltipManage": "स्वतः-अनुमोदन सेटिंग्स प्रबंधित करें", "tooltipStatus": "स्वतः-अनुमोदन इनके लिए सक्षम है: {{toggles}}", "title": "स्वतः-अनुमोदन", + "toggle": "स्वतः-अनुमोदन टॉगल करें", "all": "सभी", "none": "कोई नहीं", "description": "अनुमति मांगे बिना इन क्रियाओं को चलाएं। इसे केवल उन क्रियाओं के लिए सक्षम करें जिन पर आपको पूरा भरोसा है।", diff --git a/webview-ui/src/i18n/locales/id/chat.json b/webview-ui/src/i18n/locales/id/chat.json index a400767e1b8..e5b73067f40 100644 --- a/webview-ui/src/i18n/locales/id/chat.json +++ b/webview-ui/src/i18n/locales/id/chat.json @@ -280,6 +280,7 @@ "tooltipManage": "Kelola pengaturan persetujuan otomatis", "tooltipStatus": "Persetujuan otomatis diaktifkan untuk: {{toggles}}", "title": "Setujui Otomatis", + "toggle": "Beralih persetujuan otomatis", "all": "Semua", "none": "Tidak ada", "description": "Jalankan tindakan ini tanpa meminta izin. Hanya aktifkan untuk tindakan yang Anda percayai sepenuhnya.", diff --git a/webview-ui/src/i18n/locales/it/chat.json b/webview-ui/src/i18n/locales/it/chat.json index 2d4a9a57d1c..f3fadd84d8e 100644 --- a/webview-ui/src/i18n/locales/it/chat.json +++ b/webview-ui/src/i18n/locales/it/chat.json @@ -253,6 +253,7 @@ "tooltipManage": "Gestisci impostazioni di approvazione automatica", "tooltipStatus": "Approvazione automatica abilitata per: {{toggles}}", "title": "Approvazione Automatica", + "toggle": "Attiva/disattiva approvazione automatica", "all": "Tutti", "none": "Nessuno", "description": "Esegui queste azioni senza chiedere il permesso. Abilita solo per azioni di cui ti fidi completamente.", diff --git a/webview-ui/src/i18n/locales/ja/chat.json b/webview-ui/src/i18n/locales/ja/chat.json index 6e81074ebd4..1b0945e0d60 100644 --- a/webview-ui/src/i18n/locales/ja/chat.json +++ b/webview-ui/src/i18n/locales/ja/chat.json @@ -253,6 +253,7 @@ "tooltipManage": "自動承認設定を管理する", "tooltipStatus": "自動承認が有効です: {{toggles}}", "title": "自動承認", + "toggle": "自動承認を切り替える", "all": "すべて", "none": "なし", "description": "許可を求めずにこれらのアクションを実行します。完全に信頼するアクションに対してのみ有効にしてください。", diff --git a/webview-ui/src/i18n/locales/ko/chat.json b/webview-ui/src/i18n/locales/ko/chat.json index 4c4d83cfe85..a33131fb519 100644 --- a/webview-ui/src/i18n/locales/ko/chat.json +++ b/webview-ui/src/i18n/locales/ko/chat.json @@ -253,6 +253,7 @@ "tooltipManage": "자동 승인 설정 관리", "tooltipStatus": "자동 승인 활성화됨: {{toggles}}", "title": "자동 승인", + "toggle": "자동 승인 전환", "all": "모두", "none": "없음", "description": "허가 없이 이러한 작업을 실행합니다. 전적으로 신뢰하는 작업에 대해서만 활성화하십시오.", diff --git a/webview-ui/src/i18n/locales/nl/chat.json b/webview-ui/src/i18n/locales/nl/chat.json index c927481e9ea..3de1b2f23cc 100644 --- a/webview-ui/src/i18n/locales/nl/chat.json +++ b/webview-ui/src/i18n/locales/nl/chat.json @@ -253,6 +253,7 @@ "tooltipManage": "Beheer instellingen voor automatische goedkeuring", "tooltipStatus": "Automatische goedkeuring ingeschakeld voor: {{toggles}}", "title": "Automatisch goedkeuren", + "toggle": "Automatisch goedkeuren in-/uitschakelen", "all": "Alles", "none": "Geen", "description": "Voer deze acties uit zonder om toestemming te vragen. Schakel dit alleen in voor acties die je volledig vertrouwt.", diff --git a/webview-ui/src/i18n/locales/pl/chat.json b/webview-ui/src/i18n/locales/pl/chat.json index eabe46a7144..30353c2eabb 100644 --- a/webview-ui/src/i18n/locales/pl/chat.json +++ b/webview-ui/src/i18n/locales/pl/chat.json @@ -253,6 +253,7 @@ "tooltipManage": "Zarządzaj ustawieniami automatycznego zatwierdzania", "tooltipStatus": "Automatyczne zatwierdzanie włączone dla: {{toggles}}", "title": "Automatyczne zatwierdzanie", + "toggle": "Przełącz automatyczne zatwierdzanie", "all": "Wszystkie", "none": "Żadne", "description": "Wykonuj te działania bez pytania o zgodę. Włącz tę opcję tylko dla działań, którym w pełni ufasz.", diff --git a/webview-ui/src/i18n/locales/pt-BR/chat.json b/webview-ui/src/i18n/locales/pt-BR/chat.json index 1f75abf9290..d6d0ba13fc9 100644 --- a/webview-ui/src/i18n/locales/pt-BR/chat.json +++ b/webview-ui/src/i18n/locales/pt-BR/chat.json @@ -253,6 +253,7 @@ "tooltipManage": "Gerenciar configurações de aprovação automática", "tooltipStatus": "Aprovação automática habilitada para: {{toggles}}", "title": "Aprovação automática", + "toggle": "Alternar aprovação automática", "all": "Todos", "none": "Nenhum", "description": "Execute estas ações sem pedir permissão. Ative isso apenas para ações em que você confia totalmente.", diff --git a/webview-ui/src/i18n/locales/ru/chat.json b/webview-ui/src/i18n/locales/ru/chat.json index 55bfa65e0b0..c76755569ab 100644 --- a/webview-ui/src/i18n/locales/ru/chat.json +++ b/webview-ui/src/i18n/locales/ru/chat.json @@ -254,6 +254,7 @@ "tooltipManage": "Управление настройками автоматического одобрения", "tooltipStatus": "Авто-одобрение включено для: {{toggles}}", "title": "Авто-утверждение", + "toggle": "Переключить авто-утверждение", "all": "Все", "none": "Ни одного", "description": "Выполняйте эти действия, не спрашивая разрешения. Включайте это только для действий, которым вы полностью доверяете.", diff --git a/webview-ui/src/i18n/locales/tr/chat.json b/webview-ui/src/i18n/locales/tr/chat.json index f5ce61b98f5..660766f0c5d 100644 --- a/webview-ui/src/i18n/locales/tr/chat.json +++ b/webview-ui/src/i18n/locales/tr/chat.json @@ -254,6 +254,7 @@ "tooltipManage": "Otomatik onay ayarlarını yönet", "tooltipStatus": "Otomatik onay şunlar için etkinleştirildi: {{toggles}}", "title": "Otomatik onayla", + "toggle": "Otomatik onayı aç/kapat", "all": "Tümü", "none": "Hiçbiri", "description": "İzin istemeden bu eylemleri gerçekleştirin. Bunu yalnızca tamamen güvendiğiniz eylemler için etkinleştirin.", diff --git a/webview-ui/src/i18n/locales/vi/chat.json b/webview-ui/src/i18n/locales/vi/chat.json index 27e836c7b4a..ed328e44149 100644 --- a/webview-ui/src/i18n/locales/vi/chat.json +++ b/webview-ui/src/i18n/locales/vi/chat.json @@ -254,6 +254,7 @@ "tooltipManage": "Quản lý cài đặt tự động phê duyệt", "tooltipStatus": "Tự động phê duyệt được bật cho: {{toggles}}", "title": "Tự động phê duyệt", + "toggle": "Bật/tắt tự động phê duyệt", "all": "Tất cả", "none": "Không có", "description": "Thực hiện các hành động này mà không cần xin phép. Chỉ bật tính năng này cho các hành động bạn hoàn toàn tin tưởng.", diff --git a/webview-ui/src/i18n/locales/zh-CN/chat.json b/webview-ui/src/i18n/locales/zh-CN/chat.json index ad3df7d0be0..388a0cafe2b 100644 --- a/webview-ui/src/i18n/locales/zh-CN/chat.json +++ b/webview-ui/src/i18n/locales/zh-CN/chat.json @@ -254,6 +254,7 @@ "tooltipManage": "管理自动批准设置", "tooltipStatus": "自动批准已启用:{{toggles}}", "title": "自动批准", + "toggle": "切换自动批准", "all": "全部", "none": "无", "description": "无需请求权限即可执行这些操作。仅对您完全信任的操作启用此功能。", diff --git a/webview-ui/src/i18n/locales/zh-TW/chat.json b/webview-ui/src/i18n/locales/zh-TW/chat.json index e5ed5815384..bd1d9566d8d 100644 --- a/webview-ui/src/i18n/locales/zh-TW/chat.json +++ b/webview-ui/src/i18n/locales/zh-TW/chat.json @@ -278,6 +278,7 @@ "tooltipManage": "管理自動批准設定", "tooltipStatus": "自動批准已啟用:{{toggles}}", "title": "自動批准", + "toggle": "切換自動批准", "all": "全部", "none": "無", "description": "無需請求權限即可執行這些操作。僅對您完全信任的操作啟用此功能。", From 684638b6c0f1b03a0986f548ca2a2c26b205aca2 Mon Sep 17 00:00:00 2001 From: Bruno Bergher Date: Mon, 22 Sep 2025 12:54:33 +0100 Subject: [PATCH 05/10] =?UTF-8?q?Simplifies=20things=20a=20lot=20=E2=80=93?= =?UTF-8?q?=C2=A0showing=20the=20actual=20keybinding=20in=20the=20UI=20is?= =?UTF-8?q?=20a=20PITA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/chat/AutoApproveDropdown.tsx | 17 ++++----- .../settings/AutoApproveSettings.tsx | 30 +++++++--------- webview-ui/src/i18n/locales/en/chat.json | 1 - webview-ui/src/i18n/locales/en/settings.json | 3 +- webview-ui/src/utils/keyboard.ts | 36 ------------------- 5 files changed, 21 insertions(+), 66 deletions(-) delete mode 100644 webview-ui/src/utils/keyboard.ts diff --git a/webview-ui/src/components/chat/AutoApproveDropdown.tsx b/webview-ui/src/components/chat/AutoApproveDropdown.tsx index a9264f23324..08e4a90f6bb 100644 --- a/webview-ui/src/components/chat/AutoApproveDropdown.tsx +++ b/webview-ui/src/components/chat/AutoApproveDropdown.tsx @@ -10,7 +10,6 @@ import { Popover, PopoverContent, PopoverTrigger, StandardTooltip, ToggleSwitch import { AutoApproveSetting, autoApproveSettingsConfig } from "../settings/AutoApproveToggle" import { useAutoApprovalToggles } from "@/hooks/useAutoApprovalToggles" import { useAutoApprovalState } from "@/hooks/useAutoApprovalState" -import { getAutoApproveShortcut } from "@/utils/keyboard" interface AutoApproveDropdownProps { disabled?: boolean @@ -297,16 +296,12 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }: } handleAutoApprovalToggle() }}> - - - - Enabled - - + + Enabled diff --git a/webview-ui/src/components/settings/AutoApproveSettings.tsx b/webview-ui/src/components/settings/AutoApproveSettings.tsx index 8f502a4a665..d6941300676 100644 --- a/webview-ui/src/components/settings/AutoApproveSettings.tsx +++ b/webview-ui/src/components/settings/AutoApproveSettings.tsx @@ -14,7 +14,6 @@ import { MaxLimitInputs } from "./MaxLimitInputs" import { useExtensionState } from "@/context/ExtensionStateContext" import { useAutoApprovalState } from "@/hooks/useAutoApprovalState" import { useAutoApprovalToggles } from "@/hooks/useAutoApprovalToggles" -import { getAutoApproveShortcut } from "@/utils/keyboard" type AutoApproveSettingsProps = HTMLAttributes & { alwaysAllowReadOnly?: boolean @@ -124,22 +123,19 @@ export const AutoApproveSettings = ({
-
- { - const newValue = !(autoApprovalEnabled ?? false) - setAutoApprovalEnabled(newValue) - vscode.postMessage({ type: "autoApprovalEnabled", bool: newValue }) - }}> - - {t("settings:autoApprove.enabled")} ({getAutoApproveShortcut()}) - - -
- {t("settings:autoApprove.description")} -
+ { + const newValue = !(autoApprovalEnabled ?? false) + setAutoApprovalEnabled(newValue) + vscode.postMessage({ type: "autoApprovalEnabled", bool: newValue }) + }}> + {t("settings:autoApprove.enabled")} + +
+

{t("settings:autoApprove.description")}

+

{t("settings:autoApprove.toggleShortcut")}

{ - // Check if we're in a browser environment - if (typeof navigator !== "undefined" && navigator.platform) { - return navigator.platform.toUpperCase().indexOf("MAC") >= 0 - } - // Fallback for non-browser environments - return false -} - -/** - * Gets the platform-specific modifier key label - */ -export const getModifierKey = (): string => { - return isMac() ? "Cmd" : "Ctrl" -} - -/** - * Gets the platform-specific keyboard shortcut for toggling auto-approve - */ -export const getAutoApproveShortcut = (): string => { - return isMac() ? "Cmd+Option+A" : "Ctrl+Alt+A" -} - -/** - * Formats a keyboard shortcut for display - */ -export const formatShortcut = (shortcut: string): string => { - return `(${shortcut})` -} From c89a0b3d2118613a94c6ec9198e237afc938c1fa Mon Sep 17 00:00:00 2001 From: Bruno Bergher Date: Mon, 22 Sep 2025 13:37:55 +0100 Subject: [PATCH 06/10] Update webview-ui/src/i18n/locales/ru/chat.json Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --- webview-ui/src/i18n/locales/ru/chat.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webview-ui/src/i18n/locales/ru/chat.json b/webview-ui/src/i18n/locales/ru/chat.json index c76755569ab..2d6e08377c0 100644 --- a/webview-ui/src/i18n/locales/ru/chat.json +++ b/webview-ui/src/i18n/locales/ru/chat.json @@ -253,7 +253,7 @@ "autoApprove": { "tooltipManage": "Управление настройками автоматического одобрения", "tooltipStatus": "Авто-одобрение включено для: {{toggles}}", - "title": "Авто-утверждение", + "title": "Авто-одобрение", "toggle": "Переключить авто-утверждение", "all": "Все", "none": "Ни одного", From fa5f8e79f8de5ff59c69c794d6a75a31c5cbbd88 Mon Sep 17 00:00:00 2001 From: Bruno Bergher Date: Mon, 22 Sep 2025 13:44:15 +0100 Subject: [PATCH 07/10] Missing translations --- webview-ui/src/i18n/locales/ca/settings.json | 1 + webview-ui/src/i18n/locales/de/settings.json | 1 + webview-ui/src/i18n/locales/es/settings.json | 1 + webview-ui/src/i18n/locales/fr/settings.json | 1 + webview-ui/src/i18n/locales/hi/settings.json | 1 + webview-ui/src/i18n/locales/id/settings.json | 1 + webview-ui/src/i18n/locales/it/settings.json | 1 + webview-ui/src/i18n/locales/ja/settings.json | 1 + webview-ui/src/i18n/locales/ko/settings.json | 1 + webview-ui/src/i18n/locales/nl/settings.json | 1 + webview-ui/src/i18n/locales/pl/settings.json | 1 + webview-ui/src/i18n/locales/pt-BR/settings.json | 1 + webview-ui/src/i18n/locales/ru/settings.json | 1 + webview-ui/src/i18n/locales/tr/settings.json | 1 + webview-ui/src/i18n/locales/vi/settings.json | 1 + webview-ui/src/i18n/locales/zh-CN/settings.json | 1 + webview-ui/src/i18n/locales/zh-TW/settings.json | 1 + 17 files changed, 17 insertions(+) diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json index 4f3e4d99249..8f7b87ded6d 100644 --- a/webview-ui/src/i18n/locales/ca/settings.json +++ b/webview-ui/src/i18n/locales/ca/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "Restablir al valor per defecte" }, "autoApprove": { + "toggleShortcut": "Pots configurar una drecera global per a aquesta configuració a les preferències del teu IDE.", "description": "Permet que Roo realitzi operacions automàticament sense requerir aprovació. Activeu aquesta configuració només si confieu plenament en la IA i enteneu els riscos de seguretat associats.", "enabled": "Auto-aprovació activada", "toggleAriaLabel": "Commuta l'aprovació automàtica", diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json index 4e75f6af2a0..baf33b58b10 100644 --- a/webview-ui/src/i18n/locales/de/settings.json +++ b/webview-ui/src/i18n/locales/de/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "Auf Standard zurücksetzen" }, "autoApprove": { + "toggleShortcut": "Du kannst in deinen IDE-Einstellungen einen globalen Shortcut für diese Einstellung konfigurieren.", "description": "Erlaubt Roo, Operationen automatisch ohne Genehmigung durchzuführen. Aktiviere diese Einstellungen nur, wenn du der KI vollständig vertraust und die damit verbundenen Sicherheitsrisiken verstehst.", "enabled": "Auto-Genehmigung aktiviert", "toggleAriaLabel": "Automatische Genehmigung umschalten", diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json index deb2bc7a227..993c20b6817 100644 --- a/webview-ui/src/i18n/locales/es/settings.json +++ b/webview-ui/src/i18n/locales/es/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "Restablecer al valor predeterminado" }, "autoApprove": { + "toggleShortcut": "Puedes configurar un atajo global para esta configuración en las preferencias de tu IDE.", "description": "Permitir que Roo realice operaciones automáticamente sin requerir aprobación. Habilite esta configuración solo si confía plenamente en la IA y comprende los riesgos de seguridad asociados.", "enabled": "Auto-aprobación habilitada", "toggleAriaLabel": "Alternar aprobación automática", diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json index ccb8e61d7a0..7475d9615f4 100644 --- a/webview-ui/src/i18n/locales/fr/settings.json +++ b/webview-ui/src/i18n/locales/fr/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "Réinitialiser par défaut" }, "autoApprove": { + "toggleShortcut": "Vous pouvez configurer un raccourci global pour ce paramètre dans les préférences de votre IDE.", "description": "Permettre à Roo d'effectuer automatiquement des opérations sans requérir d'approbation. Activez ces paramètres uniquement si vous faites entièrement confiance à l'IA et que vous comprenez les risques de sécurité associés.", "enabled": "Auto-approbation activée", "toggleAriaLabel": "Activer/désactiver l'approbation automatique", diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json index 3d879e2ca74..3f0046b286d 100644 --- a/webview-ui/src/i18n/locales/hi/settings.json +++ b/webview-ui/src/i18n/locales/hi/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "डिफ़ॉल्ट पर रीसेट करें" }, "autoApprove": { + "toggleShortcut": "आप अपनी आईडीई वरीयताओं में इस सेटिंग के लिए एक वैश्विक शॉर्टकट कॉन्फ़िगर कर सकते हैं।", "description": "Roo को अनुमोदन की आवश्यकता के बिना स्वचालित रूप से ऑपरेशन करने की अनुमति दें। इन सेटिंग्स को केवल तभी सक्षम करें जब आप AI पर पूरी तरह से भरोसा करते हों और संबंधित सुरक्षा जोखिमों को समझते हों।", "enabled": "स्वत:-अनुमोदन सक्षम", "toggleAriaLabel": "स्वतः-अनुमोदन टॉगल करें", diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json index 8138726c335..8e06185681b 100644 --- a/webview-ui/src/i18n/locales/id/settings.json +++ b/webview-ui/src/i18n/locales/id/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "Reset ke default" }, "autoApprove": { + "toggleShortcut": "Anda dapat mengonfigurasi pintasan global untuk pengaturan ini di preferensi IDE Anda.", "description": "Izinkan Roo untuk secara otomatis melakukan operasi tanpa memerlukan persetujuan. Aktifkan pengaturan ini hanya jika kamu sepenuhnya mempercayai AI dan memahami risiko keamanan yang terkait.", "enabled": "Auto-Approve Diaktifkan", "toggleAriaLabel": "Beralih persetujuan otomatis", diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json index 80ff0f8a718..27eda9d8b11 100644 --- a/webview-ui/src/i18n/locales/it/settings.json +++ b/webview-ui/src/i18n/locales/it/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "Ripristina al valore predefinito" }, "autoApprove": { + "toggleShortcut": "Puoi configurare una scorciatoia globale per questa impostazione nelle preferenze del tuo IDE.", "description": "Permetti a Roo di eseguire automaticamente operazioni senza richiedere approvazione. Abilita queste impostazioni solo se ti fidi completamente dell'IA e comprendi i rischi di sicurezza associati.", "enabled": "Auto-approvazione abilitata", "toggleAriaLabel": "Attiva/disattiva approvazione automatica", diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json index 264d774473b..17133d6c1d5 100644 --- a/webview-ui/src/i18n/locales/ja/settings.json +++ b/webview-ui/src/i18n/locales/ja/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "デフォルトにリセット" }, "autoApprove": { + "toggleShortcut": "IDEの環境設定で、この設定のグローバルショートカットを設定できます。", "description": "Rooが承認なしで自動的に操作を実行できるようにします。AIを完全に信頼し、関連するセキュリティリスクを理解している場合にのみ、これらの設定を有効にしてください。", "enabled": "自動承認が有効", "toggleAriaLabel": "自動承認の切り替え", diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json index e490e31f78e..3a6f2613526 100644 --- a/webview-ui/src/i18n/locales/ko/settings.json +++ b/webview-ui/src/i18n/locales/ko/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "기본값으로 재설정" }, "autoApprove": { + "toggleShortcut": "IDE 환경 설정에서 이 설정에 대한 전역 바로 가기를 구성할 수 있습니다.", "description": "Roo가 승인 없이 자동으로 작업을 수행할 수 있도록 허용합니다. AI를 완전히 신뢰하고 관련 보안 위험을 이해하는 경우에만 이러한 설정을 활성화하세요.", "enabled": "자동 승인 활성화됨", "toggleAriaLabel": "자동 승인 전환", diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json index ee0ba193e5c..03bba4ed38c 100644 --- a/webview-ui/src/i18n/locales/nl/settings.json +++ b/webview-ui/src/i18n/locales/nl/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "Reset naar standaard" }, "autoApprove": { + "toggleShortcut": "U kunt een globale sneltoets voor deze instelling configureren in de voorkeuren van uw IDE.", "description": "Sta Roo toe om automatisch handelingen uit te voeren zonder goedkeuring. Schakel deze instellingen alleen in als je de AI volledig vertrouwt en de bijbehorende beveiligingsrisico's begrijpt.", "enabled": "Auto-goedkeuren ingeschakeld", "toggleAriaLabel": "Automatisch goedkeuren in-/uitschakelen", diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json index 2d30547d9f4..2f2c5aaece1 100644 --- a/webview-ui/src/i18n/locales/pl/settings.json +++ b/webview-ui/src/i18n/locales/pl/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "Przywróć domyślne" }, "autoApprove": { + "toggleShortcut": "Możesz skonfigurować globalny skrót dla tego ustawienia w preferencjach swojego IDE.", "description": "Pozwól Roo na automatyczne wykonywanie operacji bez wymagania zatwierdzenia. Włącz te ustawienia tylko jeśli w pełni ufasz AI i rozumiesz związane z tym zagrożenia bezpieczeństwa.", "enabled": "Auto-zatwierdzanie włączone", "toggleAriaLabel": "Przełącz automatyczne zatwierdzanie", diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json index 338ab9f6b1f..5e35bd6609f 100644 --- a/webview-ui/src/i18n/locales/pt-BR/settings.json +++ b/webview-ui/src/i18n/locales/pt-BR/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "Redefinir para o padrão" }, "autoApprove": { + "toggleShortcut": "Você pode configurar um atalho global para esta configuração nas preferências do seu IDE.", "description": "Permitir que o Roo realize operações automaticamente sem exigir aprovação. Ative essas configurações apenas se confiar totalmente na IA e compreender os riscos de segurança associados.", "enabled": "Aprovação automática habilitada", "toggleAriaLabel": "Alternar aprovação automática", diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json index be494c571b0..44e54345e49 100644 --- a/webview-ui/src/i18n/locales/ru/settings.json +++ b/webview-ui/src/i18n/locales/ru/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "Сбросить к значению по умолчанию" }, "autoApprove": { + "toggleShortcut": "Вы можете настроить глобальное сочетание клавиш для этого параметра в настройках вашей IDE.", "description": "Разрешить Roo автоматически выполнять операции без необходимости одобрения. Включайте эти параметры только если полностью доверяете ИИ и понимаете связанные с этим риски безопасности.", "enabled": "Автоодобрение включено", "toggleAriaLabel": "Переключить автоодобрение", diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json index fe4508495ba..e2c5ea04b8b 100644 --- a/webview-ui/src/i18n/locales/tr/settings.json +++ b/webview-ui/src/i18n/locales/tr/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "Varsayılana sıfırla" }, "autoApprove": { + "toggleShortcut": "IDE tercihlerinizde bu ayar için genel bir kısayol yapılandırabilirsiniz.", "description": "Roo'nun onay gerektirmeden otomatik olarak işlemler gerçekleştirmesine izin verin. Bu ayarları yalnızca yapay zekaya tamamen güveniyorsanız ve ilgili güvenlik risklerini anlıyorsanız etkinleştirin.", "enabled": "Oto-onay etkinleştirildi", "toggleAriaLabel": "Otomatik onayı değiştir", diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json index 0f03de47a51..26c031d8532 100644 --- a/webview-ui/src/i18n/locales/vi/settings.json +++ b/webview-ui/src/i18n/locales/vi/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "Đặt lại về mặc định" }, "autoApprove": { + "toggleShortcut": "Bạn có thể định cấu hình một phím tắt chung cho cài đặt này trong tùy chọn IDE của bạn.", "description": "Cho phép Roo tự động thực hiện các hoạt động mà không cần phê duyệt. Chỉ bật những cài đặt này nếu bạn hoàn toàn tin tưởng AI và hiểu rõ các rủi ro bảo mật liên quan.", "enabled": "Phê duyệt tự động đã bật", "toggleAriaLabel": "Chuyển đổi tự động phê duyệt", diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json index 51db19562a4..22438c0fd82 100644 --- a/webview-ui/src/i18n/locales/zh-CN/settings.json +++ b/webview-ui/src/i18n/locales/zh-CN/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "恢复默认值" }, "autoApprove": { + "toggleShortcut": "您可以在 IDE 首选项中为此设置配置全局快捷方式。", "description": "允许 Roo 自动执行操作而无需批准。只有在您完全信任 AI 并了解相关安全风险的情况下才启用这些设置。", "enabled": "自动批准已启用", "toggleAriaLabel": "切换自动批准", diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json index 89d517f5b57..5ca6b00ea06 100644 --- a/webview-ui/src/i18n/locales/zh-TW/settings.json +++ b/webview-ui/src/i18n/locales/zh-TW/settings.json @@ -134,6 +134,7 @@ "resetToDefault": "重設為預設值" }, "autoApprove": { + "toggleShortcut": "您可以在 IDE 偏好設定中為此設定設定全域快捷鍵。", "description": "允許 Roo 無需核准即執行操作。僅在您完全信任 AI 並了解相關安全風險時啟用這些設定。", "enabled": "自動核准已啟用", "toggleAriaLabel": "切換自動核准", From 317fbc18be267ad75b57afd81588133283acec6a Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Mon, 22 Sep 2025 09:49:17 -0400 Subject: [PATCH 08/10] Logic simplification --- src/activate/registerCommands.ts | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/activate/registerCommands.ts b/src/activate/registerCommands.ts index b85450e9b28..41c127333d8 100644 --- a/src/activate/registerCommands.ts +++ b/src/activate/registerCommands.ts @@ -225,21 +225,9 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt const visibleProvider = getVisibleProviderOrLog(outputChannel) if (!visibleProvider) { - // If no visible provider, try to get the global state directly - const currentState = context.globalState.get("autoApprovalEnabled") ?? false - const newState = !currentState - await context.globalState.update("autoApprovalEnabled", newState) return } - // Toggle the auto-approval state - const currentState = visibleProvider.getValue("autoApprovalEnabled") ?? false - const newState = !currentState - - // Update the state - await visibleProvider.setValue("autoApprovalEnabled", newState) - - // Post message to webview to update UI visibleProvider.postMessageToWebview({ type: "action", action: "toggleAutoApprove", From 4837850ec97cffa161f5007785520926740480cc Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Mon, 22 Sep 2025 09:57:10 -0400 Subject: [PATCH 09/10] More translations --- src/package.nls.ca.json | 1 + src/package.nls.de.json | 1 + src/package.nls.es.json | 1 + src/package.nls.fr.json | 1 + src/package.nls.hi.json | 1 + src/package.nls.id.json | 1 + src/package.nls.it.json | 1 + src/package.nls.ja.json | 1 + src/package.nls.ko.json | 1 + src/package.nls.nl.json | 1 + src/package.nls.pl.json | 1 + src/package.nls.pt-BR.json | 1 + src/package.nls.ru.json | 1 + src/package.nls.tr.json | 1 + src/package.nls.vi.json | 1 + src/package.nls.zh-CN.json | 1 + src/package.nls.zh-TW.json | 1 + 17 files changed, 17 insertions(+) diff --git a/src/package.nls.ca.json b/src/package.nls.ca.json index 537a4522b2d..024de068700 100644 --- a/src/package.nls.ca.json +++ b/src/package.nls.ca.json @@ -14,6 +14,7 @@ "command.terminal.fixCommand.title": "Corregir Aquesta Ordre", "command.terminal.explainCommand.title": "Explicar Aquesta Ordre", "command.acceptInput.title": "Acceptar Entrada/Suggeriment", + "command.toggleAutoApprove.title": "Alternar Auto-Aprovació", "views.activitybar.title": "Roo Code", "views.contextMenu.label": "Roo Code", "views.terminalMenu.label": "Roo Code", diff --git a/src/package.nls.de.json b/src/package.nls.de.json index fb43e289072..fe693c5ce60 100644 --- a/src/package.nls.de.json +++ b/src/package.nls.de.json @@ -14,6 +14,7 @@ "command.terminal.fixCommand.title": "Diesen Befehl Reparieren", "command.terminal.explainCommand.title": "Diesen Befehl Erklären", "command.acceptInput.title": "Eingabe/Vorschlag Akzeptieren", + "command.toggleAutoApprove.title": "Auto-Genehmigung Umschalten", "views.activitybar.title": "Roo Code", "views.contextMenu.label": "Roo Code", "views.terminalMenu.label": "Roo Code", diff --git a/src/package.nls.es.json b/src/package.nls.es.json index 95029057a9d..ae046b62cab 100644 --- a/src/package.nls.es.json +++ b/src/package.nls.es.json @@ -14,6 +14,7 @@ "command.terminal.fixCommand.title": "Corregir Este Comando", "command.terminal.explainCommand.title": "Explicar Este Comando", "command.acceptInput.title": "Aceptar Entrada/Sugerencia", + "command.toggleAutoApprove.title": "Alternar Auto-Aprobación", "views.activitybar.title": "Roo Code", "views.contextMenu.label": "Roo Code", "views.terminalMenu.label": "Roo Code", diff --git a/src/package.nls.fr.json b/src/package.nls.fr.json index 3939451d673..45191a0a351 100644 --- a/src/package.nls.fr.json +++ b/src/package.nls.fr.json @@ -14,6 +14,7 @@ "command.terminal.fixCommand.title": "Corriger cette Commande", "command.terminal.explainCommand.title": "Expliquer cette Commande", "command.acceptInput.title": "Accepter l'Entrée/Suggestion", + "command.toggleAutoApprove.title": "Basculer Auto-Approbation", "views.activitybar.title": "Roo Code", "views.contextMenu.label": "Roo Code", "views.terminalMenu.label": "Roo Code", diff --git a/src/package.nls.hi.json b/src/package.nls.hi.json index 25481f425fa..59eb711dbbf 100644 --- a/src/package.nls.hi.json +++ b/src/package.nls.hi.json @@ -14,6 +14,7 @@ "command.terminal.fixCommand.title": "यह कमांड ठीक करें", "command.terminal.explainCommand.title": "यह कमांड समझाएं", "command.acceptInput.title": "इनपुट/सुझाव स्वीकारें", + "command.toggleAutoApprove.title": "ऑटो-अनुमोदन टॉगल करें", "views.activitybar.title": "Roo Code", "views.contextMenu.label": "Roo Code", "views.terminalMenu.label": "Roo Code", diff --git a/src/package.nls.id.json b/src/package.nls.id.json index 0c69028e917..da639a85ecb 100644 --- a/src/package.nls.id.json +++ b/src/package.nls.id.json @@ -26,6 +26,7 @@ "command.terminal.fixCommand.title": "Perbaiki Perintah Ini", "command.terminal.explainCommand.title": "Jelaskan Perintah Ini", "command.acceptInput.title": "Terima Input/Saran", + "command.toggleAutoApprove.title": "Alihkan Persetujuan Otomatis", "configuration.title": "Roo Code", "commands.allowedCommands.description": "Perintah yang dapat dijalankan secara otomatis ketika 'Selalu setujui operasi eksekusi' diaktifkan", "commands.deniedCommands.description": "Awalan perintah yang akan otomatis ditolak tanpa meminta persetujuan. Jika terjadi konflik dengan perintah yang diizinkan, pencocokan awalan terpanjang akan diprioritaskan. Tambahkan * untuk menolak semua perintah.", diff --git a/src/package.nls.it.json b/src/package.nls.it.json index 5ce3a765668..21f921b5637 100644 --- a/src/package.nls.it.json +++ b/src/package.nls.it.json @@ -14,6 +14,7 @@ "command.terminal.fixCommand.title": "Correggi Questo Comando", "command.terminal.explainCommand.title": "Spiega Questo Comando", "command.acceptInput.title": "Accetta Input/Suggerimento", + "command.toggleAutoApprove.title": "Attiva/Disattiva Auto-Approvazione", "views.activitybar.title": "Roo Code", "views.contextMenu.label": "Roo Code", "views.terminalMenu.label": "Roo Code", diff --git a/src/package.nls.ja.json b/src/package.nls.ja.json index b53b94e6ee4..ce22881ce28 100644 --- a/src/package.nls.ja.json +++ b/src/package.nls.ja.json @@ -26,6 +26,7 @@ "command.terminal.fixCommand.title": "このコマンドを修正", "command.terminal.explainCommand.title": "このコマンドを説明", "command.acceptInput.title": "入力/提案を承認", + "command.toggleAutoApprove.title": "自動承認を切替", "configuration.title": "Roo Code", "commands.allowedCommands.description": "'常に実行操作を承認する'が有効な場合に自動実行できるコマンド", "commands.deniedCommands.description": "承認を求めずに自動的に拒否されるコマンドプレフィックス。許可されたコマンドとの競合がある場合、最長プレフィックスマッチが優先されます。すべてのコマンドを拒否するには * を追加してください。", diff --git a/src/package.nls.ko.json b/src/package.nls.ko.json index bd03331d4ec..f87c93801e8 100644 --- a/src/package.nls.ko.json +++ b/src/package.nls.ko.json @@ -14,6 +14,7 @@ "command.terminal.fixCommand.title": "이 명령어 수정", "command.terminal.explainCommand.title": "이 명령어 설명", "command.acceptInput.title": "입력/제안 수락", + "command.toggleAutoApprove.title": "자동 승인 전환", "views.activitybar.title": "Roo Code", "views.contextMenu.label": "Roo Code", "views.terminalMenu.label": "Roo Code", diff --git a/src/package.nls.nl.json b/src/package.nls.nl.json index 683a096c122..3f5f5fd8893 100644 --- a/src/package.nls.nl.json +++ b/src/package.nls.nl.json @@ -26,6 +26,7 @@ "command.terminal.fixCommand.title": "Repareer Dit Commando", "command.terminal.explainCommand.title": "Leg Dit Commando Uit", "command.acceptInput.title": "Invoer/Suggestie Accepteren", + "command.toggleAutoApprove.title": "Auto-Goedkeuring Schakelen", "configuration.title": "Roo Code", "commands.allowedCommands.description": "Commando's die automatisch kunnen worden uitgevoerd wanneer 'Altijd goedkeuren uitvoerbewerkingen' is ingeschakeld", "commands.deniedCommands.description": "Commando-prefixen die automatisch worden geweigerd zonder om goedkeuring te vragen. Bij conflicten met toegestane commando's heeft de langste prefix-match voorrang. Voeg * toe om alle commando's te weigeren.", diff --git a/src/package.nls.pl.json b/src/package.nls.pl.json index 76c10ddfe00..26a74ba5b66 100644 --- a/src/package.nls.pl.json +++ b/src/package.nls.pl.json @@ -14,6 +14,7 @@ "command.terminal.fixCommand.title": "Napraw tę Komendę", "command.terminal.explainCommand.title": "Wyjaśnij tę Komendę", "command.acceptInput.title": "Akceptuj Wprowadzanie/Sugestię", + "command.toggleAutoApprove.title": "Przełącz Auto-Zatwierdzanie", "views.activitybar.title": "Roo Code", "views.contextMenu.label": "Roo Code", "views.terminalMenu.label": "Roo Code", diff --git a/src/package.nls.pt-BR.json b/src/package.nls.pt-BR.json index 85cea4d8700..7f904d98df0 100644 --- a/src/package.nls.pt-BR.json +++ b/src/package.nls.pt-BR.json @@ -14,6 +14,7 @@ "command.terminal.fixCommand.title": "Corrigir Este Comando", "command.terminal.explainCommand.title": "Explicar Este Comando", "command.acceptInput.title": "Aceitar Entrada/Sugestão", + "command.toggleAutoApprove.title": "Alternar Auto-Aprovação", "views.activitybar.title": "Roo Code", "views.contextMenu.label": "Roo Code", "views.terminalMenu.label": "Roo Code", diff --git a/src/package.nls.ru.json b/src/package.nls.ru.json index 83f32373a91..46ce4b95c98 100644 --- a/src/package.nls.ru.json +++ b/src/package.nls.ru.json @@ -26,6 +26,7 @@ "command.terminal.fixCommand.title": "Исправить эту команду", "command.terminal.explainCommand.title": "Объяснить эту команду", "command.acceptInput.title": "Принять ввод/предложение", + "command.toggleAutoApprove.title": "Переключить Авто-Подтверждение", "configuration.title": "Roo Code", "commands.allowedCommands.description": "Команды, которые могут быть автоматически выполнены, когда включена опция 'Всегда подтверждать операции выполнения'", "commands.deniedCommands.description": "Префиксы команд, которые будут автоматически отклонены без запроса подтверждения. В случае конфликтов с разрешенными командами приоритет имеет самое длинное совпадение префикса. Добавьте * чтобы отклонить все команды.", diff --git a/src/package.nls.tr.json b/src/package.nls.tr.json index faf520c0d26..9606822a1ce 100644 --- a/src/package.nls.tr.json +++ b/src/package.nls.tr.json @@ -14,6 +14,7 @@ "command.terminal.fixCommand.title": "Bu Komutu Düzelt", "command.terminal.explainCommand.title": "Bu Komutu Açıkla", "command.acceptInput.title": "Girişi/Öneriyi Kabul Et", + "command.toggleAutoApprove.title": "Otomatik Onayı Değiştir", "views.activitybar.title": "Roo Code", "views.contextMenu.label": "Roo Code", "views.terminalMenu.label": "Roo Code", diff --git a/src/package.nls.vi.json b/src/package.nls.vi.json index 672707a111e..b25e9d74f80 100644 --- a/src/package.nls.vi.json +++ b/src/package.nls.vi.json @@ -14,6 +14,7 @@ "command.terminal.fixCommand.title": "Sửa Lệnh Này", "command.terminal.explainCommand.title": "Giải Thích Lệnh Này", "command.acceptInput.title": "Chấp Nhận Đầu Vào/Gợi Ý", + "command.toggleAutoApprove.title": "Bật/Tắt Tự Động Phê Duyệt", "views.activitybar.title": "Roo Code", "views.contextMenu.label": "Roo Code", "views.terminalMenu.label": "Roo Code", diff --git a/src/package.nls.zh-CN.json b/src/package.nls.zh-CN.json index 94d0ed6c747..64684443fc2 100644 --- a/src/package.nls.zh-CN.json +++ b/src/package.nls.zh-CN.json @@ -14,6 +14,7 @@ "command.terminal.fixCommand.title": "修复此命令", "command.terminal.explainCommand.title": "解释此命令", "command.acceptInput.title": "接受输入/建议", + "command.toggleAutoApprove.title": "切换自动批准", "views.activitybar.title": "Roo Code", "views.contextMenu.label": "Roo Code", "views.terminalMenu.label": "Roo Code", diff --git a/src/package.nls.zh-TW.json b/src/package.nls.zh-TW.json index b4fd9e3cc7c..cc095664ccf 100644 --- a/src/package.nls.zh-TW.json +++ b/src/package.nls.zh-TW.json @@ -14,6 +14,7 @@ "command.terminal.fixCommand.title": "修復此命令", "command.terminal.explainCommand.title": "解釋此命令", "command.acceptInput.title": "接受輸入/建議", + "command.toggleAutoApprove.title": "切換自動批准", "views.activitybar.title": "Roo Code", "views.contextMenu.label": "Roo Code", "views.terminalMenu.label": "Roo Code", From 1d71a7254b123e9fce94a2334075386f68df49b4 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Mon, 22 Sep 2025 11:12:03 -0400 Subject: [PATCH 10/10] Link to keybinding settings --- src/core/webview/webviewMessageHandler.ts | 12 ++++++++++ src/shared/WebviewMessage.ts | 1 + .../settings/AutoApproveSettings.tsx | 24 ++++++++++++++++++- webview-ui/src/i18n/locales/ca/settings.json | 2 +- webview-ui/src/i18n/locales/de/settings.json | 2 +- webview-ui/src/i18n/locales/en/settings.json | 2 +- webview-ui/src/i18n/locales/es/settings.json | 2 +- webview-ui/src/i18n/locales/fr/settings.json | 2 +- webview-ui/src/i18n/locales/hi/settings.json | 2 +- webview-ui/src/i18n/locales/id/settings.json | 2 +- webview-ui/src/i18n/locales/it/settings.json | 2 +- webview-ui/src/i18n/locales/ja/settings.json | 2 +- webview-ui/src/i18n/locales/ko/settings.json | 2 +- webview-ui/src/i18n/locales/nl/settings.json | 2 +- webview-ui/src/i18n/locales/pl/settings.json | 2 +- .../src/i18n/locales/pt-BR/settings.json | 2 +- webview-ui/src/i18n/locales/ru/settings.json | 2 +- webview-ui/src/i18n/locales/tr/settings.json | 2 +- webview-ui/src/i18n/locales/vi/settings.json | 2 +- .../src/i18n/locales/zh-CN/settings.json | 2 +- .../src/i18n/locales/zh-TW/settings.json | 2 +- 21 files changed, 54 insertions(+), 19 deletions(-) diff --git a/src/core/webview/webviewMessageHandler.ts b/src/core/webview/webviewMessageHandler.ts index 54e3265d536..6274694da2a 100644 --- a/src/core/webview/webviewMessageHandler.ts +++ b/src/core/webview/webviewMessageHandler.ts @@ -1044,6 +1044,18 @@ export const webviewMessageHandler = async ( break } + case "openKeyboardShortcuts": { + // Open VSCode keyboard shortcuts settings and optionally filter to show the Roo Code commands + const searchQuery = message.text || "" + if (searchQuery) { + // Open with a search query pre-filled + await vscode.commands.executeCommand("workbench.action.openGlobalKeybindings", searchQuery) + } else { + // Just open the keyboard shortcuts settings + await vscode.commands.executeCommand("workbench.action.openGlobalKeybindings") + } + break + } case "openMcpSettings": { const mcpSettingsFilePath = await provider.getMcpHub()?.getMcpSettingsFilePath() diff --git a/src/shared/WebviewMessage.ts b/src/shared/WebviewMessage.ts index f5bbae577e4..541b445fb21 100644 --- a/src/shared/WebviewMessage.ts +++ b/src/shared/WebviewMessage.ts @@ -102,6 +102,7 @@ export interface WebviewMessage { | "browserViewportSize" | "screenshotQuality" | "remoteBrowserHost" + | "openKeyboardShortcuts" | "openMcpSettings" | "openProjectMcpSettings" | "restartMcpServer" diff --git a/webview-ui/src/components/settings/AutoApproveSettings.tsx b/webview-ui/src/components/settings/AutoApproveSettings.tsx index d6941300676..332129ae035 100644 --- a/webview-ui/src/components/settings/AutoApproveSettings.tsx +++ b/webview-ui/src/components/settings/AutoApproveSettings.tsx @@ -1,5 +1,7 @@ import { HTMLAttributes, useState } from "react" import { X, CheckCheck } from "lucide-react" +import { Trans } from "react-i18next" +import { Package } from "@roo/package" import { useAppTranslation } from "@/i18n/TranslationContext" import { VSCodeCheckbox } from "@vscode/webview-ui-toolkit/react" @@ -135,7 +137,27 @@ export const AutoApproveSettings = ({

{t("settings:autoApprove.description")}

-

{t("settings:autoApprove.toggleShortcut")}

+

+ { + e.preventDefault() + // Send message to open keyboard shortcuts with search for toggle command + vscode.postMessage({ + type: "openKeyboardShortcuts", + text: `${Package.name}.toggleAutoApprove`, + }) + }} + /> + ), + }} + /> +

a les preferències del teu IDE.", "description": "Permet que Roo realitzi operacions automàticament sense requerir aprovació. Activeu aquesta configuració només si confieu plenament en la IA i enteneu els riscos de seguretat associats.", "enabled": "Auto-aprovació activada", "toggleAriaLabel": "Commuta l'aprovació automàtica", diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json index baf33b58b10..c12ebee00ca 100644 --- a/webview-ui/src/i18n/locales/de/settings.json +++ b/webview-ui/src/i18n/locales/de/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "Auf Standard zurücksetzen" }, "autoApprove": { - "toggleShortcut": "Du kannst in deinen IDE-Einstellungen einen globalen Shortcut für diese Einstellung konfigurieren.", + "toggleShortcut": "Du kannst in deinen IDE-Einstellungen einen globalen Shortcut für diese Einstellung konfigurieren.", "description": "Erlaubt Roo, Operationen automatisch ohne Genehmigung durchzuführen. Aktiviere diese Einstellungen nur, wenn du der KI vollständig vertraust und die damit verbundenen Sicherheitsrisiken verstehst.", "enabled": "Auto-Genehmigung aktiviert", "toggleAriaLabel": "Automatische Genehmigung umschalten", diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json index 4f921f8b584..7d778cc06b0 100644 --- a/webview-ui/src/i18n/locales/en/settings.json +++ b/webview-ui/src/i18n/locales/en/settings.json @@ -135,7 +135,7 @@ }, "autoApprove": { "description": "Run these actions without asking for permission. Only enable for actions you fully trust and if you understand the security risks.", - "toggleShortcut": "You can configure a global shortcut for this setting in your IDE preferences.", + "toggleShortcut": "You can configure a keyboard shortcut for this setting in your IDE preferences.", "enabled": "Auto-Approve Enabled", "readOnly": { "label": "Read", diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json index 993c20b6817..a5f4c7f128f 100644 --- a/webview-ui/src/i18n/locales/es/settings.json +++ b/webview-ui/src/i18n/locales/es/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "Restablecer al valor predeterminado" }, "autoApprove": { - "toggleShortcut": "Puedes configurar un atajo global para esta configuración en las preferencias de tu IDE.", + "toggleShortcut": "Puedes configurar un atajo global para esta configuración en las preferencias de tu IDE.", "description": "Permitir que Roo realice operaciones automáticamente sin requerir aprobación. Habilite esta configuración solo si confía plenamente en la IA y comprende los riesgos de seguridad asociados.", "enabled": "Auto-aprobación habilitada", "toggleAriaLabel": "Alternar aprobación automática", diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json index 7475d9615f4..36cacdaccee 100644 --- a/webview-ui/src/i18n/locales/fr/settings.json +++ b/webview-ui/src/i18n/locales/fr/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "Réinitialiser par défaut" }, "autoApprove": { - "toggleShortcut": "Vous pouvez configurer un raccourci global pour ce paramètre dans les préférences de votre IDE.", + "toggleShortcut": "Vous pouvez configurer un raccourci global pour ce paramètre dans les préférences de votre IDE.", "description": "Permettre à Roo d'effectuer automatiquement des opérations sans requérir d'approbation. Activez ces paramètres uniquement si vous faites entièrement confiance à l'IA et que vous comprenez les risques de sécurité associés.", "enabled": "Auto-approbation activée", "toggleAriaLabel": "Activer/désactiver l'approbation automatique", diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json index 3f0046b286d..27f6f9c7212 100644 --- a/webview-ui/src/i18n/locales/hi/settings.json +++ b/webview-ui/src/i18n/locales/hi/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "डिफ़ॉल्ट पर रीसेट करें" }, "autoApprove": { - "toggleShortcut": "आप अपनी आईडीई वरीयताओं में इस सेटिंग के लिए एक वैश्विक शॉर्टकट कॉन्फ़िगर कर सकते हैं।", + "toggleShortcut": "आप अपनी आईडीई वरीयताओं में इस सेटिंग के लिए एक वैश्विक शॉर्टकट कॉन्फ़िगर कर सकते हैं।", "description": "Roo को अनुमोदन की आवश्यकता के बिना स्वचालित रूप से ऑपरेशन करने की अनुमति दें। इन सेटिंग्स को केवल तभी सक्षम करें जब आप AI पर पूरी तरह से भरोसा करते हों और संबंधित सुरक्षा जोखिमों को समझते हों।", "enabled": "स्वत:-अनुमोदन सक्षम", "toggleAriaLabel": "स्वतः-अनुमोदन टॉगल करें", diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json index 8e06185681b..140405ce64d 100644 --- a/webview-ui/src/i18n/locales/id/settings.json +++ b/webview-ui/src/i18n/locales/id/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "Reset ke default" }, "autoApprove": { - "toggleShortcut": "Anda dapat mengonfigurasi pintasan global untuk pengaturan ini di preferensi IDE Anda.", + "toggleShortcut": "Anda dapat mengonfigurasi pintasan global untuk pengaturan ini di preferensi IDE Anda.", "description": "Izinkan Roo untuk secara otomatis melakukan operasi tanpa memerlukan persetujuan. Aktifkan pengaturan ini hanya jika kamu sepenuhnya mempercayai AI dan memahami risiko keamanan yang terkait.", "enabled": "Auto-Approve Diaktifkan", "toggleAriaLabel": "Beralih persetujuan otomatis", diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json index 27eda9d8b11..88d257c1512 100644 --- a/webview-ui/src/i18n/locales/it/settings.json +++ b/webview-ui/src/i18n/locales/it/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "Ripristina al valore predefinito" }, "autoApprove": { - "toggleShortcut": "Puoi configurare una scorciatoia globale per questa impostazione nelle preferenze del tuo IDE.", + "toggleShortcut": "Puoi configurare una scorciatoia globale per questa impostazione nelle preferenze del tuo IDE.", "description": "Permetti a Roo di eseguire automaticamente operazioni senza richiedere approvazione. Abilita queste impostazioni solo se ti fidi completamente dell'IA e comprendi i rischi di sicurezza associati.", "enabled": "Auto-approvazione abilitata", "toggleAriaLabel": "Attiva/disattiva approvazione automatica", diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json index 17133d6c1d5..83c068fe888 100644 --- a/webview-ui/src/i18n/locales/ja/settings.json +++ b/webview-ui/src/i18n/locales/ja/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "デフォルトにリセット" }, "autoApprove": { - "toggleShortcut": "IDEの環境設定で、この設定のグローバルショートカットを設定できます。", + "toggleShortcut": "IDEの環境設定で、この設定のグローバルショートカットを設定できます。", "description": "Rooが承認なしで自動的に操作を実行できるようにします。AIを完全に信頼し、関連するセキュリティリスクを理解している場合にのみ、これらの設定を有効にしてください。", "enabled": "自動承認が有効", "toggleAriaLabel": "自動承認の切り替え", diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json index 3a6f2613526..204c4f269d7 100644 --- a/webview-ui/src/i18n/locales/ko/settings.json +++ b/webview-ui/src/i18n/locales/ko/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "기본값으로 재설정" }, "autoApprove": { - "toggleShortcut": "IDE 환경 설정에서 이 설정에 대한 전역 바로 가기를 구성할 수 있습니다.", + "toggleShortcut": "IDE 환경 설정에서 이 설정에 대한 전역 바로 가기를 구성할 수 있습니다.", "description": "Roo가 승인 없이 자동으로 작업을 수행할 수 있도록 허용합니다. AI를 완전히 신뢰하고 관련 보안 위험을 이해하는 경우에만 이러한 설정을 활성화하세요.", "enabled": "자동 승인 활성화됨", "toggleAriaLabel": "자동 승인 전환", diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json index 03bba4ed38c..f0e55bff7d3 100644 --- a/webview-ui/src/i18n/locales/nl/settings.json +++ b/webview-ui/src/i18n/locales/nl/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "Reset naar standaard" }, "autoApprove": { - "toggleShortcut": "U kunt een globale sneltoets voor deze instelling configureren in de voorkeuren van uw IDE.", + "toggleShortcut": "U kunt een globale sneltoets voor deze instelling configureren in de voorkeuren van uw IDE.", "description": "Sta Roo toe om automatisch handelingen uit te voeren zonder goedkeuring. Schakel deze instellingen alleen in als je de AI volledig vertrouwt en de bijbehorende beveiligingsrisico's begrijpt.", "enabled": "Auto-goedkeuren ingeschakeld", "toggleAriaLabel": "Automatisch goedkeuren in-/uitschakelen", diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json index 2f2c5aaece1..e634eb99a68 100644 --- a/webview-ui/src/i18n/locales/pl/settings.json +++ b/webview-ui/src/i18n/locales/pl/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "Przywróć domyślne" }, "autoApprove": { - "toggleShortcut": "Możesz skonfigurować globalny skrót dla tego ustawienia w preferencjach swojego IDE.", + "toggleShortcut": "Możesz skonfigurować globalny skrót dla tego ustawienia w preferencjach swojego IDE.", "description": "Pozwól Roo na automatyczne wykonywanie operacji bez wymagania zatwierdzenia. Włącz te ustawienia tylko jeśli w pełni ufasz AI i rozumiesz związane z tym zagrożenia bezpieczeństwa.", "enabled": "Auto-zatwierdzanie włączone", "toggleAriaLabel": "Przełącz automatyczne zatwierdzanie", diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json index 5e35bd6609f..f6b160a8764 100644 --- a/webview-ui/src/i18n/locales/pt-BR/settings.json +++ b/webview-ui/src/i18n/locales/pt-BR/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "Redefinir para o padrão" }, "autoApprove": { - "toggleShortcut": "Você pode configurar um atalho global para esta configuração nas preferências do seu IDE.", + "toggleShortcut": "Você pode configurar um atalho global para esta configuração nas preferências do seu IDE.", "description": "Permitir que o Roo realize operações automaticamente sem exigir aprovação. Ative essas configurações apenas se confiar totalmente na IA e compreender os riscos de segurança associados.", "enabled": "Aprovação automática habilitada", "toggleAriaLabel": "Alternar aprovação automática", diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json index 44e54345e49..68d014bbb22 100644 --- a/webview-ui/src/i18n/locales/ru/settings.json +++ b/webview-ui/src/i18n/locales/ru/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "Сбросить к значению по умолчанию" }, "autoApprove": { - "toggleShortcut": "Вы можете настроить глобальное сочетание клавиш для этого параметра в настройках вашей IDE.", + "toggleShortcut": "Вы можете настроить глобальное сочетание клавиш для этого параметра в настройках вашей IDE.", "description": "Разрешить Roo автоматически выполнять операции без необходимости одобрения. Включайте эти параметры только если полностью доверяете ИИ и понимаете связанные с этим риски безопасности.", "enabled": "Автоодобрение включено", "toggleAriaLabel": "Переключить автоодобрение", diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json index e2c5ea04b8b..2e75af0ad65 100644 --- a/webview-ui/src/i18n/locales/tr/settings.json +++ b/webview-ui/src/i18n/locales/tr/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "Varsayılana sıfırla" }, "autoApprove": { - "toggleShortcut": "IDE tercihlerinizde bu ayar için genel bir kısayol yapılandırabilirsiniz.", + "toggleShortcut": "IDE tercihlerinizde bu ayar için genel bir kısayol yapılandırabilirsiniz.", "description": "Roo'nun onay gerektirmeden otomatik olarak işlemler gerçekleştirmesine izin verin. Bu ayarları yalnızca yapay zekaya tamamen güveniyorsanız ve ilgili güvenlik risklerini anlıyorsanız etkinleştirin.", "enabled": "Oto-onay etkinleştirildi", "toggleAriaLabel": "Otomatik onayı değiştir", diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json index 26c031d8532..c99f8610c3c 100644 --- a/webview-ui/src/i18n/locales/vi/settings.json +++ b/webview-ui/src/i18n/locales/vi/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "Đặt lại về mặc định" }, "autoApprove": { - "toggleShortcut": "Bạn có thể định cấu hình một phím tắt chung cho cài đặt này trong tùy chọn IDE của bạn.", + "toggleShortcut": "Bạn có thể định cấu hình một phím tắt chung cho cài đặt này trong tùy chọn IDE của bạn.", "description": "Cho phép Roo tự động thực hiện các hoạt động mà không cần phê duyệt. Chỉ bật những cài đặt này nếu bạn hoàn toàn tin tưởng AI và hiểu rõ các rủi ro bảo mật liên quan.", "enabled": "Phê duyệt tự động đã bật", "toggleAriaLabel": "Chuyển đổi tự động phê duyệt", diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json index 22438c0fd82..02b223b7cec 100644 --- a/webview-ui/src/i18n/locales/zh-CN/settings.json +++ b/webview-ui/src/i18n/locales/zh-CN/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "恢复默认值" }, "autoApprove": { - "toggleShortcut": "您可以在 IDE 首选项中为此设置配置全局快捷方式。", + "toggleShortcut": "您可以在 IDE 首选项中为此设置配置全局快捷方式。", "description": "允许 Roo 自动执行操作而无需批准。只有在您完全信任 AI 并了解相关安全风险的情况下才启用这些设置。", "enabled": "自动批准已启用", "toggleAriaLabel": "切换自动批准", diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json index 5ca6b00ea06..f83abd551a4 100644 --- a/webview-ui/src/i18n/locales/zh-TW/settings.json +++ b/webview-ui/src/i18n/locales/zh-TW/settings.json @@ -134,7 +134,7 @@ "resetToDefault": "重設為預設值" }, "autoApprove": { - "toggleShortcut": "您可以在 IDE 偏好設定中為此設定設定全域快捷鍵。", + "toggleShortcut": "您可以在 IDE 偏好設定中為此設定設定全域快捷鍵。", "description": "允許 Roo 無需核准即執行操作。僅在您完全信任 AI 並了解相關安全風險時啟用這些設定。", "enabled": "自動核准已啟用", "toggleAriaLabel": "切換自動核准",