ソースを参照

implemented i18n for Internationalization of Conversation Buttons and Prompts

Signed-off-by: feifei <[email protected]>
feifei 9 ヶ月 前
コミット
66c6dbb680
40 ファイル変更1349 行追加64 行削除
  1. 51 56
      webview-ui/src/components/chat/ChatView.tsx
  2. 8 7
      webview-ui/src/components/common/TelemetryBanner.tsx
  3. 60 0
      webview-ui/src/i18n/locales/ar/chat.json
  4. 8 0
      webview-ui/src/i18n/locales/ar/common.json
  5. 60 0
      webview-ui/src/i18n/locales/ca/chat.json
  6. 8 0
      webview-ui/src/i18n/locales/ca/common.json
  7. 60 0
      webview-ui/src/i18n/locales/cs/chat.json
  8. 8 0
      webview-ui/src/i18n/locales/cs/common.json
  9. 60 0
      webview-ui/src/i18n/locales/de/chat.json
  10. 8 0
      webview-ui/src/i18n/locales/de/common.json
  11. 58 1
      webview-ui/src/i18n/locales/en/chat.json
  12. 8 0
      webview-ui/src/i18n/locales/en/common.json
  13. 60 0
      webview-ui/src/i18n/locales/es/chat.json
  14. 8 0
      webview-ui/src/i18n/locales/es/common.json
  15. 60 0
      webview-ui/src/i18n/locales/fr/chat.json
  16. 8 0
      webview-ui/src/i18n/locales/fr/common.json
  17. 60 0
      webview-ui/src/i18n/locales/hi/chat.json
  18. 8 0
      webview-ui/src/i18n/locales/hi/common.json
  19. 60 0
      webview-ui/src/i18n/locales/hu/chat.json
  20. 8 0
      webview-ui/src/i18n/locales/hu/common.json
  21. 60 0
      webview-ui/src/i18n/locales/it/chat.json
  22. 8 0
      webview-ui/src/i18n/locales/it/common.json
  23. 60 0
      webview-ui/src/i18n/locales/ja/chat.json
  24. 8 0
      webview-ui/src/i18n/locales/ja/common.json
  25. 60 0
      webview-ui/src/i18n/locales/ko/chat.json
  26. 8 0
      webview-ui/src/i18n/locales/ko/common.json
  27. 60 0
      webview-ui/src/i18n/locales/pl/chat.json
  28. 8 0
      webview-ui/src/i18n/locales/pl/common.json
  29. 60 0
      webview-ui/src/i18n/locales/pt-BR/chat.json
  30. 8 0
      webview-ui/src/i18n/locales/pt-BR/common.json
  31. 60 0
      webview-ui/src/i18n/locales/pt/chat.json
  32. 8 0
      webview-ui/src/i18n/locales/pt/common.json
  33. 60 0
      webview-ui/src/i18n/locales/ru/chat.json
  34. 8 0
      webview-ui/src/i18n/locales/ru/common.json
  35. 60 0
      webview-ui/src/i18n/locales/tr/chat.json
  36. 8 0
      webview-ui/src/i18n/locales/tr/common.json
  37. 60 0
      webview-ui/src/i18n/locales/zh-CN/chat.json
  38. 8 0
      webview-ui/src/i18n/locales/zh-CN/common.json
  39. 60 0
      webview-ui/src/i18n/locales/zh-TW/chat.json
  40. 8 0
      webview-ui/src/i18n/locales/zh-TW/common.json

+ 51 - 56
webview-ui/src/components/chat/ChatView.tsx

@@ -119,16 +119,16 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 							setTextAreaDisabled(true)
 							setClineAsk("api_req_failed")
 							setEnableButtons(true)
-							setPrimaryButtonText("Retry")
-							setSecondaryButtonText("Start New Task")
+							setPrimaryButtonText(t("chat:retry.title"))
+							setSecondaryButtonText(t("chat:startNewTask.title"))
 							break
 						case "mistake_limit_reached":
 							playSound("progress_loop")
 							setTextAreaDisabled(false)
 							setClineAsk("mistake_limit_reached")
 							setEnableButtons(true)
-							setPrimaryButtonText("Proceed Anyways")
-							setSecondaryButtonText("Start New Task")
+							setPrimaryButtonText(t("chat:proceedAnyways.title"))
+							setSecondaryButtonText(t("chat:startNewTask.title"))
 							break
 						case "followup":
 							setTextAreaDisabled(isPartial)
@@ -149,16 +149,16 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 								case "editedExistingFile":
 								case "appliedDiff":
 								case "newFileCreated":
-									setPrimaryButtonText("Save")
-									setSecondaryButtonText("Reject")
+									setPrimaryButtonText(t("chat:save.title"))
+									setSecondaryButtonText(t("chat:reject.title"))
 									break
 								case "finishTask":
-									setPrimaryButtonText("Complete Subtask and Return")
+									setPrimaryButtonText(t("chat:completeSubtaskAndReturn.title"))
 									setSecondaryButtonText(undefined)
 									break
 								default:
-									setPrimaryButtonText("Approve")
-									setSecondaryButtonText("Reject")
+									setPrimaryButtonText(t("chat:approve.title"))
+									setSecondaryButtonText(t("chat:reject.title"))
 									break
 							}
 							break
@@ -169,8 +169,8 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 							setTextAreaDisabled(isPartial)
 							setClineAsk("browser_action_launch")
 							setEnableButtons(!isPartial)
-							setPrimaryButtonText("Approve")
-							setSecondaryButtonText("Reject")
+							setPrimaryButtonText(t("chat:approve.title"))
+							setSecondaryButtonText(t("chat:reject.title"))
 							break
 						case "command":
 							if (!isAutoApproved(lastMessage)) {
@@ -179,22 +179,22 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 							setTextAreaDisabled(isPartial)
 							setClineAsk("command")
 							setEnableButtons(!isPartial)
-							setPrimaryButtonText("Run Command")
-							setSecondaryButtonText("Reject")
+							setPrimaryButtonText(t("chat:runCommand.title"))
+							setSecondaryButtonText(t("chat:reject.title"))
 							break
 						case "command_output":
 							setTextAreaDisabled(false)
 							setClineAsk("command_output")
 							setEnableButtons(true)
-							setPrimaryButtonText("Proceed While Running")
+							setPrimaryButtonText(t("chat:proceedWhileRunning.title"))
 							setSecondaryButtonText(undefined)
 							break
 						case "use_mcp_server":
 							setTextAreaDisabled(isPartial)
 							setClineAsk("use_mcp_server")
 							setEnableButtons(!isPartial)
-							setPrimaryButtonText("Approve")
-							setSecondaryButtonText("Reject")
+							setPrimaryButtonText(t("chat:approve.title"))
+							setSecondaryButtonText(t("chat:reject.title"))
 							break
 						case "completion_result":
 							// extension waiting for feedback. but we can just present a new task button
@@ -202,22 +202,22 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 							setTextAreaDisabled(isPartial)
 							setClineAsk("completion_result")
 							setEnableButtons(!isPartial)
-							setPrimaryButtonText("Start New Task")
+							setPrimaryButtonText(t("chat:startNewTask.title"))
 							setSecondaryButtonText(undefined)
 							break
 						case "resume_task":
 							setTextAreaDisabled(false)
 							setClineAsk("resume_task")
 							setEnableButtons(true)
-							setPrimaryButtonText("Resume Task")
-							setSecondaryButtonText("Terminate")
+							setPrimaryButtonText(t("chat:resumeTask.title"))
+							setSecondaryButtonText(t("chat:terminate.title"))
 							setDidClickCancel(false) // special case where we reset the cancel button state
 							break
 						case "resume_completed_task":
 							setTextAreaDisabled(false)
 							setClineAsk("resume_completed_task")
 							setEnableButtons(true)
-							setPrimaryButtonText("Start New Task")
+							setPrimaryButtonText(t("chat:startNewTask.title"))
 							setSecondaryButtonText(undefined)
 							setDidClickCancel(false)
 							break
@@ -942,11 +942,11 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 	)
 
 	const placeholderText = useMemo(() => {
-		const baseText = task ? "Type a message..." : "Type your task here..."
-		const contextText = "(@ to add context, / to switch modes"
-		const imageText = shouldDisableImages ? ", hold shift to drag in files" : ", hold shift to drag in files/images"
+		const baseText = task ? t("chat:typeMessage") : t("chat:typeTask")
+		const contextText = t("chat:addContext")
+		const imageText = shouldDisableImages ? `, ${t("chat:dragFiles")}` : `, ${t("chat:dragFilesImages")}`
 		return baseText + `\n${contextText}${imageText})`
-	}, [task, shouldDisableImages])
+	}, [task, shouldDisableImages, t])
 
 	const itemContent = useCallback(
 		(index: number, messageOrGroup: ClineMessage | ClineMessage[]) => {
@@ -1107,13 +1107,7 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 					{showAnnouncement && <Announcement version={version} hideAnnouncement={hideAnnouncement} />}
 					<div style={{ padding: "0 20px", flexShrink: 0 }}>
 						<h2>{t("chat:greeting")}</h2>
-						<p>
-							Thanks to the latest breakthroughs in agentic coding capabilities, I can handle complex
-							software development tasks step-by-step. With tools that let me create & edit files, explore
-							complex projects, use the browser, and execute terminal commands (after you grant
-							permission), I can assist you in ways that go beyond code completion or tech support. I can
-							even use MCP to create new tools and extend my own capabilities.
-						</p>
+						<p>{t("chat:aboutMe")}</p>
 					</div>
 					{taskHistory.length > 0 && <HistoryPreview showHistoryView={showHistoryView} />}
 				</div>
@@ -1185,7 +1179,7 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 									scrollToBottomSmooth()
 									disableAutoScrollRef.current = false
 								}}
-								title="Scroll to bottom of chat">
+								title={t("chat:scrollToBottom")}>
 								<span className="codicon codicon-chevron-down" style={{ fontSize: "18px" }}></span>
 							</ScrollToBottomButton>
 						</div>
@@ -1210,22 +1204,23 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 										marginRight: secondaryButtonText ? "6px" : "0",
 									}}
 									title={
-										primaryButtonText === "Retry"
-											? "Try the operation again"
-											: primaryButtonText === "Save"
-												? "Save the file changes"
-												: primaryButtonText === "Approve"
-													? "Approve this action"
-													: primaryButtonText === "Run Command"
-														? "Execute this command"
-														: primaryButtonText === "Start New Task"
-															? "Begin a new task"
-															: primaryButtonText === "Resume Task"
-																? "Continue the current task"
-																: primaryButtonText === "Proceed Anyways"
-																	? "Continue despite warnings"
-																	: primaryButtonText === "Proceed While Running"
-																		? "Continue while command executes"
+										primaryButtonText === t("chat:retry.title")
+											? t("chat:retry.tooltip")
+											: primaryButtonText === t("chat:save.title")
+												? t("chat:save.tooltip")
+												: primaryButtonText === t("chat:approve.title")
+													? t("chat:approve.tooltip")
+													: primaryButtonText === t("chat:runCommand.title")
+														? t("chat:runCommand.tooltip")
+														: primaryButtonText === t("chat:startNewTask.title")
+															? t("chat:startNewTask.tooltip")
+															: primaryButtonText === t("chat:resumeTask.title")
+																? t("chat:resumeTask.tooltip")
+																: primaryButtonText === t("chat:proceedAnyways.title")
+																	? t("chat:proceedAnyways.tooltip")
+																	: primaryButtonText ===
+																		  t("chat:proceedWhileRunning.title")
+																		? t("chat:proceedWhileRunning.tooltip")
 																		: undefined
 									}
 									onClick={(e) => handlePrimaryButtonClick(inputValue, selectedImages)}>
@@ -1242,17 +1237,17 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
 									}}
 									title={
 										isStreaming
-											? "Cancel the current operation"
-											: secondaryButtonText === "Start New Task"
-												? "Begin a new task"
-												: secondaryButtonText === "Reject"
-													? "Reject this action"
-													: secondaryButtonText === "Terminate"
-														? "End the current task"
+											? t("chat:cancel.tooltip")
+											: secondaryButtonText === t("chat:startNewTask.title")
+												? t("chat:startNewTask.tooltip")
+												: secondaryButtonText === t("chat:reject.title")
+													? t("chat:reject.tooltip")
+													: secondaryButtonText === t("chat:terminate.title")
+														? t("chat:terminate.tooltip")
 														: undefined
 									}
 									onClick={(e) => handleSecondaryButtonClick(inputValue, selectedImages)}>
-									{isStreaming ? "Cancel" : secondaryButtonText}
+									{isStreaming ? t("chat:cancel.title") : secondaryButtonText}
 								</VSCodeButton>
 							)}
 						</div>

+ 8 - 7
webview-ui/src/components/common/TelemetryBanner.tsx

@@ -3,6 +3,7 @@ import { memo, useState } from "react"
 import styled from "styled-components"
 import { vscode } from "../../utils/vscode"
 import { TelemetrySetting } from "../../../../src/shared/TelemetrySetting"
+import { useAppTranslation } from "../../i18n/TranslationContext"
 
 const BannerContainer = styled.div`
 	background-color: var(--vscode-banner-background);
@@ -24,6 +25,7 @@ const ButtonContainer = styled.div`
 `
 
 const TelemetryBanner = () => {
+	const { t } = useAppTranslation()
 	const [hasChosen, setHasChosen] = useState(false)
 
 	const handleAllow = () => {
@@ -43,14 +45,13 @@ const TelemetryBanner = () => {
 	return (
 		<BannerContainer>
 			<div>
-				<strong>Help Improve Roo Code</strong>
+				<strong>{t("common:telemetryTitle")}</strong>
 				<div className="mt-1">
-					Send anonymous error and usage data to help us fix bugs and improve the extension. No code, prompts,
-					or personal information is ever sent.
+					{t("common:anonymousTelemetry")}
 					<div className="mt-1">
-						You can always change this at the bottom of the{" "}
+						{t("common:changeSettings")}{" "}
 						<VSCodeLink href="#" onClick={handleOpenSettings}>
-							settings
+							{t("common:settings")}
 						</VSCodeLink>
 						.
 					</div>
@@ -58,10 +59,10 @@ const TelemetryBanner = () => {
 			</div>
 			<ButtonContainer>
 				<VSCodeButton appearance="primary" onClick={handleAllow} disabled={hasChosen}>
-					Allow
+					{t("common:allow")}
 				</VSCodeButton>
 				<VSCodeButton appearance="secondary" onClick={handleDeny} disabled={hasChosen}>
-					Deny
+					{t("common:deny")}
 				</VSCodeButton>
 			</ButtonContainer>
 		</BannerContainer>

+ 60 - 0
webview-ui/src/i18n/locales/ar/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "ماذا يمكن أن يفعل Roo من أجلك؟",
+	"retry": {
+		"title": "إعادة المحاولة",
+		"tooltip": "حاول العملية مرة أخرى"
+	},
+	"startNewTask": {
+		"title": "بدء مهمة جديدة",
+		"tooltip": "ابدأ مهمة جديدة"
+	},
+	"proceedAnyways": {
+		"title": "المتابعة على أي حال",
+		"tooltip": "استمر أثناء تنفيذ الأمر"
+	},
+	"save": {
+		"title": "حفظ",
+		"tooltip": "حفظ تغييرات الملف"
+	},
+	"reject": {
+		"title": "رفض",
+		"tooltip": "رفض هذا الإجراء"
+	},
+	"completeSubtaskAndReturn": "إكمال المهمة الفرعية والعودة",
+	"approve": {
+		"title": "موافقة",
+		"tooltip": "الموافقة على هذا الإجراء"
+	},
+	"runCommand": {
+		"title": "تنفيذ الأمر",
+		"tooltip": "تنفيذ هذا الأمر"
+	},
+	"proceedWhileRunning": {
+		"title": "المتابعة أثناء التشغيل",
+		"tooltip": "استمر على الرغم من التحذيرات"
+	},
+	"resumeTask": {
+		"title": "استئناف المهمة",
+		"tooltip": "استئناف المهمة الحالية"
+	},
+	"terminate": {
+		"title": "إنهاء",
+		"tooltip": "إنهاء المهمة الحالية"
+	},
+	"cancel": {
+		"title": "إلغاء",
+		"tooltip": "إلغاء العملية الحالية"
+	},
+	"scrollToBottom": "التمرير إلى أسفل الدردشة",
+	"aboutMe": "بفضل أحدث التطورات في قدرات الترميز الذكية، يمكنني التعامل مع مهام تطوير البرمجيات المعقدة خطوة بخطوة. باستخدام الأدوات التي تتيح لي إنشاء وتحرير الملفات، واستكشاف المشاريع المعقدة، واستخدام المتصفح، وتنفيذ أوامر الطرفية (بعد منحك الإذن)، يمكنني مساعدتك بطرق تتجاوز إكمال التعليمات البرمجية أو الدعم الفني. يمكنني حتى استخدام MCP لإنشاء أدوات جديدة وتوسيع قدراتي الخاصة.",
+	"selectMode": "اختر وضع التفاعل",
+	"selectApiConfig": "اختر تكوين API",
+	"enhancePrompt": "تحسين المطالبة بسياق إضافي",
+	"addImages": "إضافة صور إلى الرسالة",
+	"sendMessage": "إرسال الرسالة",
+	"typeMessage": "اكتب رسالة...",
+	"typeTask": "اكتب مهمتك هنا...",
+	"addContext": "(@ لإضافة سياق، / لتبديل الأوضاع",
+	"dragFiles": "اضغط على shift لسحب الملفات",
+	"dragFilesImages": "اضغط على shift لسحب الملفات/الصور"
+}

+ 8 - 0
webview-ui/src/i18n/locales/ar/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "ساعد في تحسين Roo Code",
+	"anonymousTelemetry": "إرسال بيانات الاستخدام والأخطاء المجهولة للمساعدة في إصلاح الأخطاء وتحسين الامتداد. لا يتم إرسال أي كود أو نصوص أو معلومات شخصية.",
+	"changeSettings": "يمكنك دائمًا تغيير هذا في أسفل الإعدادات",
+	"settings": "الإعدادات",
+	"allow": "السماح",
+	"deny": "رفض"
+}

+ 60 - 0
webview-ui/src/i18n/locales/ca/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Què pot fer Roo per tu?",
+	"retry": {
+		"title": "Tornar a intentar",
+		"tooltip": "Torna a provar l'operació"
+	},
+	"startNewTask": {
+		"title": "Començar una nova tasca",
+		"tooltip": "Comença una nova tasca"
+	},
+	"proceedAnyways": {
+		"title": "Continuar de totes maneres",
+		"tooltip": "Continua mentre s'executa l'ordre"
+	},
+	"save": {
+		"title": "Desar",
+		"tooltip": "Desa els canvis del fitxer"
+	},
+	"reject": {
+		"title": "Rebutjar",
+		"tooltip": "Rebutja aquesta acció"
+	},
+	"completeSubtaskAndReturn": "Completar la subtasca i tornar",
+	"approve": {
+		"title": "Aprovar",
+		"tooltip": "Aprova aquesta acció"
+	},
+	"runCommand": {
+		"title": "Executar ordre",
+		"tooltip": "Executa aquesta ordre"
+	},
+	"proceedWhileRunning": {
+		"title": "Continuar mentre s'executa",
+		"tooltip": "Continua malgrat els advertiments"
+	},
+	"resumeTask": {
+		"title": "Reprendre la tasca",
+		"tooltip": "Repren la tasca actual"
+	},
+	"terminate": {
+		"title": "Finalitzar",
+		"tooltip": "Finalitza la tasca actual"
+	},
+	"cancel": {
+		"title": "Cancel·lar",
+		"tooltip": "Cancel·la l'operació actual"
+	},
+	"scrollToBottom": "Desplaça't al final del xat",
+	"aboutMe": "Gràcies als últims avenços en capacitats de codificació intel·ligent, puc gestionar tasques complexes de desenvolupament de programari pas a pas. Amb eines que em permeten crear i editar fitxers, explorar projectes complexos, utilitzar el navegador i executar ordres de terminal (després que em donis permís), puc ajudar-te de maneres que van més enllà de la finalització de codi o el suport tècnic. Fins i tot puc utilitzar MCP per crear noves eines i ampliar les meves capacitats.",
+	"selectMode": "Selecciona el mode d'interacció",
+	"selectApiConfig": "Selecciona la configuració de l'API",
+	"enhancePrompt": "Millora la sol·licitud amb context addicional",
+	"addImages": "Afegeix imatges al missatge",
+	"sendMessage": "Envia el missatge",
+	"typeMessage": "Escriu un missatge...",
+	"typeTask": "Escriu la teva tasca aquí...",
+	"addContext": "(@ per afegir context, / per canviar de mode",
+	"dragFiles": "manté premut shift per arrossegar fitxers",
+	"dragFilesImages": "manté premut shift per arrossegar fitxers/imatges"
+}

+ 8 - 0
webview-ui/src/i18n/locales/ca/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Ajuda a millorar Roo Code",
+	"anonymousTelemetry": "Envia dades d'ús i errors anònims per ajudar-nos a corregir errors i millorar l'extensió. No s'envia mai cap codi, text o informació personal.",
+	"changeSettings": "Sempre pots canviar això a la part inferior de la configuració",
+	"settings": "configuració",
+	"allow": "Permetre",
+	"deny": "Denegar"
+}

+ 60 - 0
webview-ui/src/i18n/locales/cs/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Co pro vás může Roo udělat?",
+	"retry": {
+		"title": "Zkusit znovu",
+		"tooltip": "Zkuste operaci znovu"
+	},
+	"startNewTask": {
+		"title": "Zahájit nový úkol",
+		"tooltip": "Začněte nový úkol"
+	},
+	"proceedAnyways": {
+		"title": "Pokračovat i tak",
+		"tooltip": "Pokračujte během provádění příkazu"
+	},
+	"save": {
+		"title": "Uložit",
+		"tooltip": "Uložit změny souboru"
+	},
+	"reject": {
+		"title": "Odmítnout",
+		"tooltip": "Odmítnout tuto akci"
+	},
+	"completeSubtaskAndReturn": "Dokončit dílčí úkol a vrátit se",
+	"approve": {
+		"title": "Schválit",
+		"tooltip": "Schválit tuto akci"
+	},
+	"runCommand": {
+		"title": "Spustit příkaz",
+		"tooltip": "Spustit tento příkaz"
+	},
+	"proceedWhileRunning": {
+		"title": "Pokračovat během provádění",
+		"tooltip": "Pokračujte navzdory varováním"
+	},
+	"resumeTask": {
+		"title": "Pokračovat v úkolu",
+		"tooltip": "Pokračujte v aktuálním úkolu"
+	},
+	"terminate": {
+		"title": "Ukončit",
+		"tooltip": "Ukončit aktuální úkol"
+	},
+	"cancel": {
+		"title": "Zrušit",
+		"tooltip": "Zrušit aktuální operaci"
+	},
+	"scrollToBottom": "Přejít na konec chatu",
+	"aboutMe": "Díky nejnovějším průlomům v agentních kódovacích schopnostech mohu řešit složité úkoly vývoje softwaru krok za krokem. S nástroji, které mi umožňují vytvářet a upravovat soubory, prozkoumávat složité projekty, používat prohlížeč a provádět terminálové příkazy (po vašem schválení), vám mohu pomoci způsoby, které přesahují dokončování kódu nebo technickou podporu. Mohu dokonce použít MCP k vytváření nových nástrojů a rozšiřování svých vlastních schopností.",
+	"selectMode": "Vyberte režim interakce",
+	"selectApiConfig": "Vyberte konfiguraci API",
+	"enhancePrompt": "Vylepšit výzvu o další kontext",
+	"addImages": "Přidat obrázky do zprávy",
+	"sendMessage": "Odeslat zprávu",
+	"typeMessage": "Napište zprávu...",
+	"typeTask": "Napište svůj úkol zde...",
+	"addContext": "(@ pro přidání kontextu, / pro přepnutí režimů",
+	"dragFiles": "podržte shift pro přetažení souborů",
+	"dragFilesImages": "podržte shift pro přetažení souborů/obrázků"
+}

+ 8 - 0
webview-ui/src/i18n/locales/cs/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Pomozte vylepšit Roo Code",
+	"anonymousTelemetry": "Odesílejte anonymní data o chybách a používání, abychom mohli opravovat chyby a vylepšovat rozšíření. Nikdy nejsou odesílány žádné kódy, výzvy ani osobní údaje.",
+	"changeSettings": "Toto nastavení můžete vždy změnit v dolní části nastavení",
+	"settings": "nastavení",
+	"allow": "Povolit",
+	"deny": "Zakázat"
+}

+ 60 - 0
webview-ui/src/i18n/locales/de/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Was kann Roo für Sie tun?",
+	"retry": {
+		"title": "Wiederholen",
+		"tooltip": "Versuchen Sie den Vorgang erneut"
+	},
+	"startNewTask": {
+		"title": "Neue Aufgabe starten",
+		"tooltip": "Beginnen Sie eine neue Aufgabe"
+	},
+	"proceedAnyways": {
+		"title": "Trotzdem fortfahren",
+		"tooltip": "Fortfahren, während der Befehl ausgeführt wird"
+	},
+	"save": {
+		"title": "Speichern",
+		"tooltip": "Dateiänderungen speichern"
+	},
+	"reject": {
+		"title": "Ablehnen",
+		"tooltip": "Diese Aktion ablehnen"
+	},
+	"completeSubtaskAndReturn": "Teilaufgabe abschließen und zurückkehren",
+	"approve": {
+		"title": "Genehmigen",
+		"tooltip": "Diese Aktion genehmigen"
+	},
+	"runCommand": {
+		"title": "Befehl ausführen",
+		"tooltip": "Diesen Befehl ausführen"
+	},
+	"proceedWhileRunning": {
+		"title": "Während der Ausführung fortfahren",
+		"tooltip": "Trotz Warnungen fortfahren"
+	},
+	"resumeTask": {
+		"title": "Aufgabe fortsetzen",
+		"tooltip": "Aktuelle Aufgabe fortsetzen"
+	},
+	"terminate": {
+		"title": "Beenden",
+		"tooltip": "Aktuelle Aufgabe beenden"
+	},
+	"cancel": {
+		"title": "Abbrechen",
+		"tooltip": "Aktuellen Vorgang abbrechen"
+	},
+	"scrollToBottom": "Zum Ende des Chats scrollen",
+	"aboutMe": "Dank der neuesten Durchbrüche in der agentenbasierten Codierung kann ich komplexe Softwareentwicklungsaufgaben Schritt für Schritt bearbeiten. Mit Tools, die es mir ermöglichen, Dateien zu erstellen und zu bearbeiten, komplexe Projekte zu erkunden, den Browser zu verwenden und Terminalbefehle auszuführen (nach Ihrer Genehmigung), kann ich Ihnen auf eine Weise helfen, die über Code-Vervollständigung oder technischen Support hinausgeht. Ich kann sogar MCP verwenden, um neue Tools zu erstellen und meine eigenen Fähigkeiten zu erweitern.",
+	"selectMode": "Interaktionsmodus auswählen",
+	"selectApiConfig": "API-Konfiguration auswählen",
+	"enhancePrompt": "Eingabeaufforderung mit zusätzlichem Kontext verbessern",
+	"addImages": "Bilder zur Nachricht hinzufügen",
+	"sendMessage": "Nachricht senden",
+	"typeMessage": "Nachricht eingeben...",
+	"typeTask": "Geben Sie hier Ihre Aufgabe ein...",
+	"addContext": "(@ um Kontext hinzuzufügen, / um Modi zu wechseln",
+	"dragFiles": "Halten Sie die Umschalttaste gedrückt, um Dateien zu ziehen",
+	"dragFilesImages": "Halten Sie die Umschalttaste gedrückt, um Dateien/Bilder zu ziehen"
+}

+ 8 - 0
webview-ui/src/i18n/locales/de/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Helfen Sie, Roo Code zu verbessern",
+	"anonymousTelemetry": "Senden Sie anonyme Fehler- und Nutzungsdaten, um uns bei der Fehlerbehebung und Verbesserung der Erweiterung zu helfen. Es werden niemals Code, Texte oder persönliche Informationen gesendet.",
+	"changeSettings": "Sie können dies jederzeit unten in den Einstellungen ändern",
+	"settings": "Einstellungen",
+	"allow": "Erlauben",
+	"deny": "Ablehnen"
+}

+ 58 - 1
webview-ui/src/i18n/locales/en/chat.json

@@ -1,3 +1,60 @@
 {
-	"greeting": "What can Roo do for you?"
+	"greeting": "What can Roo do for you?",
+	"retry": {
+		"title": "Retry",
+		"tooltip": "Try the operation again"
+	},
+	"startNewTask": {
+		"title": "Start New Task",
+		"tooltip": "Begin a new task"
+	},
+	"proceedAnyways": {
+		"title": "Proceed Anyways",
+		"tooltip": "Continue while command executes"
+	},
+	"save": {
+		"title": "Save",
+		"tooltip": "Save the file changes"
+	},
+	"reject": {
+		"title": "Reject",
+		"tooltip": "Reject this action"
+	},
+	"completeSubtaskAndReturn": "Complete Subtask and Return",
+	"approve": {
+		"title": "Approve",
+		"tooltip": "Approve this action"
+	},
+	"runCommand": {
+		"title": "Run Command",
+		"tooltip": "Execute this command"
+	},
+	"proceedWhileRunning": {
+		"title": "Proceed While Running",
+		"tooltip": "Continue despite warnings"
+	},
+	"resumeTask": {
+		"title": "Resume Task",
+		"tooltip": "Continue the current task"
+	},
+	"terminate": {
+		"title": "Terminate",
+		"tooltip": "End the current task"
+	},
+	"cancel": {
+		"title": "Cancel",
+		"tooltip": "Cancel the current operation"
+	},
+	"scrollToBottom": "Scroll to bottom of chat",
+	"aboutMe": "Thanks to the latest breakthroughs in agentic coding capabilities, I can handle complex software development tasks step-by-step. With tools that let me create & edit files, explore complex projects, use the browser, and execute terminal commands (after you grant permission), I can assist you in ways that go beyond code completion or tech support. I can even use MCP to create new tools and extend my own capabilities.",
+	"selectMode": "Select mode for interaction",
+	"selectApiConfig": "Select API configuration",
+	"enhancePrompt": "Enhance prompt with additional context",
+	"addImages": "Add images to message",
+	"sendMessage": "Send message",
+	"typeMessage": "Type a message...",
+	"typeTask": "Type your task here...",
+	"addContext": "(@ to add context, / to switch modes",
+	"dragFiles": "hold shift to drag in files",
+	"dragFilesImages": "hold shift to drag in files/images"
 }

+ 8 - 0
webview-ui/src/i18n/locales/en/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Help Improve Roo Code",
+	"anonymousTelemetry": "Send anonymous error and usage data to help us fix bugs and improve the extension. No code, prompts, or personal information is ever sent.",
+	"changeSettings": "You can always change this at the bottom of the settings",
+	"settings": "settings",
+	"allow": "Allow",
+	"deny": "Deny"
+}

+ 60 - 0
webview-ui/src/i18n/locales/es/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "¿Qué puede hacer Roo por ti?",
+	"retry": {
+		"title": "Reintentar",
+		"tooltip": "Intenta la operación de nuevo"
+	},
+	"startNewTask": {
+		"title": "Iniciar nueva tarea",
+		"tooltip": "Comienza una nueva tarea"
+	},
+	"proceedAnyways": {
+		"title": "Continuar de todos modos",
+		"tooltip": "Continuar mientras se ejecuta el comando"
+	},
+	"save": {
+		"title": "Guardar",
+		"tooltip": "Guardar los cambios del archivo"
+	},
+	"reject": {
+		"title": "Rechazar",
+		"tooltip": "Rechazar esta acción"
+	},
+	"completeSubtaskAndReturn": "Completar subtarea y regresar",
+	"approve": {
+		"title": "Aprobar",
+		"tooltip": "Aprobar esta acción"
+	},
+	"runCommand": {
+		"title": "Ejecutar comando",
+		"tooltip": "Ejecutar este comando"
+	},
+	"proceedWhileRunning": {
+		"title": "Continuar mientras se ejecuta",
+		"tooltip": "Continuar a pesar de las advertencias"
+	},
+	"resumeTask": {
+		"title": "Reanudar tarea",
+		"tooltip": "Reanudar la tarea actual"
+	},
+	"terminate": {
+		"title": "Terminar",
+		"tooltip": "Terminar la tarea actual"
+	},
+	"cancel": {
+		"title": "Cancelar",
+		"tooltip": "Cancelar la operación actual"
+	},
+	"scrollToBottom": "Desplazarse al final del chat",
+	"aboutMe": "Gracias a los últimos avances en capacidades de codificación agentiva, puedo manejar tareas complejas de desarrollo de software paso a paso. Con herramientas que me permiten crear y editar archivos, explorar proyectos complejos, usar el navegador y ejecutar comandos de terminal (después de tu aprobación), puedo ayudarte de maneras que van más allá de la finalización de código o el soporte técnico. Incluso puedo usar MCP para crear nuevas herramientas y ampliar mis propias capacidades.",
+	"selectMode": "Seleccionar modo de interacción",
+	"selectApiConfig": "Seleccionar configuración de API",
+	"enhancePrompt": "Mejorar el mensaje con contexto adicional",
+	"addImages": "Agregar imágenes al mensaje",
+	"sendMessage": "Enviar mensaje",
+	"typeMessage": "Escribe un mensaje...",
+	"typeTask": "Escribe tu tarea aquí...",
+	"addContext": "(@ para agregar contexto, / para cambiar modos",
+	"dragFiles": "mantén shift para arrastrar archivos",
+	"dragFilesImages": "mantén shift para arrastrar archivos/imágenes"
+}

+ 8 - 0
webview-ui/src/i18n/locales/es/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Ayuda a mejorar Roo Code",
+	"anonymousTelemetry": "Envía datos de uso y errores anónimos para ayudarnos a corregir errores y mejorar la extensión. Nunca se envía código, texto o información personal.",
+	"changeSettings": "Siempre puedes cambiar esto en la parte inferior de la configuración",
+	"settings": "configuración",
+	"allow": "Permitir",
+	"deny": "Denegar"
+}

+ 60 - 0
webview-ui/src/i18n/locales/fr/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Que peut faire Roo pour vous ?",
+	"retry": {
+		"title": "Réessayer",
+		"tooltip": "Réessayez l'opération"
+	},
+	"startNewTask": {
+		"title": "Démarrer une nouvelle tâche",
+		"tooltip": "Commencez une nouvelle tâche"
+	},
+	"proceedAnyways": {
+		"title": "Continuer quand même",
+		"tooltip": "Continuer pendant l'exécution de la commande"
+	},
+	"save": {
+		"title": "Enregistrer",
+		"tooltip": "Enregistrer les modifications du fichier"
+	},
+	"reject": {
+		"title": "Rejeter",
+		"tooltip": "Rejeter cette action"
+	},
+	"completeSubtaskAndReturn": "Terminer la sous-tâche et revenir",
+	"approve": {
+		"title": "Approuver",
+		"tooltip": "Approuver cette action"
+	},
+	"runCommand": {
+		"title": "Exécuter la commande",
+		"tooltip": "Exécuter cette commande"
+	},
+	"proceedWhileRunning": {
+		"title": "Continuer pendant l'exécution",
+		"tooltip": "Continuer malgré les avertissements"
+	},
+	"resumeTask": {
+		"title": "Reprendre la tâche",
+		"tooltip": "Reprendre la tâche en cours"
+	},
+	"terminate": {
+		"title": "Terminer",
+		"tooltip": "Terminer la tâche en cours"
+	},
+	"cancel": {
+		"title": "Annuler",
+		"tooltip": "Annuler l'opération en cours"
+	},
+	"scrollToBottom": "Faire défiler jusqu'en bas du chat",
+	"aboutMe": "Grâce aux dernières avancées en matière de capacités de codage agentique, je peux gérer des tâches complexes de développement de logiciels étape par étape. Avec des outils qui me permettent de créer et de modifier des fichiers, d'explorer des projets complexes, d'utiliser le navigateur et d'exécuter des commandes terminal (après votre approbation), je peux vous aider de manière qui va au-delà de la complétion de code ou du support technique. Je peux même utiliser MCP pour créer de nouveaux outils et étendre mes propres capacités.",
+	"selectMode": "Sélectionner le mode d'interaction",
+	"selectApiConfig": "Sélectionner la configuration de l'API",
+	"enhancePrompt": "Améliorer l'invite avec un contexte supplémentaire",
+	"addImages": "Ajouter des images au message",
+	"sendMessage": "Envoyer le message",
+	"typeMessage": "Tapez un message...",
+	"typeTask": "Tapez votre tâche ici...",
+	"addContext": "(@ pour ajouter du contexte, / pour changer de mode",
+	"dragFiles": "maintenez shift pour glisser des fichiers",
+	"dragFilesImages": "maintenez shift pour glisser des fichiers/images"
+}

+ 8 - 0
webview-ui/src/i18n/locales/fr/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Aidez à améliorer Roo Code",
+	"anonymousTelemetry": "Envoyez des données d'utilisation et d'erreurs anonymes pour nous aider à corriger les bugs et améliorer l'extension. Aucun code, texte ou information personnelle n'est jamais envoyé.",
+	"changeSettings": "Vous pouvez toujours modifier cela en bas des paramètres",
+	"settings": "paramètres",
+	"allow": "Autoriser",
+	"deny": "Refuser"
+}

+ 60 - 0
webview-ui/src/i18n/locales/hi/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Roo आपके लिए क्या कर सकता है?",
+	"retry": {
+		"title": "पुनः प्रयास करें",
+		"tooltip": "ऑपरेशन को फिर से आज़माएं"
+	},
+	"startNewTask": {
+		"title": "नया कार्य शुरू करें",
+		"tooltip": "एक नया कार्य शुरू करें"
+	},
+	"proceedAnyways": {
+		"title": "फिर भी आगे बढ़ें",
+		"tooltip": "कमांड के निष्पादित होने के दौरान जारी रखें"
+	},
+	"save": {
+		"title": "सहेजें",
+		"tooltip": "फ़ाइल परिवर्तनों को सहेजें"
+	},
+	"reject": {
+		"title": "अस्वीकार करें",
+		"tooltip": "इस क्रिया को अस्वीकार करें"
+	},
+	"completeSubtaskAndReturn": "उपकार्य पूरा करें और वापस लौटें",
+	"approve": {
+		"title": "स्वीकृत करें",
+		"tooltip": "इस क्रिया को स्वीकृत करें"
+	},
+	"runCommand": {
+		"title": "कमांड चलाएं",
+		"tooltip": "इस कमांड को निष्पादित करें"
+	},
+	"proceedWhileRunning": {
+		"title": "चलते समय आगे बढ़ें",
+		"tooltip": "चेतावनियों के बावजूद जारी रखें"
+	},
+	"resumeTask": {
+		"title": "कार्य फिर से शुरू करें",
+		"tooltip": "वर्तमान कार्य फिर से शुरू करें"
+	},
+	"terminate": {
+		"title": "समाप्त करें",
+		"tooltip": "वर्तमान कार्य समाप्त करें"
+	},
+	"cancel": {
+		"title": "रद्द करें",
+		"tooltip": "वर्तमान ऑपरेशन रद्द करें"
+	},
+	"scrollToBottom": "चैट के निचले भाग पर स्क्रॉल करें",
+	"aboutMe": "एजेंटिक कोडिंग क्षमताओं में नवीनतम सफलताओं के लिए धन्यवाद, मैं जटिल सॉफ्टवेयर विकास कार्यों को चरणबद्ध तरीके से संभाल सकता हूं। उन उपकरणों के साथ जो मुझे फ़ाइलें बनाने और संपादित करने, जटिल परियोजनाओं का पता लगाने, ब्राउज़र का उपयोग करने और टर्मिनल कमांड निष्पादित करने (आपकी अनुमति के बाद) की अनुमति देते हैं, मैं आपकी कोड पूर्णता या तकनीकी सहायता से परे तरीकों से मदद कर सकता हूं। मैं MCP का उपयोग करके नए उपकरण बना सकता हूं और अपनी क्षमताओं का विस्तार कर सकता हूं।",
+	"selectMode": "इंटरैक्शन के लिए मोड चुनें",
+	"selectApiConfig": "API कॉन्फ़िगरेशन चुनें",
+	"enhancePrompt": "अतिरिक्त संदर्भ के साथ प्रॉम्प्ट को बढ़ाएं",
+	"addImages": "संदेश में छवियां जोड़ें",
+	"sendMessage": "संदेश भेजें",
+	"typeMessage": "एक संदेश टाइप करें...",
+	"typeTask": "अपना कार्य यहां टाइप करें...",
+	"addContext": "(@ संदर्भ जोड़ने के लिए, / मोड बदलने के लिए",
+	"dragFiles": "फ़ाइलों को खींचने के लिए shift दबाए रखें",
+	"dragFilesImages": "फ़ाइलों/छवियों को खींचने के लिए shift दबाए रखें"
+}

+ 8 - 0
webview-ui/src/i18n/locales/hi/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Roo Code को बेहतर बनाने में मदद करें",
+	"anonymousTelemetry": "बग ठीक करने और एक्सटेंशन को बेहतर बनाने में हमारी मदद करने के लिए गुमनाम त्रुटि और उपयोग डेटा भेजें। कोड, संकेत या व्यक्तिगत जानकारी कभी नहीं भेजी जाती है।",
+	"changeSettings": "आप इसे हमेशा सेटिंग्स के निचले भाग में बदल सकते हैं",
+	"settings": "सेटिंग्स",
+	"allow": "अनुमति दें",
+	"deny": "अस्वीकार करें"
+}

+ 60 - 0
webview-ui/src/i18n/locales/hu/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Mit tehet Roo Önért?",
+	"retry": {
+		"title": "Újrapróbálás",
+		"tooltip": "Próbálja meg újra a műveletet"
+	},
+	"startNewTask": {
+		"title": "Új feladat indítása",
+		"tooltip": "Kezdjen egy új feladatot"
+	},
+	"proceedAnyways": {
+		"title": "Folytatás mindenképp",
+		"tooltip": "Folytatás a parancs végrehajtása közben"
+	},
+	"save": {
+		"title": "Mentés",
+		"tooltip": "Fájl változtatások mentése"
+	},
+	"reject": {
+		"title": "Elutasítás",
+		"tooltip": "Elutasítja ezt a műveletet"
+	},
+	"completeSubtaskAndReturn": "Alfeladat befejezése és visszatérés",
+	"approve": {
+		"title": "Jóváhagyás",
+		"tooltip": "Jóváhagyja ezt a műveletet"
+	},
+	"runCommand": {
+		"title": "Parancs futtatása",
+		"tooltip": "Futtassa ezt a parancsot"
+	},
+	"proceedWhileRunning": {
+		"title": "Folytatás futás közben",
+		"tooltip": "Folytatás a figyelmeztetések ellenére"
+	},
+	"resumeTask": {
+		"title": "Feladat folytatása",
+		"tooltip": "Folytassa az aktuális feladatot"
+	},
+	"terminate": {
+		"title": "Leállítás",
+		"tooltip": "Az aktuális feladat leállítása"
+	},
+	"cancel": {
+		"title": "Mégse",
+		"tooltip": "Az aktuális művelet megszakítása"
+	},
+	"scrollToBottom": "Görgessen a csevegés aljára",
+	"aboutMe": "Az ügynök-alapú kódolási képességek legújabb áttöréseinek köszönhetően képes vagyok lépésről lépésre kezelni a komplex szoftverfejlesztési feladatokat. Azokkal az eszközökkel, amelyek lehetővé teszik számomra a fájlok létrehozását és szerkesztését, a komplex projektek felfedezését, a böngésző használatát és a terminálparancsok végrehajtását (az Ön engedélye után), olyan módon segíthetek Önnek, amely túlmutat a kódkiegészítésen vagy a technikai támogatáson. Még az MCP-t is használhatom új eszközök létrehozására és saját képességeim bővítésére.",
+	"selectMode": "Válassza ki az interakció módját",
+	"selectApiConfig": "Válassza ki az API konfigurációt",
+	"enhancePrompt": "A kérés fokozása további kontextussal",
+	"addImages": "Képek hozzáadása az üzenethez",
+	"sendMessage": "Üzenet küldése",
+	"typeMessage": "Írjon egy üzenetet...",
+	"typeTask": "Írja ide a feladatát...",
+	"addContext": "(@ kontextus hozzáadásához, / módváltáshoz",
+	"dragFiles": "tartsa lenyomva a shift billentyűt a fájlok húzásához",
+	"dragFilesImages": "tartsa lenyomva a shift billentyűt a fájlok/képek húzásához"
+}

+ 8 - 0
webview-ui/src/i18n/locales/hu/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Segítsd fejleszteni a Roo Code-ot",
+	"anonymousTelemetry": "Küldj névtelen hibákat és használati adatokat, hogy segíts nekünk hibákat javítani és a bővítményt fejleszteni. Soha nem küldünk kódot, szöveget vagy személyes adatokat.",
+	"changeSettings": "Ezt bármikor megváltoztathatod a beállítások alján",
+	"settings": "beállítások",
+	"allow": "Engedélyez",
+	"deny": "Elutasít"
+}

+ 60 - 0
webview-ui/src/i18n/locales/it/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Cosa può fare Roo per te?",
+	"retry": {
+		"title": "Riprova",
+		"tooltip": "Riprova l'operazione"
+	},
+	"startNewTask": {
+		"title": "Inizia nuova attività",
+		"tooltip": "Inizia una nuova attività"
+	},
+	"proceedAnyways": {
+		"title": "Prosegui comunque",
+		"tooltip": "Continua durante l'esecuzione del comando"
+	},
+	"save": {
+		"title": "Salva",
+		"tooltip": "Salva le modifiche al file"
+	},
+	"reject": {
+		"title": "Rifiuta",
+		"tooltip": "Rifiuta questa azione"
+	},
+	"completeSubtaskAndReturn": "Completa sottoattività e ritorna",
+	"approve": {
+		"title": "Approva",
+		"tooltip": "Approva questa azione"
+	},
+	"runCommand": {
+		"title": "Esegui comando",
+		"tooltip": "Esegui questo comando"
+	},
+	"proceedWhileRunning": {
+		"title": "Prosegui durante l'esecuzione",
+		"tooltip": "Continua nonostante gli avvisi"
+	},
+	"resumeTask": {
+		"title": "Riprendi attività",
+		"tooltip": "Riprendi l'attività corrente"
+	},
+	"terminate": {
+		"title": "Termina",
+		"tooltip": "Termina l'attività corrente"
+	},
+	"cancel": {
+		"title": "Annulla",
+		"tooltip": "Annulla l'operazione corrente"
+	},
+	"scrollToBottom": "Scorri in fondo alla chat",
+	"aboutMe": "Grazie alle ultime innovazioni nelle capacità di codifica agentica, posso gestire complesse attività di sviluppo software passo dopo passo. Con strumenti che mi permettono di creare e modificare file, esplorare progetti complessi, utilizzare il browser ed eseguire comandi terminal (dopo la tua approvazione), posso aiutarti in modi che vanno oltre il completamento del codice o il supporto tecnico. Posso persino usare MCP per creare nuovi strumenti ed estendere le mie capacità.",
+	"selectMode": "Seleziona modalità di interazione",
+	"selectApiConfig": "Seleziona configurazione API",
+	"enhancePrompt": "Migliora il prompt con ulteriore contesto",
+	"addImages": "Aggiungi immagini al messaggio",
+	"sendMessage": "Invia messaggio",
+	"typeMessage": "Scrivi un messaggio...",
+	"typeTask": "Scrivi qui la tua attività...",
+	"addContext": "(@ per aggiungere contesto, / per cambiare modalità",
+	"dragFiles": "tieni premuto shift per trascinare i file",
+	"dragFilesImages": "tieni premuto shift per trascinare file/immagini"
+}

+ 8 - 0
webview-ui/src/i18n/locales/it/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Aiuta a migliorare Roo Code",
+	"anonymousTelemetry": "Invia dati di utilizzo ed errori anonimi per aiutarci a correggere bug e migliorare l'estensione. Non viene mai inviato codice, testo o informazioni personali.",
+	"changeSettings": "Puoi sempre cambiare questo in fondo alle impostazioni",
+	"settings": "impostazioni",
+	"allow": "Consenti",
+	"deny": "Nega"
+}

+ 60 - 0
webview-ui/src/i18n/locales/ja/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Rooはあなたのために何ができますか?",
+	"retry": {
+		"title": "再試行",
+		"tooltip": "操作を再試行してください"
+	},
+	"startNewTask": {
+		"title": "新しいタスクを開始",
+		"tooltip": "新しいタスクを開始します"
+	},
+	"proceedAnyways": {
+		"title": "とにかく続行",
+		"tooltip": "コマンドの実行中に続行します"
+	},
+	"save": {
+		"title": "保存",
+		"tooltip": "ファイルの変更を保存します"
+	},
+	"reject": {
+		"title": "拒否",
+		"tooltip": "このアクションを拒否します"
+	},
+	"completeSubtaskAndReturn": "サブタスクを完了して戻る",
+	"approve": {
+		"title": "承認",
+		"tooltip": "このアクションを承認します"
+	},
+	"runCommand": {
+		"title": "コマンドを実行",
+		"tooltip": "このコマンドを実行します"
+	},
+	"proceedWhileRunning": {
+		"title": "実行中に続行",
+		"tooltip": "警告にもかかわらず続行します"
+	},
+	"resumeTask": {
+		"title": "タスクを再開",
+		"tooltip": "現在のタスクを再開します"
+	},
+	"terminate": {
+		"title": "終了",
+		"tooltip": "現在のタスクを終了します"
+	},
+	"cancel": {
+		"title": "キャンセル",
+		"tooltip": "現在の操作をキャンセルします"
+	},
+	"scrollToBottom": "チャットの最下部にスクロール",
+	"aboutMe": "エージェント型コーディング能力の最新の進歩により、複雑なソフトウェア開発タスクを段階的に処理できます。ファイルの作成と編集、複雑なプロジェクトの探索、ブラウザの使用、ターミナルコマンドの実行(あなたの許可を得た後)を可能にするツールを使用して、コード補完やテクニカルサポートを超えた方法であなたを支援できます。MCPを使用して新しいツールを作成し、自分の能力を拡張することもできます。",
+	"selectMode": "インタラクションモードを選択",
+	"selectApiConfig": "API設定を選択",
+	"enhancePrompt": "追加のコンテキストでプロンプトを強化",
+	"addImages": "メッセージに画像を追加",
+	"sendMessage": "メッセージを送信",
+	"typeMessage": "メッセージを入力...",
+	"typeTask": "ここにタスクを入力...",
+	"addContext": "(@ コンテキストを追加, / モードを切り替え",
+	"dragFiles": "ファイルをドラッグするにはshiftを押したままにします",
+	"dragFilesImages": "ファイル/画像をドラッグするにはshiftを押したままにします"
+}

+ 8 - 0
webview-ui/src/i18n/locales/ja/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Roo Codeの改善にご協力ください",
+	"anonymousTelemetry": "バグの修正と拡張機能の改善のため、匿名のエラーと使用データを送信してください。コード、プロンプト、個人情報は一切送信されません。",
+	"changeSettings": "設定の下部でいつでも変更できます",
+	"settings": "設定",
+	"allow": "許可",
+	"deny": "拒否"
+}

+ 60 - 0
webview-ui/src/i18n/locales/ko/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Roo가 당신을 위해 무엇을 할 수 있나요?",
+	"retry": {
+		"title": "다시 시도",
+		"tooltip": "작업을 다시 시도하세요"
+	},
+	"startNewTask": {
+		"title": "새 작업 시작",
+		"tooltip": "새 작업을 시작하세요"
+	},
+	"proceedAnyways": {
+		"title": "어쨌든 계속",
+		"tooltip": "명령이 실행되는 동안 계속하세요"
+	},
+	"save": {
+		"title": "저장",
+		"tooltip": "파일 변경 사항을 저장하세요"
+	},
+	"reject": {
+		"title": "거부",
+		"tooltip": "이 작업을 거부하세요"
+	},
+	"completeSubtaskAndReturn": "하위 작업 완료 및 돌아가기",
+	"approve": {
+		"title": "승인",
+		"tooltip": "이 작업을 승인하세요"
+	},
+	"runCommand": {
+		"title": "명령 실행",
+		"tooltip": "이 명령을 실행하세요"
+	},
+	"proceedWhileRunning": {
+		"title": "실행 중 계속",
+		"tooltip": "경고에도 불구하고 계속하세요"
+	},
+	"resumeTask": {
+		"title": "작업 재개",
+		"tooltip": "현재 작업을 재개하세요"
+	},
+	"terminate": {
+		"title": "종료",
+		"tooltip": "현재 작업을 종료하세요"
+	},
+	"cancel": {
+		"title": "취소",
+		"tooltip": "현재 작업을 취소하세요"
+	},
+	"scrollToBottom": "채팅 하단으로 스크롤",
+	"aboutMe": "에이전트 코딩 능력의 최신 혁신 덕분에 복잡한 소프트웨어 개발 작업을 단계적으로 처리할 수 있습니다. 파일 생성 및 편집, 복잡한 프로젝트 탐색, 브라우저 사용, 터미널 명령 실행(귀하의 승인 후)을 가능하게 하는 도구를 사용하여 코드 완성이나 기술 지원을 넘어서는 방식으로 도움을 드릴 수 있습니다. MCP를 사용하여 새로운 도구를 만들고 내 능력을 확장할 수도 있습니다.",
+	"selectMode": "상호 작용 모드 선택",
+	"selectApiConfig": "API 구성 선택",
+	"enhancePrompt": "추가 컨텍스트로 프롬프트 강화",
+	"addImages": "메시지에 이미지 추가",
+	"sendMessage": "메시지 보내기",
+	"typeMessage": "메시지를 입력하세요...",
+	"typeTask": "여기에 작업을 입력하세요...",
+	"addContext": "(@ 컨텍스트 추가, / 모드 전환",
+	"dragFiles": "파일을 드래그하려면 shift를 누르세요",
+	"dragFilesImages": "파일/이미지를 드래그하려면 shift를 누르세요"
+}

+ 8 - 0
webview-ui/src/i18n/locales/ko/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Roo Code 개선에 도움 주세요",
+	"anonymousTelemetry": "버그 수정 및 확장 기능 개선을 위해 익명의 오류 및 사용 데이터를 보내주세요. 코드, 프롬프트 또는 개인 정보는 절대 전송되지 않습니다.",
+	"changeSettings": "설정 하단에서 언제든지 변경할 수 있습니다",
+	"settings": "설정",
+	"allow": "허용",
+	"deny": "거부"
+}

+ 60 - 0
webview-ui/src/i18n/locales/pl/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Co Roo może dla Ciebie zrobić?",
+	"retry": {
+		"title": "Ponów próbę",
+		"tooltip": "Spróbuj ponownie wykonać operację"
+	},
+	"startNewTask": {
+		"title": "Rozpocznij nowe zadanie",
+		"tooltip": "Rozpocznij nowe zadanie"
+	},
+	"proceedAnyways": {
+		"title": "Kontynuuj mimo to",
+		"tooltip": "Kontynuuj podczas wykonywania polecenia"
+	},
+	"save": {
+		"title": "Zapisz",
+		"tooltip": "Zapisz zmiany w pliku"
+	},
+	"reject": {
+		"title": "Odrzuć",
+		"tooltip": "Odrzuć tę akcję"
+	},
+	"completeSubtaskAndReturn": "Zakończ podzadanie i wróć",
+	"approve": {
+		"title": "Zatwierdź",
+		"tooltip": "Zatwierdź tę akcję"
+	},
+	"runCommand": {
+		"title": "Wykonaj polecenie",
+		"tooltip": "Wykonaj to polecenie"
+	},
+	"proceedWhileRunning": {
+		"title": "Kontynuuj podczas wykonywania",
+		"tooltip": "Kontynuuj pomimo ostrzeżeń"
+	},
+	"resumeTask": {
+		"title": "Wznów zadanie",
+		"tooltip": "Wznów bieżące zadanie"
+	},
+	"terminate": {
+		"title": "Zakończ",
+		"tooltip": "Zakończ bieżące zadanie"
+	},
+	"cancel": {
+		"title": "Anuluj",
+		"tooltip": "Anuluj bieżącą operację"
+	},
+	"scrollToBottom": "Przewiń na dół czatu",
+	"aboutMe": "Dzięki najnowszym przełomom w zakresie możliwości kodowania agentowego mogę krok po kroku obsługiwać złożone zadania związane z rozwojem oprogramowania. Dzięki narzędziom, które pozwalają mi tworzyć i edytować pliki, eksplorować złożone projekty, korzystać z przeglądarki i wykonywać polecenia terminalowe (po Twojej aprobacie), mogę pomóc Ci w sposób wykraczający poza uzupełnianie kodu lub wsparcie techniczne. Mogę nawet używać MCP do tworzenia nowych narzędzi i rozszerzania moich własnych możliwości.",
+	"selectMode": "Wybierz tryb interakcji",
+	"selectApiConfig": "Wybierz konfigurację API",
+	"enhancePrompt": "Ulepsz monit o dodatkowy kontekst",
+	"addImages": "Dodaj obrazy do wiadomości",
+	"sendMessage": "Wyślij wiadomość",
+	"typeMessage": "Wpisz wiadomość...",
+	"typeTask": "Wpisz tutaj swoje zadanie...",
+	"addContext": "(@ aby dodać kontekst, / aby przełączyć tryby",
+	"dragFiles": "przytrzymaj shift, aby przeciągnąć pliki",
+	"dragFilesImages": "przytrzymaj shift, aby przeciągnąć pliki/obrazy"
+}

+ 8 - 0
webview-ui/src/i18n/locales/pl/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Pomóż ulepszyć Roo Code",
+	"anonymousTelemetry": "Wyślij anonimowe dane o błędach i użyciu, aby pomóc nam w naprawianiu błędów i ulepszaniu rozszerzenia. Nigdy nie są wysyłane żadne kody, teksty ani informacje osobiste.",
+	"changeSettings": "Zawsze możesz to zmienić na dole ustawień",
+	"settings": "ustawienia",
+	"allow": "Zezwól",
+	"deny": "Odmów"
+}

+ 60 - 0
webview-ui/src/i18n/locales/pt-BR/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "O que o Roo pode fazer por você?",
+	"retry": {
+		"title": "Tentar novamente",
+		"tooltip": "Tente a operação novamente"
+	},
+	"startNewTask": {
+		"title": "Iniciar nova tarefa",
+		"tooltip": "Comece uma nova tarefa"
+	},
+	"proceedAnyways": {
+		"title": "Continuar mesmo assim",
+		"tooltip": "Continue enquanto o comando é executado"
+	},
+	"save": {
+		"title": "Salvar",
+		"tooltip": "Salvar alterações do arquivo"
+	},
+	"reject": {
+		"title": "Rejeitar",
+		"tooltip": "Rejeitar esta ação"
+	},
+	"completeSubtaskAndReturn": "Concluir subtarefa e retornar",
+	"approve": {
+		"title": "Aprovar",
+		"tooltip": "Aprovar esta ação"
+	},
+	"runCommand": {
+		"title": "Executar comando",
+		"tooltip": "Execute este comando"
+	},
+	"proceedWhileRunning": {
+		"title": "Continuar durante a execução",
+		"tooltip": "Continue apesar dos avisos"
+	},
+	"resumeTask": {
+		"title": "Retomar tarefa",
+		"tooltip": "Retome a tarefa atual"
+	},
+	"terminate": {
+		"title": "Terminar",
+		"tooltip": "Terminar a tarefa atual"
+	},
+	"cancel": {
+		"title": "Cancelar",
+		"tooltip": "Cancelar a operação atual"
+	},
+	"scrollToBottom": "Rolar até o final do chat",
+	"aboutMe": "Graças aos últimos avanços nas capacidades de codificação agentiva, posso lidar com tarefas complexas de desenvolvimento de software passo a passo. Com ferramentas que me permitem criar e editar arquivos, explorar projetos complexos, usar o navegador e executar comandos de terminal (após sua aprovação), posso ajudá-lo de maneiras que vão além da conclusão de código ou suporte técnico. Posso até usar o MCP para criar novas ferramentas e expandir minhas próprias capacidades.",
+	"selectMode": "Selecionar modo de interação",
+	"selectApiConfig": "Selecionar configuração da API",
+	"enhancePrompt": "Melhorar o prompt com contexto adicional",
+	"addImages": "Adicionar imagens à mensagem",
+	"sendMessage": "Enviar mensagem",
+	"typeMessage": "Digite uma mensagem...",
+	"typeTask": "Digite sua tarefa aqui...",
+	"addContext": "(@ para adicionar contexto, / para mudar modos",
+	"dragFiles": "segure shift para arrastar arquivos",
+	"dragFilesImages": "segure shift para arrastar arquivos/imagens"
+}

+ 8 - 0
webview-ui/src/i18n/locales/pt-BR/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Ajude a melhorar o Roo Code",
+	"anonymousTelemetry": "Envie dados de uso e erros anônimos para nos ajudar a corrigir bugs e melhorar a extensão. Nenhum código, texto ou informação pessoal é enviado.",
+	"changeSettings": "Você sempre pode mudar isso na parte inferior das configurações",
+	"settings": "configurações",
+	"allow": "Permitir",
+	"deny": "Negar"
+}

+ 60 - 0
webview-ui/src/i18n/locales/pt/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "O que o Roo pode fazer por você?",
+	"retry": {
+		"title": "Tentar novamente",
+		"tooltip": "Tente a operação novamente"
+	},
+	"startNewTask": {
+		"title": "Iniciar nova tarefa",
+		"tooltip": "Comece uma nova tarefa"
+	},
+	"proceedAnyways": {
+		"title": "Continuar mesmo assim",
+		"tooltip": "Continue enquanto o comando é executado"
+	},
+	"save": {
+		"title": "Salvar",
+		"tooltip": "Salvar alterações do arquivo"
+	},
+	"reject": {
+		"title": "Rejeitar",
+		"tooltip": "Rejeitar esta ação"
+	},
+	"completeSubtaskAndReturn": "Concluir subtarefa e retornar",
+	"approve": {
+		"title": "Aprovar",
+		"tooltip": "Aprovar esta ação"
+	},
+	"runCommand": {
+		"title": "Executar comando",
+		"tooltip": "Execute este comando"
+	},
+	"proceedWhileRunning": {
+		"title": "Continuar durante a execução",
+		"tooltip": "Continue apesar dos avisos"
+	},
+	"resumeTask": {
+		"title": "Retomar tarefa",
+		"tooltip": "Retome a tarefa atual"
+	},
+	"terminate": {
+		"title": "Terminar",
+		"tooltip": "Terminar a tarefa atual"
+	},
+	"cancel": {
+		"title": "Cancelar",
+		"tooltip": "Cancelar a operação atual"
+	},
+	"scrollToBottom": "Rolar até o final do chat",
+	"aboutMe": "Graças aos últimos avanços nas capacidades de codificação agentiva, posso lidar com tarefas complexas de desenvolvimento de software passo a passo. Com ferramentas que me permitem criar e editar arquivos, explorar projetos complexos, usar o navegador e executar comandos de terminal (após sua aprovação), posso ajudá-lo de maneiras que vão além da conclusão de código ou suporte técnico. Posso até usar o MCP para criar novas ferramentas e expandir minhas próprias capacidades.",
+	"selectMode": "Selecionar modo de interação",
+	"selectApiConfig": "Selecionar configuração da API",
+	"enhancePrompt": "Melhorar o prompt com contexto adicional",
+	"addImages": "Adicionar imagens à mensagem",
+	"sendMessage": "Enviar mensagem",
+	"typeMessage": "Digite uma mensagem...",
+	"typeTask": "Digite sua tarefa aqui...",
+	"addContext": "(@ para adicionar contexto, / para mudar modos",
+	"dragFiles": "segure shift para arrastar arquivos",
+	"dragFilesImages": "segure shift para arrastar arquivos/imagens"
+}

+ 8 - 0
webview-ui/src/i18n/locales/pt/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Ajude a melhorar o Roo Code",
+	"anonymousTelemetry": "Envie dados de uso e erros anônimos para nos ajudar a corrigir bugs e melhorar a extensão. Nenhum código, texto ou informação pessoal é enviado.",
+	"changeSettings": "Você sempre pode mudar isso na parte inferior das configurações",
+	"settings": "configurações",
+	"allow": "Permitir",
+	"deny": "Negar"
+}

+ 60 - 0
webview-ui/src/i18n/locales/ru/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Что Roo может сделать для вас?",
+	"retry": {
+		"title": "Повторить",
+		"tooltip": "Попробуйте операцию снова"
+	},
+	"startNewTask": {
+		"title": "Начать новую задачу",
+		"tooltip": "Начните новую задачу"
+	},
+	"proceedAnyways": {
+		"title": "Продолжить в любом случае",
+		"tooltip": "Продолжайте во время выполнения команды"
+	},
+	"save": {
+		"title": "Сохранить",
+		"tooltip": "Сохранить изменения файла"
+	},
+	"reject": {
+		"title": "Отклонить",
+		"tooltip": "Отклонить это действие"
+	},
+	"completeSubtaskAndReturn": "Завершить подзадачу и вернуться",
+	"approve": {
+		"title": "Одобрить",
+		"tooltip": "Одобрить это действие"
+	},
+	"runCommand": {
+		"title": "Выполнить команду",
+		"tooltip": "Выполнить эту команду"
+	},
+	"proceedWhileRunning": {
+		"title": "Продолжить во время выполнения",
+		"tooltip": "Продолжайте, несмотря на предупреждения"
+	},
+	"resumeTask": {
+		"title": "Возобновить задачу",
+		"tooltip": "Возобновите текущую задачу"
+	},
+	"terminate": {
+		"title": "Завершить",
+		"tooltip": "Завершить текущую задачу"
+	},
+	"cancel": {
+		"title": "Отменить",
+		"tooltip": "Отменить текущую операцию"
+	},
+	"scrollToBottom": "Прокрутить до конца чата",
+	"aboutMe": "Благодаря последним прорывам в возможностях агентного кодирования я могу шаг за шагом справляться со сложными задачами разработки программного обеспечения. С помощью инструментов, которые позволяют мне создавать и редактировать файлы, исследовать сложные проекты, использовать браузер и выполнять команды терминала (после вашего одобрения), я могу помочь вам способами, выходящими за рамки завершения кода или технической поддержки. Я даже могу использовать MCP для создания новых инструментов и расширения своих собственных возможностей.",
+	"selectMode": "Выбрать режим взаимодействия",
+	"selectApiConfig": "Выбрать конфигурацию API",
+	"enhancePrompt": "Улучшить запрос с дополнительным контекстом",
+	"addImages": "Добавить изображения в сообщение",
+	"sendMessage": "Отправить сообщение",
+	"typeMessage": "Введите сообщение...",
+	"typeTask": "Введите вашу задачу здесь...",
+	"addContext": "(@ чтобы добавить контекст, / чтобы переключить режимы",
+	"dragFiles": "удерживайте shift, чтобы перетащить файлы",
+	"dragFilesImages": "удерживайте shift, чтобы перетащить файлы/изображения"
+}

+ 8 - 0
webview-ui/src/i18n/locales/ru/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Помогите улучшить Roo Code",
+	"anonymousTelemetry": "Отправляйте анонимные данные об ошибках и использовании, чтобы помочь нам исправлять ошибки и улучшать расширение. Никогда не отправляется код, текст или личная информация.",
+	"changeSettings": "Вы всегда можете изменить это внизу настроек",
+	"settings": "настройки",
+	"allow": "Разрешить",
+	"deny": "Отклонить"
+}

+ 60 - 0
webview-ui/src/i18n/locales/tr/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Roo sizin için ne yapabilir?",
+	"retry": {
+		"title": "Yeniden Dene",
+		"tooltip": "İşlemi tekrar deneyin"
+	},
+	"startNewTask": {
+		"title": "Yeni Görev Başlat",
+		"tooltip": "Yeni bir görev başlatın"
+	},
+	"proceedAnyways": {
+		"title": "Yine de Devam Et",
+		"tooltip": "Komut çalışırken devam edin"
+	},
+	"save": {
+		"title": "Kaydet",
+		"tooltip": "Dosya değişikliklerini kaydedin"
+	},
+	"reject": {
+		"title": "Reddet",
+		"tooltip": "Bu eylemi reddedin"
+	},
+	"completeSubtaskAndReturn": "Alt görevi tamamla ve geri dön",
+	"approve": {
+		"title": "Onayla",
+		"tooltip": "Bu eylemi onaylayın"
+	},
+	"runCommand": {
+		"title": "Komut Çalıştır",
+		"tooltip": "Bu komutu çalıştırın"
+	},
+	"proceedWhileRunning": {
+		"title": "Çalışırken Devam Et",
+		"tooltip": "Uyarılara rağmen devam edin"
+	},
+	"resumeTask": {
+		"title": "Göreve Devam Et",
+		"tooltip": "Mevcut göreve devam edin"
+	},
+	"terminate": {
+		"title": "Sonlandır",
+		"tooltip": "Mevcut görevi sonlandırın"
+	},
+	"cancel": {
+		"title": "İptal",
+		"tooltip": "Mevcut işlemi iptal edin"
+	},
+	"scrollToBottom": "Sohbetin en altına kaydır",
+	"aboutMe": "Ajan tabanlı kodlama yeteneklerindeki son gelişmeler sayesinde, karmaşık yazılım geliştirme görevlerini adım adım ele alabiliyorum. Dosya oluşturma ve düzenleme, karmaşık projeleri keşfetme, tarayıcı kullanma ve terminal komutları çalıştırma (sizin onayınızla) gibi araçlarla, kod tamamlama veya teknik destek ötesinde size yardımcı olabilirim. Hatta MCP'yi kullanarak yeni araçlar oluşturabilir ve kendi yeteneklerimi genişletebilirim.",
+	"selectMode": "Etkileşim modunu seçin",
+	"selectApiConfig": "API yapılandırmasını seçin",
+	"enhancePrompt": "Ek bağlamla istemi geliştirin",
+	"addImages": "Mesaja resim ekle",
+	"sendMessage": "Mesaj gönder",
+	"typeMessage": "Bir mesaj yazın...",
+	"typeTask": "Görevinizi buraya yazın...",
+	"addContext": "(@ bağlam eklemek için, / modları değiştirmek için",
+	"dragFiles": "dosyaları sürüklemek için shift tuşunu basılı tutun",
+	"dragFilesImages": "dosyaları/resimleri sürüklemek için shift tuşunu basılı tutun"
+}

+ 8 - 0
webview-ui/src/i18n/locales/tr/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "Roo Code'u Geliştirmeye Yardım Edin",
+	"anonymousTelemetry": "Hataları düzeltmemize ve eklentiyi geliştirmemize yardımcı olmak için anonim hata ve kullanım verileri gönderin. Hiçbir zaman kod, metin veya kişisel bilgi gönderilmez.",
+	"changeSettings": "Bunu her zaman ayarların altından değiştirebilirsiniz",
+	"settings": "ayarlar",
+	"allow": "İzin Ver",
+	"deny": "Reddet"
+}

+ 60 - 0
webview-ui/src/i18n/locales/zh-CN/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Roo能为您做什么?",
+	"retry": {
+		"title": "重试",
+		"tooltip": "重试此操作"
+	},
+	"startNewTask": {
+		"title": "开始新任务",
+		"tooltip": "开始新任务"
+	},
+	"proceedAnyways": {
+		"title": "继续执行",
+		"tooltip": "继续执行(尽管有警告)"
+	},
+	"save": {
+		"title": "保存",
+		"tooltip": "保存文件更改"
+	},
+	"reject": {
+		"title": "拒绝",
+		"tooltip": "拒绝此操作"
+	},
+	"completeSubtaskAndReturn": "完成子任务并返回",
+	"approve": {
+		"title": "批准",
+		"tooltip": "批准此操作"
+	},
+	"runCommand": {
+		"title": "运行命令",
+		"tooltip": "执行此命令"
+	},
+	"proceedWhileRunning": {
+		"title": "继续执行",
+		"tooltip": "在命令执行时继续"
+	},
+	"resumeTask": {
+		"title": "恢复任务",
+		"tooltip": "继续当前任务"
+	},
+	"terminate": {
+		"title": "终止",
+		"tooltip": "结束当前任务"
+	},
+	"cancel": {
+		"title": "取消",
+		"tooltip": "取消当前操作"
+	},
+	"scrollToBottom": "滚动到底部",
+	"aboutMe": "得益于最新的智能编码技术突破,我可以一步一步处理复杂的软件开发任务。通过允许我创建和编辑文件、探索复杂项目、使用浏览器以及执行终端命令(在您授权后),我能够以超越代码补全或技术支持的方式协助您。我甚至可以使用MCP创建新工具并扩展自身能力。",
+	"selectMode": "选择模式",
+	"selectApiConfig": "选择大模型配置",
+	"enhancePrompt": "增强提示内容",
+	"addImages": "添加图片",
+	"sendMessage": "发送消息",
+	"typeMessage": "输入消息...",
+	"typeTask": "输入您的任务...",
+	"addContext": "(@ 添加上下文, / 切换模式",
+	"dragFiles": "按住 shift 拖入文件",
+	"dragFilesImages": "按住 shift 拖入文件/图片"
+}

+ 8 - 0
webview-ui/src/i18n/locales/zh-CN/common.json

@@ -0,0 +1,8 @@
+{
+	"telemetryTitle": "帮助改进 Roo 代码",
+	"changeSettings": "可以随时在设置页面底部更改此设置",
+	"settings": "设置",
+	"anonymousTelemetry": "发送匿名的错误和使用数据,以帮助我们修复错误并改进扩展程序。不会发送任何代码、提示或个人信息。",
+	"allow": "允许",
+	"deny": "拒绝"
+}

+ 60 - 0
webview-ui/src/i18n/locales/zh-TW/chat.json

@@ -0,0 +1,60 @@
+{
+	"greeting": "Roo 能為您做什麼?",
+	"retry": {
+		"title": "重試",
+		"tooltip": "再次嘗試操作"
+	},
+	"startNewTask": {
+		"title": "開始新任務",
+		"tooltip": "開始一個新任務"
+	},
+	"proceedAnyways": {
+		"title": "繼續執行",
+		"tooltip": "在命令執行期間繼續"
+	},
+	"save": {
+		"title": "儲存",
+		"tooltip": "儲存檔案變更"
+	},
+	"reject": {
+		"title": "拒絕",
+		"tooltip": "拒絕此操作"
+	},
+	"completeSubtaskAndReturn": "完成子任務並返回",
+	"approve": {
+		"title": "批准",
+		"tooltip": "批准此操作"
+	},
+	"runCommand": {
+		"title": "執行命令",
+		"tooltip": "執行此命令"
+	},
+	"proceedWhileRunning": {
+		"title": "執行期間繼續",
+		"tooltip": "無視警告繼續"
+	},
+	"resumeTask": {
+		"title": "恢復任務",
+		"tooltip": "恢復當前任務"
+	},
+	"terminate": {
+		"title": "終止",
+		"tooltip": "終止當前任務"
+	},
+	"cancel": {
+		"title": "取消",
+		"tooltip": "取消當前操作"
+	},
+	"scrollToBottom": "滾動到聊天底部",
+	"aboutMe": "得益於代理編碼能力的最新突破,我可以逐步處理複雜的軟體開發任務。通過允許我創建和編輯文件、探索複雜項目、使用瀏覽器和執行終端命令(在您批准後)的工具,我可以以超越代碼完成或技術支持的方式幫助您。我甚至可以使用 MCP 創建新工具並擴展自己的能力。",
+	"selectMode": "選擇互動模式",
+	"selectApiConfig": "選擇 API 配置",
+	"enhancePrompt": "使用額外上下文增強提示",
+	"addImages": "添加圖片到消息",
+	"sendMessage": "發送消息",
+	"typeMessage": "輸入消息...",
+	"typeTask": "在此輸入您的任務...",
+	"addContext": "(@ 添加上下文, / 切換模式",
+	"dragFiles": "按住 shift 拖動文件",
+	"dragFilesImages": "按住 shift 拖動文件/圖片"
+}

+ 8 - 0
webview-ui/src/i18n/locales/zh-TW/common.json

@@ -0,0 +1,8 @@
+{
+	"title": "幫助改進 Roo Code",
+	"anonymousTelemetry": "發送匿名的錯誤和使用數據,以幫助我們修復錯誤並改進擴展功能。不會發送任何代碼、提示或個人信息。",
+	"changeSettings": "您隨時可以在設置底部更改此選項",
+	"settings": "設置",
+	"allow": "允許",
+	"deny": "拒絕"
+}