Просмотр исходного кода

Localize experimental checkboxes

Matt Rubens 9 месяцев назад
Родитель
Сommit
f0ac4ab8bf

+ 0 - 3
src/shared/__tests__/experiments.test.ts

@@ -5,9 +5,6 @@ describe("experiments", () => {
 		it("is configured correctly", () => {
 		it("is configured correctly", () => {
 			expect(EXPERIMENT_IDS.POWER_STEERING).toBe("powerSteering")
 			expect(EXPERIMENT_IDS.POWER_STEERING).toBe("powerSteering")
 			expect(experimentConfigsMap.POWER_STEERING).toMatchObject({
 			expect(experimentConfigsMap.POWER_STEERING).toMatchObject({
-				name: 'Use experimental "power steering" mode',
-				description:
-					"When enabled, Roo will remind the model about the details of its current mode definition more frequently. This will lead to stronger adherence to role definitions and custom instructions, but will use more tokens per message.",
 				enabled: false,
 				enabled: false,
 			})
 			})
 		})
 		})

+ 1 - 32
src/shared/experiments.ts

@@ -10,8 +10,6 @@ export type ExperimentKey = keyof typeof EXPERIMENT_IDS
 export type ExperimentId = valueof<typeof EXPERIMENT_IDS>
 export type ExperimentId = valueof<typeof EXPERIMENT_IDS>
 
 
 export interface ExperimentConfig {
 export interface ExperimentConfig {
-	name: string
-	description: string
 	enabled: boolean
 	enabled: boolean
 }
 }
 
 
@@ -19,34 +17,18 @@ type valueof<X> = X[keyof X]
 
 
 export const experimentConfigsMap: Record<ExperimentKey, ExperimentConfig> = {
 export const experimentConfigsMap: Record<ExperimentKey, ExperimentConfig> = {
 	DIFF_STRATEGY: {
 	DIFF_STRATEGY: {
-		name: "Use experimental unified diff strategy",
-		description:
-			"Enable the experimental unified diff strategy. This strategy might reduce the number of retries caused by model errors but may cause unexpected behavior or incorrect edits. Only enable if you understand the risks and are willing to carefully review all changes.",
 		enabled: false,
 		enabled: false,
 	},
 	},
 	SEARCH_AND_REPLACE: {
 	SEARCH_AND_REPLACE: {
-		name: "Use experimental search and replace tool",
-		description:
-			"Enable the experimental search and replace tool, allowing Roo to replace multiple instances of a search term in one request.",
 		enabled: false,
 		enabled: false,
 	},
 	},
 	INSERT_BLOCK: {
 	INSERT_BLOCK: {
-		name: "Use experimental insert content tool",
-
-		description:
-			"Enable the experimental insert content tool, allowing Roo to insert content at specific line numbers without needing to create a diff.",
 		enabled: false,
 		enabled: false,
 	},
 	},
 	POWER_STEERING: {
 	POWER_STEERING: {
-		name: 'Use experimental "power steering" mode',
-		description:
-			"When enabled, Roo will remind the model about the details of its current mode definition more frequently. This will lead to stronger adherence to role definitions and custom instructions, but will use more tokens per message.",
 		enabled: false,
 		enabled: false,
 	},
 	},
 	MULTI_SEARCH_AND_REPLACE: {
 	MULTI_SEARCH_AND_REPLACE: {
-		name: "Use experimental multi block diff tool",
-		description:
-			"When enabled, Roo will use multi block diff tool. This will try to update multiple code blocks in the file in one request.",
 		enabled: false,
 		enabled: false,
 	},
 	},
 }
 }
@@ -67,17 +49,4 @@ export const experiments = {
 	},
 	},
 } as const
 } as const
 
 
-// Expose experiment details for UI - pre-compute from map for better performance
-export const experimentLabels = Object.fromEntries(
-	Object.entries(experimentConfigsMap).map(([_, config]) => [
-		EXPERIMENT_IDS[_ as keyof typeof EXPERIMENT_IDS] as ExperimentId,
-		config.name,
-	]),
-) as Record<string, string>
-
-export const experimentDescriptions = Object.fromEntries(
-	Object.entries(experimentConfigsMap).map(([_, config]) => [
-		EXPERIMENT_IDS[_ as keyof typeof EXPERIMENT_IDS] as ExperimentId,
-		config.description,
-	]),
-) as Record<string, string>
+// No longer needed as we use translation keys directly in the UI

+ 9 - 5
webview-ui/src/components/settings/ExperimentalFeature.tsx

@@ -2,24 +2,28 @@ import { VSCodeCheckbox } from "@vscode/webview-ui-toolkit/react"
 import { useAppTranslation } from "@/i18n/TranslationContext"
 import { useAppTranslation } from "@/i18n/TranslationContext"
 
 
 interface ExperimentalFeatureProps {
 interface ExperimentalFeatureProps {
-	name: string
-	description: string
 	enabled: boolean
 	enabled: boolean
 	onChange: (value: boolean) => void
 	onChange: (value: boolean) => void
+	// Additional property to identify the experiment
+	experimentKey?: string
 }
 }
 
 
-export const ExperimentalFeature = ({ name, description, enabled, onChange }: ExperimentalFeatureProps) => {
+export const ExperimentalFeature = ({ enabled, onChange, experimentKey }: ExperimentalFeatureProps) => {
 	const { t } = useAppTranslation()
 	const { t } = useAppTranslation()
 
 
+	// Generate translation keys based on experiment key
+	const nameKey = experimentKey ? `settings:experimental.${experimentKey}.name` : ""
+	const descriptionKey = experimentKey ? `settings:experimental.${experimentKey}.description` : ""
+
 	return (
 	return (
 		<div>
 		<div>
 			<div className="flex items-center gap-2">
 			<div className="flex items-center gap-2">
 				<span className="text-vscode-errorForeground">{t("settings:experimental.warning")}</span>
 				<span className="text-vscode-errorForeground">{t("settings:experimental.warning")}</span>
 				<VSCodeCheckbox checked={enabled} onChange={(e: any) => onChange(e.target.checked)}>
 				<VSCodeCheckbox checked={enabled} onChange={(e: any) => onChange(e.target.checked)}>
-					<span className="font-medium">{name}</span>
+					<span className="font-medium">{t(nameKey)}</span>
 				</VSCodeCheckbox>
 				</VSCodeCheckbox>
 			</div>
 			</div>
-			<p className="text-vscode-descriptionForeground text-sm mt-0">{description}</p>
+			<p className="text-vscode-descriptionForeground text-sm mt-0">{t(descriptionKey)}</p>
 		</div>
 		</div>
 	)
 	)
 }
 }

+ 1 - 1
webview-ui/src/components/settings/ExperimentalSettings.tsx

@@ -42,7 +42,7 @@ export const ExperimentalSettings = ({
 					.map((config) => (
 					.map((config) => (
 						<ExperimentalFeature
 						<ExperimentalFeature
 							key={config[0]}
 							key={config[0]}
-							{...config[1]}
+							experimentKey={config[0]}
 							enabled={experiments[EXPERIMENT_IDS[config[0] as keyof typeof EXPERIMENT_IDS]] ?? false}
 							enabled={experiments[EXPERIMENT_IDS[config[0] as keyof typeof EXPERIMENT_IDS]] ?? false}
 							onChange={(enabled) =>
 							onChange={(enabled) =>
 								setExperimentEnabled(EXPERIMENT_IDS[config[0] as keyof typeof EXPERIMENT_IDS], enabled)
 								setExperimentEnabled(EXPERIMENT_IDS[config[0] as keyof typeof EXPERIMENT_IDS], enabled)

+ 21 - 1
webview-ui/src/i18n/locales/ar/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "استخدام استراتيجية diff الموحدة التجريبية",
+			"description": "تمكين استراتيجية diff الموحدة التجريبية. قد تقلل هذه الاستراتيجية من عدد إعادة المحاولات الناجمة عن أخطاء النموذج ولكنها قد تسبب سلوكًا غير متوقع أو تعديلات غير صحيحة. قم بتمكينها فقط إذا كنت تفهم المخاطر وعلى استعداد لمراجعة جميع التغييرات بعناية."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "استخدام أداة البحث والاستبدال التجريبية",
+			"description": "تمكين أداة البحث والاستبدال التجريبية، مما يسمح لـ Roo باستبدال عدة مثيلات لمصطلح البحث في طلب واحد."
+		},
+		"INSERT_BLOCK": {
+			"name": "استخدام أداة إدراج المحتوى التجريبية",
+			"description": "تمكين أداة إدراج المحتوى التجريبية، مما يسمح لـ Roo بإدراج محتوى في أرقام أسطر محددة دون الحاجة إلى إنشاء diff."
+		},
+		"POWER_STEERING": {
+			"name": "استخدام وضع \"التوجيه المعزز\" التجريبي",
+			"description": "عند تمكينه، سيذكر Roo النموذج بتفاصيل تعريف وضعه الحالي بشكل أكثر تكرارًا. سيؤدي ذلك إلى التزام أقوى بتعريفات الأدوار والتعليمات المخصصة، ولكنه سيستخدم المزيد من token لكل رسالة."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "استخدام أداة diff متعددة الكتل التجريبية",
+			"description": "عند تمكينه، سيستخدم Roo أداة diff متعددة الكتل. سيحاول هذا تحديث عدة كتل من الكود في الملف في طلب واحد."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "استخدام درجة حرارة مخصصة",
 		"useCustom": "استخدام درجة حرارة مخصصة",

+ 21 - 1
webview-ui/src/i18n/locales/ca/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "Utilitzar estratègia diff unificada experimental",
+			"description": "Activar l'estratègia diff unificada experimental. Aquesta estratègia podria reduir el nombre de reintents causats per errors del model, però pot causar comportaments inesperats o edicions incorrectes. Activeu-la només si enteneu els riscos i esteu disposats a revisar acuradament tots els canvis."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "Utilitzar eina de cerca i reemplaçament experimental",
+			"description": "Activar l'eina de cerca i reemplaçament experimental, permetent a Roo reemplaçar múltiples instàncies d'un terme de cerca en una sola petició."
+		},
+		"INSERT_BLOCK": {
+			"name": "Utilitzar eina d'inserció de contingut experimental",
+			"description": "Activar l'eina d'inserció de contingut experimental, permetent a Roo inserir contingut a números de línia específics sense necessitat de crear un diff."
+		},
+		"POWER_STEERING": {
+			"name": "Utilitzar mode \"direcció assistida\" experimental",
+			"description": "Quan està activat, Roo recordarà al model els detalls de la seva definició de mode actual amb més freqüència. Això portarà a una adherència més forta a les definicions de rol i instruccions personalitzades, però utilitzarà més tokens per missatge."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "Utilitzar eina diff de blocs múltiples experimental",
+			"description": "Quan està activat, Roo utilitzarà l'eina diff de blocs múltiples. Això intentarà actualitzar múltiples blocs de codi a l'arxiu en una sola petició."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "Utilitzar temperatura personalitzada",
 		"useCustom": "Utilitzar temperatura personalitzada",

+ 21 - 1
webview-ui/src/i18n/locales/cs/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "Použít experimentální sjednocenou strategii diff",
+			"description": "Povolit experimentální sjednocenou strategii diff. Tato strategie může snížit počet opakování způsobených chybami modelu, ale může způsobit neočekávané chování nebo nesprávné úpravy. Povolte pouze pokud rozumíte rizikům a jste ochotni pečlivě zkontrolovat všechny změny."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "Použít experimentální nástroj pro vyhledávání a nahrazování",
+			"description": "Povolit experimentální nástroj pro vyhledávání a nahrazování, umožňující Roo nahradit více výskytů hledaného výrazu v jednom požadavku."
+		},
+		"INSERT_BLOCK": {
+			"name": "Použít experimentální nástroj pro vkládání obsahu",
+			"description": "Povolit experimentální nástroj pro vkládání obsahu, umožňující Roo vkládat obsah na konkrétní čísla řádků bez nutnosti vytvářet diff."
+		},
+		"POWER_STEERING": {
+			"name": "Použít experimentální režim \"posilovače řízení\"",
+			"description": "Když je povoleno, Roo bude častěji připomínat modelu podrobnosti o definici jeho aktuálního režimu. To povede k silnějšímu dodržování definic rolí a vlastních instrukcí, ale bude používat více tokenů na zprávu."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "Použít experimentální nástroj pro více bloků diff",
+			"description": "Když je povoleno, Roo použije nástroj pro více bloků diff. Tím se pokusí aktualizovat více bloků kódu v souboru v jednom požadavku."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "Použít vlastní teplotu",
 		"useCustom": "Použít vlastní teplotu",

+ 21 - 1
webview-ui/src/i18n/locales/de/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "Experimentelle einheitliche Diff-Strategie verwenden",
+			"description": "Aktiviert die experimentelle einheitliche Diff-Strategie. Diese Strategie könnte die Anzahl der durch Modellfehler verursachten Wiederholungen reduzieren, kann aber unerwartetes Verhalten oder falsche Bearbeitungen verursachen. Nur aktivieren, wenn Sie die Risiken verstehen und bereit sind, alle Änderungen sorgfältig zu überprüfen."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "Experimentelles Such- und Ersetzungswerkzeug verwenden",
+			"description": "Aktiviert das experimentelle Such- und Ersetzungswerkzeug, das Roo ermöglicht, mehrere Instanzen eines Suchbegriffs in einer Anfrage zu ersetzen."
+		},
+		"INSERT_BLOCK": {
+			"name": "Experimentelles Inhalts-Einfüge-Werkzeug verwenden",
+			"description": "Aktiviert das experimentelle Inhalts-Einfüge-Werkzeug, das Roo ermöglicht, Inhalte an bestimmten Zeilennummern einzufügen, ohne einen Diff erstellen zu müssen."
+		},
+		"POWER_STEERING": {
+			"name": "Experimentellen \"Servolenkung\"-Modus verwenden",
+			"description": "Wenn aktiviert, wird Roo das Modell häufiger an die Details seiner aktuellen Modusdefinition erinnern. Dies führt zu einer stärkeren Einhaltung von Rollendefinitionen und benutzerdefinierten Anweisungen, verwendet aber mehr Tokens pro Nachricht."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "Experimentelles Multi-Block-Diff-Werkzeug verwenden",
+			"description": "Wenn aktiviert, verwendet Roo das Multi-Block-Diff-Werkzeug. Dies versucht, mehrere Codeblöcke in der Datei in einer Anfrage zu aktualisieren."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "Benutzerdefinierte Temperatur verwenden",
 		"useCustom": "Benutzerdefinierte Temperatur verwenden",

+ 21 - 1
webview-ui/src/i18n/locales/en/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "Use experimental unified diff strategy",
+			"description": "Enable the experimental unified diff strategy. This strategy might reduce the number of retries caused by model errors but may cause unexpected behavior or incorrect edits. Only enable if you understand the risks and are willing to carefully review all changes."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "Use experimental search and replace tool",
+			"description": "Enable the experimental search and replace tool, allowing Roo to replace multiple instances of a search term in one request."
+		},
+		"INSERT_BLOCK": {
+			"name": "Use experimental insert content tool",
+			"description": "Enable the experimental insert content tool, allowing Roo to insert content at specific line numbers without needing to create a diff."
+		},
+		"POWER_STEERING": {
+			"name": "Use experimental \"power steering\" mode",
+			"description": "When enabled, Roo will remind the model about the details of its current mode definition more frequently. This will lead to stronger adherence to role definitions and custom instructions, but will use more tokens per message."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "Use experimental multi block diff tool",
+			"description": "When enabled, Roo will use multi block diff tool. This will try to update multiple code blocks in the file in one request."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "Use custom temperature",
 		"useCustom": "Use custom temperature",

+ 21 - 1
webview-ui/src/i18n/locales/es/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "Usar estrategia de diff unificada experimental",
+			"description": "Habilitar la estrategia de diff unificada experimental. Esta estrategia podría reducir el número de reintentos causados por errores del modelo, pero puede causar comportamientos inesperados o ediciones incorrectas. Habilítela solo si comprende los riesgos y está dispuesto a revisar cuidadosamente todos los cambios."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "Usar herramienta experimental de búsqueda y reemplazo",
+			"description": "Habilitar la herramienta experimental de búsqueda y reemplazo, permitiendo a Roo reemplazar múltiples instancias de un término de búsqueda en una sola solicitud."
+		},
+		"INSERT_BLOCK": {
+			"name": "Usar herramienta experimental de inserción de contenido",
+			"description": "Habilitar la herramienta experimental de inserción de contenido, permitiendo a Roo insertar contenido en números de línea específicos sin necesidad de crear un diff."
+		},
+		"POWER_STEERING": {
+			"name": "Usar modo experimental de \"dirección asistida\"",
+			"description": "Cuando está habilitado, Roo recordará al modelo los detalles de su definición de modo actual con más frecuencia. Esto llevará a una mayor adherencia a las definiciones de roles e instrucciones personalizadas, pero usará más tokens por mensaje."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "Usar herramienta experimental de diff de bloques múltiples",
+			"description": "Cuando está habilitado, Roo usará la herramienta de diff de bloques múltiples. Esto intentará actualizar múltiples bloques de código en el archivo en una sola solicitud."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "Usar temperatura personalizada",
 		"useCustom": "Usar temperatura personalizada",

+ 21 - 1
webview-ui/src/i18n/locales/fr/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "Utiliser la stratégie diff unifiée expérimentale",
+			"description": "Activer la stratégie diff unifiée expérimentale. Cette stratégie pourrait réduire le nombre de tentatives causées par des erreurs de modèle, mais peut provoquer des comportements inattendus ou des modifications incorrectes. Activez-la uniquement si vous comprenez les risques et êtes prêt à examiner attentivement tous les changements."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "Utiliser l'outil de recherche et remplacement expérimental",
+			"description": "Activer l'outil de recherche et remplacement expérimental, permettant à Roo de remplacer plusieurs occurrences d'un terme de recherche en une seule requête."
+		},
+		"INSERT_BLOCK": {
+			"name": "Utiliser l'outil d'insertion de contenu expérimental",
+			"description": "Activer l'outil d'insertion de contenu expérimental, permettant à Roo d'insérer du contenu à des numéros de ligne spécifiques sans avoir besoin de créer un diff."
+		},
+		"POWER_STEERING": {
+			"name": "Utiliser le mode \"direction assistée\" expérimental",
+			"description": "Lorsqu'il est activé, Roo rappellera plus fréquemment au modèle les détails de sa définition de mode actuelle. Cela conduira à une adhérence plus forte aux définitions de rôles et aux instructions personnalisées, mais utilisera plus de tokens par message."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "Utiliser l'outil diff multi-blocs expérimental",
+			"description": "Lorsqu'il est activé, Roo utilisera l'outil diff multi-blocs. Cela tentera de mettre à jour plusieurs blocs de code dans le fichier en une seule requête."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "Utiliser une température personnalisée",
 		"useCustom": "Utiliser une température personnalisée",

+ 21 - 1
webview-ui/src/i18n/locales/hi/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "प्रायोगिक एकीकृत diff रणनीति का उपयोग करें",
+			"description": "प्रायोगिक एकीकृत diff रणनीति सक्षम करें। यह रणनीति मॉडल त्रुटियों के कारण पुनः प्रयासों की संख्या को कम कर सकती है, लेकिन अप्रत्याशित व्यवहार या गलत संपादन का कारण बन सकती है। केवल तभी सक्षम करें जब आप जोखिमों को समझते हों और सभी परिवर्तनों की सावधानीपूर्वक समीक्षा करने के लिए तैयार हों।"
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "प्रायोगिक खोज और प्रतिस्थापन उपकरण का उपयोग करें",
+			"description": "प्रायोगिक खोज और प्रतिस्थापन उपकरण सक्षम करें, जो Roo को एक अनुरोध में खोज शब्द के कई उदाहरणों को बदलने की अनुमति देता है।"
+		},
+		"INSERT_BLOCK": {
+			"name": "प्रायोगिक सामग्री सम्मिलित करने के उपकरण का उपयोग करें",
+			"description": "प्रायोगिक सामग्री सम्मिलित करने के उपकरण को सक्षम करें, जो Roo को diff बनाए बिना विशिष्ट लाइन नंबरों पर सामग्री सम्मिलित करने की अनुमति देता है।"
+		},
+		"POWER_STEERING": {
+			"name": "प्रायोगिक \"पावर स्टीयरिंग\" मोड का उपयोग करें",
+			"description": "जब सक्षम किया जाता है, तो Roo मॉडल को उसके वर्तमान मोड परिभाषा के विवरण के बारे में अधिक बार याद दिलाएगा। इससे भूमिका परिभाषाओं और कस्टम निर्देशों के प्रति अधिक मजबूत अनुपालन होगा, लेकिन प्रति संदेश अधिक token का उपयोग होगा।"
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "प्रायोगिक मल्टी ब्लॉक diff उपकरण का उपयोग करें",
+			"description": "जब सक्षम किया जाता है, तो Roo मल्टी ब्लॉक diff उपकरण का उपयोग करेगा। यह एक अनुरोध में फ़ाइल में कई कोड ब्लॉक अपडेट करने का प्रयास करेगा।"
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "कस्टम तापमान का उपयोग करें",
 		"useCustom": "कस्टम तापमान का उपयोग करें",

+ 21 - 1
webview-ui/src/i18n/locales/hu/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "Kísérleti egységesített diff stratégia használata",
+			"description": "Engedélyezi a kísérleti egységesített diff stratégiát. Ez a stratégia csökkentheti a modell hibái miatt szükséges újrapróbálkozások számát, de váratlan viselkedést vagy helytelen szerkesztéseket okozhat. Csak akkor engedélyezze, ha megérti a kockázatokat és hajlandó gondosan áttekinteni minden változtatást."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "Kísérleti keresés és csere eszköz használata",
+			"description": "Engedélyezi a kísérleti keresés és csere eszközt, lehetővé téve a Roo számára, hogy egy keresési kifejezés több előfordulását helyettesítse egy kérésben."
+		},
+		"INSERT_BLOCK": {
+			"name": "Kísérleti tartalom beszúró eszköz használata",
+			"description": "Engedélyezi a kísérleti tartalom beszúró eszközt, lehetővé téve a Roo számára, hogy tartalmat szúrjon be meghatározott sorszámokra diff létrehozása nélkül."
+		},
+		"POWER_STEERING": {
+			"name": "Kísérleti \"szervokormány\" mód használata",
+			"description": "Ha engedélyezve van, a Roo gyakrabban fogja emlékeztetni a modellt az aktuális módja definíciójának részleteire. Ez erősebb ragaszkodást eredményez a szerepdefiníciókhoz és az egyéni utasításokhoz, de több tokent fog használni üzenetenként."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "Kísérleti több blokkos diff eszköz használata",
+			"description": "Ha engedélyezve van, a Roo a több blokkos diff eszközt fogja használni. Ez megpróbál több kódblokkot frissíteni a fájlban egy kérésben."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "Egyéni hőmérséklet használata",
 		"useCustom": "Egyéni hőmérséklet használata",

+ 21 - 1
webview-ui/src/i18n/locales/it/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "Usa strategia diff unificata sperimentale",
+			"description": "Abilita la strategia diff unificata sperimentale. Questa strategia potrebbe ridurre il numero di tentativi causati da errori del modello, ma può causare comportamenti imprevisti o modifiche errate. Abilitala solo se comprendi i rischi e sei disposto a rivedere attentamente tutte le modifiche."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "Usa strumento di ricerca e sostituzione sperimentale",
+			"description": "Abilita lo strumento di ricerca e sostituzione sperimentale, consentendo a Roo di sostituire più istanze di un termine di ricerca in una singola richiesta."
+		},
+		"INSERT_BLOCK": {
+			"name": "Usa strumento di inserimento contenuti sperimentale",
+			"description": "Abilita lo strumento di inserimento contenuti sperimentale, consentendo a Roo di inserire contenuti a numeri di riga specifici senza dover creare un diff."
+		},
+		"POWER_STEERING": {
+			"name": "Usa modalità \"servosterzo\" sperimentale",
+			"description": "Quando abilitato, Roo ricorderà al modello i dettagli della sua definizione di modalità corrente più frequentemente. Questo porterà a una maggiore aderenza alle definizioni dei ruoli e alle istruzioni personalizzate, ma utilizzerà più token per messaggio."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "Usa strumento diff multi-blocco sperimentale",
+			"description": "Quando abilitato, Roo utilizzerà lo strumento diff multi-blocco. Questo tenterà di aggiornare più blocchi di codice nel file in una singola richiesta."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "Usa temperatura personalizzata",
 		"useCustom": "Usa temperatura personalizzata",

+ 21 - 1
webview-ui/src/i18n/locales/ja/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "実験的な統合diff戦略を使用する",
+			"description": "実験的な統合diff戦略を有効にします。この戦略はモデルエラーによる再試行の回数を減らす可能性がありますが、予期しない動作や不正確な編集を引き起こす可能性があります。リスクを理解し、すべての変更を注意深く確認する準備がある場合にのみ有効にしてください。"
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "実験的な検索と置換ツールを使用する",
+			"description": "実験的な検索と置換ツールを有効にし、Rooが1つのリクエストで検索語の複数のインスタンスを置き換えることを可能にします。"
+		},
+		"INSERT_BLOCK": {
+			"name": "実験的なコンテンツ挿入ツールを使用する",
+			"description": "実験的なコンテンツ挿入ツールを有効にし、Rooがdiffを作成せずに特定の行番号にコンテンツを挿入できるようにします。"
+		},
+		"POWER_STEERING": {
+			"name": "実験的な「パワーステアリング」モードを使用する",
+			"description": "有効にすると、Rooはより頻繁にモデルに現在のモード定義の詳細を思い出させます。これにより、役割定義とカスタム指示へのより強い遵守が実現しますが、メッセージごとにより多くのtokenを使用します。"
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "実験的なマルチブロックdiffツールを使用する",
+			"description": "有効にすると、Rooはマルチブロックdiffツールを使用します。これにより、1つのリクエストでファイル内の複数のコードブロックを更新しようとします。"
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "カスタム温度を使用",
 		"useCustom": "カスタム温度を使用",

+ 21 - 1
webview-ui/src/i18n/locales/ko/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "실험적 통합 diff 전략 사용",
+			"description": "실험적 통합 diff 전략을 활성화합니다. 이 전략은 모델 오류로 인한 재시도 횟수를 줄일 수 있지만 예기치 않은 동작이나 잘못된 편집을 일으킬 수 있습니다. 위험을 이해하고 모든 변경 사항을 신중하게 검토할 의향이 있는 경우에만 활성화하십시오."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "실험적 검색 및 바꾸기 도구 사용",
+			"description": "실험적 검색 및 바꾸기 도구를 활성화하여 Roo가 하나의 요청에서 검색어의 여러 인스턴스를 바꿀 수 있게 합니다."
+		},
+		"INSERT_BLOCK": {
+			"name": "실험적 콘텐츠 삽입 도구 사용",
+			"description": "실험적 콘텐츠 삽입 도구를 활성화하여 Roo가 diff를 만들 필요 없이 특정 줄 번호에 콘텐츠를 삽입할 수 있게 합니다."
+		},
+		"POWER_STEERING": {
+			"name": "실험적 \"파워 스티어링\" 모드 사용",
+			"description": "활성화하면 Roo가 현재 모드 정의의 세부 정보를 모델에 더 자주 상기시킵니다. 이로 인해 역할 정의 및 사용자 지정 지침에 대한 준수가 강화되지만 메시지당 더 많은 token이 사용됩니다."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "실험적 다중 블록 diff 도구 사용",
+			"description": "활성화하면 Roo가 다중 블록 diff 도구를 사용합니다. 이것은 하나의 요청에서 파일의 여러 코드 블록을 업데이트하려고 시도합니다."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "사용자 정의 온도 사용",
 		"useCustom": "사용자 정의 온도 사용",

+ 21 - 1
webview-ui/src/i18n/locales/pl/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "Użyj eksperymentalnej ujednoliconej strategii diff",
+			"description": "Włącz eksperymentalną ujednoliconą strategię diff. Ta strategia może zmniejszyć liczbę ponownych prób spowodowanych błędami modelu, ale może powodować nieoczekiwane zachowanie lub nieprawidłowe edycje. Włącz tylko jeśli rozumiesz ryzyko i jesteś gotów dokładnie przeglądać wszystkie zmiany."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "Użyj eksperymentalnego narzędzia do wyszukiwania i zamiany",
+			"description": "Włącz eksperymentalne narzędzie do wyszukiwania i zamiany, umożliwiając Roo zastąpienie wielu wystąpień wyszukiwanego terminu w jednym żądaniu."
+		},
+		"INSERT_BLOCK": {
+			"name": "Użyj eksperymentalnego narzędzia do wstawiania treści",
+			"description": "Włącz eksperymentalne narzędzie do wstawiania treści, umożliwiając Roo wstawianie treści w określonych numerach linii bez konieczności tworzenia diff."
+		},
+		"POWER_STEERING": {
+			"name": "Użyj eksperymentalnego trybu \"wspomagania kierownicy\"",
+			"description": "Po włączeniu, Roo będzie częściej przypominać modelowi o szczegółach jego bieżącej definicji trybu. Doprowadzi to do silniejszego przestrzegania definicji ról i niestandardowych instrukcji, ale będzie używać więcej tokenów na wiadomość."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "Użyj eksperymentalnego narzędzia diff wieloblokowego",
+			"description": "Po włączeniu, Roo użyje narzędzia diff wieloblokowego. Spróbuje to zaktualizować wiele bloków kodu w pliku w jednym żądaniu."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "Użyj niestandardowej temperatury",
 		"useCustom": "Użyj niestandardowej temperatury",

+ 21 - 1
webview-ui/src/i18n/locales/pt-BR/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "Usar estratégia diff unificada experimental",
+			"description": "Ativar a estratégia diff unificada experimental. Esta estratégia pode reduzir o número de novas tentativas causadas por erros do modelo, mas pode causar comportamento inesperado ou edições incorretas. Ative apenas se compreender os riscos e estiver disposto a revisar cuidadosamente todas as alterações."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "Usar ferramenta de busca e substituição experimental",
+			"description": "Ativar a ferramenta de busca e substituição experimental, permitindo que o Roo substitua várias instâncias de um termo de busca em uma única solicitação."
+		},
+		"INSERT_BLOCK": {
+			"name": "Usar ferramenta de inserção de conteúdo experimental",
+			"description": "Ativar a ferramenta de inserção de conteúdo experimental, permitindo que o Roo insira conteúdo em números de linha específicos sem precisar criar um diff."
+		},
+		"POWER_STEERING": {
+			"name": "Usar modo \"direção assistida\" experimental",
+			"description": "Quando ativado, o Roo lembrará o modelo sobre os detalhes da sua definição de modo atual com mais frequência. Isso levará a uma adesão mais forte às definições de função e instruções personalizadas, mas usará mais tokens por mensagem."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "Usar ferramenta diff de múltiplos blocos experimental",
+			"description": "Quando ativado, o Roo usará a ferramenta diff de múltiplos blocos. Isso tentará atualizar vários blocos de código no arquivo em uma única solicitação."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "Usar temperatura personalizada",
 		"useCustom": "Usar temperatura personalizada",

+ 21 - 1
webview-ui/src/i18n/locales/pt/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "Usar estratégia diff unificada experimental",
+			"description": "Ativar a estratégia diff unificada experimental. Esta estratégia pode reduzir o número de novas tentativas causadas por erros do modelo, mas pode causar comportamento inesperado ou edições incorretas. Ative apenas se compreender os riscos e estiver disposto a revisar cuidadosamente todas as alterações."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "Usar ferramenta de busca e substituição experimental",
+			"description": "Ativar a ferramenta de busca e substituição experimental, permitindo que o Roo substitua várias instâncias de um termo de busca em uma única solicitação."
+		},
+		"INSERT_BLOCK": {
+			"name": "Usar ferramenta de inserção de conteúdo experimental",
+			"description": "Ativar a ferramenta de inserção de conteúdo experimental, permitindo que o Roo insira conteúdo em números de linha específicos sem precisar criar um diff."
+		},
+		"POWER_STEERING": {
+			"name": "Usar modo \"direção assistida\" experimental",
+			"description": "Quando ativado, o Roo lembrará o modelo sobre os detalhes da sua definição de modo atual com mais frequência. Isso levará a uma adesão mais forte às definições de função e instruções personalizadas, mas usará mais tokens por mensagem."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "Usar ferramenta diff de múltiplos blocos experimental",
+			"description": "Quando ativado, o Roo usará a ferramenta diff de múltiplos blocos. Isso tentará atualizar vários blocos de código no arquivo em uma única solicitação."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "Usar temperatura personalizada",
 		"useCustom": "Usar temperatura personalizada",

+ 21 - 1
webview-ui/src/i18n/locales/ru/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "Использовать экспериментальную унифицированную стратегию diff",
+			"description": "Включить экспериментальную унифицированную стратегию diff. Эта стратегия может уменьшить количество повторных попыток, вызванных ошибками модели, но может привести к непредвиденному поведению или неправильным правкам. Включайте только если понимаете риски и готовы тщательно просмотреть все изменения."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "Использовать экспериментальный инструмент поиска и замены",
+			"description": "Включить экспериментальный инструмент поиска и замены, позволяющий Roo заменять несколько экземпляров поискового термина в одном запросе."
+		},
+		"INSERT_BLOCK": {
+			"name": "Использовать экспериментальный инструмент вставки содержимого",
+			"description": "Включить экспериментальный инструмент вставки содержимого, позволяющий Roo вставлять содержимое на определенных номерах строк без необходимости создания diff."
+		},
+		"POWER_STEERING": {
+			"name": "Использовать экспериментальный режим \"усилителя руля\"",
+			"description": "При включении, Roo будет чаще напоминать модели о деталях текущего определения режима. Это приведет к более строгому соблюдению определений ролей и пользовательских инструкций, но будет использовать больше token на сообщение."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "Использовать экспериментальный инструмент многоблочного diff",
+			"description": "При включении, Roo будет использовать инструмент многоблочного diff. Это попытается обновить несколько блоков кода в файле в одном запросе."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "Использовать настраиваемую температуру",
 		"useCustom": "Использовать настраиваемую температуру",

+ 21 - 1
webview-ui/src/i18n/locales/tr/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "Deneysel birleştirilmiş diff stratejisini kullan",
+			"description": "Deneysel birleştirilmiş diff stratejisini etkinleştir. Bu strateji, model hatalarından kaynaklanan yeniden deneme sayısını azaltabilir, ancak beklenmeyen davranışlara veya hatalı düzenlemelere neden olabilir. Yalnızca riskleri anlıyorsanız ve tüm değişiklikleri dikkatlice incelemeye istekliyseniz etkinleştirin."
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "Deneysel arama ve değiştirme aracını kullan",
+			"description": "Deneysel arama ve değiştirme aracını etkinleştir, Roo'nun tek bir istekte bir arama teriminin birden fazla örneğini değiştirmesine olanak tanır."
+		},
+		"INSERT_BLOCK": {
+			"name": "Deneysel içerik ekleme aracını kullan",
+			"description": "Deneysel içerik ekleme aracını etkinleştir, Roo'nun bir diff oluşturma gereği duymadan belirli satır numaralarına içerik eklemesine olanak tanır."
+		},
+		"POWER_STEERING": {
+			"name": "Deneysel \"güç direksiyon\" modunu kullan",
+			"description": "Etkinleştirildiğinde, Roo modele geçerli mod tanımının ayrıntılarını daha sık hatırlatacaktır. Bu, rol tanımlarına ve özel talimatlara daha güçlü uyum sağlayacak, ancak mesaj başına daha fazla token kullanacaktır."
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "Deneysel çoklu blok diff aracını kullan",
+			"description": "Etkinleştirildiğinde, Roo çoklu blok diff aracını kullanacaktır. Bu, tek bir istekte dosyadaki birden fazla kod bloğunu güncellemeye çalışacaktır."
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "Özel sıcaklık kullan",
 		"useCustom": "Özel sıcaklık kullan",

+ 21 - 1
webview-ui/src/i18n/locales/zh-CN/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "使用实验性统一差异策略",
+			"description": "启用实验性统一差异策略。此策略可能减少由模型错误引起的重试次数,但可能导致意外行为或不正确的编辑。仅在您了解风险并愿意仔细审查所有更改时才启用。"
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "使用实验性搜索和替换工具",
+			"description": "启用实验性搜索和替换工具,允许 Roo 在一个请求中替换搜索词的多个实例。"
+		},
+		"INSERT_BLOCK": {
+			"name": "使用实验性插入内容工具",
+			"description": "启用实验性插入内容工具,允许 Roo 在特定行号插入内容,无需创建差异。"
+		},
+		"POWER_STEERING": {
+			"name": "使用实验性\"动力转向\"模式",
+			"description": "启用后,Roo 将更频繁地提醒模型关于其当前模式定义的详细信息。这将导致对角色定义和自定义指令的更强遵守,但每条消息将使用更多 token。"
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "使用实验性多块差异工具",
+			"description": "启用后,Roo 将使用多块差异工具。这将尝试在一个请求中更新文件中的多个代码块。"
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "使用自定义温度",
 		"useCustom": "使用自定义温度",

+ 21 - 1
webview-ui/src/i18n/locales/zh-TW/settings.json

@@ -166,7 +166,27 @@
 		}
 		}
 	},
 	},
 	"experimental": {
 	"experimental": {
-		"warning": "⚠️"
+		"warning": "⚠️",
+		"DIFF_STRATEGY": {
+			"name": "使用實驗性統一差異策略",
+			"description": "啟用實驗性統一差異策略。此策略可能減少由模型錯誤引起的重試次數,但可能導致意外行為或不正確的編輯。僅在您了解風險並願意仔細審查所有更改時才啟用。"
+		},
+		"SEARCH_AND_REPLACE": {
+			"name": "使用實驗性搜索和替換工具",
+			"description": "啟用實驗性搜索和替換工具,允許 Roo 在一個請求中替換搜索詞的多個實例。"
+		},
+		"INSERT_BLOCK": {
+			"name": "使用實驗性插入內容工具",
+			"description": "啟用實驗性插入內容工具,允許 Roo 在特定行號插入內容,無需創建差異。"
+		},
+		"POWER_STEERING": {
+			"name": "使用實驗性\"動力轉向\"模式",
+			"description": "啟用後,Roo 將更頻繁地提醒模型關於其當前模式定義的詳細信息。這將導致對角色定義和自定義指令的更強遵守,但每條消息將使用更多 token。"
+		},
+		"MULTI_SEARCH_AND_REPLACE": {
+			"name": "使用實驗性多塊差異工具",
+			"description": "啟用後,Roo 將使用多塊差異工具。這將嘗試在一個請求中更新文件中的多個代碼塊。"
+		}
 	},
 	},
 	"temperature": {
 	"temperature": {
 		"useCustom": "使用自訂溫度",
 		"useCustom": "使用自訂溫度",