From cb802c616e9c0148b6e69e457f3a01dc3e6b9077 Mon Sep 17 00:00:00 2001 From: zerob13 Date: Tue, 26 May 2026 12:20:53 +0800 Subject: [PATCH] fix(i18n): add missing locale keys --- .../i18n-missing-translations/plan.md | 25 ++ .../i18n-missing-translations/spec.md | 22 + .../i18n-missing-translations/tasks.md | 8 + src/renderer/src/i18n/da-DK/mcp.json | 2 + .../src/i18n/da-DK/promptSetting.json | 1 + src/renderer/src/i18n/da-DK/settings.json | 1 + src/renderer/src/i18n/de-DE/mcp.json | 2 + .../src/i18n/de-DE/promptSetting.json | 1 + src/renderer/src/i18n/de-DE/settings.json | 1 + src/renderer/src/i18n/en-US/mcp.json | 2 + .../src/i18n/en-US/promptSetting.json | 1 + src/renderer/src/i18n/en-US/settings.json | 1 + src/renderer/src/i18n/es-ES/mcp.json | 2 + .../src/i18n/es-ES/promptSetting.json | 1 + src/renderer/src/i18n/es-ES/settings.json | 1 + src/renderer/src/i18n/fa-IR/mcp.json | 2 + .../src/i18n/fa-IR/promptSetting.json | 1 + src/renderer/src/i18n/fa-IR/settings.json | 1 + src/renderer/src/i18n/fr-FR/mcp.json | 2 + .../src/i18n/fr-FR/promptSetting.json | 1 + src/renderer/src/i18n/fr-FR/settings.json | 1 + src/renderer/src/i18n/he-IL/mcp.json | 2 + .../src/i18n/he-IL/promptSetting.json | 1 + src/renderer/src/i18n/he-IL/settings.json | 1 + src/renderer/src/i18n/id-ID/mcp.json | 2 + .../src/i18n/id-ID/promptSetting.json | 1 + src/renderer/src/i18n/id-ID/settings.json | 1 + src/renderer/src/i18n/it-IT/mcp.json | 2 + .../src/i18n/it-IT/promptSetting.json | 1 + src/renderer/src/i18n/it-IT/settings.json | 1 + src/renderer/src/i18n/ja-JP/mcp.json | 2 + .../src/i18n/ja-JP/promptSetting.json | 1 + src/renderer/src/i18n/ja-JP/settings.json | 1 + src/renderer/src/i18n/ko-KR/mcp.json | 2 + .../src/i18n/ko-KR/promptSetting.json | 1 + src/renderer/src/i18n/ko-KR/settings.json | 1 + src/renderer/src/i18n/ms-MY/mcp.json | 2 + .../src/i18n/ms-MY/promptSetting.json | 1 + src/renderer/src/i18n/ms-MY/settings.json | 1 + src/renderer/src/i18n/pl-PL/mcp.json | 2 + .../src/i18n/pl-PL/promptSetting.json | 1 + src/renderer/src/i18n/pl-PL/settings.json | 1 + src/renderer/src/i18n/pt-BR/mcp.json | 2 + .../src/i18n/pt-BR/promptSetting.json | 1 + src/renderer/src/i18n/pt-BR/settings.json | 1 + src/renderer/src/i18n/ru-RU/mcp.json | 2 + .../src/i18n/ru-RU/promptSetting.json | 1 + src/renderer/src/i18n/ru-RU/settings.json | 1 + src/renderer/src/i18n/tr-TR/mcp.json | 2 + .../src/i18n/tr-TR/promptSetting.json | 1 + src/renderer/src/i18n/tr-TR/settings.json | 1 + src/renderer/src/i18n/vi-VN/mcp.json | 2 + .../src/i18n/vi-VN/promptSetting.json | 1 + src/renderer/src/i18n/vi-VN/settings.json | 1 + src/renderer/src/i18n/zh-CN/mcp.json | 2 + .../src/i18n/zh-CN/promptSetting.json | 1 + src/renderer/src/i18n/zh-CN/settings.json | 1 + src/renderer/src/i18n/zh-HK/mcp.json | 2 + .../src/i18n/zh-HK/promptSetting.json | 1 + src/renderer/src/i18n/zh-HK/settings.json | 1 + src/renderer/src/i18n/zh-TW/mcp.json | 2 + .../src/i18n/zh-TW/promptSetting.json | 1 + src/renderer/src/i18n/zh-TW/settings.json | 1 + src/types/i18n.d.ts | 401 +++++++++++++++++- 64 files changed, 532 insertions(+), 4 deletions(-) create mode 100644 docs/archives/i18n-missing-translations/plan.md create mode 100644 docs/archives/i18n-missing-translations/spec.md create mode 100644 docs/archives/i18n-missing-translations/tasks.md diff --git a/docs/archives/i18n-missing-translations/plan.md b/docs/archives/i18n-missing-translations/plan.md new file mode 100644 index 000000000..94b1e096d --- /dev/null +++ b/docs/archives/i18n-missing-translations/plan.md @@ -0,0 +1,25 @@ +# Plan + +## Scope + +The scan found four real missing key paths that are referenced from renderer code: + +- `mcp.errors.loadClientsFailed` +- `mcp.prompts.required` +- `promptSetting.uploadFailed` +- `settings.mcp.noServersDescription` + +`searchDisclaimer` is supplied from each locale `index.ts`, and `settings.display.*` is dynamically built from existing `text-sm`, `text-base`, `text-lg`, `text-xl`, and `text-2xl` keys, so those are not changed. + +## Implementation + +- Add the missing keys to every locale JSON file in the matching namespace. +- Re-run the i18n type generator so `src/types/i18n.d.ts` reflects the source locale. +- Validate with format, i18n check, and lint. + +## Test Strategy + +- Run `pnpm run i18n:types`. +- Run `pnpm run format`. +- Run `pnpm run i18n`. +- Run `pnpm run lint`. diff --git a/docs/archives/i18n-missing-translations/spec.md b/docs/archives/i18n-missing-translations/spec.md new file mode 100644 index 000000000..e33478126 --- /dev/null +++ b/docs/archives/i18n-missing-translations/spec.md @@ -0,0 +1,22 @@ +# Missing i18n Translations + +## User Story + +As a DeepChat user, I want every supported locale to provide translations for UI keys that are currently used by the app so that the interface never falls back to raw i18n key strings. + +## Acceptance Criteria + +- All statically used i18n keys found missing from the active locale bundles are added to every supported locale. +- `pnpm run i18n` reports no missing or invalid translations. +- The generated i18n type definitions include the restored source-locale keys. + +## Non-Goals + +- Do not rewrite existing translations unrelated to missing keys. +- Do not remove stale extra keys that are not currently used by the UI. +- Do not change runtime i18n loading behavior. + +## Constraints + +- Keep the existing locale file layout under `src/renderer/src/i18n//`. +- Preserve interpolation placeholders such as `{count}` and `{serverName}` exactly where needed. diff --git a/docs/archives/i18n-missing-translations/tasks.md b/docs/archives/i18n-missing-translations/tasks.md new file mode 100644 index 000000000..1438e7925 --- /dev/null +++ b/docs/archives/i18n-missing-translations/tasks.md @@ -0,0 +1,8 @@ +# Tasks + +- [x] Create SDD notes for the missing translation fix. +- [x] Add `mcp.errors.loadClientsFailed` and `mcp.prompts.required` in all locales. +- [x] Add `promptSetting.uploadFailed` in all locales. +- [x] Add `settings.mcp.noServersDescription` in all locales. +- [x] Regenerate i18n types and run validation commands. +- [x] Archive the completed SDD notes. diff --git a/src/renderer/src/i18n/da-DK/mcp.json b/src/renderer/src/i18n/da-DK/mcp.json index b8c087833..f5a1049e1 100644 --- a/src/renderer/src/i18n/da-DK/mcp.json +++ b/src/renderer/src/i18n/da-DK/mcp.json @@ -33,6 +33,7 @@ "loadPromptsFailed": "Indlæsning af skabelon til indlæsningsprompt mislykkedes", "loadResourcesFailed": "Indlæsning af ressourcer mislykkedes", "loadToolsFailed": "Indlæsning af værktøj mislykkedes", + "loadClientsFailed": "Indlæsning af MCP-klienter mislykkedes", "maxDefaultServersReached": "Du kan højst indstille 30 standardservere.", "mcpDisabled": "MCP-funktionen er deaktiveret.", "missingParameters": "Manglende parameter: {params}", @@ -129,6 +130,7 @@ "noDescription": "Ingen beskrivelse tilgængelig", "noPromptsAvailable": "Ingen tilgængelige prompts i øjeblikket", "parameters": "Prompt parametre", + "required": "påkrævet", "parametersHint": "Indtast venligst parametre i JSON-format, understøtter automatisk formatering.", "resultTitle": "Prompt detaljer", "runningPrompt": "Henter prompt", diff --git a/src/renderer/src/i18n/da-DK/promptSetting.json b/src/renderer/src/i18n/da-DK/promptSetting.json index 6a8b412c3..eae5cf307 100644 --- a/src/renderer/src/i18n/da-DK/promptSetting.json +++ b/src/renderer/src/i18n/da-DK/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "Ingen filer", "noFilesUploadDesc": "Klik ovenfor for at uploade filer", "uploadSuccess": "Upload lykkedes", + "uploadFailed": "Upload mislykkedes", "uploadedCount": "Der er uploadet {count} filer", "confirmDelete": "Er du sikker på, at du vil slette prompten \"{name}\"?", "confirmDeleteDescription": "Handlingen kan ikke fortrydes. Prompten slettes permanent.", diff --git a/src/renderer/src/i18n/da-DK/settings.json b/src/renderer/src/i18n/da-DK/settings.json index d1d87b11f..5ba20e796 100644 --- a/src/renderer/src/i18n/da-DK/settings.json +++ b/src/renderer/src/i18n/da-DK/settings.json @@ -1149,6 +1149,7 @@ "stopServer": "Stop server", "startServer": "Start server", "noServersFound": "Ingen servere fundet", + "noServersDescription": "Tilføj en MCP-server for at bruge værktøjer, prompts og ressourcer.", "addServerDialog": { "title": "Tilføj server", "description": "Konfigurér en ny MCP-server" diff --git a/src/renderer/src/i18n/de-DE/mcp.json b/src/renderer/src/i18n/de-DE/mcp.json index a5cb8f3bb..abc326c06 100644 --- a/src/renderer/src/i18n/de-DE/mcp.json +++ b/src/renderer/src/i18n/de-DE/mcp.json @@ -16,6 +16,7 @@ "resetToDefaultFailed": "Standardserver konnten nicht wiederhergestellt werden", "toggleServerFailed": "Status von Server {serverName} konnte nicht umgeschaltet werden", "loadToolsFailed": "Tools konnten nicht geladen werden", + "loadClientsFailed": "MCP-Clients konnten nicht geladen werden", "loadPromptsFailed": "Prompt-Vorlagen konnten nicht geladen werden", "loadResourcesFailed": "Ressourcen konnten nicht geladen werden", "callToolFailed": "Tool {toolName} konnte nicht aufgerufen werden", @@ -229,6 +230,7 @@ "noDescription": "Keine Beschreibung", "selectPrompt": "Der ausgewählte Prompt wird hier angezeigt", "parameters": "Prompt-Parameter", + "required": "Erforderlich", "input": "Eingabeparameter", "runningPrompt": "Prompt wird abgerufen", "executeButton": "Abrufen", diff --git a/src/renderer/src/i18n/de-DE/promptSetting.json b/src/renderer/src/i18n/de-DE/promptSetting.json index 130b4dea5..234627ca6 100644 --- a/src/renderer/src/i18n/de-DE/promptSetting.json +++ b/src/renderer/src/i18n/de-DE/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "Keine Dateien", "noFilesUploadDesc": "Klicken Sie oben, um Dateien hochzuladen", "uploadSuccess": "Upload erfolgreich", + "uploadFailed": "Upload fehlgeschlagen", "uploadedCount": "{count} Dateien hochgeladen", "confirmDelete": "Prompt \"{name}\" wirklich löschen?", "confirmDeleteDescription": "Diese Aktion kann nicht rückgängig gemacht werden. Der Prompt wird dauerhaft gelöscht.", diff --git a/src/renderer/src/i18n/de-DE/settings.json b/src/renderer/src/i18n/de-DE/settings.json index 69dca1546..f5254e8d9 100644 --- a/src/renderer/src/i18n/de-DE/settings.json +++ b/src/renderer/src/i18n/de-DE/settings.json @@ -1278,6 +1278,7 @@ "stopServer": "Server stoppen", "startServer": "Server starten", "noServersFound": "Keine Server gefunden", + "noServersDescription": "Fügen Sie einen MCP-Server hinzu, um Tools, Prompts und Ressourcen zu verwenden.", "addServerDialog": { "title": "Server hinzufügen", "description": "Neuen MCP-Server konfigurieren" diff --git a/src/renderer/src/i18n/en-US/mcp.json b/src/renderer/src/i18n/en-US/mcp.json index 6f7be5b09..398538369 100644 --- a/src/renderer/src/i18n/en-US/mcp.json +++ b/src/renderer/src/i18n/en-US/mcp.json @@ -244,6 +244,7 @@ "noDescription": "No description yet", "selectPrompt": "Details for the selected prompt will be shown here.", "parameters": "Parameters", + "required": "Required", "input": "Parameters", "runningPrompt": "Fetching prompt...", "executeButton": "Get Prompt", @@ -273,6 +274,7 @@ "resetToDefaultFailed": "Failed to reset to default servers", "toggleServerFailed": "Failed to toggle server {serverName}", "loadToolsFailed": "Failed to load tools", + "loadClientsFailed": "Failed to load MCP clients", "loadPromptsFailed": "Failed to load prompts", "loadResourcesFailed": "Failed to load resources", "callToolFailed": "Failed to call tool {toolName}", diff --git a/src/renderer/src/i18n/en-US/promptSetting.json b/src/renderer/src/i18n/en-US/promptSetting.json index 29ef7ff8f..861fd4cae 100644 --- a/src/renderer/src/i18n/en-US/promptSetting.json +++ b/src/renderer/src/i18n/en-US/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "No files", "noFilesUploadDesc": "Click above to upload files", "uploadSuccess": "Upload successful", + "uploadFailed": "Upload failed", "uploadedCount": "Uploaded {count} files", "confirmDelete": "Are you sure you want to delete prompt \"{name}\"?", "confirmDeleteDescription": "This action cannot be undone. The prompt will be permanently deleted.", diff --git a/src/renderer/src/i18n/en-US/settings.json b/src/renderer/src/i18n/en-US/settings.json index e2f58084e..e2bf89246 100644 --- a/src/renderer/src/i18n/en-US/settings.json +++ b/src/renderer/src/i18n/en-US/settings.json @@ -1279,6 +1279,7 @@ "stopServer": "Stop Server", "startServer": "Start Server", "noServersFound": "No Servers Found", + "noServersDescription": "Add an MCP server to use tools, prompts, and resources.", "addServerDialog": { "title": "Add Server", "description": "Configure a new MCP server" diff --git a/src/renderer/src/i18n/es-ES/mcp.json b/src/renderer/src/i18n/es-ES/mcp.json index d88b69a14..039c7414d 100644 --- a/src/renderer/src/i18n/es-ES/mcp.json +++ b/src/renderer/src/i18n/es-ES/mcp.json @@ -16,6 +16,7 @@ "resetToDefaultFailed": "No se pudo restablecer los servidores predeterminados", "toggleServerFailed": "No se pudo alternar el servidor {serverName}", "loadToolsFailed": "No se pudieron cargar las herramientas", + "loadClientsFailed": "No se pudieron cargar los clientes MCP", "loadPromptsFailed": "No se pudieron cargar los prompts", "loadResourcesFailed": "No se pudieron cargar los recursos", "callToolFailed": "No se pudo llamar a la herramienta {toolName}", @@ -229,6 +230,7 @@ "noDescription": "Aún no hay descripción", "selectPrompt": "Aquí se mostrarán los detalles del prompt seleccionado.", "parameters": "Parámetros", + "required": "Requerido", "input": "Parámetros", "runningPrompt": "Obteniendo prompt...", "executeButton": "Obtener prompt", diff --git a/src/renderer/src/i18n/es-ES/promptSetting.json b/src/renderer/src/i18n/es-ES/promptSetting.json index 60fdce82e..51665041f 100644 --- a/src/renderer/src/i18n/es-ES/promptSetting.json +++ b/src/renderer/src/i18n/es-ES/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "Sin archivos", "noFilesUploadDesc": "Haga clic arriba para cargar archivos", "uploadSuccess": "Subida exitosa", + "uploadFailed": "Error al subir", "uploadedCount": "Archivos {count} cargados", "confirmDelete": "¿Seguro que quieres eliminar el prompt \"{name}\"?", "confirmDeleteDescription": "Esta acción no se puede deshacer. El prompt se eliminará de forma permanente.", diff --git a/src/renderer/src/i18n/es-ES/settings.json b/src/renderer/src/i18n/es-ES/settings.json index cd133e466..cabf0baa5 100644 --- a/src/renderer/src/i18n/es-ES/settings.json +++ b/src/renderer/src/i18n/es-ES/settings.json @@ -1278,6 +1278,7 @@ "stopServer": "Detener servidor", "startServer": "Iniciar servidor", "noServersFound": "No se encontraron servidores", + "noServersDescription": "Agregue un servidor MCP para usar herramientas, prompts y recursos.", "addServerDialog": { "title": "Agregar servidor", "description": "Configurar un nuevo servidor MCP" diff --git a/src/renderer/src/i18n/fa-IR/mcp.json b/src/renderer/src/i18n/fa-IR/mcp.json index e40c1274e..87d80e8be 100644 --- a/src/renderer/src/i18n/fa-IR/mcp.json +++ b/src/renderer/src/i18n/fa-IR/mcp.json @@ -205,6 +205,7 @@ "noDescription": "هنوز توضیحی نیست", "selectPrompt": "اینجا نمایش داده می‌شود", "parameters": "داده‌های دستور", + "required": "لازم", "input": "داده‌های ورودی", "runningPrompt": "دستورکار در حال دریافت است", "executeButton": "برای دریافت اینحا بزنید", @@ -234,6 +235,7 @@ "resetToDefaultFailed": "بازنشانی به کارسازهای پیش‌فرض ناموفق بود", "toggleServerFailed": "تغییر حالت کارساز {serverName} ناموفق بود", "loadToolsFailed": "بارگذاری ابزارها ناموفق بود", + "loadClientsFailed": "بارگذاری کلاینت‌های MCP ناموفق بود", "loadPromptsFailed": "بارگذاری دستورکار‌ها ناموفق بود", "loadResourcesFailed": "بارگذاری منابع ناموفق بود", "callToolFailed": "فراخوانی ابزار {toolName} ناموفق بود", diff --git a/src/renderer/src/i18n/fa-IR/promptSetting.json b/src/renderer/src/i18n/fa-IR/promptSetting.json index 6e81e7bb9..123b37434 100644 --- a/src/renderer/src/i18n/fa-IR/promptSetting.json +++ b/src/renderer/src/i18n/fa-IR/promptSetting.json @@ -42,6 +42,7 @@ "noFiles": "بدون پرونده", "noFilesUploadDesc": "برای بارگذاری پرونده‌ها روی بالا بزنید", "uploadSuccess": "بارگذاری موفق", + "uploadFailed": "بارگذاری ناموفق بود", "uploadedCount": "{count} پرونده بارگذاری شد", "confirmDelete": "آیا مطمئن هستید که می‌خواهید دستورکار \"{name}\" را پاک کنید؟", "confirmDeleteDescription": "این عمل قابل بازگشت نیست. دستورکار به طور دائم پاک خواهد شد.", diff --git a/src/renderer/src/i18n/fa-IR/settings.json b/src/renderer/src/i18n/fa-IR/settings.json index 3a348fc2a..9643caffe 100644 --- a/src/renderer/src/i18n/fa-IR/settings.json +++ b/src/renderer/src/i18n/fa-IR/settings.json @@ -1216,6 +1216,7 @@ "stopServer": "ایست کارساز", "startServer": "راه‌اندازی کارساز", "noServersFound": "کارسازی یافت نشد", + "noServersDescription": "برای استفاده از ابزارها، دستورکارها و منابع، یک کارساز MCP اضافه کنید.", "addServerDialog": { "title": "افزودن کارساز", "description": "پیکربندی کارساز جدید MCP" diff --git a/src/renderer/src/i18n/fr-FR/mcp.json b/src/renderer/src/i18n/fr-FR/mcp.json index 8cac662d1..635931ef5 100644 --- a/src/renderer/src/i18n/fr-FR/mcp.json +++ b/src/renderer/src/i18n/fr-FR/mcp.json @@ -205,6 +205,7 @@ "noDescription": "Aucune description encore", "selectPrompt": "Montré ici", "parameters": "Paramètres rapides", + "required": "Requis", "input": "Paramètres d'entrée", "runningPrompt": "Invite obtient", "executeButton": "Cliquez pour obtenir", @@ -234,6 +235,7 @@ "resetToDefaultFailed": "Échec de la réinitialisation des serveurs par défaut", "toggleServerFailed": "Échec du changement d'état du serveur {serverName}", "loadToolsFailed": "Échec du chargement des outils", + "loadClientsFailed": "Échec du chargement des clients MCP", "loadPromptsFailed": "Échec du chargement des prompts", "loadResourcesFailed": "Échec du chargement des ressources", "callToolFailed": "Échec de l'appel de l'outil {toolName}", diff --git a/src/renderer/src/i18n/fr-FR/promptSetting.json b/src/renderer/src/i18n/fr-FR/promptSetting.json index ec3c20b0d..dfe649adf 100644 --- a/src/renderer/src/i18n/fr-FR/promptSetting.json +++ b/src/renderer/src/i18n/fr-FR/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "Aucun fichier", "noFilesUploadDesc": "Cliquez ci-dessus pour télécharger des fichiers", "uploadSuccess": "Téléchargement réussi", + "uploadFailed": "Échec du téléchargement", "uploadedCount": "{count} fichiers téléchargés", "confirmDelete": "Êtes-vous sûr de vouloir supprimer le prompt \"{name}\" ?", "confirmDeleteDescription": "Cette action ne peut pas être annulée. Le prompt sera définitivement supprimé.", diff --git a/src/renderer/src/i18n/fr-FR/settings.json b/src/renderer/src/i18n/fr-FR/settings.json index 5b176728a..455161a5b 100644 --- a/src/renderer/src/i18n/fr-FR/settings.json +++ b/src/renderer/src/i18n/fr-FR/settings.json @@ -1205,6 +1205,7 @@ "stopServer": "Arrêter le serveur", "startServer": "Démarrer le serveur", "noServersFound": "Aucun serveur trouvé", + "noServersDescription": "Ajoutez un serveur MCP pour utiliser les outils, prompts et ressources.", "addServerDialog": { "title": "Ajouter un serveur", "description": "Configurer un nouveau serveur MCP" diff --git a/src/renderer/src/i18n/he-IL/mcp.json b/src/renderer/src/i18n/he-IL/mcp.json index 532d06a57..859062ef1 100644 --- a/src/renderer/src/i18n/he-IL/mcp.json +++ b/src/renderer/src/i18n/he-IL/mcp.json @@ -244,6 +244,7 @@ "noDescription": "אין תיאור עדיין", "selectPrompt": "פרטים עבור ההנחיה שנבחרה יוצגו כאן.", "parameters": "פרמטרים", + "required": "נדרש", "input": "פרמטרים", "runningPrompt": "מביא הנחיה...", "executeButton": "קבל הנחיה", @@ -273,6 +274,7 @@ "resetToDefaultFailed": "שחזור לשרתי ברירת מחדל נכשל", "toggleServerFailed": "שינוי מצב השרת {serverName} נכשל", "loadToolsFailed": "טעינת הכלים נכשלה", + "loadClientsFailed": "טעינת לקוחות MCP נכשלה", "loadPromptsFailed": "טעינת ההנחיות נכשלה", "loadResourcesFailed": "טעינת המשאבים נכשלה", "callToolFailed": "הקריאה לכלי {toolName} נכשלה", diff --git a/src/renderer/src/i18n/he-IL/promptSetting.json b/src/renderer/src/i18n/he-IL/promptSetting.json index 287113a5c..f7a938608 100644 --- a/src/renderer/src/i18n/he-IL/promptSetting.json +++ b/src/renderer/src/i18n/he-IL/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "אין קבצים", "noFilesUploadDesc": "לחץ למעלה להעלאת קבצים", "uploadSuccess": "ההעלאה הושלמה", + "uploadFailed": "ההעלאה נכשלה", "uploadedCount": "הועלו {count} קבצים", "confirmDelete": "האם אתה בטוח שברצונך למחוק את ההנחיה \"{name}\"?", "confirmDeleteDescription": "לא ניתן לבטל פעולה זו. ההנחיה תימחק לצמיתות.", diff --git a/src/renderer/src/i18n/he-IL/settings.json b/src/renderer/src/i18n/he-IL/settings.json index 8fe669663..f2fd530dd 100644 --- a/src/renderer/src/i18n/he-IL/settings.json +++ b/src/renderer/src/i18n/he-IL/settings.json @@ -1216,6 +1216,7 @@ "stopServer": "עצור שרת", "startServer": "התחל שרת", "noServersFound": "לא נמצאו שרתים", + "noServersDescription": "הוסף שרת MCP כדי להשתמש בכלים, הנחיות ומשאבים.", "addServerDialog": { "title": "הוסף שרת", "description": "הגדר שרת MCP חדש" diff --git a/src/renderer/src/i18n/id-ID/mcp.json b/src/renderer/src/i18n/id-ID/mcp.json index 5bdc79a56..34a3855c5 100644 --- a/src/renderer/src/i18n/id-ID/mcp.json +++ b/src/renderer/src/i18n/id-ID/mcp.json @@ -16,6 +16,7 @@ "resetToDefaultFailed": "Gagal memulihkan server default", "toggleServerFailed": "Beralih status server {serverName} gagal", "loadToolsFailed": "Gagal memuat alat", + "loadClientsFailed": "Gagal memuat klien MCP", "loadPromptsFailed": "Gagal memuat prompt template", "loadResourcesFailed": "Gagal memuat sumber daya", "callToolFailed": "Gagal memanggil alat {toolName}", @@ -229,6 +230,7 @@ "noDescription": "Belum ada deskripsi", "selectPrompt": "Prompt yang dipilih ditampilkan di sini", "parameters": "Prompt Parameter", + "required": "diperlukan", "input": "parameter masukan", "runningPrompt": "Prompt Mendapatkan", "executeButton": "Klik untuk mendapatkan", diff --git a/src/renderer/src/i18n/id-ID/promptSetting.json b/src/renderer/src/i18n/id-ID/promptSetting.json index 8cda928c8..ed00bad95 100644 --- a/src/renderer/src/i18n/id-ID/promptSetting.json +++ b/src/renderer/src/i18n/id-ID/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "Belum ada file", "noFilesUploadDesc": "Klik di atas untuk mengunggah file", "uploadSuccess": "Unggahan berhasil", + "uploadFailed": "Unggahan gagal", "uploadedCount": "{count} file diunggah", "confirmDelete": "Apakah Anda yakin ingin menghapus prompt \"{name}\"?", "confirmDeleteDescription": "Operasi ini tidak dapat diubah dan prompt tidak dapat dipulihkan setelah penghapusan.", diff --git a/src/renderer/src/i18n/id-ID/settings.json b/src/renderer/src/i18n/id-ID/settings.json index 3451d0cdf..b40fe2bbe 100644 --- a/src/renderer/src/i18n/id-ID/settings.json +++ b/src/renderer/src/i18n/id-ID/settings.json @@ -1278,6 +1278,7 @@ "stopServer": "Hentikan servernya", "startServer": "Mulai servernya", "noServersFound": "Server tidak ditemukan", + "noServersDescription": "Tambahkan server MCP untuk menggunakan alat, prompt, dan sumber daya.", "addServerDialog": { "title": "Tambahkan server", "description": "Konfigurasikan server MCP baru" diff --git a/src/renderer/src/i18n/it-IT/mcp.json b/src/renderer/src/i18n/it-IT/mcp.json index 673e6953c..5d6e9b185 100644 --- a/src/renderer/src/i18n/it-IT/mcp.json +++ b/src/renderer/src/i18n/it-IT/mcp.json @@ -16,6 +16,7 @@ "resetToDefaultFailed": "Ripristino server predefiniti non riuscito", "toggleServerFailed": "Cambio stato server {serverName} non riuscito", "loadToolsFailed": "Caricamento strumenti non riuscito", + "loadClientsFailed": "Caricamento client MCP non riuscito", "loadPromptsFailed": "Caricamento template prompt non riuscito", "loadResourcesFailed": "Caricamento risorse non riuscito", "callToolFailed": "Chiamata allo strumento {toolName} non riuscita", @@ -229,6 +230,7 @@ "noDescription": "Nessuna descrizione", "selectPrompt": "Qui viene mostrato il Prompt selezionato", "parameters": "Parametri Prompt", + "required": "Obbligatorio", "input": "Parametri di input", "runningPrompt": "Recupero Prompt", "executeButton": "Fai clic per recuperare", diff --git a/src/renderer/src/i18n/it-IT/promptSetting.json b/src/renderer/src/i18n/it-IT/promptSetting.json index e56a81fd8..378c09e82 100644 --- a/src/renderer/src/i18n/it-IT/promptSetting.json +++ b/src/renderer/src/i18n/it-IT/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "Nessun file", "noFilesUploadDesc": "Fai clic sopra per caricare file", "uploadSuccess": "Caricamento riuscito", + "uploadFailed": "Caricamento non riuscito", "uploadedCount": "{count} file caricati", "confirmDelete": "Vuoi davvero eliminare il prompt \"{name}\"?", "confirmDeleteDescription": "Questa operazione non può essere annullata. Il prompt non potrà essere recuperato.", diff --git a/src/renderer/src/i18n/it-IT/settings.json b/src/renderer/src/i18n/it-IT/settings.json index b56cd0d2f..1407f5bc3 100644 --- a/src/renderer/src/i18n/it-IT/settings.json +++ b/src/renderer/src/i18n/it-IT/settings.json @@ -1278,6 +1278,7 @@ "stopServer": "Arresta server", "startServer": "Avvia server", "noServersFound": "Nessun server trovato", + "noServersDescription": "Aggiungi un server MCP per usare strumenti, prompt e risorse.", "addServerDialog": { "title": "Aggiungi server", "description": "Configura un nuovo server MCP" diff --git a/src/renderer/src/i18n/ja-JP/mcp.json b/src/renderer/src/i18n/ja-JP/mcp.json index b29fb9f4e..180026135 100644 --- a/src/renderer/src/i18n/ja-JP/mcp.json +++ b/src/renderer/src/i18n/ja-JP/mcp.json @@ -205,6 +205,7 @@ "noDescription": "まだ説明はありません", "selectPrompt": "ここに示されています", "parameters": "プロンプトパラメーター", + "required": "必須", "input": "入力パラメーター", "runningPrompt": "プロンプトが取得されています", "executeButton": "クリックして取得します", @@ -234,6 +235,7 @@ "resetToDefaultFailed": "デフォルトサーバーへのリセットに失敗しました", "toggleServerFailed": "サーバー {serverName} の状態の切り替えに失敗しました", "loadToolsFailed": "ツールの読み込みに失敗しました", + "loadClientsFailed": "MCPクライアントの読み込みに失敗しました", "loadPromptsFailed": "プロンプトの読み込みに失敗しました", "loadResourcesFailed": "リソースの読み込みに失敗しました", "callToolFailed": "ツール {toolName} の呼び出しに失敗しました", diff --git a/src/renderer/src/i18n/ja-JP/promptSetting.json b/src/renderer/src/i18n/ja-JP/promptSetting.json index d9681d0f5..123297f67 100644 --- a/src/renderer/src/i18n/ja-JP/promptSetting.json +++ b/src/renderer/src/i18n/ja-JP/promptSetting.json @@ -42,6 +42,7 @@ "noFiles": "ファイルがありません", "noFilesUploadDesc": "上記をクリックしてファイルをアップロードしてください", "uploadSuccess": "アップロード成功", + "uploadFailed": "アップロードに失敗しました", "uploadedCount": "{count}個のファイルがアップロードされました", "confirmDelete": "プロンプト「{name}」を削除してもよろしいですか?", "confirmDeleteDescription": "この操作は元に戻すことができません。プロンプトは完全に削除されます。", diff --git a/src/renderer/src/i18n/ja-JP/settings.json b/src/renderer/src/i18n/ja-JP/settings.json index f262c8b74..342320882 100644 --- a/src/renderer/src/i18n/ja-JP/settings.json +++ b/src/renderer/src/i18n/ja-JP/settings.json @@ -1205,6 +1205,7 @@ "stopServer": "停止サーバー", "startServer": "起動サーバー", "noServersFound": "サーバーは見つかりません", + "noServersDescription": "ツール、プロンプト、リソースを使用するにはMCPサーバーを追加してください。", "addServerDialog": { "title": "サーバーを追加", "description": "新しいMCPサーバーを構成します" diff --git a/src/renderer/src/i18n/ko-KR/mcp.json b/src/renderer/src/i18n/ko-KR/mcp.json index 6567eec6d..7ccf7b8c2 100644 --- a/src/renderer/src/i18n/ko-KR/mcp.json +++ b/src/renderer/src/i18n/ko-KR/mcp.json @@ -205,6 +205,7 @@ "noDescription": "아직 설명이 없습니다", "selectPrompt": "여기에 표시됩니다", "parameters": "프롬프트 매개 변수", + "required": "필수", "input": "입력 매개 변수", "runningPrompt": "프롬프트가 얻고 있습니다", "executeButton": "클릭하려면 클릭하십시오", @@ -234,6 +235,7 @@ "resetToDefaultFailed": "기본 서버로 재설정 실패", "toggleServerFailed": "서버 {serverName} 상태 전환 실패", "loadToolsFailed": "도구 로드 실패", + "loadClientsFailed": "MCP 클라이언트 로드 실패", "loadPromptsFailed": "프롬프트 로드 실패", "loadResourcesFailed": "리소스 로드 실패", "callToolFailed": "도구 {toolName} 호출 실패", diff --git a/src/renderer/src/i18n/ko-KR/promptSetting.json b/src/renderer/src/i18n/ko-KR/promptSetting.json index 61d900ced..0f3737845 100644 --- a/src/renderer/src/i18n/ko-KR/promptSetting.json +++ b/src/renderer/src/i18n/ko-KR/promptSetting.json @@ -42,6 +42,7 @@ "noFiles": "파일 없음", "noFilesUploadDesc": "위를 클릭하여 파일을 업로드하세요", "uploadSuccess": "업로드 성공", + "uploadFailed": "업로드 실패", "uploadedCount": "{count}개 파일 업로드됨", "confirmDelete": "프롬프트 \"{name}\"을(를) 삭제하시겠습니까?", "confirmDeleteDescription": "이 작업은 되돌릴 수 없습니다. 프롬프트가 영구적으로 삭제됩니다.", diff --git a/src/renderer/src/i18n/ko-KR/settings.json b/src/renderer/src/i18n/ko-KR/settings.json index 500f8eb06..43dca7d00 100644 --- a/src/renderer/src/i18n/ko-KR/settings.json +++ b/src/renderer/src/i18n/ko-KR/settings.json @@ -1205,6 +1205,7 @@ "stopServer": "서버 중지", "startServer": "서버 시작", "noServersFound": "서버 없음", + "noServersDescription": "도구, 프롬프트, 리소스를 사용하려면 MCP 서버를 추가하세요.", "addServerDialog": { "title": "서버 추가", "description": "새 MCP 서버 구성" diff --git a/src/renderer/src/i18n/ms-MY/mcp.json b/src/renderer/src/i18n/ms-MY/mcp.json index 77312c7fb..866afd02c 100644 --- a/src/renderer/src/i18n/ms-MY/mcp.json +++ b/src/renderer/src/i18n/ms-MY/mcp.json @@ -16,6 +16,7 @@ "resetToDefaultFailed": "Pemulihan pelayan lalai gagal", "toggleServerFailed": "Gagal menukar status {serverName} pelayan", "loadToolsFailed": "Gagal memuatkan alat", + "loadClientsFailed": "Gagal memuatkan klien MCP", "loadPromptsFailed": "Gagal memuatkan templat gesaan", "loadResourcesFailed": "Gagal memuatkan sumber", "callToolFailed": "Gagal memanggil alat {toolName}", @@ -229,6 +230,7 @@ "noDescription": "Tiada penerangan lagi", "selectPrompt": "Prompt yang dipilih dipaparkan di sini", "parameters": "Parameter Prompt", + "required": "diperlukan", "input": "parameter input", "runningPrompt": "Prompt semakin meningkat", "executeButton": "Klik untuk mendapatkan", diff --git a/src/renderer/src/i18n/ms-MY/promptSetting.json b/src/renderer/src/i18n/ms-MY/promptSetting.json index 15165057d..37ee1ee27 100644 --- a/src/renderer/src/i18n/ms-MY/promptSetting.json +++ b/src/renderer/src/i18n/ms-MY/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "Tiada fail lagi", "noFilesUploadDesc": "Klik di atas untuk memuat naik fail", "uploadSuccess": "Muat naik berjaya", + "uploadFailed": "Muat naik gagal", "uploadedCount": "Fail {count} dimuat naik", "confirmDelete": "Adakah anda pasti mahu memadamkan perkataan gesaan \"{name}\"?", "confirmDeleteDescription": "Operasi ini tidak boleh diterbalikkan, dan perkataan gesaan tidak boleh dipulihkan selepas pemadaman.", diff --git a/src/renderer/src/i18n/ms-MY/settings.json b/src/renderer/src/i18n/ms-MY/settings.json index 87879f69d..65dfc0de4 100644 --- a/src/renderer/src/i18n/ms-MY/settings.json +++ b/src/renderer/src/i18n/ms-MY/settings.json @@ -1278,6 +1278,7 @@ "stopServer": "Hentikan pelayan", "startServer": "Mulakan pelayan", "noServersFound": "Pelayan tidak ditemui", + "noServersDescription": "Tambah pelayan MCP untuk menggunakan alat, prompt dan sumber.", "addServerDialog": { "title": "Tambah pelayan", "description": "Konfigurasikan pelayan MCP baharu" diff --git a/src/renderer/src/i18n/pl-PL/mcp.json b/src/renderer/src/i18n/pl-PL/mcp.json index a5499a8af..9ec38dbc6 100644 --- a/src/renderer/src/i18n/pl-PL/mcp.json +++ b/src/renderer/src/i18n/pl-PL/mcp.json @@ -244,6 +244,7 @@ "noDescription": "Nie ma jeszcze opisu", "selectPrompt": "Tutaj zostaną pokazane szczegóły wybranego prompt.", "parameters": "Parametry", + "required": "Wymagane", "input": "Parametry", "runningPrompt": "Pobieram prompt...", "executeButton": "Pobierz Prompt", @@ -273,6 +274,7 @@ "resetToDefaultFailed": "Nie udało się zresetować do domyślnych serwerów", "toggleServerFailed": "Nie udało się przełączyć serwera {serverName}", "loadToolsFailed": "Nie udało się załadować narzędzi", + "loadClientsFailed": "Nie udało się załadować klientów MCP", "loadPromptsFailed": "Nie udało się załadować prompts", "loadResourcesFailed": "Nie udało się załadować zasobów", "callToolFailed": "Nie udało się wywołać narzędzia {toolName}", diff --git a/src/renderer/src/i18n/pl-PL/promptSetting.json b/src/renderer/src/i18n/pl-PL/promptSetting.json index 20f50c872..6fe8f0627 100644 --- a/src/renderer/src/i18n/pl-PL/promptSetting.json +++ b/src/renderer/src/i18n/pl-PL/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "Brak plików", "noFilesUploadDesc": "Kliknij powyżej, aby przesłać pliki", "uploadSuccess": "Przesyłanie powiodło się", + "uploadFailed": "Przesyłanie nie powiodło się", "uploadedCount": "Przesłano pliki {count}", "confirmDelete": "Czy na pewno chcesz usunąć prompt \"{name}\"?", "confirmDeleteDescription": "Tej akcji nie można cofnąć. prompt zostanie trwale usunięty.", diff --git a/src/renderer/src/i18n/pl-PL/settings.json b/src/renderer/src/i18n/pl-PL/settings.json index 44cb7c749..4d0721b8d 100644 --- a/src/renderer/src/i18n/pl-PL/settings.json +++ b/src/renderer/src/i18n/pl-PL/settings.json @@ -1279,6 +1279,7 @@ "stopServer": "Zatrzymaj serwer", "startServer": "Uruchom serwer", "noServersFound": "Nie znaleziono serwerów", + "noServersDescription": "Dodaj serwer MCP, aby używać narzędzi, promptów i zasobów.", "addServerDialog": { "title": "Dodaj serwer", "description": "Skonfiguruj nowy serwer MCP" diff --git a/src/renderer/src/i18n/pt-BR/mcp.json b/src/renderer/src/i18n/pt-BR/mcp.json index fae857003..5f13a61d0 100644 --- a/src/renderer/src/i18n/pt-BR/mcp.json +++ b/src/renderer/src/i18n/pt-BR/mcp.json @@ -205,6 +205,7 @@ "noDescription": "Ainda sem descrição", "selectPrompt": "Os detalhes do prompt selecionado serão exibidos aqui.", "parameters": "Parâmetros", + "required": "Obrigatório", "input": "Parâmetros", "runningPrompt": "Buscando prompt...", "executeButton": "Obter Prompt", @@ -234,6 +235,7 @@ "resetToDefaultFailed": "Falha ao restaurar servidores padrão", "toggleServerFailed": "Falha ao alternar servidor {serverName}", "loadToolsFailed": "Falha ao carregar ferramentas", + "loadClientsFailed": "Falha ao carregar clientes MCP", "loadPromptsFailed": "Falha ao carregar prompts", "loadResourcesFailed": "Falha ao carregar recursos", "callToolFailed": "Falha ao chamar ferramenta {toolName}", diff --git a/src/renderer/src/i18n/pt-BR/promptSetting.json b/src/renderer/src/i18n/pt-BR/promptSetting.json index f072c0425..5bb8112bc 100644 --- a/src/renderer/src/i18n/pt-BR/promptSetting.json +++ b/src/renderer/src/i18n/pt-BR/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "Nenhum arquivo", "noFilesUploadDesc": "Clique acima para enviar arquivos", "uploadSuccess": "Envio bem-sucedido", + "uploadFailed": "Falha no envio", "uploadedCount": "Enviados {count} arquivos", "confirmDelete": "Tem certeza que deseja excluir o prompt \"{name}\"?", "confirmDeleteDescription": "Esta ação não pode ser desfeita. O prompt será excluído permanentemente.", diff --git a/src/renderer/src/i18n/pt-BR/settings.json b/src/renderer/src/i18n/pt-BR/settings.json index b87cc3809..df2c402dd 100644 --- a/src/renderer/src/i18n/pt-BR/settings.json +++ b/src/renderer/src/i18n/pt-BR/settings.json @@ -1216,6 +1216,7 @@ "stopServer": "Parar Servidor", "startServer": "Iniciar Servidor", "noServersFound": "Nenhum Servidor Encontrado", + "noServersDescription": "Adicione um servidor MCP para usar ferramentas, prompts e recursos.", "addServerDialog": { "title": "Adicionar Servidor", "description": "Configurar um novo MCP server" diff --git a/src/renderer/src/i18n/ru-RU/mcp.json b/src/renderer/src/i18n/ru-RU/mcp.json index 1580650a8..a7e651185 100644 --- a/src/renderer/src/i18n/ru-RU/mcp.json +++ b/src/renderer/src/i18n/ru-RU/mcp.json @@ -205,6 +205,7 @@ "noDescription": "Пока нет описания", "selectPrompt": "Показано здесь", "parameters": "Быстрые параметры", + "required": "Обязательно", "input": "Входные параметры", "runningPrompt": "Подсказка получает", "executeButton": "Нажмите, чтобы получить", @@ -234,6 +235,7 @@ "resetToDefaultFailed": "Не удалось сбросить настройки серверов по умолчанию", "toggleServerFailed": "Не удалось переключить статус сервера {serverName}", "loadToolsFailed": "Не удалось загрузить инструменты", + "loadClientsFailed": "Не удалось загрузить MCP-клиенты", "loadPromptsFailed": "Не удалось загрузить промпты", "loadResourcesFailed": "Не удалось загрузить ресурсы", "callToolFailed": "Не удалось вызвать инструмент {toolName}", diff --git a/src/renderer/src/i18n/ru-RU/promptSetting.json b/src/renderer/src/i18n/ru-RU/promptSetting.json index 0b2151267..9eeac4d2b 100644 --- a/src/renderer/src/i18n/ru-RU/promptSetting.json +++ b/src/renderer/src/i18n/ru-RU/promptSetting.json @@ -42,6 +42,7 @@ "noFiles": "Нет файлов", "noFilesUploadDesc": "Нажмите выше, чтобы загрузить файлы", "uploadSuccess": "Загрузка успешна", + "uploadFailed": "Ошибка загрузки", "uploadedCount": "Загружено {count} файлов", "confirmDelete": "Вы уверены, что хотите удалить промпт \"{name}\"?", "confirmDeleteDescription": "Это действие нельзя отменить. Промпт будет удален навсегда.", diff --git a/src/renderer/src/i18n/ru-RU/settings.json b/src/renderer/src/i18n/ru-RU/settings.json index e760998f0..0a49ec7af 100644 --- a/src/renderer/src/i18n/ru-RU/settings.json +++ b/src/renderer/src/i18n/ru-RU/settings.json @@ -1205,6 +1205,7 @@ "stopServer": "Остановить сервер", "startServer": "Запустить сервер", "noServersFound": "Серверы не найдены", + "noServersDescription": "Добавьте MCP-сервер, чтобы использовать инструменты, промпты и ресурсы.", "addServerDialog": { "title": "Добавить сервер", "description": "Настройка нового сервера MCP" diff --git a/src/renderer/src/i18n/tr-TR/mcp.json b/src/renderer/src/i18n/tr-TR/mcp.json index f13d5d184..33cd1af8c 100644 --- a/src/renderer/src/i18n/tr-TR/mcp.json +++ b/src/renderer/src/i18n/tr-TR/mcp.json @@ -16,6 +16,7 @@ "resetToDefaultFailed": "Varsayılan sunuculara sıfırlanamadı", "toggleServerFailed": "{serverName} sunucusu değiştirilemedi", "loadToolsFailed": "Araçlar yüklenemedi", + "loadClientsFailed": "MCP istemcileri yüklenemedi", "loadPromptsFailed": "prompts yüklenemedi", "loadResourcesFailed": "Kaynaklar yüklenemedi", "callToolFailed": "{toolName} aracı çağrılamadı", @@ -229,6 +230,7 @@ "noDescription": "Henüz açıklama yok", "selectPrompt": "Seçilen prompt için ayrıntılar burada gösterilecektir.", "parameters": "Parametreler", + "required": "Gerekli", "input": "Parametreler", "runningPrompt": "prompt getiriliyor...", "executeButton": "prompt'yi edinin", diff --git a/src/renderer/src/i18n/tr-TR/promptSetting.json b/src/renderer/src/i18n/tr-TR/promptSetting.json index 4f3b42cb5..0180529b8 100644 --- a/src/renderer/src/i18n/tr-TR/promptSetting.json +++ b/src/renderer/src/i18n/tr-TR/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "Dosya yok", "noFilesUploadDesc": "Dosyaları yüklemek için yukarıya tıklayın", "uploadSuccess": "Yükleme başarılı", + "uploadFailed": "Yükleme başarısız oldu", "uploadedCount": "{count} dosyaları yüklendi", "confirmDelete": "prompt \"{name}\" silmek istediğinizden emin misiniz?", "confirmDeleteDescription": "Bu eylem geri alınamaz. prompt kalıcı olarak silinecek.", diff --git a/src/renderer/src/i18n/tr-TR/settings.json b/src/renderer/src/i18n/tr-TR/settings.json index 41a3bf82f..ccc6d226e 100644 --- a/src/renderer/src/i18n/tr-TR/settings.json +++ b/src/renderer/src/i18n/tr-TR/settings.json @@ -1278,6 +1278,7 @@ "stopServer": "Sunucuyu Durdur", "startServer": "Sunucuyu Başlat", "noServersFound": "Sunucu Bulunamadı", + "noServersDescription": "Araçları, promptları ve kaynakları kullanmak için bir MCP sunucusu ekleyin.", "addServerDialog": { "title": "Sunucu Ekle", "description": "Yeni bir MCP sunucusu yapılandırın" diff --git a/src/renderer/src/i18n/vi-VN/mcp.json b/src/renderer/src/i18n/vi-VN/mcp.json index 256cbe384..8a086de61 100644 --- a/src/renderer/src/i18n/vi-VN/mcp.json +++ b/src/renderer/src/i18n/vi-VN/mcp.json @@ -244,6 +244,7 @@ "noDescription": "Chưa có mô tả", "selectPrompt": "Thông tin chi tiết về prompt đã chọn sẽ được hiển thị ở đây.", "parameters": "Thông số", + "required": "Bắt buộc", "input": "Thông số", "runningPrompt": "Đang tìm nạp prompt...", "executeButton": "Nhận Prompt", @@ -273,6 +274,7 @@ "resetToDefaultFailed": "Không thể đặt lại về máy chủ mặc định", "toggleServerFailed": "Không thể chuyển đổi máy chủ {serverName}", "loadToolsFailed": "Không thể tải công cụ", + "loadClientsFailed": "Không thể tải máy khách MCP", "loadPromptsFailed": "Không tải được prompts", "loadResourcesFailed": "Không thể tải tài nguyên", "callToolFailed": "Không gọi được công cụ {toolName}", diff --git a/src/renderer/src/i18n/vi-VN/promptSetting.json b/src/renderer/src/i18n/vi-VN/promptSetting.json index ebf3a5f6b..3ea34b525 100644 --- a/src/renderer/src/i18n/vi-VN/promptSetting.json +++ b/src/renderer/src/i18n/vi-VN/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "Không có tập tin", "noFilesUploadDesc": "Nhấp vào bên trên để tải tập tin lên", "uploadSuccess": "Tải lên thành công", + "uploadFailed": "Tải lên thất bại", "uploadedCount": "Đã tải lên tệp {count}", "confirmDelete": "Bạn có chắc chắn muốn xóa prompt \"{name}\" không?", "confirmDeleteDescription": "Không thể hoàn tác hành động này. prompt sẽ bị xóa vĩnh viễn.", diff --git a/src/renderer/src/i18n/vi-VN/settings.json b/src/renderer/src/i18n/vi-VN/settings.json index fcaf501e6..b5039e538 100644 --- a/src/renderer/src/i18n/vi-VN/settings.json +++ b/src/renderer/src/i18n/vi-VN/settings.json @@ -1279,6 +1279,7 @@ "stopServer": "Dừng máy chủ", "startServer": "Khởi động máy chủ", "noServersFound": "Không tìm thấy máy chủ", + "noServersDescription": "Thêm máy chủ MCP để sử dụng công cụ, prompt và tài nguyên.", "addServerDialog": { "title": "Thêm máy chủ", "description": "Định cấu hình máy chủ MCP mới" diff --git a/src/renderer/src/i18n/zh-CN/mcp.json b/src/renderer/src/i18n/zh-CN/mcp.json index b89436acf..b41cb8b7b 100644 --- a/src/renderer/src/i18n/zh-CN/mcp.json +++ b/src/renderer/src/i18n/zh-CN/mcp.json @@ -16,6 +16,7 @@ "resetToDefaultFailed": "恢复默认服务器失败", "toggleServerFailed": "切换服务器 {serverName} 状态失败", "loadToolsFailed": "加载工具失败", + "loadClientsFailed": "加载 MCP 客户端失败", "loadPromptsFailed": "加载提示模板失败", "loadResourcesFailed": "加载资源失败", "callToolFailed": "调用工具 {toolName} 失败", @@ -229,6 +230,7 @@ "noDescription": "暂无描述", "selectPrompt": "此处展示选中的Prompt", "parameters": "Prompt 参数", + "required": "必需", "input": "输入参数", "runningPrompt": "Prompt 获取中", "executeButton": "点击获取", diff --git a/src/renderer/src/i18n/zh-CN/promptSetting.json b/src/renderer/src/i18n/zh-CN/promptSetting.json index cb4e6778f..f75839d69 100644 --- a/src/renderer/src/i18n/zh-CN/promptSetting.json +++ b/src/renderer/src/i18n/zh-CN/promptSetting.json @@ -43,6 +43,7 @@ "noFiles": "暂无文件", "noFilesUploadDesc": "点击上方上传文件", "uploadSuccess": "上传成功", + "uploadFailed": "上传失败", "uploadedCount": "已上传 {count} 个文件", "confirmDelete": "确定要删除提示词「{name}」吗?", "confirmDeleteDescription": "此操作不可撤销,删除后将无法恢复该提示词。", diff --git a/src/renderer/src/i18n/zh-CN/settings.json b/src/renderer/src/i18n/zh-CN/settings.json index cd5757997..703163ca3 100644 --- a/src/renderer/src/i18n/zh-CN/settings.json +++ b/src/renderer/src/i18n/zh-CN/settings.json @@ -1278,6 +1278,7 @@ "stopServer": "停止服务器", "startServer": "启动服务器", "noServersFound": "未找到服务器", + "noServersDescription": "添加 MCP 服务器后即可使用工具、提示词和资源。", "addServerDialog": { "title": "添加服务器", "description": "配置新的MCP服务器" diff --git a/src/renderer/src/i18n/zh-HK/mcp.json b/src/renderer/src/i18n/zh-HK/mcp.json index 190d2508c..9d3dd9580 100644 --- a/src/renderer/src/i18n/zh-HK/mcp.json +++ b/src/renderer/src/i18n/zh-HK/mcp.json @@ -205,6 +205,7 @@ "noDescription": "暫無描述", "selectPrompt": "此處展示選中的Prompt", "parameters": "Prompt 參數", + "required": "必填", "input": "輸入參數", "runningPrompt": "Prompt 獲取中", "executeButton": "點擊獲取", @@ -234,6 +235,7 @@ "resetToDefaultFailed": "恢復預設伺服器失敗", "toggleServerFailed": "切換伺服器 {serverName} 狀態失敗", "loadToolsFailed": "載入工具失敗", + "loadClientsFailed": "載入 MCP 用戶端失敗", "loadPromptsFailed": "載入提示模板失敗", "loadResourcesFailed": "載入資源失敗", "callToolFailed": "呼叫工具 {toolName} 失敗", diff --git a/src/renderer/src/i18n/zh-HK/promptSetting.json b/src/renderer/src/i18n/zh-HK/promptSetting.json index 37f472fe2..74030f790 100644 --- a/src/renderer/src/i18n/zh-HK/promptSetting.json +++ b/src/renderer/src/i18n/zh-HK/promptSetting.json @@ -42,6 +42,7 @@ "noFiles": "暫無文件", "noFilesUploadDesc": "點擊上方上傳文件", "uploadSuccess": "上傳成功", + "uploadFailed": "上傳失敗", "uploadedCount": "已上傳 {count} 個文件", "confirmDelete": "確定要刪除提示詞「{name}」嗎?", "confirmDeleteDescription": "此操作不可撤銷,刪除後將無法恢復該提示詞。", diff --git a/src/renderer/src/i18n/zh-HK/settings.json b/src/renderer/src/i18n/zh-HK/settings.json index cc9732469..7f0ee152a 100644 --- a/src/renderer/src/i18n/zh-HK/settings.json +++ b/src/renderer/src/i18n/zh-HK/settings.json @@ -1205,6 +1205,7 @@ "stopServer": "停止服務器", "startServer": "啟動服務器", "noServersFound": "未找到服務器", + "noServersDescription": "添加 MCP 服務器後即可使用工具、提示詞和資源。", "addServerDialog": { "title": "添加服務器", "description": "配置新的MCP服務器" diff --git a/src/renderer/src/i18n/zh-TW/mcp.json b/src/renderer/src/i18n/zh-TW/mcp.json index d007a9d46..fa6d612c9 100644 --- a/src/renderer/src/i18n/zh-TW/mcp.json +++ b/src/renderer/src/i18n/zh-TW/mcp.json @@ -16,6 +16,7 @@ "resetToDefaultFailed": "恢復預設伺服器失敗", "toggleServerFailed": "切換伺服器 {serverName} 狀態失敗", "loadToolsFailed": "載入工具失敗", + "loadClientsFailed": "載入 MCP 用戶端失敗", "loadPromptsFailed": "載入提示模板失敗", "loadResourcesFailed": "載入資源失敗", "callToolFailed": "呼叫工具 {toolName} 失敗", @@ -229,6 +230,7 @@ "noDescription": "暫無描述", "selectPrompt": "此處展示選中的Prompt", "parameters": "Prompt 參數", + "required": "必填", "input": "輸入參數", "runningPrompt": "Prompt 獲取中", "executeButton": "點擊獲取", diff --git a/src/renderer/src/i18n/zh-TW/promptSetting.json b/src/renderer/src/i18n/zh-TW/promptSetting.json index 37f472fe2..74030f790 100644 --- a/src/renderer/src/i18n/zh-TW/promptSetting.json +++ b/src/renderer/src/i18n/zh-TW/promptSetting.json @@ -42,6 +42,7 @@ "noFiles": "暫無文件", "noFilesUploadDesc": "點擊上方上傳文件", "uploadSuccess": "上傳成功", + "uploadFailed": "上傳失敗", "uploadedCount": "已上傳 {count} 個文件", "confirmDelete": "確定要刪除提示詞「{name}」嗎?", "confirmDeleteDescription": "此操作不可撤銷,刪除後將無法恢復該提示詞。", diff --git a/src/renderer/src/i18n/zh-TW/settings.json b/src/renderer/src/i18n/zh-TW/settings.json index 88e3b72f6..a539e49ed 100644 --- a/src/renderer/src/i18n/zh-TW/settings.json +++ b/src/renderer/src/i18n/zh-TW/settings.json @@ -1205,6 +1205,7 @@ "stopServer": "停止伺服器", "startServer": "啟動伺服器", "noServersFound": "未找到伺服器", + "noServersDescription": "新增 MCP 伺服器後即可使用工具、提示詞和資源。", "addServerDialog": { "title": "新增伺服器", "description": "配置新的MCP伺服器" diff --git a/src/types/i18n.d.ts b/src/types/i18n.d.ts index 2613482f8..8615ae91e 100644 --- a/src/types/i18n.d.ts +++ b/src/types/i18n.d.ts @@ -9,6 +9,7 @@ declare module 'vue-i18n' { checkUpdateButton: string mockUpdateButton: string clearMockUpdateButton: string + mockOnboardingButton: string updateChannel: string stableChannel: string betaChannel: string @@ -89,6 +90,15 @@ declare module 'vue-i18n' { functionSwitch: string attach: string voiceInput: string + voiceInputStop: string + voiceRecognitionUnsupportedTitle: string + voiceRecognitionUnsupportedDescription: string + voiceRecognitionPermissionDeniedTitle: string + voiceRecognitionPermissionDeniedDescription: string + voiceRecognitionErrorTitle: string + voiceRecognitionErrorDescription: string + send: string + steer: string queue: string stop: string fileSelect: string @@ -98,10 +108,6 @@ declare module 'vue-i18n' { promptFilesAddedDesc: string promptFilesError: string promptFilesErrorDesc: string - fileUploadFailed: string - fileUploadFailedDesc: string - fileUploadFailedMore: string - unnamedFile: string historyPlaceholder: string rateLimitQueue: string rateLimitWait: string @@ -117,6 +123,7 @@ declare module 'vue-i18n' { agentWorkspaceTooltip: string agentWorkspaceSelect: string agentWorkspaceCurrent: string + workspaceUnavailableTooltip: string mcp: { badge: string title: string @@ -127,17 +134,25 @@ declare module 'vue-i18n' { badge: string title: string mcpSection: string + pluginSection: string builtinSection: string loading: string builtinEmpty: string groups: { agentFilesystem: string agentCore: string + agentImageGeneration: string agentSkills: string deepchatSettings: string yobrowser: string } } + fileUploadFailed: string + fileUploadFailedDesc: string + fileUploadFailedMore: string + unnamedFile: string + audioInputUnsupportedTitle: string + audioInputUnsupportedDescription: string } pendingInput: { steer: string @@ -184,6 +199,10 @@ declare module 'vue-i18n' { compaction: { compacting: string compacted: string + commandDescription: string + noopTitle: string + noopDescription: string + failedTitle: string } rateLimit: { queueTooltip: string @@ -283,6 +302,7 @@ declare module 'vue-i18n' { } modelPicker: { empty: string + audioInputSupported: string } audio: { play: string @@ -494,6 +514,7 @@ declare module 'vue-i18n' { plan: { section: string empty: string + itemAriaLabel: string status: { pending: string in_progress: string @@ -622,6 +643,21 @@ declare module 'vue-i18n' { next: string close: string } + onboarding: { + agentSwitch: { + title: string + description: string + caption: string + } + switchModel: { + description: string + caption: string + } + firstChat: { + description: string + caption: string + } + } loading: string copied: string paste: string @@ -837,6 +873,9 @@ declare module 'vue-i18n' { confirmEnable: string } loadError: string + saveAs: string + saveSuccess: string + saveFailed: string enabledTitle: string enabledDescription: string enableToAccess: string @@ -852,6 +891,7 @@ declare module 'vue-i18n' { resetToDefaultFailed: string toggleServerFailed: string loadToolsFailed: string + loadClientsFailed: string loadPromptsFailed: string loadResourcesFailed: string callToolFailed: string @@ -1060,6 +1100,7 @@ declare module 'vue-i18n' { noDescription: string selectPrompt: string parameters: string + required: string input: string runningPrompt: string executeButton: string @@ -1173,6 +1214,7 @@ declare module 'vue-i18n' { embedding: string rerank: string imageGeneration: string + videoGeneration: string } } tags: { @@ -1224,6 +1266,7 @@ declare module 'vue-i18n' { noFiles: string noFilesUploadDesc: string uploadSuccess: string + uploadFailed: string uploadedCount: string confirmDeleteDescription: string confirmDeleteSystemPrompt: string @@ -1285,9 +1328,12 @@ declare module 'vue-i18n' { 'settings-acp': string 'settings-skills': string 'settings-notifications-hooks': string + 'settings-scheduled-tasks': string 'settings-dashboard': string 'settings-environments': string 'settings-remote': string + 'settings-plugins': string + 'settings-overview': string common: { title: string resetData: string @@ -1296,6 +1342,7 @@ declare module 'vue-i18n' { searchEngine: string searchEngineSelect: string searchPreview: string + launchAtLoginEnabled: string autoScrollEnabled: string privacyMode: string privacyModeDescription: string @@ -1401,6 +1448,7 @@ declare module 'vue-i18n' { chatModel: string assistantModel: string visionModel: string + imageGenerationModel: string temperature: string contextLength: string maxTokens: string @@ -1573,6 +1621,46 @@ declare module 'vue-i18n' { 'type-mismatch': string } } + databaseEncryption: { + title: string + description: string + enabled: string + disabled: string + cipher: string + systemUnlock: string + startupUnlock: string + lastMigration: string + loading: string + never: string + notRequired: string + systemUnlockAvailable: string + systemUnlockUnavailable: string + systemUnlockMode: string + manualUnlock: string + currentPassword: string + newPassword: string + confirmPassword: string + passwordMismatch: string + systemCredentialStore: string + safeStorageUnavailable: string + enableButton: string + changeButton: string + disableButton: string + enabledTitle: string + changedTitle: string + disabledTitle: string + failedTitle: string + failedDescription: string + setPasswordButton: string + enableDialogTitle: string + changeDialogTitle: string + disableDialogTitle: string + enableDialogDescription: string + changeDialogDescription: string + disableDialogDescription: string + cancelButton: string + unknown: string + } modelConfigUpdate: { title: string descriptionPrefix: string @@ -1600,6 +1688,101 @@ declare module 'vue-i18n' { clearFailedTitle: string clearFailedDescription: string } + privacyTitle: string + privacyDescription: string + dangerZone: { + title: string + description: string + } + providerImport: { + entryTitle: string + entryDescription: string + entryButton: string + dialogTitle: string + dialogDescription: string + toastTitle: string + toastDescription: string + steps: { + scan: string + providers: string + done: string + } + scanningTitle: string + scanningDescription: string + scanFailedTitle: string + sourcesTitle: string + sourcesDescription: string + selectedSources: string + noSourcesTitle: string + noSourcesDescription: string + providersFound: string + sourceProgress: string + overwriteNote: string + noProvidersTitle: string + noProvidersDescription: string + apiKey: string + noModels: string + modelsImported: string + importingTitle: string + importingDescription: string + doneTitle: string + doneDescription: string + badges: { + configured: string + } + sourceStatus: { + found: string + not_found: string + error: string + unsupported_platform: string + } + targetKind: { + builtin: string + custom: string + unsupported: string + } + warnings: { + already_configured: string + missing_api_key: string + unsupported_provider: string + overwrites_previous_selection: string + credential_only_import: string + } + conflicts: { + overridesPrevious: string + overwrittenByLater: string + } + summary: { + imported: string + created: string + updated: string + overwritten: string + models: string + skipped: string + } + resultStatus: { + created: string + updated: string + skipped: string + overwritten: string + } + actions: { + rescan: string + selectAll: string + clearSelected: string + import: string + } + apiTypes: { + openaiCompletions: string + openai: string + openaiResponses: string + anthropic: string + gemini: string + ollama: string + mistral: string + } + applyFailed: string + } } dashboard: { badge: string @@ -1704,6 +1887,9 @@ declare module 'vue-i18n' { } unavailable: string } + modelConfigItem: { + chatFallbackWarning: string + } model: string provider: { select: string @@ -1858,6 +2044,7 @@ declare module 'vue-i18n' { stopServer: string startServer: string noServersFound: string + noServersDescription: string addServerDialog: { title: string description: string @@ -2009,6 +2196,84 @@ declare module 'vue-i18n' { redetectFailed: string redetectFailedDesc: string } + managedServerReadOnly: string + managedServerReadOnlyDesc: string + center: { + title: string + running: string + builtIn: string + custom: string + searchPlaceholder: string + noResults: string + command: string + filters: { + all: string + running: string + stopped: string + builtIn: string + custom: string + } + } + } + scheduledTasks: { + title: string + description: string + hint: string + newTask: string + empty: string + namePlaceholder: string + fireNow: string + fireNowSuccess: string + defaults: { + name: string + title: string + body: string + } + trigger: { + title: string + kind: string + kindOnce: string + kindDaily: string + kindWeekly: string + firesAt: string + dayOfWeek: string + time: string + description: string + } + action: { + title: string + kind: string + kindNotify: string + kindPrompt: string + titleField: string + titlePlaceholder: string + body: string + message: string + agentId: string + agentIdPlaceholder: string + modelId: string + modelIdPlaceholder: string + systemPrompt: string + autoSend: string + description: string + } + weekday: { + sun: string + mon: string + tue: string + wed: string + thu: string + fri: string + sat: string + } + listTitle: string + listDescription: string + summary: { + task: string + once: string + daily: string + weekly: string + } } about: { title: string @@ -2242,6 +2507,8 @@ declare module 'vue-i18n' { response: string notification: string permission: string + lifecycle: string + stderr: string error: string } } @@ -2450,6 +2717,110 @@ declare module 'vue-i18n' { loginConnected: string } } + plugins: { + title: string + officialOnly: string + refresh: string + empty: string + emptyTitle: string + emptyDescription: string + loadFailed: string + actionFailed: string + install: string + installFromFile: string + openRelease: string + enable: string + disable: string + openSettings: string + runtime: string + version: string + command: string + status: { + enabled: string + disabled: string + available: string + } + runtimeStates: { + missing: string + installed: string + running: string + error: string + } + } + controlCenter: { + groups: { + overview: string + setup: string + models: string + tools: string + knowledge: string + system: string + } + overview: { + title: string + description: string + searchPlaceholder: string + providers: string + mcp: string + deepchatAgents: string + data: string + enabledCount: string + runningCount: string + enabledAgentCount: string + providersDescription: string + deepchatAgentsDescription: string + mcpOn: string + mcpOff: string + syncOn: string + syncOff: string + backupNever: string + } + quickStart: { + title: string + addApiKey: string + addApiKeyDesc: string + enableModel: string + enableModelDesc: string + startMcp: string + startMcpDesc: string + backupNow: string + backupNowDesc: string + } + needsAttention: { + title: string + empty: string + noModels: string + privacyOff: string + backupNever: string + } + activity: { + title: string + description: string + when: string + category: string + change: string + empty: string + emptyDescription: string + settingUpdated: string + providerUpdated: string + providerCreated: string + providerRemoved: string + providerModelsRefreshed: string + modelStatusChanged: string + modelBatchUpdated: string + mcpServerCreated: string + mcpServerUpdated: string + mcpServerRemoved: string + mcpServerStatusChanged: string + mcpGlobalStatusChanged: string + mcpServerStarted: string + mcpServerStopped: string + mcpRegistryRefreshed: string + backupCreated: string + backupImported: string + databaseRepaired: string + } + } success: string message: { toolbar: { @@ -2480,6 +2851,8 @@ declare module 'vue-i18n' { permission: string params: string responseData: string + imagePreview: string + imagePreviewCount: string terminalOutput: string badge: { rtk: string @@ -2546,6 +2919,25 @@ declare module 'vue-i18n' { page: { title: string description: string + guide: { + title: string + description: string + or: string + coreProgress: string + optional: string + actions: { + continueSetup: string + goToChat: string + } + steps: { + provider: string + 'first-chat': string + 'switch-model': string + mcp: string + skills: string + plugins: string + } + } browseProviders: string connectAgent: string acpTitle: string @@ -2558,6 +2950,7 @@ declare module 'vue-i18n' { ollama: string openrouter: string } + importProviders: string } agentPage: { title: string