setSearchValue(e.target.value)}
@@ -237,7 +236,9 @@ export const SelectDropdown = React.memo(
{/* Dropdown items - Use windowing for large lists */}
{groupedOptions.length === 0 && searchValue ? (
-
No results found
+
+ {t("common:ui.no_results")}
+
) : (
{groupedOptions.map((option, index) => {
diff --git a/webview-ui/src/components/welcome/RooHero.tsx b/webview-ui/src/components/welcome/RooHero.tsx
index e4db5d06e3..8095a83189 100644
--- a/webview-ui/src/components/welcome/RooHero.tsx
+++ b/webview-ui/src/components/welcome/RooHero.tsx
@@ -1,6 +1,9 @@
import { useState } from "react"
+import { useAppTranslation } from "@src/i18n/TranslationContext"
+
const RooHero = () => {
+ const { t } = useAppTranslation()
const [imagesBaseUri] = useState(() => {
const w = window as any
return w.IMAGES_BASE_URI || ""
@@ -24,7 +27,11 @@ const RooHero = () => {
animation: isHovered ? "smooth-bounce 1s ease-in-out infinite" : "none",
}}
className="z-5 mr-auto translate-y-0 transition-transform duration-500">
-

+
({
+ useAppTranslation: () => ({
+ t: (key: string) => (key === "welcome:landing.logoAlt" ? "Roo logo" : key),
+ }),
+}))
+
+describe("RooHero", () => {
+ it("renders the logo with the translated alt text", () => {
+ render()
+
+ expect(screen.getByAltText("Roo logo")).toBeInTheDocument()
+ })
+})
diff --git a/webview-ui/src/i18n/locales/ca/chat.json b/webview-ui/src/i18n/locales/ca/chat.json
index 9160b1f9b0..b03aa11711 100644
--- a/webview-ui/src/i18n/locales/ca/chat.json
+++ b/webview-ui/src/i18n/locales/ca/chat.json
@@ -22,7 +22,8 @@
"fileChangesInConversation": {
"header_one": "{{count}} fitxer canviat en aquesta conversa",
"header_many": "{{count}} fitxers canviats en aquesta conversa",
- "header_other": "{{count}} fitxers canviats en aquesta conversa"
+ "header_other": "{{count}} fitxers canviats en aquesta conversa",
+ "lineStatsAriaLabel": "Línies afegides: {{added}}, línies eliminades: {{removed}}"
},
"tokenProgress": {
"availableSpace": "Espai disponible: {{amount}} tokens",
@@ -233,7 +234,9 @@
"addToAllowed": "Afegeix a la llista permesa",
"removeFromAllowed": "Elimina de la llista permesa",
"addToDenied": "Afegeix a la llista denegada",
- "removeFromDenied": "Elimina de la llista denegada"
+ "removeFromDenied": "Elimina de la llista denegada",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "Fes clic per editar el patró"
},
"text": {
"rooSaid": "En Zoo ha dit"
@@ -292,7 +295,9 @@
"triggerLabel_one": "{{count}} aprovació automàtica",
"triggerLabel_many": "{{count}} aprovacions automàtiques",
"triggerLabel_other": "{{count}} aprovacions automàtiques",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "Activat",
+ "toggleAriaLabel": "Commuta l'aprovació automàtica"
},
"reasoning": {
"thinking": "Pensant",
@@ -370,7 +375,8 @@
"didSearch_one": "S'ha trobat {{count}} resultat",
"didSearch_many": "S'han trobat {{count}} resultats",
"didSearch_other": "S'han trobat {{count}} resultats",
- "resultTooltip": "Puntuació de similitud: {{score}} (fes clic per obrir el fitxer)"
+ "resultTooltip": "Puntuació de similitud: {{score}} (fes clic per obrir el fitxer)",
+ "displayError": "Error en mostrar els resultats de la cerca."
},
"read-batch": {
"approve": {
@@ -430,12 +436,43 @@
"noResults": "Sense resultats",
"problems": "Problemes",
"terminal": "Terminal",
- "url": "Enganxa la URL per obtenir-ne el contingut"
+ "url": "Enganxa la URL per obtenir-ne el contingut",
+ "gitCommits": "Commits de Git",
+ "gitCommitsDescription": "Cerca a l'historial del repositori",
+ "workingChanges": "Canvis en curs",
+ "workingChangesDescription": "Canvis actuals sense confirmar",
+ "commit": "Commit {{hash}}",
+ "commitHashDescription": "Hash del commit de Git",
+ "addFile": "Afegeix un fitxer",
+ "addFolder": "Afegeix una carpeta",
+ "commands": "Ordres",
+ "modes": "Modes"
},
"todo": {
"partial": "{{completed}} de {{total}} tasques pendents fetes",
"complete": "{{total}} tasques pendents fetes",
- "updated": "S'ha actualitzat la llista de tasques pendents"
+ "updated": "S'ha actualitzat la llista de tasques pendents",
+ "listUpdated": "Llista de tasques actualitzada",
+ "userEdit": "Edició de l'usuari",
+ "userEdits": "Edicions de l'usuari",
+ "edit": "Edita",
+ "done": "Fet",
+ "itemPlaceholder": "Introdueix una tasca",
+ "newItemPlaceholder": "Introdueix una tasca i prem Retorn per afegir-la",
+ "remove": "Elimina",
+ "add": "Afegeix",
+ "cancel": "Cancel·la",
+ "addTodo": "+ Afegeix una tasca",
+ "status": {
+ "notStarted": "No iniciada",
+ "inProgress": "En curs",
+ "completed": "Completada"
+ },
+ "deleteDialog": {
+ "title": "Elimina la tasca",
+ "description": "Segur que vols eliminar aquesta tasca?",
+ "confirm": "Elimina"
+ }
},
"tooManyTools": {
"title": "Massa eines habilitades",
@@ -459,5 +496,26 @@
"title": "Proveïdor ja no compatible",
"message": "Aquest proveïdor ja no està disponible. Selecciona un proveïdor compatible per continuar.",
"openSettings": "Obrir configuració"
+ },
+ "zooCodeAuth": {
+ "signIn": "Inicia sessió a Zoo Code",
+ "goToDashboard": "Ves al tauler",
+ "signOut": "Tanca la sessió",
+ "avatarAlt": "Avatar",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "Connectat"
+ },
+ "arguments": "Arguments:",
+ "copyAsMarkdown": "Copia com a Markdown",
+ "openInPreview": "Obre a la previsualització",
+ "codeAccordion": {
+ "userEdits": "Edicions de l'usuari",
+ "consoleLogs": "Registres de la consola",
+ "openFileAriaLabel": "Obre el fitxer: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_one": "{{count}} línia oculta",
+ "hiddenLines_many": "{{count}} de línies ocultes",
+ "hiddenLines_other": "{{count}} línies ocultes"
}
}
diff --git a/webview-ui/src/i18n/locales/ca/common.json b/webview-ui/src/i18n/locales/ca/common.json
index 4c3e1bb76e..9fd0fe4402 100644
--- a/webview-ui/src/i18n/locales/ca/common.json
+++ b/webview-ui/src/i18n/locales/ca/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "Cerca...",
- "no_results": "No s'han trobat resultats"
+ "no_results": "No s'han trobat resultats",
+ "close": "Tanca",
+ "clear_search_aria_label": "Esborra la cerca"
},
"mermaid": {
"loading": "Generant diagrama mermaid...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "Imatge"
},
- "noData": "Sense dades d'imatge"
+ "noData": "Sense dades d'imatge",
+ "generatedAlt": "Imatge generada per IA",
+ "thumbnailAlt": "Miniatura {{index}}"
},
"confirmation": {
"deleteMessage": "Eliminar missatge",
diff --git a/webview-ui/src/i18n/locales/ca/marketplace.json b/webview-ui/src/i18n/locales/ca/marketplace.json
index f6d7029947..010ce78ba5 100644
--- a/webview-ui/src/i18n/locales/ca/marketplace.json
+++ b/webview-ui/src/i18n/locales/ca/marketplace.json
@@ -72,7 +72,8 @@
"goToModes": "Anar a la configuració de Modes",
"moreInfoMcp": "Veure documentació MCP de {{name}}",
"validationRequired": "Si us plau, proporciona un valor per a {{paramName}}",
- "prerequisites": "Prerequisits"
+ "prerequisites": "Prerequisits",
+ "optional": "(opcional)"
},
"removeConfirm": {
"mode": {
@@ -89,5 +90,9 @@
},
"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!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "Modes"
}
}
diff --git a/webview-ui/src/i18n/locales/ca/mcp.json b/webview-ui/src/i18n/locales/ca/mcp.json
index f8c6888f88..ca8704d358 100644
--- a/webview-ui/src/i18n/locales/ca/mcp.json
+++ b/webview-ui/src/i18n/locales/ca/mcp.json
@@ -55,5 +55,10 @@
"running": "En execució",
"completed": "Completat",
"error": "Error"
- }
+ },
+ "resource": {
+ "returns": "Retorna",
+ "unknownMimeType": "Desconegut"
+ },
+ "toggleServerAriaLabel": "Activa o desactiva el servidor {{serverName}}"
}
diff --git a/webview-ui/src/i18n/locales/ca/prompts.json b/webview-ui/src/i18n/locales/ca/prompts.json
index c2ae9824dd..6dff3fcccb 100644
--- a/webview-ui/src/i18n/locales/ca/prompts.json
+++ b/webview-ui/src/i18n/locales/ca/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "Configuració d'API",
- "select": "Seleccioneu quina configuració d'API utilitzar per a aquest mode"
+ "select": "Seleccioneu quina configuració d'API utilitzar per a aquest mode",
+ "pinnedGroupAriaLabel": "Configuracions fixades",
+ "allGroupAriaLabel": "Totes les configuracions"
},
"tools": {
"title": "Eines disponibles",
@@ -47,7 +49,8 @@
"title": "Instruccions personalitzades específiques del mode (opcional)",
"resetToDefault": "Restablir a valors predeterminats",
"description": "Afegiu directrius de comportament específiques per al mode {{modeName}}.",
- "loadFromFile": "Les instruccions personalitzades específiques per al mode {{mode}} també es poden carregar des de la carpeta .roo/rules-{{slug}}/ al vostre espai de treball o des del global <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} i .clinerules-{{slug}} estan obsolets i deixaran de funcionar aviat)."
+ "loadFromFile": "Les instruccions personalitzades específiques per al mode {{mode}} també es poden carregar des de la carpeta .roo/rules-{{slug}}/ al vostre espai de treball o des del global <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} i .clinerules-{{slug}} estan obsolets i deixaran de funcionar aviat).",
+ "loadFromFileAriaLabel": "Més informació sobre les instruccions personalitzades globals per a modes"
},
"exportMode": {
"title": "Exportar mode",
@@ -69,7 +72,9 @@
"globalCustomInstructions": {
"title": "Instruccions personalitzades per a tots els modes",
"description": "Aquestes instruccions s'apliquen a tots els modes. Proporcionen un conjunt bàsic de comportaments que es poden millorar amb instruccions específiques de cada mode a continuació. <0>Més informació0>",
- "loadFromFile": "Les instruccions també es poden carregar des de la carpeta .roo/rules/ al vostre espai de treball o des del global <0>.roo/rules/0> (.roorules i .clinerules estan obsolets i deixaran de funcionar aviat)."
+ "loadFromFile": "Les instruccions també es poden carregar des de la carpeta .roo/rules/ al vostre espai de treball o des del global <0>.roo/rules/0> (.roorules i .clinerules estan obsolets i deixaran de funcionar aviat).",
+ "learnMoreAriaLabel": "Més informació sobre les instruccions personalitzades globals",
+ "loadFromFileAriaLabel": "Aprèn a configurar instruccions personalitzades globals"
},
"systemPrompt": {
"preview": "Previsualització del prompt del sistema",
@@ -199,5 +204,10 @@
"rulesFolder": "Aquest mode té una carpeta de regles a {{folderPath}} que també se suprimirà.",
"confirm": "Suprimeix",
"cancel": "Cancel·la"
+ },
+ "mcpServers": {
+ "restrict": "Restringeix a servidors MCP concrets",
+ "noneConnected": "No hi ha cap servidor MCP connectat",
+ "notConnected": "{{serverName}} (no connectat)"
}
}
diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json
index 551782a3fd..a86b313539 100644
--- a/webview-ui/src/i18n/locales/ca/settings.json
+++ b/webview-ui/src/i18n/locales/ca/settings.json
@@ -6,7 +6,8 @@
"cancel": "Cancel·lar",
"select": "Seleccionar",
"add": "Afegir capçalera",
- "remove": "Eliminar"
+ "remove": "Eliminar",
+ "milliseconds": "{{value}} ms"
},
"search": {
"placeholder": "Cercar configuració...",
@@ -81,7 +82,9 @@
"detailTasksImported_other": "S'han importat {{count}} de {{total}} historials de tasques.",
"detailPreparing": "Preparant la importació de l'historial de Roo Code.",
"progressAriaLabel": "Progrés de la importació de l'historial de Roo Code"
- }
+ },
+ "version": "Versió: {{version}}",
+ "versionWithCommit": "Versió: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "Gestiona les teves comandes de barra per executar ràpidament fluxos de treball i accions personalitzades. Aprèn-ne més",
@@ -686,6 +689,17 @@
"signInDescription": "Inicia sessió per utilitzar Zoo Gateway amb el teu compte",
"authenticated": "Autenticat",
"authenticatedAs": "Autenticat com a {{name}}"
+ },
+ "awsAuthMethod": "Mètode d'autenticació",
+ "qwenCode": {
+ "oauthPathLabel": "Ruta de les credencials OAuth",
+ "oauthPathDescription": "Ruta al teu fitxer de credencials OAuth de Qwen. Si el deixes buit, s'utilitza {{defaultPath}}.",
+ "description": "Qwen Code és una API basada en OAuth que requereix autenticació mitjançant el client oficial de Qwen. Primer has de configurar les credencials OAuth.",
+ "gettingStarted": "Per començar:",
+ "step1": "1. Instal·la el client oficial de Qwen",
+ "step2": "2. Autentica't amb el teu compte",
+ "step3": "3. Les credencials OAuth es desaran automàticament",
+ "setupInstructions": "Instruccions de configuració"
}
},
"checkpoints": {
@@ -917,7 +931,8 @@
"refreshing": "Actualitzant...",
"refreshSuccess": "Eines actualitzades correctament",
"refreshError": "Error en actualitzar les eines",
- "toolParameters": "Paràmetres"
+ "toolParameters": "Paràmetres",
+ "required": "obligatori"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "Esforç de pensament dinàmic",
@@ -957,7 +972,13 @@
"freeRequests_other": "* Gratuït fins a {{count}} sol·licituds per minut. Després d'això, la facturació depèn de la mida del prompt.",
"pricingDetails": "Per a més informació, consulteu els detalls de preus.",
"billingEstimate": "* La facturació és una estimació - el cost exacte depèn de la mida del prompt."
- }
+ },
+ "tokensValue_one": "{{count, number}} token",
+ "tokensValue_many": "{{count, number}} de tokens",
+ "tokensValue_other": "{{count, number}} tokens",
+ "pricePerMillionTokens": "{{price}} / 1M de tokens",
+ "showMore": "Més",
+ "showLess": "Menys"
},
"modelPicker": {
"automaticFetch": "L'extensió obté automàticament la llista més recent de models disponibles a {{serviceName}}. Si no esteu segur de quin model triar, Zoo Code funciona millor amb {{defaultModelId}}. També podeu cercar \"free\" per a opcions gratuïtes actualment disponibles.",
@@ -1022,7 +1043,8 @@
"inputPrice": "p. ex. 0.0001",
"outputPrice": "p. ex. 0.0002",
"cacheWritePrice": "p. ex. 0.00005"
- }
+ },
+ "defaultValue": "Per defecte: {{value}}"
},
"defaults": {
"ollamaUrl": "Per defecte: http://localhost:11434",
@@ -1051,7 +1073,9 @@
"input": "Entrada",
"output": "Sortida",
"cacheReads": "Lectures de memòria cau"
- }
+ },
+ "label": "Nivell de servei",
+ "tooltip": "Per a un processament més ràpid de les sol·licituds a l'API, prova el nivell de servei de processament prioritari. Per a preus més baixos amb més latència, prova el nivell de processament flexible."
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/ca/welcome.json b/webview-ui/src/i18n/locales/ca/welcome.json
index 5919814d1c..d31da03b59 100644
--- a/webview-ui/src/i18n/locales/ca/welcome.json
+++ b/webview-ui/src/i18n/locales/ca/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Benvingut a Zoo Code!",
- "introduction": "Amb una gamma de Modes integrats i ampliables, Zoo Code et permet planificar, arquitectar, codificar, depurar i augmentar la teva productivitat com mai abans."
+ "introduction": "Amb una gamma de Modes integrats i ampliables, Zoo Code et permet planificar, arquitectar, codificar, depurar i augmentar la teva productivitat com mai abans.",
+ "logoAlt": "Logotip de Roo"
},
"providerSignup": {
"heading": "Tria el teu proveïdor",
diff --git a/webview-ui/src/i18n/locales/de/chat.json b/webview-ui/src/i18n/locales/de/chat.json
index 8e2908299b..31cff8af5d 100644
--- a/webview-ui/src/i18n/locales/de/chat.json
+++ b/webview-ui/src/i18n/locales/de/chat.json
@@ -21,7 +21,8 @@
"pin": "Anheften",
"fileChangesInConversation": {
"header_one": "{{count}} Datei in dieser Unterhaltung geändert",
- "header_other": "{{count}} Dateien in dieser Unterhaltung geändert"
+ "header_other": "{{count}} Dateien in dieser Unterhaltung geändert",
+ "lineStatsAriaLabel": "Hinzugefügte Zeilen: {{added}}, entfernte Zeilen: {{removed}}"
},
"tokenProgress": {
"availableSpace": "Verfügbarer Speicher: {{amount}} Tokens",
@@ -232,7 +233,9 @@
"addToAllowed": "Zur erlaubten Liste hinzufügen",
"removeFromAllowed": "Von der erlaubten Liste entfernen",
"addToDenied": "Zur verweigerten Liste hinzufügen",
- "removeFromDenied": "Von der verweigerten Liste entfernen"
+ "removeFromDenied": "Von der verweigerten Liste entfernen",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "Klicken, um das Muster zu bearbeiten"
},
"text": {
"rooSaid": "Zoo hat gesagt"
@@ -290,7 +293,9 @@
"triggerLabel_zero": "0 automatisch genehmigt",
"triggerLabel_one": "{{count}} automatisch genehmigt",
"triggerLabel_other": "{{count}} automatisch genehmigt",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "Aktiviert",
+ "toggleAriaLabel": "Automatische Genehmigung umschalten"
},
"reasoning": {
"thinking": "Denke nach",
@@ -365,7 +370,8 @@
"wantsToSearchWithPath": "Zoo möchte den Codebase nach {{query}} in {{path}} durchsuchen",
"didSearch_one": "{{count}} Ergebnis gefunden",
"didSearch_other": "{{count}} Ergebnisse gefunden",
- "resultTooltip": "Ähnlichkeitswert: {{score}} (klicken zum Öffnen der Datei)"
+ "resultTooltip": "Ähnlichkeitswert: {{score}} (klicken zum Öffnen der Datei)",
+ "displayError": "Fehler beim Anzeigen der Suchergebnisse."
},
"read-batch": {
"approve": {
@@ -417,7 +423,17 @@
"noResults": "Keine Ergebnisse",
"problems": "Probleme",
"terminal": "Terminal",
- "url": "URL einfügen, um Inhalte abzurufen"
+ "url": "URL einfügen, um Inhalte abzurufen",
+ "gitCommits": "Git-Commits",
+ "gitCommitsDescription": "Repository-Verlauf durchsuchen",
+ "workingChanges": "Arbeitsänderungen",
+ "workingChangesDescription": "Aktuelle nicht committete Änderungen",
+ "commit": "Commit {{hash}}",
+ "commitHashDescription": "Git-Commit-Hash",
+ "addFile": "Datei hinzufügen",
+ "addFolder": "Ordner hinzufügen",
+ "commands": "Befehle",
+ "modes": "Modi"
},
"queuedMessages": {
"title": "Warteschlange Nachrichten",
@@ -430,7 +446,28 @@
"todo": {
"partial": "{{completed}} von {{total}} To-Dos erledigt",
"complete": "{{total}} To-Dos erledigt",
- "updated": "Die To-Do-Liste wurde aktualisiert"
+ "updated": "Die To-Do-Liste wurde aktualisiert",
+ "listUpdated": "To-do-Liste aktualisiert",
+ "userEdit": "Benutzeränderung",
+ "userEdits": "Benutzeränderungen",
+ "edit": "Bearbeiten",
+ "done": "Fertig",
+ "itemPlaceholder": "To-do eingeben",
+ "newItemPlaceholder": "To-do eingeben, mit Enter hinzufügen",
+ "remove": "Entfernen",
+ "add": "Hinzufügen",
+ "cancel": "Abbrechen",
+ "addTodo": "+ To-do hinzufügen",
+ "status": {
+ "notStarted": "Nicht begonnen",
+ "inProgress": "In Bearbeitung",
+ "completed": "Abgeschlossen"
+ },
+ "deleteDialog": {
+ "title": "To-do löschen",
+ "description": "Möchtest du dieses To-do wirklich löschen?",
+ "confirm": "Löschen"
+ }
},
"tooManyTools": {
"title": "Zu viele Tools aktiviert",
@@ -452,5 +489,25 @@
"title": "Anbieter wird nicht mehr unterstützt",
"message": "Dieser Anbieter ist nicht mehr verfügbar. Wähle einen unterstützten Anbieter aus, um fortzufahren.",
"openSettings": "Einstellungen öffnen"
+ },
+ "zooCodeAuth": {
+ "signIn": "Bei Zoo Code anmelden",
+ "goToDashboard": "Zum Dashboard",
+ "signOut": "Abmelden",
+ "avatarAlt": "Avatar",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "Verbunden"
+ },
+ "arguments": "Argumente:",
+ "copyAsMarkdown": "Als Markdown kopieren",
+ "openInPreview": "In der Vorschau öffnen",
+ "codeAccordion": {
+ "userEdits": "Benutzeränderungen",
+ "consoleLogs": "Konsolenprotokolle",
+ "openFileAriaLabel": "Datei öffnen: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_one": "{{count}} ausgeblendete Zeile",
+ "hiddenLines_other": "{{count}} ausgeblendete Zeilen"
}
}
diff --git a/webview-ui/src/i18n/locales/de/common.json b/webview-ui/src/i18n/locales/de/common.json
index 026c5e10a9..b16929b677 100644
--- a/webview-ui/src/i18n/locales/de/common.json
+++ b/webview-ui/src/i18n/locales/de/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "Suchen...",
- "no_results": "Keine Ergebnisse gefunden"
+ "no_results": "Keine Ergebnisse gefunden",
+ "close": "Schließen",
+ "clear_search_aria_label": "Suche löschen"
},
"mermaid": {
"loading": "Mermaid-Diagramm wird generiert...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "Bild"
},
- "noData": "Keine Bilddaten"
+ "noData": "Keine Bilddaten",
+ "generatedAlt": "KI-generiertes Bild",
+ "thumbnailAlt": "Vorschaubild {{index}}"
},
"confirmation": {
"deleteMessage": "Nachricht löschen",
diff --git a/webview-ui/src/i18n/locales/de/marketplace.json b/webview-ui/src/i18n/locales/de/marketplace.json
index 1ca89f0f84..e7b242d2b7 100644
--- a/webview-ui/src/i18n/locales/de/marketplace.json
+++ b/webview-ui/src/i18n/locales/de/marketplace.json
@@ -72,7 +72,8 @@
"goToModes": "Zu den Modi-Einstellungen gehen",
"moreInfoMcp": "{{name}} MCP-Dokumentation anzeigen",
"validationRequired": "Bitte gib einen Wert für {{paramName}} an",
- "prerequisites": "Voraussetzungen"
+ "prerequisites": "Voraussetzungen",
+ "optional": "(optional)"
},
"removeConfirm": {
"mode": {
@@ -89,5 +90,9 @@
},
"footer": {
"issueText": "Problem mit einem Marketplace-Element gefunden oder Vorschläge für neue? <0>Öffne ein GitHub-Issue0>, um es uns mitzuteilen!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "Modi"
}
}
diff --git a/webview-ui/src/i18n/locales/de/mcp.json b/webview-ui/src/i18n/locales/de/mcp.json
index 350694a2aa..6a18e7aa3c 100644
--- a/webview-ui/src/i18n/locales/de/mcp.json
+++ b/webview-ui/src/i18n/locales/de/mcp.json
@@ -55,5 +55,10 @@
"running": "Wird ausgeführt",
"completed": "Abgeschlossen",
"error": "Fehler"
- }
+ },
+ "resource": {
+ "returns": "Gibt zurück",
+ "unknownMimeType": "Unbekannt"
+ },
+ "toggleServerAriaLabel": "Server {{serverName}} ein-/ausschalten"
}
diff --git a/webview-ui/src/i18n/locales/de/prompts.json b/webview-ui/src/i18n/locales/de/prompts.json
index c67b0670fa..65fa982414 100644
--- a/webview-ui/src/i18n/locales/de/prompts.json
+++ b/webview-ui/src/i18n/locales/de/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "API-Konfiguration",
- "select": "Wähle, welche API-Konfiguration für diesen Modus verwendet werden soll"
+ "select": "Wähle, welche API-Konfiguration für diesen Modus verwendet werden soll",
+ "pinnedGroupAriaLabel": "Angeheftete Konfigurationen",
+ "allGroupAriaLabel": "Alle Konfigurationen"
},
"tools": {
"title": "Verfügbare Werkzeuge",
@@ -47,7 +49,8 @@
"title": "Modusspezifische benutzerdefinierte Anweisungen (optional)",
"resetToDefault": "Auf Standardwerte zurücksetzen",
"description": "Fügen Sie verhaltensspezifische Richtlinien für den Modus {{modeName}} hinzu.",
- "loadFromFile": "Benutzerdefinierte Anweisungen für den Modus {{mode}} können auch aus dem Ordner .roo/rules-{{slug}}/ in deinem Arbeitsbereich oder aus dem globalen <0>.roo/rules-{{slug}}/0> geladen werden (.roorules-{{slug}} und .clinerules-{{slug}} sind veraltet und werden bald nicht mehr funktionieren)."
+ "loadFromFile": "Benutzerdefinierte Anweisungen für den Modus {{mode}} können auch aus dem Ordner .roo/rules-{{slug}}/ in deinem Arbeitsbereich oder aus dem globalen <0>.roo/rules-{{slug}}/0> geladen werden (.roorules-{{slug}} und .clinerules-{{slug}} sind veraltet und werden bald nicht mehr funktionieren).",
+ "loadFromFileAriaLabel": "Mehr über globale benutzerdefinierte Anweisungen für Modi erfahren"
},
"exportMode": {
"title": "Modus exportieren",
@@ -69,7 +72,9 @@
"globalCustomInstructions": {
"title": "Benutzerdefinierte Anweisungen für alle Modi",
"description": "Diese Anweisungen gelten für alle Modi. Sie bieten einen grundlegenden Satz von Verhaltensweisen, die durch modusspezifische Anweisungen unten erweitert werden können. <0>Mehr erfahren0>",
- "loadFromFile": "Anweisungen können auch aus dem Ordner .roo/rules/ in deinem Arbeitsbereich oder aus dem globalen <0>.roo/rules/0> geladen werden (.roorules und .clinerules sind veraltet und werden bald nicht mehr funktionieren)."
+ "loadFromFile": "Anweisungen können auch aus dem Ordner .roo/rules/ in deinem Arbeitsbereich oder aus dem globalen <0>.roo/rules/0> geladen werden (.roorules und .clinerules sind veraltet und werden bald nicht mehr funktionieren).",
+ "learnMoreAriaLabel": "Mehr über globale benutzerdefinierte Anweisungen erfahren",
+ "loadFromFileAriaLabel": "Erfahre, wie du globale benutzerdefinierte Anweisungen einrichtest"
},
"systemPrompt": {
"preview": "System-Prompt Vorschau",
@@ -199,5 +204,10 @@
"rulesFolder": "Dieser Modus hat einen Regelordner unter {{folderPath}}, der ebenfalls gelöscht wird.",
"confirm": "Löschen",
"cancel": "Abbrechen"
+ },
+ "mcpServers": {
+ "restrict": "Auf bestimmte MCP-Server beschränken",
+ "noneConnected": "Keine MCP-Server verbunden",
+ "notConnected": "{{serverName}} (nicht verbunden)"
}
}
diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json
index 4d320d4968..f29ac76cb8 100644
--- a/webview-ui/src/i18n/locales/de/settings.json
+++ b/webview-ui/src/i18n/locales/de/settings.json
@@ -6,7 +6,8 @@
"cancel": "Abbrechen",
"select": "Auswählen",
"add": "Header hinzufügen",
- "remove": "Entfernen"
+ "remove": "Entfernen",
+ "milliseconds": "{{value}} ms"
},
"search": {
"placeholder": "Einstellungen durchsuchen...",
@@ -80,7 +81,9 @@
"detailTasksImported_other": "{{count}} von {{total}} Aufgabenverläufe importiert.",
"detailPreparing": "Roo Code-Verlaufsimport wird vorbereitet.",
"progressAriaLabel": "Fortschritt des Roo Code-Verlaufsimports"
- }
+ },
+ "version": "Version: {{version}}",
+ "versionWithCommit": "Version: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "Verwalte deine Slash-Befehle, um benutzerdefinierte Workflows und Aktionen schnell auszuführen. Mehr erfahren",
@@ -685,6 +688,17 @@
"signInDescription": "Melde dich an, um Zoo Gateway mit deinem Konto zu nutzen",
"authenticated": "Authentifiziert",
"authenticatedAs": "Authentifiziert als {{name}}"
+ },
+ "awsAuthMethod": "Authentifizierungsmethode",
+ "qwenCode": {
+ "oauthPathLabel": "Pfad zu den OAuth-Anmeldedaten",
+ "oauthPathDescription": "Pfad zu deiner Qwen-OAuth-Anmeldedatei. Wenn du ihn leer lässt, wird {{defaultPath}} verwendet.",
+ "description": "Qwen Code ist eine OAuth-basierte API, die eine Authentifizierung über den offiziellen Qwen-Client erfordert. Du musst zuerst OAuth-Anmeldedaten einrichten.",
+ "gettingStarted": "So legst du los:",
+ "step1": "1. Installiere den offiziellen Qwen-Client",
+ "step2": "2. Melde dich mit deinem Konto an",
+ "step3": "3. Die OAuth-Anmeldedaten werden automatisch gespeichert",
+ "setupInstructions": "Einrichtungsanleitung"
}
},
"checkpoints": {
@@ -916,7 +930,8 @@
"refreshing": "Aktualisieren...",
"refreshSuccess": "Tools erfolgreich aktualisiert",
"refreshError": "Fehler beim Aktualisieren der Tools",
- "toolParameters": "Parameter"
+ "toolParameters": "Parameter",
+ "required": "erforderlich"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "Dynamische Denkintensität",
@@ -955,7 +970,12 @@
"freeRequests_other": "* Kostenlos bis zu {{count}} Anfragen pro Minute. Danach hängt die Abrechnung von der Prompt-Größe ab.",
"pricingDetails": "Weitere Informationen finden Sie unter Preisdetails.",
"billingEstimate": "* Die Abrechnung ist eine Schätzung - die genauen Kosten hängen von der Prompt-Größe ab."
- }
+ },
+ "tokensValue_one": "{{count, number}} Token",
+ "tokensValue_other": "{{count, number}} Token",
+ "pricePerMillionTokens": "{{price}} / 1 Mio. Token",
+ "showMore": "Mehr",
+ "showLess": "Weniger"
},
"modelPicker": {
"automaticFetch": "Die Erweiterung ruft automatisch die neueste Liste der auf {{serviceName}} verfügbaren Modelle ab. Wenn du dir nicht sicher bist, welches Modell du wählen sollst, funktioniert Zoo Code am besten mit {{defaultModelId}}. Du kannst auch versuchen, nach \"kostenlos\" zu suchen, um die derzeit verfügbaren kostenlosen Optionen zu finden.",
@@ -1020,7 +1040,8 @@
"inputPrice": "z.B. 0.0001",
"outputPrice": "z.B. 0.0002",
"cacheWritePrice": "z.B. 0.00005"
- }
+ },
+ "defaultValue": "Standard: {{value}}"
},
"defaults": {
"ollamaUrl": "Standard: http://localhost:11434",
@@ -1049,7 +1070,9 @@
"input": "Eingabe",
"output": "Ausgabe",
"cacheReads": "Cache-Lesevorgänge"
- }
+ },
+ "label": "Service-Stufe",
+ "tooltip": "Für eine schnellere Verarbeitung von API-Anfragen probier die Priority-Service-Stufe aus. Für niedrigere Preise bei höherer Latenz probier die Flex-Stufe aus."
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/de/welcome.json b/webview-ui/src/i18n/locales/de/welcome.json
index f45ab8605a..7b154a8c1d 100644
--- a/webview-ui/src/i18n/locales/de/welcome.json
+++ b/webview-ui/src/i18n/locales/de/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Willkommen bei Zoo Code!",
- "introduction": "Mit einer Reihe von integrierten und erweiterbaren Modi ermöglicht dir Zoo Code, zu planen, zu architektieren, zu coden, zu debuggen und deine Produktivität wie nie zuvor zu steigern."
+ "introduction": "Mit einer Reihe von integrierten und erweiterbaren Modi ermöglicht dir Zoo Code, zu planen, zu architektieren, zu coden, zu debuggen und deine Produktivität wie nie zuvor zu steigern.",
+ "logoAlt": "Roo-Logo"
},
"providerSignup": {
"heading": "Wähle deinen Anbieter",
diff --git a/webview-ui/src/i18n/locales/en/chat.json b/webview-ui/src/i18n/locales/en/chat.json
index 5ed830a662..82c37b2c9f 100644
--- a/webview-ui/src/i18n/locales/en/chat.json
+++ b/webview-ui/src/i18n/locales/en/chat.json
@@ -21,7 +21,8 @@
"pin": "Pin",
"fileChangesInConversation": {
"header_one": "{{count}} file changed in this conversation",
- "header_other": "{{count}} files changed in this conversation"
+ "header_other": "{{count}} files changed in this conversation",
+ "lineStatsAriaLabel": "Lines added: {{added}}, lines removed: {{removed}}"
},
"retry": {
"title": "Retry",
@@ -263,7 +264,8 @@
"wantsToSearchWithPath": "Zoo wants to search the codebase for {{query}} in {{path}}",
"didSearch_one": "Found {{count}} result",
"didSearch_other": "Found {{count}} results",
- "resultTooltip": "Similarity score: {{score}} (click to open file)"
+ "resultTooltip": "Similarity score: {{score}} (click to open file)",
+ "displayError": "Error displaying search results."
},
"commandExecution": {
"abort": "Abort",
@@ -275,7 +277,9 @@
"addToAllowed": "Add to allowed list",
"removeFromAllowed": "Remove from allowed list",
"addToDenied": "Add to denied list",
- "removeFromDenied": "Remove from denied list"
+ "removeFromDenied": "Remove from denied list",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "Click to edit pattern"
},
"text": {
"rooSaid": "Zoo said"
@@ -336,7 +340,9 @@
"triggerLabel_zero": "0 auto-approve",
"triggerLabel_one": "{{count}} auto-approved",
"triggerLabel_other": "{{count}} auto-approved",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "Enabled",
+ "toggleAriaLabel": "Toggle auto-approval"
},
"announcement": {
"title": "Zoo Code {{version}} Released",
@@ -413,12 +419,43 @@
"noResults": "No results",
"problems": "Problems",
"terminal": "Terminal",
- "url": "Paste URL to fetch contents"
+ "url": "Paste URL to fetch contents",
+ "gitCommits": "Git Commits",
+ "gitCommitsDescription": "Search repository history",
+ "workingChanges": "Working changes",
+ "workingChangesDescription": "Current uncommitted changes",
+ "commit": "Commit {{hash}}",
+ "commitHashDescription": "Git commit hash",
+ "addFile": "Add File",
+ "addFolder": "Add Folder",
+ "commands": "Commands",
+ "modes": "Modes"
},
"todo": {
"partial": "{{completed}} of {{total}} to-dos done",
"complete": "{{total}} to-dos done",
- "updated": "Updated the to-do list"
+ "updated": "Updated the to-do list",
+ "listUpdated": "Todo List Updated",
+ "userEdit": "User Edit",
+ "userEdits": "User Edits",
+ "edit": "Edit",
+ "done": "Done",
+ "itemPlaceholder": "Enter todo item",
+ "newItemPlaceholder": "Enter todo item, press Enter to add",
+ "remove": "Remove",
+ "add": "Add",
+ "cancel": "Cancel",
+ "addTodo": "+ Add Todo",
+ "status": {
+ "notStarted": "Not Started",
+ "inProgress": "In Progress",
+ "completed": "Completed"
+ },
+ "deleteDialog": {
+ "title": "Delete todo item",
+ "description": "Are you sure you want to delete this todo item?",
+ "confirm": "Delete"
+ }
},
"tooManyTools": {
"title": "Too many tools enabled",
@@ -440,5 +477,25 @@
"title": "Provider no longer supported",
"message": "This provider is no longer available. Select a supported provider to continue.",
"openSettings": "Open Settings"
+ },
+ "zooCodeAuth": {
+ "signIn": "Sign in to Zoo Code",
+ "goToDashboard": "Go to Dashboard",
+ "signOut": "Sign out",
+ "avatarAlt": "Avatar",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "Connected"
+ },
+ "arguments": "Arguments:",
+ "copyAsMarkdown": "Copy as markdown",
+ "openInPreview": "Open in preview",
+ "codeAccordion": {
+ "userEdits": "User Edits",
+ "consoleLogs": "Console Logs",
+ "openFileAriaLabel": "Open file: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_one": "{{count}} hidden line",
+ "hiddenLines_other": "{{count}} hidden lines"
}
}
diff --git a/webview-ui/src/i18n/locales/en/common.json b/webview-ui/src/i18n/locales/en/common.json
index f81e72ba4f..820c5f0f0a 100644
--- a/webview-ui/src/i18n/locales/en/common.json
+++ b/webview-ui/src/i18n/locales/en/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "Search...",
- "no_results": "No results found"
+ "no_results": "No results found",
+ "close": "Close",
+ "clear_search_aria_label": "Clear search"
},
"mermaid": {
"loading": "Generating mermaid diagram...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "Image"
},
- "noData": "No image data"
+ "noData": "No image data",
+ "generatedAlt": "AI Generated Image",
+ "thumbnailAlt": "Thumbnail {{index}}"
},
"confirmation": {
"deleteMessage": "Delete Message",
diff --git a/webview-ui/src/i18n/locales/en/marketplace.json b/webview-ui/src/i18n/locales/en/marketplace.json
index 3a0c88e984..83227ad3c0 100644
--- a/webview-ui/src/i18n/locales/en/marketplace.json
+++ b/webview-ui/src/i18n/locales/en/marketplace.json
@@ -70,7 +70,8 @@
"goToMcp": "Go to MCP Tab",
"goToModes": "Go to Modes Settings",
"moreInfoMcp": "View {{name}} MCP documentation",
- "validationRequired": "Please provide a value for {{paramName}}"
+ "validationRequired": "Please provide a value for {{paramName}}",
+ "optional": "(optional)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"footer": {
"issueText": "Found a problem with a marketplace item or have suggestions for new ones? <0>Open a GitHub issue0> to let us know!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "Modes"
}
}
diff --git a/webview-ui/src/i18n/locales/en/mcp.json b/webview-ui/src/i18n/locales/en/mcp.json
index a9e61a222c..1c596984eb 100644
--- a/webview-ui/src/i18n/locales/en/mcp.json
+++ b/webview-ui/src/i18n/locales/en/mcp.json
@@ -55,5 +55,10 @@
"running": "Running",
"completed": "Completed",
"error": "Error"
- }
+ },
+ "resource": {
+ "returns": "Returns",
+ "unknownMimeType": "Unknown"
+ },
+ "toggleServerAriaLabel": "Toggle {{serverName}} server"
}
diff --git a/webview-ui/src/i18n/locales/en/prompts.json b/webview-ui/src/i18n/locales/en/prompts.json
index 206ea3dda2..222839a74a 100644
--- a/webview-ui/src/i18n/locales/en/prompts.json
+++ b/webview-ui/src/i18n/locales/en/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "API Configuration",
- "select": "Select which API configuration to use for this mode"
+ "select": "Select which API configuration to use for this mode",
+ "pinnedGroupAriaLabel": "Pinned configurations",
+ "allGroupAriaLabel": "All configurations"
},
"tools": {
"title": "Available Tools",
@@ -47,7 +49,8 @@
"title": "Mode-specific Custom Instructions (optional)",
"resetToDefault": "Reset to default",
"description": "Add behavioral guidelines specific to {{modeName}} mode.",
- "loadFromFile": "Custom instructions specific to {{mode}} mode can also be loaded from the .roo/rules-{{slug}}/ folder in your workspace or from the global <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} and .clinerules-{{slug}} are deprecated and will stop working soon)."
+ "loadFromFile": "Custom instructions specific to {{mode}} mode can also be loaded from the .roo/rules-{{slug}}/ folder in your workspace or from the global <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} and .clinerules-{{slug}} are deprecated and will stop working soon).",
+ "loadFromFileAriaLabel": "Learn about global custom instructions for modes"
},
"exportMode": {
"title": "Export Mode"
@@ -68,7 +71,9 @@
"globalCustomInstructions": {
"title": "Custom Instructions for All Modes",
"description": "These instructions apply to all modes. They provide a base set of behaviors that can be enhanced by mode-specific instructions below. <0>Learn more0>",
- "loadFromFile": "Instructions can also be loaded from the .roo/rules/ folder in your workspace or from the global <0>.roo/rules/0> (.roorules and .clinerules are deprecated and will stop working soon)."
+ "loadFromFile": "Instructions can also be loaded from the .roo/rules/ folder in your workspace or from the global <0>.roo/rules/0> (.roorules and .clinerules are deprecated and will stop working soon).",
+ "learnMoreAriaLabel": "Learn more about global custom instructions",
+ "loadFromFileAriaLabel": "Learn about setting up global custom instructions"
},
"systemPrompt": {
"preview": "Preview System Prompt",
@@ -198,5 +203,10 @@
"rulesFolder": "This mode has a rules folder at {{folderPath}} that will also be deleted.",
"confirm": "Delete",
"cancel": "Cancel"
+ },
+ "mcpServers": {
+ "restrict": "Restrict to specific MCP servers",
+ "noneConnected": "No MCP servers connected",
+ "notConnected": "{{serverName}} (not connected)"
}
}
diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json
index 4655ed7fbe..d2fb634f82 100644
--- a/webview-ui/src/i18n/locales/en/settings.json
+++ b/webview-ui/src/i18n/locales/en/settings.json
@@ -6,7 +6,8 @@
"cancel": "Cancel",
"select": "Select",
"add": "Add Header",
- "remove": "Remove"
+ "remove": "Remove",
+ "milliseconds": "{{value}}ms"
},
"header": {
"title": "Settings",
@@ -80,7 +81,9 @@
"detailTasksImported_other": "Imported {{count}} of {{total}} task histories.",
"detailPreparing": "Preparing Roo Code history import.",
"progressAriaLabel": "Roo history import progress"
- }
+ },
+ "version": "Version: {{version}}",
+ "versionWithCommit": "Version: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "Slash commands are shortcuts for reusable workflows and actions to be used on demand (like creating a PR, running a set of tasks, etc). Learn more",
@@ -758,7 +761,18 @@
"low": "Low",
"description": "Controls how detailed the model's responses are. Low verbosity produces concise answers, while high verbosity provides thorough explanations."
},
- "setReasoningLevel": "Enable Reasoning Effort"
+ "setReasoningLevel": "Enable Reasoning Effort",
+ "awsAuthMethod": "Authentication Method",
+ "qwenCode": {
+ "oauthPathLabel": "OAuth Credentials Path",
+ "oauthPathDescription": "Path to your Qwen OAuth credentials file. Defaults to {{defaultPath}} if left empty.",
+ "description": "Qwen Code is an OAuth-based API that requires authentication through the official Qwen client. You'll need to set up OAuth credentials first.",
+ "gettingStarted": "To get started:",
+ "step1": "1. Install the official Qwen client",
+ "step2": "2. Authenticate using your account",
+ "step3": "3. OAuth credentials will be stored automatically",
+ "setupInstructions": "Setup Instructions"
+ }
},
"checkpoints": {
"timeout": {
@@ -989,7 +1003,8 @@
"refreshing": "Refreshing...",
"refreshSuccess": "Tools refreshed successfully",
"refreshError": "Failed to refresh tools",
- "toolParameters": "Parameters"
+ "toolParameters": "Parameters",
+ "required": "required"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "Dynamic thinking effort",
@@ -1028,7 +1043,12 @@
"freeRequests_other": "* Free up to {{count}} requests per minute. After that, billing depends on prompt size.",
"pricingDetails": "For more info, see pricing details.",
"billingEstimate": "* Billing is an estimate - exact cost depends on prompt size."
- }
+ },
+ "tokensValue_one": "{{count, number}} token",
+ "tokensValue_other": "{{count, number}} tokens",
+ "pricePerMillionTokens": "{{price}} / 1M tokens",
+ "showMore": "More",
+ "showLess": "Less"
},
"modelPicker": {
"automaticFetch": "The extension automatically fetches the latest list of models available on {{serviceName}}. If you're unsure which model to choose, Zoo Code works best with {{defaultModelId}}. You can also try searching \"free\" for no-cost options currently available.",
@@ -1093,7 +1113,8 @@
"inputPrice": "e.g. 0.0001",
"outputPrice": "e.g. 0.0002",
"cacheWritePrice": "e.g. 0.00005"
- }
+ },
+ "defaultValue": "Default: {{value}}"
},
"defaults": {
"ollamaUrl": "Default: http://localhost:11434",
@@ -1122,7 +1143,9 @@
"input": "Input",
"output": "Output",
"cacheReads": "Cache reads"
- }
+ },
+ "label": "Service tier",
+ "tooltip": "For faster processing of API requests, try the priority processing service tier. For lower prices with higher latency, try the flex processing tier."
},
"language": {
"description": "Language and date/time display.",
diff --git a/webview-ui/src/i18n/locales/en/welcome.json b/webview-ui/src/i18n/locales/en/welcome.json
index 59faead70a..dedec60703 100644
--- a/webview-ui/src/i18n/locales/en/welcome.json
+++ b/webview-ui/src/i18n/locales/en/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Welcome to Zoo Code!",
- "introduction": "With a range of built-in and extensible Modes, Zoo Code lets you plan, architect, code, debug and boost your productivity like never before."
+ "introduction": "With a range of built-in and extensible Modes, Zoo Code lets you plan, architect, code, debug and boost your productivity like never before.",
+ "logoAlt": "Roo logo"
},
"providerSignup": {
"heading": "Choose your provider",
diff --git a/webview-ui/src/i18n/locales/es/chat.json b/webview-ui/src/i18n/locales/es/chat.json
index 118d809aae..f10be7b20c 100644
--- a/webview-ui/src/i18n/locales/es/chat.json
+++ b/webview-ui/src/i18n/locales/es/chat.json
@@ -22,7 +22,8 @@
"fileChangesInConversation": {
"header_one": "{{count}} archivo modificado en esta conversación",
"header_many": "{{count}} archivos modificados en esta conversación",
- "header_other": "{{count}} archivos modificados en esta conversación"
+ "header_other": "{{count}} archivos modificados en esta conversación",
+ "lineStatsAriaLabel": "Líneas añadidas: {{added}}, líneas eliminadas: {{removed}}"
},
"retry": {
"title": "Reintentar",
@@ -233,7 +234,9 @@
"addToAllowed": "Agregar a la lista de permitidos",
"removeFromAllowed": "Eliminar de la lista de permitidos",
"addToDenied": "Agregar a la lista de denegados",
- "removeFromDenied": "Eliminar de la lista de denegados"
+ "removeFromDenied": "Eliminar de la lista de denegados",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "Haz clic para editar el patrón"
},
"text": {
"rooSaid": "Zoo ha dicho"
@@ -292,7 +295,9 @@
"triggerLabel_one": "{{count}} aprobación automática",
"triggerLabel_many": "{{count}} aprobaciones automáticas",
"triggerLabel_other": "{{count}} aprobaciones automáticas",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "Activado",
+ "toggleAriaLabel": "Alternar aprobación automática"
},
"reasoning": {
"thinking": "Pensando",
@@ -370,7 +375,8 @@
"didSearch_one": "Se encontró {{count}} resultado",
"didSearch_many": "Se encontraron {{count}} resultados",
"didSearch_other": "Se encontraron {{count}} resultados",
- "resultTooltip": "Puntuación de similitud: {{score}} (haz clic para abrir el archivo)"
+ "resultTooltip": "Puntuación de similitud: {{score}} (haz clic para abrir el archivo)",
+ "displayError": "Error al mostrar los resultados de búsqueda."
},
"read-batch": {
"approve": {
@@ -422,7 +428,17 @@
"noResults": "No hay resultados",
"problems": "Problemas",
"terminal": "Terminal",
- "url": "Pega la URL para obtener el contenido"
+ "url": "Pega la URL para obtener el contenido",
+ "gitCommits": "Commits de Git",
+ "gitCommitsDescription": "Buscar en el historial del repositorio",
+ "workingChanges": "Cambios en curso",
+ "workingChangesDescription": "Cambios actuales sin confirmar",
+ "commit": "Commit {{hash}}",
+ "commitHashDescription": "Hash del commit de Git",
+ "addFile": "Añadir archivo",
+ "addFolder": "Añadir carpeta",
+ "commands": "Comandos",
+ "modes": "Modos"
},
"queuedMessages": {
"title": "Mensajes en cola",
@@ -435,7 +451,28 @@
"todo": {
"partial": "{{completed}} de {{total}} tareas pendientes realizadas",
"complete": "{{total}} tareas pendientes realizadas",
- "updated": "Se actualizó la lista de tareas pendientes"
+ "updated": "Se actualizó la lista de tareas pendientes",
+ "listUpdated": "Lista de tareas actualizada",
+ "userEdit": "Edición del usuario",
+ "userEdits": "Ediciones del usuario",
+ "edit": "Editar",
+ "done": "Listo",
+ "itemPlaceholder": "Escribe una tarea",
+ "newItemPlaceholder": "Escribe una tarea y pulsa Enter para añadirla",
+ "remove": "Quitar",
+ "add": "Añadir",
+ "cancel": "Cancelar",
+ "addTodo": "+ Añadir tarea",
+ "status": {
+ "notStarted": "Sin empezar",
+ "inProgress": "En curso",
+ "completed": "Completada"
+ },
+ "deleteDialog": {
+ "title": "Eliminar tarea",
+ "description": "¿Seguro que quieres eliminar esta tarea?",
+ "confirm": "Eliminar"
+ }
},
"tooManyTools": {
"title": "Demasiadas herramientas habilitadas",
@@ -459,5 +496,26 @@
"title": "Proveedor ya no compatible",
"message": "Este proveedor ya no está disponible. Selecciona un proveedor compatible para continuar.",
"openSettings": "Abrir configuración"
+ },
+ "zooCodeAuth": {
+ "signIn": "Inicia sesión en Zoo Code",
+ "goToDashboard": "Ir al panel",
+ "signOut": "Cerrar sesión",
+ "avatarAlt": "Avatar",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "Conectado"
+ },
+ "arguments": "Argumentos:",
+ "copyAsMarkdown": "Copiar como Markdown",
+ "openInPreview": "Abrir en vista previa",
+ "codeAccordion": {
+ "userEdits": "Ediciones del usuario",
+ "consoleLogs": "Registros de la consola",
+ "openFileAriaLabel": "Abrir archivo: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_one": "{{count}} línea oculta",
+ "hiddenLines_many": "{{count}} de líneas ocultas",
+ "hiddenLines_other": "{{count}} líneas ocultas"
}
}
diff --git a/webview-ui/src/i18n/locales/es/common.json b/webview-ui/src/i18n/locales/es/common.json
index cb9af18b65..e7420de543 100644
--- a/webview-ui/src/i18n/locales/es/common.json
+++ b/webview-ui/src/i18n/locales/es/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "Buscar...",
- "no_results": "No se encontraron resultados"
+ "no_results": "No se encontraron resultados",
+ "close": "Cerrar",
+ "clear_search_aria_label": "Borrar búsqueda"
},
"mermaid": {
"loading": "Generando diagrama mermaid...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "Imagen"
},
- "noData": "Sin datos de imagen"
+ "noData": "Sin datos de imagen",
+ "generatedAlt": "Imagen generada por IA",
+ "thumbnailAlt": "Miniatura {{index}}"
},
"confirmation": {
"deleteMessage": "Eliminar mensaje",
diff --git a/webview-ui/src/i18n/locales/es/marketplace.json b/webview-ui/src/i18n/locales/es/marketplace.json
index e53ae855f9..f0985bf8e5 100644
--- a/webview-ui/src/i18n/locales/es/marketplace.json
+++ b/webview-ui/src/i18n/locales/es/marketplace.json
@@ -72,7 +72,8 @@
"goToModes": "Ir a la configuración de Modos",
"moreInfoMcp": "Ver documentación MCP de {{name}}",
"validationRequired": "Por favor proporciona un valor para {{paramName}}",
- "prerequisites": "Requisitos previos"
+ "prerequisites": "Requisitos previos",
+ "optional": "(opcional)"
},
"removeConfirm": {
"mode": {
@@ -89,5 +90,9 @@
},
"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!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "Modos"
}
}
diff --git a/webview-ui/src/i18n/locales/es/mcp.json b/webview-ui/src/i18n/locales/es/mcp.json
index c3cc2a748c..bc9f108e84 100644
--- a/webview-ui/src/i18n/locales/es/mcp.json
+++ b/webview-ui/src/i18n/locales/es/mcp.json
@@ -55,5 +55,10 @@
"running": "Ejecutando",
"completed": "Completado",
"error": "Error"
- }
+ },
+ "resource": {
+ "returns": "Devuelve",
+ "unknownMimeType": "Desconocido"
+ },
+ "toggleServerAriaLabel": "Activar o desactivar el servidor {{serverName}}"
}
diff --git a/webview-ui/src/i18n/locales/es/prompts.json b/webview-ui/src/i18n/locales/es/prompts.json
index 971c4f9af5..58de42ec4e 100644
--- a/webview-ui/src/i18n/locales/es/prompts.json
+++ b/webview-ui/src/i18n/locales/es/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "Configuración de API",
- "select": "Selecciona qué configuración de API usar para este modo"
+ "select": "Selecciona qué configuración de API usar para este modo",
+ "pinnedGroupAriaLabel": "Configuraciones fijadas",
+ "allGroupAriaLabel": "Todas las configuraciones"
},
"tools": {
"title": "Herramientas disponibles",
@@ -47,7 +49,8 @@
"title": "Instrucciones personalizadas para el modo (opcional)",
"resetToDefault": "Restablecer a valores predeterminados",
"description": "Agrega directrices de comportamiento específicas para el modo {{modeName}}.",
- "loadFromFile": "Las instrucciones personalizadas para el modo {{mode}} también se pueden cargar desde la carpeta .roo/rules-{{slug}}/ en tu espacio de trabajo o desde el global <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} y .clinerules-{{slug}} están obsoletos y dejarán de funcionar pronto)."
+ "loadFromFile": "Las instrucciones personalizadas para el modo {{mode}} también se pueden cargar desde la carpeta .roo/rules-{{slug}}/ en tu espacio de trabajo o desde el global <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} y .clinerules-{{slug}} están obsoletos y dejarán de funcionar pronto).",
+ "loadFromFileAriaLabel": "Más información sobre las instrucciones personalizadas globales para modos"
},
"exportMode": {
"title": "Exportar modo",
@@ -69,7 +72,9 @@
"globalCustomInstructions": {
"title": "Instrucciones personalizadas para todos los modos",
"description": "Estas instrucciones se aplican a todos los modos. Proporcionan un conjunto base de comportamientos que pueden ser mejorados por instrucciones específicas de cada modo a continuación. <0>Más información0>",
- "loadFromFile": "Las instrucciones también se pueden cargar desde la carpeta .roo/rules/ en tu espacio de trabajo o desde el global <0>.roo/rules/0> (.roorules y .clinerules están obsoletos y dejarán de funcionar pronto)."
+ "loadFromFile": "Las instrucciones también se pueden cargar desde la carpeta .roo/rules/ en tu espacio de trabajo o desde el global <0>.roo/rules/0> (.roorules y .clinerules están obsoletos y dejarán de funcionar pronto).",
+ "learnMoreAriaLabel": "Más información sobre las instrucciones personalizadas globales",
+ "loadFromFileAriaLabel": "Aprende a configurar instrucciones personalizadas globales"
},
"systemPrompt": {
"preview": "Vista previa de la solicitud del sistema",
@@ -199,5 +204,10 @@
"rulesFolder": "Este modo tiene una carpeta de reglas en {{folderPath}} que también se eliminará.",
"confirm": "Eliminar",
"cancel": "Cancelar"
+ },
+ "mcpServers": {
+ "restrict": "Limitar a servidores MCP específicos",
+ "noneConnected": "No hay servidores MCP conectados",
+ "notConnected": "{{serverName}} (no conectado)"
}
}
diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json
index 27623532b0..f40454ad65 100644
--- a/webview-ui/src/i18n/locales/es/settings.json
+++ b/webview-ui/src/i18n/locales/es/settings.json
@@ -6,7 +6,8 @@
"cancel": "Cancelar",
"select": "Seleccionar",
"add": "Añadir encabezado",
- "remove": "Eliminar"
+ "remove": "Eliminar",
+ "milliseconds": "{{value}} ms"
},
"search": {
"placeholder": "Buscar configuración...",
@@ -81,7 +82,9 @@
"detailTasksImported_other": "Importados {{count}} de {{total}} historiales de tareas.",
"detailPreparing": "Preparando la importación del historial de Roo Code.",
"progressAriaLabel": "Progreso de importación del historial de Roo Code"
- }
+ },
+ "version": "Versión: {{version}}",
+ "versionWithCommit": "Versión: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "Gestiona tus comandos de barra para ejecutar rápidamente flujos de trabajo y acciones personalizadas. Saber más",
@@ -686,6 +689,17 @@
"signInDescription": "Inicia sesión para usar Zoo Gateway con tu cuenta",
"authenticated": "Autenticado",
"authenticatedAs": "Autenticado como {{name}}"
+ },
+ "awsAuthMethod": "Método de autenticación",
+ "qwenCode": {
+ "oauthPathLabel": "Ruta de las credenciales OAuth",
+ "oauthPathDescription": "Ruta a tu archivo de credenciales OAuth de Qwen. Si lo dejas vacío, se usa {{defaultPath}}.",
+ "description": "Qwen Code es una API basada en OAuth que requiere autenticarse a través del cliente oficial de Qwen. Primero tendrás que configurar las credenciales OAuth.",
+ "gettingStarted": "Para empezar:",
+ "step1": "1. Instala el cliente oficial de Qwen",
+ "step2": "2. Autentícate con tu cuenta",
+ "step3": "3. Las credenciales OAuth se guardarán automáticamente",
+ "setupInstructions": "Instrucciones de configuración"
}
},
"checkpoints": {
@@ -917,7 +931,8 @@
"refreshing": "Actualizando...",
"refreshSuccess": "Herramientas actualizadas correctamente",
"refreshError": "Error al actualizar las herramientas",
- "toolParameters": "Parámetros"
+ "toolParameters": "Parámetros",
+ "required": "obligatorio"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "Esfuerzo de pensamiento dinámico",
@@ -957,7 +972,13 @@
"freeRequests_other": "* Gratis hasta {{count}} solicitudes por minuto. Después de eso, la facturación depende del tamaño del prompt.",
"pricingDetails": "Para más información, consulte los detalles de precios.",
"billingEstimate": "* La facturación es una estimación - el costo exacto depende del tamaño del prompt."
- }
+ },
+ "tokensValue_one": "{{count, number}} token",
+ "tokensValue_many": "{{count, number}} de tokens",
+ "tokensValue_other": "{{count, number}} tokens",
+ "pricePerMillionTokens": "{{price}} / 1M de tokens",
+ "showMore": "Más",
+ "showLess": "Menos"
},
"modelPicker": {
"automaticFetch": "La extensión obtiene automáticamente la lista más reciente de modelos disponibles en {{serviceName}}. Si no está seguro de qué modelo elegir, Zoo Code funciona mejor con {{defaultModelId}}. También puede buscar \"free\" para opciones sin costo actualmente disponibles.",
@@ -1022,7 +1043,8 @@
"inputPrice": "ej. 0.0001",
"outputPrice": "ej. 0.0002",
"cacheWritePrice": "ej. 0.00005"
- }
+ },
+ "defaultValue": "Predeterminado: {{value}}"
},
"defaults": {
"ollamaUrl": "Predeterminado: http://localhost:11434",
@@ -1051,7 +1073,9 @@
"input": "Entrada",
"output": "Salida",
"cacheReads": "Lecturas de caché"
- }
+ },
+ "label": "Nivel de servicio",
+ "tooltip": "Para procesar las solicitudes a la API más rápido, prueba el nivel de servicio de procesamiento prioritario. Para precios más bajos con mayor latencia, prueba el nivel de procesamiento flexible."
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/es/welcome.json b/webview-ui/src/i18n/locales/es/welcome.json
index 54568a7f3c..8ba2955ecc 100644
--- a/webview-ui/src/i18n/locales/es/welcome.json
+++ b/webview-ui/src/i18n/locales/es/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "¡Bienvenido a Zoo Code!",
- "introduction": "Con una variedad de Modos integrados y extensibles, Zoo Code te permite planificar, arquitectar, codificar, depurar y aumentar tu productividad como nunca antes."
+ "introduction": "Con una variedad de Modos integrados y extensibles, Zoo Code te permite planificar, arquitectar, codificar, depurar y aumentar tu productividad como nunca antes.",
+ "logoAlt": "Logotipo de Roo"
},
"providerSignup": {
"heading": "Elige tu proveedor",
diff --git a/webview-ui/src/i18n/locales/fr/chat.json b/webview-ui/src/i18n/locales/fr/chat.json
index f5f452b687..8a88ab93f3 100644
--- a/webview-ui/src/i18n/locales/fr/chat.json
+++ b/webview-ui/src/i18n/locales/fr/chat.json
@@ -22,7 +22,8 @@
"fileChangesInConversation": {
"header_one": "{{count}} fichier modifié dans cette conversation",
"header_many": "{{count}} fichiers modifiés dans cette conversation",
- "header_other": "{{count}} fichiers modifiés dans cette conversation"
+ "header_other": "{{count}} fichiers modifiés dans cette conversation",
+ "lineStatsAriaLabel": "Lignes ajoutées : {{added}}, lignes supprimées : {{removed}}"
},
"tokenProgress": {
"availableSpace": "Espace disponible : {{amount}} tokens",
@@ -233,7 +234,9 @@
"addToAllowed": "Ajouter à la liste autorisée",
"removeFromAllowed": "Retirer de la liste autorisée",
"addToDenied": "Ajouter à la liste refusée",
- "removeFromDenied": "Retirer de la liste refusée"
+ "removeFromDenied": "Retirer de la liste refusée",
+ "pid": "(PID : {{pid}})",
+ "clickToEditPattern": "Clique pour modifier le motif"
},
"text": {
"rooSaid": "Zoo a dit"
@@ -292,7 +295,9 @@
"triggerLabel_one": "{{count}} approuvé automatiquement",
"triggerLabel_many": "{{count}} approuvés automatiquement",
"triggerLabel_other": "{{count}} approuvés automatiquement",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "Activé",
+ "toggleAriaLabel": "Activer/désactiver l'approbation automatique"
},
"reasoning": {
"thinking": "Réflexion",
@@ -370,7 +375,8 @@
"didSearch_one": "{{count}} résultat trouvé",
"didSearch_many": "{{count}} résultats trouvés",
"didSearch_other": "{{count}} résultats trouvés",
- "resultTooltip": "Score de similarité : {{score}} (cliquer pour ouvrir le fichier)"
+ "resultTooltip": "Score de similarité : {{score}} (cliquer pour ouvrir le fichier)",
+ "displayError": "Erreur lors de l'affichage des résultats de recherche."
},
"read-batch": {
"approve": {
@@ -422,7 +428,17 @@
"noResults": "Aucun résultat",
"problems": "Problèmes",
"terminal": "Terminal",
- "url": "Coller l'URL pour récupérer le contenu"
+ "url": "Coller l'URL pour récupérer le contenu",
+ "gitCommits": "Commits Git",
+ "gitCommitsDescription": "Rechercher dans l'historique du dépôt",
+ "workingChanges": "Modifications en cours",
+ "workingChangesDescription": "Modifications actuelles non commitées",
+ "commit": "Commit {{hash}}",
+ "commitHashDescription": "Hash du commit Git",
+ "addFile": "Ajouter un fichier",
+ "addFolder": "Ajouter un dossier",
+ "commands": "Commandes",
+ "modes": "Modes"
},
"queuedMessages": {
"title": "Messages en file d'attente",
@@ -435,7 +451,28 @@
"todo": {
"partial": "{{completed}} sur {{total}} tâches terminées",
"complete": "{{total}} tâches terminées",
- "updated": "La liste des tâches a été mise à jour"
+ "updated": "La liste des tâches a été mise à jour",
+ "listUpdated": "Liste de tâches mise à jour",
+ "userEdit": "Modification de l'utilisateur",
+ "userEdits": "Modifications de l'utilisateur",
+ "edit": "Modifier",
+ "done": "Terminé",
+ "itemPlaceholder": "Saisis une tâche",
+ "newItemPlaceholder": "Saisis une tâche, appuie sur Entrée pour l'ajouter",
+ "remove": "Retirer",
+ "add": "Ajouter",
+ "cancel": "Annuler",
+ "addTodo": "+ Ajouter une tâche",
+ "status": {
+ "notStarted": "Non commencée",
+ "inProgress": "En cours",
+ "completed": "Terminée"
+ },
+ "deleteDialog": {
+ "title": "Supprimer la tâche",
+ "description": "Es-tu sûr de vouloir supprimer cette tâche ?",
+ "confirm": "Supprimer"
+ }
},
"tooManyTools": {
"title": "Trop d'outils activés",
@@ -459,5 +496,26 @@
"title": "Fournisseur plus pris en charge",
"message": "Ce fournisseur n'est plus disponible. Choisis un fournisseur pris en charge pour continuer.",
"openSettings": "Ouvrir les paramètres"
+ },
+ "zooCodeAuth": {
+ "signIn": "Se connecter à Zoo Code",
+ "goToDashboard": "Aller au tableau de bord",
+ "signOut": "Se déconnecter",
+ "avatarAlt": "Avatar",
+ "accountTitle": "Zoo Code : {{account}}",
+ "connected": "Connecté"
+ },
+ "arguments": "Arguments :",
+ "copyAsMarkdown": "Copier en Markdown",
+ "openInPreview": "Ouvrir dans l'aperçu",
+ "codeAccordion": {
+ "userEdits": "Modifications de l'utilisateur",
+ "consoleLogs": "Journaux de la console",
+ "openFileAriaLabel": "Ouvrir le fichier : {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_one": "{{count}} ligne masquée",
+ "hiddenLines_many": "{{count}} de lignes masquées",
+ "hiddenLines_other": "{{count}} lignes masquées"
}
}
diff --git a/webview-ui/src/i18n/locales/fr/common.json b/webview-ui/src/i18n/locales/fr/common.json
index 42a8ab8351..f36f69fe15 100644
--- a/webview-ui/src/i18n/locales/fr/common.json
+++ b/webview-ui/src/i18n/locales/fr/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "Rechercher...",
- "no_results": "Aucun résultat trouvé"
+ "no_results": "Aucun résultat trouvé",
+ "close": "Fermer",
+ "clear_search_aria_label": "Effacer la recherche"
},
"mermaid": {
"loading": "Génération du diagramme mermaid...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "Image"
},
- "noData": "Aucune donnée d'image"
+ "noData": "Aucune donnée d'image",
+ "generatedAlt": "Image générée par IA",
+ "thumbnailAlt": "Miniature {{index}}"
},
"confirmation": {
"deleteMessage": "Supprimer le message",
diff --git a/webview-ui/src/i18n/locales/fr/marketplace.json b/webview-ui/src/i18n/locales/fr/marketplace.json
index 124b5a01f8..db231df4a4 100644
--- a/webview-ui/src/i18n/locales/fr/marketplace.json
+++ b/webview-ui/src/i18n/locales/fr/marketplace.json
@@ -72,7 +72,8 @@
"goToModes": "Aller aux paramètres des Modes",
"moreInfoMcp": "Voir la documentation MCP de {{name}}",
"validationRequired": "Veuillez fournir une valeur pour {{paramName}}",
- "prerequisites": "Prérequis"
+ "prerequisites": "Prérequis",
+ "optional": "(facultatif)"
},
"removeConfirm": {
"mode": {
@@ -89,5 +90,9 @@
},
"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 !"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "Modes"
}
}
diff --git a/webview-ui/src/i18n/locales/fr/mcp.json b/webview-ui/src/i18n/locales/fr/mcp.json
index 72d5b4d552..3c288e8b6e 100644
--- a/webview-ui/src/i18n/locales/fr/mcp.json
+++ b/webview-ui/src/i18n/locales/fr/mcp.json
@@ -55,5 +55,10 @@
"running": "En cours",
"completed": "Terminé",
"error": "Erreur"
- }
+ },
+ "resource": {
+ "returns": "Renvoie",
+ "unknownMimeType": "Inconnu"
+ },
+ "toggleServerAriaLabel": "Activer ou désactiver le serveur {{serverName}}"
}
diff --git a/webview-ui/src/i18n/locales/fr/prompts.json b/webview-ui/src/i18n/locales/fr/prompts.json
index 30ed6aaaa3..356460f53d 100644
--- a/webview-ui/src/i18n/locales/fr/prompts.json
+++ b/webview-ui/src/i18n/locales/fr/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "Configuration API",
- "select": "Sélectionnez la configuration API à utiliser pour ce mode"
+ "select": "Sélectionnez la configuration API à utiliser pour ce mode",
+ "pinnedGroupAriaLabel": "Configurations épinglées",
+ "allGroupAriaLabel": "Toutes les configurations"
},
"tools": {
"title": "Outils disponibles",
@@ -47,7 +49,8 @@
"title": "Instructions personnalisées spécifiques au mode (optionnel)",
"resetToDefault": "Réinitialiser aux valeurs par défaut",
"description": "Ajoutez des directives comportementales spécifiques au mode {{modeName}}.",
- "loadFromFile": "Les instructions personnalisées spécifiques au mode {{mode}} peuvent également être chargées depuis le dossier .roo/rules-{{slug}}/ dans votre espace de travail ou depuis le global <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} et .clinerules-{{slug}} sont obsolètes et cesseront de fonctionner bientôt)."
+ "loadFromFile": "Les instructions personnalisées spécifiques au mode {{mode}} peuvent également être chargées depuis le dossier .roo/rules-{{slug}}/ dans votre espace de travail ou depuis le global <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} et .clinerules-{{slug}} sont obsolètes et cesseront de fonctionner bientôt).",
+ "loadFromFileAriaLabel": "En savoir plus sur les instructions personnalisées globales pour les modes"
},
"exportMode": {
"title": "Exporter le mode",
@@ -69,7 +72,9 @@
"globalCustomInstructions": {
"title": "Instructions personnalisées pour tous les modes",
"description": "Ces instructions s'appliquent à tous les modes. Elles fournissent un ensemble de comportements de base qui peuvent être améliorés par des instructions spécifiques au mode ci-dessous. <0>En savoir plus0>",
- "loadFromFile": "Les instructions peuvent également être chargées depuis le dossier .roo/rules/ dans votre espace de travail ou depuis le global <0>.roo/rules/0> (.roorules et .clinerules sont obsolètes et cesseront de fonctionner bientôt)."
+ "loadFromFile": "Les instructions peuvent également être chargées depuis le dossier .roo/rules/ dans votre espace de travail ou depuis le global <0>.roo/rules/0> (.roorules et .clinerules sont obsolètes et cesseront de fonctionner bientôt).",
+ "learnMoreAriaLabel": "En savoir plus sur les instructions personnalisées globales",
+ "loadFromFileAriaLabel": "Découvre comment configurer des instructions personnalisées globales"
},
"systemPrompt": {
"preview": "Aperçu du prompt système",
@@ -199,5 +204,10 @@
"rulesFolder": "Ce mode a un dossier de règles à {{folderPath}} qui sera également supprimé.",
"confirm": "Supprimer",
"cancel": "Annuler"
+ },
+ "mcpServers": {
+ "restrict": "Limiter à certains serveurs MCP",
+ "noneConnected": "Aucun serveur MCP connecté",
+ "notConnected": "{{serverName}} (non connecté)"
}
}
diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json
index 0efde01694..e38e4f65f6 100644
--- a/webview-ui/src/i18n/locales/fr/settings.json
+++ b/webview-ui/src/i18n/locales/fr/settings.json
@@ -6,7 +6,8 @@
"cancel": "Annuler",
"select": "Sélectionner",
"add": "Ajouter un en-tête",
- "remove": "Supprimer"
+ "remove": "Supprimer",
+ "milliseconds": "{{value}} ms"
},
"search": {
"placeholder": "Rechercher les paramètres...",
@@ -81,7 +82,9 @@
"detailTasksImported_other": "{{count}} sur {{total}} historiques de tâches importés.",
"detailPreparing": "Préparation de l'importation de l'historique Roo Code.",
"progressAriaLabel": "Progression de l'importation de l'historique Roo Code"
- }
+ },
+ "version": "Version : {{version}}",
+ "versionWithCommit": "Version : {{version}} ({{commit}})"
},
"slashCommands": {
"description": "Gérez vos commandes slash pour exécuter rapidement des flux de travail et des actions personnalisées. En savoir plus",
@@ -686,6 +689,17 @@
"signInDescription": "Connectez-vous pour utiliser Zoo Gateway avec votre compte",
"authenticated": "Authentifié",
"authenticatedAs": "Authentifié en tant que {{name}}"
+ },
+ "awsAuthMethod": "Méthode d'authentification",
+ "qwenCode": {
+ "oauthPathLabel": "Chemin des identifiants OAuth",
+ "oauthPathDescription": "Chemin vers ton fichier d'identifiants OAuth Qwen. Si tu le laisses vide, {{defaultPath}} est utilisé.",
+ "description": "Qwen Code est une API basée sur OAuth qui nécessite une authentification via le client officiel Qwen. Tu dois d'abord configurer les identifiants OAuth.",
+ "gettingStarted": "Pour commencer :",
+ "step1": "1. Installe le client officiel Qwen",
+ "step2": "2. Authentifie-toi avec ton compte",
+ "step3": "3. Les identifiants OAuth seront enregistrés automatiquement",
+ "setupInstructions": "Instructions de configuration"
}
},
"checkpoints": {
@@ -917,7 +931,8 @@
"refreshing": "Actualisation...",
"refreshSuccess": "Outils actualisés avec succès",
"refreshError": "Échec de l'actualisation des outils",
- "toolParameters": "Paramètres"
+ "toolParameters": "Paramètres",
+ "required": "requis"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "Effort de réflexion dynamique",
@@ -957,7 +972,13 @@
"freeRequests_other": "* Gratuit jusqu'à {{count}} requêtes par minute. Après cela, la facturation dépend de la taille du prompt.",
"pricingDetails": "Pour plus d'informations, voir les détails de tarification.",
"billingEstimate": "* La facturation est une estimation - le coût exact dépend de la taille du prompt."
- }
+ },
+ "tokensValue_one": "{{count, number}} token",
+ "tokensValue_many": "{{count, number}} de tokens",
+ "tokensValue_other": "{{count, number}} tokens",
+ "pricePerMillionTokens": "{{price}} / 1M de tokens",
+ "showMore": "Plus",
+ "showLess": "Moins"
},
"modelPicker": {
"automaticFetch": "L'extension récupère automatiquement la liste la plus récente des modèles disponibles sur {{serviceName}}. Si vous ne savez pas quel modèle choisir, Zoo Code fonctionne mieux avec {{defaultModelId}}. Vous pouvez également rechercher \"free\" pour les options gratuites actuellement disponibles.",
@@ -1022,7 +1043,8 @@
"inputPrice": "ex. 0.0001",
"outputPrice": "ex. 0.0002",
"cacheWritePrice": "ex. 0.00005"
- }
+ },
+ "defaultValue": "Par défaut : {{value}}"
},
"defaults": {
"ollamaUrl": "Par défaut : http://localhost:11434",
@@ -1051,7 +1073,9 @@
"input": "Entrée",
"output": "Sortie",
"cacheReads": "Lectures du cache"
- }
+ },
+ "label": "Niveau de service",
+ "tooltip": "Pour un traitement plus rapide des requêtes API, essaie le niveau de service à traitement prioritaire. Pour des prix plus bas avec une latence plus élevée, essaie le niveau de traitement flex."
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/fr/welcome.json b/webview-ui/src/i18n/locales/fr/welcome.json
index 316b057d81..a261a3afd3 100644
--- a/webview-ui/src/i18n/locales/fr/welcome.json
+++ b/webview-ui/src/i18n/locales/fr/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Bienvenue sur Zoo Code !",
- "introduction": "Avec une gamme de Modes intégrés et extensibles, Zoo Code te permet de planifier, architecturer, coder, déboguer et augmenter ta productivité comme jamais auparavant."
+ "introduction": "Avec une gamme de Modes intégrés et extensibles, Zoo Code te permet de planifier, architecturer, coder, déboguer et augmenter ta productivité comme jamais auparavant.",
+ "logoAlt": "Logo de Roo"
},
"providerSignup": {
"heading": "Choisis ton fournisseur",
diff --git a/webview-ui/src/i18n/locales/hi/chat.json b/webview-ui/src/i18n/locales/hi/chat.json
index 695fc50172..57a6fc7a84 100644
--- a/webview-ui/src/i18n/locales/hi/chat.json
+++ b/webview-ui/src/i18n/locales/hi/chat.json
@@ -21,7 +21,8 @@
"pin": "अवपिन करें",
"fileChangesInConversation": {
"header_one": "इस वार्तालाप में {{count}} फ़ाइल बदली गई",
- "header_other": "इस वार्तालाप में {{count}} फ़ाइलें बदली गईं"
+ "header_other": "इस वार्तालाप में {{count}} फ़ाइलें बदली गईं",
+ "lineStatsAriaLabel": "जोड़ी गई पंक्तियाँ: {{added}}, हटाई गई पंक्तियाँ: {{removed}}"
},
"tokenProgress": {
"availableSpace": "उपलब्ध स्थान: {{amount}} tokens",
@@ -232,7 +233,9 @@
"addToAllowed": "अनुमत सूची में जोड़ें",
"removeFromAllowed": "अनुमत सूची से हटाएँ",
"addToDenied": "अस्वीकृत सूची में जोड़ें",
- "removeFromDenied": "अस्वीकृत सूची से हटाएँ"
+ "removeFromDenied": "अस्वीकृत सूची से हटाएँ",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "पैटर्न संपादित करने के लिए क्लिक करें"
},
"text": {
"rooSaid": "Zoo ने कहा"
@@ -290,7 +293,9 @@
"triggerLabel_zero": "0 स्वतः-अनुमोदन",
"triggerLabel_one": "{{count}} स्वतः-अनुमोदित",
"triggerLabel_other": "{{count}} स्वतः-अनुमोदित",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "सक्षम",
+ "toggleAriaLabel": "स्वतः-अनुमोदन टॉगल करें"
},
"reasoning": {
"thinking": "विचार कर रहा है",
@@ -365,7 +370,8 @@
"wantsToSearchWithPath": "Zoo {{path}} में कोडबेस में {{query}} खोजना चाहता है",
"didSearch_one": "{{count}} परिणाम मिला",
"didSearch_other": "{{count}} परिणाम मिले",
- "resultTooltip": "समानता स्कोर: {{score}} (फ़ाइल खोलने के लिए क्लिक करें)"
+ "resultTooltip": "समानता स्कोर: {{score}} (फ़ाइल खोलने के लिए क्लिक करें)",
+ "displayError": "खोज परिणाम दिखाने में त्रुटि।"
},
"read-batch": {
"approve": {
@@ -417,7 +423,17 @@
"noResults": "कोई परिणाम नहीं",
"problems": "समस्याएँ",
"terminal": "टर्मिनल",
- "url": "सामग्री लाने के लिए URL पेस्ट करें"
+ "url": "सामग्री लाने के लिए URL पेस्ट करें",
+ "gitCommits": "Git कमिट्स",
+ "gitCommitsDescription": "रिपॉज़िटरी इतिहास खोजें",
+ "workingChanges": "कार्यशील बदलाव",
+ "workingChangesDescription": "मौजूदा बिना कमिट किए बदलाव",
+ "commit": "कमिट {{hash}}",
+ "commitHashDescription": "Git कमिट हैश",
+ "addFile": "फ़ाइल जोड़ें",
+ "addFolder": "फ़ोल्डर जोड़ें",
+ "commands": "कमांड",
+ "modes": "मोड"
},
"queuedMessages": {
"title": "कतार में संदेश",
@@ -430,7 +446,28 @@
"todo": {
"partial": "{{total}} में से {{completed}} टू-डू हो गए",
"complete": "{{total}} टू-डू हो गए",
- "updated": "टू-डू सूची अपडेट की गई"
+ "updated": "टू-डू सूची अपडेट की गई",
+ "listUpdated": "टू-डू सूची अपडेट की गई",
+ "userEdit": "उपयोगकर्ता का संपादन",
+ "userEdits": "उपयोगकर्ता के संपादन",
+ "edit": "संपादित करें",
+ "done": "हो गया",
+ "itemPlaceholder": "टू-डू आइटम दर्ज करें",
+ "newItemPlaceholder": "टू-डू आइटम दर्ज करें, जोड़ने के लिए Enter दबाएँ",
+ "remove": "हटाएँ",
+ "add": "जोड़ें",
+ "cancel": "रद्द करें",
+ "addTodo": "+ टू-डू जोड़ें",
+ "status": {
+ "notStarted": "शुरू नहीं हुआ",
+ "inProgress": "प्रगति में",
+ "completed": "पूर्ण"
+ },
+ "deleteDialog": {
+ "title": "टू-डू आइटम हटाएँ",
+ "description": "क्या तुम वाकई इस टू-डू आइटम को हटाना चाहते हो?",
+ "confirm": "हटाएँ"
+ }
},
"tooManyTools": {
"title": "बहुत सारे उपकरण सक्षम हैं",
@@ -452,5 +489,25 @@
"title": "प्रदाता अब समर्थित नहीं है",
"message": "यह प्रदाता अब उपलब्ध नहीं है। जारी रखने के लिए कोई समर्थित प्रदाता चुनें।",
"openSettings": "सेटिंग्स खोलें"
+ },
+ "zooCodeAuth": {
+ "signIn": "Zoo Code में साइन इन करें",
+ "goToDashboard": "डैशबोर्ड पर जाएँ",
+ "signOut": "साइन आउट करें",
+ "avatarAlt": "अवतार",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "कनेक्टेड"
+ },
+ "arguments": "आर्ग्युमेंट्स:",
+ "copyAsMarkdown": "Markdown के रूप में कॉपी करें",
+ "openInPreview": "प्रीव्यू में खोलें",
+ "codeAccordion": {
+ "userEdits": "उपयोगकर्ता के संपादन",
+ "consoleLogs": "कंसोल लॉग",
+ "openFileAriaLabel": "फ़ाइल खोलें: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_one": "{{count}} छिपी हुई पंक्ति",
+ "hiddenLines_other": "{{count}} छिपी हुई पंक्तियाँ"
}
}
diff --git a/webview-ui/src/i18n/locales/hi/common.json b/webview-ui/src/i18n/locales/hi/common.json
index d370163b23..56734e77f4 100644
--- a/webview-ui/src/i18n/locales/hi/common.json
+++ b/webview-ui/src/i18n/locales/hi/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "खोजें...",
- "no_results": "कोई परिणाम नहीं मिला"
+ "no_results": "कोई परिणाम नहीं मिला",
+ "close": "बंद करें",
+ "clear_search_aria_label": "खोज साफ़ करें"
},
"mermaid": {
"loading": "मरमेड डायग्राम जनरेट हो रहा है...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "चित्र"
},
- "noData": "कोई छवि डेटा नहीं"
+ "noData": "कोई छवि डेटा नहीं",
+ "generatedAlt": "AI द्वारा बनाई गई छवि",
+ "thumbnailAlt": "थंबनेल {{index}}"
},
"confirmation": {
"deleteMessage": "संदेश हटाएं",
diff --git a/webview-ui/src/i18n/locales/hi/marketplace.json b/webview-ui/src/i18n/locales/hi/marketplace.json
index dc01d891de..45856c082d 100644
--- a/webview-ui/src/i18n/locales/hi/marketplace.json
+++ b/webview-ui/src/i18n/locales/hi/marketplace.json
@@ -70,7 +70,8 @@
"goToModes": "मोड सेटिंग्स पर जाएं",
"moreInfoMcp": "{{name}} MCP दस्तावेज़ देखें",
"validationRequired": "कृपया {{paramName}} के लिए एक मान प्रदान करें",
- "prerequisites": "आवश्यकताएं"
+ "prerequisites": "आवश्यकताएं",
+ "optional": "(वैकल्पिक)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"footer": {
"issueText": "कोई marketplace आइटम के साथ समस्या है या नए आइटम के लिए सुझाव हैं? <0>GitHub issue खोलें0> हमें बताने के लिए!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "मोड"
}
}
diff --git a/webview-ui/src/i18n/locales/hi/mcp.json b/webview-ui/src/i18n/locales/hi/mcp.json
index c4db6d763d..8fd90bdc60 100644
--- a/webview-ui/src/i18n/locales/hi/mcp.json
+++ b/webview-ui/src/i18n/locales/hi/mcp.json
@@ -55,5 +55,10 @@
"running": "चल रहा है",
"completed": "पूरा हुआ",
"error": "त्रुटि"
- }
+ },
+ "resource": {
+ "returns": "लौटाता है",
+ "unknownMimeType": "अज्ञात"
+ },
+ "toggleServerAriaLabel": "{{serverName}} सर्वर चालू/बंद करें"
}
diff --git a/webview-ui/src/i18n/locales/hi/prompts.json b/webview-ui/src/i18n/locales/hi/prompts.json
index 1a76114d94..dde2f28ffb 100644
--- a/webview-ui/src/i18n/locales/hi/prompts.json
+++ b/webview-ui/src/i18n/locales/hi/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "API कॉन्फ़िगरेशन",
- "select": "इस मोड के लिए किस API कॉन्फ़िगरेशन का उपयोग करना है, चुनें"
+ "select": "इस मोड के लिए किस API कॉन्फ़िगरेशन का उपयोग करना है, चुनें",
+ "pinnedGroupAriaLabel": "पिन किए गए कॉन्फ़िगरेशन",
+ "allGroupAriaLabel": "सभी कॉन्फ़िगरेशन"
},
"tools": {
"title": "उपलब्ध टूल्स",
@@ -47,7 +49,8 @@
"title": "मोड-विशिष्ट कस्टम निर्देश (वैकल्पिक)",
"resetToDefault": "डिफ़ॉल्ट पर रीसेट करें",
"description": "{{modeName}} मोड के लिए विशिष्ट व्यवहार दिशानिर्देश जोड़ें।",
- "loadFromFile": "{{mode}} मोड के लिए विशिष्ट कस्टम निर्देश आपके कार्यक्षेत्र में .roo/rules-{{slug}}/ फ़ोल्डर से या वैश्विक <0>.roo/rules-{{slug}}/0> से भी लोड किए जा सकते हैं (.roorules-{{slug}} और .clinerules-{{slug}} पुराने हैं और जल्द ही काम करना बंद कर देंगे)।"
+ "loadFromFile": "{{mode}} मोड के लिए विशिष्ट कस्टम निर्देश आपके कार्यक्षेत्र में .roo/rules-{{slug}}/ फ़ोल्डर से या वैश्विक <0>.roo/rules-{{slug}}/0> से भी लोड किए जा सकते हैं (.roorules-{{slug}} और .clinerules-{{slug}} पुराने हैं और जल्द ही काम करना बंद कर देंगे)।",
+ "loadFromFileAriaLabel": "मोड के लिए वैश्विक कस्टम निर्देशों के बारे में जानें"
},
"exportMode": {
"title": "मोड निर्यात करें",
@@ -69,7 +72,9 @@
"globalCustomInstructions": {
"title": "सभी मोड्स के लिए कस्टम निर्देश",
"description": "ये निर्देश सभी मोड्स पर लागू होते हैं। वे व्यवहारों का एक आधार सेट प्रदान करते हैं जिन्हें नीचे दिए गए मोड-विशिष्ट निर्देशों द्वारा बढ़ाया जा सकता है। <0>और जानें0>",
- "loadFromFile": "निर्देश आपके कार्यक्षेत्र में .roo/rules/ फ़ोल्डर से या वैश्विक <0>.roo/rules/0> से भी लोड किए जा सकते हैं (.roorules और .clinerules पुराने हैं और जल्द ही काम करना बंद कर देंगे)।"
+ "loadFromFile": "निर्देश आपके कार्यक्षेत्र में .roo/rules/ फ़ोल्डर से या वैश्विक <0>.roo/rules/0> से भी लोड किए जा सकते हैं (.roorules और .clinerules पुराने हैं और जल्द ही काम करना बंद कर देंगे)।",
+ "learnMoreAriaLabel": "वैश्विक कस्टम निर्देशों के बारे में और जानें",
+ "loadFromFileAriaLabel": "वैश्विक कस्टम निर्देश सेट करने के बारे में जानें"
},
"systemPrompt": {
"preview": "सिस्टम प्रॉम्प्ट का पूर्वावलोकन",
@@ -199,5 +204,10 @@
"rulesFolder": "इस मोड में {{folderPath}} पर एक नियम फ़ोल्डर है जिसे भी हटा दिया जाएगा।",
"confirm": "हटाएं",
"cancel": "रद्द करें"
+ },
+ "mcpServers": {
+ "restrict": "विशिष्ट MCP सर्वर तक सीमित करें",
+ "noneConnected": "कोई MCP सर्वर कनेक्ट नहीं है",
+ "notConnected": "{{serverName}} (कनेक्ट नहीं है)"
}
}
diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json
index c0101cd92e..8a599d8828 100644
--- a/webview-ui/src/i18n/locales/hi/settings.json
+++ b/webview-ui/src/i18n/locales/hi/settings.json
@@ -6,7 +6,8 @@
"cancel": "रद्द करें",
"select": "चुनें",
"add": "हेडर जोड़ें",
- "remove": "हटाएं"
+ "remove": "हटाएं",
+ "milliseconds": "{{value}} मि.से."
},
"search": {
"placeholder": "सेटिंग्स खोजें...",
@@ -80,7 +81,9 @@
"detailTasksImported_other": "{{total}} में से {{count}} कार्य इतिहास आयात किए।",
"detailPreparing": "Roo Code इतिहास आयात की तैयारी हो रही है।",
"progressAriaLabel": "Roo Code इतिहास आयात की प्रगति"
- }
+ },
+ "version": "संस्करण: {{version}}",
+ "versionWithCommit": "संस्करण: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "कस्टम वर्कफ़्लो और क्रियाओं को तेज़ी से निष्पादित करने के लिए अपने स्लैश कमांड प्रबंधित करें। और जानें",
@@ -685,6 +688,17 @@
"signInDescription": "अपने खाते के साथ Zoo Gateway का उपयोग करने के लिए साइन इन करें",
"authenticated": "प्रमाणित",
"authenticatedAs": "{{name}} के रूप में प्रमाणित"
+ },
+ "awsAuthMethod": "प्रमाणीकरण विधि",
+ "qwenCode": {
+ "oauthPathLabel": "OAuth क्रेडेंशियल्स पाथ",
+ "oauthPathDescription": "तुम्हारी Qwen OAuth क्रेडेंशियल्स फ़ाइल का पाथ। खाली छोड़ने पर {{defaultPath}} इस्तेमाल होगा।",
+ "description": "Qwen Code एक OAuth-आधारित API है, जिसके लिए आधिकारिक Qwen क्लाइंट से प्रमाणीकरण ज़रूरी है। तुम्हें पहले OAuth क्रेडेंशियल्स सेट करने होंगे।",
+ "gettingStarted": "शुरू करने के लिए:",
+ "step1": "1. आधिकारिक Qwen क्लाइंट इंस्टॉल करो",
+ "step2": "2. अपने खाते से प्रमाणीकरण करो",
+ "step3": "3. OAuth क्रेडेंशियल्स अपने आप सेव हो जाएँगे",
+ "setupInstructions": "सेटअप निर्देश"
}
},
"checkpoints": {
@@ -916,7 +930,8 @@
"refreshing": "रिफ्रेश हो रहा है...",
"refreshSuccess": "टूल्स सफलतापूर्वक रिफ्रेश हुए",
"refreshError": "टूल्स रिफ्रेश करने में विफल",
- "toolParameters": "पैरामीटर्स"
+ "toolParameters": "पैरामीटर्स",
+ "required": "आवश्यक"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "डायनामिक चिंतन प्रयास",
@@ -955,7 +970,12 @@
"freeRequests_other": "* प्रति मिनट {{count}} अनुरोधों तक मुफ्त। उसके बाद, बिलिंग प्रॉम्प्ट आकार पर निर्भर करती है।",
"pricingDetails": "अधिक जानकारी के लिए, मूल्य निर्धारण विवरण देखें।",
"billingEstimate": "* बिलिंग एक अनुमान है - सटीक लागत प्रॉम्प्ट आकार पर निर्भर करती है।"
- }
+ },
+ "tokensValue_one": "{{count, number}} टोकन",
+ "tokensValue_other": "{{count, number}} टोकन",
+ "pricePerMillionTokens": "{{price}} / 1M टोकन",
+ "showMore": "और देखें",
+ "showLess": "कम देखें"
},
"modelPicker": {
"automaticFetch": "एक्सटेंशन {{serviceName}} पर उपलब्ध मॉडलों की नवीनतम सूची स्वचालित रूप से प्राप्त करता है। यदि आप अनिश्चित हैं कि कौन सा मॉडल चुनना है, तो Zoo Code {{defaultModelId}} के साथ सबसे अच्छा काम करता है। आप वर्तमान में उपलब्ध निःशुल्क विकल्पों के लिए \"free\" भी खोज सकते हैं।",
@@ -1020,7 +1040,8 @@
"inputPrice": "उदा. 0.0001",
"outputPrice": "उदा. 0.0002",
"cacheWritePrice": "उदा. 0.00005"
- }
+ },
+ "defaultValue": "डिफ़ॉल्ट: {{value}}"
},
"defaults": {
"ollamaUrl": "डिफ़ॉल्ट: http://localhost:11434",
@@ -1049,7 +1070,9 @@
"input": "इनपुट",
"output": "आउटपुट",
"cacheReads": "कैश रीड"
- }
+ },
+ "label": "सेवा स्तर",
+ "tooltip": "API अनुरोधों की तेज़ प्रोसेसिंग के लिए प्राथमिकता प्रोसेसिंग सेवा स्तर आज़माओ। अधिक विलंबता के साथ कम कीमतों के लिए फ़्लेक्स प्रोसेसिंग स्तर आज़माओ।"
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/hi/welcome.json b/webview-ui/src/i18n/locales/hi/welcome.json
index 084549e0f2..8ec40bb24c 100644
--- a/webview-ui/src/i18n/locales/hi/welcome.json
+++ b/webview-ui/src/i18n/locales/hi/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Zoo Code में आपका स्वागत है!",
- "introduction": "अंतर्निहित और विस्तारित मोड्स की एक श्रृंखला के साथ, Zoo Code आपको पहले कभी न देखे गए तरीके से योजना बनाने, आर्किटेक्ट करने, कोड करने, डीबग करने और अपनी उत्पादकता बढ़ाने की अनुमति देता है।"
+ "introduction": "अंतर्निहित और विस्तारित मोड्स की एक श्रृंखला के साथ, Zoo Code आपको पहले कभी न देखे गए तरीके से योजना बनाने, आर्किटेक्ट करने, कोड करने, डीबग करने और अपनी उत्पादकता बढ़ाने की अनुमति देता है।",
+ "logoAlt": "Roo लोगो"
},
"providerSignup": {
"heading": "अपना प्रदाता चुनें",
diff --git a/webview-ui/src/i18n/locales/id/chat.json b/webview-ui/src/i18n/locales/id/chat.json
index 685d5f8a0b..5f9f9ddd6c 100644
--- a/webview-ui/src/i18n/locales/id/chat.json
+++ b/webview-ui/src/i18n/locales/id/chat.json
@@ -23,7 +23,8 @@
"unpin": "Lepas Pin",
"pin": "Pin",
"fileChangesInConversation": {
- "header_other": "{{count}} file diubah dalam percakapan ini"
+ "header_other": "{{count}} file diubah dalam percakapan ini",
+ "lineStatsAriaLabel": "Baris ditambahkan: {{added}}, baris dihapus: {{removed}}"
},
"retry": {
"title": "Coba Lagi",
@@ -268,7 +269,8 @@
"wantsToSearch": "Zoo ingin mencari codebase untuk {{query}}",
"wantsToSearchWithPath": "Zoo ingin mencari codebase untuk {{query}} di {{path}}",
"didSearch_other": "Ditemukan {{count}} hasil",
- "resultTooltip": "Skor kemiripan: {{score}} (klik untuk membuka file)"
+ "resultTooltip": "Skor kemiripan: {{score}} (klik untuk membuka file)",
+ "displayError": "Gagal menampilkan hasil pencarian."
},
"commandExecution": {
"abort": "Batalkan",
@@ -280,7 +282,9 @@
"addToAllowed": "Tambahkan ke daftar yang diizinkan",
"removeFromAllowed": "Hapus dari daftar yang diizinkan",
"addToDenied": "Tambahkan ke daftar yang ditolak",
- "removeFromDenied": "Hapus dari daftar yang ditolak"
+ "removeFromDenied": "Hapus dari daftar yang ditolak",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "Klik untuk menyunting pola"
},
"text": {
"rooSaid": "Zoo berkata"
@@ -342,7 +346,9 @@
"triggerLabelOffShort": "Mati",
"triggerLabel_zero": "0 disetujui otomatis",
"triggerLabel_other": "{{count}} disetujui otomatis",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "Aktif",
+ "toggleAriaLabel": "Alihkan persetujuan otomatis"
},
"announcement": {
"title": "Zoo Code {{version}} Dirilis",
@@ -418,7 +424,17 @@
"noResults": "Tidak ada hasil",
"problems": "Masalah",
"terminal": "Terminal",
- "url": "Tempel URL untuk mengambil konten"
+ "url": "Tempel URL untuk mengambil konten",
+ "gitCommits": "Commit Git",
+ "gitCommitsDescription": "Cari riwayat repositori",
+ "workingChanges": "Perubahan kerja",
+ "workingChangesDescription": "Perubahan saat ini yang belum di-commit",
+ "commit": "Commit {{hash}}",
+ "commitHashDescription": "Hash commit Git",
+ "addFile": "Tambah file",
+ "addFolder": "Tambah folder",
+ "commands": "Perintah",
+ "modes": "Mode"
},
"queuedMessages": {
"title": "Pesan Antrian",
@@ -431,7 +447,28 @@
"todo": {
"partial": "{{completed}} dari {{total}} to-do selesai",
"complete": "{{total}} to-do selesai",
- "updated": "Memperbarui daftar to-do"
+ "updated": "Memperbarui daftar to-do",
+ "listUpdated": "Daftar tugas diperbarui",
+ "userEdit": "Suntingan pengguna",
+ "userEdits": "Suntingan pengguna",
+ "edit": "Sunting",
+ "done": "Selesai",
+ "itemPlaceholder": "Masukkan item tugas",
+ "newItemPlaceholder": "Masukkan item tugas, tekan Enter untuk menambahkan",
+ "remove": "Hapus",
+ "add": "Tambah",
+ "cancel": "Batal",
+ "addTodo": "+ Tambah tugas",
+ "status": {
+ "notStarted": "Belum dimulai",
+ "inProgress": "Sedang dikerjakan",
+ "completed": "Selesai"
+ },
+ "deleteDialog": {
+ "title": "Hapus item tugas",
+ "description": "Yakin ingin menghapus item tugas ini?",
+ "confirm": "Hapus"
+ }
},
"tooManyTools": {
"title": "Terlalu banyak alat diaktifkan",
@@ -451,5 +488,24 @@
"title": "Penyedia tidak lagi didukung",
"message": "Penyedia ini sudah tidak tersedia. Pilih penyedia yang didukung untuk melanjutkan.",
"openSettings": "Buka Pengaturan"
+ },
+ "zooCodeAuth": {
+ "signIn": "Masuk ke Zoo Code",
+ "goToDashboard": "Buka Dasbor",
+ "signOut": "Keluar",
+ "avatarAlt": "Avatar",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "Terhubung"
+ },
+ "arguments": "Argumen:",
+ "copyAsMarkdown": "Salin sebagai Markdown",
+ "openInPreview": "Buka di pratinjau",
+ "codeAccordion": {
+ "userEdits": "Suntingan pengguna",
+ "consoleLogs": "Log konsol",
+ "openFileAriaLabel": "Buka file: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_other": "{{count}} baris tersembunyi"
}
}
diff --git a/webview-ui/src/i18n/locales/id/common.json b/webview-ui/src/i18n/locales/id/common.json
index 86d5fa8a49..8b5b3e19e2 100644
--- a/webview-ui/src/i18n/locales/id/common.json
+++ b/webview-ui/src/i18n/locales/id/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "Cari...",
- "no_results": "Tidak ada hasil yang ditemukan"
+ "no_results": "Tidak ada hasil yang ditemukan",
+ "close": "Tutup",
+ "clear_search_aria_label": "Hapus pencarian"
},
"mermaid": {
"loading": "Membuat diagram mermaid...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "Gambar"
},
- "noData": "Tidak ada data gambar"
+ "noData": "Tidak ada data gambar",
+ "generatedAlt": "Gambar buatan AI",
+ "thumbnailAlt": "Gambar mini {{index}}"
},
"confirmation": {
"deleteMessage": "Hapus Pesan",
diff --git a/webview-ui/src/i18n/locales/id/marketplace.json b/webview-ui/src/i18n/locales/id/marketplace.json
index e1a5c2abb5..96185154cd 100644
--- a/webview-ui/src/i18n/locales/id/marketplace.json
+++ b/webview-ui/src/i18n/locales/id/marketplace.json
@@ -70,7 +70,8 @@
"goToMcp": "Ke Tab MCP",
"goToModes": "Ke Pengaturan Mode",
"moreInfoMcp": "Lihat dokumentasi MCP {{name}}",
- "validationRequired": "Silakan berikan nilai untuk {{paramName}}"
+ "validationRequired": "Silakan berikan nilai untuk {{paramName}}",
+ "optional": "(opsional)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"footer": {
"issueText": "Menemukan masalah dengan item marketplace atau punya saran untuk yang baru? <0>Buka GitHub issue0> untuk memberi tahu kami!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "Mode"
}
}
diff --git a/webview-ui/src/i18n/locales/id/mcp.json b/webview-ui/src/i18n/locales/id/mcp.json
index 733c6049ac..e9f9d48494 100644
--- a/webview-ui/src/i18n/locales/id/mcp.json
+++ b/webview-ui/src/i18n/locales/id/mcp.json
@@ -55,5 +55,10 @@
"running": "Berjalan",
"completed": "Selesai",
"error": "Error"
- }
+ },
+ "resource": {
+ "returns": "Mengembalikan",
+ "unknownMimeType": "Tidak diketahui"
+ },
+ "toggleServerAriaLabel": "Aktifkan/nonaktifkan server {{serverName}}"
}
diff --git a/webview-ui/src/i18n/locales/id/prompts.json b/webview-ui/src/i18n/locales/id/prompts.json
index 6999fbcfe5..f0651c7b8b 100644
--- a/webview-ui/src/i18n/locales/id/prompts.json
+++ b/webview-ui/src/i18n/locales/id/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "Konfigurasi API",
- "select": "Pilih konfigurasi API mana yang akan digunakan untuk mode ini"
+ "select": "Pilih konfigurasi API mana yang akan digunakan untuk mode ini",
+ "pinnedGroupAriaLabel": "Konfigurasi yang disematkan",
+ "allGroupAriaLabel": "Semua konfigurasi"
},
"tools": {
"title": "Tools yang Tersedia",
@@ -47,7 +49,8 @@
"title": "Instruksi Kustom Khusus Mode (opsional)",
"resetToDefault": "Reset ke default",
"description": "Tambahkan panduan perilaku khusus untuk mode {{modeName}}.",
- "loadFromFile": "Instruksi khusus untuk mode {{mode}} juga dapat dimuat dari folder .roo/rules-{{slug}}/ di ruang kerja Anda atau dari global <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} dan .clinerules-{{slug}} sudah usang dan akan segera berhenti berfungsi)."
+ "loadFromFile": "Instruksi khusus untuk mode {{mode}} juga dapat dimuat dari folder .roo/rules-{{slug}}/ di ruang kerja Anda atau dari global <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} dan .clinerules-{{slug}} sudah usang dan akan segera berhenti berfungsi).",
+ "loadFromFileAriaLabel": "Pelajari tentang instruksi kustom global untuk mode"
},
"exportMode": {
"title": "Ekspor Mode",
@@ -69,7 +72,9 @@
"globalCustomInstructions": {
"title": "Instruksi Kustom untuk Semua Mode",
"description": "Instruksi ini berlaku untuk semua mode. Mereka menyediakan set dasar perilaku yang dapat ditingkatkan oleh instruksi khusus mode di bawah. <0>Pelajari lebih lanjut0>",
- "loadFromFile": "Instruksi juga dapat dimuat dari folder .roo/rules/ di ruang kerja Anda atau dari global <0>.roo/rules/0> (.roorules dan .clinerules sudah usang dan akan segera berhenti berfungsi)."
+ "loadFromFile": "Instruksi juga dapat dimuat dari folder .roo/rules/ di ruang kerja Anda atau dari global <0>.roo/rules/0> (.roorules dan .clinerules sudah usang dan akan segera berhenti berfungsi).",
+ "learnMoreAriaLabel": "Pelajari lebih lanjut tentang instruksi kustom global",
+ "loadFromFileAriaLabel": "Pelajari cara menyiapkan instruksi kustom global"
},
"systemPrompt": {
"preview": "Pratinjau System Prompt",
@@ -199,5 +204,10 @@
"rulesFolder": "Mode ini memiliki folder aturan di {{folderPath}} yang juga akan dihapus.",
"confirm": "Hapus",
"cancel": "Batal"
+ },
+ "mcpServers": {
+ "restrict": "Batasi ke server MCP tertentu",
+ "noneConnected": "Tidak ada server MCP yang terhubung",
+ "notConnected": "{{serverName}} (tidak terhubung)"
}
}
diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json
index 060629cfb9..1ca6586866 100644
--- a/webview-ui/src/i18n/locales/id/settings.json
+++ b/webview-ui/src/i18n/locales/id/settings.json
@@ -6,7 +6,8 @@
"cancel": "Batal",
"select": "Pilih",
"add": "Tambah Header",
- "remove": "Hapus"
+ "remove": "Hapus",
+ "milliseconds": "{{value}} md"
},
"search": {
"placeholder": "Cari pengaturan...",
@@ -79,7 +80,9 @@
"detailTasksImported_other": "{{count}} dari {{total}} riwayat tugas diimpor.",
"detailPreparing": "Mempersiapkan impor riwayat Roo Code.",
"progressAriaLabel": "Progres impor riwayat Roo Code"
- }
+ },
+ "version": "Versi: {{version}}",
+ "versionWithCommit": "Versi: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "Kelola perintah slash kamu untuk mengeksekusi alur kerja dan tindakan kustom dengan cepat. Pelajari lebih lanjut",
@@ -684,6 +687,17 @@
"signInDescription": "Masuk untuk menggunakan Zoo Gateway dengan akun Anda",
"authenticated": "Terautentikasi",
"authenticatedAs": "Terautentikasi sebagai {{name}}"
+ },
+ "awsAuthMethod": "Metode autentikasi",
+ "qwenCode": {
+ "oauthPathLabel": "Path kredensial OAuth",
+ "oauthPathDescription": "Path ke file kredensial OAuth Qwen milikmu. Jika dibiarkan kosong, {{defaultPath}} akan digunakan.",
+ "description": "Qwen Code adalah API berbasis OAuth yang memerlukan autentikasi melalui klien resmi Qwen. Kamu perlu menyiapkan kredensial OAuth terlebih dahulu.",
+ "gettingStarted": "Untuk memulai:",
+ "step1": "1. Instal klien resmi Qwen",
+ "step2": "2. Autentikasi menggunakan akunmu",
+ "step3": "3. Kredensial OAuth akan disimpan secara otomatis",
+ "setupInstructions": "Petunjuk penyiapan"
}
},
"checkpoints": {
@@ -915,7 +929,8 @@
"refreshing": "Merefresh...",
"refreshSuccess": "Tool berhasil direfresh",
"refreshError": "Gagal merefresh tool",
- "toolParameters": "Parameter"
+ "toolParameters": "Parameter",
+ "required": "wajib"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "Usaha berpikir dinamis",
@@ -953,7 +968,11 @@
"freeRequests_other": "* Gratis hingga {{count}} permintaan per menit. Setelah itu, penagihan tergantung pada ukuran prompt.",
"pricingDetails": "Untuk info lebih lanjut, lihat detail harga.",
"billingEstimate": "* Penagihan adalah estimasi - biaya sebenarnya tergantung pada ukuran prompt."
- }
+ },
+ "tokensValue_other": "{{count, number}} token",
+ "pricePerMillionTokens": "{{price}} / 1 juta token",
+ "showMore": "Selengkapnya",
+ "showLess": "Lebih sedikit"
},
"modelPicker": {
"automaticFetch": "Ekstensi secara otomatis mengambil daftar model terbaru yang tersedia di {{serviceName}}. Jika kamu tidak yakin model mana yang harus dipilih, Zoo Code bekerja terbaik dengan {{defaultModelId}}. Kamu juga dapat mencoba mencari \"free\" untuk opsi tanpa biaya yang saat ini tersedia.",
@@ -1018,7 +1037,8 @@
"inputPrice": "misalnya 0.0001",
"outputPrice": "misalnya 0.0002",
"cacheWritePrice": "misalnya 0.00005"
- }
+ },
+ "defaultValue": "Default: {{value}}"
},
"defaults": {
"ollamaUrl": "Default: http://localhost:11434",
@@ -1047,7 +1067,9 @@
"input": "Input",
"output": "Output",
"cacheReads": "Pembacaan cache"
- }
+ },
+ "label": "Tingkat layanan",
+ "tooltip": "Untuk pemrosesan permintaan API yang lebih cepat, coba tingkat layanan pemrosesan prioritas. Untuk harga lebih murah dengan latensi lebih tinggi, coba tingkat pemrosesan flex."
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/id/welcome.json b/webview-ui/src/i18n/locales/id/welcome.json
index 3aec2556ba..0f6f531612 100644
--- a/webview-ui/src/i18n/locales/id/welcome.json
+++ b/webview-ui/src/i18n/locales/id/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Selamat datang di Zoo Code!",
- "introduction": "Dengan berbagai Mode bawaan dan dapat diperluas, Zoo Code memungkinkan Anda merencanakan, merancang, coding, debug, dan meningkatkan produktivitas seperti yang belum pernah terjadi sebelumnya."
+ "introduction": "Dengan berbagai Mode bawaan dan dapat diperluas, Zoo Code memungkinkan Anda merencanakan, merancang, coding, debug, dan meningkatkan produktivitas seperti yang belum pernah terjadi sebelumnya.",
+ "logoAlt": "Logo Roo"
},
"providerSignup": {
"heading": "Pilih penyedia Anda",
diff --git a/webview-ui/src/i18n/locales/it/chat.json b/webview-ui/src/i18n/locales/it/chat.json
index 564745eb29..ffe836e952 100644
--- a/webview-ui/src/i18n/locales/it/chat.json
+++ b/webview-ui/src/i18n/locales/it/chat.json
@@ -22,7 +22,8 @@
"fileChangesInConversation": {
"header_one": "{{count}} file modificato in questa conversazione",
"header_many": "{{count}} file modificati in questa conversazione",
- "header_other": "{{count}} file modificati in questa conversazione"
+ "header_other": "{{count}} file modificati in questa conversazione",
+ "lineStatsAriaLabel": "Righe aggiunte: {{added}}, righe rimosse: {{removed}}"
},
"tokenProgress": {
"availableSpace": "Spazio disponibile: {{amount}} tokens",
@@ -233,7 +234,9 @@
"addToAllowed": "Aggiungi alla lista dei permessi",
"removeFromAllowed": "Rimuovi dalla lista dei permessi",
"addToDenied": "Aggiungi alla lista dei negati",
- "removeFromDenied": "Rimuovi dalla lista dei negati"
+ "removeFromDenied": "Rimuovi dalla lista dei negati",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "Clicca per modificare il pattern"
},
"text": {
"rooSaid": "Zoo ha detto"
@@ -292,7 +295,9 @@
"triggerLabel_one": "{{count}} approvato automaticamente",
"triggerLabel_many": "{{count}} approvati automaticamente",
"triggerLabel_other": "{{count}} approvati automaticamente",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "Attivato",
+ "toggleAriaLabel": "Attiva/disattiva approvazione automatica"
},
"reasoning": {
"thinking": "Sto pensando",
@@ -370,7 +375,8 @@
"didSearch_one": "Trovato {{count}} risultato",
"didSearch_many": "Trovati {{count}} risultati",
"didSearch_other": "Trovati {{count}} risultati",
- "resultTooltip": "Punteggio di somiglianza: {{score}} (clicca per aprire il file)"
+ "resultTooltip": "Punteggio di somiglianza: {{score}} (clicca per aprire il file)",
+ "displayError": "Errore nella visualizzazione dei risultati di ricerca."
},
"read-batch": {
"approve": {
@@ -422,7 +428,17 @@
"noResults": "Nessun risultato",
"problems": "Problemi",
"terminal": "Terminale",
- "url": "Incolla l'URL per recuperare i contenuti"
+ "url": "Incolla l'URL per recuperare i contenuti",
+ "gitCommits": "Commit Git",
+ "gitCommitsDescription": "Cerca nella cronologia del repository",
+ "workingChanges": "Modifiche in corso",
+ "workingChangesDescription": "Modifiche attuali non ancora committate",
+ "commit": "Commit {{hash}}",
+ "commitHashDescription": "Hash del commit Git",
+ "addFile": "Aggiungi file",
+ "addFolder": "Aggiungi cartella",
+ "commands": "Comandi",
+ "modes": "Modalità"
},
"queuedMessages": {
"title": "Messaggi in coda",
@@ -435,7 +451,28 @@
"todo": {
"partial": "{{completed}} di {{total}} cose da fare completate",
"complete": "{{total}} cose da fare completate",
- "updated": "Aggiornata la lista delle cose da fare"
+ "updated": "Aggiornata la lista delle cose da fare",
+ "listUpdated": "Lista delle attività aggiornata",
+ "userEdit": "Modifica dell'utente",
+ "userEdits": "Modifiche dell'utente",
+ "edit": "Modifica",
+ "done": "Fatto",
+ "itemPlaceholder": "Inserisci un'attività",
+ "newItemPlaceholder": "Inserisci un'attività, premi Invio per aggiungerla",
+ "remove": "Rimuovi",
+ "add": "Aggiungi",
+ "cancel": "Annulla",
+ "addTodo": "+ Aggiungi attività",
+ "status": {
+ "notStarted": "Non iniziata",
+ "inProgress": "In corso",
+ "completed": "Completata"
+ },
+ "deleteDialog": {
+ "title": "Elimina attività",
+ "description": "Vuoi davvero eliminare questa attività?",
+ "confirm": "Elimina"
+ }
},
"tooManyTools": {
"title": "Troppi strumenti abilitati",
@@ -459,5 +496,26 @@
"title": "Provider non più supportato",
"message": "Questo provider non è più disponibile. Seleziona un provider supportato per continuare.",
"openSettings": "Apri impostazioni"
+ },
+ "zooCodeAuth": {
+ "signIn": "Accedi a Zoo Code",
+ "goToDashboard": "Vai alla dashboard",
+ "signOut": "Esci",
+ "avatarAlt": "Avatar",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "Connesso"
+ },
+ "arguments": "Argomenti:",
+ "copyAsMarkdown": "Copia come Markdown",
+ "openInPreview": "Apri nell'anteprima",
+ "codeAccordion": {
+ "userEdits": "Modifiche dell'utente",
+ "consoleLogs": "Log della console",
+ "openFileAriaLabel": "Apri file: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_one": "{{count}} riga nascosta",
+ "hiddenLines_many": "{{count}} di righe nascoste",
+ "hiddenLines_other": "{{count}} righe nascoste"
}
}
diff --git a/webview-ui/src/i18n/locales/it/common.json b/webview-ui/src/i18n/locales/it/common.json
index d1d92f085b..23554be15a 100644
--- a/webview-ui/src/i18n/locales/it/common.json
+++ b/webview-ui/src/i18n/locales/it/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "Cerca...",
- "no_results": "Nessun risultato trovato"
+ "no_results": "Nessun risultato trovato",
+ "close": "Chiudi",
+ "clear_search_aria_label": "Cancella ricerca"
},
"mermaid": {
"loading": "Generazione del diagramma mermaid...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "Immagine"
},
- "noData": "Nessun dato immagine"
+ "noData": "Nessun dato immagine",
+ "generatedAlt": "Immagine generata dall'IA",
+ "thumbnailAlt": "Miniatura {{index}}"
},
"confirmation": {
"deleteMessage": "Elimina Messaggio",
diff --git a/webview-ui/src/i18n/locales/it/marketplace.json b/webview-ui/src/i18n/locales/it/marketplace.json
index 6d2f67e74d..582c14c400 100644
--- a/webview-ui/src/i18n/locales/it/marketplace.json
+++ b/webview-ui/src/i18n/locales/it/marketplace.json
@@ -70,7 +70,8 @@
"goToModes": "Vai alle impostazioni Modalità",
"moreInfoMcp": "Visualizza documentazione MCP {{name}}",
"validationRequired": "Fornisci un valore per {{paramName}}",
- "prerequisites": "Prerequisiti"
+ "prerequisites": "Prerequisiti",
+ "optional": "(facoltativo)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"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!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "Modalità"
}
}
diff --git a/webview-ui/src/i18n/locales/it/mcp.json b/webview-ui/src/i18n/locales/it/mcp.json
index e058fb21cc..4f19a853fc 100644
--- a/webview-ui/src/i18n/locales/it/mcp.json
+++ b/webview-ui/src/i18n/locales/it/mcp.json
@@ -55,5 +55,10 @@
"running": "In esecuzione",
"completed": "Completato",
"error": "Errore"
- }
+ },
+ "resource": {
+ "returns": "Restituisce",
+ "unknownMimeType": "Sconosciuto"
+ },
+ "toggleServerAriaLabel": "Attiva/disattiva il server {{serverName}}"
}
diff --git a/webview-ui/src/i18n/locales/it/prompts.json b/webview-ui/src/i18n/locales/it/prompts.json
index f699f27fef..07c5ebf1dd 100644
--- a/webview-ui/src/i18n/locales/it/prompts.json
+++ b/webview-ui/src/i18n/locales/it/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "Configurazione API",
- "select": "Seleziona quale configurazione API utilizzare per questa modalità"
+ "select": "Seleziona quale configurazione API utilizzare per questa modalità",
+ "pinnedGroupAriaLabel": "Configurazioni fissate",
+ "allGroupAriaLabel": "Tutte le configurazioni"
},
"tools": {
"title": "Strumenti disponibili",
@@ -47,7 +49,8 @@
"title": "Istruzioni personalizzate specifiche per la modalità (opzionale)",
"resetToDefault": "Ripristina predefiniti",
"description": "Aggiungi linee guida comportamentali specifiche per la modalità {{modeName}}.",
- "loadFromFile": "Le istruzioni personalizzate specifiche per la modalità {{mode}} possono anche essere caricate dalla cartella .roo/rules-{{slug}}/ nel tuo spazio di lavoro o dal globale <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} e .clinerules-{{slug}} sono deprecati e smetteranno di funzionare presto)."
+ "loadFromFile": "Le istruzioni personalizzate specifiche per la modalità {{mode}} possono anche essere caricate dalla cartella .roo/rules-{{slug}}/ nel tuo spazio di lavoro o dal globale <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} e .clinerules-{{slug}} sono deprecati e smetteranno di funzionare presto).",
+ "loadFromFileAriaLabel": "Scopri le istruzioni personalizzate globali per le modalità"
},
"exportMode": {
"title": "Esporta modalità",
@@ -69,7 +72,9 @@
"globalCustomInstructions": {
"title": "Istruzioni personalizzate per tutte le modalità",
"description": "Queste istruzioni si applicano a tutte le modalità. Forniscono un insieme base di comportamenti che possono essere migliorati dalle istruzioni specifiche per modalità qui sotto. <0>Scopri di più0>",
- "loadFromFile": "Le istruzioni possono anche essere caricate dalla cartella .roo/rules/ nel tuo spazio di lavoro o dal globale <0>.roo/rules/0> (.roorules e .clinerules sono deprecati e smetteranno di funzionare presto)."
+ "loadFromFile": "Le istruzioni possono anche essere caricate dalla cartella .roo/rules/ nel tuo spazio di lavoro o dal globale <0>.roo/rules/0> (.roorules e .clinerules sono deprecati e smetteranno di funzionare presto).",
+ "learnMoreAriaLabel": "Scopri di più sulle istruzioni personalizzate globali",
+ "loadFromFileAriaLabel": "Scopri come configurare le istruzioni personalizzate globali"
},
"systemPrompt": {
"preview": "Anteprima prompt di sistema",
@@ -199,5 +204,10 @@
"rulesFolder": "Questa modalità ha una cartella di regole in {{folderPath}} che verrà eliminata.",
"confirm": "Elimina",
"cancel": "Annulla"
+ },
+ "mcpServers": {
+ "restrict": "Limita a server MCP specifici",
+ "noneConnected": "Nessun server MCP connesso",
+ "notConnected": "{{serverName}} (non connesso)"
}
}
diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json
index 4c8cc0fbec..6f63827204 100644
--- a/webview-ui/src/i18n/locales/it/settings.json
+++ b/webview-ui/src/i18n/locales/it/settings.json
@@ -6,7 +6,8 @@
"cancel": "Annulla",
"select": "Seleziona",
"add": "Aggiungi intestazione",
- "remove": "Rimuovi"
+ "remove": "Rimuovi",
+ "milliseconds": "{{value}} ms"
},
"search": {
"placeholder": "Cerca impostazioni...",
@@ -81,7 +82,9 @@
"detailTasksImported_other": "Importati {{count}} di {{total}} cronologie attività.",
"detailPreparing": "Preparazione dell'importazione della cronologia Roo Code.",
"progressAriaLabel": "Avanzamento importazione cronologia Roo Code"
- }
+ },
+ "version": "Versione: {{version}}",
+ "versionWithCommit": "Versione: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "Gestisci i tuoi comandi slash per eseguire rapidamente flussi di lavoro e azioni personalizzate. Scopri di più",
@@ -686,6 +689,17 @@
"signInDescription": "Accedi per utilizzare Zoo Gateway con il tuo account",
"authenticated": "Autenticato",
"authenticatedAs": "Autenticato come {{name}}"
+ },
+ "awsAuthMethod": "Metodo di autenticazione",
+ "qwenCode": {
+ "oauthPathLabel": "Percorso delle credenziali OAuth",
+ "oauthPathDescription": "Percorso del tuo file di credenziali OAuth di Qwen. Se lo lasci vuoto, viene usato {{defaultPath}}.",
+ "description": "Qwen Code è un'API basata su OAuth che richiede l'autenticazione tramite il client ufficiale di Qwen. Prima devi configurare le credenziali OAuth.",
+ "gettingStarted": "Per iniziare:",
+ "step1": "1. Installa il client ufficiale di Qwen",
+ "step2": "2. Autenticati con il tuo account",
+ "step3": "3. Le credenziali OAuth verranno salvate automaticamente",
+ "setupInstructions": "Istruzioni di configurazione"
}
},
"checkpoints": {
@@ -917,7 +931,8 @@
"refreshing": "Aggiornamento...",
"refreshSuccess": "Strumenti aggiornati con successo",
"refreshError": "Impossibile aggiornare gli strumenti",
- "toolParameters": "Parametri"
+ "toolParameters": "Parametri",
+ "required": "obbligatorio"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "Sforzo di pensiero dinamico",
@@ -957,7 +972,13 @@
"freeRequests_other": "* Gratuito fino a {{count}} richieste al minuto. Dopo, la fatturazione dipende dalla dimensione del prompt.",
"pricingDetails": "Per maggiori informazioni, vedi i dettagli sui prezzi.",
"billingEstimate": "* La fatturazione è una stima - il costo esatto dipende dalle dimensioni del prompt."
- }
+ },
+ "tokensValue_one": "{{count, number}} token",
+ "tokensValue_many": "{{count, number}} di token",
+ "tokensValue_other": "{{count, number}} token",
+ "pricePerMillionTokens": "{{price}} / 1M di token",
+ "showMore": "Altro",
+ "showLess": "Meno"
},
"modelPicker": {
"automaticFetch": "L'estensione recupera automaticamente l'elenco più recente dei modelli disponibili su {{serviceName}}. Se non sei sicuro di quale modello scegliere, Zoo Code funziona meglio con {{defaultModelId}}. Puoi anche cercare \"free\" per opzioni gratuite attualmente disponibili.",
@@ -1022,7 +1043,8 @@
"inputPrice": "es. 0.0001",
"outputPrice": "es. 0.0002",
"cacheWritePrice": "es. 0.00005"
- }
+ },
+ "defaultValue": "Predefinito: {{value}}"
},
"defaults": {
"ollamaUrl": "Predefinito: http://localhost:11434",
@@ -1051,7 +1073,9 @@
"input": "Input",
"output": "Output",
"cacheReads": "Letture cache"
- }
+ },
+ "label": "Livello di servizio",
+ "tooltip": "Per un'elaborazione più rapida delle richieste API, prova il livello di servizio con elaborazione prioritaria. Per prezzi più bassi con una latenza maggiore, prova il livello di elaborazione flex."
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/it/welcome.json b/webview-ui/src/i18n/locales/it/welcome.json
index 71db9538be..893787a4b4 100644
--- a/webview-ui/src/i18n/locales/it/welcome.json
+++ b/webview-ui/src/i18n/locales/it/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Benvenuto in Zoo Code!",
- "introduction": "Con una gamma di Modalità integrate ed estensibili, Zoo Code ti permette di pianificare, architettare, codificare, debuggare e aumentare la tua produttività come mai prima d'ora."
+ "introduction": "Con una gamma di Modalità integrate ed estensibili, Zoo Code ti permette di pianificare, architettare, codificare, debuggare e aumentare la tua produttività come mai prima d'ora.",
+ "logoAlt": "Logo di Roo"
},
"providerSignup": {
"heading": "Scegli il tuo provider",
diff --git a/webview-ui/src/i18n/locales/ja/chat.json b/webview-ui/src/i18n/locales/ja/chat.json
index bbc5699c74..6dfbdcf129 100644
--- a/webview-ui/src/i18n/locales/ja/chat.json
+++ b/webview-ui/src/i18n/locales/ja/chat.json
@@ -20,7 +20,8 @@
"unpin": "ピン留めを解除",
"pin": "ピン留め",
"fileChangesInConversation": {
- "header_other": "この会話で {{count}} 個のファイルが変更されました"
+ "header_other": "この会話で {{count}} 個のファイルが変更されました",
+ "lineStatsAriaLabel": "追加行: {{added}}、削除行: {{removed}}"
},
"tokenProgress": {
"availableSpace": "利用可能な空き容量: {{amount}} トークン",
@@ -231,7 +232,9 @@
"addToAllowed": "許可リストに追加",
"removeFromAllowed": "許可リストから削除",
"addToDenied": "拒否リストに追加",
- "removeFromDenied": "拒否リストから削除"
+ "removeFromDenied": "拒否リストから削除",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "クリックしてパターンを編集"
},
"text": {
"rooSaid": "Zooの発言"
@@ -288,7 +291,9 @@
"triggerLabelOffShort": "オフ",
"triggerLabel_zero": "0個の自動承認",
"triggerLabel_other": "{{count}}個の自動承認済み",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "有効",
+ "toggleAriaLabel": "自動承認を切り替える"
},
"reasoning": {
"thinking": "考え中",
@@ -360,7 +365,8 @@
"wantsToSearch": "Zooはコードベースで {{query}} を検索したい",
"wantsToSearchWithPath": "Zooは {{path}} 内のコードベースで {{query}} を検索したい",
"didSearch_other": "{{count}}件の結果が見つかりました",
- "resultTooltip": "類似度スコア: {{score}} (クリックしてファイルを開く)"
+ "resultTooltip": "類似度スコア: {{score}} (クリックしてファイルを開く)",
+ "displayError": "検索結果の表示中にエラーが発生しました。"
},
"read-batch": {
"approve": {
@@ -412,7 +418,17 @@
"noResults": "結果なし",
"problems": "問題",
"terminal": "ターミナル",
- "url": "URLを貼り付けてコンテンツを取得"
+ "url": "URLを貼り付けてコンテンツを取得",
+ "gitCommits": "Git コミット",
+ "gitCommitsDescription": "リポジトリの履歴を検索",
+ "workingChanges": "作業中の変更",
+ "workingChangesDescription": "未コミットの現在の変更",
+ "commit": "コミット {{hash}}",
+ "commitHashDescription": "Git コミットハッシュ",
+ "addFile": "ファイルを追加",
+ "addFolder": "フォルダーを追加",
+ "commands": "コマンド",
+ "modes": "モード"
},
"queuedMessages": {
"title": "キューメッセージ",
@@ -425,7 +441,28 @@
"todo": {
"partial": "{{total}}件中{{completed}}件のTo-Doが完了",
"complete": "{{total}}件のTo-Doが完了",
- "updated": "To-Doリストを更新しました"
+ "updated": "To-Doリストを更新しました",
+ "listUpdated": "ToDo リストを更新しました",
+ "userEdit": "ユーザーによる編集",
+ "userEdits": "ユーザーによる編集",
+ "edit": "編集",
+ "done": "完了",
+ "itemPlaceholder": "ToDo 項目を入力",
+ "newItemPlaceholder": "ToDo 項目を入力し、Enter で追加",
+ "remove": "削除",
+ "add": "追加",
+ "cancel": "キャンセル",
+ "addTodo": "+ ToDo を追加",
+ "status": {
+ "notStarted": "未着手",
+ "inProgress": "進行中",
+ "completed": "完了"
+ },
+ "deleteDialog": {
+ "title": "ToDo 項目を削除",
+ "description": "この ToDo 項目を削除してもよろしいですか?",
+ "confirm": "削除"
+ }
},
"tooManyTools": {
"title": "有効になっているツールが多すぎます",
@@ -445,5 +482,24 @@
"title": "プロバイダーのサポート終了",
"message": "このプロバイダーは現在利用できません。続行するには、サポートされているプロバイダーを選択してください。",
"openSettings": "設定を開く"
+ },
+ "zooCodeAuth": {
+ "signIn": "Zoo Code にサインイン",
+ "goToDashboard": "ダッシュボードへ",
+ "signOut": "サインアウト",
+ "avatarAlt": "アバター",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "接続済み"
+ },
+ "arguments": "引数:",
+ "copyAsMarkdown": "Markdown としてコピー",
+ "openInPreview": "プレビューで開く",
+ "codeAccordion": {
+ "userEdits": "ユーザーによる編集",
+ "consoleLogs": "コンソールログ",
+ "openFileAriaLabel": "ファイルを開く: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_other": "{{count}} 行が非表示"
}
}
diff --git a/webview-ui/src/i18n/locales/ja/common.json b/webview-ui/src/i18n/locales/ja/common.json
index 4a70faf68e..e14d73e7ce 100644
--- a/webview-ui/src/i18n/locales/ja/common.json
+++ b/webview-ui/src/i18n/locales/ja/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "検索...",
- "no_results": "結果が見つかりません"
+ "no_results": "結果が見つかりません",
+ "close": "閉じる",
+ "clear_search_aria_label": "検索をクリア"
},
"mermaid": {
"loading": "Mermaidダイアグラムを生成中...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "画像"
},
- "noData": "画像データなし"
+ "noData": "画像データなし",
+ "generatedAlt": "AI 生成画像",
+ "thumbnailAlt": "サムネイル {{index}}"
},
"confirmation": {
"deleteMessage": "メッセージを削除",
diff --git a/webview-ui/src/i18n/locales/ja/marketplace.json b/webview-ui/src/i18n/locales/ja/marketplace.json
index 56b43a3e8b..3f6c50c561 100644
--- a/webview-ui/src/i18n/locales/ja/marketplace.json
+++ b/webview-ui/src/i18n/locales/ja/marketplace.json
@@ -70,7 +70,8 @@
"goToModes": "モード設定に移動",
"moreInfoMcp": "{{name}} MCPドキュメントを表示",
"validationRequired": "{{paramName}}の値を入力してください",
- "prerequisites": "前提条件"
+ "prerequisites": "前提条件",
+ "optional": "(任意)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"footer": {
"issueText": "Marketplaceアイテムで問題を見つけた、または新しいアイテムの提案がありますか?<0>GitHub issueを開いて0>お知らせください!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "モード"
}
}
diff --git a/webview-ui/src/i18n/locales/ja/mcp.json b/webview-ui/src/i18n/locales/ja/mcp.json
index fe4f98159c..0ce6b653dd 100644
--- a/webview-ui/src/i18n/locales/ja/mcp.json
+++ b/webview-ui/src/i18n/locales/ja/mcp.json
@@ -55,5 +55,10 @@
"running": "実行中",
"completed": "完了",
"error": "エラー"
- }
+ },
+ "resource": {
+ "returns": "戻り値",
+ "unknownMimeType": "不明"
+ },
+ "toggleServerAriaLabel": "{{serverName}} サーバーのオン/オフを切り替え"
}
diff --git a/webview-ui/src/i18n/locales/ja/prompts.json b/webview-ui/src/i18n/locales/ja/prompts.json
index 22750ce89e..603e9bfb05 100644
--- a/webview-ui/src/i18n/locales/ja/prompts.json
+++ b/webview-ui/src/i18n/locales/ja/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "API設定",
- "select": "このモードで使用するAPI設定を選択してください"
+ "select": "このモードで使用するAPI設定を選択してください",
+ "pinnedGroupAriaLabel": "ピン留めした設定",
+ "allGroupAriaLabel": "すべての設定"
},
"tools": {
"title": "利用可能なツール",
@@ -47,7 +49,8 @@
"title": "モード固有のカスタム指示(オプション)",
"resetToDefault": "デフォルトにリセット",
"description": "{{modeName}}モードに特化した行動ガイドラインを追加します。",
- "loadFromFile": "{{mode}}モード固有のカスタム指示は、ワークスペースの.roo/rules-{{slug}}/フォルダまたはグローバル<0>.roo/rules-{{slug}}/0>からも読み込むことができます(.roorules-{{slug}}と.clinerules-{{slug}}は非推奨で、まもなく動作しなくなります)。"
+ "loadFromFile": "{{mode}}モード固有のカスタム指示は、ワークスペースの.roo/rules-{{slug}}/フォルダまたはグローバル<0>.roo/rules-{{slug}}/0>からも読み込むことができます(.roorules-{{slug}}と.clinerules-{{slug}}は非推奨で、まもなく動作しなくなります)。",
+ "loadFromFileAriaLabel": "モード用グローバルカスタム指示の詳細"
},
"exportMode": {
"title": "モードをエクスポート",
@@ -69,7 +72,9 @@
"globalCustomInstructions": {
"title": "すべてのモードのカスタム指示",
"description": "これらの指示はすべてのモードに適用されます。モード固有の指示で強化できる基本的な動作セットを提供します。<0>詳細はこちら0>",
- "loadFromFile": "指示は、ワークスペースの.roo/rules/フォルダまたはグローバル<0>.roo/rules/0>からも読み込むことができます(.roorulesと.clinerulesは非推奨で、まもなく動作しなくなります)。"
+ "loadFromFile": "指示は、ワークスペースの.roo/rules/フォルダまたはグローバル<0>.roo/rules/0>からも読み込むことができます(.roorulesと.clinerulesは非推奨で、まもなく動作しなくなります)。",
+ "learnMoreAriaLabel": "グローバルカスタム指示の詳細",
+ "loadFromFileAriaLabel": "グローバルカスタム指示の設定方法"
},
"systemPrompt": {
"preview": "システムプロンプトのプレビュー",
@@ -199,5 +204,10 @@
"rulesFolder": "このモードには{{folderPath}}にルールフォルダがあり、それも削除されます。",
"confirm": "削除",
"cancel": "キャンセル"
+ },
+ "mcpServers": {
+ "restrict": "特定の MCP サーバーに制限",
+ "noneConnected": "接続中の MCP サーバーはありません",
+ "notConnected": "{{serverName}}(未接続)"
}
}
diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json
index 25e9c126aa..a6ec96a5d1 100644
--- a/webview-ui/src/i18n/locales/ja/settings.json
+++ b/webview-ui/src/i18n/locales/ja/settings.json
@@ -6,7 +6,8 @@
"cancel": "キャンセル",
"select": "選択",
"add": "ヘッダーを追加",
- "remove": "削除"
+ "remove": "削除",
+ "milliseconds": "{{value}}ミリ秒"
},
"search": {
"placeholder": "設定を検索...",
@@ -79,7 +80,9 @@
"detailTasksImported_other": "{{total}} 件中 {{count}} 件のタスク履歴をインポートしました。",
"detailPreparing": "Roo Code の履歴インポートを準備中です。",
"progressAriaLabel": "Roo Code の履歴インポートの進行状況"
- }
+ },
+ "version": "バージョン: {{version}}",
+ "versionWithCommit": "バージョン: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "スラッシュコマンドを管理して、カスタムワークフローやアクションを素早く実行します。詳細はこちら",
@@ -684,6 +687,17 @@
"signInDescription": "Zoo Gateway をアカウントで使用するにはサインインしてください",
"authenticated": "認証済み",
"authenticatedAs": "{{name}} として認証済み"
+ },
+ "awsAuthMethod": "認証方法",
+ "qwenCode": {
+ "oauthPathLabel": "OAuth 認証情報のパス",
+ "oauthPathDescription": "Qwen OAuth 認証情報ファイルのパス。空欄の場合は {{defaultPath}} が使われます。",
+ "description": "Qwen Code は OAuth ベースの API で、公式 Qwen クライアントでの認証が必要です。先に OAuth 認証情報を設定してください。",
+ "gettingStarted": "はじめに:",
+ "step1": "1. 公式 Qwen クライアントをインストール",
+ "step2": "2. アカウントで認証",
+ "step3": "3. OAuth 認証情報は自動的に保存されます",
+ "setupInstructions": "セットアップ手順"
}
},
"checkpoints": {
@@ -915,7 +929,8 @@
"refreshing": "更新中...",
"refreshSuccess": "ツールが正常に更新されました",
"refreshError": "ツールの更新に失敗しました",
- "toolParameters": "パラメーター"
+ "toolParameters": "パラメーター",
+ "required": "必須"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "ダイナミック思考強度",
@@ -953,7 +968,11 @@
"freeRequests_other": "* 1分間あたり{{count}}リクエストまで無料。それ以降は、プロンプトサイズに応じて課金されます。",
"pricingDetails": "詳細は価格情報をご覧ください。",
"billingEstimate": "* 課金は見積もりです - 正確な費用はプロンプトのサイズによって異なります。"
- }
+ },
+ "tokensValue_other": "{{count, number}} トークン",
+ "pricePerMillionTokens": "{{price}} / 100万トークン",
+ "showMore": "もっと見る",
+ "showLess": "閉じる"
},
"modelPicker": {
"automaticFetch": "拡張機能は{{serviceName}}で利用可能な最新のモデルリストを自動的に取得します。どのモデルを選ぶべきか迷っている場合、Zoo Codeは{{defaultModelId}}で最適に動作します。また、「free」で検索すると、現在利用可能な無料オプションを見つけることができます。",
@@ -1018,7 +1037,8 @@
"inputPrice": "例:0.0001",
"outputPrice": "例:0.0002",
"cacheWritePrice": "例:0.00005"
- }
+ },
+ "defaultValue": "デフォルト: {{value}}"
},
"defaults": {
"ollamaUrl": "デフォルト:http://localhost:11434",
@@ -1047,7 +1067,9 @@
"input": "入力",
"output": "出力",
"cacheReads": "キャッシュ読み取り"
- }
+ },
+ "label": "サービスティア",
+ "tooltip": "API リクエストをより速く処理したい場合は、優先処理(Priority)のサービスティアを試してください。レイテンシーが高くても価格を抑えたい場合は、Flex 処理ティアを試してください。"
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/ja/welcome.json b/webview-ui/src/i18n/locales/ja/welcome.json
index 8014fb332a..ae1c7947c1 100644
--- a/webview-ui/src/i18n/locales/ja/welcome.json
+++ b/webview-ui/src/i18n/locales/ja/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Zoo Codeへようこそ!",
- "introduction": "組み込みおよび拡張可能なモードを備えたZoo Codeは、計画、アーキテクチャ設計、コーディング、デバッグ、そして今までにない生産性向上を可能にします。"
+ "introduction": "組み込みおよび拡張可能なモードを備えたZoo Codeは、計画、アーキテクチャ設計、コーディング、デバッグ、そして今までにない生産性向上を可能にします。",
+ "logoAlt": "Roo のロゴ"
},
"providerSignup": {
"heading": "プロバイダーを選択",
diff --git a/webview-ui/src/i18n/locales/ko/chat.json b/webview-ui/src/i18n/locales/ko/chat.json
index e160ac1423..8e44c1b5c5 100644
--- a/webview-ui/src/i18n/locales/ko/chat.json
+++ b/webview-ui/src/i18n/locales/ko/chat.json
@@ -20,7 +20,8 @@
"unpin": "고정 해제하기",
"pin": "고정하기",
"fileChangesInConversation": {
- "header_other": "이 대화에서 {{count}}개 파일이 변경됨"
+ "header_other": "이 대화에서 {{count}}개 파일이 변경됨",
+ "lineStatsAriaLabel": "추가된 줄: {{added}}, 삭제된 줄: {{removed}}"
},
"tokenProgress": {
"availableSpace": "사용 가능한 공간: {{amount}} 토큰",
@@ -231,7 +232,9 @@
"addToAllowed": "허용 목록에 추가",
"removeFromAllowed": "허용 목록에서 제거",
"addToDenied": "거부 목록에 추가",
- "removeFromDenied": "거부 목록에서 제거"
+ "removeFromDenied": "거부 목록에서 제거",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "클릭하여 패턴 편집"
},
"text": {
"rooSaid": "루가 말했다"
@@ -288,7 +291,9 @@
"triggerLabelOffShort": "꺼짐",
"triggerLabel_zero": "0개 자동 승인됨",
"triggerLabel_other": "{{count}}개 자동 승인됨",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "활성화됨",
+ "toggleAriaLabel": "자동 승인 전환"
},
"reasoning": {
"thinking": "생각 중",
@@ -360,7 +365,8 @@
"wantsToSearch": "Zoo가 코드베이스에서 {{query}}을(를) 검색하고 싶어합니다",
"wantsToSearchWithPath": "Zoo가 {{path}}에서 {{query}}을(를) 검색하고 싶어합니다",
"didSearch_other": "{{count}}개의 결과를 찾았습니다",
- "resultTooltip": "유사도 점수: {{score}} (클릭하여 파일 열기)"
+ "resultTooltip": "유사도 점수: {{score}} (클릭하여 파일 열기)",
+ "displayError": "검색 결과를 표시하는 중 오류가 발생했습니다."
},
"read-batch": {
"approve": {
@@ -412,7 +418,17 @@
"noResults": "결과 없음",
"problems": "문제",
"terminal": "터미널",
- "url": "콘텐츠를 가져올 URL 붙여넣기"
+ "url": "콘텐츠를 가져올 URL 붙여넣기",
+ "gitCommits": "Git 커밋",
+ "gitCommitsDescription": "저장소 기록 검색",
+ "workingChanges": "작업 중인 변경 사항",
+ "workingChangesDescription": "커밋되지 않은 현재 변경 사항",
+ "commit": "커밋 {{hash}}",
+ "commitHashDescription": "Git 커밋 해시",
+ "addFile": "파일 추가",
+ "addFolder": "폴더 추가",
+ "commands": "명령",
+ "modes": "모드"
},
"queuedMessages": {
"title": "대기열 메시지",
@@ -425,7 +441,28 @@
"todo": {
"partial": "{{total}}개의 할 일 중 {{completed}}개 완료",
"complete": "{{total}}개의 할 일 완료",
- "updated": "할 일 목록을 업데이트했습니다"
+ "updated": "할 일 목록을 업데이트했습니다",
+ "listUpdated": "할 일 목록 업데이트됨",
+ "userEdit": "사용자 편집",
+ "userEdits": "사용자 편집 내용",
+ "edit": "편집",
+ "done": "완료",
+ "itemPlaceholder": "할 일 입력",
+ "newItemPlaceholder": "할 일을 입력하고 Enter를 눌러 추가",
+ "remove": "제거",
+ "add": "추가",
+ "cancel": "취소",
+ "addTodo": "+ 할 일 추가",
+ "status": {
+ "notStarted": "시작 안 함",
+ "inProgress": "진행 중",
+ "completed": "완료됨"
+ },
+ "deleteDialog": {
+ "title": "할 일 삭제",
+ "description": "이 할 일을 삭제하시겠습니까?",
+ "confirm": "삭제"
+ }
},
"tooManyTools": {
"title": "활성화된 도구가 너무 많습니다",
@@ -445,5 +482,24 @@
"title": "공급자 지원 종료",
"message": "이 공급자는 더 이상 사용할 수 없습니다. 계속하려면 지원되는 공급자를 선택하세요.",
"openSettings": "설정 열기"
+ },
+ "zooCodeAuth": {
+ "signIn": "Zoo Code에 로그인",
+ "goToDashboard": "대시보드로 이동",
+ "signOut": "로그아웃",
+ "avatarAlt": "아바타",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "연결됨"
+ },
+ "arguments": "인수:",
+ "copyAsMarkdown": "Markdown으로 복사",
+ "openInPreview": "미리보기에서 열기",
+ "codeAccordion": {
+ "userEdits": "사용자 편집 내용",
+ "consoleLogs": "콘솔 로그",
+ "openFileAriaLabel": "파일 열기: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_other": "숨겨진 줄 {{count}}개"
}
}
diff --git a/webview-ui/src/i18n/locales/ko/common.json b/webview-ui/src/i18n/locales/ko/common.json
index 5e0843da7a..35cee42dc2 100644
--- a/webview-ui/src/i18n/locales/ko/common.json
+++ b/webview-ui/src/i18n/locales/ko/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "검색...",
- "no_results": "결과를 찾을 수 없습니다"
+ "no_results": "결과를 찾을 수 없습니다",
+ "close": "닫기",
+ "clear_search_aria_label": "검색 지우기"
},
"mermaid": {
"loading": "머메이드 다이어그램 생성 중...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "이미지"
},
- "noData": "이미지 데이터 없음"
+ "noData": "이미지 데이터 없음",
+ "generatedAlt": "AI 생성 이미지",
+ "thumbnailAlt": "썸네일 {{index}}"
},
"confirmation": {
"deleteMessage": "메시지 삭제",
diff --git a/webview-ui/src/i18n/locales/ko/marketplace.json b/webview-ui/src/i18n/locales/ko/marketplace.json
index 957e624a25..956452fdeb 100644
--- a/webview-ui/src/i18n/locales/ko/marketplace.json
+++ b/webview-ui/src/i18n/locales/ko/marketplace.json
@@ -70,7 +70,8 @@
"goToModes": "모드 설정으로 이동",
"moreInfoMcp": "{{name}} MCP 문서 보기",
"validationRequired": "{{paramName}}에 대한 값을 입력해주세요",
- "prerequisites": "전제 조건"
+ "prerequisites": "전제 조건",
+ "optional": "(선택 사항)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"footer": {
"issueText": "Marketplace 아이템에 문제가 있거나 새로운 아이템에 대한 제안이 있나요? <0>GitHub issue를 열어서0> 알려주세요!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "모드"
}
}
diff --git a/webview-ui/src/i18n/locales/ko/mcp.json b/webview-ui/src/i18n/locales/ko/mcp.json
index 3da4a5a5b9..63f9b2527f 100644
--- a/webview-ui/src/i18n/locales/ko/mcp.json
+++ b/webview-ui/src/i18n/locales/ko/mcp.json
@@ -55,5 +55,10 @@
"running": "실행 중",
"completed": "완료됨",
"error": "오류"
- }
+ },
+ "resource": {
+ "returns": "반환",
+ "unknownMimeType": "알 수 없음"
+ },
+ "toggleServerAriaLabel": "{{serverName}} 서버 켜기/끄기"
}
diff --git a/webview-ui/src/i18n/locales/ko/prompts.json b/webview-ui/src/i18n/locales/ko/prompts.json
index 41eaf1e4fa..7b8e2ab788 100644
--- a/webview-ui/src/i18n/locales/ko/prompts.json
+++ b/webview-ui/src/i18n/locales/ko/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "API 구성",
- "select": "이 모드에 사용할 API 구성 선택"
+ "select": "이 모드에 사용할 API 구성 선택",
+ "pinnedGroupAriaLabel": "고정된 구성",
+ "allGroupAriaLabel": "모든 구성"
},
"tools": {
"title": "사용 가능한 도구",
@@ -47,7 +49,8 @@
"title": "모드별 사용자 지정 지침 (선택 사항)",
"resetToDefault": "기본값으로 재설정",
"description": "{{modeName}} 모드에 대한 특정 행동 지침을 추가하세요.",
- "loadFromFile": "{{mode}} 모드에 특정한 사용자 지정 지침은 작업 공간의 .roo/rules-{{slug}}/ 폴더 또는 전역 <0>.roo/rules-{{slug}}/0>에서도 로드할 수 있습니다 (.roorules-{{slug}} 및 .clinerules-{{slug}}는 더 이상 사용되지 않으며 곧 작동을 중지합니다)."
+ "loadFromFile": "{{mode}} 모드에 특정한 사용자 지정 지침은 작업 공간의 .roo/rules-{{slug}}/ 폴더 또는 전역 <0>.roo/rules-{{slug}}/0>에서도 로드할 수 있습니다 (.roorules-{{slug}} 및 .clinerules-{{slug}}는 더 이상 사용되지 않으며 곧 작동을 중지합니다).",
+ "loadFromFileAriaLabel": "모드별 전역 사용자 지정 지침 알아보기"
},
"exportMode": {
"title": "모드 내보내기",
@@ -69,7 +72,9 @@
"globalCustomInstructions": {
"title": "모든 모드에 대한 사용자 지정 지침",
"description": "이 지침은 모든 모드에 적용됩니다. 아래의 모드별 지침으로 향상될 수 있는 기본 동작 세트를 제공합니다. <0>더 알아보기0>",
- "loadFromFile": "지침은 작업 공간의 .roo/rules/ 폴더 또는 전역 <0>.roo/rules/0>에서도 로드할 수 있습니다 (.roorules 및 .clinerules는 더 이상 사용되지 않으며 곧 작동을 중지합니다)."
+ "loadFromFile": "지침은 작업 공간의 .roo/rules/ 폴더 또는 전역 <0>.roo/rules/0>에서도 로드할 수 있습니다 (.roorules 및 .clinerules는 더 이상 사용되지 않으며 곧 작동을 중지합니다).",
+ "learnMoreAriaLabel": "전역 사용자 지정 지침 자세히 알아보기",
+ "loadFromFileAriaLabel": "전역 사용자 지정 지침 설정 방법 알아보기"
},
"systemPrompt": {
"preview": "시스템 프롬프트 미리보기",
@@ -199,5 +204,10 @@
"rulesFolder": "이 모드에는 {{folderPath}}에 규칙 폴더가 있으며 함께 삭제됩니다.",
"confirm": "삭제",
"cancel": "취소"
+ },
+ "mcpServers": {
+ "restrict": "특정 MCP 서버로 제한",
+ "noneConnected": "연결된 MCP 서버가 없습니다",
+ "notConnected": "{{serverName}} (연결 안 됨)"
}
}
diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json
index 2e28bc3526..f966df4cc2 100644
--- a/webview-ui/src/i18n/locales/ko/settings.json
+++ b/webview-ui/src/i18n/locales/ko/settings.json
@@ -6,7 +6,8 @@
"cancel": "취소",
"select": "선택",
"add": "헤더 추가",
- "remove": "삭제"
+ "remove": "삭제",
+ "milliseconds": "{{value}}ms"
},
"search": {
"placeholder": "설정 검색...",
@@ -79,7 +80,9 @@
"detailTasksImported_other": "{{total}}개 중 {{count}}개의 작업 기록을 가져왔습니다.",
"detailPreparing": "Roo Code 기록 가져오기를 준비 중입니다.",
"progressAriaLabel": "Roo Code 기록 가져오기 진행률"
- }
+ },
+ "version": "버전: {{version}}",
+ "versionWithCommit": "버전: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "사용자 지정 워크플로와 작업을 신속하게 실행하기 위해 슬래시 명령을 관리합니다. 더 알아보기",
@@ -684,6 +687,17 @@
"signInDescription": "계정으로 Zoo Gateway를 사용하려면 로그인하세요",
"authenticated": "인증됨",
"authenticatedAs": "{{name}}(으)로 인증됨"
+ },
+ "awsAuthMethod": "인증 방법",
+ "qwenCode": {
+ "oauthPathLabel": "OAuth 자격 증명 경로",
+ "oauthPathDescription": "Qwen OAuth 자격 증명 파일 경로입니다. 비워 두면 {{defaultPath}}이(가) 사용됩니다.",
+ "description": "Qwen Code는 공식 Qwen 클라이언트를 통한 인증이 필요한 OAuth 기반 API입니다. 먼저 OAuth 자격 증명을 설정해야 합니다.",
+ "gettingStarted": "시작하려면:",
+ "step1": "1. 공식 Qwen 클라이언트 설치",
+ "step2": "2. 계정으로 인증",
+ "step3": "3. OAuth 자격 증명이 자동으로 저장됩니다",
+ "setupInstructions": "설정 안내"
}
},
"checkpoints": {
@@ -915,7 +929,8 @@
"refreshing": "새로고침 중...",
"refreshSuccess": "도구가 성공적으로 새로고침되었습니다",
"refreshError": "도구 새로고침에 실패했습니다",
- "toolParameters": "매개변수"
+ "toolParameters": "매개변수",
+ "required": "필수"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "동적 사고 노력",
@@ -953,7 +968,11 @@
"freeRequests_other": "* 분당 {{count}}개의 요청까지 무료. 이후에는 프롬프트 크기에 따라 요금이 부과됩니다.",
"pricingDetails": "자세한 내용은 가격 정보를 참조하세요.",
"billingEstimate": "* 요금은 추정치입니다 - 정확한 비용은 프롬프트 크기에 따라 달라집니다."
- }
+ },
+ "tokensValue_other": "{{count, number}} 토큰",
+ "pricePerMillionTokens": "{{price}} / 100만 토큰",
+ "showMore": "더 보기",
+ "showLess": "간략히"
},
"modelPicker": {
"automaticFetch": "확장 프로그램은 {{serviceName}}에서 사용 가능한 최신 모델 목록을 자동으로 가져옵니다. 어떤 모델을 선택해야 할지 확실하지 않다면, Zoo Code는 {{defaultModelId}}로 가장 잘 작동합니다. 현재 사용 가능한 무료 옵션을 찾으려면 \"free\"를 검색해 볼 수도 있습니다.",
@@ -1018,7 +1037,8 @@
"inputPrice": "예: 0.0001",
"outputPrice": "예: 0.0002",
"cacheWritePrice": "예: 0.00005"
- }
+ },
+ "defaultValue": "기본값: {{value}}"
},
"defaults": {
"ollamaUrl": "기본값: http://localhost:11434",
@@ -1047,7 +1067,9 @@
"input": "입력",
"output": "출력",
"cacheReads": "캐시 읽기"
- }
+ },
+ "label": "서비스 등급",
+ "tooltip": "API 요청을 더 빠르게 처리하려면 우선 처리(Priority) 서비스 등급을 사용해 보세요. 지연 시간이 길어도 더 저렴한 가격을 원하면 Flex 처리 등급을 사용해 보세요."
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/ko/welcome.json b/webview-ui/src/i18n/locales/ko/welcome.json
index 0b22993949..ff16f57ab9 100644
--- a/webview-ui/src/i18n/locales/ko/welcome.json
+++ b/webview-ui/src/i18n/locales/ko/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Zoo Code에 오신 것을 환영합니다!",
- "introduction": "내장 및 확장 가능한 다양한 모드를 통해 Zoo Code는 계획, 아키텍처 설계, 코딩, 디버깅 및 전례 없는 생산성 향상을 가능하게 합니다."
+ "introduction": "내장 및 확장 가능한 다양한 모드를 통해 Zoo Code는 계획, 아키텍처 설계, 코딩, 디버깅 및 전례 없는 생산성 향상을 가능하게 합니다.",
+ "logoAlt": "Roo 로고"
},
"providerSignup": {
"heading": "공급자 선택",
diff --git a/webview-ui/src/i18n/locales/nl/chat.json b/webview-ui/src/i18n/locales/nl/chat.json
index 0a39ed7138..8ee1532182 100644
--- a/webview-ui/src/i18n/locales/nl/chat.json
+++ b/webview-ui/src/i18n/locales/nl/chat.json
@@ -21,7 +21,8 @@
"pin": "Vastmaken",
"fileChangesInConversation": {
"header_one": "{{count}} bestand gewijzigd in dit gesprek",
- "header_other": "{{count}} bestanden gewijzigd in dit gesprek"
+ "header_other": "{{count}} bestanden gewijzigd in dit gesprek",
+ "lineStatsAriaLabel": "Regels toegevoegd: {{added}}, regels verwijderd: {{removed}}"
},
"retry": {
"title": "Opnieuw proberen",
@@ -227,7 +228,9 @@
"addToAllowed": "Toevoegen aan toegestane lijst",
"removeFromAllowed": "Verwijderen van toegestane lijst",
"addToDenied": "Toevoegen aan geweigerde lijst",
- "removeFromDenied": "Verwijderen van geweigerde lijst"
+ "removeFromDenied": "Verwijderen van geweigerde lijst",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "Klik om het patroon te bewerken"
},
"text": {
"rooSaid": "Zoo zei"
@@ -290,7 +293,9 @@
"triggerLabel_zero": "0 automatisch goedgekeurd",
"triggerLabel_one": "{{count}} automatisch goedgekeurd",
"triggerLabel_other": "{{count}} automatisch goedgekeurd",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "Ingeschakeld",
+ "toggleAriaLabel": "Automatisch goedkeuren in- of uitschakelen"
},
"announcement": {
"title": "Zoo Code {{version}} uitgebracht",
@@ -365,7 +370,8 @@
"wantsToSearchWithPath": "Zoo wil de codebase doorzoeken op {{query}} in {{path}}",
"didSearch_one": "{{count}} resultaat gevonden",
"didSearch_other": "{{count}} resultaten gevonden",
- "resultTooltip": "Gelijkenisscore: {{score}} (klik om bestand te openen)"
+ "resultTooltip": "Gelijkenisscore: {{score}} (klik om bestand te openen)",
+ "displayError": "Fout bij het weergeven van zoekresultaten."
},
"read-batch": {
"approve": {
@@ -417,7 +423,17 @@
"noResults": "Geen resultaten",
"problems": "Problemen",
"terminal": "Terminal",
- "url": "Plak URL om inhoud op te halen"
+ "url": "Plak URL om inhoud op te halen",
+ "gitCommits": "Git-commits",
+ "gitCommitsDescription": "Doorzoek de repositorygeschiedenis",
+ "workingChanges": "Werkwijzigingen",
+ "workingChangesDescription": "Huidige niet-gecommitte wijzigingen",
+ "commit": "Commit {{hash}}",
+ "commitHashDescription": "Git-commithash",
+ "addFile": "Bestand toevoegen",
+ "addFolder": "Map toevoegen",
+ "commands": "Opdrachten",
+ "modes": "Modi"
},
"queuedMessages": {
"title": "Berichten in wachtrij",
@@ -430,7 +446,28 @@
"todo": {
"partial": "{{completed}} van {{total}} to-do's voltooid",
"complete": "{{total}} to-do's voltooid",
- "updated": "De to-do-lijst is bijgewerkt"
+ "updated": "De to-do-lijst is bijgewerkt",
+ "listUpdated": "Takenlijst bijgewerkt",
+ "userEdit": "Gebruikersbewerking",
+ "userEdits": "Gebruikersbewerkingen",
+ "edit": "Bewerken",
+ "done": "Klaar",
+ "itemPlaceholder": "Voer een taak in",
+ "newItemPlaceholder": "Voer een taak in, druk op Enter om toe te voegen",
+ "remove": "Verwijderen",
+ "add": "Toevoegen",
+ "cancel": "Annuleren",
+ "addTodo": "+ Taak toevoegen",
+ "status": {
+ "notStarted": "Niet gestart",
+ "inProgress": "Bezig",
+ "completed": "Voltooid"
+ },
+ "deleteDialog": {
+ "title": "Taak verwijderen",
+ "description": "Weet je zeker dat je deze taak wilt verwijderen?",
+ "confirm": "Verwijderen"
+ }
},
"tooManyTools": {
"title": "Te veel tools ingeschakeld",
@@ -452,5 +489,25 @@
"title": "Provider wordt niet meer ondersteund",
"message": "Deze provider is niet meer beschikbaar. Selecteer een ondersteunde provider om door te gaan.",
"openSettings": "Instellingen openen"
+ },
+ "zooCodeAuth": {
+ "signIn": "Inloggen bij Zoo Code",
+ "goToDashboard": "Naar dashboard",
+ "signOut": "Uitloggen",
+ "avatarAlt": "Avatar",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "Verbonden"
+ },
+ "arguments": "Argumenten:",
+ "copyAsMarkdown": "Kopiëren als Markdown",
+ "openInPreview": "Openen in voorbeeld",
+ "codeAccordion": {
+ "userEdits": "Gebruikersbewerkingen",
+ "consoleLogs": "Consolelogs",
+ "openFileAriaLabel": "Bestand openen: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_one": "{{count}} verborgen regel",
+ "hiddenLines_other": "{{count}} verborgen regels"
}
}
diff --git a/webview-ui/src/i18n/locales/nl/common.json b/webview-ui/src/i18n/locales/nl/common.json
index 111a1c0e80..da785c3056 100644
--- a/webview-ui/src/i18n/locales/nl/common.json
+++ b/webview-ui/src/i18n/locales/nl/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "Zoeken...",
- "no_results": "Geen resultaten gevonden"
+ "no_results": "Geen resultaten gevonden",
+ "close": "Sluiten",
+ "clear_search_aria_label": "Zoekopdracht wissen"
},
"mermaid": {
"loading": "Mermaid-diagram genereren...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "Afbeelding"
},
- "noData": "Geen afbeeldingsgegevens"
+ "noData": "Geen afbeeldingsgegevens",
+ "generatedAlt": "Door AI gegenereerde afbeelding",
+ "thumbnailAlt": "Miniatuur {{index}}"
},
"confirmation": {
"deleteMessage": "Bericht Verwijderen",
diff --git a/webview-ui/src/i18n/locales/nl/marketplace.json b/webview-ui/src/i18n/locales/nl/marketplace.json
index 07678a0cae..29ed0c135e 100644
--- a/webview-ui/src/i18n/locales/nl/marketplace.json
+++ b/webview-ui/src/i18n/locales/nl/marketplace.json
@@ -70,7 +70,8 @@
"goToModes": "Ga naar Modi-instellingen",
"moreInfoMcp": "{{name}} MCP-documentatie bekijken",
"validationRequired": "Geef een waarde op voor {{paramName}}",
- "prerequisites": "Vereisten"
+ "prerequisites": "Vereisten",
+ "optional": "(optioneel)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"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!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "Modi"
}
}
diff --git a/webview-ui/src/i18n/locales/nl/mcp.json b/webview-ui/src/i18n/locales/nl/mcp.json
index 2505f42c07..9d74ad7e1d 100644
--- a/webview-ui/src/i18n/locales/nl/mcp.json
+++ b/webview-ui/src/i18n/locales/nl/mcp.json
@@ -55,5 +55,10 @@
"running": "Wordt uitgevoerd",
"completed": "Voltooid",
"error": "Fout"
- }
+ },
+ "resource": {
+ "returns": "Retourneert",
+ "unknownMimeType": "Onbekend"
+ },
+ "toggleServerAriaLabel": "Server {{serverName}} in- of uitschakelen"
}
diff --git a/webview-ui/src/i18n/locales/nl/prompts.json b/webview-ui/src/i18n/locales/nl/prompts.json
index 6be3c1d761..321216fea7 100644
--- a/webview-ui/src/i18n/locales/nl/prompts.json
+++ b/webview-ui/src/i18n/locales/nl/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "API-configuratie",
- "select": "Selecteer welke API-configuratie voor deze modus gebruikt moet worden"
+ "select": "Selecteer welke API-configuratie voor deze modus gebruikt moet worden",
+ "pinnedGroupAriaLabel": "Vastgezette configuraties",
+ "allGroupAriaLabel": "Alle configuraties"
},
"tools": {
"title": "Beschikbare tools",
@@ -47,7 +49,8 @@
"title": "Modusspecifieke instructies (optioneel)",
"resetToDefault": "Terugzetten naar standaard",
"description": "Voeg gedragsrichtlijnen toe die specifiek zijn voor de modus {{modeName}}.",
- "loadFromFile": "Aangepaste instructies specifiek voor de {{mode}} modus kunnen ook worden geladen vanuit de map .roo/rules-{{slug}}/ in je werkruimte of vanuit de globale <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} en .clinerules-{{slug}} zijn verouderd en zullen binnenkort niet meer werken)."
+ "loadFromFile": "Aangepaste instructies specifiek voor de {{mode}} modus kunnen ook worden geladen vanuit de map .roo/rules-{{slug}}/ in je werkruimte of vanuit de globale <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} en .clinerules-{{slug}} zijn verouderd en zullen binnenkort niet meer werken).",
+ "loadFromFileAriaLabel": "Meer informatie over globale aangepaste instructies voor modi"
},
"exportMode": {
"title": "Modus exporteren",
@@ -69,7 +72,9 @@
"globalCustomInstructions": {
"title": "Aangepaste instructies voor alle modi",
"description": "Deze instructies gelden voor alle modi. Ze bieden een basisset aan gedragingen die kunnen worden uitgebreid met modusspecifieke instructies hieronder. <0>Meer informatie0>",
- "loadFromFile": "Instructies kunnen ook worden geladen vanuit de map .roo/rules/ in je werkruimte of vanuit de globale <0>.roo/rules/0> (.roorules en .clinerules zijn verouderd en zullen binnenkort niet meer werken)."
+ "loadFromFile": "Instructies kunnen ook worden geladen vanuit de map .roo/rules/ in je werkruimte of vanuit de globale <0>.roo/rules/0> (.roorules en .clinerules zijn verouderd en zullen binnenkort niet meer werken).",
+ "learnMoreAriaLabel": "Meer informatie over globale aangepaste instructies",
+ "loadFromFileAriaLabel": "Leer hoe je globale aangepaste instructies instelt"
},
"systemPrompt": {
"preview": "Systeemprompt bekijken",
@@ -199,5 +204,10 @@
"rulesFolder": "Deze modus heeft een regelmap op {{folderPath}} die ook wordt verwijderd.",
"confirm": "Verwijderen",
"cancel": "Annuleren"
+ },
+ "mcpServers": {
+ "restrict": "Beperken tot specifieke MCP-servers",
+ "noneConnected": "Geen MCP-servers verbonden",
+ "notConnected": "{{serverName}} (niet verbonden)"
}
}
diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json
index 76c0880328..2823b557da 100644
--- a/webview-ui/src/i18n/locales/nl/settings.json
+++ b/webview-ui/src/i18n/locales/nl/settings.json
@@ -6,7 +6,8 @@
"cancel": "Annuleren",
"select": "Selecteren",
"add": "Header toevoegen",
- "remove": "Verwijderen"
+ "remove": "Verwijderen",
+ "milliseconds": "{{value}} ms"
},
"search": {
"placeholder": "Instellingen zoeken...",
@@ -80,7 +81,9 @@
"detailTasksImported_other": "{{count}} van {{total}} taakgeschiedenissen geïmporteerd.",
"detailPreparing": "Importeren van Roo Code-geschiedenis voorbereiden.",
"progressAriaLabel": "Voortgang van import van Roo Code-geschiedenis"
- }
+ },
+ "version": "Versie: {{version}}",
+ "versionWithCommit": "Versie: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "Beheer je slash-commando's om snel aangepaste workflows en acties uit te voeren. Meer informatie",
@@ -685,6 +688,17 @@
"signInDescription": "Log in om Zoo Gateway met je account te gebruiken",
"authenticated": "Geauthenticeerd",
"authenticatedAs": "Geauthenticeerd als {{name}}"
+ },
+ "awsAuthMethod": "Authenticatiemethode",
+ "qwenCode": {
+ "oauthPathLabel": "Pad naar OAuth-referenties",
+ "oauthPathDescription": "Pad naar je Qwen OAuth-referentiebestand. Als je dit leeg laat, wordt {{defaultPath}} gebruikt.",
+ "description": "Qwen Code is een op OAuth gebaseerde API waarvoor authenticatie via de officiële Qwen-client nodig is. Je moet eerst OAuth-referenties instellen.",
+ "gettingStarted": "Om te beginnen:",
+ "step1": "1. Installeer de officiële Qwen-client",
+ "step2": "2. Authenticeer met je account",
+ "step3": "3. OAuth-referenties worden automatisch opgeslagen",
+ "setupInstructions": "Installatie-instructies"
}
},
"checkpoints": {
@@ -916,7 +930,8 @@
"refreshing": "Vernieuwen...",
"refreshSuccess": "Tools succesvol vernieuwd",
"refreshError": "Fout bij vernieuwen van tools",
- "toolParameters": "Parameters"
+ "toolParameters": "Parameters",
+ "required": "verplicht"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "Dynamisch denkwerk",
@@ -955,7 +970,12 @@
"freeRequests_other": "* Gratis tot {{count}} verzoeken per minuut. Daarna is de prijs afhankelijk van de promptgrootte.",
"pricingDetails": "Zie prijsdetails voor meer info.",
"billingEstimate": "* Facturering is een schatting - de exacte kosten hangen af van de promptgrootte."
- }
+ },
+ "tokensValue_one": "{{count, number}} token",
+ "tokensValue_other": "{{count, number}} tokens",
+ "pricePerMillionTokens": "{{price}} / 1M tokens",
+ "showMore": "Meer",
+ "showLess": "Minder"
},
"modelPicker": {
"automaticFetch": "De extensie haalt automatisch de nieuwste lijst met modellen op van {{serviceName}}. Weet je niet welk model je moet kiezen? Zoo Code werkt het beste met {{defaultModelId}}. Je kunt ook zoeken op 'free' voor gratis opties die nu beschikbaar zijn.",
@@ -1020,7 +1040,8 @@
"inputPrice": "bijv. 0.0001",
"outputPrice": "bijv. 0.0002",
"cacheWritePrice": "bijv. 0.00005"
- }
+ },
+ "defaultValue": "Standaard: {{value}}"
},
"defaults": {
"ollamaUrl": "Standaard: http://localhost:11434",
@@ -1049,7 +1070,9 @@
"input": "Invoer",
"output": "Uitvoer",
"cacheReads": "Cache leest"
- }
+ },
+ "label": "Serviceniveau",
+ "tooltip": "Voor snellere verwerking van API-verzoeken kun je het serviceniveau met prioriteitsverwerking proberen. Voor lagere prijzen met hogere latentie kun je het flex-verwerkingsniveau proberen."
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/nl/welcome.json b/webview-ui/src/i18n/locales/nl/welcome.json
index a39a49e719..789407e270 100644
--- a/webview-ui/src/i18n/locales/nl/welcome.json
+++ b/webview-ui/src/i18n/locales/nl/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Welkom bij Zoo Code!",
- "introduction": "Met een reeks ingebouwde en uitbreidbare Modi laat Zoo Code je plannen, ontwerpen, coderen, debuggen en je productiviteit verhogen als nooit tevoren."
+ "introduction": "Met een reeks ingebouwde en uitbreidbare Modi laat Zoo Code je plannen, ontwerpen, coderen, debuggen en je productiviteit verhogen als nooit tevoren.",
+ "logoAlt": "Roo-logo"
},
"providerSignup": {
"heading": "Kies je provider",
diff --git a/webview-ui/src/i18n/locales/pl/chat.json b/webview-ui/src/i18n/locales/pl/chat.json
index 52d73ccc77..1ba5779a3d 100644
--- a/webview-ui/src/i18n/locales/pl/chat.json
+++ b/webview-ui/src/i18n/locales/pl/chat.json
@@ -23,7 +23,8 @@
"header_one": "{{count}} plik zmieniony w tej rozmowie",
"header_few": "{{count}} pliki zmienione w tej rozmowie",
"header_many": "{{count}} plików zmienionych w tej rozmowie",
- "header_other": "{{count}} pliku zmienionego w tej rozmowie"
+ "header_other": "{{count}} pliku zmienionego w tej rozmowie",
+ "lineStatsAriaLabel": "Dodane wiersze: {{added}}, usunięte wiersze: {{removed}}"
},
"tokenProgress": {
"availableSpace": "Dostępne miejsce: {{amount}} tokenów",
@@ -234,7 +235,9 @@
"addToAllowed": "Dodaj do listy dozwolonych",
"removeFromAllowed": "Usuń z listy dozwolonych",
"addToDenied": "Dodaj do listy odrzuconych",
- "removeFromDenied": "Usuń z listy odrzuconych"
+ "removeFromDenied": "Usuń z listy odrzuconych",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "Kliknij, aby edytować wzorzec"
},
"text": {
"rooSaid": "Zoo powiedział"
@@ -294,7 +297,9 @@
"triggerLabel_few": "{{count}} automatycznie zatwierdzone",
"triggerLabel_many": "{{count}} automatycznie zatwierdzonych",
"triggerLabel_other": "{{count}} automatycznie zatwierdzonego",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "Włączone",
+ "toggleAriaLabel": "Przełącz automatyczne zatwierdzanie"
},
"reasoning": {
"thinking": "Myślenie",
@@ -375,7 +380,8 @@
"didSearch_few": "Znaleziono {{count}} wyniki",
"didSearch_many": "Znaleziono {{count}} wyników",
"didSearch_other": "Znaleziono {{count}} wyniku",
- "resultTooltip": "Wynik podobieństwa: {{score}} (kliknij, aby otworzyć plik)"
+ "resultTooltip": "Wynik podobieństwa: {{score}} (kliknij, aby otworzyć plik)",
+ "displayError": "Błąd wyświetlania wyników wyszukiwania."
},
"read-batch": {
"approve": {
@@ -427,7 +433,17 @@
"noResults": "Brak wyników",
"problems": "Problemy",
"terminal": "Terminal",
- "url": "Wklej adres URL, aby pobrać zawartość"
+ "url": "Wklej adres URL, aby pobrać zawartość",
+ "gitCommits": "Commity Git",
+ "gitCommitsDescription": "Przeszukaj historię repozytorium",
+ "workingChanges": "Bieżące zmiany",
+ "workingChangesDescription": "Bieżące niezatwierdzone zmiany",
+ "commit": "Commit {{hash}}",
+ "commitHashDescription": "Hash commita Git",
+ "addFile": "Dodaj plik",
+ "addFolder": "Dodaj folder",
+ "commands": "Polecenia",
+ "modes": "Tryby"
},
"queuedMessages": {
"title": "Wiadomości w kolejce",
@@ -440,7 +456,28 @@
"todo": {
"partial": "Ukończono {{completed}} z {{total}} zadań do wykonania",
"complete": "Ukończono {{total}} zadań do wykonania",
- "updated": "Zaktualizowano listę zadań do wykonania"
+ "updated": "Zaktualizowano listę zadań do wykonania",
+ "listUpdated": "Lista zadań zaktualizowana",
+ "userEdit": "Edycja użytkownika",
+ "userEdits": "Edycje użytkownika",
+ "edit": "Edytuj",
+ "done": "Gotowe",
+ "itemPlaceholder": "Wpisz zadanie",
+ "newItemPlaceholder": "Wpisz zadanie i naciśnij Enter, aby dodać",
+ "remove": "Usuń",
+ "add": "Dodaj",
+ "cancel": "Anuluj",
+ "addTodo": "+ Dodaj zadanie",
+ "status": {
+ "notStarted": "Nierozpoczęte",
+ "inProgress": "W toku",
+ "completed": "Ukończone"
+ },
+ "deleteDialog": {
+ "title": "Usuń zadanie",
+ "description": "Czy na pewno chcesz usunąć to zadanie?",
+ "confirm": "Usuń"
+ }
},
"tooManyTools": {
"title": "Włączono zbyt wiele narzędzi",
@@ -466,5 +503,27 @@
"title": "Dostawca nie jest już obsługiwany",
"message": "Ten dostawca nie jest już dostępny. Wybierz obsługiwanego dostawcę, aby kontynuować.",
"openSettings": "Otwórz ustawienia"
+ },
+ "zooCodeAuth": {
+ "signIn": "Zaloguj się do Zoo Code",
+ "goToDashboard": "Przejdź do panelu",
+ "signOut": "Wyloguj się",
+ "avatarAlt": "Awatar",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "Połączono"
+ },
+ "arguments": "Argumenty:",
+ "copyAsMarkdown": "Kopiuj jako Markdown",
+ "openInPreview": "Otwórz w podglądzie",
+ "codeAccordion": {
+ "userEdits": "Edycje użytkownika",
+ "consoleLogs": "Logi konsoli",
+ "openFileAriaLabel": "Otwórz plik: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_one": "{{count}} ukryty wiersz",
+ "hiddenLines_few": "{{count}} ukryte wiersze",
+ "hiddenLines_many": "{{count}} ukrytych wierszy",
+ "hiddenLines_other": "{{count}} ukrytego wiersza"
}
}
diff --git a/webview-ui/src/i18n/locales/pl/common.json b/webview-ui/src/i18n/locales/pl/common.json
index df63ca9368..9e00c4bb7a 100644
--- a/webview-ui/src/i18n/locales/pl/common.json
+++ b/webview-ui/src/i18n/locales/pl/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "Szukaj...",
- "no_results": "Nie znaleziono wyników"
+ "no_results": "Nie znaleziono wyników",
+ "close": "Zamknij",
+ "clear_search_aria_label": "Wyczyść wyszukiwanie"
},
"mermaid": {
"loading": "Generowanie diagramu mermaid...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "Obraz"
},
- "noData": "Brak danych obrazu"
+ "noData": "Brak danych obrazu",
+ "generatedAlt": "Obraz wygenerowany przez AI",
+ "thumbnailAlt": "Miniatura {{index}}"
},
"confirmation": {
"deleteMessage": "Usuń Wiadomość",
diff --git a/webview-ui/src/i18n/locales/pl/marketplace.json b/webview-ui/src/i18n/locales/pl/marketplace.json
index 3a4f3fb12e..caaee8453f 100644
--- a/webview-ui/src/i18n/locales/pl/marketplace.json
+++ b/webview-ui/src/i18n/locales/pl/marketplace.json
@@ -70,7 +70,8 @@
"goToModes": "Przejdź do ustawień Trybów",
"moreInfoMcp": "Zobacz dokumentację MCP {{name}}",
"validationRequired": "Podaj wartość dla {{paramName}}",
- "prerequisites": "Wymagania wstępne"
+ "prerequisites": "Wymagania wstępne",
+ "optional": "(opcjonalnie)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"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ć!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "Tryby"
}
}
diff --git a/webview-ui/src/i18n/locales/pl/mcp.json b/webview-ui/src/i18n/locales/pl/mcp.json
index eb77f2285d..5832e4f511 100644
--- a/webview-ui/src/i18n/locales/pl/mcp.json
+++ b/webview-ui/src/i18n/locales/pl/mcp.json
@@ -55,5 +55,10 @@
"running": "Uruchomione",
"completed": "Zakończone",
"error": "Błąd"
- }
+ },
+ "resource": {
+ "returns": "Zwraca",
+ "unknownMimeType": "Nieznany"
+ },
+ "toggleServerAriaLabel": "Włącz/wyłącz serwer {{serverName}}"
}
diff --git a/webview-ui/src/i18n/locales/pl/prompts.json b/webview-ui/src/i18n/locales/pl/prompts.json
index d0eb923f3d..7513a1b4fb 100644
--- a/webview-ui/src/i18n/locales/pl/prompts.json
+++ b/webview-ui/src/i18n/locales/pl/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "Konfiguracja API",
- "select": "Wybierz, której konfiguracji API użyć dla tego trybu"
+ "select": "Wybierz, której konfiguracji API użyć dla tego trybu",
+ "pinnedGroupAriaLabel": "Przypięte konfiguracje",
+ "allGroupAriaLabel": "Wszystkie konfiguracje"
},
"tools": {
"title": "Dostępne narzędzia",
@@ -47,7 +49,8 @@
"title": "Niestandardowe instrukcje dla trybu (opcjonalne)",
"resetToDefault": "Przywróć domyślne",
"description": "Dodaj wytyczne dotyczące zachowania specyficzne dla trybu {{modeName}}.",
- "loadFromFile": "Niestandardowe instrukcje specyficzne dla trybu {{mode}} można również załadować z folderu .roo/rules-{{slug}}/ w twoim obszarze roboczym lub z globalnego <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} i .clinerules-{{slug}} są przestarzałe i wkrótce przestaną działać)."
+ "loadFromFile": "Niestandardowe instrukcje specyficzne dla trybu {{mode}} można również załadować z folderu .roo/rules-{{slug}}/ w twoim obszarze roboczym lub z globalnego <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} i .clinerules-{{slug}} są przestarzałe i wkrótce przestaną działać).",
+ "loadFromFileAriaLabel": "Dowiedz się o globalnych instrukcjach niestandardowych dla trybów"
},
"exportMode": {
"title": "Eksportuj tryb",
@@ -69,7 +72,9 @@
"globalCustomInstructions": {
"title": "Niestandardowe instrukcje dla wszystkich trybów",
"description": "Te instrukcje dotyczą wszystkich trybów. Zapewniają podstawowy zestaw zachowań, które mogą być rozszerzone przez instrukcje specyficzne dla trybów poniżej. <0>Dowiedz się więcej0>",
- "loadFromFile": "Instrukcje można również załadować z folderu .roo/rules/ w twoim obszarze roboczym lub z globalnego <0>.roo/rules/0> (.roorules i .clinerules są przestarzałe i wkrótce przestaną działać)."
+ "loadFromFile": "Instrukcje można również załadować z folderu .roo/rules/ w twoim obszarze roboczym lub z globalnego <0>.roo/rules/0> (.roorules i .clinerules są przestarzałe i wkrótce przestaną działać).",
+ "learnMoreAriaLabel": "Dowiedz się więcej o globalnych instrukcjach niestandardowych",
+ "loadFromFileAriaLabel": "Dowiedz się, jak skonfigurować globalne instrukcje niestandardowe"
},
"systemPrompt": {
"preview": "Podgląd podpowiedzi systemowej",
@@ -199,5 +204,10 @@
"rulesFolder": "Ten tryb ma folder z regułami w {{folderPath}}, który również zostanie usunięty.",
"confirm": "Usuń",
"cancel": "Anuluj"
+ },
+ "mcpServers": {
+ "restrict": "Ogranicz do wybranych serwerów MCP",
+ "noneConnected": "Brak połączonych serwerów MCP",
+ "notConnected": "{{serverName}} (niepołączony)"
}
}
diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json
index fd09d548c5..bc52a5c297 100644
--- a/webview-ui/src/i18n/locales/pl/settings.json
+++ b/webview-ui/src/i18n/locales/pl/settings.json
@@ -6,7 +6,8 @@
"cancel": "Anuluj",
"select": "Wybierz",
"add": "Dodaj nagłówek",
- "remove": "Usuń"
+ "remove": "Usuń",
+ "milliseconds": "{{value}} ms"
},
"search": {
"placeholder": "Szukaj ustawień...",
@@ -82,7 +83,9 @@
"detailTasksImported_other": "Zaimportowano historii zadań: {{count}} z {{total}}.",
"detailPreparing": "Przygotowywanie importu historii Roo Code.",
"progressAriaLabel": "Postęp importu historii Roo Code"
- }
+ },
+ "version": "Wersja: {{version}}",
+ "versionWithCommit": "Wersja: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "Zarządzaj poleceniami slash, aby szybko wykonywać niestandardowe przepływy pracy i akcje. Dowiedz się więcej",
@@ -687,6 +690,17 @@
"signInDescription": "Zaloguj się, aby korzystać z Zoo Gateway ze swoim kontem",
"authenticated": "Uwierzytelniono",
"authenticatedAs": "Uwierzytelniono jako {{name}}"
+ },
+ "awsAuthMethod": "Metoda uwierzytelniania",
+ "qwenCode": {
+ "oauthPathLabel": "Ścieżka do poświadczeń OAuth",
+ "oauthPathDescription": "Ścieżka do pliku poświadczeń OAuth Qwen. Jeśli zostawisz ją pustą, zostanie użyta {{defaultPath}}.",
+ "description": "Qwen Code to API oparte na OAuth, które wymaga uwierzytelnienia przez oficjalnego klienta Qwen. Najpierw musisz skonfigurować poświadczenia OAuth.",
+ "gettingStarted": "Aby zacząć:",
+ "step1": "1. Zainstaluj oficjalnego klienta Qwen",
+ "step2": "2. Uwierzytelnij się swoim kontem",
+ "step3": "3. Poświadczenia OAuth zostaną zapisane automatycznie",
+ "setupInstructions": "Instrukcja konfiguracji"
}
},
"checkpoints": {
@@ -918,7 +932,8 @@
"refreshing": "Odświeżanie...",
"refreshSuccess": "Narzędzia odświeżone pomyślnie",
"refreshError": "Nie udało się odświeżyć narzędzi",
- "toolParameters": "Parametry"
+ "toolParameters": "Parametry",
+ "required": "wymagany"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "Dynamiczny wysiłek myślowy",
@@ -959,7 +974,14 @@
"freeRequests_other": "* Darmowe do {{count}} zapytania na minutę. Po tym, rozliczanie zależy od rozmiaru podpowiedzi.",
"pricingDetails": "Więcej informacji znajdziesz w szczegółach cennika.",
"billingEstimate": "* Rozliczenie jest szacunkowe - dokładny koszt zależy od rozmiaru podpowiedzi."
- }
+ },
+ "tokensValue_one": "{{count, number}} token",
+ "tokensValue_few": "{{count, number}} tokeny",
+ "tokensValue_many": "{{count, number}} tokenów",
+ "tokensValue_other": "{{count, number}} tokena",
+ "pricePerMillionTokens": "{{price}} / 1 mln tokenów",
+ "showMore": "Więcej",
+ "showLess": "Mniej"
},
"modelPicker": {
"automaticFetch": "Rozszerzenie automatycznie pobiera najnowszą listę modeli dostępnych w {{serviceName}}. Jeśli nie jesteś pewien, który model wybrać, Zoo Code działa najlepiej z {{defaultModelId}}. Możesz również wyszukać \"free\", aby znaleźć obecnie dostępne opcje bezpłatne.",
@@ -1024,7 +1046,8 @@
"inputPrice": "np. 0.0001",
"outputPrice": "np. 0.0002",
"cacheWritePrice": "np. 0.00005"
- }
+ },
+ "defaultValue": "Domyślnie: {{value}}"
},
"defaults": {
"ollamaUrl": "Domyślnie: http://localhost:11434",
@@ -1053,7 +1076,9 @@
"input": "Wejście",
"output": "Wyjście",
"cacheReads": "Odczyty z pamięci podręcznej"
- }
+ },
+ "label": "Poziom usług",
+ "tooltip": "Aby szybciej przetwarzać żądania API, wypróbuj poziom usług z priorytetowym przetwarzaniem. Aby płacić mniej kosztem większych opóźnień, wypróbuj poziom przetwarzania flex."
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/pl/welcome.json b/webview-ui/src/i18n/locales/pl/welcome.json
index 64b7964927..9e43a722bd 100644
--- a/webview-ui/src/i18n/locales/pl/welcome.json
+++ b/webview-ui/src/i18n/locales/pl/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Witaj w Zoo Code!",
- "introduction": "Dzięki szerokiej gamie wbudowanych i rozszerzalnych Trybów, Zoo Code pozwala planować, projektować architekturę, kodować, debugować i zwiększać produktywność jak nigdy dotąd."
+ "introduction": "Dzięki szerokiej gamie wbudowanych i rozszerzalnych Trybów, Zoo Code pozwala planować, projektować architekturę, kodować, debugować i zwiększać produktywność jak nigdy dotąd.",
+ "logoAlt": "Logo Roo"
},
"providerSignup": {
"heading": "Wybierz swojego dostawcę",
diff --git a/webview-ui/src/i18n/locales/pt-BR/chat.json b/webview-ui/src/i18n/locales/pt-BR/chat.json
index 52391043ed..942f1e9b92 100644
--- a/webview-ui/src/i18n/locales/pt-BR/chat.json
+++ b/webview-ui/src/i18n/locales/pt-BR/chat.json
@@ -22,7 +22,8 @@
"fileChangesInConversation": {
"header_one": "{{count}} arquivo alterado nesta conversa",
"header_many": "{{count}} arquivos alterados nesta conversa",
- "header_other": "{{count}} arquivos alterados nesta conversa"
+ "header_other": "{{count}} arquivos alterados nesta conversa",
+ "lineStatsAriaLabel": "Linhas adicionadas: {{added}}, linhas removidas: {{removed}}"
},
"tokenProgress": {
"availableSpace": "Espaço disponível: {{amount}} tokens",
@@ -233,7 +234,9 @@
"addToAllowed": "Adicionar à lista de permitidos",
"removeFromAllowed": "Remover da lista de permitidos",
"addToDenied": "Adicionar à lista de negados",
- "removeFromDenied": "Remover da lista de negados"
+ "removeFromDenied": "Remover da lista de negados",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "Clique para editar o padrão"
},
"text": {
"rooSaid": "Zoo disse"
@@ -292,7 +295,9 @@
"triggerLabel_one": "{{count}} aprovado automaticamente",
"triggerLabel_many": "{{count}} aprovados automaticamente",
"triggerLabel_other": "{{count}} aprovados automaticamente",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "Ativado",
+ "toggleAriaLabel": "Alternar aprovação automática"
},
"reasoning": {
"thinking": "Pensando",
@@ -370,7 +375,8 @@
"didSearch_one": "Encontrado {{count}} resultado",
"didSearch_many": "Encontrados {{count}} resultados",
"didSearch_other": "Encontrados {{count}} resultados",
- "resultTooltip": "Pontuação de similaridade: {{score}} (clique para abrir o arquivo)"
+ "resultTooltip": "Pontuação de similaridade: {{score}} (clique para abrir o arquivo)",
+ "displayError": "Erro ao exibir os resultados da pesquisa."
},
"read-batch": {
"approve": {
@@ -422,7 +428,17 @@
"noResults": "Nenhum resultado",
"problems": "Problemas",
"terminal": "Terminal",
- "url": "Cole o URL para buscar o conteúdo"
+ "url": "Cole o URL para buscar o conteúdo",
+ "gitCommits": "Commits do Git",
+ "gitCommitsDescription": "Pesquisar no histórico do repositório",
+ "workingChanges": "Alterações em andamento",
+ "workingChangesDescription": "Alterações atuais sem commit",
+ "commit": "Commit {{hash}}",
+ "commitHashDescription": "Hash do commit do Git",
+ "addFile": "Adicionar arquivo",
+ "addFolder": "Adicionar pasta",
+ "commands": "Comandos",
+ "modes": "Modos"
},
"queuedMessages": {
"title": "Mensagens na fila",
@@ -435,7 +451,28 @@
"todo": {
"partial": "{{completed}} de {{total}} tarefas concluídas",
"complete": "{{total}} tarefas concluídas",
- "updated": "A lista de tarefas foi atualizada"
+ "updated": "A lista de tarefas foi atualizada",
+ "listUpdated": "Lista de tarefas atualizada",
+ "userEdit": "Edição do usuário",
+ "userEdits": "Edições do usuário",
+ "edit": "Editar",
+ "done": "Concluído",
+ "itemPlaceholder": "Digite uma tarefa",
+ "newItemPlaceholder": "Digite uma tarefa e pressione Enter para adicionar",
+ "remove": "Remover",
+ "add": "Adicionar",
+ "cancel": "Cancelar",
+ "addTodo": "+ Adicionar tarefa",
+ "status": {
+ "notStarted": "Não iniciada",
+ "inProgress": "Em andamento",
+ "completed": "Concluída"
+ },
+ "deleteDialog": {
+ "title": "Excluir tarefa",
+ "description": "Tem certeza de que deseja excluir esta tarefa?",
+ "confirm": "Excluir"
+ }
},
"tooManyTools": {
"title": "Muitas ferramentas habilitadas",
@@ -459,5 +496,26 @@
"title": "Provedor não é mais suportado",
"message": "Este provedor não está mais disponível. Selecione um provedor compatível para continuar.",
"openSettings": "Abrir configurações"
+ },
+ "zooCodeAuth": {
+ "signIn": "Entrar no Zoo Code",
+ "goToDashboard": "Ir para o painel",
+ "signOut": "Sair",
+ "avatarAlt": "Avatar",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "Conectado"
+ },
+ "arguments": "Argumentos:",
+ "copyAsMarkdown": "Copiar como Markdown",
+ "openInPreview": "Abrir na pré-visualização",
+ "codeAccordion": {
+ "userEdits": "Edições do usuário",
+ "consoleLogs": "Logs do console",
+ "openFileAriaLabel": "Abrir arquivo: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_one": "{{count}} linha oculta",
+ "hiddenLines_many": "{{count}} de linhas ocultas",
+ "hiddenLines_other": "{{count}} linhas ocultas"
}
}
diff --git a/webview-ui/src/i18n/locales/pt-BR/common.json b/webview-ui/src/i18n/locales/pt-BR/common.json
index 679301340b..bf03df5359 100644
--- a/webview-ui/src/i18n/locales/pt-BR/common.json
+++ b/webview-ui/src/i18n/locales/pt-BR/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "Pesquisar...",
- "no_results": "Nenhum resultado encontrado"
+ "no_results": "Nenhum resultado encontrado",
+ "close": "Fechar",
+ "clear_search_aria_label": "Limpar pesquisa"
},
"mermaid": {
"loading": "Gerando diagrama mermaid...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "Imagem"
},
- "noData": "Nenhum dado de imagem"
+ "noData": "Nenhum dado de imagem",
+ "generatedAlt": "Imagem gerada por IA",
+ "thumbnailAlt": "Miniatura {{index}}"
},
"confirmation": {
"deleteMessage": "Excluir Mensagem",
diff --git a/webview-ui/src/i18n/locales/pt-BR/marketplace.json b/webview-ui/src/i18n/locales/pt-BR/marketplace.json
index 9931ba514f..d0b3024b81 100644
--- a/webview-ui/src/i18n/locales/pt-BR/marketplace.json
+++ b/webview-ui/src/i18n/locales/pt-BR/marketplace.json
@@ -70,7 +70,8 @@
"goToModes": "Ir para configurações de Modos",
"moreInfoMcp": "Ver documentação MCP do {{name}}",
"validationRequired": "Por favor, forneça um valor para {{paramName}}",
- "prerequisites": "Pré-requisitos"
+ "prerequisites": "Pré-requisitos",
+ "optional": "(opcional)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"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!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "Modos"
}
}
diff --git a/webview-ui/src/i18n/locales/pt-BR/mcp.json b/webview-ui/src/i18n/locales/pt-BR/mcp.json
index aaec5f6bc1..2b032d4e6d 100644
--- a/webview-ui/src/i18n/locales/pt-BR/mcp.json
+++ b/webview-ui/src/i18n/locales/pt-BR/mcp.json
@@ -55,5 +55,10 @@
"running": "Em execução",
"completed": "Concluído",
"error": "Erro"
- }
+ },
+ "resource": {
+ "returns": "Retorna",
+ "unknownMimeType": "Desconhecido"
+ },
+ "toggleServerAriaLabel": "Ativar/desativar o servidor {{serverName}}"
}
diff --git a/webview-ui/src/i18n/locales/pt-BR/prompts.json b/webview-ui/src/i18n/locales/pt-BR/prompts.json
index 461927c886..61bdd36e7d 100644
--- a/webview-ui/src/i18n/locales/pt-BR/prompts.json
+++ b/webview-ui/src/i18n/locales/pt-BR/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "Configuração de API",
- "select": "Selecione qual configuração de API usar para este modo"
+ "select": "Selecione qual configuração de API usar para este modo",
+ "pinnedGroupAriaLabel": "Configurações fixadas",
+ "allGroupAriaLabel": "Todas as configurações"
},
"tools": {
"title": "Ferramentas disponíveis",
@@ -47,7 +49,8 @@
"title": "Instruções personalizadas específicas do modo (opcional)",
"resetToDefault": "Restaurar para padrão",
"description": "Adicione diretrizes comportamentais específicas para o modo {{modeName}}.",
- "loadFromFile": "Instruções personalizadas específicas para o modo {{mode}} também podem ser carregadas da pasta .roo/rules-{{slug}}/ no seu espaço de trabalho ou do global <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} e .clinerules-{{slug}} estão obsoletos e deixarão de funcionar em breve)."
+ "loadFromFile": "Instruções personalizadas específicas para o modo {{mode}} também podem ser carregadas da pasta .roo/rules-{{slug}}/ no seu espaço de trabalho ou do global <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} e .clinerules-{{slug}} estão obsoletos e deixarão de funcionar em breve).",
+ "loadFromFileAriaLabel": "Saiba mais sobre as instruções personalizadas globais para modos"
},
"exportMode": {
"title": "Exportar modo",
@@ -69,7 +72,9 @@
"globalCustomInstructions": {
"title": "Instruções personalizadas para todos os modos",
"description": "Estas instruções se aplicam a todos os modos. Elas fornecem um conjunto base de comportamentos que podem ser aprimorados por instruções específicas do modo abaixo. <0>Saiba mais0>",
- "loadFromFile": "Instruções também podem ser carregadas da pasta .roo/rules/ no seu espaço de trabalho ou do global <0>.roo/rules/0> (.roorules e .clinerules estão obsoletos e deixarão de funcionar em breve)."
+ "loadFromFile": "Instruções também podem ser carregadas da pasta .roo/rules/ no seu espaço de trabalho ou do global <0>.roo/rules/0> (.roorules e .clinerules estão obsoletos e deixarão de funcionar em breve).",
+ "learnMoreAriaLabel": "Saiba mais sobre as instruções personalizadas globais",
+ "loadFromFileAriaLabel": "Saiba como configurar instruções personalizadas globais"
},
"systemPrompt": {
"preview": "Visualizar prompt do sistema",
@@ -199,5 +204,10 @@
"rulesFolder": "Este modo tem uma pasta de regras em {{folderPath}} que também será excluída.",
"confirm": "Excluir",
"cancel": "Cancelar"
+ },
+ "mcpServers": {
+ "restrict": "Restringir a servidores MCP específicos",
+ "noneConnected": "Nenhum servidor MCP conectado",
+ "notConnected": "{{serverName}} (não conectado)"
}
}
diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json
index 47256c7d6b..f07b036233 100644
--- a/webview-ui/src/i18n/locales/pt-BR/settings.json
+++ b/webview-ui/src/i18n/locales/pt-BR/settings.json
@@ -6,7 +6,8 @@
"cancel": "Cancelar",
"select": "Selecionar",
"add": "Adicionar cabeçalho",
- "remove": "Remover"
+ "remove": "Remover",
+ "milliseconds": "{{value}} ms"
},
"search": {
"placeholder": "Pesquisar configurações...",
@@ -81,7 +82,9 @@
"detailTasksImported_other": "{{count}} de {{total}} históricos de tarefas importados.",
"detailPreparing": "Preparando a importação do histórico do Roo Code.",
"progressAriaLabel": "Progresso da importação do histórico do Roo Code"
- }
+ },
+ "version": "Versão: {{version}}",
+ "versionWithCommit": "Versão: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "Gerencie seus comandos de barra para executar rapidamente fluxos de trabalho e ações personalizadas. Saiba mais",
@@ -686,6 +689,17 @@
"signInDescription": "Entre para usar o Zoo Gateway com sua conta",
"authenticated": "Autenticado",
"authenticatedAs": "Autenticado como {{name}}"
+ },
+ "awsAuthMethod": "Método de autenticação",
+ "qwenCode": {
+ "oauthPathLabel": "Caminho das credenciais OAuth",
+ "oauthPathDescription": "Caminho para o seu arquivo de credenciais OAuth do Qwen. Se deixar em branco, será usado {{defaultPath}}.",
+ "description": "O Qwen Code é uma API baseada em OAuth que exige autenticação pelo cliente oficial do Qwen. Primeiro, você precisa configurar as credenciais OAuth.",
+ "gettingStarted": "Para começar:",
+ "step1": "1. Instale o cliente oficial do Qwen",
+ "step2": "2. Autentique-se com sua conta",
+ "step3": "3. As credenciais OAuth serão salvas automaticamente",
+ "setupInstructions": "Instruções de configuração"
}
},
"checkpoints": {
@@ -917,7 +931,8 @@
"refreshing": "Atualizando...",
"refreshSuccess": "Ferramentas atualizadas com sucesso",
"refreshError": "Falha ao atualizar ferramentas",
- "toolParameters": "Parâmetros"
+ "toolParameters": "Parâmetros",
+ "required": "obrigatório"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "Esforço de pensamento dinâmico",
@@ -957,7 +972,13 @@
"freeRequests_other": "* Gratuito até {{count}} requisições por minuto. Depois disso, a cobrança depende do tamanho do prompt.",
"pricingDetails": "Para mais informações, consulte os detalhes de preços.",
"billingEstimate": "* A cobrança é uma estimativa - o custo exato depende do tamanho do prompt."
- }
+ },
+ "tokensValue_one": "{{count, number}} token",
+ "tokensValue_many": "{{count, number}} de tokens",
+ "tokensValue_other": "{{count, number}} tokens",
+ "pricePerMillionTokens": "{{price}} / 1M de tokens",
+ "showMore": "Mais",
+ "showLess": "Menos"
},
"modelPicker": {
"automaticFetch": "A extensão busca automaticamente a lista mais recente de modelos disponíveis em {{serviceName}}. Se você não tem certeza sobre qual modelo escolher, o Zoo Code funciona melhor com {{defaultModelId}}. Você também pode pesquisar por \"free\" para encontrar opções gratuitas atualmente disponíveis.",
@@ -1022,7 +1043,8 @@
"inputPrice": "ex: 0.0001",
"outputPrice": "ex: 0.0002",
"cacheWritePrice": "ex: 0.00005"
- }
+ },
+ "defaultValue": "Padrão: {{value}}"
},
"defaults": {
"ollamaUrl": "Padrão: http://localhost:11434",
@@ -1051,7 +1073,9 @@
"input": "Entrada",
"output": "Saída",
"cacheReads": "Leituras de cache"
- }
+ },
+ "label": "Nível de serviço",
+ "tooltip": "Para um processamento mais rápido das solicitações à API, experimente o nível de serviço de processamento prioritário. Para preços mais baixos com maior latência, experimente o nível de processamento flex."
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/pt-BR/welcome.json b/webview-ui/src/i18n/locales/pt-BR/welcome.json
index bb4f6ad22b..1545dade91 100644
--- a/webview-ui/src/i18n/locales/pt-BR/welcome.json
+++ b/webview-ui/src/i18n/locales/pt-BR/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Bem-vindo ao Zoo Code!",
- "introduction": "Com uma variedade de Modos integrados e extensíveis, o Zoo Code permite que você planeje, arquitete, codifique, depure e aumente sua produtividade como nunca antes."
+ "introduction": "Com uma variedade de Modos integrados e extensíveis, o Zoo Code permite que você planeje, arquitete, codifique, depure e aumente sua produtividade como nunca antes.",
+ "logoAlt": "Logotipo do Roo"
},
"providerSignup": {
"heading": "Escolha seu provedor",
diff --git a/webview-ui/src/i18n/locales/ru/chat.json b/webview-ui/src/i18n/locales/ru/chat.json
index 3c7c59860f..46f706329c 100644
--- a/webview-ui/src/i18n/locales/ru/chat.json
+++ b/webview-ui/src/i18n/locales/ru/chat.json
@@ -23,7 +23,8 @@
"header_one": "{{count}} файл изменен в этом разговоре",
"header_few": "{{count}} файла изменено в этом разговоре",
"header_many": "{{count}} файлов изменено в этом разговоре",
- "header_other": "{{count}} файла изменено в этом разговоре"
+ "header_other": "{{count}} файла изменено в этом разговоре",
+ "lineStatsAriaLabel": "Добавлено строк: {{added}}, удалено строк: {{removed}}"
},
"retry": {
"title": "Повторить",
@@ -230,7 +231,9 @@
"addToAllowed": "Добавить в список разрешенных",
"removeFromAllowed": "Удалить из списка разрешенных",
"addToDenied": "Добавить в список запрещенных",
- "removeFromDenied": "Удалить из списка запрещенных"
+ "removeFromDenied": "Удалить из списка запрещенных",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "Нажмите, чтобы изменить шаблон"
},
"text": {
"rooSaid": "Zoo сказал"
@@ -295,7 +298,9 @@
"triggerLabel_few": "{{count}} авто-утвержденных",
"triggerLabel_many": "{{count}} авто-утвержденных",
"triggerLabel_other": "{{count}} авто-утвержденных",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "Включено",
+ "toggleAriaLabel": "Переключить авто-одобрение"
},
"announcement": {
"title": "Выпущен Zoo Code {{version}}",
@@ -376,7 +381,8 @@
"didSearch_few": "Найдено {{count}} результата",
"didSearch_many": "Найдено {{count}} результатов",
"didSearch_other": "Найдено {{count}} результата",
- "resultTooltip": "Оценка схожести: {{score}} (нажмите, чтобы открыть файл)"
+ "resultTooltip": "Оценка схожести: {{score}} (нажмите, чтобы открыть файл)",
+ "displayError": "Ошибка отображения результатов поиска."
},
"read-batch": {
"approve": {
@@ -428,7 +434,17 @@
"noResults": "Нет результатов",
"problems": "Проблемы",
"terminal": "Терминал",
- "url": "Вставьте URL для получения содержимого"
+ "url": "Вставьте URL для получения содержимого",
+ "gitCommits": "Коммиты Git",
+ "gitCommitsDescription": "Поиск по истории репозитория",
+ "workingChanges": "Рабочие изменения",
+ "workingChangesDescription": "Текущие незакоммиченные изменения",
+ "commit": "Коммит {{hash}}",
+ "commitHashDescription": "Хеш коммита Git",
+ "addFile": "Добавить файл",
+ "addFolder": "Добавить папку",
+ "commands": "Команды",
+ "modes": "Режимы"
},
"queuedMessages": {
"title": "Сообщения в очереди",
@@ -441,7 +457,28 @@
"todo": {
"partial": "{{completed}} из {{total}} задач выполнено",
"complete": "{{total}} задач выполнено",
- "updated": "Список задач обновлен"
+ "updated": "Список задач обновлен",
+ "listUpdated": "Список задач обновлён",
+ "userEdit": "Правка пользователя",
+ "userEdits": "Правки пользователя",
+ "edit": "Изменить",
+ "done": "Готово",
+ "itemPlaceholder": "Введите задачу",
+ "newItemPlaceholder": "Введите задачу и нажмите Enter, чтобы добавить",
+ "remove": "Удалить",
+ "add": "Добавить",
+ "cancel": "Отмена",
+ "addTodo": "+ Добавить задачу",
+ "status": {
+ "notStarted": "Не начата",
+ "inProgress": "В работе",
+ "completed": "Выполнена"
+ },
+ "deleteDialog": {
+ "title": "Удалить задачу",
+ "description": "Точно удалить эту задачу?",
+ "confirm": "Удалить"
+ }
},
"tooManyTools": {
"title": "Включено слишком много инструментов",
@@ -467,5 +504,27 @@
"title": "Провайдер больше не поддерживается",
"message": "Этот провайдер больше недоступен. Выберите поддерживаемого провайдера, чтобы продолжить.",
"openSettings": "Открыть настройки"
+ },
+ "zooCodeAuth": {
+ "signIn": "Войти в Zoo Code",
+ "goToDashboard": "Открыть панель управления",
+ "signOut": "Выйти",
+ "avatarAlt": "Аватар",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "Подключено"
+ },
+ "arguments": "Аргументы:",
+ "copyAsMarkdown": "Копировать как Markdown",
+ "openInPreview": "Открыть в предпросмотре",
+ "codeAccordion": {
+ "userEdits": "Правки пользователя",
+ "consoleLogs": "Журналы консоли",
+ "openFileAriaLabel": "Открыть файл: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_one": "{{count}} скрытая строка",
+ "hiddenLines_few": "{{count}} скрытые строки",
+ "hiddenLines_many": "{{count}} скрытых строк",
+ "hiddenLines_other": "{{count}} скрытой строки"
}
}
diff --git a/webview-ui/src/i18n/locales/ru/common.json b/webview-ui/src/i18n/locales/ru/common.json
index d03708d290..1f687398b8 100644
--- a/webview-ui/src/i18n/locales/ru/common.json
+++ b/webview-ui/src/i18n/locales/ru/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "Поиск...",
- "no_results": "Результатов не найдено"
+ "no_results": "Результатов не найдено",
+ "close": "Закрыть",
+ "clear_search_aria_label": "Очистить поиск"
},
"mermaid": {
"loading": "Создание диаграммы mermaid...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "Изображение"
},
- "noData": "Нет данных изображения"
+ "noData": "Нет данных изображения",
+ "generatedAlt": "Изображение, созданное ИИ",
+ "thumbnailAlt": "Миниатюра {{index}}"
},
"confirmation": {
"deleteMessage": "Удалить Сообщение",
diff --git a/webview-ui/src/i18n/locales/ru/marketplace.json b/webview-ui/src/i18n/locales/ru/marketplace.json
index f09e26c782..03c7344b91 100644
--- a/webview-ui/src/i18n/locales/ru/marketplace.json
+++ b/webview-ui/src/i18n/locales/ru/marketplace.json
@@ -70,7 +70,8 @@
"goToModes": "Перейти в настройки Режимов",
"moreInfoMcp": "Просмотреть документацию MCP {{name}}",
"validationRequired": "Пожалуйста, укажите значение для {{paramName}}",
- "prerequisites": "Предварительные требования"
+ "prerequisites": "Предварительные требования",
+ "optional": "(необязательно)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"footer": {
"issueText": "Нашли проблему с элементом marketplace или есть предложения для новых элементов? <0>Откройте issue на GitHub0>, чтобы сообщить нам!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "Режимы"
}
}
diff --git a/webview-ui/src/i18n/locales/ru/mcp.json b/webview-ui/src/i18n/locales/ru/mcp.json
index 4b6edc7fd7..3840143daa 100644
--- a/webview-ui/src/i18n/locales/ru/mcp.json
+++ b/webview-ui/src/i18n/locales/ru/mcp.json
@@ -55,5 +55,10 @@
"running": "Выполняется",
"completed": "Завершено",
"error": "Ошибка"
- }
+ },
+ "resource": {
+ "returns": "Возвращает",
+ "unknownMimeType": "Неизвестно"
+ },
+ "toggleServerAriaLabel": "Включить/выключить сервер {{serverName}}"
}
diff --git a/webview-ui/src/i18n/locales/ru/prompts.json b/webview-ui/src/i18n/locales/ru/prompts.json
index f651959cf5..9119a5f09b 100644
--- a/webview-ui/src/i18n/locales/ru/prompts.json
+++ b/webview-ui/src/i18n/locales/ru/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "Конфигурация API",
- "select": "Выберите, какую конфигурацию API использовать для этого режима"
+ "select": "Выберите, какую конфигурацию API использовать для этого режима",
+ "pinnedGroupAriaLabel": "Закреплённые конфигурации",
+ "allGroupAriaLabel": "Все конфигурации"
},
"tools": {
"title": "Доступные инструменты",
@@ -47,7 +49,8 @@
"title": "Пользовательские инструкции для режима (необязательно)",
"resetToDefault": "Сбросить по умолчанию",
"description": "Добавьте рекомендации по поведению, специфичные для режима {{modeName}}.",
- "loadFromFile": "Пользовательские инструкции для режима {{mode}} также можно загрузить из папки .roo/rules-{{slug}}/ в вашем рабочем пространстве или из глобальной <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} и .clinerules-{{slug}} устарели и скоро перестанут работать)."
+ "loadFromFile": "Пользовательские инструкции для режима {{mode}} также можно загрузить из папки .roo/rules-{{slug}}/ в вашем рабочем пространстве или из глобальной <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} и .clinerules-{{slug}} устарели и скоро перестанут работать).",
+ "loadFromFileAriaLabel": "Подробнее о глобальных пользовательских инструкциях для режимов"
},
"exportMode": {
"title": "Экспортировать режим",
@@ -56,7 +59,9 @@
"globalCustomInstructions": {
"title": "Пользовательские инструкции для всех режимов",
"description": "Эти инструкции применяются ко всем режимам. Они задают базовое поведение, которое можно расширить с помощью инструкций ниже. <0>Узнать больше0>",
- "loadFromFile": "Инструкции также можно загрузить из папки .roo/rules/ в вашем рабочем пространстве или из глобальной <0>.roo/rules/0> (.roorules и .clinerules устарели и скоро перестанут работать)."
+ "loadFromFile": "Инструкции также можно загрузить из папки .roo/rules/ в вашем рабочем пространстве или из глобальной <0>.roo/rules/0> (.roorules и .clinerules устарели и скоро перестанут работать).",
+ "learnMoreAriaLabel": "Подробнее о глобальных пользовательских инструкциях",
+ "loadFromFileAriaLabel": "Как настроить глобальные пользовательские инструкции"
},
"importMode": {
"selectLevel": "Выберите, куда импортировать этот режим:",
@@ -199,5 +204,10 @@
"rulesFolder": "У этого режима есть папка правил по адресу {{folderPath}}, которая также будет удалена.",
"confirm": "Удалить",
"cancel": "Отмена"
+ },
+ "mcpServers": {
+ "restrict": "Ограничить определёнными MCP-серверами",
+ "noneConnected": "Нет подключённых MCP-серверов",
+ "notConnected": "{{serverName}} (не подключён)"
}
}
diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json
index 7bd2cd6c3e..826bbb8451 100644
--- a/webview-ui/src/i18n/locales/ru/settings.json
+++ b/webview-ui/src/i18n/locales/ru/settings.json
@@ -6,7 +6,8 @@
"cancel": "Отмена",
"select": "Выбрать",
"add": "Добавить заголовок",
- "remove": "Удалить"
+ "remove": "Удалить",
+ "milliseconds": "{{value}} мс"
},
"search": {
"placeholder": "Поиск параметров...",
@@ -82,7 +83,9 @@
"detailTasksImported_other": "Импортировано историй задач: {{count}} из {{total}}.",
"detailPreparing": "Подготовка импорта истории Roo Code.",
"progressAriaLabel": "Ход импорта истории Roo Code"
- }
+ },
+ "version": "Версия: {{version}}",
+ "versionWithCommit": "Версия: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "Управляйте своими слэш-командами для быстрого выполнения пользовательских рабочих процессов и действий. Узнать больше",
@@ -687,6 +690,17 @@
"signInDescription": "Войдите, чтобы использовать Zoo Gateway с вашей учетной записью",
"authenticated": "Аутентифицирован",
"authenticatedAs": "Аутентифицирован как {{name}}"
+ },
+ "awsAuthMethod": "Способ аутентификации",
+ "qwenCode": {
+ "oauthPathLabel": "Путь к учётным данным OAuth",
+ "oauthPathDescription": "Путь к файлу учётных данных Qwen OAuth. Если оставить поле пустым, используется {{defaultPath}}.",
+ "description": "Qwen Code — это API на основе OAuth, которому нужна аутентификация через официальный клиент Qwen. Сначала настройте учётные данные OAuth.",
+ "gettingStarted": "Чтобы начать:",
+ "step1": "1. Установите официальный клиент Qwen",
+ "step2": "2. Войдите в свою учётную запись",
+ "step3": "3. Учётные данные OAuth сохранятся автоматически",
+ "setupInstructions": "Инструкция по настройке"
}
},
"checkpoints": {
@@ -918,7 +932,8 @@
"refreshing": "Обновление...",
"refreshSuccess": "Инструменты успешно обновлены",
"refreshError": "Не удалось обновить инструменты",
- "toolParameters": "Параметры"
+ "toolParameters": "Параметры",
+ "required": "обязательный"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "Динамическое усилие размышления",
@@ -959,7 +974,14 @@
"freeRequests_other": "* Бесплатно до {{count}} запроса в минуту. Далее тарификация зависит от размера подсказки.",
"pricingDetails": "Подробнее о ценах.",
"billingEstimate": "* Счёт — приблизительный, точная стоимость зависит от размера подсказки."
- }
+ },
+ "tokensValue_one": "{{count, number}} токен",
+ "tokensValue_few": "{{count, number}} токена",
+ "tokensValue_many": "{{count, number}} токенов",
+ "tokensValue_other": "{{count, number}} токена",
+ "pricePerMillionTokens": "{{price}} / 1 млн токенов",
+ "showMore": "Ещё",
+ "showLess": "Свернуть"
},
"modelPicker": {
"automaticFetch": "Расширение автоматически получает актуальный список моделей на {{serviceName}}. Если не уверены, что выбрать, Zoo Code лучше всего работает с {{defaultModelId}}. Также попробуйте поискать \"free\" для бесплатных вариантов.",
@@ -1024,7 +1046,8 @@
"inputPrice": "например, 0.0001",
"outputPrice": "например, 0.0002",
"cacheWritePrice": "например, 0.00005"
- }
+ },
+ "defaultValue": "По умолчанию: {{value}}"
},
"defaults": {
"ollamaUrl": "По умолчанию: http://localhost:11434",
@@ -1053,7 +1076,9 @@
"input": "Вход",
"output": "Выход",
"cacheReads": "Чтения из кэша"
- }
+ },
+ "label": "Уровень обслуживания",
+ "tooltip": "Для более быстрой обработки API-запросов попробуйте уровень обслуживания с приоритетной обработкой. Чтобы платить меньше ценой большей задержки, попробуйте уровень гибкой обработки (Flex)."
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/ru/welcome.json b/webview-ui/src/i18n/locales/ru/welcome.json
index 6a81bfd69f..27e8aea1d6 100644
--- a/webview-ui/src/i18n/locales/ru/welcome.json
+++ b/webview-ui/src/i18n/locales/ru/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Добро пожаловать в Zoo Code!",
- "introduction": "С набором встроенных и расширяемых Режимов, Zoo Code позволяет вам планировать, проектировать, писать код, отлаживать и повышать продуктивность как никогда раньше."
+ "introduction": "С набором встроенных и расширяемых Режимов, Zoo Code позволяет вам планировать, проектировать, писать код, отлаживать и повышать продуктивность как никогда раньше.",
+ "logoAlt": "Логотип Roo"
},
"providerSignup": {
"heading": "Выберите поставщика услуг",
diff --git a/webview-ui/src/i18n/locales/tr/chat.json b/webview-ui/src/i18n/locales/tr/chat.json
index f1abda010e..a476c7f549 100644
--- a/webview-ui/src/i18n/locales/tr/chat.json
+++ b/webview-ui/src/i18n/locales/tr/chat.json
@@ -21,7 +21,8 @@
"pin": "Sabitle",
"fileChangesInConversation": {
"header_one": "Bu sohbette {{count}} dosya değiştirildi",
- "header_other": "Bu sohbette {{count}} dosya değiştirildi"
+ "header_other": "Bu sohbette {{count}} dosya değiştirildi",
+ "lineStatsAriaLabel": "Eklenen satır: {{added}}, silinen satır: {{removed}}"
},
"tokenProgress": {
"availableSpace": "Kullanılabilir alan: {{amount}} token",
@@ -233,7 +234,9 @@
"addToAllowed": "İzin verilenler listesine ekle",
"removeFromAllowed": "İzin verilenler listesinden kaldır",
"addToDenied": "Reddedilenler listesine ekle",
- "removeFromDenied": "Reddedilenler listesinden kaldır"
+ "removeFromDenied": "Reddedilenler listesinden kaldır",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "Kalıbı düzenlemek için tıkla"
},
"text": {
"rooSaid": "Zoo dedi"
@@ -291,7 +294,9 @@
"triggerLabel_zero": "0 otomatik onaylandı",
"triggerLabel_one": "{{count}} otomatik onaylandı",
"triggerLabel_other": "{{count}} otomatik onaylandı",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "Etkin",
+ "toggleAriaLabel": "Otomatik onayı aç/kapat"
},
"reasoning": {
"thinking": "Düşünüyor",
@@ -366,7 +371,8 @@
"wantsToSearchWithPath": "Zoo {{path}} içinde kod tabanında {{query}} aramak istiyor",
"didSearch_one": "{{count}} sonuç bulundu",
"didSearch_other": "{{count}} sonuç bulundu",
- "resultTooltip": "Benzerlik puanı: {{score}} (dosyayı açmak için tıklayın)"
+ "resultTooltip": "Benzerlik puanı: {{score}} (dosyayı açmak için tıklayın)",
+ "displayError": "Arama sonuçları görüntülenirken hata oluştu."
},
"read-batch": {
"approve": {
@@ -418,7 +424,17 @@
"noResults": "Sonuç yok",
"problems": "Sorunlar",
"terminal": "Terminal",
- "url": "İçeriği getirmek için URL'yi yapıştırın"
+ "url": "İçeriği getirmek için URL'yi yapıştırın",
+ "gitCommits": "Git commit'leri",
+ "gitCommitsDescription": "Depo geçmişinde ara",
+ "workingChanges": "Çalışma değişiklikleri",
+ "workingChangesDescription": "Commit edilmemiş mevcut değişiklikler",
+ "commit": "Commit {{hash}}",
+ "commitHashDescription": "Git commit hash'i",
+ "addFile": "Dosya ekle",
+ "addFolder": "Klasör ekle",
+ "commands": "Komutlar",
+ "modes": "Modlar"
},
"queuedMessages": {
"title": "Sıradaki Mesajlar",
@@ -431,7 +447,28 @@
"todo": {
"partial": "{{total}} yapılacaklar listesinden {{completed}} tanesi tamamlandı",
"complete": "{{total}} yapılacaklar listesi tamamlandı",
- "updated": "Yapılacaklar listesi güncellendi"
+ "updated": "Yapılacaklar listesi güncellendi",
+ "listUpdated": "Yapılacaklar listesi güncellendi",
+ "userEdit": "Kullanıcı düzenlemesi",
+ "userEdits": "Kullanıcı düzenlemeleri",
+ "edit": "Düzenle",
+ "done": "Bitti",
+ "itemPlaceholder": "Yapılacak öğe gir",
+ "newItemPlaceholder": "Yapılacak öğe gir, eklemek için Enter'a bas",
+ "remove": "Kaldır",
+ "add": "Ekle",
+ "cancel": "İptal",
+ "addTodo": "+ Yapılacak ekle",
+ "status": {
+ "notStarted": "Başlanmadı",
+ "inProgress": "Devam ediyor",
+ "completed": "Tamamlandı"
+ },
+ "deleteDialog": {
+ "title": "Yapılacak öğeyi sil",
+ "description": "Bu yapılacak öğeyi silmek istediğinden emin misin?",
+ "confirm": "Sil"
+ }
},
"tooManyTools": {
"title": "Çok fazla araç etkinleştirildi",
@@ -453,5 +490,25 @@
"title": "Sağlayıcı artık desteklenmiyor",
"message": "Bu sağlayıcı artık kullanılamıyor. Devam etmek için desteklenen bir sağlayıcı seçin.",
"openSettings": "Ayarları aç"
+ },
+ "zooCodeAuth": {
+ "signIn": "Zoo Code'a giriş yap",
+ "goToDashboard": "Panele git",
+ "signOut": "Çıkış yap",
+ "avatarAlt": "Avatar",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "Bağlı"
+ },
+ "arguments": "Argümanlar:",
+ "copyAsMarkdown": "Markdown olarak kopyala",
+ "openInPreview": "Önizlemede aç",
+ "codeAccordion": {
+ "userEdits": "Kullanıcı düzenlemeleri",
+ "consoleLogs": "Konsol günlükleri",
+ "openFileAriaLabel": "Dosyayı aç: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_one": "{{count}} gizli satır",
+ "hiddenLines_other": "{{count}} gizli satır"
}
}
diff --git a/webview-ui/src/i18n/locales/tr/common.json b/webview-ui/src/i18n/locales/tr/common.json
index 0a7fb07217..4fb12223dc 100644
--- a/webview-ui/src/i18n/locales/tr/common.json
+++ b/webview-ui/src/i18n/locales/tr/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "Ara...",
- "no_results": "Sonuç bulunamadı"
+ "no_results": "Sonuç bulunamadı",
+ "close": "Kapat",
+ "clear_search_aria_label": "Aramayı temizle"
},
"mermaid": {
"loading": "Mermaid diyagramı oluşturuluyor...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "Resim"
},
- "noData": "Resim verisi yok"
+ "noData": "Resim verisi yok",
+ "generatedAlt": "Yapay zekâ ile oluşturulan görsel",
+ "thumbnailAlt": "Küçük resim {{index}}"
},
"confirmation": {
"deleteMessage": "Mesajı Sil",
diff --git a/webview-ui/src/i18n/locales/tr/marketplace.json b/webview-ui/src/i18n/locales/tr/marketplace.json
index 32c7534dd7..4a2691833a 100644
--- a/webview-ui/src/i18n/locales/tr/marketplace.json
+++ b/webview-ui/src/i18n/locales/tr/marketplace.json
@@ -70,7 +70,8 @@
"goToModes": "Modlar Ayarlarına Git",
"moreInfoMcp": "{{name}} MCP belgelerini görüntüle",
"validationRequired": "Lütfen {{paramName}} için bir değer sağlayın",
- "prerequisites": "Ön koşullar"
+ "prerequisites": "Ön koşullar",
+ "optional": "(isteğe bağlı)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"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!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "Modlar"
}
}
diff --git a/webview-ui/src/i18n/locales/tr/mcp.json b/webview-ui/src/i18n/locales/tr/mcp.json
index 05f2e4f1e2..9dc29eea8f 100644
--- a/webview-ui/src/i18n/locales/tr/mcp.json
+++ b/webview-ui/src/i18n/locales/tr/mcp.json
@@ -55,5 +55,10 @@
"running": "Çalışıyor",
"completed": "Tamamlandı",
"error": "Hata"
- }
+ },
+ "resource": {
+ "returns": "Döndürür",
+ "unknownMimeType": "Bilinmiyor"
+ },
+ "toggleServerAriaLabel": "{{serverName}} sunucusunu aç/kapat"
}
diff --git a/webview-ui/src/i18n/locales/tr/prompts.json b/webview-ui/src/i18n/locales/tr/prompts.json
index 46cf69883f..58adb2206b 100644
--- a/webview-ui/src/i18n/locales/tr/prompts.json
+++ b/webview-ui/src/i18n/locales/tr/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "API Yapılandırması",
- "select": "Bu mod için hangi API yapılandırmasının kullanılacağını seçin"
+ "select": "Bu mod için hangi API yapılandırmasının kullanılacağını seçin",
+ "pinnedGroupAriaLabel": "Sabitlenmiş yapılandırmalar",
+ "allGroupAriaLabel": "Tüm yapılandırmalar"
},
"tools": {
"title": "Kullanılabilir Araçlar",
@@ -47,7 +49,8 @@
"title": "Moda özgü özel talimatlar (isteğe bağlı)",
"resetToDefault": "Varsayılana sıfırla",
"description": "{{modeName}} modu için özel davranış yönergeleri ekleyin.",
- "loadFromFile": "{{mode}} moduna özgü özel talimatlar, çalışma alanınızdaki .roo/rules-{{slug}}/ klasöründen veya global <0>.roo/rules-{{slug}}/0> klasöründen de yüklenebilir (.roorules-{{slug}} ve .clinerules-{{slug}} kullanımdan kaldırılmıştır ve yakında çalışmayı durduracaktır)."
+ "loadFromFile": "{{mode}} moduna özgü özel talimatlar, çalışma alanınızdaki .roo/rules-{{slug}}/ klasöründen veya global <0>.roo/rules-{{slug}}/0> klasöründen de yüklenebilir (.roorules-{{slug}} ve .clinerules-{{slug}} kullanımdan kaldırılmıştır ve yakında çalışmayı durduracaktır).",
+ "loadFromFileAriaLabel": "Modlar için genel özel talimatlar hakkında bilgi"
},
"exportMode": {
"title": "Modu Dışa Aktar",
@@ -56,7 +59,9 @@
"globalCustomInstructions": {
"title": "Tüm Modlar için Özel Talimatlar",
"description": "Bu talimatlar tüm modlara uygulanır. Aşağıdaki moda özgü talimatlarla geliştirilebilen temel davranış seti sağlarlar. <0>Daha fazla bilgi edinin0>",
- "loadFromFile": "Talimatlar, çalışma alanınızdaki .roo/rules/ klasöründen veya global <0>.roo/rules/0> klasöründen de yüklenebilir (.roorules ve .clinerules kullanımdan kaldırılmıştır ve yakında çalışmayı durduracaktır)."
+ "loadFromFile": "Talimatlar, çalışma alanınızdaki .roo/rules/ klasöründen veya global <0>.roo/rules/0> klasöründen de yüklenebilir (.roorules ve .clinerules kullanımdan kaldırılmıştır ve yakında çalışmayı durduracaktır).",
+ "learnMoreAriaLabel": "Genel özel talimatlar hakkında daha fazla bilgi",
+ "loadFromFileAriaLabel": "Genel özel talimatları ayarlamayı öğren"
},
"importMode": {
"selectLevel": "Bu modu nereye içe aktaracağınızı seçin:",
@@ -199,5 +204,10 @@
"rulesFolder": "Bu modun {{folderPath}} konumunda bir kurallar klasörü var ve bu da silinecek.",
"confirm": "Sil",
"cancel": "İptal"
+ },
+ "mcpServers": {
+ "restrict": "Belirli MCP sunucularıyla sınırla",
+ "noneConnected": "Bağlı MCP sunucusu yok",
+ "notConnected": "{{serverName}} (bağlı değil)"
}
}
diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json
index 3cc4b0f554..f37e886c2e 100644
--- a/webview-ui/src/i18n/locales/tr/settings.json
+++ b/webview-ui/src/i18n/locales/tr/settings.json
@@ -6,7 +6,8 @@
"cancel": "İptal",
"select": "Seç",
"add": "Başlık Ekle",
- "remove": "Kaldır"
+ "remove": "Kaldır",
+ "milliseconds": "{{value}} ms"
},
"search": {
"placeholder": "Ayarları ara...",
@@ -80,7 +81,9 @@
"detailTasksImported_other": "{{total}} görev geçmişinden {{count}} tanesi içe aktarıldı.",
"detailPreparing": "Roo Code geçmişi içe aktarma hazırlanıyor.",
"progressAriaLabel": "Roo Code geçmişi içe aktarma ilerlemesi"
- }
+ },
+ "version": "Sürüm: {{version}}",
+ "versionWithCommit": "Sürüm: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "Özel iş akışlarını ve eylemleri hızlı bir şekilde yürütmek için eğik çizgi komutlarınızı yönetin. Daha fazla bilgi edinin",
@@ -685,6 +688,17 @@
"signInDescription": "Hesabınızla Zoo Gateway kullanmak için giriş yapın",
"authenticated": "Kimlik doğrulandı",
"authenticatedAs": "{{name}} olarak kimlik doğrulandı"
+ },
+ "awsAuthMethod": "Kimlik doğrulama yöntemi",
+ "qwenCode": {
+ "oauthPathLabel": "OAuth kimlik bilgileri yolu",
+ "oauthPathDescription": "Qwen OAuth kimlik bilgileri dosyanın yolu. Boş bırakırsan {{defaultPath}} kullanılır.",
+ "description": "Qwen Code, resmi Qwen istemcisi üzerinden kimlik doğrulama gerektiren OAuth tabanlı bir API'dir. Önce OAuth kimlik bilgilerini ayarlaman gerekir.",
+ "gettingStarted": "Başlamak için:",
+ "step1": "1. Resmi Qwen istemcisini yükle",
+ "step2": "2. Hesabınla kimlik doğrula",
+ "step3": "3. OAuth kimlik bilgileri otomatik olarak kaydedilir",
+ "setupInstructions": "Kurulum talimatları"
}
},
"checkpoints": {
@@ -916,7 +930,8 @@
"refreshing": "Yenileniyor...",
"refreshSuccess": "Araçlar başarıyla yenilendi",
"refreshError": "Araçlar yenilenemedi",
- "toolParameters": "Parametreler"
+ "toolParameters": "Parametreler",
+ "required": "zorunlu"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "Dinamik düşünme çabası",
@@ -955,7 +970,12 @@
"freeRequests_other": "* Dakikada {{count}} isteğe kadar ücretsiz. Bundan sonra, ücretlendirme istem boyutuna bağlıdır.",
"pricingDetails": "Daha fazla bilgi için fiyatlandırma ayrıntılarına bakın.",
"billingEstimate": "* Ücretlendirme bir tahmindir - kesin maliyet istem boyutuna bağlıdır."
- }
+ },
+ "tokensValue_one": "{{count, number}} token",
+ "tokensValue_other": "{{count, number}} token",
+ "pricePerMillionTokens": "{{price}} / 1 milyon token",
+ "showMore": "Daha fazla",
+ "showLess": "Daha az"
},
"modelPicker": {
"automaticFetch": "Uzantı {{serviceName}} üzerinde bulunan mevcut modellerin en güncel listesini otomatik olarak alır. Hangi modeli seçeceğinizden emin değilseniz, Zoo Code {{defaultModelId}} ile en iyi şekilde çalışır. Şu anda mevcut olan ücretsiz seçenekleri bulmak için \"free\" araması da yapabilirsiniz.",
@@ -1020,7 +1040,8 @@
"inputPrice": "örn. 0.0001",
"outputPrice": "örn. 0.0002",
"cacheWritePrice": "örn. 0.00005"
- }
+ },
+ "defaultValue": "Varsayılan: {{value}}"
},
"defaults": {
"ollamaUrl": "Varsayılan: http://localhost:11434",
@@ -1049,7 +1070,9 @@
"input": "Giriş",
"output": "Çıkış",
"cacheReads": "Önbellek okumaları"
- }
+ },
+ "label": "Hizmet seviyesi",
+ "tooltip": "API isteklerinin daha hızlı işlenmesi için öncelikli işleme hizmet seviyesini dene. Daha yüksek gecikmeyle daha düşük fiyatlar için esnek işleme seviyesini dene."
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/tr/welcome.json b/webview-ui/src/i18n/locales/tr/welcome.json
index 6df789ed6d..65709e3a06 100644
--- a/webview-ui/src/i18n/locales/tr/welcome.json
+++ b/webview-ui/src/i18n/locales/tr/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Zoo Code'a Hoş Geldin!",
- "introduction": "Yerleşik ve genişletilebilir Modlar yelpazesiyle Zoo Code, daha önce hiç olmadığı gibi planlama, mimari tasarım, kodlama, hata ayıklama ve üretkenliğini artırmanı sağlar."
+ "introduction": "Yerleşik ve genişletilebilir Modlar yelpazesiyle Zoo Code, daha önce hiç olmadığı gibi planlama, mimari tasarım, kodlama, hata ayıklama ve üretkenliğini artırmanı sağlar.",
+ "logoAlt": "Roo logosu"
},
"providerSignup": {
"heading": "Sağlayıcınızı seçin",
diff --git a/webview-ui/src/i18n/locales/vi/chat.json b/webview-ui/src/i18n/locales/vi/chat.json
index 2237ca1dbd..6c6b8339fb 100644
--- a/webview-ui/src/i18n/locales/vi/chat.json
+++ b/webview-ui/src/i18n/locales/vi/chat.json
@@ -20,7 +20,8 @@
"unpin": "Bỏ ghim khỏi đầu",
"pin": "Ghim lên đầu",
"fileChangesInConversation": {
- "header_other": "{{count}} tệp đã thay đổi trong cuộc hội thoại này"
+ "header_other": "{{count}} tệp đã thay đổi trong cuộc hội thoại này",
+ "lineStatsAriaLabel": "Dòng đã thêm: {{added}}, dòng đã xóa: {{removed}}"
},
"tokenProgress": {
"availableSpace": "Không gian khả dụng: {{amount}} tokens",
@@ -232,7 +233,9 @@
"addToAllowed": "Thêm vào danh sách cho phép",
"removeFromAllowed": "Xóa khỏi danh sách cho phép",
"addToDenied": "Thêm vào danh sách từ chối",
- "removeFromDenied": "Xóa khỏi danh sách từ chối"
+ "removeFromDenied": "Xóa khỏi danh sách từ chối",
+ "pid": "(PID: {{pid}})",
+ "clickToEditPattern": "Nhấp để sửa mẫu"
},
"text": {
"rooSaid": "Zoo đã nói"
@@ -289,7 +292,9 @@
"triggerLabelOffShort": "Tắt",
"triggerLabel_zero": "0 được tự động phê duyệt",
"triggerLabel_other": "{{count}} được tự động phê duyệt",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "Đã bật",
+ "toggleAriaLabel": "Bật/tắt tự động phê duyệt"
},
"reasoning": {
"thinking": "Đang suy nghĩ",
@@ -361,7 +366,8 @@
"wantsToSearch": "Zoo muốn tìm kiếm trong cơ sở mã cho {{query}}",
"wantsToSearchWithPath": "Zoo muốn tìm kiếm trong cơ sở mã cho {{query}} trong {{path}}",
"didSearch_other": "Đã tìm thấy {{count}} kết quả",
- "resultTooltip": "Điểm tương tự: {{score}} (nhấp để mở tệp)"
+ "resultTooltip": "Điểm tương tự: {{score}} (nhấp để mở tệp)",
+ "displayError": "Lỗi khi hiển thị kết quả tìm kiếm."
},
"read-batch": {
"approve": {
@@ -413,7 +419,17 @@
"noResults": "Không có kết quả",
"problems": "Vấn đề",
"terminal": "Terminal",
- "url": "Dán URL để lấy nội dung"
+ "url": "Dán URL để lấy nội dung",
+ "gitCommits": "Commit Git",
+ "gitCommitsDescription": "Tìm trong lịch sử kho mã",
+ "workingChanges": "Thay đổi đang làm",
+ "workingChangesDescription": "Các thay đổi chưa commit hiện tại",
+ "commit": "Commit {{hash}}",
+ "commitHashDescription": "Mã hash commit Git",
+ "addFile": "Thêm tệp",
+ "addFolder": "Thêm thư mục",
+ "commands": "Lệnh",
+ "modes": "Chế độ"
},
"queuedMessages": {
"title": "Tin nhắn trong hàng đợi",
@@ -426,7 +442,28 @@
"todo": {
"partial": "{{completed}} trong tổng số {{total}} công việc đã hoàn thành",
"complete": "{{total}} công việc đã hoàn thành",
- "updated": "Đã cập nhật danh sách công việc"
+ "updated": "Đã cập nhật danh sách công việc",
+ "listUpdated": "Đã cập nhật danh sách việc cần làm",
+ "userEdit": "Chỉnh sửa của người dùng",
+ "userEdits": "Các chỉnh sửa của người dùng",
+ "edit": "Sửa",
+ "done": "Xong",
+ "itemPlaceholder": "Nhập việc cần làm",
+ "newItemPlaceholder": "Nhập việc cần làm, nhấn Enter để thêm",
+ "remove": "Xóa",
+ "add": "Thêm",
+ "cancel": "Hủy",
+ "addTodo": "+ Thêm việc cần làm",
+ "status": {
+ "notStarted": "Chưa bắt đầu",
+ "inProgress": "Đang thực hiện",
+ "completed": "Đã hoàn thành"
+ },
+ "deleteDialog": {
+ "title": "Xóa việc cần làm",
+ "description": "Bạn có chắc muốn xóa việc cần làm này không?",
+ "confirm": "Xóa"
+ }
},
"tooManyTools": {
"title": "Đã bật quá nhiều công cụ",
@@ -446,5 +483,24 @@
"title": "Nhà cung cấp không còn được hỗ trợ",
"message": "Nhà cung cấp này không còn khả dụng. Hãy chọn một nhà cung cấp được hỗ trợ để tiếp tục.",
"openSettings": "Mở cài đặt"
+ },
+ "zooCodeAuth": {
+ "signIn": "Đăng nhập Zoo Code",
+ "goToDashboard": "Đi tới bảng điều khiển",
+ "signOut": "Đăng xuất",
+ "avatarAlt": "Ảnh đại diện",
+ "accountTitle": "Zoo Code: {{account}}",
+ "connected": "Đã kết nối"
+ },
+ "arguments": "Đối số:",
+ "copyAsMarkdown": "Sao chép dạng Markdown",
+ "openInPreview": "Mở trong bản xem trước",
+ "codeAccordion": {
+ "userEdits": "Các chỉnh sửa của người dùng",
+ "consoleLogs": "Nhật ký bảng điều khiển",
+ "openFileAriaLabel": "Mở tệp: {{path}}"
+ },
+ "diffView": {
+ "hiddenLines_other": "{{count}} dòng bị ẩn"
}
}
diff --git a/webview-ui/src/i18n/locales/vi/common.json b/webview-ui/src/i18n/locales/vi/common.json
index ccae866d37..7ea773406b 100644
--- a/webview-ui/src/i18n/locales/vi/common.json
+++ b/webview-ui/src/i18n/locales/vi/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "Tìm kiếm...",
- "no_results": "Không tìm thấy kết quả nào"
+ "no_results": "Không tìm thấy kết quả nào",
+ "close": "Đóng",
+ "clear_search_aria_label": "Xóa tìm kiếm"
},
"mermaid": {
"loading": "Đang tạo biểu đồ mermaid...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "Hình ảnh"
},
- "noData": "Không có dữ liệu hình ảnh"
+ "noData": "Không có dữ liệu hình ảnh",
+ "generatedAlt": "Hình ảnh do AI tạo",
+ "thumbnailAlt": "Hình thu nhỏ {{index}}"
},
"confirmation": {
"deleteMessage": "Xóa Tin Nhắn",
diff --git a/webview-ui/src/i18n/locales/vi/marketplace.json b/webview-ui/src/i18n/locales/vi/marketplace.json
index 5c15450059..969a80e9b4 100644
--- a/webview-ui/src/i18n/locales/vi/marketplace.json
+++ b/webview-ui/src/i18n/locales/vi/marketplace.json
@@ -70,7 +70,8 @@
"goToModes": "Đi đến Cài đặt Chế độ",
"moreInfoMcp": "Xem tài liệu MCP {{name}}",
"validationRequired": "Vui lòng cung cấp giá trị cho {{paramName}}",
- "prerequisites": "Điều kiện tiên quyết"
+ "prerequisites": "Điều kiện tiên quyết",
+ "optional": "(tùy chọn)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"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!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "Chế độ"
}
}
diff --git a/webview-ui/src/i18n/locales/vi/mcp.json b/webview-ui/src/i18n/locales/vi/mcp.json
index be5e27dda3..d890fc9198 100644
--- a/webview-ui/src/i18n/locales/vi/mcp.json
+++ b/webview-ui/src/i18n/locales/vi/mcp.json
@@ -55,5 +55,10 @@
"running": "Đang chạy",
"completed": "Hoàn thành",
"error": "Lỗi"
- }
+ },
+ "resource": {
+ "returns": "Trả về",
+ "unknownMimeType": "Không xác định"
+ },
+ "toggleServerAriaLabel": "Bật/tắt máy chủ {{serverName}}"
}
diff --git a/webview-ui/src/i18n/locales/vi/prompts.json b/webview-ui/src/i18n/locales/vi/prompts.json
index 83b8d2c4cc..ffda18ad7f 100644
--- a/webview-ui/src/i18n/locales/vi/prompts.json
+++ b/webview-ui/src/i18n/locales/vi/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "Cấu hình API",
- "select": "Chọn cấu hình API nào để sử dụng cho chế độ này"
+ "select": "Chọn cấu hình API nào để sử dụng cho chế độ này",
+ "pinnedGroupAriaLabel": "Cấu hình đã ghim",
+ "allGroupAriaLabel": "Tất cả cấu hình"
},
"tools": {
"title": "Công cụ có sẵn",
@@ -47,7 +49,8 @@
"title": "Hướng dẫn tùy chỉnh dành riêng cho chế độ (tùy chọn)",
"resetToDefault": "Đặt lại về mặc định",
"description": "Thêm hướng dẫn hành vi dành riêng cho chế độ {{modeName}}.",
- "loadFromFile": "Hướng dẫn tùy chỉnh cụ thể cho chế độ {{mode}} cũng có thể được tải từ thư mục .roo/rules-{{slug}}/ trong không gian làm việc của bạn hoặc từ toàn cục <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} và .clinerules-{{slug}} đã lỗi thời và sẽ ngừng hoạt động sớm)."
+ "loadFromFile": "Hướng dẫn tùy chỉnh cụ thể cho chế độ {{mode}} cũng có thể được tải từ thư mục .roo/rules-{{slug}}/ trong không gian làm việc của bạn hoặc từ toàn cục <0>.roo/rules-{{slug}}/0> (.roorules-{{slug}} và .clinerules-{{slug}} đã lỗi thời và sẽ ngừng hoạt động sớm).",
+ "loadFromFileAriaLabel": "Tìm hiểu về hướng dẫn tùy chỉnh toàn cục cho các chế độ"
},
"exportMode": {
"title": "Xuất chế độ",
@@ -56,7 +59,9 @@
"globalCustomInstructions": {
"title": "Hướng dẫn tùy chỉnh cho tất cả các chế độ",
"description": "Những hướng dẫn này áp dụng cho tất cả các chế độ. Chúng cung cấp một bộ hành vi cơ bản có thể được nâng cao bởi hướng dẫn dành riêng cho chế độ bên dưới. <0>Tìm hiểu thêm0>",
- "loadFromFile": "Hướng dẫn cũng có thể được tải từ thư mục .roo/rules/ trong không gian làm việc của bạn hoặc từ toàn cục <0>.roo/rules/0> (.roorules và .clinerules đã lỗi thời và sẽ ngừng hoạt động sớm)."
+ "loadFromFile": "Hướng dẫn cũng có thể được tải từ thư mục .roo/rules/ trong không gian làm việc của bạn hoặc từ toàn cục <0>.roo/rules/0> (.roorules và .clinerules đã lỗi thời và sẽ ngừng hoạt động sớm).",
+ "learnMoreAriaLabel": "Tìm hiểu thêm về hướng dẫn tùy chỉnh toàn cục",
+ "loadFromFileAriaLabel": "Tìm hiểu cách thiết lập hướng dẫn tùy chỉnh toàn cục"
},
"importMode": {
"selectLevel": "Chọn nơi để nhập chế độ này:",
@@ -199,5 +204,10 @@
"rulesFolder": "Chế độ này có một thư mục quy tắc tại {{folderPath}} cũng sẽ bị xóa.",
"confirm": "Xóa",
"cancel": "Hủy"
+ },
+ "mcpServers": {
+ "restrict": "Giới hạn ở các máy chủ MCP cụ thể",
+ "noneConnected": "Không có máy chủ MCP nào được kết nối",
+ "notConnected": "{{serverName}} (chưa kết nối)"
}
}
diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json
index 462778d282..b17f4994cf 100644
--- a/webview-ui/src/i18n/locales/vi/settings.json
+++ b/webview-ui/src/i18n/locales/vi/settings.json
@@ -6,7 +6,8 @@
"cancel": "Hủy",
"select": "Chọn",
"add": "Thêm tiêu đề",
- "remove": "Xóa"
+ "remove": "Xóa",
+ "milliseconds": "{{value}} ms"
},
"search": {
"placeholder": "Tìm kiếm cài đặt...",
@@ -79,7 +80,9 @@
"detailTasksImported_other": "Đã nhập {{count}} trong {{total}} lịch sử nhiệm vụ.",
"detailPreparing": "Đang chuẩn bị nhập lịch sử Roo Code.",
"progressAriaLabel": "Tiến trình nhập lịch sử Roo Code"
- }
+ },
+ "version": "Phiên bản: {{version}}",
+ "versionWithCommit": "Phiên bản: {{version}} ({{commit}})"
},
"slashCommands": {
"description": "Quản lý các lệnh slash của bạn để thực thi nhanh các quy trình công việc và hành động tùy chỉnh. Tìm hiểu thêm",
@@ -684,6 +687,17 @@
"signInDescription": "Đăng nhập để sử dụng Zoo Gateway với tài khoản của bạn",
"authenticated": "Đã xác thực",
"authenticatedAs": "Đã xác thực với tên {{name}}"
+ },
+ "awsAuthMethod": "Phương thức xác thực",
+ "qwenCode": {
+ "oauthPathLabel": "Đường dẫn thông tin xác thực OAuth",
+ "oauthPathDescription": "Đường dẫn tới tệp thông tin xác thực OAuth Qwen của bạn. Nếu để trống, sẽ dùng {{defaultPath}}.",
+ "description": "Qwen Code là API dựa trên OAuth, yêu cầu xác thực qua ứng dụng Qwen chính thức. Bạn cần thiết lập thông tin xác thực OAuth trước.",
+ "gettingStarted": "Để bắt đầu:",
+ "step1": "1. Cài đặt ứng dụng Qwen chính thức",
+ "step2": "2. Xác thực bằng tài khoản của bạn",
+ "step3": "3. Thông tin xác thực OAuth sẽ được lưu tự động",
+ "setupInstructions": "Hướng dẫn thiết lập"
}
},
"checkpoints": {
@@ -915,7 +929,8 @@
"refreshing": "Đang làm mới...",
"refreshSuccess": "Làm mới công cụ thành công",
"refreshError": "Không thể làm mới công cụ",
- "toolParameters": "Thông số"
+ "toolParameters": "Thông số",
+ "required": "bắt buộc"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "Nỗ lực suy nghĩ động",
@@ -953,7 +968,11 @@
"freeRequests_other": "* Miễn phí đến {{count}} yêu cầu mỗi phút. Sau đó, thanh toán phụ thuộc vào kích thước lời nhắc.",
"pricingDetails": "Để biết thêm thông tin, xem chi tiết giá.",
"billingEstimate": "* Thanh toán là ước tính - chi phí chính xác phụ thuộc vào kích thước lời nhắc."
- }
+ },
+ "tokensValue_other": "{{count, number}} token",
+ "pricePerMillionTokens": "{{price}} / 1 triệu token",
+ "showMore": "Xem thêm",
+ "showLess": "Thu gọn"
},
"modelPicker": {
"automaticFetch": "Tiện ích mở rộng tự động lấy danh sách mới nhất các mô hình có sẵn trên {{serviceName}}. Nếu bạn không chắc chắn nên chọn mô hình nào, Zoo Code hoạt động tốt nhất với {{defaultModelId}}. Bạn cũng có thể thử tìm kiếm \"free\" cho các tùy chọn miễn phí hiện có.",
@@ -1018,7 +1037,8 @@
"inputPrice": "vd: 0.0001",
"outputPrice": "vd: 0.0002",
"cacheWritePrice": "vd: 0.00005"
- }
+ },
+ "defaultValue": "Mặc định: {{value}}"
},
"defaults": {
"ollamaUrl": "Mặc định: http://localhost:11434",
@@ -1047,7 +1067,9 @@
"input": "Đầu vào",
"output": "Đầu ra",
"cacheReads": "Lượt đọc bộ nhớ đệm"
- }
+ },
+ "label": "Cấp độ dịch vụ",
+ "tooltip": "Để xử lý yêu cầu API nhanh hơn, hãy thử cấp độ dịch vụ xử lý ưu tiên. Để có giá thấp hơn với độ trễ cao hơn, hãy thử cấp độ xử lý linh hoạt."
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/vi/welcome.json b/webview-ui/src/i18n/locales/vi/welcome.json
index 8063305896..3e83c6466f 100644
--- a/webview-ui/src/i18n/locales/vi/welcome.json
+++ b/webview-ui/src/i18n/locales/vi/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "Chào mừng đến với Zoo Code!",
- "introduction": "Với nhiều Chế độ tích hợp và có thể mở rộng, Zoo Code cho phép bạn lập kế hoạch, thiết kế kiến trúc, viết mã, gỡ lỗi và tăng năng suất như chưa từng có trước đây."
+ "introduction": "Với nhiều Chế độ tích hợp và có thể mở rộng, Zoo Code cho phép bạn lập kế hoạch, thiết kế kiến trúc, viết mã, gỡ lỗi và tăng năng suất như chưa từng có trước đây.",
+ "logoAlt": "Logo Roo"
},
"providerSignup": {
"heading": "Chọn nhà cung cấp của bạn",
diff --git a/webview-ui/src/i18n/locales/zh-CN/chat.json b/webview-ui/src/i18n/locales/zh-CN/chat.json
index 8671156b11..387e0ab4f4 100644
--- a/webview-ui/src/i18n/locales/zh-CN/chat.json
+++ b/webview-ui/src/i18n/locales/zh-CN/chat.json
@@ -20,7 +20,8 @@
"unpin": "取消置顶",
"pin": "置顶",
"fileChangesInConversation": {
- "header_other": "此对话中已更改 {{count}} 个文件"
+ "header_other": "此对话中已更改 {{count}} 个文件",
+ "lineStatsAriaLabel": "新增行数:{{added}},删除行数:{{removed}}"
},
"tokenProgress": {
"availableSpace": "可用: {{amount}}",
@@ -232,7 +233,9 @@
"addToAllowed": "添加到允许列表",
"removeFromAllowed": "从允许列表中删除",
"addToDenied": "添加到拒绝列表",
- "removeFromDenied": "从拒绝列表中删除"
+ "removeFromDenied": "从拒绝列表中删除",
+ "pid": "(PID:{{pid}})",
+ "clickToEditPattern": "点击编辑模式匹配规则"
},
"text": {
"rooSaid": "Zoo 说"
@@ -289,7 +292,9 @@
"triggerLabelOffShort": "关闭",
"triggerLabel_zero": "0 个自动批准",
"triggerLabel_other": "{{count}} 个自动批准",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "已启用",
+ "toggleAriaLabel": "切换自动批准"
},
"reasoning": {
"thinking": "思考中",
@@ -361,7 +366,8 @@
"wantsToSearch": "Zoo 需要搜索代码库: {{query}}",
"wantsToSearchWithPath": "Zoo 需要在 {{path}} 中搜索: {{query}}",
"didSearch_other": "找到 {{count}} 个结果",
- "resultTooltip": "相似度评分: {{score}} (点击打开文件)"
+ "resultTooltip": "相似度评分: {{score}} (点击打开文件)",
+ "displayError": "显示搜索结果时出错。"
},
"read-batch": {
"approve": {
@@ -413,7 +419,17 @@
"noResults": "无结果",
"problems": "问题",
"terminal": "终端",
- "url": "粘贴URL以获取内容"
+ "url": "粘贴URL以获取内容",
+ "gitCommits": "Git 提交",
+ "gitCommitsDescription": "搜索仓库历史",
+ "workingChanges": "工作区更改",
+ "workingChangesDescription": "当前未提交的更改",
+ "commit": "提交 {{hash}}",
+ "commitHashDescription": "Git 提交哈希",
+ "addFile": "添加文件",
+ "addFolder": "添加文件夹",
+ "commands": "命令",
+ "modes": "模式"
},
"queuedMessages": {
"title": "队列消息",
@@ -426,7 +442,28 @@
"todo": {
"partial": "已完成 {{completed}} / {{total}} 个待办事项",
"complete": "已完成 {{total}} 个待办事项",
- "updated": "已更新待办事项列表"
+ "updated": "已更新待办事项列表",
+ "listUpdated": "待办列表已更新",
+ "userEdit": "用户编辑",
+ "userEdits": "用户编辑",
+ "edit": "编辑",
+ "done": "完成",
+ "itemPlaceholder": "输入待办事项",
+ "newItemPlaceholder": "输入待办事项,按 Enter 添加",
+ "remove": "移除",
+ "add": "添加",
+ "cancel": "取消",
+ "addTodo": "+ 添加待办",
+ "status": {
+ "notStarted": "未开始",
+ "inProgress": "进行中",
+ "completed": "已完成"
+ },
+ "deleteDialog": {
+ "title": "删除待办事项",
+ "description": "确认删除此待办事项?",
+ "confirm": "删除"
+ }
},
"tooManyTools": {
"title": "启用的工具过多",
@@ -446,5 +483,24 @@
"title": "供应商不再受支持",
"message": "此提供商已不可用。请选择受支持的提供商以继续。",
"openSettings": "打开设置"
+ },
+ "zooCodeAuth": {
+ "signIn": "登录 Zoo Code",
+ "goToDashboard": "前往控制台",
+ "signOut": "退出登录",
+ "avatarAlt": "头像",
+ "accountTitle": "Zoo Code:{{account}}",
+ "connected": "已连接"
+ },
+ "arguments": "参数:",
+ "copyAsMarkdown": "复制为 Markdown",
+ "openInPreview": "在预览中打开",
+ "codeAccordion": {
+ "userEdits": "用户编辑",
+ "consoleLogs": "控制台日志",
+ "openFileAriaLabel": "打开文件:{{path}}"
+ },
+ "diffView": {
+ "hiddenLines_other": "已隐藏 {{count}} 行"
}
}
diff --git a/webview-ui/src/i18n/locales/zh-CN/common.json b/webview-ui/src/i18n/locales/zh-CN/common.json
index 7bc88f69a8..109058c5b6 100644
--- a/webview-ui/src/i18n/locales/zh-CN/common.json
+++ b/webview-ui/src/i18n/locales/zh-CN/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "搜索...",
- "no_results": "未找到结果"
+ "no_results": "未找到结果",
+ "close": "关闭",
+ "clear_search_aria_label": "清除搜索"
},
"mermaid": {
"loading": "生成 Mermaid 图表中...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "图像"
},
- "noData": "无图片数据"
+ "noData": "无图片数据",
+ "generatedAlt": "AI 生成的图片",
+ "thumbnailAlt": "缩略图 {{index}}"
},
"confirmation": {
"deleteMessage": "删除消息",
diff --git a/webview-ui/src/i18n/locales/zh-CN/marketplace.json b/webview-ui/src/i18n/locales/zh-CN/marketplace.json
index 2af998592d..461462e659 100644
--- a/webview-ui/src/i18n/locales/zh-CN/marketplace.json
+++ b/webview-ui/src/i18n/locales/zh-CN/marketplace.json
@@ -70,7 +70,8 @@
"goToModes": "转到模式设置",
"moreInfoMcp": "查看 {{name}} MCP 文档",
"validationRequired": "请为 {{paramName}} 提供值",
- "prerequisites": "前置条件"
+ "prerequisites": "前置条件",
+ "optional": "(可选)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"footer": {
"issueText": "发现 marketplace 项目问题或有新项目建议?<0>在 GitHub 开启 issue0> 告诉我们!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "模式"
}
}
diff --git a/webview-ui/src/i18n/locales/zh-CN/mcp.json b/webview-ui/src/i18n/locales/zh-CN/mcp.json
index 734f434a4b..68d71b41e5 100644
--- a/webview-ui/src/i18n/locales/zh-CN/mcp.json
+++ b/webview-ui/src/i18n/locales/zh-CN/mcp.json
@@ -55,5 +55,10 @@
"running": "运行中",
"completed": "已完成",
"error": "错误"
- }
+ },
+ "resource": {
+ "returns": "返回",
+ "unknownMimeType": "未知"
+ },
+ "toggleServerAriaLabel": "启用/禁用 {{serverName}} 服务"
}
diff --git a/webview-ui/src/i18n/locales/zh-CN/prompts.json b/webview-ui/src/i18n/locales/zh-CN/prompts.json
index 0c110fc475..79e0fe881f 100644
--- a/webview-ui/src/i18n/locales/zh-CN/prompts.json
+++ b/webview-ui/src/i18n/locales/zh-CN/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "API配置",
- "select": "选择要用于此模式的API配置"
+ "select": "选择要用于此模式的API配置",
+ "pinnedGroupAriaLabel": "已固定的配置",
+ "allGroupAriaLabel": "所有配置"
},
"tools": {
"title": "可用功能",
@@ -47,7 +49,8 @@
"title": "模式专属规则(可选)",
"resetToDefault": "重置为默认值",
"description": "{{modeName}}模式的专属规则",
- "loadFromFile": "{{mode}}模式的特定自定义指令也可以从工作区中的.roo/rules-{{slug}}/文件夹或全局<0>.roo/rules-{{slug}}/0>加载(.roorules-{{slug}}和.clinerules-{{slug}}已弃用,即将停止工作)。"
+ "loadFromFile": "{{mode}}模式的特定自定义指令也可以从工作区中的.roo/rules-{{slug}}/文件夹或全局<0>.roo/rules-{{slug}}/0>加载(.roorules-{{slug}}和.clinerules-{{slug}}已弃用,即将停止工作)。",
+ "loadFromFileAriaLabel": "了解模式的全局自定义指令"
},
"exportMode": {
"title": "导出模式",
@@ -69,7 +72,9 @@
"globalCustomInstructions": {
"title": "所有模式的自定义指令",
"description": "这些指令适用于所有模式。它们提供了一套基础行为,可以通过下面的模式特定指令进行增强。<0>了解更多0>",
- "loadFromFile": "指令也可以从工作区中的.roo/rules/文件夹或全局<0>.roo/rules/0>加载(.roorules和.clinerules已弃用,即将停止工作)。"
+ "loadFromFile": "指令也可以从工作区中的.roo/rules/文件夹或全局<0>.roo/rules/0>加载(.roorules和.clinerules已弃用,即将停止工作)。",
+ "learnMoreAriaLabel": "了解有关全局自定义指令的更多信息",
+ "loadFromFileAriaLabel": "了解如何设置全局自定义指令"
},
"systemPrompt": {
"preview": "预览系统提示词",
@@ -199,5 +204,10 @@
"rulesFolder": "此模式在 {{folderPath}} 有一个规则文件夹,该文件夹也将被删除。",
"confirm": "删除",
"cancel": "取消"
+ },
+ "mcpServers": {
+ "restrict": "仅限特定 MCP 服务",
+ "noneConnected": "没有已连接的 MCP 服务",
+ "notConnected": "{{serverName}}(未连接)"
}
}
diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json
index 7da9f157f0..bf35d38801 100644
--- a/webview-ui/src/i18n/locales/zh-CN/settings.json
+++ b/webview-ui/src/i18n/locales/zh-CN/settings.json
@@ -6,7 +6,8 @@
"cancel": "取消",
"select": "选择",
"add": "添加标头",
- "remove": "移除"
+ "remove": "移除",
+ "milliseconds": "{{value}} 毫秒"
},
"search": {
"placeholder": "搜索设置...",
@@ -79,7 +80,9 @@
"detailTasksImported_other": "已导入 {{total}} 个任务历史记录中的 {{count}} 个。",
"detailPreparing": "正在准备导入 Roo Code 历史记录。",
"progressAriaLabel": "Roo Code 历史记录导入进度"
- }
+ },
+ "version": "版本:{{version}}",
+ "versionWithCommit": "版本:{{version}}({{commit}})"
},
"slashCommands": {
"description": "管理您的斜杠命令,以快速执行自定义工作流和操作。 了解更多",
@@ -684,6 +687,17 @@
"signInDescription": "登录以使用您的账户访问 Zoo Gateway",
"authenticated": "已认证",
"authenticatedAs": "已认证为 {{name}}"
+ },
+ "awsAuthMethod": "身份验证方式",
+ "qwenCode": {
+ "oauthPathLabel": "OAuth 凭据路径",
+ "oauthPathDescription": "Qwen OAuth 凭据文件的路径。留空时默认使用 {{defaultPath}}。",
+ "description": "Qwen Code 是基于 OAuth 的 API,需要通过官方 Qwen 客户端进行身份验证。请先设置 OAuth 凭据。",
+ "gettingStarted": "开始使用:",
+ "step1": "1. 安装官方 Qwen 客户端",
+ "step2": "2. 使用你的账号进行身份验证",
+ "step3": "3. OAuth 凭据将自动保存",
+ "setupInstructions": "设置说明"
}
},
"checkpoints": {
@@ -915,7 +929,8 @@
"refreshing": "正在刷新...",
"refreshSuccess": "工具刷新成功",
"refreshError": "工具刷新失败",
- "toolParameters": "参数"
+ "toolParameters": "参数",
+ "required": "必填"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "动态思考强度",
@@ -953,7 +968,11 @@
"freeRequests_other": "* 每分钟免费 {{count}} 个请求。之后,计费取决于提示大小。",
"pricingDetails": "有关更多信息,请参阅定价详情。",
"billingEstimate": "* 计费为估计值 - 具体费用取决于提示大小。"
- }
+ },
+ "tokensValue_other": "{{count, number}} Token",
+ "pricePerMillionTokens": "{{price}} / 百万 Token",
+ "showMore": "展开",
+ "showLess": "收起"
},
"modelPicker": {
"automaticFetch": "自动获取 {{serviceName}} 上可用的最新模型列表。如果您不确定选择哪个模型,Zoo Code 与 {{defaultModelId}} 配合最佳。您还可以搜索\"free\"以查找当前可用的免费选项。",
@@ -1018,7 +1037,8 @@
"inputPrice": "例:0.0001",
"outputPrice": "例:0.0002",
"cacheWritePrice": "例:0.00005"
- }
+ },
+ "defaultValue": "默认:{{value}}"
},
"defaults": {
"ollamaUrl": "默认值:http://localhost:11434",
@@ -1047,7 +1067,9 @@
"input": "输入",
"output": "输出",
"cacheReads": "缓存读取"
- }
+ },
+ "label": "服务等级",
+ "tooltip": "如需更快地处理 API 请求,请尝试优先处理服务等级。如需以更高延迟换取更低价格,请尝试灵活处理等级。"
},
"ui": {
"collapseThinking": {
diff --git a/webview-ui/src/i18n/locales/zh-CN/welcome.json b/webview-ui/src/i18n/locales/zh-CN/welcome.json
index 2d80944a61..1c92ed02cc 100644
--- a/webview-ui/src/i18n/locales/zh-CN/welcome.json
+++ b/webview-ui/src/i18n/locales/zh-CN/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "欢迎使用 Zoo Code!",
- "introduction": "通过一系列内置和可扩展的模式,Zoo Code 让你能够以前所未有的方式进行规划、架构设计、编码、调试并提升工作效率。"
+ "introduction": "通过一系列内置和可扩展的模式,Zoo Code 让你能够以前所未有的方式进行规划、架构设计、编码、调试并提升工作效率。",
+ "logoAlt": "Roo 标志"
},
"providerSignup": {
"heading": "选择你的供应商",
diff --git a/webview-ui/src/i18n/locales/zh-TW/chat.json b/webview-ui/src/i18n/locales/zh-TW/chat.json
index 71b5ed700b..3d595505d2 100644
--- a/webview-ui/src/i18n/locales/zh-TW/chat.json
+++ b/webview-ui/src/i18n/locales/zh-TW/chat.json
@@ -20,7 +20,8 @@
"unpin": "取消釘選",
"pin": "釘選",
"fileChangesInConversation": {
- "header_other": "此對話中已變更 {{count}} 個檔案"
+ "header_other": "此對話中已變更 {{count}} 個檔案",
+ "lineStatsAriaLabel": "新增行數:{{added}},刪除行數:{{removed}}"
},
"retry": {
"title": "重試",
@@ -263,7 +264,8 @@
"wantsToSearch": "Zoo 想要在程式碼庫中搜尋 {{query}}",
"wantsToSearchWithPath": "Zoo 想要在 {{path}} 中搜尋程式碼庫 {{query}}",
"didSearch_other": "找到 {{count}} 個結果",
- "resultTooltip": "相似度評分:{{score}}(點選以開啟檔案)"
+ "resultTooltip": "相似度評分:{{score}}(點選以開啟檔案)",
+ "displayError": "顯示搜尋結果時發生錯誤。"
},
"commandExecution": {
"abort": "中止",
@@ -275,7 +277,9 @@
"addToAllowed": "新增至允許清單",
"removeFromAllowed": "從允許清單中移除",
"addToDenied": "新增至拒絕清單",
- "removeFromDenied": "從拒絕清單中移除"
+ "removeFromDenied": "從拒絕清單中移除",
+ "pid": "(PID:{{pid}})",
+ "clickToEditPattern": "點擊以編輯模式"
},
"text": {
"rooSaid": "Zoo 說"
@@ -335,7 +339,9 @@
"triggerLabelOffShort": "關閉",
"triggerLabel_zero": "0 個自動核准",
"triggerLabel_other": "{{count}} 個自動核准",
- "triggerLabelAll": "BRRR"
+ "triggerLabelAll": "BRRR",
+ "enabled": "已啟用",
+ "toggleAriaLabel": "切換自動核准"
},
"announcement": {
"title": "Zoo Code {{version}} 已發布",
@@ -411,12 +417,43 @@
"noResults": "找不到結果",
"problems": "問題",
"terminal": "終端機",
- "url": "貼上 URL 以擷取內容"
+ "url": "貼上 URL 以擷取內容",
+ "gitCommits": "Git 提交",
+ "gitCommitsDescription": "搜尋儲存庫歷史",
+ "workingChanges": "工作區變更",
+ "workingChangesDescription": "目前尚未提交的變更",
+ "commit": "提交 {{hash}}",
+ "commitHashDescription": "Git 提交雜湊",
+ "addFile": "新增檔案",
+ "addFolder": "新增資料夾",
+ "commands": "命令",
+ "modes": "模式"
},
"todo": {
"partial": "已完成 {{completed}}/{{total}} 個待辦事項",
"complete": "已完成 {{total}} 個待辦事項",
- "updated": "已更新待辦事項清單"
+ "updated": "已更新待辦事項清單",
+ "listUpdated": "待辦清單已更新",
+ "userEdit": "使用者編輯",
+ "userEdits": "使用者編輯",
+ "edit": "編輯",
+ "done": "完成",
+ "itemPlaceholder": "輸入待辦事項",
+ "newItemPlaceholder": "輸入待辦事項,按 Enter 新增",
+ "remove": "移除",
+ "add": "新增",
+ "cancel": "取消",
+ "addTodo": "+ 新增待辦",
+ "status": {
+ "notStarted": "未開始",
+ "inProgress": "進行中",
+ "completed": "已完成"
+ },
+ "deleteDialog": {
+ "title": "刪除待辦事項",
+ "description": "確定要刪除此待辦事項嗎?",
+ "confirm": "刪除"
+ }
},
"tooManyTools": {
"title": "啟用的工具過多",
@@ -436,5 +473,24 @@
"title": "供應商不再受支援",
"message": "此供應商已不可用。請選擇受支援的供應商以繼續。",
"openSettings": "開啟設定"
+ },
+ "zooCodeAuth": {
+ "signIn": "登入 Zoo Code",
+ "goToDashboard": "前往儀表板",
+ "signOut": "登出",
+ "avatarAlt": "大頭貼",
+ "accountTitle": "Zoo Code:{{account}}",
+ "connected": "已連線"
+ },
+ "arguments": "參數:",
+ "copyAsMarkdown": "複製為 Markdown",
+ "openInPreview": "在預覽中開啟",
+ "codeAccordion": {
+ "userEdits": "使用者編輯",
+ "consoleLogs": "主控台記錄",
+ "openFileAriaLabel": "開啟檔案:{{path}}"
+ },
+ "diffView": {
+ "hiddenLines_other": "已隱藏 {{count}} 行"
}
}
diff --git a/webview-ui/src/i18n/locales/zh-TW/common.json b/webview-ui/src/i18n/locales/zh-TW/common.json
index b2fca75771..d494aa054f 100644
--- a/webview-ui/src/i18n/locales/zh-TW/common.json
+++ b/webview-ui/src/i18n/locales/zh-TW/common.json
@@ -18,7 +18,9 @@
},
"ui": {
"search_placeholder": "搜尋...",
- "no_results": "找不到結果"
+ "no_results": "找不到結果",
+ "close": "關閉",
+ "clear_search_aria_label": "清除搜尋"
},
"mermaid": {
"loading": "正在產生 Mermaid 圖表...",
@@ -41,7 +43,9 @@
"tabs": {
"view": "影像"
},
- "noData": "無圖片資料"
+ "noData": "無圖片資料",
+ "generatedAlt": "AI 產生的圖片",
+ "thumbnailAlt": "縮圖 {{index}}"
},
"confirmation": {
"deleteMessage": "刪除訊息",
diff --git a/webview-ui/src/i18n/locales/zh-TW/marketplace.json b/webview-ui/src/i18n/locales/zh-TW/marketplace.json
index a5c0a2e90d..061ef1fc82 100644
--- a/webview-ui/src/i18n/locales/zh-TW/marketplace.json
+++ b/webview-ui/src/i18n/locales/zh-TW/marketplace.json
@@ -70,7 +70,8 @@
"goToMcp": "前往 MCP 分頁",
"goToModes": "前往模式設定",
"moreInfoMcp": "檢視 {{name}} MCP 說明文件",
- "validationRequired": "請輸入 {{paramName}} 的值"
+ "validationRequired": "請輸入 {{paramName}} 的值",
+ "optional": "(選填)"
},
"removeConfirm": {
"mode": {
@@ -87,5 +88,9 @@
},
"footer": {
"issueText": "發現市集項目有問題或有新建議嗎?<0>到 GitHub 提出 Issue0> 告訴我們!"
+ },
+ "tabs": {
+ "mcp": "MCP",
+ "modes": "模式"
}
}
diff --git a/webview-ui/src/i18n/locales/zh-TW/mcp.json b/webview-ui/src/i18n/locales/zh-TW/mcp.json
index af01a19a3e..ac3d2e4544 100644
--- a/webview-ui/src/i18n/locales/zh-TW/mcp.json
+++ b/webview-ui/src/i18n/locales/zh-TW/mcp.json
@@ -55,5 +55,10 @@
"running": "執行中",
"completed": "已完成",
"error": "錯誤"
- }
+ },
+ "resource": {
+ "returns": "回傳",
+ "unknownMimeType": "未知"
+ },
+ "toggleServerAriaLabel": "啟用/停用 {{serverName}} 伺服器"
}
diff --git a/webview-ui/src/i18n/locales/zh-TW/prompts.json b/webview-ui/src/i18n/locales/zh-TW/prompts.json
index 2b3ea53864..0f5be8b161 100644
--- a/webview-ui/src/i18n/locales/zh-TW/prompts.json
+++ b/webview-ui/src/i18n/locales/zh-TW/prompts.json
@@ -12,7 +12,9 @@
},
"apiConfiguration": {
"title": "API 設定",
- "select": "選擇此模式要使用的 API 設定"
+ "select": "選擇此模式要使用的 API 設定",
+ "pinnedGroupAriaLabel": "已釘選的設定",
+ "allGroupAriaLabel": "所有設定"
},
"tools": {
"title": "可用工具",
@@ -47,7 +49,8 @@
"title": "模式專屬自訂指令(選用)",
"resetToDefault": "重設為預設值",
"description": "為 {{modeName}} 模式新增專屬的行為指南。",
- "loadFromFile": "{{mode}}模式的特定自訂指令也可以從工作區中的.roo/rules-{{slug}}/資料夾或全域<0>.roo/rules-{{slug}}/0>載入(.roorules-{{slug}}和.clinerules-{{slug}}已棄用,即將停止運作)。"
+ "loadFromFile": "{{mode}}模式的特定自訂指令也可以從工作區中的.roo/rules-{{slug}}/資料夾或全域<0>.roo/rules-{{slug}}/0>載入(.roorules-{{slug}}和.clinerules-{{slug}}已棄用,即將停止運作)。",
+ "loadFromFileAriaLabel": "瞭解模式的全域自訂指示"
},
"exportMode": {
"title": "匯出模式"
@@ -68,7 +71,9 @@
"globalCustomInstructions": {
"title": "所有模式的自訂指令",
"description": "這些指令適用於所有模式。它們提供了一套可透過下方特定模式指令強化的基本行為。<0>了解更多0>",
- "loadFromFile": "指令也可以從工作區中的.roo/rules/資料夾或全域<0>.roo/rules/0>載入(.roorules 和.clinerules 已棄用,即將停止運作)。"
+ "loadFromFile": "指令也可以從工作區中的.roo/rules/資料夾或全域<0>.roo/rules/0>載入(.roorules 和.clinerules 已棄用,即將停止運作)。",
+ "learnMoreAriaLabel": "深入瞭解全域自訂指示",
+ "loadFromFileAriaLabel": "瞭解如何設定全域自訂指示"
},
"systemPrompt": {
"preview": "預覽系統提示詞",
@@ -198,5 +203,10 @@
"rulesFolder": "此模式在 {{folderPath}} 有一個規則資料夾,該資料夾也將被刪除。",
"confirm": "刪除",
"cancel": "取消"
+ },
+ "mcpServers": {
+ "restrict": "限制為特定 MCP 伺服器",
+ "noneConnected": "沒有已連線的 MCP 伺服器",
+ "notConnected": "{{serverName}}(未連線)"
}
}
diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json
index 948577e63b..6478135187 100644
--- a/webview-ui/src/i18n/locales/zh-TW/settings.json
+++ b/webview-ui/src/i18n/locales/zh-TW/settings.json
@@ -6,7 +6,8 @@
"cancel": "取消",
"select": "選擇",
"add": "新增標頭",
- "remove": "移除"
+ "remove": "移除",
+ "milliseconds": "{{value}} 毫秒"
},
"header": {
"title": "設定",
@@ -79,7 +80,9 @@
"detailTasksImported_other": "已匯入 {{total}} 個工作歷史記錄中的 {{count}} 個。",
"detailPreparing": "正在準備匯入 Roo Code 歷史記錄。",
"progressAriaLabel": "Roo Code 歷史記錄匯入進度"
- }
+ },
+ "version": "版本:{{version}}",
+ "versionWithCommit": "版本:{{version}}({{commit}})"
},
"slashCommands": {
"description": "管理您的斜線命令,以便快速執行自訂工作流程和動作。 了解更多",
@@ -711,6 +714,17 @@
"signInDescription": "登入以使用您的帳戶存取 Zoo Gateway",
"authenticated": "已認證",
"authenticatedAs": "已認證為 {{name}}"
+ },
+ "awsAuthMethod": "驗證方式",
+ "qwenCode": {
+ "oauthPathLabel": "OAuth 憑證路徑",
+ "oauthPathDescription": "Qwen OAuth 憑證檔案的路徑。留空時預設使用 {{defaultPath}}。",
+ "description": "Qwen Code 是以 OAuth 為基礎的 API,需要透過官方 Qwen 用戶端進行驗證。請先設定 OAuth 憑證。",
+ "gettingStarted": "開始使用:",
+ "step1": "1. 安裝官方 Qwen 用戶端",
+ "step2": "2. 使用你的帳號進行驗證",
+ "step3": "3. OAuth 憑證將自動儲存",
+ "setupInstructions": "設定說明"
}
},
"checkpoints": {
@@ -942,7 +956,8 @@
"refreshing": "正在重新整理...",
"refreshSuccess": "工具重新整理成功",
"refreshError": "工具重新整理失敗",
- "toolParameters": "參數"
+ "toolParameters": "參數",
+ "required": "必填"
},
"DYNAMIC_THINKING_EFFORT": {
"name": "動態思考強度",
@@ -980,7 +995,11 @@
"freeRequests_other": "* 每分鐘可免費使用 {{count}} 次請求,超過後將依提示詞大小計費。",
"pricingDetails": "詳細資訊請參閱定價說明。",
"billingEstimate": "* 費用為估算值 - 實際費用取決於提示大小。"
- }
+ },
+ "tokensValue_other": "{{count, number}} Token",
+ "pricePerMillionTokens": "{{price}} / 百萬 Token",
+ "showMore": "展開",
+ "showLess": "收合"
},
"modelPicker": {
"automaticFetch": "此擴充功能會自動從 {{serviceName}} 取得最新的可用模型清單。如果不確定要選哪個模型,建議使用 {{defaultModelId}},這是與 Zoo Code 最佳搭配的模型。您也可以搜尋「free」來檢視目前可用的免費選項。",
@@ -1045,7 +1064,8 @@
"inputPrice": "例:0.0001",
"outputPrice": "例:0.0002",
"cacheWritePrice": "例:0.00005"
- }
+ },
+ "defaultValue": "預設:{{value}}"
},
"defaults": {
"ollamaUrl": "預設:http://localhost:11434",
@@ -1074,7 +1094,9 @@
"input": "輸入",
"output": "輸出",
"cacheReads": "快取讀取"
- }
+ },
+ "label": "服務層級",
+ "tooltip": "如需更快處理 API 請求,請試試優先處理服務層級。如需以較高延遲換取較低價格,請試試彈性處理層級。"
},
"skills": {
"description": "管理為代理提供上下文指令的技能。技能會在與您的任務相關時自動套用。深入了解",
diff --git a/webview-ui/src/i18n/locales/zh-TW/welcome.json b/webview-ui/src/i18n/locales/zh-TW/welcome.json
index 46dba04a22..5fd87c10de 100644
--- a/webview-ui/src/i18n/locales/zh-TW/welcome.json
+++ b/webview-ui/src/i18n/locales/zh-TW/welcome.json
@@ -1,7 +1,8 @@
{
"landing": {
"greeting": "歡迎使用 Zoo Code!",
- "introduction": "Zoo Code 提供一系列內建和可擴充的模式,讓您以前所未有的方式規劃專案、設計架構、編寫程式碼、除錯並提升工作效率。"
+ "introduction": "Zoo Code 提供一系列內建和可擴充的模式,讓您以前所未有的方式規劃專案、設計架構、編寫程式碼、除錯並提升工作效率。",
+ "logoAlt": "Roo 標誌"
},
"providerSignup": {
"heading": "選擇供應商",
diff --git a/webview-ui/src/utils/__tests__/context-mentions.spec.ts b/webview-ui/src/utils/__tests__/context-mentions.spec.ts
index 48b03907c3..642e1eb02f 100644
--- a/webview-ui/src/utils/__tests__/context-mentions.spec.ts
+++ b/webview-ui/src/utils/__tests__/context-mentions.spec.ts
@@ -1,3 +1,5 @@
+import type { TFunction } from "i18next"
+
import {
insertMention,
removeMention,
@@ -8,6 +10,10 @@ import {
SearchResult,
} from "@src/utils/context-mentions"
+// Echo interpolation options so assertions can check what a label names
+const t = ((key: string, options?: Record) =>
+ options ? `${key} ${JSON.stringify(options)}` : key) as TFunction
+
describe("insertMention", () => {
it("should insert mention at cursor position when no @ symbol exists", () => {
const result = insertMention("Hello world", 5, "test")
@@ -237,7 +243,7 @@ describe("getContextMenuOptions", () => {
]
it("should return all option types for empty query", () => {
- const result = getContextMenuOptions("", null, [])
+ const result = getContextMenuOptions(t, "", null, [])
expect(result).toHaveLength(6)
expect(result.map((item) => item.type)).toEqual([
ContextMenuOptionType.Problems,
@@ -250,7 +256,7 @@ describe("getContextMenuOptions", () => {
})
it("should filter by selected type when query is empty", () => {
- const result = getContextMenuOptions("", ContextMenuOptionType.File, mockQueryItems)
+ const result = getContextMenuOptions(t, "", ContextMenuOptionType.File, mockQueryItems)
expect(result).toHaveLength(2)
expect(result.map((item) => item.type)).toContain(ContextMenuOptionType.File)
expect(result.map((item) => item.type)).toContain(ContextMenuOptionType.OpenedFile)
@@ -259,19 +265,67 @@ describe("getContextMenuOptions", () => {
})
it("should match git commands", () => {
- const result = getContextMenuOptions("git", null, mockQueryItems)
+ const result = getContextMenuOptions(t, "git", null, mockQueryItems)
+ expect(result[0].type).toBe(ContextMenuOptionType.Git)
+ expect(result[0].label).toBe("chat:contextMenu.gitCommits")
+ expect(result[0].description).toBe("chat:contextMenu.gitCommitsDescription")
+ })
+
+ describe("top-level options matched by translated label", () => {
+ const spanishLabels: Record = {
+ "chat:contextMenu.gitCommits": "Commits de Git",
+ "chat:contextMenu.workingChanges": "Cambios en curso",
+ "chat:contextMenu.problems": "Problemas",
+ "chat:contextMenu.terminal": "Terminal integrada",
+ "chat:contextMenu.addFolder": "Añadir carpeta",
+ "chat:contextMenu.addFile": "Añadir archivo",
+ }
+ const spanishT = ((key: string) => spanishLabels[key] ?? key) as TFunction
+ const topLevel = (query: string) =>
+ getContextMenuOptions(spanishT, query, null, [])
+ .filter((item) => item.type !== ContextMenuOptionType.NoResults)
+ .map((item) => item.label ?? item.type)
+
+ it.each([
+ ["comm", ["Commits de Git"]],
+ ["camb", ["Cambios en curso"]],
+ ["probl", [ContextMenuOptionType.Problems]],
+ ["integ", [ContextMenuOptionType.Terminal]],
+ ["carp", [ContextMenuOptionType.Folder]],
+ ["arch", [ContextMenuOptionType.File]],
+ // Both valueless picker options share a label word and must both survive deduplication.
+ ["añad", [ContextMenuOptionType.Folder, ContextMenuOptionType.File]],
+ ])("finds %s by a word of its label", (query, expected) => {
+ expect(topLevel(query)).toEqual(expected)
+ })
+
+ it.each([
+ ["git", ["Commits de Git", "Cambios en curso"]],
+ ["git-c", ["Cambios en curso"]],
+ ["prob", [ContextMenuOptionType.Problems]],
+ ["term", [ContextMenuOptionType.Terminal]],
+ ["fol", [ContextMenuOptionType.Folder]],
+ ["fil", [ContextMenuOptionType.File]],
+ ])("keeps matching %s by its mention token", (query, expected) => {
+ expect(topLevel(query)).toEqual(expected)
+ })
+ })
+
+ it("should offer an unknown commit hash with a translated label", () => {
+ const result = getContextMenuOptions(t, "def5678", null, mockQueryItems)
expect(result[0].type).toBe(ContextMenuOptionType.Git)
- expect(result[0].label).toBe("Git Commits")
+ expect(result[0].label).toBe('chat:contextMenu.commit {"hash":"def5678"}')
+ expect(result[0].description).toBe("chat:contextMenu.commitHashDescription")
})
it("should match git commit hashes", () => {
- const result = getContextMenuOptions("abc1234", null, mockQueryItems)
+ const result = getContextMenuOptions(t, "abc1234", null, mockQueryItems)
expect(result[0].type).toBe(ContextMenuOptionType.Git)
expect(result[0].value).toBe("abc1234")
})
it("should return NoResults when no matches found", () => {
- const result = getContextMenuOptions("nonexistent", null, mockQueryItems)
+ const result = getContextMenuOptions(t, "nonexistent", null, mockQueryItems)
expect(result).toHaveLength(1)
expect(result[0].type).toBe(ContextMenuOptionType.NoResults)
})
@@ -292,7 +346,7 @@ describe("getContextMenuOptions", () => {
},
]
- const result = getContextMenuOptions("test", null, testItems, mockDynamicSearchResults)
+ const result = getContextMenuOptions(t, "test", null, testItems, mockDynamicSearchResults)
// Check if opened files and dynamic search results are included
expect(result.some((item) => item.type === ContextMenuOptionType.OpenedFile)).toBe(true)
@@ -301,7 +355,7 @@ describe("getContextMenuOptions", () => {
it("should maintain correct result ordering according to implementation", () => {
// Add multiple item types to test ordering
- const result = getContextMenuOptions("t", null, mockQueryItems, mockDynamicSearchResults)
+ const result = getContextMenuOptions(t, "t", null, mockQueryItems, mockDynamicSearchResults)
// Find the different result types
const fileResults = result.filter(
@@ -332,7 +386,7 @@ describe("getContextMenuOptions", () => {
})
it("should include opened files when dynamic search results exist", () => {
- const result = getContextMenuOptions("open", null, mockQueryItems, mockDynamicSearchResults)
+ const result = getContextMenuOptions(t, "open", null, mockQueryItems, mockDynamicSearchResults)
// Verify opened files are included
expect(result.some((item) => item.type === ContextMenuOptionType.OpenedFile)).toBe(true)
@@ -341,7 +395,7 @@ describe("getContextMenuOptions", () => {
})
it("should include git results when dynamic search results exist", () => {
- const result = getContextMenuOptions("commit", null, mockQueryItems, mockDynamicSearchResults)
+ const result = getContextMenuOptions(t, "commit", null, mockQueryItems, mockDynamicSearchResults)
// Verify git results are included
expect(result.some((item) => item.type === ContextMenuOptionType.Git)).toBe(true)
@@ -362,7 +416,7 @@ describe("getContextMenuOptions", () => {
},
]
- const result = getContextMenuOptions("test", null, mockQueryItems, duplicateSearchResults)
+ const result = getContextMenuOptions(t, "test", null, mockQueryItems, duplicateSearchResults)
// Count occurrences of src/test.ts in results
const duplicateCount = result.filter(
@@ -380,6 +434,7 @@ describe("getContextMenuOptions", () => {
it("should return NoResults when all combined results are empty with dynamic search", () => {
// Use a query that won't match anything
const result = getContextMenuOptions(
+ t,
"nonexistentquery123456",
null,
mockQueryItems,
@@ -428,7 +483,7 @@ describe("getContextMenuOptions", () => {
]
// Get results for "test" query
- const result = getContextMenuOptions(testQuery, null, testItems, testSearchResults)
+ const result = getContextMenuOptions(t, testQuery, null, testItems, testSearchResults)
// Verify we have results
expect(result.length).toBeGreaterThan(0)
@@ -474,7 +529,7 @@ describe("getContextMenuOptions", () => {
},
]
- const result = getContextMenuOptions("/co", null, [], [], mockModes)
+ const result = getContextMenuOptions(t, "/co", null, [], [], mockModes)
// Should have section header first, then mode results
expect(result[0].type).toBe(ContextMenuOptionType.SectionHeader)
@@ -485,7 +540,7 @@ describe("getContextMenuOptions", () => {
it("should not process slash commands when query starts with slash but inputValue doesn't", () => {
// Use a completely non-matching query to ensure we get NoResults
// and provide empty query items to avoid any matches
- const result = getContextMenuOptions("/nonexistentquery", null, [], [])
+ const result = getContextMenuOptions(t, "/nonexistentquery", null, [], [])
// Should not process as a mode command
expect(result[0].type).not.toBe(ContextMenuOptionType.Mode)
@@ -495,7 +550,7 @@ describe("getContextMenuOptions", () => {
// --- Tests for Escaped Spaces (Focus on how paths are presented) ---
it("should return search results with correct labels/descriptions (no escaping needed here)", () => {
- const options = getContextMenuOptions("@search", null, mockQueryItems, mockSearchResults)
+ const options = getContextMenuOptions(t, "@search", null, mockQueryItems, mockSearchResults)
const fileResult = options.find((o) => o.label === "search result spaces.ts")
expect(fileResult).toBeDefined()
// Value should be the normalized path, description might be the same or label
@@ -508,7 +563,7 @@ describe("getContextMenuOptions", () => {
})
it("should return query items (like opened files) with correct labels/descriptions", () => {
- const options = getContextMenuOptions("open", null, mockQueryItems, [])
+ const options = getContextMenuOptions(t, "open", null, mockQueryItems, [])
const openedFile = options.find((o) => o.label === "open file.ts")
expect(openedFile).toBeDefined()
expect(openedFile?.value).toBe("src/open file.ts")
@@ -525,7 +580,7 @@ describe("getContextMenuOptions", () => {
]
// The formatting happens in getContextMenuOptions when converting search results to menu items
- const formattedItems = getContextMenuOptions("spaces", null, [], searchResults)
+ const formattedItems = getContextMenuOptions(t, "spaces", null, [], searchResults)
// Verify we get some results back that aren't "No Results"
expect(formattedItems.length).toBeGreaterThan(0)
diff --git a/webview-ui/src/utils/context-mentions.ts b/webview-ui/src/utils/context-mentions.ts
index 22dba8864f..904f43dc7c 100644
--- a/webview-ui/src/utils/context-mentions.ts
+++ b/webview-ui/src/utils/context-mentions.ts
@@ -1,4 +1,5 @@
import { Fzf } from "fzf"
+import type { TFunction } from "i18next"
import type { ModeConfig, Command } from "@roo-code/types"
@@ -121,7 +122,22 @@ export interface ContextMenuQueryItem {
argumentHint?: string
}
+/**
+ * Whether a lowercased query matches a top-level option: a prefix of its mention token, or of any
+ * word of its translated label, so "comm" finds "Commits de Git".
+ */
+function matchesTopLevelOption(lowerQuery: string, label: string, token: string): boolean {
+ return (
+ token.startsWith(lowerQuery) ||
+ label
+ .toLowerCase()
+ .split(/\s+/)
+ .some((word) => word.startsWith(lowerQuery))
+ )
+}
+
export function getContextMenuOptions(
+ t: TFunction,
query: string,
selectedType: ContextMenuOptionType | null = null,
queryItems: ContextMenuQueryItem[],
@@ -168,7 +184,7 @@ export function getContextMenuOptions(
if (matchingCommands.length > 0) {
results.push({
type: ContextMenuOptionType.SectionHeader,
- label: "Commands",
+ label: t("chat:contextMenu.commands"),
})
results.push(...matchingCommands)
}
@@ -205,7 +221,7 @@ export function getContextMenuOptions(
if (matchingModes.length > 0) {
results.push({
type: ContextMenuOptionType.SectionHeader,
- label: "Modes",
+ label: t("chat:contextMenu.modes"),
})
results.push(...matchingModes)
}
@@ -217,8 +233,8 @@ export function getContextMenuOptions(
const workingChanges: ContextMenuQueryItem = {
type: ContextMenuOptionType.Git,
value: "git-changes",
- label: "Working changes",
- description: "Current uncommitted changes",
+ label: t("chat:contextMenu.workingChanges"),
+ description: t("chat:contextMenu.workingChangesDescription"),
icon: "$(git-commit)",
}
@@ -262,22 +278,30 @@ export function getContextMenuOptions(
const suggestions: ContextMenuQueryItem[] = []
// Check for top-level option matches
- if ("git".startsWith(lowerQuery)) {
+ const gitCommitsLabel = t("chat:contextMenu.gitCommits")
+ if (matchesTopLevelOption(lowerQuery, gitCommitsLabel, "git")) {
suggestions.push({
type: ContextMenuOptionType.Git,
- label: "Git Commits",
- description: "Search repository history",
+ label: gitCommitsLabel,
+ description: t("chat:contextMenu.gitCommitsDescription"),
icon: "$(git-commit)",
})
- } else if ("git-changes".startsWith(lowerQuery)) {
+ }
+ if (matchesTopLevelOption(lowerQuery, t("chat:contextMenu.workingChanges"), "git-changes")) {
suggestions.push(workingChanges)
}
- if ("problems".startsWith(lowerQuery)) {
+ if (matchesTopLevelOption(lowerQuery, t("chat:contextMenu.problems"), "problems")) {
suggestions.push({ type: ContextMenuOptionType.Problems })
}
- if ("terminal".startsWith(lowerQuery)) {
+ if (matchesTopLevelOption(lowerQuery, t("chat:contextMenu.terminal"), "terminal")) {
suggestions.push({ type: ContextMenuOptionType.Terminal })
}
+ if (matchesTopLevelOption(lowerQuery, t("chat:contextMenu.addFolder"), "folder")) {
+ suggestions.push({ type: ContextMenuOptionType.Folder })
+ }
+ if (matchesTopLevelOption(lowerQuery, t("chat:contextMenu.addFile"), "file")) {
+ suggestions.push({ type: ContextMenuOptionType.File })
+ }
if (query.startsWith("http")) {
suggestions.push({ type: ContextMenuOptionType.URL, value: query })
}
@@ -294,8 +318,8 @@ export function getContextMenuOptions(
suggestions.push({
type: ContextMenuOptionType.Git,
value: lowerQuery,
- label: `Commit ${lowerQuery}`,
- description: "Git commit hash",
+ label: t("chat:contextMenu.commit", { hash: lowerQuery }),
+ description: t("chat:contextMenu.commitHashDescription"),
icon: "$(git-commit)",
})
}
@@ -352,7 +376,8 @@ export function getContextMenuOptions(
item.type === ContextMenuOptionType.Folder ||
item.type === ContextMenuOptionType.OpenedFile
) {
- key = normalizedValue!
+ // The valueless "Add Folder" / "Add File" options are keyed by type so both survive.
+ key = normalizedValue ?? item.type
} else {
key = `${item.type}-${normalizedValue}`
}