From a2be45e27e654f5d44d018f76659a5d9bac41310 Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sat, 15 Mar 2025 23:40:59 -0400 Subject: [PATCH] i18n for chattextarea --- .roomodes | 38 ++++++++++++------- .../src/components/chat/ChatTextArea.tsx | 35 ++++++++--------- webview-ui/src/components/chat/ChatView.tsx | 5 +-- webview-ui/src/i18n/locales/ar/chat.json | 8 +++- webview-ui/src/i18n/locales/ca/chat.json | 8 +++- webview-ui/src/i18n/locales/cs/chat.json | 8 +++- webview-ui/src/i18n/locales/de/chat.json | 8 +++- webview-ui/src/i18n/locales/en/chat.json | 8 +++- webview-ui/src/i18n/locales/es/chat.json | 8 +++- webview-ui/src/i18n/locales/fr/chat.json | 8 +++- webview-ui/src/i18n/locales/hi/chat.json | 8 +++- webview-ui/src/i18n/locales/hu/chat.json | 8 +++- webview-ui/src/i18n/locales/it/chat.json | 8 +++- webview-ui/src/i18n/locales/ja/chat.json | 8 +++- webview-ui/src/i18n/locales/ko/chat.json | 8 +++- webview-ui/src/i18n/locales/pl/chat.json | 8 +++- webview-ui/src/i18n/locales/pt-BR/chat.json | 8 +++- webview-ui/src/i18n/locales/pt/chat.json | 8 +++- webview-ui/src/i18n/locales/ru/chat.json | 8 +++- webview-ui/src/i18n/locales/tr/chat.json | 8 +++- webview-ui/src/i18n/locales/zh-CN/chat.json | 8 +++- webview-ui/src/i18n/locales/zh-TW/chat.json | 8 +++- 22 files changed, 177 insertions(+), 53 deletions(-) diff --git a/.roomodes b/.roomodes index f10ca320563..c74aba7c788 100644 --- a/.roomodes +++ b/.roomodes @@ -1,15 +1,5 @@ { "customModes": [ - { - "slug": "translate", - "name": "Translate", - "roleDefinition": "You are Roo, a linguistic specialist focused on translating and managing localization files. Your responsibility is to help maintain and update translation files for the application, ensuring consistency and accuracy across all language resources.", - "groups": [ - "read", - ["edit", { "fileRegex": "src/i18n/locales/", "description": "Translation files only" }] - ], - "customInstructions": "When translating content:\n- Maintain consistent terminology across all translations\n- Respect the JSON structure of translation files\n- Consider context when translating UI strings\n- Watch for placeholders (like {{variable}}) and preserve them in translations\n- Be mindful of text length in UI elements when translating to languages that might require more characters\n- If you need context for a translation, use read_file to examine the components using these strings" - }, { "slug": "test", "name": "Test", @@ -18,12 +8,32 @@ "read", "browser", "command", - ["edit", { - "fileRegex": "(__tests__/.*|__mocks__/.*|\\.test\\.(ts|tsx|js|jsx)$|/test/.*|jest\\.config\\.(js|ts)$)", - "description": "Test files, mocks, and Jest configuration" - }] + [ + "edit", + { + "fileRegex": "(__tests__/.*|__mocks__/.*|\\.test\\.(ts|tsx|js|jsx)$|/test/.*|jest\\.config\\.(js|ts)$)", + "description": "Test files, mocks, and Jest configuration" + } + ] ], "customInstructions": "When writing tests:\n- Always use describe/it blocks for clear test organization\n- Include meaningful test descriptions\n- Use beforeEach/afterEach for proper test isolation\n- Implement proper error cases\n- Add JSDoc comments for complex test scenarios\n- Ensure mocks are properly typed\n- Verify both positive and negative test cases" + }, + { + "slug": "translate", + "name": "Translate", + "roleDefinition": "You are Roo, a linguistic specialist focused on translating and managing localization files. Your responsibility is to help maintain and update translation files for the application, ensuring consistency and accuracy across all language resources.", + "customInstructions": "When internationalizing and translating content:\n\n# Translation Style and Tone\n- Maintain a direct and concise style that mirrors the tone of the original text\n- Carefully account for colloquialisms and idiomatic expressions in both source and target languages\n- Aim for culturally relevant and meaningful translations rather than literal translations\n- Adapt the formality level to match the original content (whether formal or informal)\n- Preserve the personality and voice of the original content\n- Use natural-sounding language that feels native to speakers of the target language\n\n# Technical Implementation\n- Use namespaces to organize translations logically\n- Handle pluralization using i18next's built-in capabilities\n- Implement proper interpolation for variables using {{variable}} syntax\n- Don't include defaultValue. The `en` translations are the fallback.\n\n# Quality Assurance\n- Maintain consistent terminology across all translations\n- Respect the JSON structure of translation files\n- Watch for placeholders and preserve them in translations\n- Be mindful of text length in UI elements when translating to languages that might require more characters\n- Use context-aware translations when the same string has different meanings\n\n# Supported Languages\n- Localize all strings into the following locale files: ar, ca, cs, de, en, es, fr, hi, hu, it, ja, ko, pl, pt, pt-BR, ru, tr, zh-CN, zh-TW", + "groups": [ + "read", + [ + "edit", + { + "fileRegex": "(.*\\.(md|ts|tsx|js|jsx)$|.*\\.json$)", + "description": "Source code, translation files, and documentation" + } + ] + ], + "source": "project" } ] } \ No newline at end of file diff --git a/webview-ui/src/components/chat/ChatTextArea.tsx b/webview-ui/src/components/chat/ChatTextArea.tsx index 1002788dbc7..be0ddd0b0e6 100644 --- a/webview-ui/src/components/chat/ChatTextArea.tsx +++ b/webview-ui/src/components/chat/ChatTextArea.tsx @@ -20,6 +20,7 @@ import Thumbnails from "../common/Thumbnails" import { convertToMentionPath } from "../../utils/path-mentions" import { MAX_IMAGES_PER_MESSAGE } from "./ChatView" import ContextMenu from "./ContextMenu" +import { useAppTranslation } from "../../i18n/TranslationContext" interface ChatTextAreaProps { inputValue: string @@ -56,6 +57,7 @@ const ChatTextArea = forwardRef( }, ref, ) => { + const { t } = useAppTranslation() const { filePaths, openedTabs, currentApiConfigName, listApiConfigMeta, customModes, cwd } = useExtensionState() const [gitCommits, setGitCommits] = useState([]) const [showDropdown, setShowDropdown] = useState(false) @@ -133,12 +135,11 @@ const ChatTextArea = forwardRef( } vscode.postMessage(message) } else { - const promptDescription = - "The 'Enhance Prompt' button helps improve your prompt by providing additional context, clarification, or rephrasing. Try typing a prompt in here and clicking the button again to see how it works." + const promptDescription = t("chat:enhancePromptDescription") setInputValue(promptDescription) } } - }, [inputValue, textAreaDisabled, setInputValue]) + }, [inputValue, textAreaDisabled, setInputValue, t]) const queryItems = useMemo(() => { return [ @@ -475,7 +476,7 @@ const ChatTextArea = forwardRef( const reader = new FileReader() reader.onloadend = () => { if (reader.error) { - console.error("Error reading file:", reader.error) + console.error(t("chat:errorReadingFile"), reader.error) resolve(null) } else { const result = reader.result @@ -490,11 +491,11 @@ const ChatTextArea = forwardRef( if (dataUrls.length > 0) { setSelectedImages((prevImages) => [...prevImages, ...dataUrls].slice(0, MAX_IMAGES_PER_MESSAGE)) } else { - console.warn("No valid images were processed") + console.warn(t("chat:noValidImages")) } } }, - [shouldDisableImages, setSelectedImages, cursorPosition, setInputValue, inputValue], + [shouldDisableImages, setSelectedImages, cursorPosition, setInputValue, inputValue, t], ) const handleThumbnailsHeightChange = useCallback((height: number) => { @@ -611,7 +612,7 @@ const ChatTextArea = forwardRef( const reader = new FileReader() reader.onloadend = () => { if (reader.error) { - console.error("Error reading file:", reader.error) + console.error(t("chat:errorReadingFile"), reader.error) resolve(null) } else { const result = reader.result @@ -634,7 +635,7 @@ const ChatTextArea = forwardRef( }) } } else { - console.warn("No valid images were processed") + console.warn(t("chat:noValidImages")) } } }} @@ -779,7 +780,7 @@ const ChatTextArea = forwardRef( ( // Add separator { value: "sep-1", - label: "Separator", + label: t("chat:separator"), type: DropdownOptionType.SEPARATOR, }, // Add Edit option { value: "promptsButtonClicked", - label: "Edit...", + label: t("chat:edit"), type: DropdownOptionType.ACTION, }, ]} @@ -829,7 +830,7 @@ const ChatTextArea = forwardRef( ({ @@ -840,13 +841,13 @@ const ChatTextArea = forwardRef( // Add separator { value: "sep-2", - label: "Separator", + label: t("chat:separator"), type: DropdownOptionType.SEPARATOR, }, // Add Edit option { value: "settingsButtonClicked", - label: "Edit...", + label: t("chat:edit"), type: DropdownOptionType.ACTION, }, ]} @@ -886,7 +887,7 @@ const ChatTextArea = forwardRef( role="button" aria-label="enhance prompt" data-testid="enhance-prompt-button" - title="Enhance prompt with additional context" + title={t("chat:enhancePrompt")} className={`input-icon-button ${ textAreaDisabled ? "disabled" : "" } codicon codicon-sparkle`} @@ -899,13 +900,13 @@ const ChatTextArea = forwardRef( className={`input-icon-button ${ shouldDisableImages ? "disabled" : "" } codicon codicon-device-camera`} - title="Add images to message" + title={t("chat:addImages")} onClick={() => !shouldDisableImages && onSelectImages()} style={{ fontSize: 16.5 }} /> !textAreaDisabled && onSend()} style={{ fontSize: 15 }} /> diff --git a/webview-ui/src/components/chat/ChatView.tsx b/webview-ui/src/components/chat/ChatView.tsx index fc38a6f5f20..d0c33a1189d 100644 --- a/webview-ui/src/components/chat/ChatView.tsx +++ b/webview-ui/src/components/chat/ChatView.tsx @@ -42,9 +42,10 @@ interface ChatViewProps { export const MAX_IMAGES_PER_MESSAGE = 20 // Anthropic limits to 20 images const isMac = navigator.platform.toUpperCase().indexOf("MAC") >= 0 -const modeShortcutText = `${isMac ? "⌘" : "Ctrl"} + . for next mode` const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryView }: ChatViewProps) => { + const { t } = useAppTranslation() + const modeShortcutText = `${isMac ? "⌘" : "Ctrl"} + . ${t("chat:forNextMode")}` const { version, clineMessages: messages, @@ -67,8 +68,6 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie telemetrySetting, } = useExtensionState() - const { t } = useAppTranslation() - //const task = messages.length > 0 ? (messages[0].say === "task" ? messages[0] : undefined) : undefined) : undefined const task = useMemo(() => messages.at(0), [messages]) // leaving this less safe version here since if the first message is not a task, then the extension is in a bad state and needs to be debugged (see Cline.abort) const modifiedMessages = useMemo(() => combineApiRequests(combineCommandSequences(messages.slice(1))), [messages]) diff --git a/webview-ui/src/i18n/locales/ar/chat.json b/webview-ui/src/i18n/locales/ar/chat.json index 84b4f758342..5c047c3c166 100644 --- a/webview-ui/src/i18n/locales/ar/chat.json +++ b/webview-ui/src/i18n/locales/ar/chat.json @@ -56,5 +56,11 @@ "typeTask": "اكتب مهمتك هنا...", "addContext": "@ لإضافة سياق، / لتبديل الأوضاع", "dragFiles": "اضغط على shift لسحب الملفات", - "dragFilesImages": "اضغط على shift لسحب الملفات/الصور" + "dragFilesImages": "اضغط على shift لسحب الملفات/الصور", + "enhancePromptDescription": "يساعد زر 'تحسين المطالبة' على تحسين طلبك من خلال توفير سياق إضافي أو توضيحات أو إعادة صياغة. جرب كتابة طلب هنا وانقر على الزر مرة أخرى لمعرفة كيفية عمله.", + "errorReadingFile": "خطأ في قراءة الملف:", + "noValidImages": "لم تتم معالجة أي صور صالحة", + "separator": "فاصل", + "edit": "تعديل...", + "forNextMode": "للوضع التالي" } diff --git a/webview-ui/src/i18n/locales/ca/chat.json b/webview-ui/src/i18n/locales/ca/chat.json index 90e6e41d9bd..c7ed21c654b 100644 --- a/webview-ui/src/i18n/locales/ca/chat.json +++ b/webview-ui/src/i18n/locales/ca/chat.json @@ -56,5 +56,11 @@ "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" + "dragFilesImages": "manté premut shift per arrossegar fitxers/imatges", + "enhancePromptDescription": "El botó 'Millora la sol·licitud' ajuda a millorar la teva sol·licitud proporcionant context addicional, aclariments o reformulacions. Prova d'escriure una sol·licitud aquí i fes clic al botó de nou per veure com funciona.", + "errorReadingFile": "Error en llegir el fitxer:", + "noValidImages": "No s'ha processat cap imatge vàlida", + "separator": "Separador", + "edit": "Edita...", + "forNextMode": "per al següent mode" } diff --git a/webview-ui/src/i18n/locales/cs/chat.json b/webview-ui/src/i18n/locales/cs/chat.json index 7243e7af9b6..9a78c472949 100644 --- a/webview-ui/src/i18n/locales/cs/chat.json +++ b/webview-ui/src/i18n/locales/cs/chat.json @@ -56,5 +56,11 @@ "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ů" + "dragFilesImages": "podržte shift pro přetažení souborů/obrázků", + "enhancePromptDescription": "Tlačítko 'Vylepšit výzvu' pomáhá zlepšit vaši výzvu poskytnutím dalšího kontextu, objasnění nebo přeformulování. Zkuste zde napsat výzvu a znovu klikněte na tlačítko pro zobrazení, jak to funguje.", + "errorReadingFile": "Chyba při čtení souboru:", + "noValidImages": "Nebyly zpracovány žádné platné obrázky", + "separator": "Oddělovač", + "edit": "Upravit...", + "forNextMode": "pro další režim" } diff --git a/webview-ui/src/i18n/locales/de/chat.json b/webview-ui/src/i18n/locales/de/chat.json index 98120f0bc92..251d875dc83 100644 --- a/webview-ui/src/i18n/locales/de/chat.json +++ b/webview-ui/src/i18n/locales/de/chat.json @@ -56,5 +56,11 @@ "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" + "dragFilesImages": "Halten Sie die Umschalttaste gedrückt, um Dateien/Bilder zu ziehen", + "enhancePromptDescription": "Die Schaltfläche 'Eingabeaufforderung verbessern' hilft, Ihre Anfrage durch zusätzlichen Kontext, Klarstellungen oder Umformulierungen zu verbessern. Geben Sie eine Anfrage ein und klicken Sie erneut auf die Schaltfläche, um zu sehen, wie es funktioniert.", + "errorReadingFile": "Fehler beim Lesen der Datei:", + "noValidImages": "Es wurden keine gültigen Bilder verarbeitet", + "separator": "Trennlinie", + "edit": "Bearbeiten...", + "forNextMode": "für nächsten Modus" } diff --git a/webview-ui/src/i18n/locales/en/chat.json b/webview-ui/src/i18n/locales/en/chat.json index cf1d4047d83..9b76543a1b4 100644 --- a/webview-ui/src/i18n/locales/en/chat.json +++ b/webview-ui/src/i18n/locales/en/chat.json @@ -50,11 +50,17 @@ "selectMode": "Select mode for interaction", "selectApiConfig": "Select API configuration", "enhancePrompt": "Enhance prompt with additional context", + "enhancePromptDescription": "The 'Enhance Prompt' button helps improve your prompt by providing additional context, clarification, or rephrasing. Try typing a prompt in here and clicking the button again to see how it works.", "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" + "dragFilesImages": "hold shift to drag in files/images", + "errorReadingFile": "Error reading file:", + "noValidImages": "No valid images were processed", + "separator": "Separator", + "edit": "Edit...", + "forNextMode": "for next mode" } diff --git a/webview-ui/src/i18n/locales/es/chat.json b/webview-ui/src/i18n/locales/es/chat.json index a24ec2afe0d..9e43d1c8e3c 100644 --- a/webview-ui/src/i18n/locales/es/chat.json +++ b/webview-ui/src/i18n/locales/es/chat.json @@ -56,5 +56,11 @@ "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" + "dragFilesImages": "mantén shift para arrastrar archivos/imágenes", + "enhancePromptDescription": "El botón 'Mejorar el mensaje' ayuda a mejorar tu petición proporcionando contexto adicional, aclaraciones o reformulaciones. Intenta escribir una petición aquí y haz clic en el botón nuevamente para ver cómo funciona.", + "errorReadingFile": "Error al leer el archivo:", + "noValidImages": "No se procesaron imágenes válidas", + "separator": "Separador", + "edit": "Editar...", + "forNextMode": "para el siguiente modo" } diff --git a/webview-ui/src/i18n/locales/fr/chat.json b/webview-ui/src/i18n/locales/fr/chat.json index 858c0451c39..c4015dbd098 100644 --- a/webview-ui/src/i18n/locales/fr/chat.json +++ b/webview-ui/src/i18n/locales/fr/chat.json @@ -56,5 +56,11 @@ "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" + "dragFilesImages": "maintenez shift pour glisser des fichiers/images", + "enhancePromptDescription": "Le bouton 'Améliorer l'invite' aide à améliorer votre demande en fournissant un contexte supplémentaire, des clarifications ou des reformulations. Essayez de taper une demande ici et cliquez à nouveau sur le bouton pour voir comment cela fonctionne.", + "errorReadingFile": "Erreur lors de la lecture du fichier :", + "noValidImages": "Aucune image valide n'a été traitée", + "separator": "Séparateur", + "edit": "Modifier...", + "forNextMode": "pour le mode suivant" } diff --git a/webview-ui/src/i18n/locales/hi/chat.json b/webview-ui/src/i18n/locales/hi/chat.json index 1b85151dfda..55a927a3b5d 100644 --- a/webview-ui/src/i18n/locales/hi/chat.json +++ b/webview-ui/src/i18n/locales/hi/chat.json @@ -56,5 +56,11 @@ "typeTask": "अपना कार्य यहां टाइप करें...", "addContext": "@ संदर्भ जोड़ने के लिए, / मोड बदलने के लिए", "dragFiles": "फ़ाइलों को खींचने के लिए shift दबाए रखें", - "dragFilesImages": "फ़ाइलों/छवियों को खींचने के लिए shift दबाए रखें" + "dragFilesImages": "फ़ाइलों/छवियों को खींचने के लिए shift दबाए रखें", + "enhancePromptDescription": "'प्रॉम्प्ट बढ़ाएं' बटन अतिरिक्त संदर्भ, स्पष्टीकरण, या पुनर्कथन प्रदान करके आपके प्रॉम्प्ट को बेहतर बनाने में मदद करता है। यहां एक प्रॉम्प्ट टाइप करके और बटन पर फिर से क्लिक करके देखें कि यह कैसे काम करता है।", + "errorReadingFile": "फ़ाइल पढ़ने में त्रुटि:", + "noValidImages": "कोई वैध छवियां संसाधित नहीं की गईं", + "separator": "विभाजक", + "edit": "संपादित करें...", + "forNextMode": "अगले मोड के लिए" } diff --git a/webview-ui/src/i18n/locales/hu/chat.json b/webview-ui/src/i18n/locales/hu/chat.json index d2454b9bfd6..97b7daa3595 100644 --- a/webview-ui/src/i18n/locales/hu/chat.json +++ b/webview-ui/src/i18n/locales/hu/chat.json @@ -56,5 +56,11 @@ "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" + "dragFilesImages": "tartsa lenyomva a shift billentyűt a fájlok/képek húzásához", + "enhancePromptDescription": "A 'Kérés fokozása' gomb segít a kérése javításában azáltal, hogy további környezetet, magyarázatot vagy újrafogalmazást ad. Írjon be egy kérést ide, majd kattintson újra a gombra, hogy lássa, hogyan működik.", + "errorReadingFile": "Hiba a fájl olvasása közben:", + "noValidImages": "Nem történt érvényes kép feldolgozása", + "separator": "Elválasztó", + "edit": "Szerkesztés...", + "forNextMode": "a következő módhoz" } diff --git a/webview-ui/src/i18n/locales/it/chat.json b/webview-ui/src/i18n/locales/it/chat.json index 494a82f2779..009bcf50415 100644 --- a/webview-ui/src/i18n/locales/it/chat.json +++ b/webview-ui/src/i18n/locales/it/chat.json @@ -56,5 +56,11 @@ "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" + "dragFilesImages": "tieni premuto shift per trascinare file/immagini", + "enhancePromptDescription": "Il pulsante 'Migliora il prompt' aiuta a migliorare la tua richiesta fornendo contesto aggiuntivo, chiarimenti o riformulazioni. Prova a digitare una richiesta qui e clicca nuovamente il pulsante per vedere come funziona.", + "errorReadingFile": "Errore durante la lettura del file:", + "noValidImages": "Nessuna immagine valida è stata elaborata", + "separator": "Separatore", + "edit": "Modifica...", + "forNextMode": "per la modalità successiva" } diff --git a/webview-ui/src/i18n/locales/ja/chat.json b/webview-ui/src/i18n/locales/ja/chat.json index cc3ed08c891..6d3b21e1b7f 100644 --- a/webview-ui/src/i18n/locales/ja/chat.json +++ b/webview-ui/src/i18n/locales/ja/chat.json @@ -56,5 +56,11 @@ "typeTask": "ここにタスクを入力...", "addContext": "@ コンテキストを追加, / モードを切り替え", "dragFiles": "ファイルをドラッグするにはshiftを押したままにします", - "dragFilesImages": "ファイル/画像をドラッグするにはshiftを押したままにします" + "dragFilesImages": "ファイル/画像をドラッグするにはshiftを押したままにします", + "enhancePromptDescription": "「プロンプト強化」ボタンは、追加のコンテキスト、説明、または言い換えを提供することで、あなたのプロンプトを改善するのに役立ちます。ここにプロンプトを入力して、もう一度ボタンをクリックするとどのように機能するかが分かります。", + "errorReadingFile": "ファイルの読み込み中にエラーが発生しました:", + "noValidImages": "有効な画像が処理されませんでした", + "separator": "区切り線", + "edit": "編集...", + "forNextMode": "次のモードへ" } diff --git a/webview-ui/src/i18n/locales/ko/chat.json b/webview-ui/src/i18n/locales/ko/chat.json index 2d7dbb361e8..316ff47613e 100644 --- a/webview-ui/src/i18n/locales/ko/chat.json +++ b/webview-ui/src/i18n/locales/ko/chat.json @@ -56,5 +56,11 @@ "typeTask": "여기에 작업을 입력하세요...", "addContext": "@ 컨텍스트 추가, / 모드 전환", "dragFiles": "파일을 드래그하려면 shift를 누르세요", - "dragFilesImages": "파일/이미지를 드래그하려면 shift를 누르세요" + "dragFilesImages": "파일/이미지를 드래그하려면 shift를 누르세요", + "enhancePromptDescription": "'프롬프트 강화' 버튼은 추가 컨텍스트, 설명 또는 재구성을 제공하여 프롬프트를 개선하는 데 도움을 줍니다. 여기에 프롬프트를 입력하고 버튼을 다시 클릭하여 작동 방식을 확인하세요.", + "errorReadingFile": "파일 읽기 오류:", + "noValidImages": "유효한 이미지가 처리되지 않았습니다", + "separator": "구분선", + "edit": "편집...", + "forNextMode": "다음 모드로" } diff --git a/webview-ui/src/i18n/locales/pl/chat.json b/webview-ui/src/i18n/locales/pl/chat.json index e862c2cdaa6..9fdbd012da0 100644 --- a/webview-ui/src/i18n/locales/pl/chat.json +++ b/webview-ui/src/i18n/locales/pl/chat.json @@ -56,5 +56,11 @@ "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" + "dragFilesImages": "przytrzymaj shift, aby przeciągnąć pliki/obrazy", + "enhancePromptDescription": "Przycisk 'Ulepsz monit' pomaga poprawić twój monit, dostarczając dodatkowy kontekst, wyjaśnienia lub przeformułowania. Spróbuj wpisać monit tutaj i kliknij przycisk ponownie, aby zobaczyć, jak to działa.", + "errorReadingFile": "Błąd odczytu pliku:", + "noValidImages": "Nie przetworzono żadnych prawidłowych obrazów", + "separator": "Separator", + "edit": "Edytuj...", + "forNextMode": "dla następnego trybu" } diff --git a/webview-ui/src/i18n/locales/pt-BR/chat.json b/webview-ui/src/i18n/locales/pt-BR/chat.json index 7f3238b8a0c..787b0375516 100644 --- a/webview-ui/src/i18n/locales/pt-BR/chat.json +++ b/webview-ui/src/i18n/locales/pt-BR/chat.json @@ -56,5 +56,11 @@ "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" + "dragFilesImages": "segure shift para arrastar arquivos/imagens", + "enhancePromptDescription": "O botão 'Melhorar o prompt' ajuda a aprimorar seu pedido fornecendo contexto adicional, esclarecimentos ou reformulações. Tente digitar um pedido aqui e clique no botão novamente para ver como funciona.", + "errorReadingFile": "Erro ao ler o arquivo:", + "noValidImages": "Nenhuma imagem válida foi processada", + "separator": "Separador", + "edit": "Editar...", + "forNextMode": "para o próximo modo" } diff --git a/webview-ui/src/i18n/locales/pt/chat.json b/webview-ui/src/i18n/locales/pt/chat.json index 7f3238b8a0c..787b0375516 100644 --- a/webview-ui/src/i18n/locales/pt/chat.json +++ b/webview-ui/src/i18n/locales/pt/chat.json @@ -56,5 +56,11 @@ "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" + "dragFilesImages": "segure shift para arrastar arquivos/imagens", + "enhancePromptDescription": "O botão 'Melhorar o prompt' ajuda a aprimorar seu pedido fornecendo contexto adicional, esclarecimentos ou reformulações. Tente digitar um pedido aqui e clique no botão novamente para ver como funciona.", + "errorReadingFile": "Erro ao ler o arquivo:", + "noValidImages": "Nenhuma imagem válida foi processada", + "separator": "Separador", + "edit": "Editar...", + "forNextMode": "para o próximo modo" } diff --git a/webview-ui/src/i18n/locales/ru/chat.json b/webview-ui/src/i18n/locales/ru/chat.json index b3b286ac8a9..a69a769eadc 100644 --- a/webview-ui/src/i18n/locales/ru/chat.json +++ b/webview-ui/src/i18n/locales/ru/chat.json @@ -56,5 +56,11 @@ "typeTask": "Введите вашу задачу здесь...", "addContext": "@ чтобы добавить контекст, / чтобы переключить режимы", "dragFiles": "удерживайте shift, чтобы перетащить файлы", - "dragFilesImages": "удерживайте shift, чтобы перетащить файлы/изображения" + "dragFilesImages": "удерживайте shift, чтобы перетащить файлы/изображения", + "enhancePromptDescription": "Кнопка 'Улучшить запрос' помогает улучшить ваш запрос, предоставляя дополнительный контекст, разъяснения или переформулировки. Попробуйте ввести запрос здесь и нажмите кнопку еще раз, чтобы увидеть, как это работает.", + "errorReadingFile": "Ошибка чтения файла:", + "noValidImages": "Не обработано ни одного действительного изображения", + "separator": "Разделитель", + "edit": "Редактировать...", + "forNextMode": "для следующего режима" } diff --git a/webview-ui/src/i18n/locales/tr/chat.json b/webview-ui/src/i18n/locales/tr/chat.json index 15ff336e7e3..03e653a99ff 100644 --- a/webview-ui/src/i18n/locales/tr/chat.json +++ b/webview-ui/src/i18n/locales/tr/chat.json @@ -56,5 +56,11 @@ "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" + "dragFilesImages": "dosyaları/resimleri sürüklemek için shift tuşunu basılı tutun", + "enhancePromptDescription": "'İstemi geliştir' düğmesi, ek bağlam, açıklama veya yeniden ifade sağlayarak istemlerinizi iyileştirmenize yardımcı olur. Buraya bir istem yazın ve nasıl çalıştığını görmek için düğmeye tekrar tıklayın.", + "errorReadingFile": "Dosya okuma hatası:", + "noValidImages": "Hiçbir geçerli resim işlenmedi", + "separator": "Ayırıcı", + "edit": "Düzenle...", + "forNextMode": "sonraki mod için" } diff --git a/webview-ui/src/i18n/locales/zh-CN/chat.json b/webview-ui/src/i18n/locales/zh-CN/chat.json index d84118e41d9..d3947ff21fb 100644 --- a/webview-ui/src/i18n/locales/zh-CN/chat.json +++ b/webview-ui/src/i18n/locales/zh-CN/chat.json @@ -56,5 +56,11 @@ "typeTask": "输入您的任务...", "addContext": "@ 添加上下文, / 切换模式", "dragFiles": "按住 shift 拖入文件", - "dragFilesImages": "按住 shift 拖入文件/图片" + "dragFilesImages": "按住 shift 拖入文件/图片", + "enhancePromptDescription": "\"增强提示\"按钮通过提供额外的上下文、解释或重新表述来帮助改进你的提示。在此处输入提示,然后再次点击按钮查看其工作方式。", + "errorReadingFile": "读取文件时出错:", + "noValidImages": "没有处理有效图片", + "separator": "分隔线", + "edit": "编辑...", + "forNextMode": "切换至下一模式" } diff --git a/webview-ui/src/i18n/locales/zh-TW/chat.json b/webview-ui/src/i18n/locales/zh-TW/chat.json index 446900e39b0..2774b419677 100644 --- a/webview-ui/src/i18n/locales/zh-TW/chat.json +++ b/webview-ui/src/i18n/locales/zh-TW/chat.json @@ -56,5 +56,11 @@ "typeTask": "在此輸入您的任務...", "addContext": "@ 添加上下文, / 切換模式", "dragFiles": "按住 shift 拖動文件", - "dragFilesImages": "按住 shift 拖動文件/圖片" + "dragFilesImages": "按住 shift 拖動文件/圖片", + "enhancePromptDescription": "「增強提示」按鈕通過提供額外的上下文、解釋或重新表述來幫助改進你的提示。在此處輸入提示,然後再次點擊按鈕查看其工作方式。", + "errorReadingFile": "讀取檔案時出錯:", + "noValidImages": "沒有處理有效圖片", + "separator": "分隔線", + "edit": "編輯...", + "forNextMode": "切換至下一模式" }