From 70eaf3545ea793add5d2d3a8529e97fd7e8044d7 Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Thu, 5 Mar 2026 08:46:02 -0600 Subject: [PATCH] wip(app): mcp settings --- packages/app/src/components/settings-mcp.tsx | 124 +++++++++++++------ packages/app/src/i18n/ar.ts | 41 ++++++ packages/app/src/i18n/br.ts | 42 +++++++ packages/app/src/i18n/bs.ts | 41 ++++++ packages/app/src/i18n/da.ts | 42 +++++++ packages/app/src/i18n/de.ts | 41 ++++++ packages/app/src/i18n/en.ts | 4 + packages/app/src/i18n/es.ts | 42 +++++++ packages/app/src/i18n/fr.ts | 42 +++++++ packages/app/src/i18n/ja.ts | 42 +++++++ packages/app/src/i18n/ko.ts | 43 +++++++ packages/app/src/i18n/no.ts | 41 ++++++ packages/app/src/i18n/pl.ts | 42 +++++++ packages/app/src/i18n/ru.ts | 43 +++++++ packages/app/src/i18n/th.ts | 41 ++++++ packages/app/src/i18n/tr.ts | 44 +++++++ packages/app/src/i18n/zh.ts | 40 ++++++ packages/app/src/i18n/zht.ts | 40 ++++++ 18 files changed, 756 insertions(+), 39 deletions(-) diff --git a/packages/app/src/components/settings-mcp.tsx b/packages/app/src/components/settings-mcp.tsx index 8171cb4498..c2ae4b833e 100644 --- a/packages/app/src/components/settings-mcp.tsx +++ b/packages/app/src/components/settings-mcp.tsx @@ -2,6 +2,7 @@ import type { Config, McpLocalConfig, McpRemoteConfig, McpStatus } from "@openco import { Button } from "@opencode-ai/ui/button" import { Icon, type IconProps } from "@opencode-ai/ui/icon" import { Tag } from "@opencode-ai/ui/tag" +import { Switch } from "@opencode-ai/ui/switch" import { TextField } from "@opencode-ai/ui/text-field" import { showToast } from "@opencode-ai/ui/toast" import { For, Show, createMemo, onMount, type Component } from "solid-js" @@ -17,6 +18,20 @@ type McpConfig = McpLocalConfig | McpRemoteConfig type McpState = McpStatus["status"] const FEATURED = [ + { + name: "playwright", + title: "Playwright", + description: "Browser automation tools for testing, scraping, and repros.", + icon: "window-cursor", + panel: "linear-gradient(135deg, rgba(59, 130, 246, 0.14), rgba(15, 23, 42, 0.04))", + glow: "rgba(96, 165, 250, 0.18)", + badge: "rgba(37, 99, 235, 0.14)", + color: "rgb(37, 99, 235)", + config: { + type: "local", + command: ["npx", "-y", "@playwright/mcp@latest"], + }, + }, { name: "context7", title: "Context7", @@ -32,48 +47,33 @@ const FEATURED = [ }, }, { - name: "gh_grep", - title: "Grep by Vercel", - description: "Search public code snippets on GitHub through grep.app.", - icon: "magnifying-glass-menu", - panel: "linear-gradient(135deg, rgba(99, 102, 241, 0.14), rgba(30, 41, 59, 0.04))", - glow: "rgba(129, 140, 248, 0.18)", - badge: "rgba(79, 70, 229, 0.14)", - color: "rgb(79, 70, 229)", + name: "linear", + title: "Linear", + description: "Issue and project workflows from your Linear workspace.", + icon: "branch", + panel: "linear-gradient(135deg, rgba(124, 58, 237, 0.14), rgba(30, 41, 59, 0.04))", + glow: "rgba(139, 92, 246, 0.18)", + badge: "rgba(109, 40, 217, 0.14)", + color: "rgb(109, 40, 217)", config: { type: "remote", - url: "https://mcp.grep.app", + url: "https://mcp.linear.app/sse", + oauth: {}, }, }, { - name: "playwright", - title: "Playwright", - description: "Browser automation tools for testing, scraping, and repros.", - icon: "window-cursor", - panel: "linear-gradient(135deg, rgba(59, 130, 246, 0.14), rgba(15, 23, 42, 0.04))", - glow: "rgba(96, 165, 250, 0.18)", - badge: "rgba(37, 99, 235, 0.14)", - color: "rgb(37, 99, 235)", + name: "sentry", + title: "Sentry", + description: "Error monitoring, traces, and issue triage in one place.", + icon: "warning", + panel: "linear-gradient(135deg, rgba(14, 116, 144, 0.16), rgba(15, 23, 42, 0.04))", + glow: "rgba(6, 182, 212, 0.16)", + badge: "rgba(8, 145, 178, 0.14)", + color: "rgb(8, 145, 178)", config: { - type: "local", - command: ["npx", "@playwright/mcp@latest"], - }, - }, - { - name: "github", - title: "GitHub", - description: "Repo, PR, and issue tools powered by your GitHub token.", - icon: "github", - panel: "linear-gradient(135deg, rgba(71, 85, 105, 0.14), rgba(15, 23, 42, 0.06))", - glow: "rgba(100, 116, 139, 0.18)", - badge: "rgba(51, 65, 85, 0.14)", - color: "rgb(51, 65, 85)", - config: { - type: "local", - command: ["npx", "-y", "@modelcontextprotocol/server-github"], - environment: { - GITHUB_PERSONAL_ACCESS_TOKEN: "{env:GITHUB_PERSONAL_ACCESS_TOKEN}", - }, + type: "remote", + url: "https://mcp.sentry.dev/mcp", + oauth: {}, }, }, ] satisfies Array<{ @@ -312,6 +312,31 @@ export const SettingsMcp: Component = () => { add(item.name, item.config, `featured:${item.name}`, false) } + const toggle = (name: string, enabled: boolean) => { + if (busy()) return + const current = (sync.data.config.mcp ?? {})[name] + if (!isConfig(current)) return + + const next = { + ...(sync.data.config.mcp ?? {}), + [name]: { + ...current, + enabled, + }, + } + + save( + next, + `toggle:${name}`, + () => undefined, + lang.t("settings.mcp.toast.updated.title"), + lang.t("settings.mcp.toast.updated.description", { + name, + state: enabled ? lang.t("settings.mcp.state.enabled") : lang.t("settings.mcp.state.disabled"), + }), + ) + } + const remove = (name: string) => { if (busy()) return @@ -445,6 +470,8 @@ export const SettingsMcp: Component = () => { const current = () => state.status[item.name]?.status const text = () => label(item.name) const problem = () => issue(item.name) + const enabled = () => item.config.enabled !== false + const pendingToggle = () => state.submitting === `toggle:${item.name}` const pending = () => state.submitting === `remove:${item.name}` return ( @@ -476,9 +503,28 @@ export const SettingsMcp: Component = () => { - +
e.stopPropagation()}> +
+ + {spin()} + + toggle(item.name, next)} + hideLabel + > + {item.name} + + + {enabled() ? lang.t("settings.mcp.state.enabled") : lang.t("settings.mcp.state.disabled")} + +
+ + +
) }} diff --git a/packages/app/src/i18n/ar.ts b/packages/app/src/i18n/ar.ts index 16f2fbf492..1282fa5ac4 100644 --- a/packages/app/src/i18n/ar.ts +++ b/packages/app/src/i18n/ar.ts @@ -665,6 +665,47 @@ export const dict = { "settings.commands.description": "ستكون إعدادات الأمر قابلة للتكوين هنا.", "settings.mcp.title": "MCP", "settings.mcp.description": "ستكون إعدادات MCP قابلة للتكوين هنا.", + "settings.mcp.section.featured": "مميّز", + "settings.mcp.section.featured.description": "أضف إعدادًا مسبقًا لخوادم MCP الشهيرة بنقرة واحدة.", + "settings.mcp.section.configured": "الخوادم المهيأة", + "settings.mcp.section.configured.description": + "اطلع على خوادم MCP المثبتة، وكيفية اتصالها، وقم بإزالة تلك التي لم تعد بحاجة إليها.", + "settings.mcp.section.add": "أضف خادمًا", + "settings.mcp.section.add.description": "أنشئ تكوين خادم MCP محلي أو بعيد خاص بك.", + "settings.mcp.type.local": "محلي", + "settings.mcp.type.remote": "بعيد", + "settings.mcp.featured.added": "تمت الإضافة", + "settings.mcp.action.add": "أضف خادمًا", + "settings.mcp.action.remove": "إزالة", + "settings.mcp.state.enabled": "مفعل", + "settings.mcp.state.disabled": "معطل", + "settings.mcp.form.type.label": "نوع الاتصال", + "settings.mcp.form.name.label": "اسم الخادم", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "عنوان URL البعيد", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "الأمر", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "الرؤوس (Headers)", + "settings.mcp.form.headers.description": "اختياري. أضف رأسًا واحدًا في كل سطر بصيغة KEY: value.", + "settings.mcp.form.environment.label": "البيئة", + "settings.mcp.form.environment.description": "اختياري. أضف متغيرًا واحدًا في كل سطر بصيغة KEY=value.", + "settings.mcp.form.timeout.label": "المهلة (مللي ثانية)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "تمت إضافة خادم MCP", + "settings.mcp.toast.added.description": "تم حفظ {{name}} في إعدادات MCP الخاصة بك.", + "settings.mcp.toast.updated.title": "تم تحديث خادم MCP", + "settings.mcp.toast.updated.description": "أصبح {{name}} الآن {{state}}.", + "settings.mcp.toast.removed.title": "تمت إزالة خادم MCP", + "settings.mcp.toast.removed.description": "تمت إزالة {{name}} من إعدادات MCP الخاصة بك.", + "settings.mcp.validation.name": "أدخل اسم الخادم قبل الحفظ.", + "settings.mcp.validation.duplicate": "{{name}} مهيأ بالفعل.", + "settings.mcp.validation.url": "أدخل عنوان URL لخادم MCP البعيد.", + "settings.mcp.validation.command": "أدخل الأمر المستخدم لبدء تشغيل خادم MCP المحلي.", + "settings.mcp.validation.timeout": "يجب أن تكون المهلة عددًا صحيحًا موجبًا.", + "settings.mcp.validation.headers": "تعذر تحليل سطر الرأس: {{line}}", + "settings.mcp.validation.environment": "تعذر تحليل سطر البيئة: {{line}}", + "settings.mcp.status.needs_client_registration": "يحتاج إلى تسجيل العميل", "settings.permissions.title": "الأذونات", "settings.permissions.description": "تحكم في الأدوات التي يمكن للخادم استخدامها بشكل افتراضي.", "settings.permissions.section.tools": "الأدوات", diff --git a/packages/app/src/i18n/br.ts b/packages/app/src/i18n/br.ts index 26cf433e0e..d4db324b08 100644 --- a/packages/app/src/i18n/br.ts +++ b/packages/app/src/i18n/br.ts @@ -673,6 +673,48 @@ export const dict = { "settings.commands.description": "Configurações de comandos estarão disponíveis aqui.", "settings.mcp.title": "MCP", "settings.mcp.description": "Configurações de MCP estarão disponíveis aqui.", + "settings.mcp.section.featured": "Destaques", + "settings.mcp.section.featured.description": + "Adicione uma predefinição refinada para servidores MCP populares com um clique.", + "settings.mcp.section.configured": "Servidores configurados", + "settings.mcp.section.configured.description": + "Veja quais servidores MCP estão instalados, como eles se conectam e remova os que você não precisa mais.", + "settings.mcp.section.add": "Adicionar servidor", + "settings.mcp.section.add.description": "Crie sua própria configuração de servidor MCP local ou remoto.", + "settings.mcp.type.local": "Local", + "settings.mcp.type.remote": "Remoto", + "settings.mcp.featured.added": "Adicionado", + "settings.mcp.action.add": "Adicionar servidor", + "settings.mcp.action.remove": "Remover", + "settings.mcp.state.enabled": "Habilitado", + "settings.mcp.state.disabled": "Desabilitado", + "settings.mcp.form.type.label": "Tipo de conexão", + "settings.mcp.form.name.label": "Nome do servidor", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "URL remota", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "Comando", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "Cabeçalhos", + "settings.mcp.form.headers.description": "Opcional. Adicione um cabeçalho por linha usando KEY: value.", + "settings.mcp.form.environment.label": "Ambiente", + "settings.mcp.form.environment.description": "Opcional. Adicione uma variável por linha usando KEY=value.", + "settings.mcp.form.timeout.label": "Tempo limite (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "Servidor MCP adicionado", + "settings.mcp.toast.added.description": "{{name}} foi salvo nas suas configurações do MCP.", + "settings.mcp.toast.updated.title": "Servidor MCP atualizado", + "settings.mcp.toast.updated.description": "{{name}} está agora {{state}}.", + "settings.mcp.toast.removed.title": "Servidor MCP removido", + "settings.mcp.toast.removed.description": "{{name}} foi removido das suas configurações do MCP.", + "settings.mcp.validation.name": "Insira um nome para o servidor antes de salvar.", + "settings.mcp.validation.duplicate": "{{name}} já está configurado.", + "settings.mcp.validation.url": "Insira uma URL de servidor MCP remoto.", + "settings.mcp.validation.command": "Insira o comando usado para iniciar o servidor MCP local.", + "settings.mcp.validation.timeout": "O tempo limite deve ser um número inteiro positivo.", + "settings.mcp.validation.headers": "Não foi possível analisar a linha do cabeçalho: {{line}}", + "settings.mcp.validation.environment": "Não foi possível analisar a linha de ambiente: {{line}}", + "settings.mcp.status.needs_client_registration": "Requer registro do cliente", "settings.permissions.title": "Permissões", "settings.permissions.description": "Controle quais ferramentas o servidor pode usar por padrão.", "settings.permissions.section.tools": "Ferramentas", diff --git a/packages/app/src/i18n/bs.ts b/packages/app/src/i18n/bs.ts index 6c8198bd71..f0edf5abdd 100644 --- a/packages/app/src/i18n/bs.ts +++ b/packages/app/src/i18n/bs.ts @@ -745,6 +745,47 @@ export const dict = { "settings.commands.description": "Postavke komandi će se ovdje moći podešavati.", "settings.mcp.title": "MCP", "settings.mcp.description": "MCP postavke će se ovdje moći podešavati.", + "settings.mcp.section.featured": "Izdvojeno", + "settings.mcp.section.featured.description": "Dodajte gotovu postavku za popularne MCP servere jednim klikom.", + "settings.mcp.section.configured": "Konfigurisani serveri", + "settings.mcp.section.configured.description": + "Pogledajte koji su MCP serveri instalirani, kako se povezuju i uklonite one koji vam više ne trebaju.", + "settings.mcp.section.add": "Dodaj server", + "settings.mcp.section.add.description": "Kreirajte vlastitu konfiguraciju lokalnog ili udaljenog MCP servera.", + "settings.mcp.type.local": "Lokalno", + "settings.mcp.type.remote": "Udaljeno", + "settings.mcp.featured.added": "Dodano", + "settings.mcp.action.add": "Dodaj server", + "settings.mcp.action.remove": "Ukloni", + "settings.mcp.state.enabled": "Omogućeno", + "settings.mcp.state.disabled": "Onemogućeno", + "settings.mcp.form.type.label": "Tip konekcije", + "settings.mcp.form.name.label": "Naziv servera", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "Udaljeni URL", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "Komanda", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "Zaglavlja", + "settings.mcp.form.headers.description": "Opcionalno. Dodajte jedno zaglavlje po liniji koristeći KEY: value.", + "settings.mcp.form.environment.label": "Okruženje", + "settings.mcp.form.environment.description": "Opcionalno. Dodajte jednu varijablu po liniji koristeći KEY=value.", + "settings.mcp.form.timeout.label": "Istek vremena (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "MCP server dodan", + "settings.mcp.toast.added.description": "{{name}} je sačuvan u vaše MCP postavke.", + "settings.mcp.toast.updated.title": "MCP server ažuriran", + "settings.mcp.toast.updated.description": "{{name}} je sada {{state}}.", + "settings.mcp.toast.removed.title": "MCP server uklonjen", + "settings.mcp.toast.removed.description": "{{name}} je uklonjen iz vaših MCP postavki.", + "settings.mcp.validation.name": "Unesite naziv servera prije čuvanja.", + "settings.mcp.validation.duplicate": "{{name}} je već konfigurisan.", + "settings.mcp.validation.url": "Unesite URL udaljenog MCP servera.", + "settings.mcp.validation.command": "Unesite komandu koja se koristi za pokretanje lokalnog MCP servera.", + "settings.mcp.validation.timeout": "Istek vremena mora biti pozitivan cijeli broj.", + "settings.mcp.validation.headers": "Nije moguće parsirati liniju zaglavlja: {{line}}", + "settings.mcp.validation.environment": "Nije moguće parsirati liniju okruženja: {{line}}", + "settings.mcp.status.needs_client_registration": "Potrebna registracija klijenta", "settings.permissions.title": "Dozvole", "settings.permissions.description": "Kontroliši koje alate server smije koristiti po defaultu.", diff --git a/packages/app/src/i18n/da.ts b/packages/app/src/i18n/da.ts index 11da681760..5b357894f1 100644 --- a/packages/app/src/i18n/da.ts +++ b/packages/app/src/i18n/da.ts @@ -739,6 +739,48 @@ export const dict = { "settings.commands.description": "Kommandoindstillinger vil kunne konfigureres her.", "settings.mcp.title": "MCP", "settings.mcp.description": "MCP-indstillinger vil kunne konfigureres her.", + "settings.mcp.section.featured": "Udvalgte", + "settings.mcp.section.featured.description": + "Tilføj en poleret forudindstilling for populære MCP-servere med ét klik.", + "settings.mcp.section.configured": "Konfigurerede servere", + "settings.mcp.section.configured.description": + "Se hvilke MCP-servere der er installeret, hvordan de forbinder, og fjern dem du ikke længere har brug for.", + "settings.mcp.section.add": "Tilføj en server", + "settings.mcp.section.add.description": "Opret din egen lokale eller fjern MCP-serverkonfiguration.", + "settings.mcp.type.local": "Lokal", + "settings.mcp.type.remote": "Fjern", + "settings.mcp.featured.added": "Tilføjet", + "settings.mcp.action.add": "Tilføj server", + "settings.mcp.action.remove": "Fjern", + "settings.mcp.state.enabled": "Aktiveret", + "settings.mcp.state.disabled": "Deaktiveret", + "settings.mcp.form.type.label": "Forbindelsestype", + "settings.mcp.form.name.label": "Servernavn", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "Fjern-URL", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "Kommando", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "Headere", + "settings.mcp.form.headers.description": "Valgfrit. Tilføj én header pr. linje ved brug af KEY: value.", + "settings.mcp.form.environment.label": "Miljø", + "settings.mcp.form.environment.description": "Valgfrit. Tilføj én variabel pr. linje ved brug af KEY=value.", + "settings.mcp.form.timeout.label": "Timeout (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "MCP-server tilføjet", + "settings.mcp.toast.added.description": "{{name}} er blevet gemt i dine MCP-indstillinger.", + "settings.mcp.toast.updated.title": "MCP-server opdateret", + "settings.mcp.toast.updated.description": "{{name}} er nu {{state}}.", + "settings.mcp.toast.removed.title": "MCP-server fjernet", + "settings.mcp.toast.removed.description": "{{name}} er blevet fjernet fra dine MCP-indstillinger.", + "settings.mcp.validation.name": "Indtast et servernavn før du gemmer.", + "settings.mcp.validation.duplicate": "{{name}} er allerede konfigureret.", + "settings.mcp.validation.url": "Indtast en URL til en fjern MCP-server.", + "settings.mcp.validation.command": "Indtast kommandoen, der bruges til at starte den lokale MCP-server.", + "settings.mcp.validation.timeout": "Timeout skal være et positivt heltal.", + "settings.mcp.validation.headers": "Kunne ikke fortolke header-linje: {{line}}", + "settings.mcp.validation.environment": "Kunne ikke fortolke miljø-linje: {{line}}", + "settings.mcp.status.needs_client_registration": "Kræver klientregistrering", "settings.permissions.title": "Tilladelser", "settings.permissions.description": "Styr hvilke værktøjer serveren kan bruge som standard.", diff --git a/packages/app/src/i18n/de.ts b/packages/app/src/i18n/de.ts index 51b9ec3531..4a29f93213 100644 --- a/packages/app/src/i18n/de.ts +++ b/packages/app/src/i18n/de.ts @@ -682,6 +682,47 @@ export const dict = { "settings.commands.description": "Befehlseinstellungen können hier konfiguriert werden.", "settings.mcp.title": "MCP", "settings.mcp.description": "MCP-Einstellungen können hier konfiguriert werden.", + "settings.mcp.section.featured": "Vorgestellt", + "settings.mcp.section.featured.description": "Fügen Sie mit einem Klick eine Vorlage für beliebte MCP-Server hinzu.", + "settings.mcp.section.configured": "Konfigurierte Server", + "settings.mcp.section.configured.description": + "Sehen Sie, welche MCP-Server installiert sind, wie sie verbunden sind, und entfernen Sie nicht mehr benötigte.", + "settings.mcp.section.add": "Server hinzufügen", + "settings.mcp.section.add.description": "Erstellen Sie Ihre eigene lokale oder Remote-MCP-Server-Konfiguration.", + "settings.mcp.type.local": "Lokal", + "settings.mcp.type.remote": "Remote", + "settings.mcp.featured.added": "Hinzugefügt", + "settings.mcp.action.add": "Server hinzufügen", + "settings.mcp.action.remove": "Entfernen", + "settings.mcp.state.enabled": "Aktiviert", + "settings.mcp.state.disabled": "Deaktiviert", + "settings.mcp.form.type.label": "Verbindungstyp", + "settings.mcp.form.name.label": "Servername", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "Remote-URL", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "Befehl", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "Header", + "settings.mcp.form.headers.description": "Optional. Fügen Sie einen Header pro Zeile im Format KEY: value hinzu.", + "settings.mcp.form.environment.label": "Umgebung", + "settings.mcp.form.environment.description": "Optional. Fügen Sie eine Variable pro Zeile im Format KEY=value hinzu.", + "settings.mcp.form.timeout.label": "Timeout (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "MCP-Server hinzugefügt", + "settings.mcp.toast.added.description": "{{name}} wurde in Ihren MCP-Einstellungen gespeichert.", + "settings.mcp.toast.updated.title": "MCP-Server aktualisiert", + "settings.mcp.toast.updated.description": "{{name}} ist jetzt {{state}}.", + "settings.mcp.toast.removed.title": "MCP-Server entfernt", + "settings.mcp.toast.removed.description": "{{name}} wurde aus Ihren MCP-Einstellungen entfernt.", + "settings.mcp.validation.name": "Geben Sie vor dem Speichern einen Servernamen ein.", + "settings.mcp.validation.duplicate": "{{name}} ist bereits konfiguriert.", + "settings.mcp.validation.url": "Geben Sie eine Remote-MCP-Server-URL ein.", + "settings.mcp.validation.command": "Geben Sie den Befehl zum Starten des lokalen MCP-Servers ein.", + "settings.mcp.validation.timeout": "Das Timeout muss eine positive ganze Zahl sein.", + "settings.mcp.validation.headers": "Header-Zeile konnte nicht verarbeitet werden: {{line}}", + "settings.mcp.validation.environment": "Umgebungsvariablen-Zeile konnte nicht verarbeitet werden: {{line}}", + "settings.mcp.status.needs_client_registration": "Client-Registrierung erforderlich", "settings.permissions.title": "Berechtigungen", "settings.permissions.description": "Steuern Sie, welche Tools der Server standardmäßig verwenden darf.", "settings.permissions.section.tools": "Tools", diff --git a/packages/app/src/i18n/en.ts b/packages/app/src/i18n/en.ts index 92d962ac09..74a2e02558 100644 --- a/packages/app/src/i18n/en.ts +++ b/packages/app/src/i18n/en.ts @@ -783,6 +783,8 @@ export const dict = { "settings.mcp.featured.added": "Added", "settings.mcp.action.add": "Add server", "settings.mcp.action.remove": "Remove", + "settings.mcp.state.enabled": "Enabled", + "settings.mcp.state.disabled": "Disabled", "settings.mcp.form.type.label": "Connection type", "settings.mcp.form.name.label": "Server name", "settings.mcp.form.name.placeholder": "my-mcp-server", @@ -798,6 +800,8 @@ export const dict = { "settings.mcp.form.timeout.placeholder": "5000", "settings.mcp.toast.added.title": "MCP server added", "settings.mcp.toast.added.description": "{{name}} has been saved to your MCP settings.", + "settings.mcp.toast.updated.title": "MCP server updated", + "settings.mcp.toast.updated.description": "{{name}} is now {{state}}.", "settings.mcp.toast.removed.title": "MCP server removed", "settings.mcp.toast.removed.description": "{{name}} has been removed from your MCP settings.", "settings.mcp.validation.name": "Enter a server name before saving.", diff --git a/packages/app/src/i18n/es.ts b/packages/app/src/i18n/es.ts index 2665a80850..eafa8d625c 100644 --- a/packages/app/src/i18n/es.ts +++ b/packages/app/src/i18n/es.ts @@ -751,6 +751,48 @@ export const dict = { "settings.commands.description": "La configuración de comandos estará disponible aquí.", "settings.mcp.title": "MCP", "settings.mcp.description": "La configuración de MCP estará disponible aquí.", + "settings.mcp.section.featured": "Destacados", + "settings.mcp.section.featured.description": + "Añade un ajuste preestablecido para servidores MCP populares con un solo clic.", + "settings.mcp.section.configured": "Servidores configurados", + "settings.mcp.section.configured.description": + "Consulta qué servidores MCP están instalados, cómo se conectan y elimina los que ya no necesites.", + "settings.mcp.section.add": "Añadir un servidor", + "settings.mcp.section.add.description": "Crea tu propia configuración de servidor MCP local o remoto.", + "settings.mcp.type.local": "Local", + "settings.mcp.type.remote": "Remoto", + "settings.mcp.featured.added": "Añadido", + "settings.mcp.action.add": "Añadir servidor", + "settings.mcp.action.remove": "Eliminar", + "settings.mcp.state.enabled": "Habilitado", + "settings.mcp.state.disabled": "Deshabilitado", + "settings.mcp.form.type.label": "Tipo de conexión", + "settings.mcp.form.name.label": "Nombre del servidor", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "URL remota", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "Comando", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "Encabezados", + "settings.mcp.form.headers.description": "Opcional. Añade un encabezado por línea usando KEY: value.", + "settings.mcp.form.environment.label": "Entorno", + "settings.mcp.form.environment.description": "Opcional. Añade una variable por línea usando KEY=value.", + "settings.mcp.form.timeout.label": "Tiempo de espera (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "Servidor MCP añadido", + "settings.mcp.toast.added.description": "{{name}} se ha guardado en tu configuración de MCP.", + "settings.mcp.toast.updated.title": "Servidor MCP actualizado", + "settings.mcp.toast.updated.description": "{{name}} está ahora {{state}}.", + "settings.mcp.toast.removed.title": "Servidor MCP eliminado", + "settings.mcp.toast.removed.description": "{{name}} se ha eliminado de tu configuración de MCP.", + "settings.mcp.validation.name": "Introduce un nombre de servidor antes de guardar.", + "settings.mcp.validation.duplicate": "{{name}} ya está configurado.", + "settings.mcp.validation.url": "Introduce una URL de servidor MCP remoto.", + "settings.mcp.validation.command": "Introduce el comando utilizado para iniciar el servidor MCP local.", + "settings.mcp.validation.timeout": "El tiempo de espera debe ser un número entero positivo.", + "settings.mcp.validation.headers": "No se pudo analizar la línea de encabezado: {{line}}", + "settings.mcp.validation.environment": "No se pudo analizar la línea de entorno: {{line}}", + "settings.mcp.status.needs_client_registration": "Requiere registro de cliente", "settings.permissions.title": "Permisos", "settings.permissions.description": "Controla qué herramientas puede usar el servidor por defecto.", diff --git a/packages/app/src/i18n/fr.ts b/packages/app/src/i18n/fr.ts index 1e67db1933..33fdd4e54d 100644 --- a/packages/app/src/i18n/fr.ts +++ b/packages/app/src/i18n/fr.ts @@ -679,6 +679,48 @@ export const dict = { "settings.commands.description": "Les paramètres des commandes seront configurables ici.", "settings.mcp.title": "MCP", "settings.mcp.description": "Les paramètres MCP seront configurables ici.", + "settings.mcp.section.featured": "En vedette", + "settings.mcp.section.featured.description": + "Ajoutez un préréglage soigné pour les serveurs MCP populaires en un clic.", + "settings.mcp.section.configured": "Serveurs configurés", + "settings.mcp.section.configured.description": + "Consultez les serveurs MCP installés, leur mode de connexion, et supprimez ceux dont vous n'avez plus besoin.", + "settings.mcp.section.add": "Ajouter un serveur", + "settings.mcp.section.add.description": "Créez votre propre configuration de serveur MCP local ou distant.", + "settings.mcp.type.local": "Local", + "settings.mcp.type.remote": "Distant", + "settings.mcp.featured.added": "Ajouté", + "settings.mcp.action.add": "Ajouter un serveur", + "settings.mcp.action.remove": "Supprimer", + "settings.mcp.state.enabled": "Activé", + "settings.mcp.state.disabled": "Désactivé", + "settings.mcp.form.type.label": "Type de connexion", + "settings.mcp.form.name.label": "Nom du serveur", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "URL distante", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "Commande", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "En-têtes", + "settings.mcp.form.headers.description": "Facultatif. Ajoutez un en-tête par ligne au format KEY: value.", + "settings.mcp.form.environment.label": "Environnement", + "settings.mcp.form.environment.description": "Facultatif. Ajoutez une variable par ligne au format KEY=value.", + "settings.mcp.form.timeout.label": "Délai d'attente (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "Serveur MCP ajouté", + "settings.mcp.toast.added.description": "{{name}} a été enregistré dans vos paramètres MCP.", + "settings.mcp.toast.updated.title": "Serveur MCP mis à jour", + "settings.mcp.toast.updated.description": "{{name}} est désormais {{state}}.", + "settings.mcp.toast.removed.title": "Serveur MCP supprimé", + "settings.mcp.toast.removed.description": "{{name}} a été supprimé de vos paramètres MCP.", + "settings.mcp.validation.name": "Saisissez un nom de serveur avant d'enregistrer.", + "settings.mcp.validation.duplicate": "{{name}} est déjà configuré.", + "settings.mcp.validation.url": "Saisissez une URL de serveur MCP distant.", + "settings.mcp.validation.command": "Saisissez la commande utilisée pour démarrer le serveur MCP local.", + "settings.mcp.validation.timeout": "Le délai d'attente doit être un nombre entier positif.", + "settings.mcp.validation.headers": "Impossible d'analyser la ligne d'en-tête : {{line}}", + "settings.mcp.validation.environment": "Impossible d'analyser la ligne d'environnement : {{line}}", + "settings.mcp.status.needs_client_registration": "Nécessite l'enregistrement du client", "settings.permissions.title": "Permissions", "settings.permissions.description": "Contrôlez les outils que le serveur peut utiliser par défaut.", "settings.permissions.section.tools": "Outils", diff --git a/packages/app/src/i18n/ja.ts b/packages/app/src/i18n/ja.ts index ecd38d3324..624baa7fbc 100644 --- a/packages/app/src/i18n/ja.ts +++ b/packages/app/src/i18n/ja.ts @@ -670,6 +670,48 @@ export const dict = { "settings.commands.description": "コマンド設定はここで構成できます。", "settings.mcp.title": "MCP", "settings.mcp.description": "MCP設定はここで構成できます。", + "settings.mcp.section.featured": "おすすめ", + "settings.mcp.section.featured.description": + "人気のMCPサーバー向けに調整されたプリセットをワンクリックで追加できます。", + "settings.mcp.section.configured": "設定済みのサーバー", + "settings.mcp.section.configured.description": + "インストールされているMCPサーバーや接続方法を確認したり、不要になったサーバーを削除したりできます。", + "settings.mcp.section.add": "サーバーを追加", + "settings.mcp.section.add.description": "ローカルまたはリモートの独自のMCPサーバー設定を作成します。", + "settings.mcp.type.local": "ローカル", + "settings.mcp.type.remote": "リモート", + "settings.mcp.featured.added": "追加済み", + "settings.mcp.action.add": "サーバーを追加", + "settings.mcp.action.remove": "削除", + "settings.mcp.state.enabled": "有効", + "settings.mcp.state.disabled": "無効", + "settings.mcp.form.type.label": "接続タイプ", + "settings.mcp.form.name.label": "サーバー名", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "リモートURL", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "コマンド", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "ヘッダー", + "settings.mcp.form.headers.description": "任意。1行につき1つのヘッダーを KEY: value の形式で追加してください。", + "settings.mcp.form.environment.label": "環境変数", + "settings.mcp.form.environment.description": "任意。1行につき1つの変数を KEY=value の形式で追加してください。", + "settings.mcp.form.timeout.label": "タイムアウト (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "MCPサーバーを追加しました", + "settings.mcp.toast.added.description": "{{name}} をMCP設定に保存しました。", + "settings.mcp.toast.updated.title": "MCPサーバーを更新しました", + "settings.mcp.toast.updated.description": "{{name}} は現在{{state}}です。", + "settings.mcp.toast.removed.title": "MCPサーバーを削除しました", + "settings.mcp.toast.removed.description": "MCP設定から {{name}} を削除しました。", + "settings.mcp.validation.name": "保存する前にサーバー名を入力してください。", + "settings.mcp.validation.duplicate": "{{name}} は既に設定されています。", + "settings.mcp.validation.url": "リモートMCPサーバーのURLを入力してください。", + "settings.mcp.validation.command": "ローカルMCPサーバーの起動コマンドを入力してください。", + "settings.mcp.validation.timeout": "タイムアウトには正の整数を指定してください。", + "settings.mcp.validation.headers": "ヘッダー行を解析できませんでした: {{line}}", + "settings.mcp.validation.environment": "環境変数の行を解析できませんでした: {{line}}", + "settings.mcp.status.needs_client_registration": "クライアント登録が必要です", "settings.permissions.title": "権限", "settings.permissions.description": "サーバーがデフォルトで使用できるツールを制御します。", "settings.permissions.section.tools": "ツール", diff --git a/packages/app/src/i18n/ko.ts b/packages/app/src/i18n/ko.ts index 8f54b8abdc..4f67ee926a 100644 --- a/packages/app/src/i18n/ko.ts +++ b/packages/app/src/i18n/ko.ts @@ -670,6 +670,49 @@ export const dict = { "settings.commands.description": "명령어 설정은 여기서 구성할 수 있습니다.", "settings.mcp.title": "MCP", "settings.mcp.description": "MCP 설정은 여기서 구성할 수 있습니다.", + "settings.mcp.section.featured": "추천", + "settings.mcp.section.featured.description": "클릭 한 번으로 인기 있는 MCP 서버에 대한 프리셋을 추가하세요.", + "settings.mcp.section.configured": "구성된 서버", + "settings.mcp.section.configured.description": + "설치된 MCP 서버와 연결 방식을 확인하고, 더 이상 필요하지 않은 서버를 제거하세요.", + "settings.mcp.section.add": "서버 추가", + "settings.mcp.section.add.description": "로컬 또는 원격 MCP 서버 구성을 직접 생성하세요.", + "settings.mcp.type.local": "로컬", + "settings.mcp.type.remote": "원격", + "settings.mcp.featured.added": "추가됨", + "settings.mcp.action.add": "서버 추가", + "settings.mcp.action.remove": "제거", + "settings.mcp.state.enabled": "활성화됨", + "settings.mcp.state.disabled": "비활성화됨", + "settings.mcp.form.type.label": "연결 유형", + "settings.mcp.form.name.label": "서버 이름", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "원격 URL", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "명령", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "헤더", + "settings.mcp.form.headers.description": + "선택 사항입니다. KEY: value 형식을 사용하여 한 줄에 하나의 헤더를 추가하세요.", + "settings.mcp.form.environment.label": "환경 변수", + "settings.mcp.form.environment.description": + "선택 사항입니다. KEY=value 형식을 사용하여 한 줄에 하나의 변수를 추가하세요.", + "settings.mcp.form.timeout.label": "시간 초과 (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "MCP 서버 추가됨", + "settings.mcp.toast.added.description": "{{name}} 서버가 MCP 설정에 저장되었습니다.", + "settings.mcp.toast.updated.title": "MCP 서버 업데이트됨", + "settings.mcp.toast.updated.description": "{{name}}이(가) 이제 {{state}} 상태입니다.", + "settings.mcp.toast.removed.title": "MCP 서버 제거됨", + "settings.mcp.toast.removed.description": "{{name}} 서버가 MCP 설정에서 제거되었습니다.", + "settings.mcp.validation.name": "저장하기 전에 서버 이름을 입력하세요.", + "settings.mcp.validation.duplicate": "{{name}}은(는) 이미 구성되어 있습니다.", + "settings.mcp.validation.url": "원격 MCP 서버 URL을 입력하세요.", + "settings.mcp.validation.command": "로컬 MCP 서버를 시작하는 데 사용되는 명령을 입력하세요.", + "settings.mcp.validation.timeout": "시간 초과는 양의 정수여야 합니다.", + "settings.mcp.validation.headers": "헤더 줄을 구문 분석할 수 없습니다: {{line}}", + "settings.mcp.validation.environment": "환경 변수 줄을 구문 분석할 수 없습니다: {{line}}", + "settings.mcp.status.needs_client_registration": "클라이언트 등록 필요", "settings.permissions.title": "권한", "settings.permissions.description": "서버가 기본적으로 사용할 수 있는 도구를 제어합니다.", "settings.permissions.section.tools": "도구", diff --git a/packages/app/src/i18n/no.ts b/packages/app/src/i18n/no.ts index 0c94046eb0..d3bb322471 100644 --- a/packages/app/src/i18n/no.ts +++ b/packages/app/src/i18n/no.ts @@ -747,6 +747,47 @@ export const dict = { "settings.commands.description": "Kommandoinnstillinger vil kunne konfigureres her.", "settings.mcp.title": "MCP", "settings.mcp.description": "MCP-innstillinger vil kunne konfigureres her.", + "settings.mcp.section.featured": "Utvalgte", + "settings.mcp.section.featured.description": "Legg til et ferdig oppsett for populære MCP-servere med ett klikk.", + "settings.mcp.section.configured": "Konfigurerte servere", + "settings.mcp.section.configured.description": + "Se hvilke MCP-servere som er installert, hvordan de kobler til, og fjern de du ikke lenger trenger.", + "settings.mcp.section.add": "Legg til en server", + "settings.mcp.section.add.description": "Opprett din egen konfigurasjon for lokal eller ekstern MCP-server.", + "settings.mcp.type.local": "Lokal", + "settings.mcp.type.remote": "Ekstern", + "settings.mcp.featured.added": "Lagt til", + "settings.mcp.action.add": "Legg til server", + "settings.mcp.action.remove": "Fjern", + "settings.mcp.state.enabled": "Aktivert", + "settings.mcp.state.disabled": "Deaktivert", + "settings.mcp.form.type.label": "Tilkoblingstype", + "settings.mcp.form.name.label": "Servernavn", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "Ekstern URL", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "Kommando", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "Headere", + "settings.mcp.form.headers.description": "Valgfritt. Legg til én header per linje med KEY: value.", + "settings.mcp.form.environment.label": "Miljø", + "settings.mcp.form.environment.description": "Valgfritt. Legg til én variabel per linje med KEY=value.", + "settings.mcp.form.timeout.label": "Tidsavbrudd (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "MCP-server lagt til", + "settings.mcp.toast.added.description": "{{name}} er lagret i dine MCP-innstillinger.", + "settings.mcp.toast.updated.title": "MCP-server oppdatert", + "settings.mcp.toast.updated.description": "{{name}} er nå {{state}}.", + "settings.mcp.toast.removed.title": "MCP-server fjernet", + "settings.mcp.toast.removed.description": "{{name}} er fjernet fra dine MCP-innstillinger.", + "settings.mcp.validation.name": "Skriv inn et servernavn før du lagrer.", + "settings.mcp.validation.duplicate": "{{name}} er allerede konfigurert.", + "settings.mcp.validation.url": "Skriv inn URL for ekstern MCP-server.", + "settings.mcp.validation.command": "Skriv inn kommandoen for å starte den lokale MCP-serveren.", + "settings.mcp.validation.timeout": "Tidsavbrudd må være et positivt heltall.", + "settings.mcp.validation.headers": "Kunne ikke tolke header-linje: {{line}}", + "settings.mcp.validation.environment": "Kunne ikke tolke miljøvariabel-linje: {{line}}", + "settings.mcp.status.needs_client_registration": "Krever klientregistrering", "settings.permissions.title": "Tillatelser", "settings.permissions.description": "Kontroller hvilke verktøy serveren kan bruke som standard.", diff --git a/packages/app/src/i18n/pl.ts b/packages/app/src/i18n/pl.ts index 59c0513be6..716f784dff 100644 --- a/packages/app/src/i18n/pl.ts +++ b/packages/app/src/i18n/pl.ts @@ -672,6 +672,48 @@ export const dict = { "settings.commands.description": "Ustawienia poleceń będą tutaj konfigurowalne.", "settings.mcp.title": "MCP", "settings.mcp.description": "Ustawienia MCP będą tutaj konfigurowalne.", + "settings.mcp.section.featured": "Wyróżnione", + "settings.mcp.section.featured.description": + "Dodaj dopracowany zestaw dla popularnych serwerów MCP jednym kliknięciem.", + "settings.mcp.section.configured": "Skonfigurowane serwery", + "settings.mcp.section.configured.description": + "Zobacz, które serwery MCP są zainstalowane, jak się łączą, i usuń te, których już nie potrzebujesz.", + "settings.mcp.section.add": "Dodaj serwer", + "settings.mcp.section.add.description": "Utwórz własną konfigurację lokalnego lub zdalnego serwera MCP.", + "settings.mcp.type.local": "Lokalny", + "settings.mcp.type.remote": "Zdalny", + "settings.mcp.featured.added": "Dodano", + "settings.mcp.action.add": "Dodaj serwer", + "settings.mcp.action.remove": "Usuń", + "settings.mcp.state.enabled": "Włączony", + "settings.mcp.state.disabled": "Wyłączony", + "settings.mcp.form.type.label": "Typ połączenia", + "settings.mcp.form.name.label": "Nazwa serwera", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "Zdalny adres URL", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "Polecenie", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "Nagłówki", + "settings.mcp.form.headers.description": "Opcjonalne. Dodaj jeden nagłówek w wierszu używając formatu KEY: value.", + "settings.mcp.form.environment.label": "Środowisko", + "settings.mcp.form.environment.description": "Opcjonalne. Dodaj jedną zmienną w wierszu używając formatu KEY=value.", + "settings.mcp.form.timeout.label": "Limit czasu (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "Dodano serwer MCP", + "settings.mcp.toast.added.description": "{{name}} został zapisany w ustawieniach MCP.", + "settings.mcp.toast.updated.title": "Zaktualizowano serwer MCP", + "settings.mcp.toast.updated.description": "{{name}} jest teraz {{state}}.", + "settings.mcp.toast.removed.title": "Usunięto serwer MCP", + "settings.mcp.toast.removed.description": "{{name}} został usunięty z ustawień MCP.", + "settings.mcp.validation.name": "Wprowadź nazwę serwera przed zapisaniem.", + "settings.mcp.validation.duplicate": "{{name}} jest już skonfigurowany.", + "settings.mcp.validation.url": "Wprowadź adres URL zdalnego serwera MCP.", + "settings.mcp.validation.command": "Wprowadź polecenie służące do uruchomienia lokalnego serwera MCP.", + "settings.mcp.validation.timeout": "Limit czasu musi być dodatnią liczbą całkowitą.", + "settings.mcp.validation.headers": "Nie udało się przetworzyć wiersza nagłówka: {{line}}", + "settings.mcp.validation.environment": "Nie udało się przetworzyć wiersza środowiska: {{line}}", + "settings.mcp.status.needs_client_registration": "Wymaga rejestracji klienta", "settings.permissions.title": "Uprawnienia", "settings.permissions.description": "Kontroluj, jakich narzędzi serwer może używać domyślnie.", "settings.permissions.section.tools": "Narzędzia", diff --git a/packages/app/src/i18n/ru.ts b/packages/app/src/i18n/ru.ts index 2071eaae7b..19807d44ce 100644 --- a/packages/app/src/i18n/ru.ts +++ b/packages/app/src/i18n/ru.ts @@ -747,6 +747,49 @@ export const dict = { "settings.commands.description": "Настройки команд будут доступны здесь.", "settings.mcp.title": "MCP", "settings.mcp.description": "Настройки MCP будут доступны здесь.", + "settings.mcp.section.featured": "Рекомендуемые", + "settings.mcp.section.featured.description": "Добавляйте готовые настройки для популярных серверов MCP в один клик.", + "settings.mcp.section.configured": "Настроенные серверы", + "settings.mcp.section.configured.description": + "Просматривайте установленные серверы MCP, способы их подключения и удаляйте ненужные.", + "settings.mcp.section.add": "Добавить сервер", + "settings.mcp.section.add.description": "Создайте собственную конфигурацию локального или удаленного сервера MCP.", + "settings.mcp.type.local": "Локальный", + "settings.mcp.type.remote": "Удаленный", + "settings.mcp.featured.added": "Добавлено", + "settings.mcp.action.add": "Добавить сервер", + "settings.mcp.action.remove": "Удалить", + "settings.mcp.state.enabled": "Включено", + "settings.mcp.state.disabled": "Отключено", + "settings.mcp.form.type.label": "Тип подключения", + "settings.mcp.form.name.label": "Имя сервера", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "URL удаленного сервера", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "Команда", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "Заголовки", + "settings.mcp.form.headers.description": + "Необязательно. Добавьте по одному заголовку на строку в формате KEY: value.", + "settings.mcp.form.environment.label": "Окружение", + "settings.mcp.form.environment.description": + "Необязательно. Добавьте по одной переменной на строку в формате KEY=value.", + "settings.mcp.form.timeout.label": "Тайм-аут (мс)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "Сервер MCP добавлен", + "settings.mcp.toast.added.description": "{{name}} сохранен в настройках MCP.", + "settings.mcp.toast.updated.title": "Сервер MCP обновлен", + "settings.mcp.toast.updated.description": "{{name}} теперь {{state}}.", + "settings.mcp.toast.removed.title": "Сервер MCP удален", + "settings.mcp.toast.removed.description": "{{name}} удален из настроек MCP.", + "settings.mcp.validation.name": "Введите имя сервера перед сохранением.", + "settings.mcp.validation.duplicate": "{{name}} уже настроен.", + "settings.mcp.validation.url": "Введите URL удаленного сервера MCP.", + "settings.mcp.validation.command": "Введите команду для запуска локального сервера MCP.", + "settings.mcp.validation.timeout": "Тайм-аут должен быть положительным целым числом.", + "settings.mcp.validation.headers": "Не удалось разобрать строку заголовка: {{line}}", + "settings.mcp.validation.environment": "Не удалось разобрать строку окружения: {{line}}", + "settings.mcp.status.needs_client_registration": "Требуется регистрация клиента", "settings.permissions.title": "Разрешения", "settings.permissions.description": "Контролируйте какие инструменты сервер может использовать по умолчанию.", diff --git a/packages/app/src/i18n/th.ts b/packages/app/src/i18n/th.ts index 9871555536..4e0a7d93c1 100644 --- a/packages/app/src/i18n/th.ts +++ b/packages/app/src/i18n/th.ts @@ -738,6 +738,47 @@ export const dict = { "settings.commands.description": "การตั้งค่าคำสั่งจะสามารถกำหนดค่าได้ที่นี่", "settings.mcp.title": "MCP", "settings.mcp.description": "การตั้งค่า MCP จะสามารถกำหนดค่าได้ที่นี่", + "settings.mcp.section.featured": "แนะนำ", + "settings.mcp.section.featured.description": "เพิ่มค่าที่ตั้งไว้ล่วงหน้าสำหรับเซิร์ฟเวอร์ MCP ยอดนิยมได้ในคลิกเดียว", + "settings.mcp.section.configured": "เซิร์ฟเวอร์ที่กำหนดค่าแล้ว", + "settings.mcp.section.configured.description": + "ดูว่าเซิร์ฟเวอร์ MCP ใดติดตั้งอยู่ เชื่อมต่ออย่างไร และลบสิ่งที่ไม่ต้องการออก", + "settings.mcp.section.add": "เพิ่มเซิร์ฟเวอร์", + "settings.mcp.section.add.description": "สร้างการกำหนดค่าเซิร์ฟเวอร์ MCP แบบ Local หรือ Remote ของคุณเอง", + "settings.mcp.type.local": "Local", + "settings.mcp.type.remote": "Remote", + "settings.mcp.featured.added": "เพิ่มแล้ว", + "settings.mcp.action.add": "เพิ่มเซิร์ฟเวอร์", + "settings.mcp.action.remove": "ลบ", + "settings.mcp.state.enabled": "เปิดใช้งาน", + "settings.mcp.state.disabled": "ปิดใช้งาน", + "settings.mcp.form.type.label": "ประเภทการเชื่อมต่อ", + "settings.mcp.form.name.label": "ชื่อเซิร์ฟเวอร์", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "URL ระยะไกล", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "คำสั่ง", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "Headers", + "settings.mcp.form.headers.description": "ไม่บังคับ เพิ่มหนึ่ง header ต่อบรรทัดโดยใช้ KEY: value", + "settings.mcp.form.environment.label": "Environment", + "settings.mcp.form.environment.description": "ไม่บังคับ เพิ่มหนึ่งตัวแปรต่อบรรทัดโดยใช้ KEY=value", + "settings.mcp.form.timeout.label": "Timeout (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "เพิ่มเซิร์ฟเวอร์ MCP แล้ว", + "settings.mcp.toast.added.description": "บันทึก {{name}} ลงในค่าติดตั้ง MCP ของคุณแล้ว", + "settings.mcp.toast.updated.title": "อัปเดตเซิร์ฟเวอร์ MCP แล้ว", + "settings.mcp.toast.updated.description": "ขณะนี้ {{name}} อยู่ในสถานะ {{state}}", + "settings.mcp.toast.removed.title": "ลบเซิร์ฟเวอร์ MCP แล้ว", + "settings.mcp.toast.removed.description": "ลบ {{name}} ออกจากค่าติดตั้ง MCP ของคุณแล้ว", + "settings.mcp.validation.name": "ป้อนชื่อเซิร์ฟเวอร์ก่อนบันทึก", + "settings.mcp.validation.duplicate": "มีการกำหนดค่า {{name}} ไว้แล้ว", + "settings.mcp.validation.url": "ป้อน URL ของเซิร์ฟเวอร์ MCP ระยะไกล", + "settings.mcp.validation.command": "ป้อนคำสั่งที่ใช้เริ่มต้นเซิร์ฟเวอร์ MCP แบบ Local", + "settings.mcp.validation.timeout": "Timeout ต้องเป็นจำนวนเต็มบวก", + "settings.mcp.validation.headers": "ไม่สามารถแยกวิเคราะห์บรรทัด header: {{line}}", + "settings.mcp.validation.environment": "ไม่สามารถแยกวิเคราะห์บรรทัด environment: {{line}}", + "settings.mcp.status.needs_client_registration": "ต้องลงทะเบียนไคลเอนต์", "settings.permissions.title": "สิทธิ์", "settings.permissions.description": "ควบคุมเครื่องมือที่เซิร์ฟเวอร์สามารถใช้โดยค่าเริ่มต้น", diff --git a/packages/app/src/i18n/tr.ts b/packages/app/src/i18n/tr.ts index 701ee09192..8d2767abe3 100644 --- a/packages/app/src/i18n/tr.ts +++ b/packages/app/src/i18n/tr.ts @@ -759,6 +759,50 @@ export const dict = { "settings.commands.description": "Komut ayarları burada yapılandırılabilecek.", "settings.mcp.title": "MCP", "settings.mcp.description": "MCP ayarları burada yapılandırılabilecek.", + "settings.mcp.section.featured": "Öne Çıkanlar", + "settings.mcp.section.featured.description": + "Tek tıkla popüler MCP sunucuları için cilalanmış bir hazır ayar ekleyin.", + "settings.mcp.section.configured": "Yapılandırılmış sunucular", + "settings.mcp.section.configured.description": + "Hangi MCP sunucularının yüklü olduğunu ve nasıl bağlandıklarını görün; artık ihtiyaç duymadıklarınızı kaldırın.", + "settings.mcp.section.add": "Sunucu ekle", + "settings.mcp.section.add.description": "Kendi yerel veya uzak MCP sunucu yapılandırmanızı oluşturun.", + "settings.mcp.type.local": "Yerel", + "settings.mcp.type.remote": "Uzak", + "settings.mcp.featured.added": "Eklendi", + "settings.mcp.action.add": "Sunucu ekle", + "settings.mcp.action.remove": "Kaldır", + "settings.mcp.state.enabled": "Etkin", + "settings.mcp.state.disabled": "Devre Dışı", + "settings.mcp.form.type.label": "Bağlantı türü", + "settings.mcp.form.name.label": "Sunucu adı", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "Uzak URL", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "Komut", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "Başlıklar", + "settings.mcp.form.headers.description": + "İsteğe bağlı. Her satıra bir başlık olacak şekilde KEY: value biçiminde ekleyin.", + "settings.mcp.form.environment.label": "Ortam", + "settings.mcp.form.environment.description": + "İsteğe bağlı. Her satıra bir değişken olacak şekilde KEY=value biçiminde ekleyin.", + "settings.mcp.form.timeout.label": "Zaman aşımı (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "MCP sunucusu eklendi", + "settings.mcp.toast.added.description": "{{name}}, MCP ayarlarınıza kaydedildi.", + "settings.mcp.toast.updated.title": "MCP sunucusu güncellendi", + "settings.mcp.toast.updated.description": "{{name}} artık {{state}}.", + "settings.mcp.toast.removed.title": "MCP sunucusu kaldırıldı", + "settings.mcp.toast.removed.description": "{{name}}, MCP ayarlarınızdan kaldırıldı.", + "settings.mcp.validation.name": "Kaydetmeden önce bir sunucu adı girin.", + "settings.mcp.validation.duplicate": "{{name}} zaten yapılandırılmış.", + "settings.mcp.validation.url": "Bir uzak MCP sunucu URL'si girin.", + "settings.mcp.validation.command": "Yerel MCP sunucusunu başlatmak için kullanılan komutu girin.", + "settings.mcp.validation.timeout": "Zaman aşımı pozitif bir tam sayı olmalıdır.", + "settings.mcp.validation.headers": "Başlık satırı ayrıştırılamadı: {{line}}", + "settings.mcp.validation.environment": "Ortam satırı ayrıştırılamadı: {{line}}", + "settings.mcp.status.needs_client_registration": "İstemci kaydı gerekiyor", "settings.permissions.title": "İzinler", "settings.permissions.description": "Sunucunun varsayılan olarak hangi araçları kullanabileceğini kontrol edin.", diff --git a/packages/app/src/i18n/zh.ts b/packages/app/src/i18n/zh.ts index e72d4c0e3b..3e71ba2530 100644 --- a/packages/app/src/i18n/zh.ts +++ b/packages/app/src/i18n/zh.ts @@ -738,6 +738,46 @@ export const dict = { "settings.mcp.title": "MCP", "settings.mcp.description": "MCP 设置将在此处可配置。", + "settings.mcp.section.featured": "精选", + "settings.mcp.section.featured.description": "一键添加经过精心优化的热门 MCP 服务器预设。", + "settings.mcp.section.configured": "已配置的服务器", + "settings.mcp.section.configured.description": "查看已安装的 MCP 服务器及其连接方式,并移除不再需要的服务器。", + "settings.mcp.section.add": "添加服务器", + "settings.mcp.section.add.description": "创建您自己的本地或远程 MCP 服务器配置。", + "settings.mcp.type.local": "本地", + "settings.mcp.type.remote": "远程", + "settings.mcp.featured.added": "已添加", + "settings.mcp.action.add": "添加服务器", + "settings.mcp.action.remove": "移除", + "settings.mcp.state.enabled": "已启用", + "settings.mcp.state.disabled": "已禁用", + "settings.mcp.form.type.label": "连接类型", + "settings.mcp.form.name.label": "服务器名称", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "远程 URL", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "命令", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "请求头", + "settings.mcp.form.headers.description": "可选。每行添加一个请求头,格式为 KEY: value。", + "settings.mcp.form.environment.label": "环境变量", + "settings.mcp.form.environment.description": "可选。每行添加一个变量,格式为 KEY=value。", + "settings.mcp.form.timeout.label": "超时 (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "MCP 服务器已添加", + "settings.mcp.toast.added.description": "{{name}} 已保存到您的 MCP 设置中。", + "settings.mcp.toast.updated.title": "MCP 服务器已更新", + "settings.mcp.toast.updated.description": "{{name}} 现已{{state}}。", + "settings.mcp.toast.removed.title": "MCP 服务器已移除", + "settings.mcp.toast.removed.description": "{{name}} 已从您的 MCP 设置中移除。", + "settings.mcp.validation.name": "保存前请输入服务器名称。", + "settings.mcp.validation.duplicate": "{{name}} 已配置。", + "settings.mcp.validation.url": "请输入远程 MCP 服务器 URL。", + "settings.mcp.validation.command": "请输入用于启动本地 MCP 服务器的命令。", + "settings.mcp.validation.timeout": "超时必须为正整数。", + "settings.mcp.validation.headers": "无法解析请求头行:{{line}}", + "settings.mcp.validation.environment": "无法解析环境行:{{line}}", + "settings.mcp.status.needs_client_registration": "需要客户端注册", "settings.permissions.title": "权限", "settings.permissions.description": "控制服务器默认可以使用哪些工具。", diff --git a/packages/app/src/i18n/zht.ts b/packages/app/src/i18n/zht.ts index 70421dfe10..eccfbf05ec 100644 --- a/packages/app/src/i18n/zht.ts +++ b/packages/app/src/i18n/zht.ts @@ -731,6 +731,46 @@ export const dict = { "settings.commands.description": "命令設定將在此處可設定。", "settings.mcp.title": "MCP", "settings.mcp.description": "MCP 設定將在此處可設定。", + "settings.mcp.section.featured": "精選", + "settings.mcp.section.featured.description": "一鍵新增熱門 MCP 伺服器的精選預設設定。", + "settings.mcp.section.configured": "已設定的伺服器", + "settings.mcp.section.configured.description": "查看已安裝的 MCP 伺服器及其連線方式,並移除不再需要的伺服器。", + "settings.mcp.section.add": "新增伺服器", + "settings.mcp.section.add.description": "建立您自己的本機或遠端 MCP 伺服器設定。", + "settings.mcp.type.local": "本機", + "settings.mcp.type.remote": "遠端", + "settings.mcp.featured.added": "已新增", + "settings.mcp.action.add": "新增伺服器", + "settings.mcp.action.remove": "移除", + "settings.mcp.state.enabled": "已啟用", + "settings.mcp.state.disabled": "已停用", + "settings.mcp.form.type.label": "連線類型", + "settings.mcp.form.name.label": "伺服器名稱", + "settings.mcp.form.name.placeholder": "my-mcp-server", + "settings.mcp.form.url.label": "遠端 URL", + "settings.mcp.form.url.placeholder": "https://mcp.example.com/mcp", + "settings.mcp.form.command.label": "指令", + "settings.mcp.form.command.placeholder": "npx -y @modelcontextprotocol/server-memory", + "settings.mcp.form.headers.label": "標頭", + "settings.mcp.form.headers.description": "選用。每行新增一個標頭,格式為 KEY: value。", + "settings.mcp.form.environment.label": "環境變數", + "settings.mcp.form.environment.description": "選用。每行新增一個變數,格式為 KEY=value。", + "settings.mcp.form.timeout.label": "逾時 (ms)", + "settings.mcp.form.timeout.placeholder": "5000", + "settings.mcp.toast.added.title": "已新增 MCP 伺服器", + "settings.mcp.toast.added.description": "{{name}} 已儲存至您的 MCP 設定。", + "settings.mcp.toast.updated.title": "MCP 伺服器已更新", + "settings.mcp.toast.updated.description": "{{name}} 現已{{state}}。", + "settings.mcp.toast.removed.title": "已移除 MCP 伺服器", + "settings.mcp.toast.removed.description": "{{name}} 已從您的 MCP 設定中移除。", + "settings.mcp.validation.name": "儲存前請輸入伺服器名稱。", + "settings.mcp.validation.duplicate": "{{name}} 已經設定過了。", + "settings.mcp.validation.url": "請輸入遠端 MCP 伺服器 URL。", + "settings.mcp.validation.command": "請輸入用於啟動本機 MCP 伺服器的指令。", + "settings.mcp.validation.timeout": "逾時必須是正整數。", + "settings.mcp.validation.headers": "無法解析標頭行:{{line}}", + "settings.mcp.validation.environment": "無法解析環境變數行:{{line}}", + "settings.mcp.status.needs_client_registration": "需要用戶端註冊", "settings.permissions.title": "權限", "settings.permissions.description": "控制伺服器預設可以使用哪些工具。",