& {
- experiments: Record
+ experiments: Experiments
setExperimentEnabled: SetExperimentEnabled
- maxConcurrentFileReads?: number
- setCachedStateField: SetCachedStateField<"codebaseIndexConfig" | "maxConcurrentFileReads">
+ setCachedStateField: SetCachedStateField<"codebaseIndexConfig">
// CodeIndexSettings props
codebaseIndexModels: CodebaseIndexModels | undefined
codebaseIndexConfig: CodebaseIndexConfig | undefined
@@ -32,7 +30,6 @@ type ExperimentalSettingsProps = HTMLAttributes & {
export const ExperimentalSettings = ({
experiments,
setExperimentEnabled,
- maxConcurrentFileReads,
setCachedStateField,
codebaseIndexModels,
codebaseIndexConfig,
@@ -57,17 +54,14 @@ export const ExperimentalSettings = ({
{Object.entries(experimentConfigsMap)
.filter((config) => config[0] !== "DIFF_STRATEGY" && config[0] !== "MULTI_SEARCH_AND_REPLACE")
.map((config) => {
- if (config[0] === "CONCURRENT_FILE_READS") {
+ if (config[0] === "MULTI_FILE_APPLY_DIFF") {
return (
-
- setExperimentEnabled(EXPERIMENT_IDS.CONCURRENT_FILE_READS, enabled)
- }
- maxConcurrentFileReads={maxConcurrentFileReads ?? 15}
- onMaxConcurrentFileReadsChange={(value) =>
- setCachedStateField("maxConcurrentFileReads", value)
+ experimentKey={config[0]}
+ enabled={experiments[EXPERIMENT_IDS.MULTI_FILE_APPLY_DIFF] ?? false}
+ onChange={(enabled) =>
+ setExperimentEnabled(EXPERIMENT_IDS.MULTI_FILE_APPLY_DIFF, enabled)
}
/>
)
diff --git a/webview-ui/src/components/settings/SettingsView.tsx b/webview-ui/src/components/settings/SettingsView.tsx
index d3d6e89dad..45ea5f0664 100644
--- a/webview-ui/src/components/settings/SettingsView.tsx
+++ b/webview-ui/src/components/settings/SettingsView.tsx
@@ -290,7 +290,7 @@ const SettingsView = forwardRef(({ onDone, t
vscode.postMessage({ type: "maxWorkspaceFiles", value: maxWorkspaceFiles ?? 200 })
vscode.postMessage({ type: "showRooIgnoredFiles", bool: showRooIgnoredFiles })
vscode.postMessage({ type: "maxReadFileLine", value: maxReadFileLine ?? -1 })
- vscode.postMessage({ type: "maxConcurrentFileReads", value: cachedState.maxConcurrentFileReads ?? 15 })
+ vscode.postMessage({ type: "maxConcurrentFileReads", value: cachedState.maxConcurrentFileReads ?? 5 })
vscode.postMessage({ type: "currentApiConfigName", text: currentApiConfigName })
vscode.postMessage({ type: "updateExperimental", values: experiments })
vscode.postMessage({ type: "alwaysAllowModeSwitch", bool: alwaysAllowModeSwitch })
@@ -627,6 +627,7 @@ const SettingsView = forwardRef(({ onDone, t
maxWorkspaceFiles={maxWorkspaceFiles ?? 200}
showRooIgnoredFiles={showRooIgnoredFiles}
maxReadFileLine={maxReadFileLine}
+ maxConcurrentFileReads={maxConcurrentFileReads}
setCachedStateField={setCachedStateField}
/>
)}
@@ -656,7 +657,6 @@ const SettingsView = forwardRef(({ onDone, t
({
- useAppTranslation: () => ({
- t: (key: string) => key,
- }),
-}))
-
-// Mock ResizeObserver which is used by the Slider component
-global.ResizeObserver = jest.fn().mockImplementation(() => ({
- observe: jest.fn(),
- unobserve: jest.fn(),
- disconnect: jest.fn(),
-}))
-
-describe("ConcurrentFileReadsExperiment", () => {
- const mockOnEnabledChange = jest.fn()
- const mockOnMaxConcurrentFileReadsChange = jest.fn()
-
- beforeEach(() => {
- jest.clearAllMocks()
- })
-
- it("should render with disabled state", () => {
- render(
- ,
- )
-
- const checkbox = screen.getByTestId("concurrent-file-reads-checkbox")
- expect(checkbox).not.toBeChecked()
-
- // Slider should not be visible when disabled
- expect(screen.queryByTestId("max-concurrent-file-reads-slider")).not.toBeInTheDocument()
- })
-
- it("should render with enabled state", () => {
- render(
- ,
- )
-
- const checkbox = screen.getByTestId("concurrent-file-reads-checkbox")
- expect(checkbox).toBeChecked()
-
- // Slider should be visible when enabled
- expect(screen.getByTestId("max-concurrent-file-reads-slider")).toBeInTheDocument()
- expect(screen.getByText("20")).toBeInTheDocument()
- })
-
- it("should set maxConcurrentFileReads to 15 when enabling from disabled state", () => {
- render(
- ,
- )
-
- const checkbox = screen.getByTestId("concurrent-file-reads-checkbox")
- fireEvent.click(checkbox)
-
- expect(mockOnEnabledChange).toHaveBeenCalledWith(true)
- expect(mockOnMaxConcurrentFileReadsChange).toHaveBeenCalledWith(15)
- })
-
- it("should set maxConcurrentFileReads to 1 when disabling", () => {
- render(
- ,
- )
-
- const checkbox = screen.getByTestId("concurrent-file-reads-checkbox")
- fireEvent.click(checkbox)
-
- expect(mockOnEnabledChange).toHaveBeenCalledWith(false)
- expect(mockOnMaxConcurrentFileReadsChange).toHaveBeenCalledWith(1)
- })
-
- it("should not change maxConcurrentFileReads when enabling if already > 1", () => {
- render(
- ,
- )
-
- const checkbox = screen.getByTestId("concurrent-file-reads-checkbox")
- fireEvent.click(checkbox)
-
- expect(mockOnEnabledChange).toHaveBeenCalledWith(true)
- // Should not call onMaxConcurrentFileReadsChange since value is already > 1
- expect(mockOnMaxConcurrentFileReadsChange).not.toHaveBeenCalled()
- })
-
- it("should update value when slider changes", () => {
- // Since the Slider component doesn't render a standard input,
- // we'll test the component's interaction through its props
- const { rerender } = render(
- ,
- )
-
- // Verify initial value is displayed
- expect(screen.getByText("15")).toBeInTheDocument()
-
- // Simulate the slider change by re-rendering with new value
- rerender(
- ,
- )
-
- // Verify new value is displayed
- expect(screen.getByText("50")).toBeInTheDocument()
- })
-
- it("should display minimum value of 2 when maxConcurrentFileReads is less than 2", () => {
- render(
- ,
- )
-
- // Should display 2 (minimum value) instead of 1
- expect(screen.getByText("2")).toBeInTheDocument()
- })
-
- it("should set maxConcurrentFileReads to 15 when enabling with value of 0", () => {
- render(
- ,
- )
-
- const checkbox = screen.getByTestId("concurrent-file-reads-checkbox")
- fireEvent.click(checkbox)
-
- expect(mockOnEnabledChange).toHaveBeenCalledWith(true)
- expect(mockOnMaxConcurrentFileReadsChange).toHaveBeenCalledWith(15)
- })
-})
diff --git a/webview-ui/src/components/ui/hooks/index.ts b/webview-ui/src/components/ui/hooks/index.ts
index a20daa7f03..46aff4f28d 100644
--- a/webview-ui/src/components/ui/hooks/index.ts
+++ b/webview-ui/src/components/ui/hooks/index.ts
@@ -1,3 +1,2 @@
export * from "./useClipboard"
export * from "./useRooPortal"
-export * from "./useNonInteractiveClick"
diff --git a/webview-ui/src/components/ui/hooks/useNonInteractiveClick.ts b/webview-ui/src/components/ui/hooks/useNonInteractiveClick.ts
deleted file mode 100644
index 13809ff0c7..0000000000
--- a/webview-ui/src/components/ui/hooks/useNonInteractiveClick.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import { useEffect } from "react"
-
-/**
- * Hook that listens for clicks on non-interactive elements and calls the provided handler.
- *
- * Interactive elements (inputs, textareas, selects, contentEditable) are excluded
- * to avoid disrupting user typing or form interactions.
- *
- * @param handler - Function to call when a non-interactive element is clicked
- */
-export function useAddNonInteractiveClickListener(handler: () => void) {
- useEffect(() => {
- const handleContentClick = (e: MouseEvent) => {
- const target = e.target as HTMLElement
-
- // Don't trigger for input elements to avoid disrupting typing
- if (
- target.tagName !== "INPUT" &&
- target.tagName !== "TEXTAREA" &&
- target.tagName !== "SELECT" &&
- !target.isContentEditable
- ) {
- handler()
- }
- }
-
- // Add listener to the document body to handle all clicks
- document.body.addEventListener("click", handleContentClick)
-
- return () => {
- document.body.removeEventListener("click", handleContentClick)
- }
- }, [handler])
-}
diff --git a/webview-ui/src/context/ExtensionStateContext.tsx b/webview-ui/src/context/ExtensionStateContext.tsx
index 5de00cbcd0..e15c247603 100644
--- a/webview-ui/src/context/ExtensionStateContext.tsx
+++ b/webview-ui/src/context/ExtensionStateContext.tsx
@@ -194,7 +194,7 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode
maxReadFileLine: -1, // Default max read file line limit
pinnedApiConfigs: {}, // Empty object for pinned API configs
terminalZshOhMy: false, // Default Oh My Zsh integration setting
- maxConcurrentFileReads: 15, // Default concurrent file reads
+ maxConcurrentFileReads: 5, // Default concurrent file reads
terminalZshP10k: false, // Default Powerlevel10k integration setting
terminalZdotdir: false, // Default ZDOTDIR handling setting
terminalCompressProgressBar: true, // Default to compress progress bar output
diff --git a/webview-ui/src/context/__tests__/ExtensionStateContext.test.tsx b/webview-ui/src/context/__tests__/ExtensionStateContext.test.tsx
index 80b4dcd6ec..b8a6cadf98 100644
--- a/webview-ui/src/context/__tests__/ExtensionStateContext.test.tsx
+++ b/webview-ui/src/context/__tests__/ExtensionStateContext.test.tsx
@@ -225,6 +225,7 @@ describe("mergeExtensionState", () => {
marketplace: false,
concurrentFileReads: true,
disableCompletionCommand: false,
+ multiFileApplyDiff: true,
} as Record,
}
@@ -240,6 +241,7 @@ describe("mergeExtensionState", () => {
marketplace: false,
concurrentFileReads: true,
disableCompletionCommand: false,
+ multiFileApplyDiff: true,
})
})
})
diff --git a/webview-ui/src/hooks/useTooltip.ts b/webview-ui/src/hooks/useTooltip.ts
new file mode 100644
index 0000000000..f098017acf
--- /dev/null
+++ b/webview-ui/src/hooks/useTooltip.ts
@@ -0,0 +1,39 @@
+import { useState, useCallback, useRef } from "react"
+
+interface UseTooltipOptions {
+ delay?: number
+}
+
+export const useTooltip = (options: UseTooltipOptions = {}) => {
+ const { delay = 300 } = options
+ const [showTooltip, setShowTooltip] = useState(false)
+ const timeoutRef = useRef(null)
+
+ const handleMouseEnter = useCallback(() => {
+ if (timeoutRef.current) clearTimeout(timeoutRef.current)
+ timeoutRef.current = setTimeout(() => setShowTooltip(true), delay)
+ }, [delay])
+
+ const handleMouseLeave = useCallback(() => {
+ if (timeoutRef.current) {
+ clearTimeout(timeoutRef.current)
+ timeoutRef.current = null
+ }
+ setShowTooltip(false)
+ }, [])
+
+ // Cleanup on unmount
+ const cleanup = useCallback(() => {
+ if (timeoutRef.current) {
+ clearTimeout(timeoutRef.current)
+ timeoutRef.current = null
+ }
+ }, [])
+
+ return {
+ showTooltip,
+ handleMouseEnter,
+ handleMouseLeave,
+ cleanup,
+ }
+}
diff --git a/webview-ui/src/i18n/locales/ca/chat.json b/webview-ui/src/i18n/locales/ca/chat.json
index a589109e4f..bcc5b64d4f 100644
--- a/webview-ui/src/i18n/locales/ca/chat.json
+++ b/webview-ui/src/i18n/locales/ca/chat.json
@@ -152,7 +152,8 @@
"wantsToInsertWithLineNumber": "Roo vol inserir contingut a la línia {{lineNumber}} d'aquest fitxer:",
"wantsToInsertAtEnd": "Roo vol afegir contingut al final d'aquest fitxer:",
"wantsToReadAndXMore": "En Roo vol llegir aquest fitxer i {{count}} més:",
- "wantsToReadMultiple": "Roo vol llegir diversos fitxers:"
+ "wantsToReadMultiple": "Roo vol llegir diversos fitxers:",
+ "wantsToApplyBatchChanges": "Roo vol aplicar canvis a múltiples fitxers:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo vol veure els fitxers de nivell superior en aquest directori:",
@@ -215,9 +216,9 @@
"title": "🎉 Roo Code {{version}} publicat",
"description": "Roo Code {{version}} porta noves funcionalitats potents i millores basades en els teus comentaris.",
"whatsNew": "Novetats",
- "feature1": "Condensació intel·ligent de context activada per defecte: La condensació de context ara està activada per defecte amb configuracions configurables per quan es produeix la condensació automàtica",
- "feature2": "Botó de condensació manual: Nou botó a la capçalera de tasques que et permet activar manualment la condensació de context en qualsevol moment",
- "feature3": "Configuració avançada de condensació: Ajusta quan i com es produeix la condensació automàtica a través de Configuració de context",
+ "feature1": "Marketplace Experimental: Descobreix i instal·la modes i MCP del nou marketplace (activa'l a la Configuració Experimental)",
+ "feature2": "Operacions de fitxer millorades: Operacions d'escriptura multi-concurrent experimentals i lectura concurrent ara disponibles a la Configuració de Context",
+ "feature3": "Millores MCP i més: Suport MCP millorat, controls Mermaid, suport Amazon Bedrock thinking, i més!",
"hideButton": "Amagar anunci",
"detailsDiscussLinks": "Obtingues més detalls i participa a Discord i Reddit 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "Denegar tot"
}
+ },
+ "indexingStatus": {
+ "ready": "Índex preparat",
+ "indexing": "Indexant {{percentage}}%",
+ "indexed": "Indexat",
+ "error": "Error d'índex",
+ "status": "Estat de l'índex"
}
}
diff --git a/webview-ui/src/i18n/locales/ca/common.json b/webview-ui/src/i18n/locales/ca/common.json
index 3043e6d3c3..267e0a62d7 100644
--- a/webview-ui/src/i18n/locales/ca/common.json
+++ b/webview-ui/src/i18n/locales/ca/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "Generant diagrama mermaid...",
- "render_error": "No es pot renderitzar el diagrama"
+ "render_error": "No es pot renderitzar el diagrama",
+ "buttons": {
+ "zoom": "Zoom",
+ "zoomIn": "Ampliar",
+ "zoomOut": "Reduir",
+ "copy": "Copiar",
+ "save": "Desar imatge",
+ "viewCode": "Veure codi",
+ "viewDiagram": "Veure diagrama",
+ "close": "Tancar"
+ },
+ "modal": {
+ "codeTitle": "Codi Mermaid"
+ },
+ "tabs": {
+ "diagram": "Diagrama",
+ "code": "Codi"
+ },
+ "feedback": {
+ "imageCopied": "Imatge copiada al porta-retalls",
+ "copyError": "Error copiant la imatge"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "Format d'URI de dades no vàlid",
+ "copyingImage": "Error copiant la imatge: {{error}}",
+ "openingImage": "Error obrint la imatge: {{error}}",
+ "pathNotExists": "El camí no existeix: {{path}}",
+ "couldNotOpen": "No s'ha pogut obrir el fitxer: {{error}}",
+ "couldNotOpenGeneric": "No s'ha pogut obrir el fitxer!"
+ },
+ "success": {
+ "imageDataUriCopied": "URI de dades de la imatge copiada al porta-retalls"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/ca/marketplace.json b/webview-ui/src/i18n/locales/ca/marketplace.json
index 9783a68c25..4190379620 100644
--- a/webview-ui/src/i18n/locales/ca/marketplace.json
+++ b/webview-ui/src/i18n/locales/ca/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "Els caràcters emoji poden causar problemes de visualització",
"maxSources": "Màxim de {{max}} fonts permeses"
}
+ },
+ "footer": {
+ "issueText": "Has trobat un problema amb un element del marketplace o tens suggeriments per a nous elements? <0>Obre una incidència de GitHub0> per fer-nos-ho saber!"
}
}
diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json
index c5a03cdc7f..edadf729ed 100644
--- a/webview-ui/src/i18n/locales/ca/settings.json
+++ b/webview-ui/src/i18n/locales/ca/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "Desactivar l'execució de comandes a attempt_completion",
"description": "Quan està activat, l'eina attempt_completion no executarà comandes. Aquesta és una característica experimental per preparar la futura eliminació de l'execució de comandes en la finalització de tasques."
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "Habilita edicions de fitxers concurrents",
+ "description": "Quan està activat, Roo pot editar múltiples fitxers en una sola petició. Quan està desactivat, Roo ha d'editar fitxers d'un en un. Desactivar això pot ajudar quan es treballa amb models menys capaços o quan vols més control sobre les modificacions de fitxers."
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/de/chat.json b/webview-ui/src/i18n/locales/de/chat.json
index aac9231bf9..f9a8180670 100644
--- a/webview-ui/src/i18n/locales/de/chat.json
+++ b/webview-ui/src/i18n/locales/de/chat.json
@@ -152,7 +152,8 @@
"wantsToInsert": "Roo möchte Inhalte in diese Datei einfügen:",
"wantsToInsertWithLineNumber": "Roo möchte Inhalte in diese Datei in Zeile {{lineNumber}} einfügen:",
"wantsToInsertAtEnd": "Roo möchte Inhalte am Ende dieser Datei anhängen:",
- "wantsToReadMultiple": "Roo möchte mehrere Dateien lesen:"
+ "wantsToReadMultiple": "Roo möchte mehrere Dateien lesen:",
+ "wantsToApplyBatchChanges": "Roo möchte Änderungen an mehreren Dateien vornehmen:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo möchte die Dateien auf oberster Ebene in diesem Verzeichnis anzeigen:",
@@ -215,9 +216,9 @@
"title": "🎉 Roo Code {{version}} veröffentlicht",
"description": "Roo Code {{version}} bringt leistungsstarke neue Funktionen und Verbesserungen basierend auf deinem Feedback.",
"whatsNew": "Was ist neu",
- "feature1": "Intelligente Kontext-Kondensierung standardmäßig aktiviert: Kontext-Kondensierung ist jetzt standardmäßig aktiviert mit konfigurierbaren Einstellungen für automatische Kondensierung",
- "feature2": "Manueller Kondensierungs-Button: Neuer Button im Task-Header ermöglicht es dir, Kontext-Kondensierung jederzeit manuell auszulösen",
- "feature3": "Erweiterte Kondensierungs-Einstellungen: Feinabstimmung wann und wie automatische Kondensierung über die Kontext-Einstellungen erfolgt",
+ "feature1": "Experimenteller Marketplace: Entdecke und installiere Modi und MCPs im neuen Marketplace (aktivierbar in den Experimentellen Einstellungen)",
+ "feature2": "Verbesserte Dateioperationen: Mehrere gleichzeitige Dateischreibvorgänge in experimentellen Einstellungen und gleichzeitige Lesevorgänge jetzt in den Kontext-Einstellungen",
+ "feature3": "MCP-Verbesserungen & mehr: Erweiterte MCP-Unterstützung, Mermaid-Steuerungen, Amazon Bedrock Thinking-Unterstützung und vieles mehr!",
"hideButton": "Ankündigung ausblenden",
"detailsDiscussLinks": "Erhalte mehr Details und diskutiere auf Discord und Reddit 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "Alle ablehnen"
}
+ },
+ "indexingStatus": {
+ "ready": "Index bereit",
+ "indexing": "Indizierung {{percentage}}%",
+ "indexed": "Indiziert",
+ "error": "Index-Fehler",
+ "status": "Index-Status"
}
}
diff --git a/webview-ui/src/i18n/locales/de/common.json b/webview-ui/src/i18n/locales/de/common.json
index 49a7fd4018..76b9064bc3 100644
--- a/webview-ui/src/i18n/locales/de/common.json
+++ b/webview-ui/src/i18n/locales/de/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "Mermaid-Diagramm wird generiert...",
- "render_error": "Diagramm kann nicht gerendert werden"
+ "render_error": "Diagramm kann nicht gerendert werden",
+ "buttons": {
+ "zoom": "Zoom",
+ "zoomIn": "Vergrößern",
+ "zoomOut": "Verkleinern",
+ "copy": "Kopieren",
+ "save": "Bild speichern",
+ "viewCode": "Code anzeigen",
+ "viewDiagram": "Diagramm anzeigen",
+ "close": "Schließen"
+ },
+ "modal": {
+ "codeTitle": "Mermaid-Code"
+ },
+ "tabs": {
+ "diagram": "Diagramm",
+ "code": "Code"
+ },
+ "feedback": {
+ "imageCopied": "Bild in die Zwischenablage kopiert",
+ "copyError": "Fehler beim Kopieren des Bildes"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "Ungültiges Daten-URI-Format",
+ "copyingImage": "Fehler beim Kopieren des Bildes: {{error}}",
+ "openingImage": "Fehler beim Öffnen des Bildes: {{error}}",
+ "pathNotExists": "Pfad existiert nicht: {{path}}",
+ "couldNotOpen": "Datei konnte nicht geöffnet werden: {{error}}",
+ "couldNotOpenGeneric": "Datei konnte nicht geöffnet werden!"
+ },
+ "success": {
+ "imageDataUriCopied": "Bild-Daten-URI in die Zwischenablage kopiert"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/de/marketplace.json b/webview-ui/src/i18n/locales/de/marketplace.json
index 41d70d4dc4..9bd6c4c849 100644
--- a/webview-ui/src/i18n/locales/de/marketplace.json
+++ b/webview-ui/src/i18n/locales/de/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "Emoji-Zeichen können Anzeigefehler verursachen",
"maxSources": "Maximal {{max}} Quellen erlaubt"
}
+ },
+ "footer": {
+ "issueText": "Problem mit einem Marketplace-Element gefunden oder Vorschläge für neue? <0>Öffne ein GitHub-Issue0>, um es uns mitzuteilen!"
}
}
diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json
index 47b77cd888..6597d8f717 100644
--- a/webview-ui/src/i18n/locales/de/settings.json
+++ b/webview-ui/src/i18n/locales/de/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "Befehlsausführung in attempt_completion deaktivieren",
"description": "Wenn aktiviert, führt das Tool attempt_completion keine Befehle aus. Dies ist eine experimentelle Funktion, um die Abschaffung der Befehlsausführung bei Aufgabenabschluss vorzubereiten."
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "Gleichzeitige Dateibearbeitungen aktivieren",
+ "description": "Wenn aktiviert, kann Roo mehrere Dateien in einer einzigen Anfrage bearbeiten. Wenn deaktiviert, muss Roo Dateien einzeln bearbeiten. Das Deaktivieren kann helfen, wenn du mit weniger fähigen Modellen arbeitest oder mehr Kontrolle über Dateiänderungen haben möchtest."
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/en/chat.json b/webview-ui/src/i18n/locales/en/chat.json
index 156ca523ee..5a4e359838 100644
--- a/webview-ui/src/i18n/locales/en/chat.json
+++ b/webview-ui/src/i18n/locales/en/chat.json
@@ -156,6 +156,7 @@
"didRead": "Roo read this file:",
"wantsToEdit": "Roo wants to edit this file:",
"wantsToEditOutsideWorkspace": "Roo wants to edit this file outside of the workspace:",
+ "wantsToApplyBatchChanges": "Roo wants to apply changes to multiple files:",
"wantsToCreate": "Roo wants to create a new file:",
"wantsToSearchReplace": "Roo wants to search and replace in this file:",
"didSearchReplace": "Roo performed search and replace on this file:",
@@ -219,11 +220,11 @@
},
"announcement": {
"title": "🎉 Roo Code {{version}} Released",
- "description": "Roo Code {{version}} brings powerful new features and improvements based on your feedback.",
+ "description": "Roo Code {{version}} brings major new features and improvements based on your feedback.",
"whatsNew": "What's New",
- "feature1": "Intelligent Context Condensing Enabled by Default: Context condensing is now enabled by default with configurable settings for when automatic condensing happens",
- "feature2": "Manual Condensing Button: New button in the task header allows you to manually trigger context condensing at any time",
- "feature3": "Enhanced Condensing Settings: Fine-tune when and how automatic condensing occurs through the Context Settings",
+ "feature1": "Experimental Marketplace: Discover and install modes and MCPs from the new marketplace (enable in Experimental Settings)",
+ "feature2": "Enhanced File Operations: Multiple concurrent file writes in experimental settings, and concurrent reads now in Context Settings",
+ "feature3": "MCP Improvements & More: Enhanced MCP support, Mermaid controls, Amazon Bedrock thinking support, and much more!",
"hideButton": "Hide announcement",
"detailsDiscussLinks": "Get more details and discuss in Discord and Reddit 🚀"
},
@@ -278,5 +279,12 @@
"description": "Roo has reached the auto-approved limit of {{count}} API request(s). Would you like to reset the count and proceed with the task?",
"button": "Reset and Continue"
}
+ },
+ "indexingStatus": {
+ "ready": "Index ready",
+ "indexing": "Indexing {{percentage}}%",
+ "indexed": "Indexed",
+ "error": "Index error",
+ "status": "Index status"
}
}
diff --git a/webview-ui/src/i18n/locales/en/common.json b/webview-ui/src/i18n/locales/en/common.json
index c68e64484e..1488f00f46 100644
--- a/webview-ui/src/i18n/locales/en/common.json
+++ b/webview-ui/src/i18n/locales/en/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "Generating mermaid diagram...",
- "render_error": "Unable to Render Diagram"
+ "render_error": "Unable to Render Diagram",
+ "buttons": {
+ "zoom": "Zoom",
+ "zoomIn": "Zoom In",
+ "zoomOut": "Zoom Out",
+ "copy": "Copy",
+ "save": "Save Image",
+ "viewCode": "View Code",
+ "viewDiagram": "View Diagram",
+ "close": "Close"
+ },
+ "modal": {
+ "codeTitle": "Mermaid Code"
+ },
+ "tabs": {
+ "diagram": "Diagram",
+ "code": "Code"
+ },
+ "feedback": {
+ "imageCopied": "Image copied to clipboard",
+ "copyError": "Error copying image"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "Invalid data URI format",
+ "copyingImage": "Error copying image: {{error}}",
+ "openingImage": "Error opening image: {{error}}",
+ "pathNotExists": "Path does not exist: {{path}}",
+ "couldNotOpen": "Could not open file: {{error}}",
+ "couldNotOpenGeneric": "Could not open file!"
+ },
+ "success": {
+ "imageDataUriCopied": "Image data URI copied to clipboard"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/en/marketplace.json b/webview-ui/src/i18n/locales/en/marketplace.json
index bb7d29eba1..32c64f9bda 100644
--- a/webview-ui/src/i18n/locales/en/marketplace.json
+++ b/webview-ui/src/i18n/locales/en/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "Emoji characters may cause display issues",
"maxSources": "Maximum of {{max}} sources allowed"
}
+ },
+ "footer": {
+ "issueText": "Found a problem with a marketplace item or have suggestions for new ones? <0>Open a GitHub issue0> to let us know!"
}
}
diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json
index 37a22bdca5..d1c30270cf 100644
--- a/webview-ui/src/i18n/locales/en/settings.json
+++ b/webview-ui/src/i18n/locales/en/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "Disable command execution in attempt_completion",
"description": "When enabled, the attempt_completion tool will not execute commands. This is an experimental feature to prepare for deprecating command execution in task completion."
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "Enable concurrent file edits",
+ "description": "When enabled, Roo can edit multiple files in a single request. When disabled, Roo must edit files one at a time. Disabling this can help when working with less capable models or when you want more control over file modifications."
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/es/chat.json b/webview-ui/src/i18n/locales/es/chat.json
index 39cf064cf2..9a1f0155f5 100644
--- a/webview-ui/src/i18n/locales/es/chat.json
+++ b/webview-ui/src/i18n/locales/es/chat.json
@@ -152,7 +152,8 @@
"wantsToInsertWithLineNumber": "Roo quiere insertar contenido en este archivo en la línea {{lineNumber}}:",
"wantsToInsertAtEnd": "Roo quiere añadir contenido al final de este archivo:",
"wantsToReadAndXMore": "Roo quiere leer este archivo y {{count}} más:",
- "wantsToReadMultiple": "Roo quiere leer varios archivos:"
+ "wantsToReadMultiple": "Roo quiere leer varios archivos:",
+ "wantsToApplyBatchChanges": "Roo quiere aplicar cambios a múltiples archivos:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo quiere ver los archivos de nivel superior en este directorio:",
@@ -215,9 +216,9 @@
"title": "🎉 Roo Code {{version}} publicado",
"description": "Roo Code {{version}} trae potentes nuevas funcionalidades y mejoras basadas en tus comentarios.",
"whatsNew": "Novedades",
- "feature1": "Condensación Inteligente de Contexto Habilitada por Defecto: La condensación de contexto ahora está habilitada por defecto con configuraciones ajustables para cuando ocurre la condensación automática",
- "feature2": "Botón de Condensación Manual: Nuevo botón en el encabezado de tareas te permite activar manualmente la condensación de contexto en cualquier momento",
- "feature3": "Configuraciones de Condensación Mejoradas: Ajusta cuándo y cómo ocurre la condensación automática a través de la Configuración de Contexto",
+ "feature1": "Marketplace Experimental: Descubre e instala modos y MCPs desde el nuevo marketplace (habilitar en Configuración Experimental)",
+ "feature2": "Operaciones de Archivo Mejoradas: Múltiples escrituras concurrentes de archivos en configuración experimental, y lecturas concurrentes ahora en Configuración de Contexto",
+ "feature3": "Mejoras de MCP y más: Soporte MCP mejorado, controles Mermaid, soporte para Amazon Bedrock thinking, ¡y mucho más!",
"hideButton": "Ocultar anuncio",
"detailsDiscussLinks": "Obtén más detalles y participa en Discord y Reddit 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "Denegar todo"
}
+ },
+ "indexingStatus": {
+ "ready": "Índice listo",
+ "indexing": "Indexando {{percentage}}%",
+ "indexed": "Indexado",
+ "error": "Error de índice",
+ "status": "Estado del índice"
}
}
diff --git a/webview-ui/src/i18n/locales/es/common.json b/webview-ui/src/i18n/locales/es/common.json
index cca7966e12..5fe624372f 100644
--- a/webview-ui/src/i18n/locales/es/common.json
+++ b/webview-ui/src/i18n/locales/es/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "Generando diagrama mermaid...",
- "render_error": "No se puede renderizar el diagrama"
+ "render_error": "No se puede renderizar el diagrama",
+ "buttons": {
+ "zoom": "Zoom",
+ "zoomIn": "Ampliar",
+ "zoomOut": "Reducir",
+ "copy": "Copiar",
+ "save": "Guardar imagen",
+ "viewCode": "Ver código",
+ "viewDiagram": "Ver diagrama",
+ "close": "Cerrar"
+ },
+ "modal": {
+ "codeTitle": "Código Mermaid"
+ },
+ "tabs": {
+ "diagram": "Diagrama",
+ "code": "Código"
+ },
+ "feedback": {
+ "imageCopied": "Imagen copiada al portapapeles",
+ "copyError": "Error copiando la imagen"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "Formato de URI de datos inválido",
+ "copyingImage": "Error copiando la imagen: {{error}}",
+ "openingImage": "Error abriendo la imagen: {{error}}",
+ "pathNotExists": "La ruta no existe: {{path}}",
+ "couldNotOpen": "No se pudo abrir el archivo: {{error}}",
+ "couldNotOpenGeneric": "¡No se pudo abrir el archivo!"
+ },
+ "success": {
+ "imageDataUriCopied": "URI de datos de imagen copiada al portapapeles"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/es/marketplace.json b/webview-ui/src/i18n/locales/es/marketplace.json
index 326b88045c..f2a7de86fa 100644
--- a/webview-ui/src/i18n/locales/es/marketplace.json
+++ b/webview-ui/src/i18n/locales/es/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "Los caracteres emoji pueden causar problemas de visualización",
"maxSources": "Máximo de {{max}} fuentes permitidas"
}
+ },
+ "footer": {
+ "issueText": "¿Encontraste un problema con un elemento del marketplace o tienes sugerencias para nuevos? ¡<0>Abre un issue en GitHub0> para hacérnoslo saber!"
}
}
diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json
index 3c9d423b8f..c9a356e4cd 100644
--- a/webview-ui/src/i18n/locales/es/settings.json
+++ b/webview-ui/src/i18n/locales/es/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "Desactivar la ejecución de comandos en attempt_completion",
"description": "Cuando está activado, la herramienta attempt_completion no ejecutará comandos. Esta es una función experimental para preparar la futura eliminación de la ejecución de comandos en la finalización de tareas."
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "Habilitar ediciones de archivos concurrentes",
+ "description": "Cuando está habilitado, Roo puede editar múltiples archivos en una sola solicitud. Cuando está deshabilitado, Roo debe editar archivos de uno en uno. Deshabilitar esto puede ayudar cuando trabajas con modelos menos capaces o cuando quieres más control sobre las modificaciones de archivos."
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/fr/chat.json b/webview-ui/src/i18n/locales/fr/chat.json
index 62d018c5cd..2abb62905c 100644
--- a/webview-ui/src/i18n/locales/fr/chat.json
+++ b/webview-ui/src/i18n/locales/fr/chat.json
@@ -149,7 +149,8 @@
"wantsToInsertWithLineNumber": "Roo veut insérer du contenu dans ce fichier à la ligne {{lineNumber}} :",
"wantsToInsertAtEnd": "Roo veut ajouter du contenu à la fin de ce fichier :",
"wantsToReadAndXMore": "Roo veut lire ce fichier et {{count}} de plus :",
- "wantsToReadMultiple": "Roo souhaite lire plusieurs fichiers :"
+ "wantsToReadMultiple": "Roo souhaite lire plusieurs fichiers :",
+ "wantsToApplyBatchChanges": "Roo veut appliquer des modifications à plusieurs fichiers :"
},
"instructions": {
"wantsToFetch": "Roo veut récupérer des instructions détaillées pour aider à la tâche actuelle"
@@ -215,9 +216,9 @@
"title": "🎉 Roo Code {{version}} est sortie",
"description": "Roo Code {{version}} apporte de puissantes nouvelles fonctionnalités et améliorations basées sur vos retours.",
"whatsNew": "Quoi de neuf",
- "feature1": "Condensation Intelligente du Contexte Activée par Défaut : La condensation du contexte est maintenant activée par défaut avec des paramètres configurables pour quand la condensation automatique se produit",
- "feature2": "Bouton de Condensation Manuelle : Nouveau bouton dans l'en-tête des tâches qui te permet de déclencher manuellement la condensation du contexte à tout moment",
- "feature3": "Paramètres de Condensation Améliorés : Ajuste quand et comment la condensation automatique se produit via les Paramètres de Contexte",
+ "feature1": "Marketplace Expérimental : Découvrez et installez des modes et des MCPs depuis le nouveau marketplace (à activer dans Paramètres Expérimentaux)",
+ "feature2": "Opérations de Fichiers Améliorées : Écritures de fichiers concurrentes multiples dans les paramètres expérimentaux, et lectures concurrentes maintenant dans Paramètres de Contexte",
+ "feature3": "Améliorations MCP et plus : Support MCP amélioré, contrôles Mermaid, support Amazon Bedrock thinking, et bien plus !",
"hideButton": "Masquer l'annonce",
"detailsDiscussLinks": "Obtenez plus de détails et participez aux discussions sur Discord et Reddit 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "Tout refuser"
}
+ },
+ "indexingStatus": {
+ "ready": "Index prêt",
+ "indexing": "Indexation {{percentage}}%",
+ "indexed": "Indexé",
+ "error": "Erreur d'index",
+ "status": "Statut de l'index"
}
}
diff --git a/webview-ui/src/i18n/locales/fr/common.json b/webview-ui/src/i18n/locales/fr/common.json
index b453214988..677116ff2a 100644
--- a/webview-ui/src/i18n/locales/fr/common.json
+++ b/webview-ui/src/i18n/locales/fr/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "Génération du diagramme mermaid...",
- "render_error": "Impossible de rendre le diagramme"
+ "render_error": "Impossible de rendre le diagramme",
+ "buttons": {
+ "zoom": "Zoom",
+ "zoomIn": "Agrandir",
+ "zoomOut": "Réduire",
+ "copy": "Copier",
+ "save": "Enregistrer l'image",
+ "viewCode": "Voir le code",
+ "viewDiagram": "Voir le diagramme",
+ "close": "Fermer"
+ },
+ "modal": {
+ "codeTitle": "Code Mermaid"
+ },
+ "tabs": {
+ "diagram": "Diagramme",
+ "code": "Code"
+ },
+ "feedback": {
+ "imageCopied": "Image copiée dans le presse-papiers",
+ "copyError": "Erreur lors de la copie de l'image"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "Format d'URI de données invalide",
+ "copyingImage": "Erreur lors de la copie de l'image : {{error}}",
+ "openingImage": "Erreur lors de l'ouverture de l'image : {{error}}",
+ "pathNotExists": "Le chemin n'existe pas : {{path}}",
+ "couldNotOpen": "Impossible d'ouvrir le fichier : {{error}}",
+ "couldNotOpenGeneric": "Impossible d'ouvrir le fichier !"
+ },
+ "success": {
+ "imageDataUriCopied": "URI de données d'image copiée dans le presse-papiers"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/fr/marketplace.json b/webview-ui/src/i18n/locales/fr/marketplace.json
index 50faed130a..132951245d 100644
--- a/webview-ui/src/i18n/locales/fr/marketplace.json
+++ b/webview-ui/src/i18n/locales/fr/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "Les caractères emoji peuvent causer des problèmes d'affichage",
"maxSources": "Maximum de {{max}} sources autorisées"
}
+ },
+ "footer": {
+ "issueText": "Vous avez trouvé un problème avec un élément du marketplace ou avez des suggestions pour de nouveaux éléments ? <0>Ouvrez une issue GitHub0> pour nous le faire savoir !"
}
}
diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json
index 01d8980986..430c879396 100644
--- a/webview-ui/src/i18n/locales/fr/settings.json
+++ b/webview-ui/src/i18n/locales/fr/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "Désactiver l'exécution des commandes dans attempt_completion",
"description": "Lorsque cette option est activée, l'outil attempt_completion n'exécutera pas de commandes. Il s'agit d'une fonctionnalité expérimentale visant à préparer la dépréciation de l'exécution des commandes lors de la finalisation des tâches."
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "Activer les éditions de fichiers concurrentes",
+ "description": "Lorsque cette option est activée, Roo peut éditer plusieurs fichiers en une seule requête. Lorsqu'elle est désactivée, Roo doit éditer les fichiers un par un. Désactiver cette option peut aider lorsque tu travailles avec des modèles moins capables ou lorsque tu veux plus de contrôle sur les modifications de fichiers."
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/hi/chat.json b/webview-ui/src/i18n/locales/hi/chat.json
index 9c10c57c0d..fcfca2f47f 100644
--- a/webview-ui/src/i18n/locales/hi/chat.json
+++ b/webview-ui/src/i18n/locales/hi/chat.json
@@ -152,7 +152,8 @@
"wantsToInsertWithLineNumber": "Roo इस फ़ाइल की {{lineNumber}} लाइन पर सामग्री डालना चाहता है:",
"wantsToInsertAtEnd": "Roo इस फ़ाइल के अंत में सामग्री जोड़ना चाहता है:",
"wantsToReadAndXMore": "रू इस फ़ाइल को और {{count}} अन्य को पढ़ना चाहता है:",
- "wantsToReadMultiple": "Roo कई फ़ाइलें पढ़ना चाहता है:"
+ "wantsToReadMultiple": "Roo कई फ़ाइलें पढ़ना चाहता है:",
+ "wantsToApplyBatchChanges": "Roo कई फ़ाइलों में परिवर्तन लागू करना चाहता है:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo इस निर्देशिका में शीर्ष स्तर की फ़ाइलें देखना चाहता है:",
@@ -215,9 +216,9 @@
"title": "🎉 Roo Code {{version}} रिलीज़ हुआ",
"description": "Roo Code {{version}} आपके फीडबैक के आधार पर शक्तिशाली नई सुविधाएँ और सुधार लाता है।",
"whatsNew": "नई सुविधाएँ",
- "feature1": "बुद्धिमान संदर्भ संघनन डिफ़ॉल्ट रूप से सक्षम: संदर्भ संघनन अब डिफ़ॉल्ट रूप से सक्षम है और स्वचालित संघनन कब होगा इसके लिए कॉन्फ़िगरेबल सेटिंग्स हैं",
- "feature2": "मैन्युअल संघनन बटन: कार्य हेडर में नया बटन आपको किसी भी समय मैन्युअल रूप से संदर्भ संघनन ट्रिगर करने की अनुमति देता है",
- "feature3": "उन्नत संघनन सेटिंग्स: संदर्भ सेटिंग्स के माध्यम से स्वचालित संघनन कब और कैसे होता है इसे फाइन-ट्यून करें",
+ "feature1": "प्रयोगात्मक मार्केटप्लेस: नए marketplace से modes और MCP खोजें और इंस्टॉल करें (प्रयोगात्मक सेटिंग्स में सक्षम करें)",
+ "feature2": "उन्नत फ़ाइल संचालन: प्रयोगात्मक multi-concurrent फ़ाइल write संचालन और concurrent reading अब संदर्भ सेटिंग्स में उपलब्ध है",
+ "feature3": "MCP सुधार और अधिक: उन्नत MCP समर्थन, Mermaid नियंत्रण, Amazon Bedrock thinking समर्थन, और अधिक!",
"hideButton": "घोषणा छिपाएँ",
"detailsDiscussLinks": "Discord और Reddit पर अधिक जानकारी प्राप्त करें और चर्चा में भाग लें 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "सभी अस्वीकार करें"
}
+ },
+ "indexingStatus": {
+ "ready": "इंडेक्स तैयार",
+ "indexing": "इंडेक्सिंग {{percentage}}%",
+ "indexed": "इंडेक्स किया गया",
+ "error": "इंडेक्स त्रुटि",
+ "status": "इंडेक्स स्थिति"
}
}
diff --git a/webview-ui/src/i18n/locales/hi/common.json b/webview-ui/src/i18n/locales/hi/common.json
index 250af8d47e..77876eb274 100644
--- a/webview-ui/src/i18n/locales/hi/common.json
+++ b/webview-ui/src/i18n/locales/hi/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "मरमेड डायग्राम जनरेट हो रहा है...",
- "render_error": "डायग्राम रेंडर नहीं किया जा सकता"
+ "render_error": "डायग्राम रेंडर नहीं किया जा सकता",
+ "buttons": {
+ "zoom": "ज़ूम",
+ "zoomIn": "बड़ा करें",
+ "zoomOut": "छोटा करें",
+ "copy": "कॉपी करें",
+ "save": "छवि सहेजें",
+ "viewCode": "कोड देखें",
+ "viewDiagram": "डायग्राम देखें",
+ "close": "बंद करें"
+ },
+ "modal": {
+ "codeTitle": "मरमेड कोड"
+ },
+ "tabs": {
+ "diagram": "डायग्राम",
+ "code": "कोड"
+ },
+ "feedback": {
+ "imageCopied": "इमेज क्लिपबोर्ड में कॉपी हो गई",
+ "copyError": "इमेज कॉपी करने में त्रुटि"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "अमान्य डेटा URI फॉर्मेट",
+ "copyingImage": "इमेज कॉपी करने में त्रुटि: {{error}}",
+ "openingImage": "इमेज खोलने में त्रुटि: {{error}}",
+ "pathNotExists": "पथ मौजूद नहीं है: {{path}}",
+ "couldNotOpen": "फ़ाइल नहीं खोली जा सकी: {{error}}",
+ "couldNotOpenGeneric": "फ़ाइल नहीं खोली जा सकी!"
+ },
+ "success": {
+ "imageDataUriCopied": "इमेज डेटा URI क्लिपबोर्ड में कॉपी हो गया"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/hi/marketplace.json b/webview-ui/src/i18n/locales/hi/marketplace.json
index ec87a6e49d..eb5132f73a 100644
--- a/webview-ui/src/i18n/locales/hi/marketplace.json
+++ b/webview-ui/src/i18n/locales/hi/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "इमोजी वर्ण प्रदर्शन समस्याएं पैदा कर सकते हैं",
"maxSources": "अधिकतम {{max}} स्रोतों की अनुमति है"
}
+ },
+ "footer": {
+ "issueText": "कोई marketplace आइटम के साथ समस्या है या नए आइटम के लिए सुझाव हैं? <0>GitHub issue खोलें0> हमें बताने के लिए!"
}
}
diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json
index c0fd1e9efb..31ab2191d5 100644
--- a/webview-ui/src/i18n/locales/hi/settings.json
+++ b/webview-ui/src/i18n/locales/hi/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "attempt_completion में कमांड निष्पादन अक्षम करें",
"description": "जब सक्षम किया जाता है, तो attempt_completion टूल कमांड निष्पादित नहीं करेगा। यह कार्य पूर्ण होने पर कमांड निष्पादन को पदावनत करने की तैयारी के लिए एक प्रयोगात्मक सुविधा है।"
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "समानांतर फ़ाइल संपादन सक्षम करें",
+ "description": "जब सक्षम किया जाता है, तो Roo एक ही अनुरोध में कई फ़ाइलों को संपादित कर सकता है। जब अक्षम किया जाता है, तो Roo को एक समय में एक फ़ाइल संपादित करनी होगी। इसे अक्षम करना तब मदद कर सकता है जब आप कम सक्षम मॉडल के साथ काम कर रहे हों या जब आप फ़ाइल संशोधनों पर अधिक नियंत्रण चाहते हों।"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/it/chat.json b/webview-ui/src/i18n/locales/it/chat.json
index 26dce52655..2007303f76 100644
--- a/webview-ui/src/i18n/locales/it/chat.json
+++ b/webview-ui/src/i18n/locales/it/chat.json
@@ -152,7 +152,8 @@
"wantsToInsertWithLineNumber": "Roo vuole inserire contenuto in questo file alla riga {{lineNumber}}:",
"wantsToInsertAtEnd": "Roo vuole aggiungere contenuto alla fine di questo file:",
"wantsToReadAndXMore": "Roo vuole leggere questo file e altri {{count}}:",
- "wantsToReadMultiple": "Roo vuole leggere più file:"
+ "wantsToReadMultiple": "Roo vuole leggere più file:",
+ "wantsToApplyBatchChanges": "Roo vuole applicare modifiche a più file:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo vuole visualizzare i file di primo livello in questa directory:",
@@ -215,9 +216,9 @@
"title": "🎉 Rilasciato Roo Code {{version}}",
"description": "Roo Code {{version}} introduce potenti nuove funzionalità e miglioramenti basati sui tuoi feedback.",
"whatsNew": "Novità",
- "feature1": "Condensazione Intelligente del Contesto Abilitata di Default: La condensazione del contesto è ora abilitata di default con impostazioni configurabili per quando avviene la condensazione automatica",
- "feature2": "Pulsante di Condensazione Manuale: Nuovo pulsante nell'intestazione delle attività che ti permette di attivare manualmente la condensazione del contesto in qualsiasi momento",
- "feature3": "Impostazioni di Condensazione Migliorate: Regola quando e come avviene la condensazione automatica tramite le Impostazioni di Contesto",
+ "feature1": "Marketplace Sperimentale: Scopri e installa modalità e MCP dal nuovo marketplace (abilita in Impostazioni Sperimentali)",
+ "feature2": "Operazioni sui File Migliorate: Scritture multiple di file concorrenti nelle impostazioni sperimentali, e letture concorrenti ora in Impostazioni di Contesto",
+ "feature3": "Miglioramenti MCP e altro: Supporto MCP migliorato, controlli Mermaid, supporto per Amazon Bedrock thinking, e molto altro!",
"hideButton": "Nascondi annuncio",
"detailsDiscussLinks": "Ottieni maggiori dettagli e partecipa alle discussioni su Discord e Reddit 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "Nega tutto"
}
+ },
+ "indexingStatus": {
+ "ready": "Indice pronto",
+ "indexing": "Indicizzazione {{percentage}}%",
+ "indexed": "Indicizzato",
+ "error": "Errore indice",
+ "status": "Stato indice"
}
}
diff --git a/webview-ui/src/i18n/locales/it/common.json b/webview-ui/src/i18n/locales/it/common.json
index 06915332cd..9d5426aa0e 100644
--- a/webview-ui/src/i18n/locales/it/common.json
+++ b/webview-ui/src/i18n/locales/it/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "Generazione del diagramma mermaid...",
- "render_error": "Impossibile renderizzare il diagramma"
+ "render_error": "Impossibile renderizzare il diagramma",
+ "buttons": {
+ "zoom": "Zoom",
+ "zoomIn": "Ingrandisci",
+ "zoomOut": "Riduci",
+ "copy": "Copia",
+ "save": "Salva immagine",
+ "viewCode": "Visualizza codice",
+ "viewDiagram": "Visualizza diagramma",
+ "close": "Chiudi"
+ },
+ "modal": {
+ "codeTitle": "Codice Mermaid"
+ },
+ "tabs": {
+ "diagram": "Diagramma",
+ "code": "Codice"
+ },
+ "feedback": {
+ "imageCopied": "Immagine copiata negli appunti",
+ "copyError": "Errore nella copia dell'immagine"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "Formato URI dati non valido",
+ "copyingImage": "Errore nella copia dell'immagine: {{error}}",
+ "openingImage": "Errore nell'apertura dell'immagine: {{error}}",
+ "pathNotExists": "Il percorso non esiste: {{path}}",
+ "couldNotOpen": "Impossibile aprire il file: {{error}}",
+ "couldNotOpenGeneric": "Impossibile aprire il file!"
+ },
+ "success": {
+ "imageDataUriCopied": "URI dati immagine copiato negli appunti"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/it/marketplace.json b/webview-ui/src/i18n/locales/it/marketplace.json
index 5a68a4a40e..a3bbc76405 100644
--- a/webview-ui/src/i18n/locales/it/marketplace.json
+++ b/webview-ui/src/i18n/locales/it/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "I caratteri emoji possono causare problemi di visualizzazione",
"maxSources": "Massimo {{max}} fonti consentite"
}
+ },
+ "footer": {
+ "issueText": "Hai trovato un problema con un elemento del marketplace o hai suggerimenti per nuovi elementi? <0>Apri un issue GitHub0> per farcelo sapere!"
}
}
diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json
index d920cddb6b..51d1dd640d 100644
--- a/webview-ui/src/i18n/locales/it/settings.json
+++ b/webview-ui/src/i18n/locales/it/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "Disabilita l'esecuzione dei comandi in attempt_completion",
"description": "Se abilitato, lo strumento attempt_completion non eseguirà comandi. Questa è una funzionalità sperimentale per preparare la futura deprecazione dell'esecuzione dei comandi al completamento dell'attività."
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "Abilita modifiche di file concorrenti",
+ "description": "Quando abilitato, Roo può modificare più file in una singola richiesta. Quando disabilitato, Roo deve modificare i file uno alla volta. Disabilitare questa opzione può aiutare quando lavori con modelli meno capaci o quando vuoi più controllo sulle modifiche dei file."
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/ja/chat.json b/webview-ui/src/i18n/locales/ja/chat.json
index e76dd9a120..0cb177fa4b 100644
--- a/webview-ui/src/i18n/locales/ja/chat.json
+++ b/webview-ui/src/i18n/locales/ja/chat.json
@@ -152,7 +152,8 @@
"wantsToInsertWithLineNumber": "Rooはこのファイルの{{lineNumber}}行目にコンテンツを挿入したい:",
"wantsToInsertAtEnd": "Rooはこのファイルの末尾にコンテンツを追加したい:",
"wantsToReadAndXMore": "Roo はこのファイルと他に {{count}} 個のファイルを読み込もうとしています:",
- "wantsToReadMultiple": "Rooは複数のファイルを読み取ろうとしています:"
+ "wantsToReadMultiple": "Rooは複数のファイルを読み取ろうとしています:",
+ "wantsToApplyBatchChanges": "Rooは複数のファイルに変更を適用したい:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Rooはこのディレクトリのトップレベルファイルを表示したい:",
@@ -215,9 +216,9 @@
"title": "🎉 Roo Code {{version}} リリース",
"description": "Roo Code {{version}}は、あなたのフィードバックに基づく強力な新機能と改善をもたらします。",
"whatsNew": "新機能",
- "feature1": "インテリジェントコンテキスト圧縮がデフォルトで有効: コンテキスト圧縮がデフォルトで有効になり、自動圧縮が発生するタイミングを設定可能",
- "feature2": "手動圧縮ボタン: タスクヘッダーの新しいボタンで、いつでも手動でコンテキスト圧縮をトリガー可能",
- "feature3": "拡張された圧縮設定: コンテキスト設定で自動圧縮がいつどのように発生するかを細かく調整",
+ "feature1": "実験的マーケットプレイス: 新しいマーケットプレイスからモードとMCPを発見・インストール(実験的設定で有効化)",
+ "feature2": "ファイル操作の強化: 実験的設定での複数の同時ファイル書き込み、同時読み込みがコンテキスト設定で利用可能に",
+ "feature3": "MCP改善とその他: MCP サポートの強化、Mermaid コントロール、Amazon Bedrock thinking サポートなど!",
"hideButton": "通知を非表示",
"detailsDiscussLinks": "詳細はDiscordとRedditでご確認・ディスカッションください 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "すべて拒否"
}
+ },
+ "indexingStatus": {
+ "ready": "インデックス準備完了",
+ "indexing": "インデックス作成中 {{percentage}}%",
+ "indexed": "インデックス作成済み",
+ "error": "インデックスエラー",
+ "status": "インデックス状態"
}
}
diff --git a/webview-ui/src/i18n/locales/ja/common.json b/webview-ui/src/i18n/locales/ja/common.json
index b92b037690..975ea67834 100644
--- a/webview-ui/src/i18n/locales/ja/common.json
+++ b/webview-ui/src/i18n/locales/ja/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "Mermaidダイアグラムを生成中...",
- "render_error": "ダイアグラムをレンダリングできません"
+ "render_error": "ダイアグラムをレンダリングできません",
+ "buttons": {
+ "zoom": "ズーム",
+ "zoomIn": "拡大",
+ "zoomOut": "縮小",
+ "copy": "コピー",
+ "save": "画像を保存",
+ "viewCode": "コードを表示",
+ "viewDiagram": "ダイアグラムを表示",
+ "close": "閉じる"
+ },
+ "modal": {
+ "codeTitle": "Mermaidコード"
+ },
+ "tabs": {
+ "diagram": "ダイアグラム",
+ "code": "コード"
+ },
+ "feedback": {
+ "imageCopied": "画像をクリップボードにコピーしました",
+ "copyError": "画像のコピーエラー"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "無効なデータURI形式",
+ "copyingImage": "画像のコピーエラー: {{error}}",
+ "openingImage": "画像を開く際のエラー: {{error}}",
+ "pathNotExists": "パスが存在しません: {{path}}",
+ "couldNotOpen": "ファイルを開けませんでした: {{error}}",
+ "couldNotOpenGeneric": "ファイルを開けませんでした!"
+ },
+ "success": {
+ "imageDataUriCopied": "画像データURIをクリップボードにコピーしました"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/ja/marketplace.json b/webview-ui/src/i18n/locales/ja/marketplace.json
index c7448ca08f..b6d843c82c 100644
--- a/webview-ui/src/i18n/locales/ja/marketplace.json
+++ b/webview-ui/src/i18n/locales/ja/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "絵文字文字は表示の問題を引き起こす可能性があります",
"maxSources": "最大{{max}}個のソースが許可されています"
}
+ },
+ "footer": {
+ "issueText": "Marketplaceアイテムで問題を見つけた、または新しいアイテムの提案がありますか?<0>GitHub issueを開いて0>お知らせください!"
}
}
diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json
index f164063fac..93cbe43a6e 100644
--- a/webview-ui/src/i18n/locales/ja/settings.json
+++ b/webview-ui/src/i18n/locales/ja/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "attempt_completionでのコマンド実行を無効にする",
"description": "有効にすると、attempt_completionツールはコマンドを実行しません。これは、タスク完了時のコマンド実行の非推奨化に備えるための実験的な機能です。"
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "同時ファイル編集を有効にする",
+ "description": "有効にすると、Rooは単一のリクエストで複数のファイルを編集できます。無効にすると、Rooはファイルを一つずつ編集する必要があります。これを無効にすることで、能力の低いモデルで作業する場合や、ファイル変更をより細かく制御したい場合に役立ちます。"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/ko/chat.json b/webview-ui/src/i18n/locales/ko/chat.json
index 563508d2a9..bde86ec0f0 100644
--- a/webview-ui/src/i18n/locales/ko/chat.json
+++ b/webview-ui/src/i18n/locales/ko/chat.json
@@ -152,7 +152,8 @@
"wantsToInsertWithLineNumber": "Roo가 이 파일의 {{lineNumber}}번 줄에 내용을 삽입하고 싶어합니다:",
"wantsToInsertAtEnd": "Roo가 이 파일의 끝에 내용을 추가하고 싶어합니다:",
"wantsToReadAndXMore": "Roo가 이 파일과 {{count}}개의 파일을 더 읽으려고 합니다:",
- "wantsToReadMultiple": "Roo가 여러 파일을 읽으려고 합니다:"
+ "wantsToReadMultiple": "Roo가 여러 파일을 읽으려고 합니다:",
+ "wantsToApplyBatchChanges": "Roo가 여러 파일에 변경 사항을 적용하고 싶어합니다:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo가 이 디렉토리의 최상위 파일을 보고 싶어합니다:",
@@ -215,9 +216,9 @@
"title": "🎉 Roo Code {{version}} 출시",
"description": "Roo Code {{version}}은 사용자 피드백을 기반으로 강력한 새로운 기능과 개선사항을 제공합니다.",
"whatsNew": "새로운 기능",
- "feature1": "지능형 컨텍스트 압축이 기본적으로 활성화됨: 컨텍스트 압축이 이제 기본적으로 활성화되며 자동 압축이 발생하는 시점을 구성할 수 있습니다",
- "feature2": "수동 압축 버튼: 작업 헤더의 새 버튼으로 언제든지 수동으로 컨텍스트 압축을 트리거할 수 있습니다",
- "feature3": "향상된 압축 설정: 컨텍스트 설정을 통해 자동 압축이 언제 어떻게 발생하는지 세밀하게 조정",
+ "feature1": "실험적 마켓플레이스: 새로운 마켓플레이스에서 모드와 MCP를 발견하고 설치하세요 (실험적 설정에서 활성화)",
+ "feature2": "향상된 파일 작업: 실험적 설정에서 다중 동시 파일 쓰기, 동시 읽기는 이제 컨텍스트 설정에서 사용 가능",
+ "feature3": "MCP 개선 사항 및 기타: 향상된 MCP 지원, Mermaid 컨트롤, Amazon Bedrock thinking 지원 등!",
"hideButton": "공지 숨기기",
"detailsDiscussLinks": "Discord와 Reddit에서 더 자세한 정보를 확인하고 논의하세요 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "모두 거부"
}
+ },
+ "indexingStatus": {
+ "ready": "인덱스 준비됨",
+ "indexing": "인덱싱 중 {{percentage}}%",
+ "indexed": "인덱싱 완료",
+ "error": "인덱스 오류",
+ "status": "인덱스 상태"
}
}
diff --git a/webview-ui/src/i18n/locales/ko/common.json b/webview-ui/src/i18n/locales/ko/common.json
index 01b01360e0..276f2cb20b 100644
--- a/webview-ui/src/i18n/locales/ko/common.json
+++ b/webview-ui/src/i18n/locales/ko/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "머메이드 다이어그램 생성 중...",
- "render_error": "다이어그램을 렌더링할 수 없음"
+ "render_error": "다이어그램을 렌더링할 수 없음",
+ "buttons": {
+ "zoom": "줌",
+ "zoomIn": "확대",
+ "zoomOut": "축소",
+ "copy": "복사",
+ "save": "이미지 저장",
+ "viewCode": "코드 보기",
+ "viewDiagram": "다이어그램 보기",
+ "close": "닫기"
+ },
+ "modal": {
+ "codeTitle": "머메이드 코드"
+ },
+ "tabs": {
+ "diagram": "다이어그램",
+ "code": "코드"
+ },
+ "feedback": {
+ "imageCopied": "이미지가 클립보드에 복사됨",
+ "copyError": "이미지 복사 오류"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "잘못된 데이터 URI 형식",
+ "copyingImage": "이미지 복사 오류: {{error}}",
+ "openingImage": "이미지 열기 오류: {{error}}",
+ "pathNotExists": "경로가 존재하지 않음: {{path}}",
+ "couldNotOpen": "파일을 열 수 없음: {{error}}",
+ "couldNotOpenGeneric": "파일을 열 수 없습니다!"
+ },
+ "success": {
+ "imageDataUriCopied": "이미지 데이터 URI가 클립보드에 복사됨"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/ko/marketplace.json b/webview-ui/src/i18n/locales/ko/marketplace.json
index 36c4f30eba..d29022624b 100644
--- a/webview-ui/src/i18n/locales/ko/marketplace.json
+++ b/webview-ui/src/i18n/locales/ko/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "이모지 문자는 표시 문제를 일으킬 수 있습니다",
"maxSources": "최대 {{max}}개의 소스가 허용됩니다"
}
+ },
+ "footer": {
+ "issueText": "Marketplace 아이템에 문제가 있거나 새로운 아이템에 대한 제안이 있나요? <0>GitHub issue를 열어서0> 알려주세요!"
}
}
diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json
index 8d311f8fe6..a7ec710f23 100644
--- a/webview-ui/src/i18n/locales/ko/settings.json
+++ b/webview-ui/src/i18n/locales/ko/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "attempt_completion에서 명령 실행 비활성화",
"description": "활성화하면 attempt_completion 도구가 명령을 실행하지 않습니다. 이는 작업 완료 시 명령 실행을 더 이상 사용하지 않도록 준비하기 위한 실험적 기능입니다."
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "동시 파일 편집 활성화",
+ "description": "활성화하면 Roo가 단일 요청으로 여러 파일을 편집할 수 있습니다. 비활성화하면 Roo는 파일을 하나씩 편집해야 합니다. 이 기능을 비활성화하면 덜 강력한 모델로 작업하거나 파일 수정에 대한 더 많은 제어가 필요할 때 도움이 됩니다."
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/nl/chat.json b/webview-ui/src/i18n/locales/nl/chat.json
index 2a8ba0ac70..abd51a5fd5 100644
--- a/webview-ui/src/i18n/locales/nl/chat.json
+++ b/webview-ui/src/i18n/locales/nl/chat.json
@@ -147,7 +147,8 @@
"wantsToInsertWithLineNumber": "Roo wil inhoud invoegen in dit bestand op regel {{lineNumber}}:",
"wantsToInsertAtEnd": "Roo wil inhoud toevoegen aan het einde van dit bestand:",
"wantsToReadAndXMore": "Roo wil dit bestand en nog {{count}} andere lezen:",
- "wantsToReadMultiple": "Roo wil meerdere bestanden lezen:"
+ "wantsToReadMultiple": "Roo wil meerdere bestanden lezen:",
+ "wantsToApplyBatchChanges": "Roo wil wijzigingen toepassen op meerdere bestanden:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo wil de bovenliggende bestanden in deze map bekijken:",
@@ -201,9 +202,9 @@
"announcement": {
"title": "🎉 Roo Code {{version}} uitgebracht",
"description": "Roo Code {{version}} brengt krachtige nieuwe functies en verbeteringen op basis van jouw feedback.",
- "feature1": "Intelligente Contextcompressie Standaard Ingeschakeld: Contextcompressie is nu standaard ingeschakeld met configureerbare instellingen voor wanneer automatische compressie plaatsvindt",
- "feature2": "Handmatige Compressieknop: Nieuwe knop in de taakheader stelt je in staat om op elk moment handmatig contextcompressie te activeren",
- "feature3": "Verbeterde Compressie-instellingen: Stel bij wanneer en hoe automatische compressie plaatsvindt via de Contextinstellingen",
+ "feature1": "Experimentele Marketplace: Ontdek en installeer modi en MCP's van de nieuwe marketplace (activeer in Experimentele Instellingen)",
+ "feature2": "Verbeterde Bestandsoperaties: Experimentele multi-concurrent bestandsschrijfoperaties, en concurrent lezen is nu beschikbaar in Contextinstellingen",
+ "feature3": "MCP Verbeteringen & Meer: Verbeterde MCP-ondersteuning, Mermaid-besturing, Amazon Bedrock thinking ondersteuning en meer!",
"hideButton": "Aankondiging verbergen",
"detailsDiscussLinks": "Meer details en discussie in Discord en Reddit 🚀",
"whatsNew": "Wat is er nieuw"
@@ -278,5 +279,12 @@
"deny": {
"title": "Alles weigeren"
}
+ },
+ "indexingStatus": {
+ "ready": "Index gereed",
+ "indexing": "Indexeren {{percentage}}%",
+ "indexed": "Geïndexeerd",
+ "error": "Index fout",
+ "status": "Index status"
}
}
diff --git a/webview-ui/src/i18n/locales/nl/common.json b/webview-ui/src/i18n/locales/nl/common.json
index 59c175150b..012808e51a 100644
--- a/webview-ui/src/i18n/locales/nl/common.json
+++ b/webview-ui/src/i18n/locales/nl/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "Mermaid-diagram genereren...",
- "render_error": "Kan diagram niet weergeven"
+ "render_error": "Kan diagram niet weergeven",
+ "buttons": {
+ "zoom": "Zoom",
+ "zoomIn": "Inzoomen",
+ "zoomOut": "Uitzoomen",
+ "copy": "Kopiëren",
+ "save": "Afbeelding opslaan",
+ "viewCode": "Code bekijken",
+ "viewDiagram": "Diagram bekijken",
+ "close": "Sluiten"
+ },
+ "modal": {
+ "codeTitle": "Mermaid-code"
+ },
+ "tabs": {
+ "diagram": "Diagram",
+ "code": "Code"
+ },
+ "feedback": {
+ "imageCopied": "Afbeelding gekopieerd naar klembord",
+ "copyError": "Fout bij kopiëren van afbeelding"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "Ongeldig data-URI-formaat",
+ "copyingImage": "Fout bij kopiëren van afbeelding: {{error}}",
+ "openingImage": "Fout bij openen van afbeelding: {{error}}",
+ "pathNotExists": "Pad bestaat niet: {{path}}",
+ "couldNotOpen": "Kon bestand niet openen: {{error}}",
+ "couldNotOpenGeneric": "Kon bestand niet openen!"
+ },
+ "success": {
+ "imageDataUriCopied": "Afbeelding data-URI gekopieerd naar klembord"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/nl/marketplace.json b/webview-ui/src/i18n/locales/nl/marketplace.json
index c61c084cc1..56ef3c4ca5 100644
--- a/webview-ui/src/i18n/locales/nl/marketplace.json
+++ b/webview-ui/src/i18n/locales/nl/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "Emoji-tekens kunnen weergaveproblemen veroorzaken",
"maxSources": "Maximaal {{max}} bronnen toegestaan"
}
+ },
+ "footer": {
+ "issueText": "Heb je een probleem gevonden met een marketplace-item of heb je suggesties voor nieuwe items? <0>Open een GitHub issue0> om het ons te laten weten!"
}
}
diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json
index d234ff7e11..8ec7bb35c4 100644
--- a/webview-ui/src/i18n/locales/nl/settings.json
+++ b/webview-ui/src/i18n/locales/nl/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "Commando-uitvoering in attempt_completion uitschakelen",
"description": "Indien ingeschakeld, zal de attempt_completion tool geen commando's uitvoeren. Dit is een experimentele functie ter voorbereiding op het afschaffen van commando-uitvoering bij taakvoltooiing."
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "Gelijktijdige bestandsbewerkingen inschakelen",
+ "description": "Wanneer ingeschakeld, kan Roo meerdere bestanden in één verzoek bewerken. Wanneer uitgeschakeld, moet Roo bestanden één voor één bewerken. Het uitschakelen hiervan kan helpen wanneer je werkt met minder capabele modellen of wanneer je meer controle wilt over bestandswijzigingen."
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/pl/chat.json b/webview-ui/src/i18n/locales/pl/chat.json
index a57dc9d0cc..5bb6a7259e 100644
--- a/webview-ui/src/i18n/locales/pl/chat.json
+++ b/webview-ui/src/i18n/locales/pl/chat.json
@@ -152,7 +152,8 @@
"wantsToInsertWithLineNumber": "Roo chce wstawić zawartość do tego pliku w linii {{lineNumber}}:",
"wantsToInsertAtEnd": "Roo chce dodać zawartość na końcu tego pliku:",
"wantsToReadAndXMore": "Roo chce przeczytać ten plik i {{count}} więcej:",
- "wantsToReadMultiple": "Roo chce odczytać wiele plików:"
+ "wantsToReadMultiple": "Roo chce odczytać wiele plików:",
+ "wantsToApplyBatchChanges": "Roo chce zastosować zmiany do wielu plików:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo chce zobaczyć pliki najwyższego poziomu w tym katalogu:",
@@ -215,9 +216,9 @@
"title": "🎉 Roo Code {{version}} wydany",
"description": "Roo Code {{version}} przynosi potężne nowe funkcje i ulepszenia na podstawie Twoich opinii.",
"whatsNew": "Co nowego",
- "feature1": "Inteligentne Kondensowanie Kontekstu Włączone Domyślnie: Kondensowanie kontekstu jest teraz włączone domyślnie z konfigurowalnymi ustawieniami określającymi kiedy następuje automatyczne kondensowanie",
- "feature2": "Przycisk Ręcznego Kondensowania: Nowy przycisk w nagłówku zadania pozwala ręcznie uruchomić kondensowanie kontekstu w dowolnym momencie",
- "feature3": "Ulepszone Ustawienia Kondensowania: Dostosuj kiedy i jak następuje automatyczne kondensowanie poprzez Ustawienia Kontekstu",
+ "feature1": "Eksperymentalny Marketplace: Odkryj i instaluj tryby oraz MCP z nowego marketplace (włącz w Ustawieniach Eksperymentalnych)",
+ "feature2": "Ulepszone Operacje na Plikach: Eksperymentalne operacje wielowątkowego zapisu plików, a odczyt współbieżny jest teraz dostępny w Ustawieniach Kontekstu",
+ "feature3": "Ulepszenia MCP i Więcej: Ulepszona obsługa MCP, kontrola Mermaid, wsparcie dla Amazon Bedrock thinking i więcej!",
"hideButton": "Ukryj ogłoszenie",
"detailsDiscussLinks": "Uzyskaj więcej szczegółów i dołącz do dyskusji na Discord i Reddit 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "Odrzuć wszystko"
}
+ },
+ "indexingStatus": {
+ "ready": "Indeks gotowy",
+ "indexing": "Indeksowanie {{percentage}}%",
+ "indexed": "Zaindeksowane",
+ "error": "Błąd indeksu",
+ "status": "Status indeksu"
}
}
diff --git a/webview-ui/src/i18n/locales/pl/common.json b/webview-ui/src/i18n/locales/pl/common.json
index a1b8bd645d..c72b046c42 100644
--- a/webview-ui/src/i18n/locales/pl/common.json
+++ b/webview-ui/src/i18n/locales/pl/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "Generowanie diagramu mermaid...",
- "render_error": "Nie można renderować diagramu"
+ "render_error": "Nie można renderować diagramu",
+ "buttons": {
+ "zoom": "Powiększenie",
+ "zoomIn": "Powiększ",
+ "zoomOut": "Pomniejsz",
+ "copy": "Kopiuj",
+ "save": "Zapisz obraz",
+ "viewCode": "Zobacz kod",
+ "viewDiagram": "Zobacz diagram",
+ "close": "Zamknij"
+ },
+ "modal": {
+ "codeTitle": "Kod Mermaid"
+ },
+ "tabs": {
+ "diagram": "Diagram",
+ "code": "Kod"
+ },
+ "feedback": {
+ "imageCopied": "Obraz skopiowany do schowka",
+ "copyError": "Błąd kopiowania obrazu"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "Nieprawidłowy format URI danych",
+ "copyingImage": "Błąd kopiowania obrazu: {{error}}",
+ "openingImage": "Błąd otwierania obrazu: {{error}}",
+ "pathNotExists": "Ścieżka nie istnieje: {{path}}",
+ "couldNotOpen": "Nie można otworzyć pliku: {{error}}",
+ "couldNotOpenGeneric": "Nie można otworzyć pliku!"
+ },
+ "success": {
+ "imageDataUriCopied": "URI danych obrazu skopiowane do schowka"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/pl/marketplace.json b/webview-ui/src/i18n/locales/pl/marketplace.json
index 4f52fc7e18..7b8d686b86 100644
--- a/webview-ui/src/i18n/locales/pl/marketplace.json
+++ b/webview-ui/src/i18n/locales/pl/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "Znaki emoji mogą powodować problemy z wyświetlaniem",
"maxSources": "Maksymalnie {{max}} źródeł dozwolonych"
}
+ },
+ "footer": {
+ "issueText": "Znalazłeś problem z elementem marketplace lub masz sugestie dotyczące nowych elementów? <0>Otwórz issue na GitHub0>, aby nam o tym powiedzieć!"
}
}
diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json
index c9bc4ac1ab..aade54b772 100644
--- a/webview-ui/src/i18n/locales/pl/settings.json
+++ b/webview-ui/src/i18n/locales/pl/settings.json
@@ -500,6 +500,10 @@
"MARKETPLACE": {
"name": "Włącz Marketplace",
"description": "Gdy włączone, możesz instalować MCP i niestandardowe tryby z Marketplace."
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "Włącz równoczesne edycje plików",
+ "description": "Gdy włączone, Roo może edytować wiele plików w jednym żądaniu. Gdy wyłączone, Roo musi edytować pliki jeden po drugim. Wyłączenie tego może pomóc podczas pracy z mniej zdolnymi modelami lub gdy chcesz mieć większą kontrolę nad modyfikacjami plików."
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/pt-BR/chat.json b/webview-ui/src/i18n/locales/pt-BR/chat.json
index 05d436de71..d0f3251006 100644
--- a/webview-ui/src/i18n/locales/pt-BR/chat.json
+++ b/webview-ui/src/i18n/locales/pt-BR/chat.json
@@ -152,7 +152,8 @@
"wantsToInsertWithLineNumber": "Roo quer inserir conteúdo neste arquivo na linha {{lineNumber}}:",
"wantsToInsertAtEnd": "Roo quer adicionar conteúdo ao final deste arquivo:",
"wantsToReadAndXMore": "Roo quer ler este arquivo e mais {{count}}:",
- "wantsToReadMultiple": "Roo deseja ler múltiplos arquivos:"
+ "wantsToReadMultiple": "Roo deseja ler múltiplos arquivos:",
+ "wantsToApplyBatchChanges": "Roo quer aplicar alterações a múltiplos arquivos:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo quer visualizar os arquivos de nível superior neste diretório:",
@@ -215,9 +216,9 @@
"title": "🎉 Roo Code {{version}} Lançado",
"description": "Roo Code {{version}} traz poderosos novos recursos e melhorias baseados no seu feedback.",
"whatsNew": "O que há de novo",
- "feature1": "Condensação Inteligente de Contexto Habilitada por Padrão: A condensação de contexto agora está habilitada por padrão com configurações ajustáveis para quando a condensação automática acontece",
- "feature2": "Botão de Condensação Manual: Novo botão no cabeçalho da tarefa permite acionar manualmente a condensação de contexto a qualquer momento",
- "feature3": "Configurações de Condensação Aprimoradas: Ajuste quando e como a condensação automática ocorre através das Configurações de Contexto",
+ "feature1": "Marketplace Experimental: Descubra e instale modos e MCPs do novo marketplace (ativar em Configurações Experimentais)",
+ "feature2": "Operações de Arquivo Aprimoradas: Operações de escrita de arquivo multi-concorrente experimentais, e leitura concorrente agora disponível em Configurações de Contexto",
+ "feature3": "Melhorias MCP e Mais: Suporte MCP aprimorado, controles Mermaid, suporte Amazon Bedrock thinking e muito mais!",
"hideButton": "Ocultar anúncio",
"detailsDiscussLinks": "Obtenha mais detalhes e participe da discussão no Discord e Reddit 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "Negar tudo"
}
+ },
+ "indexingStatus": {
+ "ready": "Índice pronto",
+ "indexing": "Indexando {{percentage}}%",
+ "indexed": "Indexado",
+ "error": "Erro do índice",
+ "status": "Status do índice"
}
}
diff --git a/webview-ui/src/i18n/locales/pt-BR/common.json b/webview-ui/src/i18n/locales/pt-BR/common.json
index 02bb8f1be6..a911b2366f 100644
--- a/webview-ui/src/i18n/locales/pt-BR/common.json
+++ b/webview-ui/src/i18n/locales/pt-BR/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "Gerando diagrama mermaid...",
- "render_error": "Não foi possível renderizar o diagrama"
+ "render_error": "Não foi possível renderizar o diagrama",
+ "buttons": {
+ "zoom": "Zoom",
+ "zoomIn": "Ampliar",
+ "zoomOut": "Reduzir",
+ "copy": "Copiar",
+ "save": "Salvar imagem",
+ "viewCode": "Ver código",
+ "viewDiagram": "Ver diagrama",
+ "close": "Fechar"
+ },
+ "modal": {
+ "codeTitle": "Código Mermaid"
+ },
+ "tabs": {
+ "diagram": "Diagrama",
+ "code": "Código"
+ },
+ "feedback": {
+ "imageCopied": "Imagem copiada para a área de transferência",
+ "copyError": "Erro ao copiar imagem"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "Formato de URI de dados inválido",
+ "copyingImage": "Erro ao copiar imagem: {{error}}",
+ "openingImage": "Erro ao abrir imagem: {{error}}",
+ "pathNotExists": "Caminho não existe: {{path}}",
+ "couldNotOpen": "Não foi possível abrir o arquivo: {{error}}",
+ "couldNotOpenGeneric": "Não foi possível abrir o arquivo!"
+ },
+ "success": {
+ "imageDataUriCopied": "URI de dados da imagem copiada para a área de transferência"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/pt-BR/marketplace.json b/webview-ui/src/i18n/locales/pt-BR/marketplace.json
index e2aab3f06f..8ae297473b 100644
--- a/webview-ui/src/i18n/locales/pt-BR/marketplace.json
+++ b/webview-ui/src/i18n/locales/pt-BR/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "Caracteres emoji podem causar problemas de exibição",
"maxSources": "Máximo de {{max}} fontes permitidas"
}
+ },
+ "footer": {
+ "issueText": "Encontrou um problema com um item do marketplace ou tem sugestões para novos itens? <0>Abra um issue no GitHub0> para nos avisar!"
}
}
diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json
index b2ab1756c3..8e1a5af79a 100644
--- a/webview-ui/src/i18n/locales/pt-BR/settings.json
+++ b/webview-ui/src/i18n/locales/pt-BR/settings.json
@@ -500,6 +500,10 @@
"MARKETPLACE": {
"name": "Ativar Marketplace",
"description": "Quando ativado, você pode instalar MCPs e modos personalizados do Marketplace."
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "Habilitar edições de arquivos concorrentes",
+ "description": "Quando habilitado, o Roo pode editar múltiplos arquivos em uma única solicitação. Quando desabilitado, o Roo deve editar arquivos um de cada vez. Desabilitar isso pode ajudar ao trabalhar com modelos menos capazes ou quando você quer mais controle sobre modificações de arquivos."
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/ru/chat.json b/webview-ui/src/i18n/locales/ru/chat.json
index 8e24a9e3ea..6036ba58c1 100644
--- a/webview-ui/src/i18n/locales/ru/chat.json
+++ b/webview-ui/src/i18n/locales/ru/chat.json
@@ -147,7 +147,8 @@
"wantsToInsertWithLineNumber": "Roo хочет вставить содержимое в этот файл на строку {{lineNumber}}:",
"wantsToInsertAtEnd": "Roo хочет добавить содержимое в конец этого файла:",
"wantsToReadAndXMore": "Roo хочет прочитать этот файл и еще {{count}}:",
- "wantsToReadMultiple": "Roo хочет прочитать несколько файлов:"
+ "wantsToReadMultiple": "Roo хочет прочитать несколько файлов:",
+ "wantsToApplyBatchChanges": "Roo хочет применить изменения к нескольким файлам:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo хочет просмотреть файлы верхнего уровня в этой директории:",
@@ -202,9 +203,9 @@
"title": "🎉 Выпущен Roo Code {{version}}",
"description": "Roo Code {{version}} приносит мощные новые функции и улучшения на основе ваших отзывов.",
"whatsNew": "Что нового",
- "feature1": "Интеллектуальное Сжатие Контекста Включено по Умолчанию: Сжатие контекста теперь включено по умолчанию с настраиваемыми параметрами для автоматического сжатия",
- "feature2": "Кнопка Ручного Сжатия: Новая кнопка в заголовке задачи позволяет вручную запускать сжатие контекста в любое время",
- "feature3": "Улучшенные Настройки Сжатия: Настройте когда и как происходит автоматическое сжатие через Настройки Контекста",
+ "feature1": "Экспериментальный Marketplace: Открывайте и устанавливайте режимы и MCP из нового маркетплейса (включить в Экспериментальных Настройках)",
+ "feature2": "Улучшенные Файловые Операции: Экспериментальные операции многопоточной записи файлов, а конкурентное чтение теперь доступно в Настройках Контекста",
+ "feature3": "Улучшения MCP и Еще: Улучшенная поддержка MCP, элементы управления Mermaid, поддержка Amazon Bedrock thinking и многое другое!",
"hideButton": "Скрыть объявление",
"detailsDiscussLinks": "Подробнее и обсуждение в Discord и Reddit 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "Отклонить все"
}
+ },
+ "indexingStatus": {
+ "ready": "Индекс готов",
+ "indexing": "Индексация {{percentage}}%",
+ "indexed": "Проиндексировано",
+ "error": "Ошибка индекса",
+ "status": "Статус индекса"
}
}
diff --git a/webview-ui/src/i18n/locales/ru/common.json b/webview-ui/src/i18n/locales/ru/common.json
index 87f2adcbfb..e68899a2db 100644
--- a/webview-ui/src/i18n/locales/ru/common.json
+++ b/webview-ui/src/i18n/locales/ru/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "Создание диаграммы mermaid...",
- "render_error": "Не удалось отобразить диаграмму"
+ "render_error": "Не удалось отобразить диаграмму",
+ "buttons": {
+ "zoom": "Масштаб",
+ "zoomIn": "Увеличить",
+ "zoomOut": "Уменьшить",
+ "copy": "Копировать",
+ "save": "Сохранить изображение",
+ "viewCode": "Посмотреть код",
+ "viewDiagram": "Посмотреть диаграмму",
+ "close": "Закрыть"
+ },
+ "modal": {
+ "codeTitle": "Код Mermaid"
+ },
+ "tabs": {
+ "diagram": "Диаграмма",
+ "code": "Код"
+ },
+ "feedback": {
+ "imageCopied": "Изображение скопировано в буфер обмена",
+ "copyError": "Ошибка копирования изображения"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "Неверный формат URI данных",
+ "copyingImage": "Ошибка копирования изображения: {{error}}",
+ "openingImage": "Ошибка открытия изображения: {{error}}",
+ "pathNotExists": "Путь не существует: {{path}}",
+ "couldNotOpen": "Не удалось открыть файл: {{error}}",
+ "couldNotOpenGeneric": "Не удалось открыть файл!"
+ },
+ "success": {
+ "imageDataUriCopied": "URI данных изображения скопирован в буфер обмена"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/ru/marketplace.json b/webview-ui/src/i18n/locales/ru/marketplace.json
index f68fe9c23b..41b6df9a49 100644
--- a/webview-ui/src/i18n/locales/ru/marketplace.json
+++ b/webview-ui/src/i18n/locales/ru/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "Символы эмодзи могут вызвать проблемы с отображением",
"maxSources": "Максимум {{max}} источников разрешено"
}
+ },
+ "footer": {
+ "issueText": "Нашли проблему с элементом marketplace или есть предложения для новых элементов? <0>Откройте issue на GitHub0>, чтобы сообщить нам!"
}
}
diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json
index 1daf624a71..acf9235253 100644
--- a/webview-ui/src/i18n/locales/ru/settings.json
+++ b/webview-ui/src/i18n/locales/ru/settings.json
@@ -500,6 +500,10 @@
"MARKETPLACE": {
"name": "Включить Marketplace",
"description": "Когда включено, вы можете устанавливать MCP и пользовательские режимы из Marketplace."
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "Включить одновременное редактирование файлов",
+ "description": "Когда включено, Roo может редактировать несколько файлов в одном запросе. Когда отключено, Roo должен редактировать файлы по одному. Отключение этой функции может помочь при работе с менее способными моделями или когда вы хотите больше контроля над изменениями файлов."
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/tr/chat.json b/webview-ui/src/i18n/locales/tr/chat.json
index c0d43f59b5..0aaa9bb30d 100644
--- a/webview-ui/src/i18n/locales/tr/chat.json
+++ b/webview-ui/src/i18n/locales/tr/chat.json
@@ -152,7 +152,8 @@
"wantsToInsertWithLineNumber": "Roo bu dosyanın {{lineNumber}}. satırına içerik eklemek istiyor:",
"wantsToInsertAtEnd": "Roo bu dosyanın sonuna içerik eklemek istiyor:",
"wantsToReadAndXMore": "Roo bu dosyayı ve {{count}} tane daha okumak istiyor:",
- "wantsToReadMultiple": "Roo birden fazla dosya okumak istiyor:"
+ "wantsToReadMultiple": "Roo birden fazla dosya okumak istiyor:",
+ "wantsToApplyBatchChanges": "Roo birden fazla dosyaya değişiklik uygulamak istiyor:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo bu dizindeki üst düzey dosyaları görüntülemek istiyor:",
@@ -215,9 +216,9 @@
"title": "🎉 Roo Code {{version}} Yayınlandı",
"description": "Roo Code {{version}} geri bildirimlerinize dayalı güçlü yeni özellikler ve iyileştirmeler getiriyor.",
"whatsNew": "Yenilikler",
- "feature1": "Akıllı Bağlam Sıkıştırma Varsayılan Olarak Etkin: Bağlam sıkıştırma artık varsayılan olarak etkin ve otomatik sıkıştırmanın ne zaman gerçekleşeceği için yapılandırılabilir ayarlar mevcut",
- "feature2": "Manuel Sıkıştırma Butonu: Görev başlığındaki yeni buton, istediğiniz zaman manuel olarak bağlam sıkıştırmayı tetiklemenize olanak tanır",
- "feature3": "Gelişmiş Sıkıştırma Ayarları: Bağlam Ayarları üzerinden otomatik sıkıştırmanın ne zaman ve nasıl gerçekleşeceğini ince ayarlayın",
+ "feature1": "Deneysel Marketplace: Yeni marketplaceden modları ve MCP'leri keşfedin ve kurun (Deneysel Ayarlar'da etkinleştirin)",
+ "feature2": "Gelişmiş Dosya İşlemleri: Deneysel çoklu eşzamanlı dosya yazma işlemleri ve eşzamanlı okuma artık Bağlam Ayarları'nda mevcut",
+ "feature3": "MCP İyileştirmeleri ve Daha Fazlası: Gelişmiş MCP desteği, Mermaid kontrolleri, Amazon Bedrock thinking desteği ve daha fazlası!",
"hideButton": "Duyuruyu gizle",
"detailsDiscussLinks": "Discord ve Reddit üzerinde daha fazla ayrıntı edinin ve tartışmalara katılın 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "Tümünü Reddet"
}
+ },
+ "indexingStatus": {
+ "ready": "İndeks hazır",
+ "indexing": "İndeksleniyor {{percentage}}%",
+ "indexed": "İndekslendi",
+ "error": "İndeks hatası",
+ "status": "İndeks durumu"
}
}
diff --git a/webview-ui/src/i18n/locales/tr/common.json b/webview-ui/src/i18n/locales/tr/common.json
index e3180989cd..23344ca966 100644
--- a/webview-ui/src/i18n/locales/tr/common.json
+++ b/webview-ui/src/i18n/locales/tr/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "Mermaid diyagramı oluşturuluyor...",
- "render_error": "Diyagram render edilemiyor"
+ "render_error": "Diyagram render edilemiyor",
+ "buttons": {
+ "zoom": "Yakınlaştır",
+ "zoomIn": "Büyüt",
+ "zoomOut": "Küçült",
+ "copy": "Kopyala",
+ "save": "Resmi kaydet",
+ "viewCode": "Kodu görüntüle",
+ "viewDiagram": "Diyagramı görüntüle",
+ "close": "Kapat"
+ },
+ "modal": {
+ "codeTitle": "Mermaid Kodu"
+ },
+ "tabs": {
+ "diagram": "Diyagram",
+ "code": "Kod"
+ },
+ "feedback": {
+ "imageCopied": "Görsel panoya kopyalandı",
+ "copyError": "Görsel kopyalama hatası"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "Geçersiz veri URI formatı",
+ "copyingImage": "Görsel kopyalama hatası: {{error}}",
+ "openingImage": "Görsel açma hatası: {{error}}",
+ "pathNotExists": "Yol mevcut değil: {{path}}",
+ "couldNotOpen": "Dosya açılamadı: {{error}}",
+ "couldNotOpenGeneric": "Dosya açılamadı!"
+ },
+ "success": {
+ "imageDataUriCopied": "Görsel veri URI'si panoya kopyalandı"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/tr/marketplace.json b/webview-ui/src/i18n/locales/tr/marketplace.json
index d4d7d6d1c9..c5e646afa8 100644
--- a/webview-ui/src/i18n/locales/tr/marketplace.json
+++ b/webview-ui/src/i18n/locales/tr/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "Emoji karakterleri görüntüleme sorunlarına neden olabilir",
"maxSources": "Maksimum {{max}} kaynak izin verilir"
}
+ },
+ "footer": {
+ "issueText": "Bir marketplace öğesi ile ilgili sorun bulduğun veya yeni öğeler için önerilerin var mı? <0>GitHub'da issue aç0> ve bize bildir!"
}
}
diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json
index 8638045511..2445ea6c91 100644
--- a/webview-ui/src/i18n/locales/tr/settings.json
+++ b/webview-ui/src/i18n/locales/tr/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "attempt_completion'da komut yürütmeyi devre dışı bırak",
"description": "Etkinleştirildiğinde, attempt_completion aracı komutları yürütmez. Bu, görev tamamlandığında komut yürütmenin kullanımdan kaldırılmasına hazırlanmak için deneysel bir özelliktir."
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "Eşzamanlı dosya düzenlemelerini etkinleştir",
+ "description": "Etkinleştirildiğinde, Roo tek bir istekte birden fazla dosyayı düzenleyebilir. Devre dışı bırakıldığında, Roo dosyaları tek tek düzenlemek zorundadır. Bunu devre dışı bırakmak, daha az yetenekli modellerle çalışırken veya dosya değişiklikleri üzerinde daha fazla kontrol istediğinde yardımcı olabilir."
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/vi/chat.json b/webview-ui/src/i18n/locales/vi/chat.json
index 5ad270aa89..77e72daef0 100644
--- a/webview-ui/src/i18n/locales/vi/chat.json
+++ b/webview-ui/src/i18n/locales/vi/chat.json
@@ -152,7 +152,8 @@
"wantsToInsertWithLineNumber": "Roo muốn chèn nội dung vào dòng {{lineNumber}} của tệp này:",
"wantsToInsertAtEnd": "Roo muốn thêm nội dung vào cuối tệp này:",
"wantsToReadAndXMore": "Roo muốn đọc tệp này và {{count}} tệp khác:",
- "wantsToReadMultiple": "Roo muốn đọc nhiều tệp:"
+ "wantsToReadMultiple": "Roo muốn đọc nhiều tệp:",
+ "wantsToApplyBatchChanges": "Roo muốn áp dụng thay đổi cho nhiều tệp:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo muốn xem các tệp cấp cao nhất trong thư mục này:",
@@ -215,9 +216,9 @@
"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.",
"whatsNew": "Có gì mới",
- "feature1": "Cô đọng ngữ cảnh thông minh được bật mặc định: Cô đọng ngữ cảnh hiện được bật mặc định với các cài đặt có thể cấu hình cho khi nào tự động cô đọng",
- "feature2": "Nút cô đọng thủ công: Nút mới trong tiêu đề nhiệm vụ cho phép bạn kích hoạt cô đọng ngữ cảnh thủ công bất cứ lúc nào",
- "feature3": "Cài đặt cô đọng nâng cao: Tinh chỉnh khi nào và cách thức tự động cô đọng thông qua Cài đặt ngữ cảnh",
+ "feature1": "Marketplace Thử nghiệm: Khám phá và cài đặt các chế độ và MCP từ marketplace mới (kích hoạt trong Cài đặt Thử nghiệm)",
+ "feature2": "Cải tiến thao tác tệp: Thao tác ghi tệp đa luồng thử nghiệm, và đọc đồng thời hiện có sẵn trong Cài đặt Ngữ cảnh",
+ "feature3": "Cải tiến MCP và nhiều hơn nữa: Hỗ trợ MCP nâng cao, điều khiển Mermaid, hỗ trợ Amazon Bedrock thinking và nhiều hơn nữa!",
"hideButton": "Ẩn thông báo",
"detailsDiscussLinks": "Nhận thêm chi tiết và thảo luận tại Discord và Reddit 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "Từ chối tất cả"
}
+ },
+ "indexingStatus": {
+ "ready": "Chỉ mục sẵn sàng",
+ "indexing": "Đang lập chỉ mục {{percentage}}%",
+ "indexed": "Đã lập chỉ mục",
+ "error": "Lỗi chỉ mục",
+ "status": "Trạng thái chỉ mục"
}
}
diff --git a/webview-ui/src/i18n/locales/vi/common.json b/webview-ui/src/i18n/locales/vi/common.json
index cce43466d6..16952117ef 100644
--- a/webview-ui/src/i18n/locales/vi/common.json
+++ b/webview-ui/src/i18n/locales/vi/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "Đang tạo biểu đồ mermaid...",
- "render_error": "Không thể hiển thị biểu đồ"
+ "render_error": "Không thể hiển thị biểu đồ",
+ "buttons": {
+ "zoom": "Thu phóng",
+ "zoomIn": "Phóng to",
+ "zoomOut": "Thu nhỏ",
+ "copy": "Sao chép",
+ "save": "Lưu hình ảnh",
+ "viewCode": "Xem mã",
+ "viewDiagram": "Xem biểu đồ",
+ "close": "Đóng"
+ },
+ "modal": {
+ "codeTitle": "Mã Mermaid"
+ },
+ "tabs": {
+ "diagram": "Biểu đồ",
+ "code": "Mã"
+ },
+ "feedback": {
+ "imageCopied": "Hình ảnh đã được sao chép vào clipboard",
+ "copyError": "Lỗi sao chép hình ảnh"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "Định dạng URI dữ liệu không hợp lệ",
+ "copyingImage": "Lỗi sao chép hình ảnh: {{error}}",
+ "openingImage": "Lỗi mở hình ảnh: {{error}}",
+ "pathNotExists": "Đường dẫn không tồn tại: {{path}}",
+ "couldNotOpen": "Không thể mở tệp: {{error}}",
+ "couldNotOpenGeneric": "Không thể mở tệp!"
+ },
+ "success": {
+ "imageDataUriCopied": "URI dữ liệu hình ảnh đã được sao chép vào clipboard"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/vi/marketplace.json b/webview-ui/src/i18n/locales/vi/marketplace.json
index ea5abe9bd1..a6ef816f4b 100644
--- a/webview-ui/src/i18n/locales/vi/marketplace.json
+++ b/webview-ui/src/i18n/locales/vi/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "Ký tự emoji có thể gây ra vấn đề hiển thị",
"maxSources": "Tối đa {{max}} nguồn được phép"
}
+ },
+ "footer": {
+ "issueText": "Bạn tìm thấy vấn đề với mục marketplace hoặc có đề xuất cho mục mới? <0>Mở issue GitHub0> để cho chúng tôi biết!"
}
}
diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json
index edc85033fb..9dc39075c7 100644
--- a/webview-ui/src/i18n/locales/vi/settings.json
+++ b/webview-ui/src/i18n/locales/vi/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "Tắt thực thi lệnh trong attempt_completion",
"description": "Khi được bật, công cụ attempt_completion sẽ không thực thi lệnh. Đây là một tính năng thử nghiệm để chuẩn bị cho việc ngừng hỗ trợ thực thi lệnh khi hoàn thành tác vụ trong tương lai."
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "Bật chỉnh sửa tệp đồng thời",
+ "description": "Khi được bật, Roo có thể chỉnh sửa nhiều tệp trong một yêu cầu duy nhất. Khi bị tắt, Roo phải chỉnh sửa từng tệp một. Tắt tính năng này có thể hữu ích khi làm việc với các mô hình kém khả năng hơn hoặc khi bạn muốn kiểm soát nhiều hơn đối với các thay đổi tệp."
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/zh-CN/chat.json b/webview-ui/src/i18n/locales/zh-CN/chat.json
index 058adfd0ad..d4faacbf07 100644
--- a/webview-ui/src/i18n/locales/zh-CN/chat.json
+++ b/webview-ui/src/i18n/locales/zh-CN/chat.json
@@ -152,7 +152,8 @@
"wantsToInsertWithLineNumber": "需要在第 {{lineNumber}} 行插入内容:",
"wantsToInsertAtEnd": "需要在文件末尾添加内容:",
"wantsToReadAndXMore": "Roo 想读取此文件以及另外 {{count}} 个文件:",
- "wantsToReadMultiple": "Roo 想要读取多个文件:"
+ "wantsToReadMultiple": "Roo 想要读取多个文件:",
+ "wantsToApplyBatchChanges": "Roo 想要对多个文件应用更改:"
},
"directoryOperations": {
"wantsToViewTopLevel": "需要查看目录文件列表:",
@@ -215,9 +216,9 @@
"title": "🎉 Roo Code {{version}} 已发布",
"description": "Roo Code {{version}} 带来基于您反馈的强大新功能和改进。",
"whatsNew": "新特性",
- "feature1": "智能上下文压缩默认启用: 上下文压缩现已默认启用,并提供可配置的自动压缩触发设置",
- "feature2": "手动压缩按钮: 任务标题中的新按钮让您随时手动触发上下文压缩",
- "feature3": "高级压缩设置: 通过上下文设置精确控制自动压缩的时机和方式",
+ "feature1": "实验性市场: 从新市场发现和安装模式及 MCP(在实验性设置中启用)",
+ "feature2": "增强文件操作: 实验性设置中的多个并发文件写入,并发读取现在在上下文设置中",
+ "feature3": "MCP 改进及更多: 增强的 MCP 支持、Mermaid 控制、Amazon Bedrock 思考支持等等!",
"hideButton": "隐藏公告",
"detailsDiscussLinks": "在 Discord 和 Reddit 获取更多详情并参与讨论 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "全部拒绝"
}
+ },
+ "indexingStatus": {
+ "ready": "索引就绪",
+ "indexing": "索引中 {{percentage}}%",
+ "indexed": "已索引",
+ "error": "索引错误",
+ "status": "索引状态"
}
}
diff --git a/webview-ui/src/i18n/locales/zh-CN/common.json b/webview-ui/src/i18n/locales/zh-CN/common.json
index 61a201d680..29f11c7f2f 100644
--- a/webview-ui/src/i18n/locales/zh-CN/common.json
+++ b/webview-ui/src/i18n/locales/zh-CN/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "生成 Mermaid 图表中...",
- "render_error": "无法渲染图表"
+ "render_error": "无法渲染图表",
+ "buttons": {
+ "zoom": "缩放",
+ "zoomIn": "放大",
+ "zoomOut": "缩小",
+ "copy": "复制",
+ "save": "保存图片",
+ "viewCode": "查看代码",
+ "viewDiagram": "查看图表",
+ "close": "关闭"
+ },
+ "modal": {
+ "codeTitle": "Mermaid 代码"
+ },
+ "tabs": {
+ "diagram": "图表",
+ "code": "代码"
+ },
+ "feedback": {
+ "imageCopied": "图片已复制到剪贴板",
+ "copyError": "复制图片时出错"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "无效的数据 URI 格式",
+ "copyingImage": "复制图片时出错: {{error}}",
+ "openingImage": "打开图片时出错: {{error}}",
+ "pathNotExists": "路径不存在: {{path}}",
+ "couldNotOpen": "无法打开文件: {{error}}",
+ "couldNotOpenGeneric": "无法打开文件!"
+ },
+ "success": {
+ "imageDataUriCopied": "图片数据 URI 已复制到剪贴板"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/zh-CN/marketplace.json b/webview-ui/src/i18n/locales/zh-CN/marketplace.json
index 470486ac21..31c83e7bf6 100644
--- a/webview-ui/src/i18n/locales/zh-CN/marketplace.json
+++ b/webview-ui/src/i18n/locales/zh-CN/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "表情符号字符可能导致显示问题",
"maxSources": "最多允许 {{max}} 个源"
}
+ },
+ "footer": {
+ "issueText": "发现 marketplace 项目问题或有新项目建议?<0>在 GitHub 开启 issue0> 告诉我们!"
}
}
diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json
index 9e422f9a58..be8f221a81 100644
--- a/webview-ui/src/i18n/locales/zh-CN/settings.json
+++ b/webview-ui/src/i18n/locales/zh-CN/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "禁用 attempt_completion 中的命令执行",
"description": "启用后,attempt_completion 工具将不会执行命令。这是一项实验性功能,旨在为将来弃用任务完成时的命令执行做准备。"
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "启用并发文件编辑",
+ "description": "启用后 Roo 可在单个请求中编辑多个文件。禁用后 Roo 必须逐个编辑文件。禁用此功能有助于使用能力较弱的模型或需要更精确控制文件修改时。"
}
},
"promptCaching": {
diff --git a/webview-ui/src/i18n/locales/zh-TW/chat.json b/webview-ui/src/i18n/locales/zh-TW/chat.json
index 0309948a95..46aa72fa09 100644
--- a/webview-ui/src/i18n/locales/zh-TW/chat.json
+++ b/webview-ui/src/i18n/locales/zh-TW/chat.json
@@ -152,7 +152,8 @@
"wantsToInsertWithLineNumber": "Roo 想要在此檔案第 {{lineNumber}} 行插入內容:",
"wantsToInsertAtEnd": "Roo 想要在此檔案末尾新增內容:",
"wantsToReadAndXMore": "Roo 想要讀取此檔案以及另外 {{count}} 個檔案:",
- "wantsToReadMultiple": "Roo 想要讀取多個檔案:"
+ "wantsToReadMultiple": "Roo 想要讀取多個檔案:",
+ "wantsToApplyBatchChanges": "Roo 想要對多個檔案套用變更:"
},
"directoryOperations": {
"wantsToViewTopLevel": "Roo 想要檢視此目錄中最上層的檔案:",
@@ -215,9 +216,9 @@
"title": "🎉 Roo Code {{version}} 已發布",
"description": "Roo Code {{version}} 帶來基於您意見回饋的強大新功能與改進。",
"whatsNew": "新功能",
- "feature1": "智慧上下文壓縮預設啟用: 上下文壓縮現已預設啟用,並提供可設定的自動壓縮觸發設定",
- "feature2": "手動壓縮按鈕: 工作標題中的新按鈕讓您隨時手動觸發上下文壓縮",
- "feature3": "進階壓縮設定: 透過上下文設定精確控制自動壓縮的時機和方式",
+ "feature1": "實驗性市場: 探索並安裝新市場中的模式和 MCP(在實驗性設定中啟用)",
+ "feature2": "增強檔案操作: 實驗性多檔案並行寫入操作,並行讀取現已在上下文設定中提供",
+ "feature3": "MCP 改進與更多功能: 增強的 MCP 支援、Mermaid 控制項、Amazon Bedrock thinking 支援等更多功能!",
"hideButton": "隱藏公告",
"detailsDiscussLinks": "在 Discord 和 Reddit 取得更多詳細資訊並參與討論 🚀"
},
@@ -278,5 +279,12 @@
"deny": {
"title": "全部拒絕"
}
+ },
+ "indexingStatus": {
+ "ready": "索引就緒",
+ "indexing": "索引中 {{percentage}}%",
+ "indexed": "已索引",
+ "error": "索引錯誤",
+ "status": "索引狀態"
}
}
diff --git a/webview-ui/src/i18n/locales/zh-TW/common.json b/webview-ui/src/i18n/locales/zh-TW/common.json
index 4daad76112..b8ec7f998e 100644
--- a/webview-ui/src/i18n/locales/zh-TW/common.json
+++ b/webview-ui/src/i18n/locales/zh-TW/common.json
@@ -16,6 +16,40 @@
},
"mermaid": {
"loading": "產生 Mermaid 圖表中...",
- "render_error": "無法渲染圖表"
+ "render_error": "無法渲染圖表",
+ "buttons": {
+ "zoom": "縮放",
+ "zoomIn": "放大",
+ "zoomOut": "縮小",
+ "copy": "複製",
+ "save": "儲存圖片",
+ "viewCode": "檢視程式碼",
+ "viewDiagram": "檢視圖表",
+ "close": "關閉"
+ },
+ "modal": {
+ "codeTitle": "Mermaid 程式碼"
+ },
+ "tabs": {
+ "diagram": "圖表",
+ "code": "程式碼"
+ },
+ "feedback": {
+ "imageCopied": "圖片已複製到剪貼簿",
+ "copyError": "複製圖片時發生錯誤"
+ }
+ },
+ "file": {
+ "errors": {
+ "invalidDataUri": "無效的資料 URI 格式",
+ "copyingImage": "複製圖片時發生錯誤: {{error}}",
+ "openingImage": "開啟圖片時發生錯誤: {{error}}",
+ "pathNotExists": "路徑不存在: {{path}}",
+ "couldNotOpen": "無法開啟檔案: {{error}}",
+ "couldNotOpenGeneric": "無法開啟檔案!"
+ },
+ "success": {
+ "imageDataUriCopied": "圖片資料 URI 已複製到剪貼簿"
+ }
}
}
diff --git a/webview-ui/src/i18n/locales/zh-TW/marketplace.json b/webview-ui/src/i18n/locales/zh-TW/marketplace.json
index cffceb732a..0e11f2a23e 100644
--- a/webview-ui/src/i18n/locales/zh-TW/marketplace.json
+++ b/webview-ui/src/i18n/locales/zh-TW/marketplace.json
@@ -124,5 +124,8 @@
"emojiName": "表情符號字元可能導致顯示問題",
"maxSources": "最多允許 {{max}} 個來源"
}
+ },
+ "footer": {
+ "issueText": "發現 marketplace 項目問題或有新項目建議?<0>在 GitHub 開啟 issue0> 告訴我們!"
}
}
diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json
index 04b26b7310..901ec23416 100644
--- a/webview-ui/src/i18n/locales/zh-TW/settings.json
+++ b/webview-ui/src/i18n/locales/zh-TW/settings.json
@@ -500,6 +500,10 @@
"DISABLE_COMPLETION_COMMAND": {
"name": "停用 attempt_completion 中的指令執行",
"description": "啟用後,attempt_completion 工具將不會執行指令。這是一項實驗性功能,旨在為未來停用工作完成時的指令執行做準備。"
+ },
+ "MULTI_FILE_APPLY_DIFF": {
+ "name": "啟用並行檔案編輯",
+ "description": "啟用後 Roo 可在單個請求中編輯多個檔案。停用後 Roo 必須逐個編輯檔案。停用此功能有助於使用能力較弱的模型或需要更精確控制檔案修改時。"
}
},
"promptCaching": {