+ Built with security-first principles to meet stringent enterprise requirements while + maintaining developer productivity. +
++ Every feature built with enterprise security requirements in mind +
+${source || ""}`
+ // Create a safe fallback using React elements instead of HTML string
+ const fallback = (
+
+ {source || ""}
+
+ )
const highlight = async () => {
// Show plain text if language needs to be loaded.
@@ -265,7 +273,7 @@ const CodeBlock = memo(
const highlighter = await getHighlighter(currentLanguage)
if (!isMountedRef.current) return
- const html = await highlighter.codeToHtml(source || "", {
+ const hast = await highlighter.codeToHast(source || "", {
lang: currentLanguage || "txt",
theme: document.body.className.toLowerCase().includes("light") ? "github-light" : "github-dark",
transformers: [
@@ -289,8 +297,25 @@ const CodeBlock = memo(
})
if (!isMountedRef.current) return
- if (isMountedRef.current) {
- setHighlightedCode(html)
+ // Convert HAST to React elements using hast-util-to-jsx-runtime
+ // This approach eliminates XSS vulnerabilities by avoiding dangerouslySetInnerHTML
+ // while maintaining the exact same visual output and syntax highlighting
+ try {
+ const reactElement = toJsxRuntime(hast, {
+ Fragment,
+ jsx,
+ jsxs,
+ // Don't override components - let them render as-is to maintain exact output
+ })
+
+ if (isMountedRef.current) {
+ setHighlightedCode(reactElement)
+ }
+ } catch (error) {
+ console.error("[CodeBlock] Error converting HAST to JSX:", error)
+ if (isMountedRef.current) {
+ setHighlightedCode(fallback)
+ }
}
}
@@ -725,48 +750,55 @@ const CodeBlock = memo(
}
{showCollapseButton && (
- ${code} [${theme}-theme]`
}),
+ codeToHast: vi.fn().mockImplementation((code, options) => {
+ const theme = options.theme === "github-light" ? "light" : "dark"
+ // Return a comprehensive HAST node structure that matches Shiki's output
+ // Apply transformers if provided
+ const preNode = {
+ type: "element",
+ tagName: "pre",
+ properties: {},
+ children: [
+ {
+ type: "element",
+ tagName: "code",
+ properties: { className: [`hljs`, `language-${options.lang}`] },
+ children: [
+ {
+ type: "text",
+ value: `${code} [${theme}-theme]`,
+ },
+ ],
+ },
+ ],
+ }
+
+ // Apply transformers if they exist
+ if (options.transformers) {
+ for (const transformer of options.transformers) {
+ if (transformer.pre) {
+ transformer.pre(preNode)
+ }
+ if (transformer.code && preNode.children[0]) {
+ transformer.code(preNode.children[0])
+ }
+ }
+ }
+
+ return preNode
+ }),
}
return {
@@ -170,9 +207,15 @@ describe("CodeBlock", () => {
codeBlock.setAttribute("data-partially-visible", "true")
}
- const copyButton = screen.getByTitle("Copy code")
- await act(async () => {
- fireEvent.click(copyButton)
- })
+ // Find the copy button by looking for the button containing the Copy icon
+ const buttons = screen.getAllByRole("button")
+ const copyButton = buttons.find((btn) => btn.querySelector("svg.lucide-copy"))
+
+ expect(copyButton).toBeTruthy()
+ if (copyButton) {
+ await act(async () => {
+ fireEvent.click(copyButton)
+ })
+ }
})
})
diff --git a/webview-ui/src/components/common/__tests__/MarkdownBlock.spec.tsx b/webview-ui/src/components/common/__tests__/MarkdownBlock.spec.tsx
index 5190f7fe82..ec97e4e667 100644
--- a/webview-ui/src/components/common/__tests__/MarkdownBlock.spec.tsx
+++ b/webview-ui/src/components/common/__tests__/MarkdownBlock.spec.tsx
@@ -1,5 +1,5 @@
import React from "react"
-import { render, screen } from "@testing-library/react"
+import { render, screen } from "@/utils/test-utils"
import MarkdownBlock from "../MarkdownBlock"
import { vi } from "vitest"
diff --git a/webview-ui/src/components/history/CopyButton.tsx b/webview-ui/src/components/history/CopyButton.tsx
index 743b150aae..4243ff8d5a 100644
--- a/webview-ui/src/components/history/CopyButton.tsx
+++ b/webview-ui/src/components/history/CopyButton.tsx
@@ -1,7 +1,7 @@
import { useCallback } from "react"
import { useClipboard } from "@/components/ui/hooks"
-import { Button } from "@/components/ui"
+import { Button, StandardTooltip } from "@/components/ui"
import { useAppTranslation } from "@/i18n/TranslationContext"
import { cn } from "@/lib/utils"
@@ -25,14 +25,15 @@ export const CopyButton = ({ itemTask }: CopyButtonProps) => {
)
return (
- + {t("prompts:importMode.selectLevel")} +
+{t("settings:codeIndex.searchMinScoreResetTooltip")}
+{{query}}:",
"wantsToSearchWithPath": "Roo vol cercar a la base de codi {{query}} a {{path}}:",
- "didSearch": "S'han trobat {{count}} resultat(s) per a {{query}}:"
+ "didSearch": "S'han trobat {{count}} resultat(s) per a {{query}}:",
+ "resultTooltip": "Puntuació de similitud: {{score}} (fes clic per obrir el fitxer)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "Indexat",
"error": "Error d'índex",
"status": "Estat de l'índex"
+ },
+ "versionIndicator": {
+ "ariaLabel": "Versió {{version}} - Feu clic per veure les notes de llançament"
}
}
diff --git a/webview-ui/src/i18n/locales/ca/prompts.json b/webview-ui/src/i18n/locales/ca/prompts.json
index 04359f996a..27d74d3d26 100644
--- a/webview-ui/src/i18n/locales/ca/prompts.json
+++ b/webview-ui/src/i18n/locales/ca/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "Modes",
"createNewMode": "Crear nou mode",
+ "importMode": "Importar mode",
+ "noMatchFound": "No s'han trobat modes",
"editModesConfig": "Editar configuració de modes",
"editGlobalModes": "Editar modes globals",
"editProjectModes": "Editar modes de projecte (.roomodes)",
@@ -50,6 +52,28 @@
"description": "Afegiu directrius de comportament específiques per al mode {{modeName}}.",
"loadFromFile": "Les instruccions personalitzades específiques per al mode {{mode}} també es poden carregar des de la carpeta .roo/rules-{{slug}}/ al vostre espai de treball (.roorules-{{slug}} i .clinerules-{{slug}} estan obsolets i deixaran de funcionar aviat)."
},
+ "exportMode": {
+ "title": "Exportar mode",
+ "description": "Exporta aquest mode a un fitxer YAML amb totes les regles incloses per compartir fàcilment amb altres.",
+ "export": "Exportar mode",
+ "exporting": "Exportant..."
+ },
+ "importMode": {
+ "selectLevel": "Tria on importar aquest mode:",
+ "import": "Importar",
+ "importing": "Important...",
+ "global": {
+ "label": "Nivell global",
+ "description": "Disponible a tots els projectes. Les regles es fusionaran amb les instruccions personalitzades."
+ },
+ "project": {
+ "label": "Nivell de projecte",
+ "description": "Només disponible en aquest espai de treball. Si el mode exportat contenia fitxers de regles, es tornaran a crear a la carpeta .roo/rules-{slug}/."
+ }
+ },
+ "advanced": {
+ "title": "Avançat"
+ },
"globalCustomInstructions": {
"title": "Instruccions personalitzades per a tots els modes",
"description": "Aquestes instruccions s'apliquen a tots els modes. Proporcionen un conjunt bàsic de comportaments que es poden millorar amb instruccions específiques de cada mode a continuació. <0>Més informació0>",
diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json
index ea4f974149..3fe9cd78b9 100644
--- a/webview-ui/src/i18n/locales/ca/settings.json
+++ b/webview-ui/src/i18n/locales/ca/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "URL d'Ollama:",
"qdrantUrlLabel": "URL de Qdrant",
"qdrantKeyLabel": "Clau de Qdrant:",
+ "advancedConfigLabel": "Configuració avançada",
+ "searchMinScoreLabel": "Llindar de puntuació de cerca",
+ "searchMinScoreDescription": "Puntuació mínima de similitud (0.0-1.0) requerida per als resultats de la cerca. Valors més baixos retornen més resultats però poden ser menys rellevants. Valors més alts retornen menys resultats però més rellevants.",
+ "searchMinScoreResetTooltip": "Restablir al valor per defecte (0.4)",
"startIndexingButton": "Iniciar indexació",
"clearIndexDataButton": "Esborrar dades d'índex",
"unsavedSettingsMessage": "Si us plau, deseu la configuració abans d'iniciar el procés d'indexació.",
@@ -110,6 +114,11 @@
"label": "Subtasques",
"description": "Permetre la creació i finalització de subtasques sense requerir aprovació"
},
+ "followupQuestions": {
+ "label": "Pregunta",
+ "description": "Seleccionar automàticament la primera resposta suggerida per a preguntes de seguiment després del temps d'espera configurat",
+ "timeoutLabel": "Temps d'espera abans de seleccionar automàticament la primera resposta"
+ },
"execute": {
"label": "Executar",
"description": "Executar automàticament comandes de terminal permeses sense requerir aprovació",
diff --git a/webview-ui/src/i18n/locales/de/chat.json b/webview-ui/src/i18n/locales/de/chat.json
index 3ee69f9ae4..c62fe9d3bb 100644
--- a/webview-ui/src/i18n/locales/de/chat.json
+++ b/webview-ui/src/i18n/locales/de/chat.json
@@ -234,15 +234,17 @@
"tokens": "Tokens"
},
"followUpSuggest": {
- "copyToInput": "In Eingabefeld kopieren (oder Shift + Klick)"
+ "copyToInput": "In Eingabefeld kopieren (oder Shift + Klick)",
+ "autoSelectCountdown": "Automatische Auswahl in {{count}}s",
+ "countdownDisplay": "{{count}}s"
},
"announcement": {
"title": "🎉 Roo Code {{version}} veröffentlicht",
- "description": "Roo Code {{version}} bringt wichtige neue Funktionen und Verbesserungen basierend auf deinem Feedback.",
+ "description": "Roo Code {{version}} bringt mächtige neue Funktionen und bedeutende Verbesserungen, um deinen Entwicklungsworkflow zu verbessern.",
"whatsNew": "Was ist neu",
- "feature1": "{{query}} durchsuchen:",
"wantsToSearchWithPath": "Roo möchte den Codebase nach {{query}} in {{path}} durchsuchen:",
- "didSearch": "{{count}} Ergebnis(se) für {{query}} gefunden:"
+ "didSearch": "{{count}} Ergebnis(se) für {{query}} gefunden:",
+ "resultTooltip": "Ähnlichkeitswert: {{score}} (klicken zum Öffnen der Datei)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "Indiziert",
"error": "Index-Fehler",
"status": "Index-Status"
+ },
+ "versionIndicator": {
+ "ariaLabel": "Version {{version}} - Klicken Sie, um die Versionshinweise anzuzeigen"
}
}
diff --git a/webview-ui/src/i18n/locales/de/prompts.json b/webview-ui/src/i18n/locales/de/prompts.json
index 6e9fd0f47b..11c132f1df 100644
--- a/webview-ui/src/i18n/locales/de/prompts.json
+++ b/webview-ui/src/i18n/locales/de/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "Modi",
"createNewMode": "Neuen Modus erstellen",
+ "importMode": "Modus importieren",
+ "noMatchFound": "Keine Modi gefunden",
"editModesConfig": "Moduskonfiguration bearbeiten",
"editGlobalModes": "Globale Modi bearbeiten",
"editProjectModes": "Projektmodi bearbeiten (.roomodes)",
@@ -50,6 +52,28 @@
"description": "Fügen Sie verhaltensspezifische Richtlinien für den Modus {{modeName}} hinzu.",
"loadFromFile": "Benutzerdefinierte Anweisungen für den Modus {{mode}} können auch aus dem Ordner .roo/rules-{{slug}}/ in deinem Arbeitsbereich geladen werden (.roorules-{{slug}} und .clinerules-{{slug}} sind veraltet und werden bald nicht mehr funktionieren)."
},
+ "exportMode": {
+ "title": "Modus exportieren",
+ "description": "Exportiert diesen Modus in eine YAML-Datei mit allen enthaltenen Regeln zum einfachen Teilen mit anderen.",
+ "export": "Modus exportieren",
+ "exporting": "Exportieren..."
+ },
+ "importMode": {
+ "selectLevel": "Wähle, wo dieser Modus importiert werden soll:",
+ "import": "Importieren",
+ "importing": "Importiere...",
+ "global": {
+ "label": "Globale Ebene",
+ "description": "Verfügbar in allen Projekten. Wenn der exportierte Modus Regeldateien enthielt, werden diese im globalen Ordner .roo/rules-{slug}/ neu erstellt."
+ },
+ "project": {
+ "label": "Projektebene",
+ "description": "Nur in diesem Arbeitsbereich verfügbar. Wenn der exportierte Modus Regeldateien enthielt, werden diese im Ordner .roo/rules-{slug}/ neu erstellt."
+ }
+ },
+ "advanced": {
+ "title": "Erweitert"
+ },
"globalCustomInstructions": {
"title": "Benutzerdefinierte Anweisungen für alle Modi",
"description": "Diese Anweisungen gelten für alle Modi. Sie bieten einen grundlegenden Satz von Verhaltensweisen, die durch modusspezifische Anweisungen unten erweitert werden können. <0>Mehr erfahren0>",
diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json
index c5e161bafe..bf33512650 100644
--- a/webview-ui/src/i18n/locales/de/settings.json
+++ b/webview-ui/src/i18n/locales/de/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "Ollama-URL:",
"qdrantUrlLabel": "Qdrant-URL",
"qdrantKeyLabel": "Qdrant-Schlüssel:",
+ "advancedConfigLabel": "Erweiterte Konfiguration",
+ "searchMinScoreLabel": "Suchergebnis-Schwellenwert",
+ "searchMinScoreDescription": "Mindestähnlichkeitswert (0.0-1.0), der für Suchergebnisse erforderlich ist. Niedrigere Werte liefern mehr Ergebnisse, die jedoch möglicherweise weniger relevant sind. Höhere Werte liefern weniger, aber relevantere Ergebnisse.",
+ "searchMinScoreResetTooltip": "Auf Standardwert zurücksetzen (0.4)",
"startIndexingButton": "Indexierung starten",
"clearIndexDataButton": "Indexdaten löschen",
"unsavedSettingsMessage": "Bitte speichere deine Einstellungen, bevor du den Indexierungsprozess startest.",
@@ -110,6 +114,11 @@
"label": "Teilaufgaben",
"description": "Erstellung und Abschluss von Unteraufgaben ohne Genehmigung erlauben"
},
+ "followupQuestions": {
+ "label": "Frage",
+ "description": "Automatisch die erste vorgeschlagene Antwort für Folgefragen nach der konfigurierten Zeitüberschreitung auswählen",
+ "timeoutLabel": "Wartezeit vor der automatischen Auswahl der ersten Antwort"
+ },
"execute": {
"label": "Ausführen",
"description": "Erlaubte Terminal-Befehle automatisch ohne Genehmigung ausführen",
diff --git a/webview-ui/src/i18n/locales/en/chat.json b/webview-ui/src/i18n/locales/en/chat.json
index 9ee8e167bd..ea4f8920f5 100644
--- a/webview-ui/src/i18n/locales/en/chat.json
+++ b/webview-ui/src/i18n/locales/en/chat.json
@@ -201,7 +201,8 @@
"codebaseSearch": {
"wantsToSearch": "Roo wants to search the codebase for {{query}}:",
"wantsToSearchWithPath": "Roo wants to search the codebase for {{query}} in {{path}}:",
- "didSearch": "Found {{count}} result(s) for {{query}}:"
+ "didSearch": "Found {{count}} result(s) for {{query}}:",
+ "resultTooltip": "Similarity score: {{score}} (click to open file)"
},
"commandOutput": "Command Output",
"response": "Response",
@@ -244,11 +245,11 @@
},
"announcement": {
"title": "🎉 Roo Code {{version}} Released",
- "description": "Roo Code {{version}} brings major new features and improvements based on your feedback.",
+ "description": "Roo Code {{version}} brings powerful new features and significant improvements to enhance your development workflow.",
"whatsNew": "What's New",
- "feature1": "{{query}}:",
"wantsToSearchWithPath": "Roo quiere buscar en la base de código {{query}} en {{path}}:",
- "didSearch": "Se encontraron {{count}} resultado(s) para {{query}}:"
+ "didSearch": "Se encontraron {{count}} resultado(s) para {{query}}:",
+ "resultTooltip": "Puntuación de similitud: {{score}} (haz clic para abrir el archivo)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "Indexado",
"error": "Error de índice",
"status": "Estado del índice"
+ },
+ "versionIndicator": {
+ "ariaLabel": "Versión {{version}} - Haz clic para ver las notas de la versión"
}
}
diff --git a/webview-ui/src/i18n/locales/es/prompts.json b/webview-ui/src/i18n/locales/es/prompts.json
index 54b5c1bd2d..67a4d25b8a 100644
--- a/webview-ui/src/i18n/locales/es/prompts.json
+++ b/webview-ui/src/i18n/locales/es/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "Modos",
"createNewMode": "Crear nuevo modo",
+ "importMode": "Importar modo",
+ "noMatchFound": "No se encontraron modos",
"editModesConfig": "Editar configuración de modos",
"editGlobalModes": "Editar modos globales",
"editProjectModes": "Editar modos del proyecto (.roomodes)",
@@ -50,6 +52,28 @@
"description": "Agrega directrices de comportamiento específicas para el modo {{modeName}}.",
"loadFromFile": "Las instrucciones personalizadas para el modo {{mode}} también se pueden cargar desde la carpeta .roo/rules-{{slug}}/ en tu espacio de trabajo (.roorules-{{slug}} y .clinerules-{{slug}} están obsoletos y dejarán de funcionar pronto)."
},
+ "exportMode": {
+ "title": "Exportar modo",
+ "description": "Exporta este modo a un archivo YAML con todas las reglas incluidas para compartir fácilmente con otros.",
+ "export": "Exportar modo",
+ "exporting": "Exportando..."
+ },
+ "importMode": {
+ "selectLevel": "Elige dónde importar este modo:",
+ "import": "Importar",
+ "importing": "Importando...",
+ "global": {
+ "label": "Nivel global",
+ "description": "Disponible en todos los proyectos. Si el modo exportado contenía archivos de reglas, se volverán a crear en la carpeta global .roo/rules-{slug}/."
+ },
+ "project": {
+ "label": "Nivel de proyecto",
+ "description": "Solo disponible en este espacio de trabajo. Si el modo exportado contenía archivos de reglas, se volverán a crear en la carpeta .roo/rules-{slug}/."
+ }
+ },
+ "advanced": {
+ "title": "Avanzado"
+ },
"globalCustomInstructions": {
"title": "Instrucciones personalizadas para todos los modos",
"description": "Estas instrucciones se aplican a todos los modos. Proporcionan un conjunto base de comportamientos que pueden ser mejorados por instrucciones específicas de cada modo a continuación. <0>Más información0>",
diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json
index 3e3d20cce1..92d12b4e24 100644
--- a/webview-ui/src/i18n/locales/es/settings.json
+++ b/webview-ui/src/i18n/locales/es/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "URL de Ollama:",
"qdrantUrlLabel": "URL de Qdrant",
"qdrantKeyLabel": "Clave de Qdrant:",
+ "advancedConfigLabel": "Configuración avanzada",
+ "searchMinScoreLabel": "Umbral de puntuación de búsqueda",
+ "searchMinScoreDescription": "Puntuación mínima de similitud (0.0-1.0) requerida para los resultados de búsqueda. Valores más bajos devuelven más resultados pero pueden ser menos relevantes. Valores más altos devuelven menos resultados pero más relevantes.",
+ "searchMinScoreResetTooltip": "Restablecer al valor predeterminado (0.4)",
"startIndexingButton": "Iniciar indexación",
"clearIndexDataButton": "Borrar datos de índice",
"unsavedSettingsMessage": "Por favor guarda tus ajustes antes de iniciar el proceso de indexación.",
@@ -110,6 +114,11 @@
"label": "Subtareas",
"description": "Permitir la creación y finalización de subtareas sin requerir aprobación"
},
+ "followupQuestions": {
+ "label": "Pregunta",
+ "description": "Seleccionar automáticamente la primera respuesta sugerida para preguntas de seguimiento después del tiempo de espera configurado",
+ "timeoutLabel": "Tiempo de espera antes de seleccionar automáticamente la primera respuesta"
+ },
"execute": {
"label": "Ejecutar",
"description": "Ejecutar automáticamente comandos de terminal permitidos sin requerir aprobación",
diff --git a/webview-ui/src/i18n/locales/fr/chat.json b/webview-ui/src/i18n/locales/fr/chat.json
index 25d5074f45..b5f06354bb 100644
--- a/webview-ui/src/i18n/locales/fr/chat.json
+++ b/webview-ui/src/i18n/locales/fr/chat.json
@@ -234,15 +234,17 @@
"tokens": "tokens"
},
"followUpSuggest": {
- "copyToInput": "Copier vers l'entrée (ou Shift + clic)"
+ "copyToInput": "Copier vers l'entrée (ou Shift + clic)",
+ "autoSelectCountdown": "Sélection automatique dans {{count}}s",
+ "countdownDisplay": "{{count}}s"
},
"announcement": {
"title": "🎉 Roo Code {{version}} est sortie",
- "description": "Roo Code {{version}} apporte de nouvelles fonctionnalités majeures et des améliorations basées sur vos retours.",
+ "description": "Roo Code {{version}} apporte de puissantes nouvelles fonctionnalités et des améliorations significatives pour améliorer ton flux de travail de développement.",
"whatsNew": "Quoi de neuf",
- "feature1": "{{query}} :",
"wantsToSearchWithPath": "Roo veut rechercher dans la base de code {{query}} dans {{path}} :",
- "didSearch": "{{count}} résultat(s) trouvé(s) pour {{query}} :"
+ "didSearch": "{{count}} résultat(s) trouvé(s) pour {{query}} :",
+ "resultTooltip": "Score de similarité : {{score}} (cliquer pour ouvrir le fichier)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "Indexé",
"error": "Erreur d'index",
"status": "Statut de l'index"
+ },
+ "versionIndicator": {
+ "ariaLabel": "Version {{version}} - Cliquez pour voir les notes de version"
}
}
diff --git a/webview-ui/src/i18n/locales/fr/prompts.json b/webview-ui/src/i18n/locales/fr/prompts.json
index 39bc67e482..202e214322 100644
--- a/webview-ui/src/i18n/locales/fr/prompts.json
+++ b/webview-ui/src/i18n/locales/fr/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "Modes",
"createNewMode": "Créer un nouveau mode",
+ "importMode": "Importer le mode",
+ "noMatchFound": "Aucun mode trouvé",
"editModesConfig": "Modifier la configuration des modes",
"editGlobalModes": "Modifier les modes globaux",
"editProjectModes": "Modifier les modes du projet (.roomodes)",
@@ -50,6 +52,28 @@
"description": "Ajoutez des directives comportementales spécifiques au mode {{modeName}}.",
"loadFromFile": "Les instructions personnalisées spécifiques au mode {{mode}} peuvent également être chargées depuis le dossier .roo/rules-{{slug}}/ dans votre espace de travail (.roorules-{{slug}} et .clinerules-{{slug}} sont obsolètes et cesseront de fonctionner bientôt)."
},
+ "exportMode": {
+ "title": "Exporter le mode",
+ "description": "Exporte ce mode vers un fichier YAML avec toutes les règles incluses pour un partage facile avec d'autres.",
+ "export": "Exporter le mode",
+ "exporting": "Exportation..."
+ },
+ "importMode": {
+ "selectLevel": "Choisissez où importer ce mode :",
+ "import": "Importer",
+ "importing": "Importation...",
+ "global": {
+ "label": "Niveau global",
+ "description": "Disponible dans tous les projets. Si le mode exporté contenait des fichiers de règles, ils seront recréés dans le dossier global .roo/rules-{slug}/."
+ },
+ "project": {
+ "label": "Niveau projet",
+ "description": "Disponible uniquement dans cet espace de travail. Si le mode exporté contenait des fichiers de règles, ils seront recréés dans le dossier .roo/rules-{slug}/."
+ }
+ },
+ "advanced": {
+ "title": "Avancé"
+ },
"globalCustomInstructions": {
"title": "Instructions personnalisées pour tous les modes",
"description": "Ces instructions s'appliquent à tous les modes. Elles fournissent un ensemble de comportements de base qui peuvent être améliorés par des instructions spécifiques au mode ci-dessous. <0>En savoir plus0>",
diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json
index 5635251876..7c3f38b7b3 100644
--- a/webview-ui/src/i18n/locales/fr/settings.json
+++ b/webview-ui/src/i18n/locales/fr/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "URL Ollama :",
"qdrantUrlLabel": "URL Qdrant",
"qdrantKeyLabel": "Clé Qdrant :",
+ "advancedConfigLabel": "Configuration avancée",
+ "searchMinScoreLabel": "Seuil de score de recherche",
+ "searchMinScoreDescription": "Score de similarité minimum (0.0-1.0) requis pour les résultats de recherche. Des valeurs plus faibles renvoient plus de résultats mais peuvent être moins pertinents. Des valeurs plus élevées renvoient moins de résultats mais plus pertinents.",
+ "searchMinScoreResetTooltip": "Réinitialiser à la valeur par défaut (0.4)",
"startIndexingButton": "Démarrer l'indexation",
"clearIndexDataButton": "Effacer les données d'index",
"unsavedSettingsMessage": "Merci d'enregistrer tes paramètres avant de démarrer le processus d'indexation.",
@@ -110,6 +114,11 @@
"label": "Sous-tâches",
"description": "Permettre la création et l'achèvement des sous-tâches sans nécessiter d'approbation"
},
+ "followupQuestions": {
+ "label": "Question",
+ "description": "Sélectionner automatiquement la première réponse suggérée pour les questions de suivi après le délai configuré",
+ "timeoutLabel": "Temps d'attente avant la sélection automatique de la première réponse"
+ },
"execute": {
"label": "Exécuter",
"description": "Exécuter automatiquement les commandes de terminal autorisées sans nécessiter d'approbation",
diff --git a/webview-ui/src/i18n/locales/hi/chat.json b/webview-ui/src/i18n/locales/hi/chat.json
index e67068d090..9afdcbdd38 100644
--- a/webview-ui/src/i18n/locales/hi/chat.json
+++ b/webview-ui/src/i18n/locales/hi/chat.json
@@ -234,17 +234,19 @@
"tokens": "टोकन"
},
"followUpSuggest": {
- "copyToInput": "इनपुट में कॉपी करें (या Shift + क्लिक)"
+ "copyToInput": "इनपुट में कॉपी करें (या Shift + क्लिक)",
+ "autoSelectCountdown": "{{count}}s में स्वचालित रूप से चयन हो रहा है",
+ "countdownDisplay": "{{count}}सेकंड"
},
"announcement": {
"title": "🎉 Roo Code {{version}} रिलीज़ हुआ",
- "description": "Roo Code {{version}} आपके फीडबैक के आधार पर शक्तिशाली नई सुविधाएँ और सुधार लाता है।",
- "whatsNew": "नई सुविधाएँ",
- "feature1": "{{query}} खोजना चाहता है:",
"wantsToSearchWithPath": "Roo {{path}} में कोडबेस में {{query}} खोजना चाहता है:",
- "didSearch": "{{query}} के लिए {{count}} परिणाम मिले:"
+ "didSearch": "{{query}} के लिए {{count}} परिणाम मिले:",
+ "resultTooltip": "समानता स्कोर: {{score}} (फ़ाइल खोलने के लिए क्लिक करें)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "इंडेक्स किया गया",
"error": "इंडेक्स त्रुटि",
"status": "इंडेक्स स्थिति"
+ },
+ "versionIndicator": {
+ "ariaLabel": "संस्करण {{version}} - रिलीज़ नोट्स देखने के लिए क्लिक करें"
}
}
diff --git a/webview-ui/src/i18n/locales/hi/prompts.json b/webview-ui/src/i18n/locales/hi/prompts.json
index 9633b02953..ea1c4b6ae1 100644
--- a/webview-ui/src/i18n/locales/hi/prompts.json
+++ b/webview-ui/src/i18n/locales/hi/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "मोड्स",
"createNewMode": "नया मोड बनाएँ",
+ "importMode": "मोड आयात करें",
+ "noMatchFound": "कोई मोड नहीं मिला",
"editModesConfig": "मोड कॉन्फ़िगरेशन संपादित करें",
"editGlobalModes": "ग्लोबल मोड्स संपादित करें",
"editProjectModes": "प्रोजेक्ट मोड्स संपादित करें (.roomodes)",
@@ -50,6 +52,28 @@
"description": "{{modeName}} मोड के लिए विशिष्ट व्यवहार दिशानिर्देश जोड़ें।",
"loadFromFile": "{{mode}} मोड के लिए विशिष्ट कस्टम निर्देश आपके वर्कस्पेस में .roo/rules-{{slug}}/ फ़ोल्डर से भी लोड किए जा सकते हैं (.roorules-{{slug}} और .clinerules-{{slug}} पुराने हो गए हैं और जल्द ही काम करना बंद कर देंगे)।"
},
+ "exportMode": {
+ "title": "मोड निर्यात करें",
+ "description": "इस मोड को सभी नियमों के साथ एक YAML फ़ाइल में निर्यात करें ताकि दूसरों के साथ आसानी से साझा किया जा सके।",
+ "export": "मोड निर्यात करें",
+ "exporting": "निर्यात हो रहा है..."
+ },
+ "importMode": {
+ "selectLevel": "चुनें कि इस मोड को कहाँ आयात करना है:",
+ "import": "आयात करें",
+ "importing": "आयात कर रहे हैं...",
+ "global": {
+ "label": "वैश्विक स्तर",
+ "description": "सभी परियोजनाओं में उपलब्ध। नियम कस्टम निर्देशों में विलय कर दिए जाएंगे।"
+ },
+ "project": {
+ "label": "परियोजना स्तर",
+ "description": "केवल इस कार्यक्षेत्र में उपलब्ध। यदि निर्यात किए गए मोड में नियम फाइलें थीं, तो उन्हें .roo/rules-{slug}/ फ़ोल्डर में फिर से बनाया जाएगा।"
+ }
+ },
+ "advanced": {
+ "title": "उन्नत"
+ },
"globalCustomInstructions": {
"title": "सभी मोड्स के लिए कस्टम निर्देश",
"description": "ये निर्देश सभी मोड्स पर लागू होते हैं। वे व्यवहारों का एक आधार सेट प्रदान करते हैं जिन्हें नीचे दिए गए मोड-विशिष्ट निर्देशों द्वारा बढ़ाया जा सकता है। <0>और जानें0>",
diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json
index 8de5bd1a19..36cfc01896 100644
--- a/webview-ui/src/i18n/locales/hi/settings.json
+++ b/webview-ui/src/i18n/locales/hi/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "Ollama URL:",
"qdrantUrlLabel": "Qdrant URL",
"qdrantKeyLabel": "Qdrant कुंजी:",
+ "advancedConfigLabel": "उन्नत कॉन्फ़िगरेशन",
+ "searchMinScoreLabel": "खोज स्कोर थ्रेसहोल्ड",
+ "searchMinScoreDescription": "खोज परिणामों के लिए आवश्यक न्यूनतम समानता स्कोर (0.0-1.0)। कम मान अधिक परिणाम लौटाते हैं लेकिन कम प्रासंगिक हो सकते हैं। उच्च मान कम लेकिन अधिक प्रासंगिक परिणाम लौटाते हैं।",
+ "searchMinScoreResetTooltip": "डिफ़ॉल्ट मान पर रीसेट करें (0.4)",
"startIndexingButton": "इंडेक्सिंग शुरू करें",
"clearIndexDataButton": "इंडेक्स डेटा साफ़ करें",
"unsavedSettingsMessage": "इंडेक्सिंग प्रक्रिया शुरू करने से पहले कृपया अपनी सेटिंग्स सहेजें।",
@@ -110,6 +114,11 @@
"label": "उप-कार्य",
"description": "अनुमोदन की आवश्यकता के बिना उप-कार्यों के निर्माण और पूर्णता की अनुमति दें"
},
+ "followupQuestions": {
+ "label": "प्रश्न",
+ "description": "कॉन्फ़िगर किए गए टाइमआउट के बाद अनुवर्ती प्रश्नों के लिए पहले सुझाए गए उत्तर को स्वचालित रूप से चुनें",
+ "timeoutLabel": "पहले उत्तर को स्वचालित रूप से चुनने से पहले प्रतीक्षा करने का समय"
+ },
"execute": {
"label": "निष्पादित करें",
"description": "अनुमोदन की आवश्यकता के बिना स्वचालित रूप से अनुमत टर्मिनल कमांड निष्पादित करें",
diff --git a/webview-ui/src/i18n/locales/id/chat.json b/webview-ui/src/i18n/locales/id/chat.json
index 259665a406..fc0bd5056f 100644
--- a/webview-ui/src/i18n/locales/id/chat.json
+++ b/webview-ui/src/i18n/locales/id/chat.json
@@ -207,7 +207,8 @@
"codebaseSearch": {
"wantsToSearch": "Roo ingin mencari codebase untuk {{query}}:",
"wantsToSearchWithPath": "Roo ingin mencari codebase untuk {{query}} di {{path}}:",
- "didSearch": "Ditemukan {{count}} hasil untuk {{query}}:"
+ "didSearch": "Ditemukan {{count}} hasil untuk {{query}}:",
+ "resultTooltip": "Skor kemiripan: {{score}} (klik untuk membuka file)"
},
"commandOutput": "Output Perintah",
"response": "Respons",
@@ -250,20 +251,22 @@
},
"announcement": {
"title": "🎉 Roo Code {{version}} Dirilis",
- "description": "Roo Code {{version}} menghadirkan fitur baru yang powerful dan perbaikan berdasarkan feedback kamu.",
- "whatsNew": "Apa yang Baru",
- "feature1": "{{query}}:",
"wantsToSearchWithPath": "Roo vuole cercare nella base di codice {{query}} in {{path}}:",
- "didSearch": "Trovato {{count}} risultato/i per {{query}}:"
+ "didSearch": "Trovato {{count}} risultato/i per {{query}}:",
+ "resultTooltip": "Punteggio di somiglianza: {{score}} (clicca per aprire il file)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "Indicizzato",
"error": "Errore indice",
"status": "Stato indice"
+ },
+ "versionIndicator": {
+ "ariaLabel": "Versione {{version}} - Clicca per visualizzare le note di rilascio"
}
}
diff --git a/webview-ui/src/i18n/locales/it/prompts.json b/webview-ui/src/i18n/locales/it/prompts.json
index c556a18aac..5f6fd165aa 100644
--- a/webview-ui/src/i18n/locales/it/prompts.json
+++ b/webview-ui/src/i18n/locales/it/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "Modalità",
"createNewMode": "Crea nuova modalità",
+ "importMode": "Importa modalità",
+ "noMatchFound": "Nessuna modalità trovata",
"editModesConfig": "Modifica configurazione modalità",
"editGlobalModes": "Modifica modalità globali",
"editProjectModes": "Modifica modalità di progetto (.roomodes)",
@@ -50,6 +52,28 @@
"description": "Aggiungi linee guida comportamentali specifiche per la modalità {{modeName}}.",
"loadFromFile": "Le istruzioni personalizzate specifiche per la modalità {{mode}} possono essere caricate anche dalla cartella .roo/rules-{{slug}}/ nel tuo spazio di lavoro (.roorules-{{slug}} e .clinerules-{{slug}} sono obsoleti e smetteranno di funzionare presto)."
},
+ "exportMode": {
+ "title": "Esporta modalità",
+ "description": "Esporta questa modalità in un file YAML con tutte le regole incluse per una facile condivisione con altri.",
+ "export": "Esporta modalità",
+ "exporting": "Esportazione..."
+ },
+ "importMode": {
+ "selectLevel": "Scegli dove importare questa modalità:",
+ "import": "Importa",
+ "importing": "Importazione...",
+ "global": {
+ "label": "Livello globale",
+ "description": "Disponibile in tutti i progetti. Le regole verranno unite nelle istruzioni personalizzate."
+ },
+ "project": {
+ "label": "Livello di progetto",
+ "description": "Disponibile solo in questo spazio di lavoro. Se la modalità esportata conteneva file di regole, verranno ricreati nella cartella .roo/rules-{slug}/."
+ }
+ },
+ "advanced": {
+ "title": "Avanzato"
+ },
"globalCustomInstructions": {
"title": "Istruzioni personalizzate per tutte le modalità",
"description": "Queste istruzioni si applicano a tutte le modalità. Forniscono un insieme base di comportamenti che possono essere migliorati dalle istruzioni specifiche per modalità qui sotto. <0>Scopri di più0>",
diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json
index 572f99cbb0..4897212d0f 100644
--- a/webview-ui/src/i18n/locales/it/settings.json
+++ b/webview-ui/src/i18n/locales/it/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "URL Ollama:",
"qdrantUrlLabel": "URL Qdrant",
"qdrantKeyLabel": "Chiave Qdrant:",
+ "advancedConfigLabel": "Configurazione avanzata",
+ "searchMinScoreLabel": "Soglia punteggio di ricerca",
+ "searchMinScoreDescription": "Punteggio minimo di somiglianza (0.0-1.0) richiesto per i risultati della ricerca. Valori più bassi restituiscono più risultati ma potrebbero essere meno pertinenti. Valori più alti restituiscono meno risultati ma più pertinenti.",
+ "searchMinScoreResetTooltip": "Ripristina al valore predefinito (0.4)",
"startIndexingButton": "Avvia indicizzazione",
"clearIndexDataButton": "Cancella dati indice",
"unsavedSettingsMessage": "Per favore salva le tue impostazioni prima di avviare il processo di indicizzazione.",
@@ -110,6 +114,11 @@
"label": "Sottoattività",
"description": "Consenti la creazione e il completamento di attività secondarie senza richiedere approvazione"
},
+ "followupQuestions": {
+ "label": "Domanda",
+ "description": "Seleziona automaticamente la prima risposta suggerita per le domande di follow-up dopo il timeout configurato",
+ "timeoutLabel": "Tempo di attesa prima di selezionare automaticamente la prima risposta"
+ },
"execute": {
"label": "Esegui",
"description": "Esegui automaticamente i comandi del terminale consentiti senza richiedere approvazione",
diff --git a/webview-ui/src/i18n/locales/ja/chat.json b/webview-ui/src/i18n/locales/ja/chat.json
index 0278edd4b6..cb5ebcdafd 100644
--- a/webview-ui/src/i18n/locales/ja/chat.json
+++ b/webview-ui/src/i18n/locales/ja/chat.json
@@ -234,15 +234,17 @@
"tokens": "トークン"
},
"followUpSuggest": {
- "copyToInput": "入力欄にコピー(またはShift + クリック)"
+ "copyToInput": "入力欄にコピー(またはShift + クリック)",
+ "autoSelectCountdown": "{{count}}秒後に自動選択します",
+ "countdownDisplay": "{{count}}秒"
},
"announcement": {
"title": "🎉 Roo Code {{version}} リリース",
- "description": "Roo Code {{version}}は、あなたのフィードバックに基づく重要な新機能と改善をもたらします。",
+ "description": "Roo Code {{version}}は、開発ワークフローを向上させる強力な新機能と重要な改善をもたらします。",
"whatsNew": "新機能",
- "feature1": "{{query}} を検索したい:",
"wantsToSearchWithPath": "Rooは {{path}} 内のコードベースで {{query}} を検索したい:",
- "didSearch": "{{query}} の検索結果: {{count}} 件"
+ "didSearch": "{{query}} の検索結果: {{count}} 件",
+ "resultTooltip": "類似度スコア: {{score}} (クリックしてファイルを開く)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "インデックス作成済み",
"error": "インデックスエラー",
"status": "インデックス状態"
+ },
+ "versionIndicator": {
+ "ariaLabel": "バージョン {{version}} - クリックしてリリースノートを表示"
}
}
diff --git a/webview-ui/src/i18n/locales/ja/prompts.json b/webview-ui/src/i18n/locales/ja/prompts.json
index 8049a82d31..1fed98d194 100644
--- a/webview-ui/src/i18n/locales/ja/prompts.json
+++ b/webview-ui/src/i18n/locales/ja/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "モード",
"createNewMode": "新しいモードを作成",
+ "importMode": "モードをインポート",
+ "noMatchFound": "モードが見つかりません",
"editModesConfig": "モード設定を編集",
"editGlobalModes": "グローバルモードを編集",
"editProjectModes": "プロジェクトモードを編集 (.roomodes)",
@@ -50,6 +52,28 @@
"description": "{{modeName}}モードに特化した行動ガイドラインを追加します。",
"loadFromFile": "{{mode}}モード固有のカスタム指示は、ワークスペースの.roo/rules-{{slug}}/フォルダからも読み込めます(.roorules-{{slug}}と.clinerules-{{slug}}は非推奨であり、まもなく機能しなくなります)。"
},
+ "exportMode": {
+ "title": "モードをエクスポート",
+ "description": "このモードをすべてのルールを含むYAMLファイルにエクスポートして、他のユーザーと簡単に共有できます。",
+ "export": "モードをエクスポート",
+ "exporting": "エクスポート中..."
+ },
+ "importMode": {
+ "selectLevel": "このモードをインポートする場所を選択してください:",
+ "import": "インポート",
+ "importing": "インポート中...",
+ "global": {
+ "label": "グローバルレベル",
+ "description": "すべてのプロジェクトで利用可能です。ルールはカスタム指示にマージされます。"
+ },
+ "project": {
+ "label": "プロジェクトレベル",
+ "description": "このワークスペースでのみ利用可能です。エクスポートされたモードにルールファイルが含まれていた場合、それらは.roo/rules-{slug}/フォルダに再作成されます。"
+ }
+ },
+ "advanced": {
+ "title": "詳細設定"
+ },
"globalCustomInstructions": {
"title": "すべてのモードのカスタム指示",
"description": "これらの指示はすべてのモードに適用されます。モード固有の指示で強化できる基本的な動作セットを提供します。<0>詳細はこちら0>",
diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json
index c6a681e549..4165726ade 100644
--- a/webview-ui/src/i18n/locales/ja/settings.json
+++ b/webview-ui/src/i18n/locales/ja/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "Ollama URL:",
"qdrantUrlLabel": "Qdrant URL",
"qdrantKeyLabel": "Qdrantキー:",
+ "advancedConfigLabel": "詳細設定",
+ "searchMinScoreLabel": "検索スコアのしきい値",
+ "searchMinScoreDescription": "検索結果に必要な最小類似度スコア(0.0-1.0)。値を低くするとより多くの結果が返されますが、関連性が低くなる可能性があります。値を高くすると返される結果は少なくなりますが、より関連性が高くなります。",
+ "searchMinScoreResetTooltip": "デフォルト値(0.4)にリセット",
"startIndexingButton": "インデックス作成を開始",
"clearIndexDataButton": "インデックスデータをクリア",
"unsavedSettingsMessage": "インデックス作成プロセスを開始する前に設定を保存してください。",
@@ -110,6 +114,11 @@
"label": "サブタスク",
"description": "承認なしでサブタスクの作成と完了を許可"
},
+ "followupQuestions": {
+ "label": "質問",
+ "description": "設定された時間が経過すると、フォローアップ質問の最初の提案回答を自動的に選択します",
+ "timeoutLabel": "最初の回答を自動選択するまでの待機時間"
+ },
"execute": {
"label": "実行",
"description": "承認なしで自動的に許可されたターミナルコマンドを実行",
diff --git a/webview-ui/src/i18n/locales/ko/chat.json b/webview-ui/src/i18n/locales/ko/chat.json
index 5373831426..1f86dc8cf4 100644
--- a/webview-ui/src/i18n/locales/ko/chat.json
+++ b/webview-ui/src/i18n/locales/ko/chat.json
@@ -234,17 +234,19 @@
"tokens": "토큰"
},
"followUpSuggest": {
- "copyToInput": "입력창에 복사 (또는 Shift + 클릭)"
+ "copyToInput": "입력창에 복사 (또는 Shift + 클릭)",
+ "autoSelectCountdown": "{{count}}초 후 자동 선택",
+ "countdownDisplay": "{{count}}초"
},
"announcement": {
"title": "🎉 Roo Code {{version}} 출시",
- "description": "Roo Code {{version}}은 사용자 피드백을 기반으로 중요한 새로운 기능과 개선사항을 제공합니다.",
+ "description": "Roo Code {{version}}은 개발 워크플로우를 향상시키는 강력한 새 기능과 중요한 개선사항을 제공합니다.",
"whatsNew": "새로운 기능",
- "feature1": "{{query}}을(를) 검색하고 싶어합니다:",
"wantsToSearchWithPath": "Roo가 {{path}}에서 {{query}}을(를) 검색하고 싶어합니다:",
- "didSearch": "{{query}}에 대한 검색 결과 {{count}}개 찾음:"
+ "didSearch": "{{query}}에 대한 검색 결과 {{count}}개 찾음:",
+ "resultTooltip": "유사도 점수: {{score}} (클릭하여 파일 열기)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "인덱싱 완료",
"error": "인덱스 오류",
"status": "인덱스 상태"
+ },
+ "versionIndicator": {
+ "ariaLabel": "버전 {{version}} - 릴리스 노트를 보려면 클릭하세요"
}
}
diff --git a/webview-ui/src/i18n/locales/ko/prompts.json b/webview-ui/src/i18n/locales/ko/prompts.json
index 990ee67f03..6625f2e957 100644
--- a/webview-ui/src/i18n/locales/ko/prompts.json
+++ b/webview-ui/src/i18n/locales/ko/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "모드",
"createNewMode": "새 모드 만들기",
+ "importMode": "모드 가져오기",
+ "noMatchFound": "모드를 찾을 수 없습니다",
"editModesConfig": "모드 구성 편집",
"editGlobalModes": "전역 모드 편집",
"editProjectModes": "프로젝트 모드 편집 (.roomodes)",
@@ -50,6 +52,28 @@
"description": "{{modeName}} 모드에 대한 특정 행동 지침을 추가하세요.",
"loadFromFile": "{{mode}} 모드에 대한 사용자 지정 지침은 작업 공간의 .roo/rules-{{slug}}/ 폴더에서도 로드할 수 있습니다(.roorules-{{slug}}와 .clinerules-{{slug}}는 더 이상 사용되지 않으며 곧 작동을 중단합니다)."
},
+ "exportMode": {
+ "title": "모드 내보내기",
+ "description": "이 모드를 모든 규칙이 포함된 YAML 파일로 내보내어 다른 사람들과 쉽게 공유할 수 있습니다.",
+ "export": "모드 내보내기",
+ "exporting": "내보내는 중..."
+ },
+ "importMode": {
+ "selectLevel": "이 모드를 가져올 위치를 선택하세요:",
+ "import": "가져오기",
+ "importing": "가져오는 중...",
+ "global": {
+ "label": "전역 수준",
+ "description": "모든 프로젝트에서 사용 가능합니다. 규칙은 사용자 지정 지침에 병합됩니다."
+ },
+ "project": {
+ "label": "프로젝트 수준",
+ "description": "이 작업 공간에서만 사용할 수 있습니다. 내보낸 모드에 규칙 파일이 포함된 경우 .roo/rules-{slug}/ 폴더에 다시 생성됩니다."
+ }
+ },
+ "advanced": {
+ "title": "고급"
+ },
"globalCustomInstructions": {
"title": "모든 모드에 대한 사용자 지정 지침",
"description": "이 지침은 모든 모드에 적용됩니다. 아래의 모드별 지침으로 향상될 수 있는 기본 동작 세트를 제공합니다. <0>더 알아보기0>",
diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json
index 6ae68428bd..e68297599c 100644
--- a/webview-ui/src/i18n/locales/ko/settings.json
+++ b/webview-ui/src/i18n/locales/ko/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "Ollama URL:",
"qdrantUrlLabel": "Qdrant URL",
"qdrantKeyLabel": "Qdrant 키:",
+ "advancedConfigLabel": "고급 구성",
+ "searchMinScoreLabel": "검색 점수 임계값",
+ "searchMinScoreDescription": "검색 결과에 필요한 최소 유사도 점수(0.0-1.0). 값이 낮을수록 더 많은 결과가 반환되지만 관련성이 떨어질 수 있습니다. 값이 높을수록 결과는 적지만 관련성이 높은 결과가 반환됩니다.",
+ "searchMinScoreResetTooltip": "기본값(0.4)으로 재설정",
"startIndexingButton": "인덱싱 시작",
"clearIndexDataButton": "인덱스 데이터 지우기",
"unsavedSettingsMessage": "인덱싱 프로세스를 시작하기 전에 설정을 저장해 주세요.",
@@ -110,6 +114,11 @@
"label": "하위 작업",
"description": "승인 없이 하위 작업 생성 및 완료 허용"
},
+ "followupQuestions": {
+ "label": "질문",
+ "description": "설정된 시간이 지나면 후속 질문에 대한 첫 번째 제안 답변을 자동으로 선택합니다",
+ "timeoutLabel": "첫 번째 답변을 자동 선택하기 전 대기 시간"
+ },
"execute": {
"label": "실행",
"description": "승인 없이 자동으로 허용된 터미널 명령 실행",
diff --git a/webview-ui/src/i18n/locales/nl/chat.json b/webview-ui/src/i18n/locales/nl/chat.json
index 2dc60da09e..d228d7b0c2 100644
--- a/webview-ui/src/i18n/locales/nl/chat.json
+++ b/webview-ui/src/i18n/locales/nl/chat.json
@@ -225,13 +225,13 @@
},
"announcement": {
"title": "🎉 Roo Code {{version}} uitgebracht",
- "description": "Roo Code {{version}} brengt krachtige nieuwe functies en verbeteringen op basis van jouw feedback.",
+ "description": "Roo Code {{version}} brengt krachtige nieuwe functies en significante verbeteringen om je ontwikkelingsworkflow te verbeteren.",
"whatsNew": "Wat is er nieuw",
- "feature1": "{{query}}:",
"wantsToSearchWithPath": "Roo wil de codebase doorzoeken op {{query}} in {{path}}:",
- "didSearch": "{{count}} resultaat/resultaten gevonden voor {{query}}:"
+ "didSearch": "{{count}} resultaat/resultaten gevonden voor {{query}}:",
+ "resultTooltip": "Gelijkenisscore: {{score}} (klik om bestand te openen)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "Geïndexeerd",
"error": "Index fout",
"status": "Index status"
+ },
+ "versionIndicator": {
+ "ariaLabel": "Versie {{version}} - Klik om release notes te bekijken"
}
}
diff --git a/webview-ui/src/i18n/locales/nl/prompts.json b/webview-ui/src/i18n/locales/nl/prompts.json
index 2aa09a5a15..c472117ea5 100644
--- a/webview-ui/src/i18n/locales/nl/prompts.json
+++ b/webview-ui/src/i18n/locales/nl/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "Modi",
"createNewMode": "Nieuwe modus aanmaken",
+ "importMode": "Modus importeren",
+ "noMatchFound": "Geen modi gevonden",
"editModesConfig": "Modusconfiguratie bewerken",
"editGlobalModes": "Globale modi bewerken",
"editProjectModes": "Projectmodi bewerken (.roomodes)",
@@ -50,6 +52,28 @@
"description": "Voeg gedragsrichtlijnen toe die specifiek zijn voor de modus {{modeName}}.",
"loadFromFile": "Modusspecifieke instructies voor {{mode}} kunnen ook worden geladen uit de map .roo/rules-{{slug}}/ in je werkruimte (.roorules-{{slug}} en .clinerules-{{slug}} zijn verouderd en werken binnenkort niet meer)."
},
+ "exportMode": {
+ "title": "Modus exporteren",
+ "description": "Exporteer deze modus naar een YAML-bestand met alle regels inbegrepen voor eenvoudig delen met anderen.",
+ "export": "Modus exporteren",
+ "exporting": "Exporteren..."
+ },
+ "importMode": {
+ "selectLevel": "Kies waar je deze modus wilt importeren:",
+ "import": "Importeren",
+ "importing": "Importeren...",
+ "global": {
+ "label": "Globaal niveau",
+ "description": "Beschikbaar in alle projecten. Regels worden samengevoegd in aangepaste instructies."
+ },
+ "project": {
+ "label": "Projectniveau",
+ "description": "Alleen beschikbaar in deze werkruimte. Als de geëxporteerde modus regelbestanden bevatte, worden deze opnieuw gemaakt in de map .roo/rules-{slug}/."
+ }
+ },
+ "advanced": {
+ "title": "Geavanceerd"
+ },
"globalCustomInstructions": {
"title": "Aangepaste instructies voor alle modi",
"description": "Deze instructies gelden voor alle modi. Ze bieden een basisset aan gedragingen die kunnen worden uitgebreid met modusspecifieke instructies hieronder. <0>Meer informatie0>",
diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json
index c6d1bb7992..254334df54 100644
--- a/webview-ui/src/i18n/locales/nl/settings.json
+++ b/webview-ui/src/i18n/locales/nl/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "Ollama URL:",
"qdrantUrlLabel": "Qdrant URL",
"qdrantKeyLabel": "Qdrant-sleutel:",
+ "advancedConfigLabel": "Geavanceerde configuratie",
+ "searchMinScoreLabel": "Zoekscore drempel",
+ "searchMinScoreDescription": "Minimale overeenkomstscore (0.0-1.0) vereist voor zoekresultaten. Lagere waarden leveren meer resultaten op, maar zijn mogelijk minder relevant. Hogere waarden leveren minder, maar relevantere resultaten op.",
+ "searchMinScoreResetTooltip": "Reset naar standaardwaarde (0.4)",
"startIndexingButton": "Indexering starten",
"clearIndexDataButton": "Indexgegevens wissen",
"unsavedSettingsMessage": "Sla je instellingen op voordat je het indexeringsproces start.",
@@ -110,6 +114,11 @@
"label": "Subtaken",
"description": "Subtaken aanmaken en afronden zonder goedkeuring"
},
+ "followupQuestions": {
+ "label": "Vraag",
+ "description": "Selecteer automatisch het eerste voorgestelde antwoord voor vervolgvragen na de geconfigureerde time-out",
+ "timeoutLabel": "Wachttijd voordat het eerste antwoord automatisch wordt geselecteerd"
+ },
"execute": {
"label": "Uitvoeren",
"description": "Automatisch toegestane terminalcommando's uitvoeren zonder goedkeuring",
diff --git a/webview-ui/src/i18n/locales/pl/chat.json b/webview-ui/src/i18n/locales/pl/chat.json
index 0af70c595b..fdb39b0851 100644
--- a/webview-ui/src/i18n/locales/pl/chat.json
+++ b/webview-ui/src/i18n/locales/pl/chat.json
@@ -234,15 +234,17 @@
"tokens": "tokeny"
},
"followUpSuggest": {
- "copyToInput": "Kopiuj do pola wprowadzania (lub Shift + kliknięcie)"
+ "copyToInput": "Kopiuj do pola wprowadzania (lub Shift + kliknięcie)",
+ "autoSelectCountdown": "Automatyczny wybór za {{count}}s",
+ "countdownDisplay": "{{count}}s"
},
"announcement": {
"title": "🎉 Roo Code {{version}} wydany",
- "description": "Roo Code {{version}} przynosi potężne nowe funkcje i ulepszenia na podstawie Twoich opinii.",
+ "description": "Roo Code {{version}} wprowadza potężne nowe funkcje i znaczące ulepszenia, aby ulepszyć Twój przepływ pracy programistycznej.",
"whatsNew": "Co nowego",
- "feature1": "{{query}}:",
"wantsToSearchWithPath": "Roo chce przeszukać bazę kodu w poszukiwaniu {{query}} w {{path}}:",
- "didSearch": "Znaleziono {{count}} wynik(ów) dla {{query}}:"
+ "didSearch": "Znaleziono {{count}} wynik(ów) dla {{query}}:",
+ "resultTooltip": "Wynik podobieństwa: {{score}} (kliknij, aby otworzyć plik)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "Zaindeksowane",
"error": "Błąd indeksu",
"status": "Status indeksu"
+ },
+ "versionIndicator": {
+ "ariaLabel": "Wersja {{version}} - Kliknij, aby wyświetlić informacje o wydaniu"
}
}
diff --git a/webview-ui/src/i18n/locales/pl/prompts.json b/webview-ui/src/i18n/locales/pl/prompts.json
index b4a1bdcc50..3cd76ddd73 100644
--- a/webview-ui/src/i18n/locales/pl/prompts.json
+++ b/webview-ui/src/i18n/locales/pl/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "Tryby",
"createNewMode": "Utwórz nowy tryb",
+ "importMode": "Importuj tryb",
+ "noMatchFound": "Nie znaleziono trybów",
"editModesConfig": "Edytuj konfigurację trybów",
"editGlobalModes": "Edytuj tryby globalne",
"editProjectModes": "Edytuj tryby projektu (.roomodes)",
@@ -50,6 +52,28 @@
"description": "Dodaj wytyczne dotyczące zachowania specyficzne dla trybu {{modeName}}.",
"loadFromFile": "Niestandardowe instrukcje dla trybu {{mode}} mogą być również ładowane z folderu .roo/rules-{{slug}}/ w Twoim obszarze roboczym (.roorules-{{slug}} i .clinerules-{{slug}} są przestarzałe i wkrótce przestaną działać)."
},
+ "exportMode": {
+ "title": "Eksportuj tryb",
+ "description": "Eksportuj ten tryb do pliku YAML ze wszystkimi regułami w celu łatwego udostępniania innym.",
+ "export": "Eksportuj tryb",
+ "exporting": "Eksportowanie..."
+ },
+ "importMode": {
+ "selectLevel": "Wybierz, gdzie zaimportować ten tryb:",
+ "import": "Importuj",
+ "importing": "Importowanie...",
+ "global": {
+ "label": "Poziom globalny",
+ "description": "Dostępne we wszystkich projektach. Reguły zostaną scalone z niestandardowymi instrukcjami."
+ },
+ "project": {
+ "label": "Poziom projektu",
+ "description": "Dostępne tylko w tym obszarze roboczym. Jeśli wyeksportowany tryb zawierał pliki reguł, zostaną one odtworzone w folderze .roo/rules-{slug}/."
+ }
+ },
+ "advanced": {
+ "title": "Zaawansowane"
+ },
"globalCustomInstructions": {
"title": "Niestandardowe instrukcje dla wszystkich trybów",
"description": "Te instrukcje dotyczą wszystkich trybów. Zapewniają podstawowy zestaw zachowań, które mogą być rozszerzone przez instrukcje specyficzne dla trybów poniżej. <0>Dowiedz się więcej0>",
diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json
index b702d7b5a5..02a7d0d04d 100644
--- a/webview-ui/src/i18n/locales/pl/settings.json
+++ b/webview-ui/src/i18n/locales/pl/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "URL Ollama:",
"qdrantUrlLabel": "URL Qdrant",
"qdrantKeyLabel": "Klucz Qdrant:",
+ "advancedConfigLabel": "Konfiguracja zaawansowana",
+ "searchMinScoreLabel": "Próg wyniku wyszukiwania",
+ "searchMinScoreDescription": "Minimalny wynik podobieństwa (0.0-1.0) wymagany dla wyników wyszukiwania. Niższe wartości zwracają więcej wyników, ale mogą być mniej trafne. Wyższe wartości zwracają mniej wyników, ale bardziej trafnych.",
+ "searchMinScoreResetTooltip": "Zresetuj do wartości domyślnej (0.4)",
"startIndexingButton": "Rozpocznij indeksowanie",
"clearIndexDataButton": "Wyczyść dane indeksu",
"unsavedSettingsMessage": "Zapisz swoje ustawienia przed rozpoczęciem procesu indeksowania.",
@@ -110,6 +114,11 @@
"label": "Podzadania",
"description": "Zezwalaj na tworzenie i ukończenie podzadań bez konieczności zatwierdzania"
},
+ "followupQuestions": {
+ "label": "Pytanie",
+ "description": "Automatycznie wybierz pierwszą sugerowaną odpowiedź na pytania uzupełniające po skonfigurowanym limicie czasu",
+ "timeoutLabel": "Czas oczekiwania przed automatycznym wybraniem pierwszej odpowiedzi"
+ },
"execute": {
"label": "Wykonaj",
"description": "Automatycznie wykonuj dozwolone polecenia terminala bez konieczności zatwierdzania",
diff --git a/webview-ui/src/i18n/locales/pt-BR/chat.json b/webview-ui/src/i18n/locales/pt-BR/chat.json
index a09f8174f6..b37879f2f0 100644
--- a/webview-ui/src/i18n/locales/pt-BR/chat.json
+++ b/webview-ui/src/i18n/locales/pt-BR/chat.json
@@ -234,15 +234,17 @@
"tokens": "tokens"
},
"followUpSuggest": {
- "copyToInput": "Copiar para entrada (ou Shift + clique)"
+ "copyToInput": "Copiar para entrada (ou Shift + clique)",
+ "autoSelectCountdown": "Seleção automática em {{count}}s",
+ "countdownDisplay": "{{count}}s"
},
"announcement": {
"title": "🎉 Roo Code {{version}} Lançado",
- "description": "Roo Code {{version}} traz importantes novos recursos e melhorias baseados no seu feedback.",
+ "description": "Roo Code {{version}} traz novos recursos poderosos e melhorias significativas para aprimorar seu fluxo de trabalho de desenvolvimento.",
"whatsNew": "O que há de novo",
- "feature1": "{{query}}:",
"wantsToSearchWithPath": "Roo quer pesquisar na base de código por {{query}} em {{path}}:",
- "didSearch": "Encontrado {{count}} resultado(s) para {{query}}:"
+ "didSearch": "Encontrado {{count}} resultado(s) para {{query}}:",
+ "resultTooltip": "Pontuação de similaridade: {{score}} (clique para abrir o arquivo)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "Indexado",
"error": "Erro do índice",
"status": "Status do índice"
+ },
+ "versionIndicator": {
+ "ariaLabel": "Versão {{version}} - Clique para ver as notas de lançamento"
}
}
diff --git a/webview-ui/src/i18n/locales/pt-BR/prompts.json b/webview-ui/src/i18n/locales/pt-BR/prompts.json
index c2a88d4eaa..3e456572b7 100644
--- a/webview-ui/src/i18n/locales/pt-BR/prompts.json
+++ b/webview-ui/src/i18n/locales/pt-BR/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "Modos",
"createNewMode": "Criar novo modo",
+ "importMode": "Importar modo",
+ "noMatchFound": "Nenhum modo encontrado",
"editModesConfig": "Editar configuração de modos",
"editGlobalModes": "Editar modos globais",
"editProjectModes": "Editar modos do projeto (.roomodes)",
@@ -50,6 +52,28 @@
"description": "Adicione diretrizes comportamentais específicas para o modo {{modeName}}.",
"loadFromFile": "Instruções personalizadas específicas para o modo {{mode}} também podem ser carregadas da pasta .roo/rules-{{slug}}/ no seu espaço de trabalho (.roorules-{{slug}} e .clinerules-{{slug}} estão obsoletos e deixarão de funcionar em breve)."
},
+ "exportMode": {
+ "title": "Exportar modo",
+ "description": "Exporte este modo para um arquivo YAML com todas as regras incluídas para compartilhar facilmente com outros.",
+ "export": "Exportar modo",
+ "exporting": "Exportando..."
+ },
+ "importMode": {
+ "selectLevel": "Escolha onde importar este modo:",
+ "import": "Importar",
+ "importing": "Importando...",
+ "global": {
+ "label": "Nível global",
+ "description": "Disponível em todos os projetos. As regras serão mescladas nas instruções personalizadas."
+ },
+ "project": {
+ "label": "Nível do projeto",
+ "description": "Disponível apenas neste espaço de trabalho. Se o modo exportado continha arquivos de regras, eles serão recriados na pasta .roo/rules-{slug}/."
+ }
+ },
+ "advanced": {
+ "title": "Avançado"
+ },
"globalCustomInstructions": {
"title": "Instruções personalizadas para todos os modos",
"description": "Estas instruções se aplicam a todos os modos. Elas fornecem um conjunto base de comportamentos que podem ser aprimorados por instruções específicas do modo abaixo. <0>Saiba mais0>",
diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json
index be7bfe2d0d..8c7b6c9a24 100644
--- a/webview-ui/src/i18n/locales/pt-BR/settings.json
+++ b/webview-ui/src/i18n/locales/pt-BR/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "URL Ollama:",
"qdrantUrlLabel": "URL Qdrant",
"qdrantKeyLabel": "Chave Qdrant:",
+ "advancedConfigLabel": "Configuração Avançada",
+ "searchMinScoreLabel": "Limite de pontuação de busca",
+ "searchMinScoreDescription": "Pontuação mínima de similaridade (0.0-1.0) necessária para os resultados da busca. Valores mais baixos retornam mais resultados, mas podem ser menos relevantes. Valores mais altos retornam menos resultados, mas mais relevantes.",
+ "searchMinScoreResetTooltip": "Redefinir para o valor padrão (0.4)",
"startIndexingButton": "Iniciar Indexação",
"clearIndexDataButton": "Limpar Dados de Índice",
"unsavedSettingsMessage": "Por favor, salve suas configurações antes de iniciar o processo de indexação.",
@@ -110,6 +114,11 @@
"label": "Subtarefas",
"description": "Permitir a criação e conclusão de subtarefas sem exigir aprovação"
},
+ "followupQuestions": {
+ "label": "Pergunta",
+ "description": "Selecionar automaticamente a primeira resposta sugerida para perguntas de acompanhamento após o tempo limite configurado",
+ "timeoutLabel": "Tempo de espera antes de selecionar automaticamente a primeira resposta"
+ },
"execute": {
"label": "Executar",
"description": "Executar automaticamente comandos de terminal permitidos sem exigir aprovação",
diff --git a/webview-ui/src/i18n/locales/ru/chat.json b/webview-ui/src/i18n/locales/ru/chat.json
index 89d35f322a..5865e41a53 100644
--- a/webview-ui/src/i18n/locales/ru/chat.json
+++ b/webview-ui/src/i18n/locales/ru/chat.json
@@ -225,11 +225,11 @@
},
"announcement": {
"title": "🎉 Выпущен Roo Code {{version}}",
- "description": "Roo Code {{version}} приносит важные новые функции и улучшения на основе ваших отзывов.",
+ "description": "Roo Code {{version}} приносит мощные новые функции и значительные улучшения для совершенствования вашего рабочего процесса разработки.",
"whatsNew": "Что нового",
- "feature1": "{{query}}:",
"wantsToSearchWithPath": "Roo хочет выполнить поиск в кодовой базе по {{query}} в {{path}}:",
- "didSearch": "Найдено {{count}} результат(ов) для {{query}}:"
+ "didSearch": "Найдено {{count}} результат(ов) для {{query}}:",
+ "resultTooltip": "Оценка схожести: {{score}} (нажмите, чтобы открыть файл)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "Проиндексировано",
"error": "Ошибка индекса",
"status": "Статус индекса"
+ },
+ "versionIndicator": {
+ "ariaLabel": "Версия {{version}} - Нажмите, чтобы просмотреть примечания к выпуску"
}
}
diff --git a/webview-ui/src/i18n/locales/ru/prompts.json b/webview-ui/src/i18n/locales/ru/prompts.json
index 07e9f91db8..54fbeb24a6 100644
--- a/webview-ui/src/i18n/locales/ru/prompts.json
+++ b/webview-ui/src/i18n/locales/ru/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "Режимы",
"createNewMode": "Создать новый режим",
+ "importMode": "Импортировать режим",
+ "noMatchFound": "Режимы не найдены",
"editModesConfig": "Редактировать конфигурацию режимов",
"editGlobalModes": "Редактировать глобальные режимы",
"editProjectModes": "Редактировать режимы проекта (.roomodes)",
@@ -50,11 +52,30 @@
"description": "Добавьте рекомендации по поведению, специфичные для режима {{modeName}}.",
"loadFromFile": "Пользовательские инструкции для режима {{mode}} также можно загрузить из папки .roo/rules-{{slug}}/ в вашем рабочем пространстве (.roorules-{{slug}} и .clinerules-{{slug}} устарели и скоро перестанут работать)."
},
+ "exportMode": {
+ "title": "Экспортировать режим",
+ "description": "Экспортировать этот режим в файл YAML со всеми включенными правилами для удобного обмена с другими.",
+ "export": "Экспортировать режим",
+ "exporting": "Экспорт..."
+ },
"globalCustomInstructions": {
"title": "Пользовательские инструкции для всех режимов",
"description": "Эти инструкции применяются ко всем режимам. Они задают базовое поведение, которое можно расширить с помощью инструкций ниже. <0>Узнать больше0>",
"loadFromFile": "Инструкции также можно загрузить из папки .roo/rules/ в вашем рабочем пространстве (.roorules и .clinerules устарели и скоро перестанут работать)."
},
+ "importMode": {
+ "selectLevel": "Выберите, куда импортировать этот режим:",
+ "import": "Импорт",
+ "importing": "Импортирование...",
+ "global": {
+ "label": "Глобальный уровень",
+ "description": "Доступно во всех проектах. Правила будут объединены с пользовательскими инструкциями."
+ },
+ "project": {
+ "label": "Уровень проекта",
+ "description": "Доступно только в этом рабочем пространстве. Если экспортированный режим содержал файлы правил, они будут воссозданы в папке .roo/rules-{slug}/."
+ }
+ },
"systemPrompt": {
"preview": "Предпросмотр системного промпта",
"copy": "Скопировать системный промпт в буфер обмена",
@@ -164,5 +185,8 @@
},
"deleteMode": "Удалить режим"
},
- "allFiles": "все файлы"
+ "allFiles": "все файлы",
+ "advanced": {
+ "title": "Дополнительно"
+ }
}
diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json
index b0693f4532..e60b97f775 100644
--- a/webview-ui/src/i18n/locales/ru/settings.json
+++ b/webview-ui/src/i18n/locales/ru/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "URL Ollama:",
"qdrantUrlLabel": "URL Qdrant",
"qdrantKeyLabel": "Ключ Qdrant:",
+ "advancedConfigLabel": "Расширенная конфигурация",
+ "searchMinScoreLabel": "Порог оценки поиска",
+ "searchMinScoreDescription": "Минимальный балл сходства (0.0-1.0), необходимый для результатов поиска. Более низкие значения возвращают больше результатов, но они могут быть менее релевантными. Более высокие значения возвращают меньше результатов, но более релевантных.",
+ "searchMinScoreResetTooltip": "Сбросить к значению по умолчанию (0.4)",
"startIndexingButton": "Начать индексацию",
"clearIndexDataButton": "Очистить данные индекса",
"unsavedSettingsMessage": "Пожалуйста, сохрани настройки перед запуском процесса индексации.",
@@ -110,6 +114,11 @@
"label": "Подзадачи",
"description": "Разрешить создание и выполнение подзадач без необходимости одобрения"
},
+ "followupQuestions": {
+ "label": "Вопрос",
+ "description": "Автоматически выбирать первый предложенный ответ на дополнительные вопросы после настроенного тайм-аута",
+ "timeoutLabel": "Время ожидания перед автоматическим выбором первого ответа"
+ },
"execute": {
"label": "Выполнение",
"description": "Автоматически выполнять разрешённые команды терминала без необходимости одобрения",
diff --git a/webview-ui/src/i18n/locales/tr/chat.json b/webview-ui/src/i18n/locales/tr/chat.json
index f12fa62bbb..6c5bd20353 100644
--- a/webview-ui/src/i18n/locales/tr/chat.json
+++ b/webview-ui/src/i18n/locales/tr/chat.json
@@ -234,17 +234,19 @@
"tokens": "token"
},
"followUpSuggest": {
- "copyToInput": "Giriş alanına kopyala (veya Shift + tıklama)"
+ "copyToInput": "Giriş alanına kopyala (veya Shift + tıklama)",
+ "autoSelectCountdown": "{{count}}s içinde otomatik seçilecek",
+ "countdownDisplay": "{{count}}sn"
},
"announcement": {
"title": "🎉 Roo Code {{version}} Yayınlandı",
- "description": "Roo Code {{version}} geri bildirimlerinize dayalı güçlü yeni özellikler ve iyileştirmeler getiriyor.",
+ "description": "Roo Code {{version}}, geliştirme iş akışınızı geliştirmek için güçlü yeni özellikler ve önemli iyileştirmeler getiriyor.",
"whatsNew": "Yenilikler",
- "feature1": "{{query}} aramak istiyor:",
"wantsToSearchWithPath": "Roo {{path}} içinde kod tabanında {{query}} aramak istiyor:",
- "didSearch": "{{query}} için {{count}} sonuç bulundu:"
+ "didSearch": "{{query}} için {{count}} sonuç bulundu:",
+ "resultTooltip": "Benzerlik puanı: {{score}} (dosyayı açmak için tıklayın)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "İndekslendi",
"error": "İndeks hatası",
"status": "İndeks durumu"
+ },
+ "versionIndicator": {
+ "ariaLabel": "Sürüm {{version}} - Sürüm notlarını görüntülemek için tıklayın"
}
}
diff --git a/webview-ui/src/i18n/locales/tr/prompts.json b/webview-ui/src/i18n/locales/tr/prompts.json
index d091456e43..0da97ec4c6 100644
--- a/webview-ui/src/i18n/locales/tr/prompts.json
+++ b/webview-ui/src/i18n/locales/tr/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "Modlar",
"createNewMode": "Yeni mod oluştur",
+ "importMode": "Modu içe aktar",
+ "noMatchFound": "Mod bulunamadı",
"editModesConfig": "Mod yapılandırmasını düzenle",
"editGlobalModes": "Global modları düzenle",
"editProjectModes": "Proje modlarını düzenle (.roomodes)",
@@ -50,11 +52,30 @@
"description": "{{modeName}} modu için özel davranış yönergeleri ekleyin.",
"loadFromFile": "{{mode}} moduna özgü özel talimatlar ayrıca çalışma alanınızdaki .roo/rules-{{slug}}/ klasöründen yüklenebilir (.roorules-{{slug}} ve .clinerules-{{slug}} kullanımdan kaldırılmıştır ve yakında çalışmayı durduracaklardır)."
},
+ "exportMode": {
+ "title": "Modu Dışa Aktar",
+ "description": "Bu modu tüm kurallar dahil olarak bir YAML dosyasına dışa aktararak başkalarıyla kolayca paylaşın.",
+ "export": "Modu Dışa Aktar",
+ "exporting": "Dışa aktarılıyor..."
+ },
"globalCustomInstructions": {
"title": "Tüm Modlar için Özel Talimatlar",
"description": "Bu talimatlar tüm modlara uygulanır. Aşağıdaki moda özgü talimatlarla geliştirilebilen temel davranış seti sağlarlar. <0>Daha fazla bilgi edinin0>",
"loadFromFile": "Talimatlar ayrıca çalışma alanınızdaki .roo/rules/ klasöründen de yüklenebilir (.roorules ve .clinerules kullanımdan kaldırılmıştır ve yakında çalışmayı durduracaklardır)."
},
+ "importMode": {
+ "selectLevel": "Bu modu nereye içe aktaracağınızı seçin:",
+ "import": "İçe Aktar",
+ "importing": "İçe aktarılıyor...",
+ "global": {
+ "label": "Genel Seviye",
+ "description": "Tüm projelerde kullanılabilir. Kurallar özel talimatlarla birleştirilecektir."
+ },
+ "project": {
+ "label": "Proje Seviyesi",
+ "description": "Yalnızca bu çalışma alanında kullanılabilir. Dışa aktarılan mod kural dosyaları içeriyorsa, bunlar .roo/rules-{slug}/ klasöründe yeniden oluşturulur."
+ }
+ },
"systemPrompt": {
"preview": "Sistem promptunu önizle",
"copy": "Sistem promptunu panoya kopyala",
@@ -164,5 +185,8 @@
},
"deleteMode": "Modu sil"
},
- "allFiles": "tüm dosyalar"
+ "allFiles": "tüm dosyalar",
+ "advanced": {
+ "title": "Gelişmiş"
+ }
}
diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json
index 06bd626406..c7ced157f6 100644
--- a/webview-ui/src/i18n/locales/tr/settings.json
+++ b/webview-ui/src/i18n/locales/tr/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "Ollama URL:",
"qdrantUrlLabel": "Qdrant URL",
"qdrantKeyLabel": "Qdrant Anahtarı:",
+ "advancedConfigLabel": "Gelişmiş Yapılandırma",
+ "searchMinScoreLabel": "Arama Skoru Eşiği",
+ "searchMinScoreDescription": "Arama sonuçları için gereken minimum benzerlik puanı (0.0-1.0). Düşük değerler daha fazla sonuç döndürür ancak daha az alakalı olabilir. Yüksek değerler daha az ancak daha alakalı sonuçlar döndürür.",
+ "searchMinScoreResetTooltip": "Varsayılan değere sıfırla (0.4)",
"startIndexingButton": "İndekslemeyi Başlat",
"clearIndexDataButton": "İndeks Verilerini Temizle",
"unsavedSettingsMessage": "İndeksleme işlemini başlatmadan önce lütfen ayarlarını kaydet.",
@@ -110,6 +114,11 @@
"label": "Alt Görevler",
"description": "Onay gerektirmeden alt görevlerin oluşturulmasına ve tamamlanmasına izin ver"
},
+ "followupQuestions": {
+ "label": "Soru",
+ "description": "Yapılandırılan zaman aşımından sonra takip sorularına ilişkin ilk önerilen yanıtı otomatik olarak seç",
+ "timeoutLabel": "İlk yanıtı otomatik olarak seçmeden önce beklenecek süre"
+ },
"execute": {
"label": "Yürüt",
"description": "Onay gerektirmeden otomatik olarak izin verilen terminal komutlarını yürüt",
diff --git a/webview-ui/src/i18n/locales/vi/chat.json b/webview-ui/src/i18n/locales/vi/chat.json
index c2338e33aa..eb7cdc2306 100644
--- a/webview-ui/src/i18n/locales/vi/chat.json
+++ b/webview-ui/src/i18n/locales/vi/chat.json
@@ -234,15 +234,17 @@
"tokens": "token"
},
"followUpSuggest": {
- "copyToInput": "Sao chép vào ô nhập liệu (hoặc Shift + nhấp chuột)"
+ "copyToInput": "Sao chép vào ô nhập liệu (hoặc Shift + nhấp chuột)",
+ "autoSelectCountdown": "Tự động chọn sau {{count}}s",
+ "countdownDisplay": "{{count}}s"
},
"announcement": {
"title": "🎉 Roo Code {{version}} Đã phát hành",
- "description": "Roo Code {{version}} mang đến các tính năng mạnh mẽ và cải tiến mới dựa trên phản hồi của bạn.",
+ "description": "Roo Code {{version}} mang đến các tính năng mạnh mẽ mới và cải tiến đáng kể để nâng cao quy trình phát triển của bạn.",
"whatsNew": "Có gì mới",
- "feature1": "{{query}}:",
"wantsToSearchWithPath": "Roo muốn tìm kiếm trong cơ sở mã cho {{query}} trong {{path}}:",
- "didSearch": "Đã tìm thấy {{count}} kết quả cho {{query}}:"
+ "didSearch": "Đã tìm thấy {{count}} kết quả cho {{query}}:",
+ "resultTooltip": "Điểm tương tự: {{score}} (nhấp để mở tệp)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "Đã lập chỉ mục",
"error": "Lỗi chỉ mục",
"status": "Trạng thái chỉ mục"
+ },
+ "versionIndicator": {
+ "ariaLabel": "Phiên bản {{version}} - Nhấp để xem ghi chú phát hành"
}
}
diff --git a/webview-ui/src/i18n/locales/vi/prompts.json b/webview-ui/src/i18n/locales/vi/prompts.json
index 7a0b311a02..1dadec8f02 100644
--- a/webview-ui/src/i18n/locales/vi/prompts.json
+++ b/webview-ui/src/i18n/locales/vi/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "Chế độ",
"createNewMode": "Tạo chế độ mới",
+ "importMode": "Nhập chế độ",
+ "noMatchFound": "Không tìm thấy chế độ nào",
"editModesConfig": "Chỉnh sửa cấu hình chế độ",
"editGlobalModes": "Chỉnh sửa chế độ toàn cục",
"editProjectModes": "Chỉnh sửa chế độ dự án (.roomodes)",
@@ -50,11 +52,30 @@
"description": "Thêm hướng dẫn hành vi dành riêng cho chế độ {{modeName}}.",
"loadFromFile": "Hướng dẫn tùy chỉnh dành riêng cho chế độ {{mode}} cũng có thể được tải từ thư mục .roo/rules-{{slug}}/ trong không gian làm việc của bạn (.roorules-{{slug}} và .clinerules-{{slug}} đã lỗi thời và sẽ sớm ngừng hoạt động)."
},
+ "exportMode": {
+ "title": "Xuất chế độ",
+ "description": "Xuất chế độ này sang tệp YAML với tất cả các quy tắc được bao gồm để dễ dàng chia sẻ với người khác.",
+ "export": "Xuất chế độ",
+ "exporting": "Đang xuất..."
+ },
"globalCustomInstructions": {
"title": "Hướng dẫn tùy chỉnh cho tất cả các chế độ",
"description": "Những hướng dẫn này áp dụng cho tất cả các chế độ. Chúng cung cấp một bộ hành vi cơ bản có thể được nâng cao bởi hướng dẫn dành riêng cho chế độ bên dưới. <0>Tìm hiểu thêm0>",
"loadFromFile": "Hướng dẫn cũng có thể được tải từ thư mục .roo/rules/ trong không gian làm việc của bạn (.roorules và .clinerules đã lỗi thời và sẽ sớm ngừng hoạt động)."
},
+ "importMode": {
+ "selectLevel": "Chọn nơi để nhập chế độ này:",
+ "import": "Nhập",
+ "importing": "Đang nhập...",
+ "global": {
+ "label": "Cấp độ toàn cục",
+ "description": "Có sẵn trong tất cả các dự án. Các quy tắc sẽ được hợp nhất vào hướng dẫn tùy chỉnh."
+ },
+ "project": {
+ "label": "Cấp độ dự án",
+ "description": "Chỉ có sẵn trong không gian làm việc này. Nếu chế độ đã xuất có chứa tệp quy tắc, chúng sẽ được tạo lại trong thư mục .roo/rules-{slug}/."
+ }
+ },
"systemPrompt": {
"preview": "Xem trước lời nhắc hệ thống",
"copy": "Sao chép lời nhắc hệ thống vào bộ nhớ tạm",
@@ -164,5 +185,8 @@
},
"deleteMode": "Xóa chế độ"
},
- "allFiles": "tất cả các tệp"
+ "allFiles": "tất cả các tệp",
+ "advanced": {
+ "title": "Nâng cao"
+ }
}
diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json
index c434276b3b..c82bfdd7a2 100644
--- a/webview-ui/src/i18n/locales/vi/settings.json
+++ b/webview-ui/src/i18n/locales/vi/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "URL Ollama:",
"qdrantUrlLabel": "URL Qdrant",
"qdrantKeyLabel": "Khóa Qdrant:",
+ "advancedConfigLabel": "Cấu hình nâng cao",
+ "searchMinScoreLabel": "Ngưỡng điểm tìm kiếm",
+ "searchMinScoreDescription": "Điểm tương đồng tối thiểu (0.0-1.0) cần thiết cho kết quả tìm kiếm. Giá trị thấp hơn trả về nhiều kết quả hơn nhưng có thể kém liên quan hơn. Giá trị cao hơn trả về ít kết quả hơn nhưng có liên quan hơn.",
+ "searchMinScoreResetTooltip": "Đặt lại về giá trị mặc định (0.4)",
"startIndexingButton": "Bắt đầu lập chỉ mục",
"clearIndexDataButton": "Xóa dữ liệu chỉ mục",
"unsavedSettingsMessage": "Vui lòng lưu cài đặt của bạn trước khi bắt đầu quá trình lập chỉ mục.",
@@ -110,6 +114,11 @@
"label": "Công việc phụ",
"description": "Cho phép tạo và hoàn thành các công việc phụ mà không cần phê duyệt"
},
+ "followupQuestions": {
+ "label": "Câu hỏi",
+ "description": "Tự động chọn câu trả lời đầu tiên được đề xuất cho các câu hỏi tiếp theo sau thời gian chờ đã cấu hình",
+ "timeoutLabel": "Thời gian chờ trước khi tự động chọn câu trả lời đầu tiên"
+ },
"execute": {
"label": "Thực thi",
"description": "Tự động thực thi các lệnh terminal được phép mà không cần phê duyệt",
diff --git a/webview-ui/src/i18n/locales/zh-CN/chat.json b/webview-ui/src/i18n/locales/zh-CN/chat.json
index f3fb857f06..93494e6f50 100644
--- a/webview-ui/src/i18n/locales/zh-CN/chat.json
+++ b/webview-ui/src/i18n/locales/zh-CN/chat.json
@@ -234,15 +234,17 @@
"tokens": "tokens"
},
"followUpSuggest": {
- "copyToInput": "复制到输入框(或按住Shift点击)"
+ "copyToInput": "复制到输入框(或按住Shift点击)",
+ "autoSelectCountdown": "{{count}}秒后自动选择",
+ "countdownDisplay": "{{count}}秒"
},
"announcement": {
"title": "🎉 Roo Code {{version}} 已发布",
- "description": "Roo Code {{version}} 带来基于您反馈的重要新功能和改进。",
+ "description": "Roo Code {{version}} 带来强大的新功能和重大改进,提升您的开发工作流程。",
"whatsNew": "新特性",
- "feature1": "{{query}}",
"wantsToSearchWithPath": "Roo 需要在 {{path}} 中搜索: {{query}}",
- "didSearch": "找到 {{count}} 个结果: {{query}}"
+ "didSearch": "找到 {{count}} 个结果: {{query}}",
+ "resultTooltip": "相似度评分: {{score}} (点击打开文件)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "已索引",
"error": "索引错误",
"status": "索引状态"
+ },
+ "versionIndicator": {
+ "ariaLabel": "版本 {{version}} - 点击查看发布说明"
}
}
diff --git a/webview-ui/src/i18n/locales/zh-CN/prompts.json b/webview-ui/src/i18n/locales/zh-CN/prompts.json
index 2abf922b14..5b67b41bec 100644
--- a/webview-ui/src/i18n/locales/zh-CN/prompts.json
+++ b/webview-ui/src/i18n/locales/zh-CN/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "模式配置",
"createNewMode": "新建模式",
+ "importMode": "导入模式",
+ "noMatchFound": "未找到任何模式",
"editModesConfig": "模式设置",
"editGlobalModes": "修改全局模式",
"editProjectModes": "编辑项目模式 (.roomodes)",
@@ -50,6 +52,25 @@
"description": "{{modeName}}模式的专属规则",
"loadFromFile": "支持从.roo/rules-{{slug}}/目录读取配置(.roorules-{{slug}}和.clinerules-{{slug}}已弃用并将很快停止工作)。"
},
+ "exportMode": {
+ "title": "导出模式",
+ "description": "将此模式导出为包含所有规则的 YAML 文件,以便与他人轻松共享。",
+ "export": "导出模式",
+ "exporting": "正在导出..."
+ },
+ "importMode": {
+ "selectLevel": "选择导入模式的位置:",
+ "import": "导入",
+ "importing": "导入中...",
+ "global": {
+ "label": "全局",
+ "description": "适用于所有项目。如果导出的模式包含规则文件,则将在全局 .roo/rules-{slug}/ 文件夹中重新创建这些文件。"
+ },
+ "project": {
+ "label": "项目级",
+ "description": "仅在此工作区可用。如果导出的模式包含规则文件,则将在 .roo/rules-{slug}/ 文件夹中重新创建这些文件。"
+ }
+ },
"globalCustomInstructions": {
"title": "所有模式的自定义指令",
"description": "这些指令适用于所有模式。它们提供了一套基础行为,可以通过下面的模式特定指令进行增强。<0>了解更多0>",
@@ -164,5 +185,8 @@
},
"deleteMode": "删除模式"
},
- "allFiles": "所有文件"
+ "allFiles": "所有文件",
+ "advanced": {
+ "title": "高级"
+ }
}
diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json
index 80bcab26eb..d4ce96e8e4 100644
--- a/webview-ui/src/i18n/locales/zh-CN/settings.json
+++ b/webview-ui/src/i18n/locales/zh-CN/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "Ollama URL:",
"qdrantUrlLabel": "Qdrant URL",
"qdrantKeyLabel": "Qdrant 密钥:",
+ "advancedConfigLabel": "高级配置",
+ "searchMinScoreLabel": "搜索分数阈值",
+ "searchMinScoreDescription": "搜索结果所需的最低相似度分数(0.0-1.0)。较低的值返回更多结果,但可能不太相关。较高的值返回较少但更相关的结果。",
+ "searchMinScoreResetTooltip": "恢复默认值 (0.4)",
"startIndexingButton": "开始索引",
"clearIndexDataButton": "清除索引数据",
"unsavedSettingsMessage": "请先保存设置再开始索引过程。",
@@ -110,6 +114,11 @@
"label": "子任务",
"description": "允许创建和完成子任务而无需批准"
},
+ "followupQuestions": {
+ "label": "问题",
+ "description": "在配置的超时时间后自动选择后续问题的第一个建议答案",
+ "timeoutLabel": "自动选择第一个答案前的等待时间"
+ },
"execute": {
"label": "执行",
"description": "自动执行白名单中的命令而无需批准",
diff --git a/webview-ui/src/i18n/locales/zh-TW/chat.json b/webview-ui/src/i18n/locales/zh-TW/chat.json
index 9a20f129a3..e7a476cb37 100644
--- a/webview-ui/src/i18n/locales/zh-TW/chat.json
+++ b/webview-ui/src/i18n/locales/zh-TW/chat.json
@@ -234,15 +234,17 @@
"tokens": "tokens"
},
"followUpSuggest": {
- "copyToInput": "複製到輸入框(或按住 Shift 並點選)"
+ "copyToInput": "複製到輸入框(或按住 Shift 並點選)",
+ "autoSelectCountdown": "{{count}}秒後自動選擇",
+ "countdownDisplay": "{{count}}秒"
},
"announcement": {
"title": "🎉 Roo Code {{version}} 已發布",
- "description": "Roo Code {{version}} 帶來基於您意見回饋的重要新功能與改進。",
+ "description": "Roo Code {{version}} 帶來強大的新功能和重大改進,提升您的開發工作流程。",
"whatsNew": "新功能",
- "feature1": "{{query}}",
"wantsToSearchWithPath": "Roo 想要在 {{path}} 中搜尋:{{query}}",
- "didSearch": "找到 {{count}} 個結果:{{query}}"
+ "didSearch": "找到 {{count}} 個結果:{{query}}",
+ "resultTooltip": "相似度評分:{{score}} (點擊開啟檔案)"
},
"read-batch": {
"approve": {
@@ -310,5 +313,8 @@
"indexed": "已索引",
"error": "索引錯誤",
"status": "索引狀態"
+ },
+ "versionIndicator": {
+ "ariaLabel": "版本 {{version}} - 點擊查看發布說明"
}
}
diff --git a/webview-ui/src/i18n/locales/zh-TW/prompts.json b/webview-ui/src/i18n/locales/zh-TW/prompts.json
index e853a5d91d..9e03e35147 100644
--- a/webview-ui/src/i18n/locales/zh-TW/prompts.json
+++ b/webview-ui/src/i18n/locales/zh-TW/prompts.json
@@ -4,6 +4,8 @@
"modes": {
"title": "模式",
"createNewMode": "建立新模式",
+ "importMode": "匯入模式",
+ "noMatchFound": "找不到任何模式",
"editModesConfig": "編輯模式設定",
"editGlobalModes": "編輯全域模式",
"editProjectModes": "編輯專案模式 (.roomodes)",
@@ -50,6 +52,25 @@
"description": "為 {{modeName}} 模式新增專屬的行為指南。",
"loadFromFile": "{{mode}} 模式的自訂指令也可以從工作區的 .roo/rules-{{slug}}/ 資料夾載入(.roorules-{{slug}} 和 .clinerules-{{slug}} 已棄用並將很快停止運作)。"
},
+ "exportMode": {
+ "title": "匯出模式",
+ "description": "將此模式匯出為包含所有規則的 YAML 檔案,以便與他人輕鬆分享。",
+ "export": "匯出模式",
+ "exporting": "正在匯出..."
+ },
+ "importMode": {
+ "selectLevel": "選擇匯入模式的位置:",
+ "import": "匯入",
+ "importing": "匯入中...",
+ "global": {
+ "label": "全域",
+ "description": "適用於所有專案。規則將合併到自訂指令中。"
+ },
+ "project": {
+ "label": "專案級",
+ "description": "僅在此工作區可用。如果匯出的模式包含規則檔案,則將在 .roo/rules-{slug}/ 資料夾中重新建立這些檔案。"
+ }
+ },
"globalCustomInstructions": {
"title": "所有模式的自訂指令",
"description": "這些指令適用於所有模式。它們提供了一組基本行為,可以透過下方的模式專屬自訂指令來強化。<0>了解更多0>",
@@ -164,5 +185,8 @@
},
"deleteMode": "刪除模式"
},
- "allFiles": "所有檔案"
+ "allFiles": "所有檔案",
+ "advanced": {
+ "title": "進階"
+ }
}
diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json
index 033230ebb4..be6ad5d80c 100644
--- a/webview-ui/src/i18n/locales/zh-TW/settings.json
+++ b/webview-ui/src/i18n/locales/zh-TW/settings.json
@@ -56,6 +56,10 @@
"ollamaUrlLabel": "Ollama URL:",
"qdrantUrlLabel": "Qdrant URL",
"qdrantKeyLabel": "Qdrant 金鑰:",
+ "advancedConfigLabel": "進階設定",
+ "searchMinScoreLabel": "搜尋分數閾值",
+ "searchMinScoreDescription": "搜尋結果所需的最低相似度分數(0.0-1.0)。較低的值會傳回更多結果,但可能較不相關。較高的值會傳回較少但更相關的結果。",
+ "searchMinScoreResetTooltip": "重設為預設值 (0.4)",
"startIndexingButton": "開始索引",
"clearIndexDataButton": "清除索引資料",
"unsavedSettingsMessage": "請先儲存設定再開始索引程序。",
@@ -110,6 +114,11 @@
"label": "子工作",
"description": "允許建立和完成子工作而無需核准"
},
+ "followupQuestions": {
+ "label": "問題",
+ "description": "在設定的逾時時間後自動選擇後續問題的第一個建議答案",
+ "timeoutLabel": "自動選擇第一個答案前的等待時間"
+ },
"execute": {
"label": "執行",
"description": "自動執行允許的終端機命令而無需核准",
diff --git a/webview-ui/src/utils/test-utils.tsx b/webview-ui/src/utils/test-utils.tsx
new file mode 100644
index 0000000000..05560c3065
--- /dev/null
+++ b/webview-ui/src/utils/test-utils.tsx
@@ -0,0 +1,21 @@
+import React from "react"
+import { render, RenderOptions } from "@testing-library/react"
+import { TooltipProvider } from "@/components/ui/tooltip"
+import { STANDARD_TOOLTIP_DELAY } from "@/components/ui/standard-tooltip"
+
+interface AllTheProvidersProps {
+ children: React.ReactNode
+}
+
+const AllTheProviders = ({ children }: AllTheProvidersProps) => {
+ return