mirror of
https://github.com/nearai/ironclaw.git
synced 2026-10-13 13:52:40 +08:00
fix(webui): complete i18n coverage for exposed routes (#7052)
* fix(webui): complete i18n coverage for exposed flows * test(webui): enforce translations for exposed workflows * test(webui): make i18n regression assertion detectable
This commit is contained in:
@@ -223,7 +223,7 @@ registerPack("ar", {
|
||||
// Extensions tabs
|
||||
"extensions.installed": "مثبتة",
|
||||
"extensions.channels": "القنوات",
|
||||
"extensions.tools": "Tools",
|
||||
"extensions.tools": "الأدوات",
|
||||
"extensions.registry": "السجل",
|
||||
|
||||
// Settings tabs
|
||||
@@ -1238,7 +1238,7 @@ registerPack("ar", {
|
||||
"extensions.reconfigure": "إعادة تكوين",
|
||||
"extensions.configureName": "تكوين {name}",
|
||||
"extensions.allInstalled": "جميع الامتدادات المثبتة",
|
||||
"tools.installed": "Installed tools",
|
||||
"tools.installed": "الأدوات المثبتة",
|
||||
"extensions.scope.shared": "مشترك",
|
||||
"extensions.scope.private": "خاص بي",
|
||||
"mcp.installed": "خوادم MCP المثبتة",
|
||||
@@ -1254,49 +1254,49 @@ registerPack("ar", {
|
||||
"extensions.installedSuccess": "تم تثبيت {name}",
|
||||
"extensions.removedSuccess": "تمت إزالة {name}",
|
||||
"extensions.installFailed": "فشل التثبيت",
|
||||
"extensions.addCustomMcp": "Add MCP server",
|
||||
"extensions.customMcpPhase.connection": "Connection · Step 1 of 3",
|
||||
"extensions.customMcpPhase.authentication": "Review · Step 2 of 3",
|
||||
"extensions.customMcpPhase.review": "Step 2 of 3",
|
||||
"extensions.customMcpPhase.result": "Result · Step 3 of 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Connection",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Review",
|
||||
"extensions.customMcpPhase.reviewLabel": "Review",
|
||||
"extensions.customMcpPhase.resultLabel": "Result",
|
||||
"extensions.customMcpProgress": "Add an MCP server in three steps",
|
||||
"extensions.customMcpName": "Server name",
|
||||
"extensions.customMcpNameHint": "Use a name you will recognize in Extensions.",
|
||||
"extensions.customMcpId": "Server ID",
|
||||
"extensions.addCustomMcp": "إضافة خادم MCP",
|
||||
"extensions.customMcpPhase.connection": "الخطوة 1 من 3",
|
||||
"extensions.customMcpPhase.authentication": "الخطوة 2 من 3",
|
||||
"extensions.customMcpPhase.review": "الخطوة 2 من 3",
|
||||
"extensions.customMcpPhase.result": "الخطوة 3 من 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "الاتصال",
|
||||
"extensions.customMcpPhase.authenticationLabel": "المراجعة",
|
||||
"extensions.customMcpPhase.reviewLabel": "المراجعة",
|
||||
"extensions.customMcpPhase.resultLabel": "النتيجة",
|
||||
"extensions.customMcpProgress": "أضف خادم MCP في ثلاث خطوات",
|
||||
"extensions.customMcpName": "اسم الخادم",
|
||||
"extensions.customMcpNameHint": "استخدم اسمًا يسهل تمييزه في الإضافات.",
|
||||
"extensions.customMcpId": "معرّف الخادم",
|
||||
"extensions.customMcpIdGenerated": "ID: {id}",
|
||||
"extensions.customMcpIdHint": "A unique ID: lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpAdvanced": "Advanced options",
|
||||
"extensions.customMcpRecommended": "Recommended",
|
||||
"extensions.customMcpEndpoint": "Server address",
|
||||
"extensions.customMcpRequired": "Name, ID, and endpoint are required.",
|
||||
"extensions.customMcpHttpsOnly": "The endpoint must use HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Enter a server name.",
|
||||
"extensions.customMcpNameTooLong": "Server name must be 256 characters or fewer.",
|
||||
"extensions.customMcpNameControls": "Server name cannot contain control characters.",
|
||||
"extensions.customMcpIdRequired": "Enter a server ID.",
|
||||
"extensions.customMcpIdInvalid": "Server ID must use lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpEndpointRequired": "Enter a server address.",
|
||||
"extensions.customMcpEndpointHttps": "Enter a public HTTPS URL without credentials, fragments, localhost, or an IP address.",
|
||||
"extensions.customMcpAuthHint": "Choose how this server authenticates. Credentials are configured only after registration.",
|
||||
"extensions.customMcpReviewHint": "Add it now, then install it from Extensions. Connect an account or add a token if needed.",
|
||||
"extensions.customMcpAuth.no_auth": "No authentication",
|
||||
"extensions.customMcpAuth.bearer": "Bearer token",
|
||||
"extensions.customMcpIdHint": "معرّف فريد يتكون من أحرف صغيرة وأرقام وشرطات سفلية أو واصلات أو نقاط، ويبدأ بحرف أو رقم (128 حرفًا كحد أقصى).",
|
||||
"extensions.customMcpAdvanced": "خيارات متقدمة",
|
||||
"extensions.customMcpRecommended": "موصى به",
|
||||
"extensions.customMcpEndpoint": "عنوان الخادم",
|
||||
"extensions.customMcpRequired": "الاسم والمعرّف ونقطة النهاية مطلوبة.",
|
||||
"extensions.customMcpHttpsOnly": "يجب أن تستخدم نقطة النهاية HTTPS.",
|
||||
"extensions.customMcpNameRequired": "أدخل اسم الخادم.",
|
||||
"extensions.customMcpNameTooLong": "يجب ألا يتجاوز اسم الخادم 256 حرفًا.",
|
||||
"extensions.customMcpNameControls": "لا يمكن أن يحتوي اسم الخادم على أحرف تحكم.",
|
||||
"extensions.customMcpIdRequired": "أدخل معرّف الخادم.",
|
||||
"extensions.customMcpIdInvalid": "يجب أن يستخدم معرّف الخادم أحرفًا صغيرة وأرقامًا وشرطات سفلية أو واصلات أو نقاط، وأن يبدأ بحرف أو رقم وألا يتجاوز 128 حرفًا.",
|
||||
"extensions.customMcpEndpointRequired": "أدخل عنوان الخادم.",
|
||||
"extensions.customMcpEndpointHttps": "أدخل رابط HTTPS عامًا بلا بيانات اعتماد أو أجزاء أو localhost أو عنوان IP.",
|
||||
"extensions.customMcpAuthHint": "يتصل IronClaw أولًا بلا بيانات اعتماد لاكتشاف الحاجة إلى OAuth أو رمز Bearer. يمكنك تغيير ذلك من الخيارات المتقدمة.",
|
||||
"extensions.customMcpReviewHint": "أضفه الآن ثم ثبّته من الإضافات. اربط حسابًا أو أضف رمزًا عند الحاجة.",
|
||||
"extensions.customMcpAuth.no_auth": "بدون مصادقة",
|
||||
"extensions.customMcpAuth.bearer": "رمز Bearer",
|
||||
"extensions.customMcpAuth.oauth": "OAuth",
|
||||
"extensions.customMcpAuth.auto": "Automatic detection",
|
||||
"extensions.customMcpRegister": "Add server",
|
||||
"extensions.customMcpRegistered": "{name} added",
|
||||
"extensions.customMcpRegisterFailed": "Could not add this server. Try again.",
|
||||
"extensions.customMcpSetupRequired": "Registration complete — setup required",
|
||||
"extensions.customMcpSetupRequiredHint": "Credentials can be added later from this extension's Setup action in the Extensions list.",
|
||||
"extensions.customMcpReady": "Server added",
|
||||
"extensions.customMcpReadyHint": "Find it in Extensions. Install it before using it. If it asks for access, connect an account or add a token.",
|
||||
"extensions.customMcpFinishLater": "Finish later",
|
||||
"extensions.customMcpContinueSetup": "Continue setup",
|
||||
"extensions.customMcpProjectionMissing": "The server was added, but it is not showing in Extensions yet. Try again.",
|
||||
"extensions.customMcpAuth.auto": "الكشف التلقائي",
|
||||
"extensions.customMcpRegister": "إضافة الخادم",
|
||||
"extensions.customMcpRegistered": "تمت إضافة {name}",
|
||||
"extensions.customMcpRegisterFailed": "تعذرت إضافة هذا الخادم. حاول مرة أخرى.",
|
||||
"extensions.customMcpSetupRequired": "تمت إضافة الخادم — أكمل الإعداد",
|
||||
"extensions.customMcpSetupRequiredHint": "ابحث عنه في الإضافات، ثم اربط حسابًا أو أضف رمزًا عند الحاجة.",
|
||||
"extensions.customMcpReady": "تمت إضافة الخادم",
|
||||
"extensions.customMcpReadyHint": "ابحث عنه في الإضافات وثبّته، ثم اربط حسابًا أو أضف رمزًا عند الحاجة.",
|
||||
"extensions.customMcpFinishLater": "الإنهاء لاحقًا",
|
||||
"extensions.customMcpContinueSetup": "متابعة الإعداد",
|
||||
"extensions.customMcpProjectionMissing": "تمت إضافة الخادم، لكنه لا يظهر في الإضافات بعد. حاول مرة أخرى.",
|
||||
"extensions.removeFailed": "فشلت الإزالة",
|
||||
"extensions.openingAuth": "جارٍ فتح المصادقة...",
|
||||
"extensions.configurationRequired": "التكوين مطلوب",
|
||||
@@ -1344,8 +1344,8 @@ registerPack("ar", {
|
||||
"extensions.reconnect": "إعادة الاتصال",
|
||||
"extensions.emptyInstalledTitle": "لم يتم تثبيت أي ملحقات",
|
||||
"extensions.emptyInstalledDesc": "تصفح علامة التبويب \"التسجيل\" لاكتشاف وتثبيت أدوات وقنوات WASM وخوادم MCP.",
|
||||
"extensions.emptyToolsTitle": "No tool extensions yet",
|
||||
"extensions.emptyToolsDesc": "Install an extension with tool capabilities from the registry to see it here.",
|
||||
"extensions.emptyToolsTitle": "لا توجد إضافات أدوات بعد",
|
||||
"extensions.emptyToolsDesc": "ثبّت إضافة ذات إمكانات أدوات من السجل لتظهر هنا.",
|
||||
"common.dismiss": "تجاهل",
|
||||
"common.pin": "تثبيت",
|
||||
"common.unpin": "إلغاء التثبيت",
|
||||
@@ -1454,6 +1454,8 @@ registerPack("ar", {
|
||||
"chat.generatedImageUnavailable": "الصورة المولدة غير متاحة في سجل المحادثة",
|
||||
"chat.messageAttachmentAlt": "مرفق الرسالة",
|
||||
"chat.copyMessage": "نسخ الرسالة",
|
||||
"chat.downloadRunArtifact": "تنزيل هذا التشغيل",
|
||||
"chat.downloadThreadArtifact": "تنزيل المحادثة كاملة",
|
||||
"chat.retryMessage": "إعادة محاولة الرسالة",
|
||||
"chat.history.loadFailed": "فشل تحميل سجل المحادثة.",
|
||||
"chat.failure.connectionLost": "فُقد الاتصال بالخادم. أعد الاتصال وحاول مرة أخرى.",
|
||||
@@ -1480,7 +1482,7 @@ registerPack("ar", {
|
||||
"pairing.connectFromExtensions": "اربط {name} من صفحة الإضافات للمتابعة.",
|
||||
"pairing.connectFailedRetry": "فشل الاتصال. حاول مرة أخرى.",
|
||||
"extensions.authUrlHttpsRequired": "يجب أن يستخدم عنوان URL للمصادقة HTTPS.",
|
||||
"tools.available": "Available tools",
|
||||
"tools.available": "الأدوات المتاحة",
|
||||
"slackSetup.placeholder.keepSecret": "مكوّن؛ اتركه فارغًا للإبقاء عليه",
|
||||
|
||||
// Telegram setup + pairing
|
||||
@@ -1500,6 +1502,19 @@ registerPack("ar", {
|
||||
"telegramSetup.remove": "إزالة البوت",
|
||||
"telegramSetup.removeConfirm": "هل تريد إزالة بوت تيليجرام؟ ستتوقف القناة حتى يُحفظ رمز جديد.",
|
||||
"telegramSetup.removeFailed": "فشلت إزالة بوت تيليجرام.",
|
||||
"pairing.web.title": "ربط {name}",
|
||||
"pairing.web.instructions": "امسح رمز QR أو افتح الرابط، ثم أرسل الرمز إلى بوت {name} لإقران هذا الحساب.",
|
||||
"pairing.web.instructionsNoLink": "أرسل الرمز أدناه إلى بوت {name} لإقران هذا الحساب.",
|
||||
"pairing.web.copyCode": "نسخ الرمز",
|
||||
"pairing.web.openIn": "فتح في {name}",
|
||||
"pairing.web.qrAlt": "رمز QR لإقران {name}",
|
||||
"pairing.web.expiresIn": "تنتهي الصلاحية خلال {time}",
|
||||
"pairing.web.expired": "انتهت صلاحية رمز الإقران هذا.",
|
||||
"pairing.web.getNewCode": "الحصول على رمز جديد",
|
||||
"pairing.web.paired": "تم إقران {name}",
|
||||
"pairing.web.disconnect": "قطع الاتصال",
|
||||
"pairing.web.disconnectFailed": "تعذر قطع اتصال {name}.",
|
||||
"pairing.web.loadFailed": "تعذر الحصول على رمز إقران لـ {name}.",
|
||||
"telegramPairing.title": "ربط تيليجرام",
|
||||
"telegramPairing.instructions": "امسح رمز QR أو افتح الرابط ثم اضغط «ابدأ» في تيليجرام لإقران هذا الحساب.",
|
||||
"telegramPairing.copyCode": "نسخ الرمز",
|
||||
|
||||
@@ -223,7 +223,7 @@ registerPack("de", {
|
||||
// Extensions tabs
|
||||
"extensions.installed": "Installiert",
|
||||
"extensions.channels": "Kanaele",
|
||||
"extensions.tools": "Tools",
|
||||
"extensions.tools": "Werkzeuge",
|
||||
"extensions.registry": "Registrierung",
|
||||
|
||||
// Settings tabs
|
||||
@@ -1238,7 +1238,7 @@ registerPack("de", {
|
||||
"extensions.reconfigure": "Neu konfigurieren",
|
||||
"extensions.configureName": "{name} konfigurieren",
|
||||
"extensions.allInstalled": "Alle installierten Erweiterungen",
|
||||
"tools.installed": "Installed tools",
|
||||
"tools.installed": "Installierte Werkzeuge",
|
||||
"extensions.scope.shared": "geteilt",
|
||||
"extensions.scope.private": "meine",
|
||||
"mcp.installed": "Installierte MCP-Server",
|
||||
@@ -1254,49 +1254,49 @@ registerPack("de", {
|
||||
"extensions.installedSuccess": "{name} installiert",
|
||||
"extensions.removedSuccess": "{name} entfernt",
|
||||
"extensions.installFailed": "Installation fehlgeschlagen",
|
||||
"extensions.addCustomMcp": "Add MCP server",
|
||||
"extensions.customMcpPhase.connection": "Connection · Step 1 of 3",
|
||||
"extensions.customMcpPhase.authentication": "Review · Step 2 of 3",
|
||||
"extensions.customMcpPhase.review": "Step 2 of 3",
|
||||
"extensions.customMcpPhase.result": "Result · Step 3 of 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Connection",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Review",
|
||||
"extensions.customMcpPhase.reviewLabel": "Review",
|
||||
"extensions.customMcpPhase.resultLabel": "Result",
|
||||
"extensions.customMcpProgress": "Add an MCP server in three steps",
|
||||
"extensions.customMcpName": "Server name",
|
||||
"extensions.customMcpNameHint": "Use a name you will recognize in Extensions.",
|
||||
"extensions.customMcpId": "Server ID",
|
||||
"extensions.addCustomMcp": "MCP-Server hinzufügen",
|
||||
"extensions.customMcpPhase.connection": "Schritt 1 von 3",
|
||||
"extensions.customMcpPhase.authentication": "Schritt 2 von 3",
|
||||
"extensions.customMcpPhase.review": "Schritt 2 von 3",
|
||||
"extensions.customMcpPhase.result": "Schritt 3 von 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Verbindung",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Prüfung",
|
||||
"extensions.customMcpPhase.reviewLabel": "Prüfung",
|
||||
"extensions.customMcpPhase.resultLabel": "Ergebnis",
|
||||
"extensions.customMcpProgress": "MCP-Server in drei Schritten hinzufügen",
|
||||
"extensions.customMcpName": "Servername",
|
||||
"extensions.customMcpNameHint": "Verwenden Sie einen Namen, den Sie unter Erweiterungen wiedererkennen.",
|
||||
"extensions.customMcpId": "Server-ID",
|
||||
"extensions.customMcpIdGenerated": "ID: {id}",
|
||||
"extensions.customMcpIdHint": "A unique ID: lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpAdvanced": "Advanced options",
|
||||
"extensions.customMcpRecommended": "Recommended",
|
||||
"extensions.customMcpEndpoint": "Server address",
|
||||
"extensions.customMcpRequired": "Name, ID, and endpoint are required.",
|
||||
"extensions.customMcpHttpsOnly": "The endpoint must use HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Enter a server name.",
|
||||
"extensions.customMcpNameTooLong": "Server name must be 256 characters or fewer.",
|
||||
"extensions.customMcpNameControls": "Server name cannot contain control characters.",
|
||||
"extensions.customMcpIdRequired": "Enter a server ID.",
|
||||
"extensions.customMcpIdInvalid": "Server ID must use lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpEndpointRequired": "Enter a server address.",
|
||||
"extensions.customMcpEndpointHttps": "Enter a public HTTPS URL without credentials, fragments, localhost, or an IP address.",
|
||||
"extensions.customMcpAuthHint": "Choose how this server authenticates. Credentials are configured only after registration.",
|
||||
"extensions.customMcpReviewHint": "Add it now, then install it from Extensions. Connect an account or add a token if needed.",
|
||||
"extensions.customMcpAuth.no_auth": "No authentication",
|
||||
"extensions.customMcpAuth.bearer": "Bearer token",
|
||||
"extensions.customMcpIdHint": "Eine eindeutige ID aus Kleinbuchstaben, Zahlen, Unterstrichen, Bindestrichen oder Punkten, beginnend mit einem Buchstaben oder einer Zahl (maximal 128 Zeichen).",
|
||||
"extensions.customMcpAdvanced": "Erweiterte Optionen",
|
||||
"extensions.customMcpRecommended": "Empfohlen",
|
||||
"extensions.customMcpEndpoint": "Serveradresse",
|
||||
"extensions.customMcpRequired": "Name, ID und Endpunkt sind erforderlich.",
|
||||
"extensions.customMcpHttpsOnly": "Der Endpunkt muss HTTPS verwenden.",
|
||||
"extensions.customMcpNameRequired": "Geben Sie einen Servernamen ein.",
|
||||
"extensions.customMcpNameTooLong": "Der Servername darf höchstens 256 Zeichen lang sein.",
|
||||
"extensions.customMcpNameControls": "Der Servername darf keine Steuerzeichen enthalten.",
|
||||
"extensions.customMcpIdRequired": "Geben Sie eine Server-ID ein.",
|
||||
"extensions.customMcpIdInvalid": "Die Server-ID darf nur Kleinbuchstaben, Zahlen, Unterstriche, Bindestriche oder Punkte verwenden, muss mit einem Buchstaben oder einer Zahl beginnen und darf höchstens 128 Zeichen lang sein.",
|
||||
"extensions.customMcpEndpointRequired": "Geben Sie eine Serveradresse ein.",
|
||||
"extensions.customMcpEndpointHttps": "Geben Sie eine öffentliche HTTPS-URL ohne Zugangsdaten, Fragmente, localhost oder IP-Adresse ein.",
|
||||
"extensions.customMcpAuthHint": "IronClaw stellt zunächst ohne Zugangsdaten eine Verbindung her, um zu erkennen, ob OAuth oder ein Bearer-Token erforderlich ist. Dies kann unter „Erweiterte Optionen“ überschrieben werden.",
|
||||
"extensions.customMcpReviewHint": "Fügen Sie ihn jetzt hinzu und installieren Sie ihn anschließend über Erweiterungen. Verbinden Sie bei Bedarf ein Konto oder fügen Sie ein Token hinzu.",
|
||||
"extensions.customMcpAuth.no_auth": "Keine Authentifizierung",
|
||||
"extensions.customMcpAuth.bearer": "Bearer-Token",
|
||||
"extensions.customMcpAuth.oauth": "OAuth",
|
||||
"extensions.customMcpAuth.auto": "Automatic detection",
|
||||
"extensions.customMcpRegister": "Add server",
|
||||
"extensions.customMcpRegistered": "{name} added",
|
||||
"extensions.customMcpRegisterFailed": "Could not add this server. Try again.",
|
||||
"extensions.customMcpSetupRequired": "Registration complete — setup required",
|
||||
"extensions.customMcpSetupRequiredHint": "Credentials can be added later from this extension's Setup action in the Extensions list.",
|
||||
"extensions.customMcpReady": "Server added",
|
||||
"extensions.customMcpReadyHint": "Find it in Extensions. Install it before using it. If it asks for access, connect an account or add a token.",
|
||||
"extensions.customMcpFinishLater": "Finish later",
|
||||
"extensions.customMcpContinueSetup": "Continue setup",
|
||||
"extensions.customMcpProjectionMissing": "The server was added, but it is not showing in Extensions yet. Try again.",
|
||||
"extensions.customMcpAuth.auto": "Automatische Erkennung",
|
||||
"extensions.customMcpRegister": "Server hinzufügen",
|
||||
"extensions.customMcpRegistered": "{name} hinzugefügt",
|
||||
"extensions.customMcpRegisterFailed": "Dieser Server konnte nicht hinzugefügt werden. Versuchen Sie es erneut.",
|
||||
"extensions.customMcpSetupRequired": "Server hinzugefügt — Einrichtung abschließen",
|
||||
"extensions.customMcpSetupRequiredHint": "Sie finden ihn unter Erweiterungen. Verbinden Sie anschließend bei Bedarf ein Konto oder fügen Sie ein Token hinzu.",
|
||||
"extensions.customMcpReady": "Server hinzugefügt",
|
||||
"extensions.customMcpReadyHint": "Sie finden ihn unter Erweiterungen. Installieren Sie ihn und verbinden Sie anschließend bei Bedarf ein Konto oder fügen Sie ein Token hinzu.",
|
||||
"extensions.customMcpFinishLater": "Später abschließen",
|
||||
"extensions.customMcpContinueSetup": "Einrichtung fortsetzen",
|
||||
"extensions.customMcpProjectionMissing": "Der Server wurde hinzugefügt, wird aber noch nicht unter Erweiterungen angezeigt. Versuchen Sie es erneut.",
|
||||
"extensions.removeFailed": "Entfernen fehlgeschlagen",
|
||||
"extensions.openingAuth": "Authentifizierung wird geöffnet...",
|
||||
"extensions.configurationRequired": "Konfiguration erforderlich",
|
||||
@@ -1344,8 +1344,8 @@ registerPack("de", {
|
||||
"extensions.reconnect": "Neu verbinden",
|
||||
"extensions.emptyInstalledTitle": "Keine Erweiterungen installiert",
|
||||
"extensions.emptyInstalledDesc": "Durchsuchen Sie die Registerkarte „Registrierung“, um WASM-Tools, Kanäle und MCP-Server zu entdecken und zu installieren.",
|
||||
"extensions.emptyToolsTitle": "No tool extensions yet",
|
||||
"extensions.emptyToolsDesc": "Install an extension with tool capabilities from the registry to see it here.",
|
||||
"extensions.emptyToolsTitle": "Noch keine Werkzeug-Erweiterungen",
|
||||
"extensions.emptyToolsDesc": "Installieren Sie eine Erweiterung mit Werkzeugfunktionen aus der Registry, damit sie hier angezeigt wird.",
|
||||
"common.dismiss": "Schließen",
|
||||
"common.pin": "Anheften",
|
||||
"common.unpin": "Lösen",
|
||||
@@ -1454,6 +1454,8 @@ registerPack("de", {
|
||||
"chat.generatedImageUnavailable": "Generiertes Bild im Verlauf nicht verfügbar",
|
||||
"chat.messageAttachmentAlt": "Nachrichtenanhang",
|
||||
"chat.copyMessage": "Nachricht kopieren",
|
||||
"chat.downloadRunArtifact": "Diesen Lauf herunterladen",
|
||||
"chat.downloadThreadArtifact": "Vollständigen Thread herunterladen",
|
||||
"chat.retryMessage": "Nachricht erneut versuchen",
|
||||
"chat.history.loadFailed": "Konversationsverlauf konnte nicht geladen werden.",
|
||||
"chat.failure.connectionLost": "Die Verbindung zum Server wurde unterbrochen. Stelle die Verbindung wieder her und versuche es erneut.",
|
||||
@@ -1480,7 +1482,7 @@ registerPack("de", {
|
||||
"pairing.connectFromExtensions": "Verbinde {name} über die Erweiterungsseite, um fortzufahren.",
|
||||
"pairing.connectFailedRetry": "Verbindung fehlgeschlagen. Versuche es erneut.",
|
||||
"extensions.authUrlHttpsRequired": "Die Authentifizierungs-URL muss HTTPS verwenden.",
|
||||
"tools.available": "Available tools",
|
||||
"tools.available": "Verfügbare Werkzeuge",
|
||||
"slackSetup.placeholder.keepSecret": "Konfiguriert; leer lassen, um beizubehalten",
|
||||
|
||||
// Telegram setup + pairing
|
||||
@@ -1500,6 +1502,19 @@ registerPack("de", {
|
||||
"telegramSetup.remove": "Bot entfernen",
|
||||
"telegramSetup.removeConfirm": "Telegram-Bot entfernen? Der Kanal stoppt, bis ein neues Token gespeichert wird.",
|
||||
"telegramSetup.removeFailed": "Entfernen des Telegram-Bots fehlgeschlagen.",
|
||||
"pairing.web.title": "{name} verbinden",
|
||||
"pairing.web.instructions": "Scannen Sie den QR-Code oder öffnen Sie den Link und senden Sie den Code an den {name}-Bot, um dieses Konto zu koppeln.",
|
||||
"pairing.web.instructionsNoLink": "Senden Sie den folgenden Code an den {name}-Bot, um dieses Konto zu koppeln.",
|
||||
"pairing.web.copyCode": "Code kopieren",
|
||||
"pairing.web.openIn": "In {name} öffnen",
|
||||
"pairing.web.qrAlt": "QR-Code zur Kopplung mit {name}",
|
||||
"pairing.web.expiresIn": "Läuft in {time} ab",
|
||||
"pairing.web.expired": "Dieser Kopplungscode ist abgelaufen.",
|
||||
"pairing.web.getNewCode": "Neuen Code abrufen",
|
||||
"pairing.web.paired": "{name} gekoppelt",
|
||||
"pairing.web.disconnect": "Verbindung trennen",
|
||||
"pairing.web.disconnectFailed": "Die Verbindung mit {name} konnte nicht getrennt werden.",
|
||||
"pairing.web.loadFailed": "Es konnte kein Kopplungscode für {name} abgerufen werden.",
|
||||
"telegramPairing.title": "Telegram verbinden",
|
||||
"telegramPairing.instructions": "Scanne den QR-Code oder öffne den Link und tippe in Telegram auf „Start“, um dieses Konto zu koppeln.",
|
||||
"telegramPairing.copyCode": "Code kopieren",
|
||||
|
||||
@@ -223,7 +223,7 @@ registerPack("es", {
|
||||
// Extensions tabs
|
||||
"extensions.installed": "Instaladas",
|
||||
"extensions.channels": "Canales",
|
||||
"extensions.tools": "Tools",
|
||||
"extensions.tools": "Herramientas",
|
||||
"extensions.registry": "Registro",
|
||||
|
||||
// Settings tabs
|
||||
@@ -1239,7 +1239,7 @@ registerPack("es", {
|
||||
"extensions.reconfigure": "Reconfigurar",
|
||||
"extensions.configureName": "Configurar {name}",
|
||||
"extensions.allInstalled": "Todas las extensiones instaladas",
|
||||
"tools.installed": "Installed tools",
|
||||
"tools.installed": "Herramientas instaladas",
|
||||
"extensions.scope.shared": "compartidas",
|
||||
"extensions.scope.private": "mías",
|
||||
"mcp.installed": "Servidores MCP instalados",
|
||||
@@ -1255,49 +1255,49 @@ registerPack("es", {
|
||||
"extensions.installedSuccess": "{name} se instaló",
|
||||
"extensions.removedSuccess": "{name} se eliminó",
|
||||
"extensions.installFailed": "Error al instalar",
|
||||
"extensions.addCustomMcp": "Add MCP server",
|
||||
"extensions.customMcpPhase.connection": "Connection · Step 1 of 3",
|
||||
"extensions.customMcpPhase.authentication": "Review · Step 2 of 3",
|
||||
"extensions.customMcpPhase.review": "Step 2 of 3",
|
||||
"extensions.customMcpPhase.result": "Result · Step 3 of 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Connection",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Review",
|
||||
"extensions.customMcpPhase.reviewLabel": "Review",
|
||||
"extensions.customMcpPhase.resultLabel": "Result",
|
||||
"extensions.customMcpProgress": "Add an MCP server in three steps",
|
||||
"extensions.customMcpName": "Server name",
|
||||
"extensions.customMcpNameHint": "Use a name you will recognize in Extensions.",
|
||||
"extensions.customMcpId": "Server ID",
|
||||
"extensions.addCustomMcp": "Agregar servidor MCP",
|
||||
"extensions.customMcpPhase.connection": "Paso 1 de 3",
|
||||
"extensions.customMcpPhase.authentication": "Paso 2 de 3",
|
||||
"extensions.customMcpPhase.review": "Paso 2 de 3",
|
||||
"extensions.customMcpPhase.result": "Paso 3 de 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Conexión",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Revisión",
|
||||
"extensions.customMcpPhase.reviewLabel": "Revisión",
|
||||
"extensions.customMcpPhase.resultLabel": "Resultado",
|
||||
"extensions.customMcpProgress": "Agrega un servidor MCP en tres pasos",
|
||||
"extensions.customMcpName": "Nombre del servidor",
|
||||
"extensions.customMcpNameHint": "Usa un nombre que reconozcas en Extensiones.",
|
||||
"extensions.customMcpId": "ID del servidor",
|
||||
"extensions.customMcpIdGenerated": "ID: {id}",
|
||||
"extensions.customMcpIdHint": "A unique ID: lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpAdvanced": "Advanced options",
|
||||
"extensions.customMcpRecommended": "Recommended",
|
||||
"extensions.customMcpEndpoint": "Server address",
|
||||
"extensions.customMcpRequired": "Name, ID, and endpoint are required.",
|
||||
"extensions.customMcpHttpsOnly": "The endpoint must use HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Enter a server name.",
|
||||
"extensions.customMcpNameTooLong": "Server name must be 256 characters or fewer.",
|
||||
"extensions.customMcpNameControls": "Server name cannot contain control characters.",
|
||||
"extensions.customMcpIdRequired": "Enter a server ID.",
|
||||
"extensions.customMcpIdInvalid": "Server ID must use lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpEndpointRequired": "Enter a server address.",
|
||||
"extensions.customMcpEndpointHttps": "Enter a public HTTPS URL without credentials, fragments, localhost, or an IP address.",
|
||||
"extensions.customMcpAuthHint": "Choose how this server authenticates. Credentials are configured only after registration.",
|
||||
"extensions.customMcpReviewHint": "Add it now, then install it from Extensions. Connect an account or add a token if needed.",
|
||||
"extensions.customMcpAuth.no_auth": "No authentication",
|
||||
"extensions.customMcpAuth.bearer": "Bearer token",
|
||||
"extensions.customMcpIdHint": "Un ID único con letras minúsculas, números, guiones bajos, guiones o puntos, que empiece por una letra o un número (máximo 128 caracteres).",
|
||||
"extensions.customMcpAdvanced": "Opciones avanzadas",
|
||||
"extensions.customMcpRecommended": "Recomendado",
|
||||
"extensions.customMcpEndpoint": "Dirección del servidor",
|
||||
"extensions.customMcpRequired": "El nombre, el ID y el endpoint son obligatorios.",
|
||||
"extensions.customMcpHttpsOnly": "El endpoint debe usar HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Introduce un nombre de servidor.",
|
||||
"extensions.customMcpNameTooLong": "El nombre del servidor debe tener 256 caracteres o menos.",
|
||||
"extensions.customMcpNameControls": "El nombre del servidor no puede contener caracteres de control.",
|
||||
"extensions.customMcpIdRequired": "Introduce un ID de servidor.",
|
||||
"extensions.customMcpIdInvalid": "El ID del servidor debe usar letras minúsculas, números, guiones bajos, guiones o puntos, empezar por una letra o un número y tener un máximo de 128 caracteres.",
|
||||
"extensions.customMcpEndpointRequired": "Introduce una dirección de servidor.",
|
||||
"extensions.customMcpEndpointHttps": "Introduce una URL HTTPS pública sin credenciales, fragmentos, localhost ni una dirección IP.",
|
||||
"extensions.customMcpAuthHint": "IronClaw se conecta primero sin credenciales para detectar si se necesita OAuth o un token Bearer. Puedes cambiarlo en Opciones avanzadas.",
|
||||
"extensions.customMcpReviewHint": "Agrégalo ahora y luego instálalo desde Extensiones. Conecta una cuenta o agrega un token si es necesario.",
|
||||
"extensions.customMcpAuth.no_auth": "Sin autenticación",
|
||||
"extensions.customMcpAuth.bearer": "Token Bearer",
|
||||
"extensions.customMcpAuth.oauth": "OAuth",
|
||||
"extensions.customMcpAuth.auto": "Automatic detection",
|
||||
"extensions.customMcpRegister": "Add server",
|
||||
"extensions.customMcpRegistered": "{name} added",
|
||||
"extensions.customMcpRegisterFailed": "Could not add this server. Try again.",
|
||||
"extensions.customMcpSetupRequired": "Registration complete — setup required",
|
||||
"extensions.customMcpSetupRequiredHint": "Credentials can be added later from this extension's Setup action in the Extensions list.",
|
||||
"extensions.customMcpReady": "Server added",
|
||||
"extensions.customMcpReadyHint": "Find it in Extensions. Install it before using it. If it asks for access, connect an account or add a token.",
|
||||
"extensions.customMcpFinishLater": "Finish later",
|
||||
"extensions.customMcpContinueSetup": "Continue setup",
|
||||
"extensions.customMcpProjectionMissing": "The server was added, but it is not showing in Extensions yet. Try again.",
|
||||
"extensions.customMcpAuth.auto": "Detección automática",
|
||||
"extensions.customMcpRegister": "Agregar servidor",
|
||||
"extensions.customMcpRegistered": "Se agregó {name}",
|
||||
"extensions.customMcpRegisterFailed": "No se pudo agregar este servidor. Inténtalo de nuevo.",
|
||||
"extensions.customMcpSetupRequired": "Servidor agregado — completa la configuración",
|
||||
"extensions.customMcpSetupRequiredHint": "Encuéntralo en Extensiones y luego conecta una cuenta o agrega un token si es necesario.",
|
||||
"extensions.customMcpReady": "Servidor agregado",
|
||||
"extensions.customMcpReadyHint": "Encuéntralo en Extensiones, instálalo y luego conecta una cuenta o agrega un token si es necesario.",
|
||||
"extensions.customMcpFinishLater": "Completar más tarde",
|
||||
"extensions.customMcpContinueSetup": "Continuar configuración",
|
||||
"extensions.customMcpProjectionMissing": "El servidor se agregó, pero todavía no aparece en Extensiones. Inténtalo de nuevo.",
|
||||
"extensions.removeFailed": "Error al quitar",
|
||||
"extensions.openingAuth": "Abriendo autenticación...",
|
||||
"extensions.configurationRequired": "Configuración requerida",
|
||||
@@ -1345,8 +1345,8 @@ registerPack("es", {
|
||||
"extensions.reconnect": "Reconectar",
|
||||
"extensions.emptyInstalledTitle": "No hay extensiones instaladas",
|
||||
"extensions.emptyInstalledDesc": "Explore la pestaña Registro para descubrir e instalar herramientas, canales y servidores WASM.",
|
||||
"extensions.emptyToolsTitle": "No tool extensions yet",
|
||||
"extensions.emptyToolsDesc": "Install an extension with tool capabilities from the registry to see it here.",
|
||||
"extensions.emptyToolsTitle": "Aún no hay extensiones de herramientas",
|
||||
"extensions.emptyToolsDesc": "Instala desde el registro una extensión con capacidades de herramientas para verla aquí.",
|
||||
"common.dismiss": "Descartar",
|
||||
"common.pin": "Fijar",
|
||||
"common.unpin": "Desfijar",
|
||||
@@ -1455,6 +1455,8 @@ registerPack("es", {
|
||||
"chat.generatedImageUnavailable": "Imagen generada no disponible en el historial",
|
||||
"chat.messageAttachmentAlt": "Adjunto del mensaje",
|
||||
"chat.copyMessage": "Copiar mensaje",
|
||||
"chat.downloadRunArtifact": "Descargar esta ejecución",
|
||||
"chat.downloadThreadArtifact": "Descargar el hilo completo",
|
||||
"chat.retryMessage": "Reintentar mensaje",
|
||||
"chat.history.loadFailed": "No se pudo cargar el historial de conversación.",
|
||||
"chat.failure.connectionLost": "Se perdió la conexión con el servidor. Vuelve a conectarte e inténtalo de nuevo.",
|
||||
@@ -1481,7 +1483,7 @@ registerPack("es", {
|
||||
"pairing.connectFromExtensions": "Conecta {name} desde la página de Extensiones para continuar.",
|
||||
"pairing.connectFailedRetry": "La conexión falló. Inténtalo de nuevo.",
|
||||
"extensions.authUrlHttpsRequired": "La URL de autenticación debe usar HTTPS.",
|
||||
"tools.available": "Available tools",
|
||||
"tools.available": "Herramientas disponibles",
|
||||
"slackSetup.placeholder.keepSecret": "Configurado; deja en blanco para conservarlo",
|
||||
|
||||
// Telegram setup + pairing
|
||||
@@ -1501,6 +1503,19 @@ registerPack("es", {
|
||||
"telegramSetup.remove": "Quitar bot",
|
||||
"telegramSetup.removeConfirm": "¿Quitar el bot de Telegram? El canal se detiene hasta guardar un token nuevo.",
|
||||
"telegramSetup.removeFailed": "No se pudo quitar el bot de Telegram.",
|
||||
"pairing.web.title": "Conectar {name}",
|
||||
"pairing.web.instructions": "Escanea el código QR o abre el enlace y envía el código al bot de {name} para vincular esta cuenta.",
|
||||
"pairing.web.instructionsNoLink": "Envía el siguiente código al bot de {name} para vincular esta cuenta.",
|
||||
"pairing.web.copyCode": "Copiar código",
|
||||
"pairing.web.openIn": "Abrir en {name}",
|
||||
"pairing.web.qrAlt": "QR para vincular {name}",
|
||||
"pairing.web.expiresIn": "Caduca en {time}",
|
||||
"pairing.web.expired": "Este código de vinculación ha caducado.",
|
||||
"pairing.web.getNewCode": "Obtener un código nuevo",
|
||||
"pairing.web.paired": "{name} vinculado",
|
||||
"pairing.web.disconnect": "Desconectar",
|
||||
"pairing.web.disconnectFailed": "No se pudo desconectar {name}.",
|
||||
"pairing.web.loadFailed": "No se pudo obtener un código de vinculación para {name}.",
|
||||
"telegramPairing.title": "Conectar Telegram",
|
||||
"telegramPairing.instructions": "Escanea el código QR o abre el enlace y pulsa Iniciar en Telegram para vincular esta cuenta.",
|
||||
"telegramPairing.copyCode": "Copiar código",
|
||||
|
||||
@@ -223,7 +223,7 @@ registerPack("fr", {
|
||||
// Extensions tabs
|
||||
"extensions.installed": "Installees",
|
||||
"extensions.channels": "Canaux",
|
||||
"extensions.tools": "Tools",
|
||||
"extensions.tools": "Outils",
|
||||
"extensions.registry": "Registre",
|
||||
|
||||
// Settings tabs
|
||||
@@ -1238,7 +1238,7 @@ registerPack("fr", {
|
||||
"extensions.reconfigure": "Reconfigurer",
|
||||
"extensions.configureName": "Configurer {name}",
|
||||
"extensions.allInstalled": "Toutes les extensions installées",
|
||||
"tools.installed": "Installed tools",
|
||||
"tools.installed": "Outils installés",
|
||||
"extensions.scope.shared": "partagées",
|
||||
"extensions.scope.private": "les miennes",
|
||||
"mcp.installed": "Serveurs MCP installés",
|
||||
@@ -1254,49 +1254,49 @@ registerPack("fr", {
|
||||
"extensions.installedSuccess": "{name} a été installée",
|
||||
"extensions.removedSuccess": "{name} a été supprimée",
|
||||
"extensions.installFailed": "Échec de l'installation",
|
||||
"extensions.addCustomMcp": "Add MCP server",
|
||||
"extensions.customMcpPhase.connection": "Connection · Step 1 of 3",
|
||||
"extensions.customMcpPhase.authentication": "Review · Step 2 of 3",
|
||||
"extensions.customMcpPhase.review": "Step 2 of 3",
|
||||
"extensions.customMcpPhase.result": "Result · Step 3 of 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Connection",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Review",
|
||||
"extensions.customMcpPhase.reviewLabel": "Review",
|
||||
"extensions.customMcpPhase.resultLabel": "Result",
|
||||
"extensions.customMcpProgress": "Add an MCP server in three steps",
|
||||
"extensions.customMcpName": "Server name",
|
||||
"extensions.customMcpNameHint": "Use a name you will recognize in Extensions.",
|
||||
"extensions.customMcpId": "Server ID",
|
||||
"extensions.addCustomMcp": "Ajouter un serveur MCP",
|
||||
"extensions.customMcpPhase.connection": "Étape 1 sur 3",
|
||||
"extensions.customMcpPhase.authentication": "Étape 2 sur 3",
|
||||
"extensions.customMcpPhase.review": "Étape 2 sur 3",
|
||||
"extensions.customMcpPhase.result": "Étape 3 sur 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Connexion",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Vérification",
|
||||
"extensions.customMcpPhase.reviewLabel": "Vérification",
|
||||
"extensions.customMcpPhase.resultLabel": "Résultat",
|
||||
"extensions.customMcpProgress": "Ajoutez un serveur MCP en trois étapes",
|
||||
"extensions.customMcpName": "Nom du serveur",
|
||||
"extensions.customMcpNameHint": "Utilisez un nom que vous reconnaîtrez dans Extensions.",
|
||||
"extensions.customMcpId": "Identifiant du serveur",
|
||||
"extensions.customMcpIdGenerated": "ID: {id}",
|
||||
"extensions.customMcpIdHint": "A unique ID: lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpAdvanced": "Advanced options",
|
||||
"extensions.customMcpRecommended": "Recommended",
|
||||
"extensions.customMcpEndpoint": "Server address",
|
||||
"extensions.customMcpRequired": "Name, ID, and endpoint are required.",
|
||||
"extensions.customMcpHttpsOnly": "The endpoint must use HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Enter a server name.",
|
||||
"extensions.customMcpNameTooLong": "Server name must be 256 characters or fewer.",
|
||||
"extensions.customMcpNameControls": "Server name cannot contain control characters.",
|
||||
"extensions.customMcpIdRequired": "Enter a server ID.",
|
||||
"extensions.customMcpIdInvalid": "Server ID must use lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpEndpointRequired": "Enter a server address.",
|
||||
"extensions.customMcpEndpointHttps": "Enter a public HTTPS URL without credentials, fragments, localhost, or an IP address.",
|
||||
"extensions.customMcpAuthHint": "Choose how this server authenticates. Credentials are configured only after registration.",
|
||||
"extensions.customMcpReviewHint": "Add it now, then install it from Extensions. Connect an account or add a token if needed.",
|
||||
"extensions.customMcpAuth.no_auth": "No authentication",
|
||||
"extensions.customMcpAuth.bearer": "Bearer token",
|
||||
"extensions.customMcpIdHint": "Un identifiant unique composé de lettres minuscules, chiffres, traits de soulignement, tirets ou points, commençant par une lettre ou un chiffre (128 caractères maximum).",
|
||||
"extensions.customMcpAdvanced": "Options avancées",
|
||||
"extensions.customMcpRecommended": "Recommandé",
|
||||
"extensions.customMcpEndpoint": "Adresse du serveur",
|
||||
"extensions.customMcpRequired": "Le nom, l’identifiant et le point de terminaison sont obligatoires.",
|
||||
"extensions.customMcpHttpsOnly": "Le point de terminaison doit utiliser HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Saisissez un nom de serveur.",
|
||||
"extensions.customMcpNameTooLong": "Le nom du serveur doit contenir au maximum 256 caractères.",
|
||||
"extensions.customMcpNameControls": "Le nom du serveur ne peut pas contenir de caractères de contrôle.",
|
||||
"extensions.customMcpIdRequired": "Saisissez un identifiant de serveur.",
|
||||
"extensions.customMcpIdInvalid": "L’identifiant du serveur doit utiliser des lettres minuscules, chiffres, traits de soulignement, tirets ou points, commencer par une lettre ou un chiffre et contenir au maximum 128 caractères.",
|
||||
"extensions.customMcpEndpointRequired": "Saisissez une adresse de serveur.",
|
||||
"extensions.customMcpEndpointHttps": "Saisissez une URL HTTPS publique sans identifiants, fragments, localhost ni adresse IP.",
|
||||
"extensions.customMcpAuthHint": "IronClaw se connecte d’abord sans identifiants pour détecter si OAuth ou un jeton Bearer est nécessaire. Modifiez ce choix dans les options avancées.",
|
||||
"extensions.customMcpReviewHint": "Ajoutez-le maintenant, puis installez-le depuis Extensions. Connectez un compte ou ajoutez un jeton si nécessaire.",
|
||||
"extensions.customMcpAuth.no_auth": "Aucune authentification",
|
||||
"extensions.customMcpAuth.bearer": "Jeton Bearer",
|
||||
"extensions.customMcpAuth.oauth": "OAuth",
|
||||
"extensions.customMcpAuth.auto": "Automatic detection",
|
||||
"extensions.customMcpRegister": "Add server",
|
||||
"extensions.customMcpRegistered": "{name} added",
|
||||
"extensions.customMcpRegisterFailed": "Could not add this server. Try again.",
|
||||
"extensions.customMcpSetupRequired": "Registration complete — setup required",
|
||||
"extensions.customMcpSetupRequiredHint": "Credentials can be added later from this extension's Setup action in the Extensions list.",
|
||||
"extensions.customMcpReady": "Server added",
|
||||
"extensions.customMcpReadyHint": "Find it in Extensions. Install it before using it. If it asks for access, connect an account or add a token.",
|
||||
"extensions.customMcpFinishLater": "Finish later",
|
||||
"extensions.customMcpContinueSetup": "Continue setup",
|
||||
"extensions.customMcpProjectionMissing": "The server was added, but it is not showing in Extensions yet. Try again.",
|
||||
"extensions.customMcpAuth.auto": "Détection automatique",
|
||||
"extensions.customMcpRegister": "Ajouter le serveur",
|
||||
"extensions.customMcpRegistered": "{name} ajouté",
|
||||
"extensions.customMcpRegisterFailed": "Impossible d’ajouter ce serveur. Réessayez.",
|
||||
"extensions.customMcpSetupRequired": "Serveur ajouté — terminez la configuration",
|
||||
"extensions.customMcpSetupRequiredHint": "Retrouvez-le dans Extensions, puis connectez un compte ou ajoutez un jeton si nécessaire.",
|
||||
"extensions.customMcpReady": "Serveur ajouté",
|
||||
"extensions.customMcpReadyHint": "Retrouvez-le dans Extensions, installez-le, puis connectez un compte ou ajoutez un jeton si nécessaire.",
|
||||
"extensions.customMcpFinishLater": "Terminer plus tard",
|
||||
"extensions.customMcpContinueSetup": "Continuer la configuration",
|
||||
"extensions.customMcpProjectionMissing": "Le serveur a été ajouté, mais n’apparaît pas encore dans Extensions. Réessayez.",
|
||||
"extensions.removeFailed": "Échec de la suppression",
|
||||
"extensions.openingAuth": "Ouverture de l'authentification...",
|
||||
"extensions.configurationRequired": "Configuration requise",
|
||||
@@ -1344,8 +1344,8 @@ registerPack("fr", {
|
||||
"extensions.reconnect": "Reconnecter",
|
||||
"extensions.emptyInstalledTitle": "Aucune extension installée",
|
||||
"extensions.emptyInstalledDesc": "Parcourez l'onglet Registre pour découvrir et installer les outils, canaux et serveurs MCP WASM.",
|
||||
"extensions.emptyToolsTitle": "No tool extensions yet",
|
||||
"extensions.emptyToolsDesc": "Install an extension with tool capabilities from the registry to see it here.",
|
||||
"extensions.emptyToolsTitle": "Aucune extension d’outil pour le moment",
|
||||
"extensions.emptyToolsDesc": "Installez depuis le registre une extension dotée de fonctionnalités d’outil pour la voir ici.",
|
||||
"common.dismiss": "Ignorer",
|
||||
"common.pin": "Épingler",
|
||||
"common.unpin": "Désépingler",
|
||||
@@ -1454,6 +1454,8 @@ registerPack("fr", {
|
||||
"chat.generatedImageUnavailable": "Image générée indisponible dans l'historique",
|
||||
"chat.messageAttachmentAlt": "Pièce jointe du message",
|
||||
"chat.copyMessage": "Copier le message",
|
||||
"chat.downloadRunArtifact": "Télécharger cette exécution",
|
||||
"chat.downloadThreadArtifact": "Télécharger le fil complet",
|
||||
"chat.retryMessage": "Réessayer le message",
|
||||
"chat.history.loadFailed": "Impossible de charger l'historique de la conversation.",
|
||||
"chat.failure.connectionLost": "La connexion au serveur a été perdue. Reconnectez-vous et réessayez.",
|
||||
@@ -1480,7 +1482,7 @@ registerPack("fr", {
|
||||
"pairing.connectFromExtensions": "Connectez {name} depuis la page Extensions pour continuer.",
|
||||
"pairing.connectFailedRetry": "La connexion a échoué. Réessayez.",
|
||||
"extensions.authUrlHttpsRequired": "L'URL d'authentification doit utiliser HTTPS.",
|
||||
"tools.available": "Available tools",
|
||||
"tools.available": "Outils disponibles",
|
||||
"slackSetup.placeholder.keepSecret": "Configuré ; laissez vide pour conserver",
|
||||
|
||||
// Telegram setup + pairing
|
||||
@@ -1500,6 +1502,19 @@ registerPack("fr", {
|
||||
"telegramSetup.remove": "Retirer le bot",
|
||||
"telegramSetup.removeConfirm": "Retirer le bot Telegram ? Le canal s'arrête jusqu'à l'enregistrement d'un nouveau jeton.",
|
||||
"telegramSetup.removeFailed": "Échec du retrait du bot Telegram.",
|
||||
"pairing.web.title": "Connecter {name}",
|
||||
"pairing.web.instructions": "Scannez le code QR ou ouvrez le lien, puis envoyez le code au bot {name} pour associer ce compte.",
|
||||
"pairing.web.instructionsNoLink": "Envoyez le code ci-dessous au bot {name} pour associer ce compte.",
|
||||
"pairing.web.copyCode": "Copier le code",
|
||||
"pairing.web.openIn": "Ouvrir dans {name}",
|
||||
"pairing.web.qrAlt": "Code QR d’association {name}",
|
||||
"pairing.web.expiresIn": "Expire dans {time}",
|
||||
"pairing.web.expired": "Ce code d’association a expiré.",
|
||||
"pairing.web.getNewCode": "Obtenir un nouveau code",
|
||||
"pairing.web.paired": "{name} associé",
|
||||
"pairing.web.disconnect": "Déconnecter",
|
||||
"pairing.web.disconnectFailed": "Échec de la déconnexion de {name}.",
|
||||
"pairing.web.loadFailed": "Impossible d’obtenir un code d’association pour {name}.",
|
||||
"telegramPairing.title": "Connecter Telegram",
|
||||
"telegramPairing.instructions": "Scannez le code QR ou ouvrez le lien, puis appuyez sur Démarrer dans Telegram pour associer ce compte.",
|
||||
"telegramPairing.copyCode": "Copier le code",
|
||||
|
||||
@@ -223,7 +223,7 @@ registerPack("hi", {
|
||||
// Extensions tabs
|
||||
"extensions.installed": "इंस्टॉल किए गए",
|
||||
"extensions.channels": "चैनल",
|
||||
"extensions.tools": "Tools",
|
||||
"extensions.tools": "उपकरण",
|
||||
"extensions.registry": "रजिस्ट्री",
|
||||
|
||||
// Settings tabs
|
||||
@@ -1238,7 +1238,7 @@ registerPack("hi", {
|
||||
"extensions.reconfigure": "पुन: कॉन्फ़िगर करें",
|
||||
"extensions.configureName": "{name} कॉन्फ़िगर करें",
|
||||
"extensions.allInstalled": "सभी स्थापित एक्सटेंशन",
|
||||
"tools.installed": "Installed tools",
|
||||
"tools.installed": "इंस्टॉल किए गए उपकरण",
|
||||
"extensions.scope.shared": "साझा",
|
||||
"extensions.scope.private": "मेरे",
|
||||
"mcp.installed": "स्थापित MCP सर्वर",
|
||||
@@ -1254,49 +1254,49 @@ registerPack("hi", {
|
||||
"extensions.installedSuccess": "{name} इंस्टॉल किया गया",
|
||||
"extensions.removedSuccess": "{name} हटाया गया",
|
||||
"extensions.installFailed": "इंस्टॉल विफल",
|
||||
"extensions.addCustomMcp": "Add MCP server",
|
||||
"extensions.customMcpPhase.connection": "Connection · Step 1 of 3",
|
||||
"extensions.customMcpPhase.authentication": "Review · Step 2 of 3",
|
||||
"extensions.customMcpPhase.review": "Step 2 of 3",
|
||||
"extensions.customMcpPhase.result": "Result · Step 3 of 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Connection",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Review",
|
||||
"extensions.customMcpPhase.reviewLabel": "Review",
|
||||
"extensions.customMcpPhase.resultLabel": "Result",
|
||||
"extensions.customMcpProgress": "Add an MCP server in three steps",
|
||||
"extensions.customMcpName": "Server name",
|
||||
"extensions.customMcpNameHint": "Use a name you will recognize in Extensions.",
|
||||
"extensions.customMcpId": "Server ID",
|
||||
"extensions.addCustomMcp": "MCP सर्वर जोड़ें",
|
||||
"extensions.customMcpPhase.connection": "3 में से चरण 1",
|
||||
"extensions.customMcpPhase.authentication": "3 में से चरण 2",
|
||||
"extensions.customMcpPhase.review": "3 में से चरण 2",
|
||||
"extensions.customMcpPhase.result": "3 में से चरण 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "कनेक्शन",
|
||||
"extensions.customMcpPhase.authenticationLabel": "समीक्षा",
|
||||
"extensions.customMcpPhase.reviewLabel": "समीक्षा",
|
||||
"extensions.customMcpPhase.resultLabel": "परिणाम",
|
||||
"extensions.customMcpProgress": "तीन चरणों में MCP सर्वर जोड़ें",
|
||||
"extensions.customMcpName": "सर्वर का नाम",
|
||||
"extensions.customMcpNameHint": "ऐसा नाम इस्तेमाल करें जिसे आप एक्सटेंशन में आसानी से पहचान सकें।",
|
||||
"extensions.customMcpId": "सर्वर ID",
|
||||
"extensions.customMcpIdGenerated": "ID: {id}",
|
||||
"extensions.customMcpIdHint": "A unique ID: lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpAdvanced": "Advanced options",
|
||||
"extensions.customMcpRecommended": "Recommended",
|
||||
"extensions.customMcpEndpoint": "Server address",
|
||||
"extensions.customMcpRequired": "Name, ID, and endpoint are required.",
|
||||
"extensions.customMcpHttpsOnly": "The endpoint must use HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Enter a server name.",
|
||||
"extensions.customMcpNameTooLong": "Server name must be 256 characters or fewer.",
|
||||
"extensions.customMcpNameControls": "Server name cannot contain control characters.",
|
||||
"extensions.customMcpIdRequired": "Enter a server ID.",
|
||||
"extensions.customMcpIdInvalid": "Server ID must use lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpEndpointRequired": "Enter a server address.",
|
||||
"extensions.customMcpEndpointHttps": "Enter a public HTTPS URL without credentials, fragments, localhost, or an IP address.",
|
||||
"extensions.customMcpAuthHint": "Choose how this server authenticates. Credentials are configured only after registration.",
|
||||
"extensions.customMcpReviewHint": "Add it now, then install it from Extensions. Connect an account or add a token if needed.",
|
||||
"extensions.customMcpAuth.no_auth": "No authentication",
|
||||
"extensions.customMcpAuth.bearer": "Bearer token",
|
||||
"extensions.customMcpIdHint": "छोटे अक्षरों, संख्याओं, अंडरस्कोर, हाइफ़न या बिंदुओं वाली एक विशिष्ट ID, जो किसी अक्षर या संख्या से शुरू हो (अधिकतम 128 वर्ण)।",
|
||||
"extensions.customMcpAdvanced": "उन्नत विकल्प",
|
||||
"extensions.customMcpRecommended": "सुझाया गया",
|
||||
"extensions.customMcpEndpoint": "सर्वर का पता",
|
||||
"extensions.customMcpRequired": "नाम, ID और एंडपॉइंट आवश्यक हैं।",
|
||||
"extensions.customMcpHttpsOnly": "एंडपॉइंट को HTTPS का उपयोग करना चाहिए।",
|
||||
"extensions.customMcpNameRequired": "सर्वर का नाम दर्ज करें।",
|
||||
"extensions.customMcpNameTooLong": "सर्वर का नाम 256 वर्ण या उससे कम होना चाहिए।",
|
||||
"extensions.customMcpNameControls": "सर्वर के नाम में नियंत्रण वर्ण नहीं हो सकते।",
|
||||
"extensions.customMcpIdRequired": "सर्वर ID दर्ज करें।",
|
||||
"extensions.customMcpIdInvalid": "सर्वर ID में छोटे अक्षर, संख्याएँ, अंडरस्कोर, हाइफ़न या बिंदु होने चाहिए, यह किसी अक्षर या संख्या से शुरू हो और अधिकतम 128 वर्ण की हो।",
|
||||
"extensions.customMcpEndpointRequired": "सर्वर का पता दर्ज करें।",
|
||||
"extensions.customMcpEndpointHttps": "क्रेडेंशियल, फ़्रैगमेंट, localhost या IP पते के बिना सार्वजनिक HTTPS URL दर्ज करें।",
|
||||
"extensions.customMcpAuthHint": "IronClaw पहले बिना क्रेडेंशियल के कनेक्ट होकर पता लगाता है कि OAuth या Bearer टोकन की आवश्यकता है या नहीं। इसे उन्नत विकल्पों में बदला जा सकता है।",
|
||||
"extensions.customMcpReviewHint": "इसे अभी जोड़ें, फिर एक्सटेंशन से इंस्टॉल करें। आवश्यकता होने पर कोई खाता कनेक्ट करें या टोकन जोड़ें।",
|
||||
"extensions.customMcpAuth.no_auth": "कोई प्रमाणीकरण नहीं",
|
||||
"extensions.customMcpAuth.bearer": "Bearer टोकन",
|
||||
"extensions.customMcpAuth.oauth": "OAuth",
|
||||
"extensions.customMcpAuth.auto": "Automatic detection",
|
||||
"extensions.customMcpRegister": "Add server",
|
||||
"extensions.customMcpRegistered": "{name} added",
|
||||
"extensions.customMcpRegisterFailed": "Could not add this server. Try again.",
|
||||
"extensions.customMcpSetupRequired": "Registration complete — setup required",
|
||||
"extensions.customMcpSetupRequiredHint": "Credentials can be added later from this extension's Setup action in the Extensions list.",
|
||||
"extensions.customMcpReady": "Server added",
|
||||
"extensions.customMcpReadyHint": "Find it in Extensions. Install it before using it. If it asks for access, connect an account or add a token.",
|
||||
"extensions.customMcpFinishLater": "Finish later",
|
||||
"extensions.customMcpContinueSetup": "Continue setup",
|
||||
"extensions.customMcpProjectionMissing": "The server was added, but it is not showing in Extensions yet. Try again.",
|
||||
"extensions.customMcpAuth.auto": "स्वचालित पहचान",
|
||||
"extensions.customMcpRegister": "सर्वर जोड़ें",
|
||||
"extensions.customMcpRegistered": "{name} जोड़ा गया",
|
||||
"extensions.customMcpRegisterFailed": "यह सर्वर नहीं जोड़ा जा सका। फिर से प्रयास करें।",
|
||||
"extensions.customMcpSetupRequired": "सर्वर जोड़ा गया — सेटअप पूरा करें",
|
||||
"extensions.customMcpSetupRequiredHint": "इसे एक्सटेंशन में खोजें, फिर आवश्यकता होने पर खाता कनेक्ट करें या टोकन जोड़ें।",
|
||||
"extensions.customMcpReady": "सर्वर जोड़ा गया",
|
||||
"extensions.customMcpReadyHint": "इसे एक्सटेंशन में खोजें और इंस्टॉल करें, फिर आवश्यकता होने पर खाता कनेक्ट करें या टोकन जोड़ें।",
|
||||
"extensions.customMcpFinishLater": "बाद में पूरा करें",
|
||||
"extensions.customMcpContinueSetup": "सेटअप जारी रखें",
|
||||
"extensions.customMcpProjectionMissing": "सर्वर जोड़ दिया गया है, लेकिन अभी एक्सटेंशन में दिखाई नहीं दे रहा। फिर से प्रयास करें।",
|
||||
"extensions.removeFailed": "हटाना विफल",
|
||||
"extensions.openingAuth": "प्रमाणीकरण खुल रहा है...",
|
||||
"extensions.configurationRequired": "कॉन्फ़िगरेशन आवश्यक है",
|
||||
@@ -1344,8 +1344,8 @@ registerPack("hi", {
|
||||
"extensions.reconnect": "पुनः कनेक्ट करें",
|
||||
"extensions.emptyInstalledTitle": "कोई एक्सटेंशन इंस्टॉल नहीं है",
|
||||
"extensions.emptyInstalledDesc": "WASM टूल, चैनल और MCP सर्वर को खोजने और इंस्टॉल करने के लिए रजिस्ट्री टैब ब्राउज़ करें।",
|
||||
"extensions.emptyToolsTitle": "No tool extensions yet",
|
||||
"extensions.emptyToolsDesc": "Install an extension with tool capabilities from the registry to see it here.",
|
||||
"extensions.emptyToolsTitle": "अभी कोई उपकरण एक्सटेंशन नहीं है",
|
||||
"extensions.emptyToolsDesc": "इसे यहाँ देखने के लिए रजिस्ट्री से उपकरण क्षमताओं वाला एक्सटेंशन इंस्टॉल करें।",
|
||||
"common.dismiss": "खारिज करें",
|
||||
"common.pin": "पिन करें",
|
||||
"common.unpin": "अनपिन करें",
|
||||
@@ -1454,6 +1454,8 @@ registerPack("hi", {
|
||||
"chat.generatedImageUnavailable": "इतिहास पेलोड में जनरेट की गई इमेज उपलब्ध नहीं है",
|
||||
"chat.messageAttachmentAlt": "संदेश अटैचमेंट",
|
||||
"chat.copyMessage": "संदेश कॉपी करें",
|
||||
"chat.downloadRunArtifact": "यह रन डाउनलोड करें",
|
||||
"chat.downloadThreadArtifact": "पूरी थ्रेड डाउनलोड करें",
|
||||
"chat.retryMessage": "संदेश फिर से आज़माएं",
|
||||
"chat.history.loadFailed": "वार्तालाप इतिहास लोड करने में विफल।",
|
||||
"chat.failure.connectionLost": "सर्वर से कनेक्शन टूट गया। दोबारा कनेक्ट करके फिर प्रयास करें।",
|
||||
@@ -1480,7 +1482,7 @@ registerPack("hi", {
|
||||
"pairing.connectFromExtensions": "जारी रखने के लिए एक्सटेंशन पेज से {name} कनेक्ट करें।",
|
||||
"pairing.connectFailedRetry": "कनेक्शन विफल रहा। फिर से प्रयास करें।",
|
||||
"extensions.authUrlHttpsRequired": "ऑथेंटिकेशन URL में HTTPS होना चाहिए।",
|
||||
"tools.available": "Available tools",
|
||||
"tools.available": "उपलब्ध उपकरण",
|
||||
"slackSetup.placeholder.keepSecret": "कॉन्फ़िगर है; बनाए रखने के लिए खाली छोड़ें",
|
||||
|
||||
// Telegram setup + pairing
|
||||
@@ -1500,6 +1502,19 @@ registerPack("hi", {
|
||||
"telegramSetup.remove": "बॉट हटाएँ",
|
||||
"telegramSetup.removeConfirm": "Telegram बॉट हटाएँ? नया टोकन सहेजे जाने तक चैनल रुक जाएगा।",
|
||||
"telegramSetup.removeFailed": "Telegram बॉट हटाना विफल रहा।",
|
||||
"pairing.web.title": "{name} कनेक्ट करें",
|
||||
"pairing.web.instructions": "QR कोड स्कैन करें या लिंक खोलें, फिर इस खाते को पेयर करने के लिए कोड {name} बॉट को भेजें।",
|
||||
"pairing.web.instructionsNoLink": "इस खाते को पेयर करने के लिए नीचे दिया गया कोड {name} बॉट को भेजें।",
|
||||
"pairing.web.copyCode": "कोड कॉपी करें",
|
||||
"pairing.web.openIn": "{name} में खोलें",
|
||||
"pairing.web.qrAlt": "{name} पेयरिंग QR",
|
||||
"pairing.web.expiresIn": "{time} में समाप्त होगा",
|
||||
"pairing.web.expired": "यह पेयरिंग कोड समाप्त हो गया है।",
|
||||
"pairing.web.getNewCode": "नया कोड पाएँ",
|
||||
"pairing.web.paired": "{name} पेयर किया गया",
|
||||
"pairing.web.disconnect": "डिस्कनेक्ट करें",
|
||||
"pairing.web.disconnectFailed": "{name} को डिस्कनेक्ट नहीं किया जा सका।",
|
||||
"pairing.web.loadFailed": "{name} के लिए पेयरिंग कोड नहीं मिल सका।",
|
||||
"telegramPairing.title": "Telegram कनेक्ट करें",
|
||||
"telegramPairing.instructions": "QR कोड स्कैन करें या लिंक खोलें, फिर इस खाते को पेयर करने के लिए Telegram में Start दबाएँ।",
|
||||
"telegramPairing.copyCode": "कोड कॉपी करें",
|
||||
|
||||
@@ -223,7 +223,7 @@ registerPack("ja", {
|
||||
// Extensions tabs
|
||||
"extensions.installed": "インストール済み",
|
||||
"extensions.channels": "チャネル",
|
||||
"extensions.tools": "Tools",
|
||||
"extensions.tools": "ツール",
|
||||
"extensions.registry": "レジストリ",
|
||||
|
||||
// Settings tabs
|
||||
@@ -1238,7 +1238,7 @@ registerPack("ja", {
|
||||
"extensions.reconfigure": "再設定",
|
||||
"extensions.configureName": "{name} を設定します",
|
||||
"extensions.allInstalled": "インストール済み",
|
||||
"tools.installed": "Installed tools",
|
||||
"tools.installed": "インストール済みのツール",
|
||||
"extensions.scope.shared": "共有",
|
||||
"extensions.scope.private": "自分のもの",
|
||||
"mcp.installed": "インストール済みの MCP サーバー",
|
||||
@@ -1254,49 +1254,49 @@ registerPack("ja", {
|
||||
"extensions.installedSuccess": "{name} をインストールしました",
|
||||
"extensions.removedSuccess": "{name} を削除しました",
|
||||
"extensions.installFailed": "インストールに失敗しました",
|
||||
"extensions.addCustomMcp": "Add MCP server",
|
||||
"extensions.customMcpPhase.connection": "Connection · Step 1 of 3",
|
||||
"extensions.customMcpPhase.authentication": "Review · Step 2 of 3",
|
||||
"extensions.customMcpPhase.review": "Step 2 of 3",
|
||||
"extensions.customMcpPhase.result": "Result · Step 3 of 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Connection",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Review",
|
||||
"extensions.customMcpPhase.reviewLabel": "Review",
|
||||
"extensions.customMcpPhase.resultLabel": "Result",
|
||||
"extensions.customMcpProgress": "Add an MCP server in three steps",
|
||||
"extensions.customMcpName": "Server name",
|
||||
"extensions.customMcpNameHint": "Use a name you will recognize in Extensions.",
|
||||
"extensions.customMcpId": "Server ID",
|
||||
"extensions.addCustomMcp": "MCPサーバーを追加",
|
||||
"extensions.customMcpPhase.connection": "3ステップ中1",
|
||||
"extensions.customMcpPhase.authentication": "3ステップ中2",
|
||||
"extensions.customMcpPhase.review": "3ステップ中2",
|
||||
"extensions.customMcpPhase.result": "3ステップ中3",
|
||||
"extensions.customMcpPhase.connectionLabel": "接続",
|
||||
"extensions.customMcpPhase.authenticationLabel": "確認",
|
||||
"extensions.customMcpPhase.reviewLabel": "確認",
|
||||
"extensions.customMcpPhase.resultLabel": "結果",
|
||||
"extensions.customMcpProgress": "3つのステップでMCPサーバーを追加",
|
||||
"extensions.customMcpName": "サーバー名",
|
||||
"extensions.customMcpNameHint": "拡張機能で識別しやすい名前を使用してください。",
|
||||
"extensions.customMcpId": "サーバーID",
|
||||
"extensions.customMcpIdGenerated": "ID: {id}",
|
||||
"extensions.customMcpIdHint": "A unique ID: lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpAdvanced": "Advanced options",
|
||||
"extensions.customMcpRecommended": "Recommended",
|
||||
"extensions.customMcpEndpoint": "Server address",
|
||||
"extensions.customMcpRequired": "Name, ID, and endpoint are required.",
|
||||
"extensions.customMcpHttpsOnly": "The endpoint must use HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Enter a server name.",
|
||||
"extensions.customMcpNameTooLong": "Server name must be 256 characters or fewer.",
|
||||
"extensions.customMcpNameControls": "Server name cannot contain control characters.",
|
||||
"extensions.customMcpIdRequired": "Enter a server ID.",
|
||||
"extensions.customMcpIdInvalid": "Server ID must use lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpEndpointRequired": "Enter a server address.",
|
||||
"extensions.customMcpEndpointHttps": "Enter a public HTTPS URL without credentials, fragments, localhost, or an IP address.",
|
||||
"extensions.customMcpAuthHint": "Choose how this server authenticates. Credentials are configured only after registration.",
|
||||
"extensions.customMcpReviewHint": "Add it now, then install it from Extensions. Connect an account or add a token if needed.",
|
||||
"extensions.customMcpAuth.no_auth": "No authentication",
|
||||
"extensions.customMcpAuth.bearer": "Bearer token",
|
||||
"extensions.customMcpIdHint": "小文字、数字、アンダースコア、ハイフン、ピリオドを使用し、文字または数字で始まる一意のID(最大128文字)。",
|
||||
"extensions.customMcpAdvanced": "詳細オプション",
|
||||
"extensions.customMcpRecommended": "推奨",
|
||||
"extensions.customMcpEndpoint": "サーバーアドレス",
|
||||
"extensions.customMcpRequired": "名前、ID、エンドポイントは必須です。",
|
||||
"extensions.customMcpHttpsOnly": "エンドポイントにはHTTPSを使用する必要があります。",
|
||||
"extensions.customMcpNameRequired": "サーバー名を入力してください。",
|
||||
"extensions.customMcpNameTooLong": "サーバー名は256文字以内にしてください。",
|
||||
"extensions.customMcpNameControls": "サーバー名に制御文字は使用できません。",
|
||||
"extensions.customMcpIdRequired": "サーバーIDを入力してください。",
|
||||
"extensions.customMcpIdInvalid": "サーバーIDには小文字、数字、アンダースコア、ハイフン、ピリオドを使用し、文字または数字で始めてください(最大128文字)。",
|
||||
"extensions.customMcpEndpointRequired": "サーバーアドレスを入力してください。",
|
||||
"extensions.customMcpEndpointHttps": "認証情報、フラグメント、localhost、IPアドレスを含まない公開HTTPS URLを入力してください。",
|
||||
"extensions.customMcpAuthHint": "IronClawはまず認証情報なしで接続し、OAuthまたはBearerトークンが必要かどうかを検出します。詳細オプションで変更できます。",
|
||||
"extensions.customMcpReviewHint": "今すぐ追加し、拡張機能からインストールしてください。必要に応じてアカウントを接続するか、トークンを追加してください。",
|
||||
"extensions.customMcpAuth.no_auth": "認証なし",
|
||||
"extensions.customMcpAuth.bearer": "Bearerトークン",
|
||||
"extensions.customMcpAuth.oauth": "OAuth",
|
||||
"extensions.customMcpAuth.auto": "Automatic detection",
|
||||
"extensions.customMcpRegister": "Add server",
|
||||
"extensions.customMcpRegistered": "{name} added",
|
||||
"extensions.customMcpRegisterFailed": "Could not add this server. Try again.",
|
||||
"extensions.customMcpSetupRequired": "Registration complete — setup required",
|
||||
"extensions.customMcpSetupRequiredHint": "Credentials can be added later from this extension's Setup action in the Extensions list.",
|
||||
"extensions.customMcpReady": "Server added",
|
||||
"extensions.customMcpReadyHint": "Find it in Extensions. Install it before using it. If it asks for access, connect an account or add a token.",
|
||||
"extensions.customMcpFinishLater": "Finish later",
|
||||
"extensions.customMcpContinueSetup": "Continue setup",
|
||||
"extensions.customMcpProjectionMissing": "The server was added, but it is not showing in Extensions yet. Try again.",
|
||||
"extensions.customMcpAuth.auto": "自動検出",
|
||||
"extensions.customMcpRegister": "サーバーを追加",
|
||||
"extensions.customMcpRegistered": "{name}を追加しました",
|
||||
"extensions.customMcpRegisterFailed": "このサーバーを追加できませんでした。もう一度お試しください。",
|
||||
"extensions.customMcpSetupRequired": "サーバーを追加しました — セットアップを完了してください",
|
||||
"extensions.customMcpSetupRequiredHint": "拡張機能で確認し、必要に応じてアカウントを接続するかトークンを追加してください。",
|
||||
"extensions.customMcpReady": "サーバーを追加しました",
|
||||
"extensions.customMcpReadyHint": "拡張機能で確認してインストールし、必要に応じてアカウントを接続するかトークンを追加してください。",
|
||||
"extensions.customMcpFinishLater": "後で完了する",
|
||||
"extensions.customMcpContinueSetup": "セットアップを続ける",
|
||||
"extensions.customMcpProjectionMissing": "サーバーは追加されましたが、まだ拡張機能に表示されていません。もう一度お試しください。",
|
||||
"extensions.removeFailed": "削除に失敗しました",
|
||||
"extensions.openingAuth": "認証を開いています...",
|
||||
"extensions.configurationRequired": "設定が必要です",
|
||||
@@ -1344,8 +1344,8 @@ registerPack("ja", {
|
||||
"extensions.reconnect": "再接続",
|
||||
"extensions.emptyInstalledTitle": "拡張機能がインストールされていません",
|
||||
"extensions.emptyInstalledDesc": "レジストリタブを参照して、WASMツール、チャネル、およびMCPサーバーをインストールしてください。",
|
||||
"extensions.emptyToolsTitle": "No tool extensions yet",
|
||||
"extensions.emptyToolsDesc": "Install an extension with tool capabilities from the registry to see it here.",
|
||||
"extensions.emptyToolsTitle": "ツール拡張機能はまだありません",
|
||||
"extensions.emptyToolsDesc": "レジストリからツール機能を持つ拡張機能をインストールすると、ここに表示されます。",
|
||||
"common.dismiss": "閉じる",
|
||||
"common.pin": "ピン留め",
|
||||
"common.unpin": "ピン留め解除",
|
||||
@@ -1454,6 +1454,8 @@ registerPack("ja", {
|
||||
"chat.generatedImageUnavailable": "履歴ペイロードに生成画像がありません",
|
||||
"chat.messageAttachmentAlt": "メッセージ添付ファイル",
|
||||
"chat.copyMessage": "メッセージをコピー",
|
||||
"chat.downloadRunArtifact": "この実行をダウンロード",
|
||||
"chat.downloadThreadArtifact": "スレッド全体をダウンロード",
|
||||
"chat.retryMessage": "メッセージを再試行",
|
||||
"chat.history.loadFailed": "会話履歴を読み込めませんでした。",
|
||||
"chat.failure.connectionLost": "サーバーとの接続が切れました。再接続してもう一度お試しください。",
|
||||
@@ -1480,7 +1482,7 @@ registerPack("ja", {
|
||||
"pairing.connectFromExtensions": "続行するには、拡張機能ページで {name} に接続してください。",
|
||||
"pairing.connectFailedRetry": "接続に失敗しました。もう一度お試しください。",
|
||||
"extensions.authUrlHttpsRequired": "認証 URL には HTTPS が必要です。",
|
||||
"tools.available": "Available tools",
|
||||
"tools.available": "利用可能なツール",
|
||||
"slackSetup.placeholder.keepSecret": "設定済み。保持する場合は空欄",
|
||||
|
||||
// Telegram setup + pairing
|
||||
@@ -1500,6 +1502,19 @@ registerPack("ja", {
|
||||
"telegramSetup.remove": "ボットを削除",
|
||||
"telegramSetup.removeConfirm": "Telegramボットを削除しますか?新しいトークンを保存するまでチャネルは停止します。",
|
||||
"telegramSetup.removeFailed": "Telegramボットの削除に失敗しました。",
|
||||
"pairing.web.title": "{name}に接続",
|
||||
"pairing.web.instructions": "QRコードをスキャンするかリンクを開き、コードを{name}ボットに送信してこのアカウントをペアリングしてください。",
|
||||
"pairing.web.instructionsNoLink": "以下のコードを{name}ボットに送信して、このアカウントをペアリングしてください。",
|
||||
"pairing.web.copyCode": "コードをコピー",
|
||||
"pairing.web.openIn": "{name}で開く",
|
||||
"pairing.web.qrAlt": "{name}ペアリング用QRコード",
|
||||
"pairing.web.expiresIn": "有効期限まで{time}",
|
||||
"pairing.web.expired": "このペアリングコードは期限切れです。",
|
||||
"pairing.web.getNewCode": "新しいコードを取得",
|
||||
"pairing.web.paired": "{name}をペアリングしました",
|
||||
"pairing.web.disconnect": "接続を解除",
|
||||
"pairing.web.disconnectFailed": "{name}の接続解除に失敗しました。",
|
||||
"pairing.web.loadFailed": "{name}のペアリングコードを取得できませんでした。",
|
||||
"telegramPairing.title": "Telegramを接続",
|
||||
"telegramPairing.instructions": "QRコードをスキャンするかリンクを開き、Telegramで「開始」を押してこのアカウントをペアリングしてください。",
|
||||
"telegramPairing.copyCode": "コードをコピー",
|
||||
|
||||
@@ -223,7 +223,7 @@ registerPack("ko", {
|
||||
// Extensions tabs
|
||||
"extensions.installed": "설치됨",
|
||||
"extensions.channels": "채널",
|
||||
"extensions.tools": "Tools",
|
||||
"extensions.tools": "도구",
|
||||
"extensions.registry": "레지스트리",
|
||||
|
||||
// Settings tabs
|
||||
@@ -1238,7 +1238,7 @@ registerPack("ko", {
|
||||
"extensions.reconfigure": "재구성",
|
||||
"extensions.configureName": "{name} 구성",
|
||||
"extensions.allInstalled": "설치된 모든 확장 프로그램",
|
||||
"tools.installed": "Installed tools",
|
||||
"tools.installed": "설치된 도구",
|
||||
"extensions.scope.shared": "공유",
|
||||
"extensions.scope.private": "내 것",
|
||||
"mcp.installed": "설치된 MCP 서버",
|
||||
@@ -1254,49 +1254,49 @@ registerPack("ko", {
|
||||
"extensions.installedSuccess": "{name} 설치됨",
|
||||
"extensions.removedSuccess": "{name} 제거됨",
|
||||
"extensions.installFailed": "설치 실패",
|
||||
"extensions.addCustomMcp": "Add MCP server",
|
||||
"extensions.customMcpPhase.connection": "Connection · Step 1 of 3",
|
||||
"extensions.customMcpPhase.authentication": "Review · Step 2 of 3",
|
||||
"extensions.customMcpPhase.review": "Step 2 of 3",
|
||||
"extensions.customMcpPhase.result": "Result · Step 3 of 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Connection",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Review",
|
||||
"extensions.customMcpPhase.reviewLabel": "Review",
|
||||
"extensions.customMcpPhase.resultLabel": "Result",
|
||||
"extensions.customMcpProgress": "Add an MCP server in three steps",
|
||||
"extensions.customMcpName": "Server name",
|
||||
"extensions.customMcpNameHint": "Use a name you will recognize in Extensions.",
|
||||
"extensions.customMcpId": "Server ID",
|
||||
"extensions.addCustomMcp": "MCP 서버 추가",
|
||||
"extensions.customMcpPhase.connection": "3단계 중 1단계",
|
||||
"extensions.customMcpPhase.authentication": "3단계 중 2단계",
|
||||
"extensions.customMcpPhase.review": "3단계 중 2단계",
|
||||
"extensions.customMcpPhase.result": "3단계 중 3단계",
|
||||
"extensions.customMcpPhase.connectionLabel": "연결",
|
||||
"extensions.customMcpPhase.authenticationLabel": "검토",
|
||||
"extensions.customMcpPhase.reviewLabel": "검토",
|
||||
"extensions.customMcpPhase.resultLabel": "결과",
|
||||
"extensions.customMcpProgress": "세 단계로 MCP 서버 추가",
|
||||
"extensions.customMcpName": "서버 이름",
|
||||
"extensions.customMcpNameHint": "확장 프로그램에서 알아보기 쉬운 이름을 사용하세요.",
|
||||
"extensions.customMcpId": "서버 ID",
|
||||
"extensions.customMcpIdGenerated": "ID: {id}",
|
||||
"extensions.customMcpIdHint": "A unique ID: lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpAdvanced": "Advanced options",
|
||||
"extensions.customMcpRecommended": "Recommended",
|
||||
"extensions.customMcpEndpoint": "Server address",
|
||||
"extensions.customMcpRequired": "Name, ID, and endpoint are required.",
|
||||
"extensions.customMcpHttpsOnly": "The endpoint must use HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Enter a server name.",
|
||||
"extensions.customMcpNameTooLong": "Server name must be 256 characters or fewer.",
|
||||
"extensions.customMcpNameControls": "Server name cannot contain control characters.",
|
||||
"extensions.customMcpIdRequired": "Enter a server ID.",
|
||||
"extensions.customMcpIdInvalid": "Server ID must use lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpEndpointRequired": "Enter a server address.",
|
||||
"extensions.customMcpEndpointHttps": "Enter a public HTTPS URL without credentials, fragments, localhost, or an IP address.",
|
||||
"extensions.customMcpAuthHint": "Choose how this server authenticates. Credentials are configured only after registration.",
|
||||
"extensions.customMcpReviewHint": "Add it now, then install it from Extensions. Connect an account or add a token if needed.",
|
||||
"extensions.customMcpAuth.no_auth": "No authentication",
|
||||
"extensions.customMcpAuth.bearer": "Bearer token",
|
||||
"extensions.customMcpIdHint": "소문자, 숫자, 밑줄, 하이픈 또는 점을 사용하고 문자나 숫자로 시작하는 고유 ID입니다(최대 128자).",
|
||||
"extensions.customMcpAdvanced": "고급 옵션",
|
||||
"extensions.customMcpRecommended": "권장",
|
||||
"extensions.customMcpEndpoint": "서버 주소",
|
||||
"extensions.customMcpRequired": "이름, ID, 엔드포인트는 필수입니다.",
|
||||
"extensions.customMcpHttpsOnly": "엔드포인트는 HTTPS를 사용해야 합니다.",
|
||||
"extensions.customMcpNameRequired": "서버 이름을 입력하세요.",
|
||||
"extensions.customMcpNameTooLong": "서버 이름은 256자 이하여야 합니다.",
|
||||
"extensions.customMcpNameControls": "서버 이름에는 제어 문자를 사용할 수 없습니다.",
|
||||
"extensions.customMcpIdRequired": "서버 ID를 입력하세요.",
|
||||
"extensions.customMcpIdInvalid": "서버 ID는 소문자, 숫자, 밑줄, 하이픈 또는 점을 사용하고 문자나 숫자로 시작해야 하며 최대 128자여야 합니다.",
|
||||
"extensions.customMcpEndpointRequired": "서버 주소를 입력하세요.",
|
||||
"extensions.customMcpEndpointHttps": "자격 증명, 프래그먼트, localhost 또는 IP 주소가 없는 공개 HTTPS URL을 입력하세요.",
|
||||
"extensions.customMcpAuthHint": "IronClaw는 먼저 자격 증명 없이 연결하여 OAuth 또는 Bearer 토큰이 필요한지 감지합니다. 고급 옵션에서 변경할 수 있습니다.",
|
||||
"extensions.customMcpReviewHint": "지금 추가한 다음 확장 프로그램에서 설치하세요. 필요한 경우 계정을 연결하거나 토큰을 추가하세요.",
|
||||
"extensions.customMcpAuth.no_auth": "인증 없음",
|
||||
"extensions.customMcpAuth.bearer": "Bearer 토큰",
|
||||
"extensions.customMcpAuth.oauth": "OAuth",
|
||||
"extensions.customMcpAuth.auto": "Automatic detection",
|
||||
"extensions.customMcpRegister": "Add server",
|
||||
"extensions.customMcpRegistered": "{name} added",
|
||||
"extensions.customMcpRegisterFailed": "Could not add this server. Try again.",
|
||||
"extensions.customMcpSetupRequired": "Registration complete — setup required",
|
||||
"extensions.customMcpSetupRequiredHint": "Credentials can be added later from this extension's Setup action in the Extensions list.",
|
||||
"extensions.customMcpReady": "Server added",
|
||||
"extensions.customMcpReadyHint": "Find it in Extensions. Install it before using it. If it asks for access, connect an account or add a token.",
|
||||
"extensions.customMcpFinishLater": "Finish later",
|
||||
"extensions.customMcpContinueSetup": "Continue setup",
|
||||
"extensions.customMcpProjectionMissing": "The server was added, but it is not showing in Extensions yet. Try again.",
|
||||
"extensions.customMcpAuth.auto": "자동 감지",
|
||||
"extensions.customMcpRegister": "서버 추가",
|
||||
"extensions.customMcpRegistered": "{name} 추가됨",
|
||||
"extensions.customMcpRegisterFailed": "이 서버를 추가하지 못했습니다. 다시 시도하세요.",
|
||||
"extensions.customMcpSetupRequired": "서버 추가됨 — 설정을 완료하세요",
|
||||
"extensions.customMcpSetupRequiredHint": "확장 프로그램에서 찾은 다음 필요한 경우 계정을 연결하거나 토큰을 추가하세요.",
|
||||
"extensions.customMcpReady": "서버 추가됨",
|
||||
"extensions.customMcpReadyHint": "확장 프로그램에서 찾아 설치한 다음 필요한 경우 계정을 연결하거나 토큰을 추가하세요.",
|
||||
"extensions.customMcpFinishLater": "나중에 완료",
|
||||
"extensions.customMcpContinueSetup": "설정 계속",
|
||||
"extensions.customMcpProjectionMissing": "서버가 추가되었지만 아직 확장 프로그램에 표시되지 않습니다. 다시 시도하세요.",
|
||||
"extensions.removeFailed": "제거 실패",
|
||||
"extensions.openingAuth": "인증 여는 중...",
|
||||
"extensions.configurationRequired": "설정 필요",
|
||||
@@ -1344,8 +1344,8 @@ registerPack("ko", {
|
||||
"extensions.reconnect": "다시 연결",
|
||||
"extensions.emptyInstalledTitle": "설치된 확장 프로그램 없음",
|
||||
"extensions.emptyInstalledDesc": "WASM 도구, 채널 및 MCP 서버를 검색하고 설치하려면 레지스트리 탭을 탐색하세요.",
|
||||
"extensions.emptyToolsTitle": "No tool extensions yet",
|
||||
"extensions.emptyToolsDesc": "Install an extension with tool capabilities from the registry to see it here.",
|
||||
"extensions.emptyToolsTitle": "아직 도구 확장 프로그램이 없습니다",
|
||||
"extensions.emptyToolsDesc": "레지스트리에서 도구 기능이 있는 확장 프로그램을 설치하면 여기에 표시됩니다.",
|
||||
"common.dismiss": "닫기",
|
||||
"common.pin": "고정",
|
||||
"common.unpin": "고정 해제",
|
||||
@@ -1454,6 +1454,8 @@ registerPack("ko", {
|
||||
"chat.generatedImageUnavailable": "기록 페이로드에서 생성된 이미지를 사용할 수 없습니다",
|
||||
"chat.messageAttachmentAlt": "메시지 첨부 파일",
|
||||
"chat.copyMessage": "메시지 복사",
|
||||
"chat.downloadRunArtifact": "이 실행 다운로드",
|
||||
"chat.downloadThreadArtifact": "전체 스레드 다운로드",
|
||||
"chat.retryMessage": "메시지 다시 시도",
|
||||
"chat.history.loadFailed": "대화 기록을 불러오지 못했습니다.",
|
||||
"chat.failure.connectionLost": "서버 연결이 끊어졌습니다. 다시 연결한 후 재시도하세요.",
|
||||
@@ -1480,7 +1482,7 @@ registerPack("ko", {
|
||||
"pairing.connectFromExtensions": "계속하려면 확장 페이지에서 {name}을 연결하세요.",
|
||||
"pairing.connectFailedRetry": "연결에 실패했습니다. 다시 시도하세요.",
|
||||
"extensions.authUrlHttpsRequired": "인증 URL은 HTTPS를 사용해야 합니다.",
|
||||
"tools.available": "Available tools",
|
||||
"tools.available": "사용 가능한 도구",
|
||||
"slackSetup.placeholder.keepSecret": "구성됨; 유지하려면 비워두세요",
|
||||
|
||||
// Telegram setup + pairing
|
||||
@@ -1500,6 +1502,19 @@ registerPack("ko", {
|
||||
"telegramSetup.remove": "봇 제거",
|
||||
"telegramSetup.removeConfirm": "Telegram 봇을 제거할까요? 새 토큰을 저장할 때까지 채널이 중지됩니다.",
|
||||
"telegramSetup.removeFailed": "Telegram 봇 제거에 실패했습니다.",
|
||||
"pairing.web.title": "{name} 연결",
|
||||
"pairing.web.instructions": "QR 코드를 스캔하거나 링크를 연 다음 {name} 봇에 코드를 보내 이 계정을 페어링하세요.",
|
||||
"pairing.web.instructionsNoLink": "아래 코드를 {name} 봇에 보내 이 계정을 페어링하세요.",
|
||||
"pairing.web.copyCode": "코드 복사",
|
||||
"pairing.web.openIn": "{name}에서 열기",
|
||||
"pairing.web.qrAlt": "{name} 페어링 QR 코드",
|
||||
"pairing.web.expiresIn": "{time} 후 만료",
|
||||
"pairing.web.expired": "이 페어링 코드는 만료되었습니다.",
|
||||
"pairing.web.getNewCode": "새 코드 받기",
|
||||
"pairing.web.paired": "{name} 페어링됨",
|
||||
"pairing.web.disconnect": "연결 해제",
|
||||
"pairing.web.disconnectFailed": "{name} 연결을 해제하지 못했습니다.",
|
||||
"pairing.web.loadFailed": "{name} 페어링 코드를 가져오지 못했습니다.",
|
||||
"telegramPairing.title": "Telegram 연결",
|
||||
"telegramPairing.instructions": "QR 코드를 스캔하거나 링크를 연 뒤 Telegram에서 시작을 눌러 이 계정을 페어링하세요.",
|
||||
"telegramPairing.copyCode": "코드 복사",
|
||||
|
||||
@@ -223,7 +223,7 @@ registerPack("pt-BR", {
|
||||
// Extensions tabs
|
||||
"extensions.installed": "Instaladas",
|
||||
"extensions.channels": "Canais",
|
||||
"extensions.tools": "Tools",
|
||||
"extensions.tools": "Ferramentas",
|
||||
"extensions.registry": "Registro",
|
||||
|
||||
// Settings tabs
|
||||
@@ -1238,7 +1238,7 @@ registerPack("pt-BR", {
|
||||
"extensions.reconfigure": "Reconfigurar",
|
||||
"extensions.configureName": "Configurar {name}",
|
||||
"extensions.allInstalled": "Todas as extensões instaladas",
|
||||
"tools.installed": "Installed tools",
|
||||
"tools.installed": "Ferramentas instaladas",
|
||||
"extensions.scope.shared": "compartilhadas",
|
||||
"extensions.scope.private": "minhas",
|
||||
"mcp.installed": "Servidores MCP instalados",
|
||||
@@ -1254,49 +1254,49 @@ registerPack("pt-BR", {
|
||||
"extensions.installedSuccess": "{name} foi instalada",
|
||||
"extensions.removedSuccess": "{name} foi removida",
|
||||
"extensions.installFailed": "Falha na instalação",
|
||||
"extensions.addCustomMcp": "Add MCP server",
|
||||
"extensions.customMcpPhase.connection": "Connection · Step 1 of 3",
|
||||
"extensions.customMcpPhase.authentication": "Review · Step 2 of 3",
|
||||
"extensions.customMcpPhase.review": "Step 2 of 3",
|
||||
"extensions.customMcpPhase.result": "Result · Step 3 of 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Connection",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Review",
|
||||
"extensions.customMcpPhase.reviewLabel": "Review",
|
||||
"extensions.customMcpPhase.resultLabel": "Result",
|
||||
"extensions.customMcpProgress": "Add an MCP server in three steps",
|
||||
"extensions.customMcpName": "Server name",
|
||||
"extensions.customMcpNameHint": "Use a name you will recognize in Extensions.",
|
||||
"extensions.customMcpId": "Server ID",
|
||||
"extensions.addCustomMcp": "Adicionar servidor MCP",
|
||||
"extensions.customMcpPhase.connection": "Etapa 1 de 3",
|
||||
"extensions.customMcpPhase.authentication": "Etapa 2 de 3",
|
||||
"extensions.customMcpPhase.review": "Etapa 2 de 3",
|
||||
"extensions.customMcpPhase.result": "Etapa 3 de 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Conexão",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Revisão",
|
||||
"extensions.customMcpPhase.reviewLabel": "Revisão",
|
||||
"extensions.customMcpPhase.resultLabel": "Resultado",
|
||||
"extensions.customMcpProgress": "Adicione um servidor MCP em três etapas",
|
||||
"extensions.customMcpName": "Nome do servidor",
|
||||
"extensions.customMcpNameHint": "Use um nome que você reconheça em Extensões.",
|
||||
"extensions.customMcpId": "ID do servidor",
|
||||
"extensions.customMcpIdGenerated": "ID: {id}",
|
||||
"extensions.customMcpIdHint": "A unique ID: lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpAdvanced": "Advanced options",
|
||||
"extensions.customMcpRecommended": "Recommended",
|
||||
"extensions.customMcpEndpoint": "Server address",
|
||||
"extensions.customMcpRequired": "Name, ID, and endpoint are required.",
|
||||
"extensions.customMcpHttpsOnly": "The endpoint must use HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Enter a server name.",
|
||||
"extensions.customMcpNameTooLong": "Server name must be 256 characters or fewer.",
|
||||
"extensions.customMcpNameControls": "Server name cannot contain control characters.",
|
||||
"extensions.customMcpIdRequired": "Enter a server ID.",
|
||||
"extensions.customMcpIdInvalid": "Server ID must use lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpEndpointRequired": "Enter a server address.",
|
||||
"extensions.customMcpEndpointHttps": "Enter a public HTTPS URL without credentials, fragments, localhost, or an IP address.",
|
||||
"extensions.customMcpAuthHint": "Choose how this server authenticates. Credentials are configured only after registration.",
|
||||
"extensions.customMcpReviewHint": "Add it now, then install it from Extensions. Connect an account or add a token if needed.",
|
||||
"extensions.customMcpAuth.no_auth": "No authentication",
|
||||
"extensions.customMcpAuth.bearer": "Bearer token",
|
||||
"extensions.customMcpIdHint": "Um ID exclusivo com letras minúsculas, números, sublinhados, hífens ou pontos, começando com uma letra ou número (máximo de 128 caracteres).",
|
||||
"extensions.customMcpAdvanced": "Opções avançadas",
|
||||
"extensions.customMcpRecommended": "Recomendado",
|
||||
"extensions.customMcpEndpoint": "Endereço do servidor",
|
||||
"extensions.customMcpRequired": "Nome, ID e endpoint são obrigatórios.",
|
||||
"extensions.customMcpHttpsOnly": "O endpoint deve usar HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Digite um nome de servidor.",
|
||||
"extensions.customMcpNameTooLong": "O nome do servidor deve ter no máximo 256 caracteres.",
|
||||
"extensions.customMcpNameControls": "O nome do servidor não pode conter caracteres de controle.",
|
||||
"extensions.customMcpIdRequired": "Digite um ID de servidor.",
|
||||
"extensions.customMcpIdInvalid": "O ID do servidor deve usar letras minúsculas, números, sublinhados, hífens ou pontos, começar com uma letra ou número e ter no máximo 128 caracteres.",
|
||||
"extensions.customMcpEndpointRequired": "Digite um endereço de servidor.",
|
||||
"extensions.customMcpEndpointHttps": "Digite uma URL HTTPS pública sem credenciais, fragmentos, localhost ou endereço IP.",
|
||||
"extensions.customMcpAuthHint": "O IronClaw se conecta primeiro sem credenciais para detectar se OAuth ou um token Bearer é necessário. Altere essa opção em Opções avançadas.",
|
||||
"extensions.customMcpReviewHint": "Adicione-o agora e depois instale-o em Extensões. Conecte uma conta ou adicione um token, se necessário.",
|
||||
"extensions.customMcpAuth.no_auth": "Sem autenticação",
|
||||
"extensions.customMcpAuth.bearer": "Token Bearer",
|
||||
"extensions.customMcpAuth.oauth": "OAuth",
|
||||
"extensions.customMcpAuth.auto": "Automatic detection",
|
||||
"extensions.customMcpRegister": "Add server",
|
||||
"extensions.customMcpRegistered": "{name} added",
|
||||
"extensions.customMcpRegisterFailed": "Could not add this server. Try again.",
|
||||
"extensions.customMcpSetupRequired": "Registration complete — setup required",
|
||||
"extensions.customMcpSetupRequiredHint": "Credentials can be added later from this extension's Setup action in the Extensions list.",
|
||||
"extensions.customMcpReady": "Server added",
|
||||
"extensions.customMcpReadyHint": "Find it in Extensions. Install it before using it. If it asks for access, connect an account or add a token.",
|
||||
"extensions.customMcpFinishLater": "Finish later",
|
||||
"extensions.customMcpContinueSetup": "Continue setup",
|
||||
"extensions.customMcpProjectionMissing": "The server was added, but it is not showing in Extensions yet. Try again.",
|
||||
"extensions.customMcpAuth.auto": "Detecção automática",
|
||||
"extensions.customMcpRegister": "Adicionar servidor",
|
||||
"extensions.customMcpRegistered": "{name} adicionado",
|
||||
"extensions.customMcpRegisterFailed": "Não foi possível adicionar este servidor. Tente novamente.",
|
||||
"extensions.customMcpSetupRequired": "Servidor adicionado — conclua a configuração",
|
||||
"extensions.customMcpSetupRequiredHint": "Encontre-o em Extensões e depois conecte uma conta ou adicione um token, se necessário.",
|
||||
"extensions.customMcpReady": "Servidor adicionado",
|
||||
"extensions.customMcpReadyHint": "Encontre-o em Extensões, instale-o e depois conecte uma conta ou adicione um token, se necessário.",
|
||||
"extensions.customMcpFinishLater": "Concluir depois",
|
||||
"extensions.customMcpContinueSetup": "Continuar configuração",
|
||||
"extensions.customMcpProjectionMissing": "O servidor foi adicionado, mas ainda não aparece em Extensões. Tente novamente.",
|
||||
"extensions.removeFailed": "Falha ao remover",
|
||||
"extensions.openingAuth": "Abrindo autenticação...",
|
||||
"extensions.configurationRequired": "Configuração obrigatória",
|
||||
@@ -1344,8 +1344,8 @@ registerPack("pt-BR", {
|
||||
"extensions.reconnect": "Reconectar",
|
||||
"extensions.emptyInstalledTitle": "Nenhuma extensão instalada",
|
||||
"extensions.emptyInstalledDesc": "Navegue pela guia Registro para descobrir e instalar ferramentas WASM, canais e servidores MCP.",
|
||||
"extensions.emptyToolsTitle": "No tool extensions yet",
|
||||
"extensions.emptyToolsDesc": "Install an extension with tool capabilities from the registry to see it here.",
|
||||
"extensions.emptyToolsTitle": "Ainda não há extensões de ferramentas",
|
||||
"extensions.emptyToolsDesc": "Instale pelo registro uma extensão com recursos de ferramentas para vê-la aqui.",
|
||||
"common.dismiss": "Dispensar",
|
||||
"common.pin": "Fixar",
|
||||
"common.unpin": "Desafixar",
|
||||
@@ -1454,6 +1454,8 @@ registerPack("pt-BR", {
|
||||
"chat.generatedImageUnavailable": "Imagem gerada indisponível no histórico",
|
||||
"chat.messageAttachmentAlt": "Anexo da mensagem",
|
||||
"chat.copyMessage": "Copiar mensagem",
|
||||
"chat.downloadRunArtifact": "Baixar esta execução",
|
||||
"chat.downloadThreadArtifact": "Baixar a conversa completa",
|
||||
"chat.retryMessage": "Tentar mensagem novamente",
|
||||
"chat.history.loadFailed": "Falha ao carregar o histórico da conversa.",
|
||||
"chat.failure.connectionLost": "A conexão com o servidor foi perdida. Reconecte e tente novamente.",
|
||||
@@ -1480,7 +1482,7 @@ registerPack("pt-BR", {
|
||||
"pairing.connectFromExtensions": "Conecte {name} pela página Extensões para continuar.",
|
||||
"pairing.connectFailedRetry": "A conexão falhou. Tente novamente.",
|
||||
"extensions.authUrlHttpsRequired": "A URL de autenticação deve usar HTTPS.",
|
||||
"tools.available": "Available tools",
|
||||
"tools.available": "Ferramentas disponíveis",
|
||||
"slackSetup.placeholder.keepSecret": "Configurado; deixe em branco para manter",
|
||||
|
||||
// Telegram setup + pairing
|
||||
@@ -1500,6 +1502,19 @@ registerPack("pt-BR", {
|
||||
"telegramSetup.remove": "Remover bot",
|
||||
"telegramSetup.removeConfirm": "Remover o bot do Telegram? O canal para até um novo token ser salvo.",
|
||||
"telegramSetup.removeFailed": "Falha ao remover o bot do Telegram.",
|
||||
"pairing.web.title": "Conectar {name}",
|
||||
"pairing.web.instructions": "Escaneie o código QR ou abra o link e envie o código ao bot do {name} para vincular esta conta.",
|
||||
"pairing.web.instructionsNoLink": "Envie o código abaixo ao bot do {name} para vincular esta conta.",
|
||||
"pairing.web.copyCode": "Copiar código",
|
||||
"pairing.web.openIn": "Abrir no {name}",
|
||||
"pairing.web.qrAlt": "QR de vinculação do {name}",
|
||||
"pairing.web.expiresIn": "Expira em {time}",
|
||||
"pairing.web.expired": "Este código de vinculação expirou.",
|
||||
"pairing.web.getNewCode": "Obter novo código",
|
||||
"pairing.web.paired": "{name} vinculado",
|
||||
"pairing.web.disconnect": "Desconectar",
|
||||
"pairing.web.disconnectFailed": "Falha ao desconectar o {name}.",
|
||||
"pairing.web.loadFailed": "Não foi possível obter um código de vinculação para o {name}.",
|
||||
"telegramPairing.title": "Conectar Telegram",
|
||||
"telegramPairing.instructions": "Escaneie o código QR ou abra o link e toque em Iniciar no Telegram para parear esta conta.",
|
||||
"telegramPairing.copyCode": "Copiar código",
|
||||
|
||||
@@ -223,7 +223,7 @@ registerPack("uk", {
|
||||
// Extensions tabs
|
||||
"extensions.installed": "Встановлені",
|
||||
"extensions.channels": "Канали",
|
||||
"extensions.tools": "Tools",
|
||||
"extensions.tools": "Інструменти",
|
||||
"extensions.registry": "Реєстр",
|
||||
|
||||
// Settings tabs
|
||||
@@ -1238,7 +1238,7 @@ registerPack("uk", {
|
||||
"extensions.reconfigure": "Повторно налаштувати",
|
||||
"extensions.configureName": "Налаштувати {name}",
|
||||
"extensions.allInstalled": "Усі встановлені розширення",
|
||||
"tools.installed": "Installed tools",
|
||||
"tools.installed": "Встановлені інструменти",
|
||||
"extensions.scope.shared": "спільні",
|
||||
"extensions.scope.private": "мої",
|
||||
"mcp.installed": "Встановлені сервери MCP",
|
||||
@@ -1254,49 +1254,49 @@ registerPack("uk", {
|
||||
"extensions.installedSuccess": "{name} установлено",
|
||||
"extensions.removedSuccess": "{name} видалено",
|
||||
"extensions.installFailed": "Не вдалося встановити",
|
||||
"extensions.addCustomMcp": "Add MCP server",
|
||||
"extensions.customMcpPhase.connection": "Connection · Step 1 of 3",
|
||||
"extensions.customMcpPhase.authentication": "Review · Step 2 of 3",
|
||||
"extensions.customMcpPhase.review": "Step 2 of 3",
|
||||
"extensions.customMcpPhase.result": "Result · Step 3 of 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Connection",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Review",
|
||||
"extensions.customMcpPhase.reviewLabel": "Review",
|
||||
"extensions.customMcpPhase.resultLabel": "Result",
|
||||
"extensions.customMcpProgress": "Add an MCP server in three steps",
|
||||
"extensions.customMcpName": "Server name",
|
||||
"extensions.customMcpNameHint": "Use a name you will recognize in Extensions.",
|
||||
"extensions.customMcpId": "Server ID",
|
||||
"extensions.addCustomMcp": "Додати MCP-сервер",
|
||||
"extensions.customMcpPhase.connection": "Крок 1 із 3",
|
||||
"extensions.customMcpPhase.authentication": "Крок 2 із 3",
|
||||
"extensions.customMcpPhase.review": "Крок 2 із 3",
|
||||
"extensions.customMcpPhase.result": "Крок 3 із 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Підключення",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Перевірка",
|
||||
"extensions.customMcpPhase.reviewLabel": "Перевірка",
|
||||
"extensions.customMcpPhase.resultLabel": "Результат",
|
||||
"extensions.customMcpProgress": "Додайте MCP-сервер за три кроки",
|
||||
"extensions.customMcpName": "Назва сервера",
|
||||
"extensions.customMcpNameHint": "Використовуйте назву, яку легко впізнати в розділі «Розширення».",
|
||||
"extensions.customMcpId": "Ідентифікатор сервера",
|
||||
"extensions.customMcpIdGenerated": "ID: {id}",
|
||||
"extensions.customMcpIdHint": "A unique ID: lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpAdvanced": "Advanced options",
|
||||
"extensions.customMcpRecommended": "Recommended",
|
||||
"extensions.customMcpEndpoint": "Server address",
|
||||
"extensions.customMcpRequired": "Name, ID, and endpoint are required.",
|
||||
"extensions.customMcpHttpsOnly": "The endpoint must use HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Enter a server name.",
|
||||
"extensions.customMcpNameTooLong": "Server name must be 256 characters or fewer.",
|
||||
"extensions.customMcpNameControls": "Server name cannot contain control characters.",
|
||||
"extensions.customMcpIdRequired": "Enter a server ID.",
|
||||
"extensions.customMcpIdInvalid": "Server ID must use lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpEndpointRequired": "Enter a server address.",
|
||||
"extensions.customMcpEndpointHttps": "Enter a public HTTPS URL without credentials, fragments, localhost, or an IP address.",
|
||||
"extensions.customMcpAuthHint": "Choose how this server authenticates. Credentials are configured only after registration.",
|
||||
"extensions.customMcpReviewHint": "Add it now, then install it from Extensions. Connect an account or add a token if needed.",
|
||||
"extensions.customMcpAuth.no_auth": "No authentication",
|
||||
"extensions.customMcpAuth.bearer": "Bearer token",
|
||||
"extensions.customMcpIdHint": "Унікальний ідентифікатор із малих літер, цифр, підкреслень, дефісів або крапок, що починається з літери чи цифри (не більше 128 символів).",
|
||||
"extensions.customMcpAdvanced": "Розширені параметри",
|
||||
"extensions.customMcpRecommended": "Рекомендовано",
|
||||
"extensions.customMcpEndpoint": "Адреса сервера",
|
||||
"extensions.customMcpRequired": "Назва, ідентифікатор і кінцева точка є обов’язковими.",
|
||||
"extensions.customMcpHttpsOnly": "Кінцева точка має використовувати HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Введіть назву сервера.",
|
||||
"extensions.customMcpNameTooLong": "Назва сервера має містити не більше 256 символів.",
|
||||
"extensions.customMcpNameControls": "Назва сервера не може містити керівні символи.",
|
||||
"extensions.customMcpIdRequired": "Введіть ідентифікатор сервера.",
|
||||
"extensions.customMcpIdInvalid": "Ідентифікатор сервера має містити малі літери, цифри, підкреслення, дефіси або крапки, починатися з літери чи цифри й бути не довшим за 128 символів.",
|
||||
"extensions.customMcpEndpointRequired": "Введіть адресу сервера.",
|
||||
"extensions.customMcpEndpointHttps": "Введіть загальнодоступну HTTPS-URL без облікових даних, фрагментів, localhost або IP-адреси.",
|
||||
"extensions.customMcpAuthHint": "IronClaw спочатку підключається без облікових даних, щоб визначити потребу в OAuth або Bearer-токені. Це можна змінити в розширених параметрах.",
|
||||
"extensions.customMcpReviewHint": "Додайте його зараз, а потім установіть у розділі «Розширення». За потреби підключіть обліковий запис або додайте токен.",
|
||||
"extensions.customMcpAuth.no_auth": "Без автентифікації",
|
||||
"extensions.customMcpAuth.bearer": "Bearer-токен",
|
||||
"extensions.customMcpAuth.oauth": "OAuth",
|
||||
"extensions.customMcpAuth.auto": "Automatic detection",
|
||||
"extensions.customMcpRegister": "Add server",
|
||||
"extensions.customMcpRegistered": "{name} added",
|
||||
"extensions.customMcpRegisterFailed": "Could not add this server. Try again.",
|
||||
"extensions.customMcpSetupRequired": "Registration complete — setup required",
|
||||
"extensions.customMcpSetupRequiredHint": "Credentials can be added later from this extension's Setup action in the Extensions list.",
|
||||
"extensions.customMcpReady": "Server added",
|
||||
"extensions.customMcpReadyHint": "Find it in Extensions. Install it before using it. If it asks for access, connect an account or add a token.",
|
||||
"extensions.customMcpFinishLater": "Finish later",
|
||||
"extensions.customMcpContinueSetup": "Continue setup",
|
||||
"extensions.customMcpProjectionMissing": "The server was added, but it is not showing in Extensions yet. Try again.",
|
||||
"extensions.customMcpAuth.auto": "Автоматичне визначення",
|
||||
"extensions.customMcpRegister": "Додати сервер",
|
||||
"extensions.customMcpRegistered": "{name} додано",
|
||||
"extensions.customMcpRegisterFailed": "Не вдалося додати цей сервер. Спробуйте ще раз.",
|
||||
"extensions.customMcpSetupRequired": "Сервер додано — завершіть налаштування",
|
||||
"extensions.customMcpSetupRequiredHint": "Знайдіть його в розділі «Розширення», а потім за потреби підключіть обліковий запис або додайте токен.",
|
||||
"extensions.customMcpReady": "Сервер додано",
|
||||
"extensions.customMcpReadyHint": "Знайдіть його в розділі «Розширення», установіть, а потім за потреби підключіть обліковий запис або додайте токен.",
|
||||
"extensions.customMcpFinishLater": "Завершити пізніше",
|
||||
"extensions.customMcpContinueSetup": "Продовжити налаштування",
|
||||
"extensions.customMcpProjectionMissing": "Сервер додано, але він ще не відображається в розділі «Розширення». Спробуйте ще раз.",
|
||||
"extensions.removeFailed": "Не вдалося видалити",
|
||||
"extensions.openingAuth": "Відкриття автентифікації...",
|
||||
"extensions.configurationRequired": "Потрібна конфігурація",
|
||||
@@ -1344,8 +1344,8 @@ registerPack("uk", {
|
||||
"extensions.reconnect": "Перепідключити",
|
||||
"extensions.emptyInstalledTitle": "Розширень не встановлено",
|
||||
"extensions.emptyInstalledDesc": "Перегляньте вкладку Реєстр, щоб знайти та встановити інструменти, канали та сервери WASM.",
|
||||
"extensions.emptyToolsTitle": "No tool extensions yet",
|
||||
"extensions.emptyToolsDesc": "Install an extension with tool capabilities from the registry to see it here.",
|
||||
"extensions.emptyToolsTitle": "Розширень з інструментами ще немає",
|
||||
"extensions.emptyToolsDesc": "Установіть із реєстру розширення з можливостями інструментів, щоб воно з’явилося тут.",
|
||||
"common.dismiss": "Закрити",
|
||||
"common.pin": "Закріпити",
|
||||
"common.unpin": "Відкріпити",
|
||||
@@ -1454,6 +1454,8 @@ registerPack("uk", {
|
||||
"chat.generatedImageUnavailable": "Згенероване зображення недоступне в історії",
|
||||
"chat.messageAttachmentAlt": "Вкладення повідомлення",
|
||||
"chat.copyMessage": "Копіювати повідомлення",
|
||||
"chat.downloadRunArtifact": "Завантажити цей запуск",
|
||||
"chat.downloadThreadArtifact": "Завантажити всю гілку",
|
||||
"chat.retryMessage": "Повторити повідомлення",
|
||||
"chat.history.loadFailed": "Не вдалося завантажити історію розмови.",
|
||||
"chat.failure.connectionLost": "З’єднання із сервером втрачено. Підключіться знову та повторіть спробу.",
|
||||
@@ -1480,7 +1482,7 @@ registerPack("uk", {
|
||||
"pairing.connectFromExtensions": "Підключіть {name} на сторінці Розширення, щоб продовжити.",
|
||||
"pairing.connectFailedRetry": "Не вдалося підключитися. Спробуйте ще раз.",
|
||||
"extensions.authUrlHttpsRequired": "URL автентифікації має використовувати HTTPS.",
|
||||
"tools.available": "Available tools",
|
||||
"tools.available": "Доступні інструменти",
|
||||
"slackSetup.placeholder.keepSecret": "Налаштовано; залиште порожнім, щоб зберегти",
|
||||
|
||||
// Telegram setup + pairing
|
||||
@@ -1500,6 +1502,19 @@ registerPack("uk", {
|
||||
"telegramSetup.remove": "Видалити бота",
|
||||
"telegramSetup.removeConfirm": "Видалити бота Telegram? Канал зупиниться, доки не буде збережено новий токен.",
|
||||
"telegramSetup.removeFailed": "Не вдалося видалити бота Telegram.",
|
||||
"pairing.web.title": "Підключити {name}",
|
||||
"pairing.web.instructions": "Відскануйте QR-код або відкрийте посилання, а потім надішліть код боту {name}, щоб пов’язати цей обліковий запис.",
|
||||
"pairing.web.instructionsNoLink": "Надішліть наведений нижче код боту {name}, щоб пов’язати цей обліковий запис.",
|
||||
"pairing.web.copyCode": "Копіювати код",
|
||||
"pairing.web.openIn": "Відкрити в {name}",
|
||||
"pairing.web.qrAlt": "QR-код для підключення {name}",
|
||||
"pairing.web.expiresIn": "Термін дії спливає через {time}",
|
||||
"pairing.web.expired": "Термін дії цього коду підключення минув.",
|
||||
"pairing.web.getNewCode": "Отримати новий код",
|
||||
"pairing.web.paired": "{name} підключено",
|
||||
"pairing.web.disconnect": "Відключити",
|
||||
"pairing.web.disconnectFailed": "Не вдалося відключити {name}.",
|
||||
"pairing.web.loadFailed": "Не вдалося отримати код підключення для {name}.",
|
||||
"telegramPairing.title": "Підключити Telegram",
|
||||
"telegramPairing.instructions": "Проскануйте QR-код або відкрийте посилання, потім натисніть «Почати» в Telegram, щоб зв'язати цей обліковий запис.",
|
||||
"telegramPairing.copyCode": "Копіювати код",
|
||||
|
||||
@@ -223,7 +223,7 @@ registerPack("zh-CN", {
|
||||
// Extensions tabs
|
||||
"extensions.installed": "已安装",
|
||||
"extensions.channels": "渠道",
|
||||
"extensions.tools": "Tools",
|
||||
"extensions.tools": "工具",
|
||||
"extensions.registry": "注册表",
|
||||
|
||||
// Settings tabs
|
||||
@@ -1238,7 +1238,7 @@ registerPack("zh-CN", {
|
||||
"extensions.reconfigure": "重新配置",
|
||||
"extensions.configureName": "配置 {name}",
|
||||
"extensions.allInstalled": "所有已安装扩展",
|
||||
"tools.installed": "Installed tools",
|
||||
"tools.installed": "已安装的工具",
|
||||
"extensions.scope.shared": "共享",
|
||||
"extensions.scope.private": "我的",
|
||||
"mcp.installed": "已安装的 MCP 服务",
|
||||
@@ -1254,49 +1254,49 @@ registerPack("zh-CN", {
|
||||
"extensions.installedSuccess": "已安装 {name}",
|
||||
"extensions.removedSuccess": "已移除 {name}",
|
||||
"extensions.installFailed": "安装失败",
|
||||
"extensions.addCustomMcp": "Add MCP server",
|
||||
"extensions.customMcpPhase.connection": "Connection · Step 1 of 3",
|
||||
"extensions.customMcpPhase.authentication": "Review · Step 2 of 3",
|
||||
"extensions.customMcpPhase.review": "Step 2 of 3",
|
||||
"extensions.customMcpPhase.result": "Result · Step 3 of 3",
|
||||
"extensions.customMcpPhase.connectionLabel": "Connection",
|
||||
"extensions.customMcpPhase.authenticationLabel": "Review",
|
||||
"extensions.customMcpPhase.reviewLabel": "Review",
|
||||
"extensions.customMcpPhase.resultLabel": "Result",
|
||||
"extensions.customMcpProgress": "Add an MCP server in three steps",
|
||||
"extensions.customMcpName": "Server name",
|
||||
"extensions.customMcpNameHint": "Use a name you will recognize in Extensions.",
|
||||
"extensions.customMcpId": "Server ID",
|
||||
"extensions.addCustomMcp": "添加 MCP 服务器",
|
||||
"extensions.customMcpPhase.connection": "第 1 步,共 3 步",
|
||||
"extensions.customMcpPhase.authentication": "第 2 步,共 3 步",
|
||||
"extensions.customMcpPhase.review": "第 2 步,共 3 步",
|
||||
"extensions.customMcpPhase.result": "第 3 步,共 3 步",
|
||||
"extensions.customMcpPhase.connectionLabel": "连接",
|
||||
"extensions.customMcpPhase.authenticationLabel": "检查",
|
||||
"extensions.customMcpPhase.reviewLabel": "检查",
|
||||
"extensions.customMcpPhase.resultLabel": "结果",
|
||||
"extensions.customMcpProgress": "分三步添加 MCP 服务器",
|
||||
"extensions.customMcpName": "服务器名称",
|
||||
"extensions.customMcpNameHint": "使用一个便于在扩展中识别的名称。",
|
||||
"extensions.customMcpId": "服务器 ID",
|
||||
"extensions.customMcpIdGenerated": "ID: {id}",
|
||||
"extensions.customMcpIdHint": "A unique ID: lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpAdvanced": "Advanced options",
|
||||
"extensions.customMcpRecommended": "Recommended",
|
||||
"extensions.customMcpEndpoint": "Server address",
|
||||
"extensions.customMcpRequired": "Name, ID, and endpoint are required.",
|
||||
"extensions.customMcpHttpsOnly": "The endpoint must use HTTPS.",
|
||||
"extensions.customMcpNameRequired": "Enter a server name.",
|
||||
"extensions.customMcpNameTooLong": "Server name must be 256 characters or fewer.",
|
||||
"extensions.customMcpNameControls": "Server name cannot contain control characters.",
|
||||
"extensions.customMcpIdRequired": "Enter a server ID.",
|
||||
"extensions.customMcpIdInvalid": "Server ID must use lowercase letters, numbers, underscores, hyphens, or dots, starting with a letter or number (128 chars max).",
|
||||
"extensions.customMcpEndpointRequired": "Enter a server address.",
|
||||
"extensions.customMcpEndpointHttps": "Enter a public HTTPS URL without credentials, fragments, localhost, or an IP address.",
|
||||
"extensions.customMcpAuthHint": "Choose how this server authenticates. Credentials are configured only after registration.",
|
||||
"extensions.customMcpReviewHint": "Add it now, then install it from Extensions. Connect an account or add a token if needed.",
|
||||
"extensions.customMcpAuth.no_auth": "No authentication",
|
||||
"extensions.customMcpAuth.bearer": "Bearer token",
|
||||
"extensions.customMcpIdHint": "唯一 ID:使用小写字母、数字、下划线、连字符或点,并以字母或数字开头(最多 128 个字符)。",
|
||||
"extensions.customMcpAdvanced": "高级选项",
|
||||
"extensions.customMcpRecommended": "推荐",
|
||||
"extensions.customMcpEndpoint": "服务器地址",
|
||||
"extensions.customMcpRequired": "名称、ID 和端点均为必填项。",
|
||||
"extensions.customMcpHttpsOnly": "端点必须使用 HTTPS。",
|
||||
"extensions.customMcpNameRequired": "请输入服务器名称。",
|
||||
"extensions.customMcpNameTooLong": "服务器名称不能超过 256 个字符。",
|
||||
"extensions.customMcpNameControls": "服务器名称不能包含控制字符。",
|
||||
"extensions.customMcpIdRequired": "请输入服务器 ID。",
|
||||
"extensions.customMcpIdInvalid": "服务器 ID 必须使用小写字母、数字、下划线、连字符或点,并以字母或数字开头(最多 128 个字符)。",
|
||||
"extensions.customMcpEndpointRequired": "请输入服务器地址。",
|
||||
"extensions.customMcpEndpointHttps": "请输入不含凭据、片段、localhost 或 IP 地址的公共 HTTPS URL。",
|
||||
"extensions.customMcpAuthHint": "IronClaw 会先在不使用凭据的情况下连接,以检测是否需要 OAuth 或持有者令牌。可在高级选项中覆盖此设置。",
|
||||
"extensions.customMcpReviewHint": "立即添加,然后从扩展中安装。如有需要,请连接账户或添加令牌。",
|
||||
"extensions.customMcpAuth.no_auth": "无需身份验证",
|
||||
"extensions.customMcpAuth.bearer": "持有者令牌",
|
||||
"extensions.customMcpAuth.oauth": "OAuth",
|
||||
"extensions.customMcpAuth.auto": "Automatic detection",
|
||||
"extensions.customMcpRegister": "Add server",
|
||||
"extensions.customMcpRegistered": "{name} added",
|
||||
"extensions.customMcpRegisterFailed": "Could not add this server. Try again.",
|
||||
"extensions.customMcpSetupRequired": "Registration complete — setup required",
|
||||
"extensions.customMcpSetupRequiredHint": "Credentials can be added later from this extension's Setup action in the Extensions list.",
|
||||
"extensions.customMcpReady": "Server added",
|
||||
"extensions.customMcpReadyHint": "Find it in Extensions. Install it before using it. If it asks for access, connect an account or add a token.",
|
||||
"extensions.customMcpFinishLater": "Finish later",
|
||||
"extensions.customMcpContinueSetup": "Continue setup",
|
||||
"extensions.customMcpProjectionMissing": "The server was added, but it is not showing in Extensions yet. Try again.",
|
||||
"extensions.customMcpAuth.auto": "自动检测",
|
||||
"extensions.customMcpRegister": "添加服务器",
|
||||
"extensions.customMcpRegistered": "已添加 {name}",
|
||||
"extensions.customMcpRegisterFailed": "无法添加此服务器,请重试。",
|
||||
"extensions.customMcpSetupRequired": "服务器已添加 — 完成设置",
|
||||
"extensions.customMcpSetupRequiredHint": "可在扩展中找到它,然后根据需要连接账户或添加令牌。",
|
||||
"extensions.customMcpReady": "服务器已添加",
|
||||
"extensions.customMcpReadyHint": "可在扩展中找到并安装它,然后根据需要连接账户或添加令牌。",
|
||||
"extensions.customMcpFinishLater": "稍后完成",
|
||||
"extensions.customMcpContinueSetup": "继续设置",
|
||||
"extensions.customMcpProjectionMissing": "服务器已添加,但尚未显示在扩展中,请重试。",
|
||||
"extensions.removeFailed": "移除失败",
|
||||
"extensions.openingAuth": "正在打开认证...",
|
||||
"extensions.configurationRequired": "需要配置",
|
||||
@@ -1344,8 +1344,8 @@ registerPack("zh-CN", {
|
||||
"extensions.reconnect": "重新连接",
|
||||
"extensions.emptyInstalledTitle": "还未安装任何扩展",
|
||||
"extensions.emptyInstalledDesc": "浏览扩展注册表去发现并安装 WASM 工具、服务通道 和各种 MCP 协议服务服务器。",
|
||||
"extensions.emptyToolsTitle": "No tool extensions yet",
|
||||
"extensions.emptyToolsDesc": "Install an extension with tool capabilities from the registry to see it here.",
|
||||
"extensions.emptyToolsTitle": "尚无工具扩展",
|
||||
"extensions.emptyToolsDesc": "从注册表安装具有工具能力的扩展后,它将显示在此处。",
|
||||
"common.dismiss": "关闭",
|
||||
"common.pin": "置顶",
|
||||
"common.unpin": "取消置顶",
|
||||
@@ -1453,6 +1453,8 @@ registerPack("zh-CN", {
|
||||
"chat.generatedImageUnavailable": "历史载荷中没有可用的生成图片",
|
||||
"chat.messageAttachmentAlt": "消息附件",
|
||||
"chat.copyMessage": "复制消息",
|
||||
"chat.downloadRunArtifact": "下载本次运行",
|
||||
"chat.downloadThreadArtifact": "下载完整对话",
|
||||
"chat.retryMessage": "重试消息",
|
||||
"chat.history.loadFailed": "加载会话历史失败。",
|
||||
"chat.failure.connectionLost": "与服务器的连接已断开。请重新连接后重试。",
|
||||
@@ -1479,7 +1481,7 @@ registerPack("zh-CN", {
|
||||
"pairing.connectFromExtensions": "请从扩展页面连接 {name} 后继续。",
|
||||
"pairing.connectFailedRetry": "连接失败。请重试。",
|
||||
"extensions.authUrlHttpsRequired": "认证 URL 必须使用 HTTPS。",
|
||||
"tools.available": "Available tools",
|
||||
"tools.available": "可用工具",
|
||||
"slackSetup.placeholder.keepSecret": "已配置;留空则保留",
|
||||
|
||||
// Telegram setup + pairing
|
||||
@@ -1499,6 +1501,19 @@ registerPack("zh-CN", {
|
||||
"telegramSetup.remove": "移除机器人",
|
||||
"telegramSetup.removeConfirm": "移除 Telegram 机器人?在保存新令牌之前该频道将停止工作。",
|
||||
"telegramSetup.removeFailed": "移除 Telegram 机器人失败。",
|
||||
"pairing.web.title": "连接 {name}",
|
||||
"pairing.web.instructions": "扫描二维码或打开链接,然后将代码发送给 {name} 机器人以配对此账户。",
|
||||
"pairing.web.instructionsNoLink": "将下面的代码发送给 {name} 机器人以配对此账户。",
|
||||
"pairing.web.copyCode": "复制代码",
|
||||
"pairing.web.openIn": "在 {name} 中打开",
|
||||
"pairing.web.qrAlt": "{name} 配对二维码",
|
||||
"pairing.web.expiresIn": "{time} 后过期",
|
||||
"pairing.web.expired": "此配对代码已过期。",
|
||||
"pairing.web.getNewCode": "获取新代码",
|
||||
"pairing.web.paired": "{name} 已配对",
|
||||
"pairing.web.disconnect": "断开连接",
|
||||
"pairing.web.disconnectFailed": "断开 {name} 连接失败。",
|
||||
"pairing.web.loadFailed": "无法获取 {name} 配对代码。",
|
||||
"telegramPairing.title": "连接 Telegram",
|
||||
"telegramPairing.instructions": "扫描二维码或打开链接,然后在 Telegram 中点击“开始”以配对此账户。",
|
||||
"telegramPairing.copyCode": "复制代码",
|
||||
|
||||
@@ -92,6 +92,62 @@ function loadLocalePack(locale) {
|
||||
return registeredPack;
|
||||
}
|
||||
|
||||
function interpolationParams(value) {
|
||||
return [...value.matchAll(/\{([^}]+)\}/g)].map((match) => match[1]).sort();
|
||||
}
|
||||
|
||||
test("non-English locale packs cover the English key set and interpolation params", () => {
|
||||
const english = loadLocalePack("en");
|
||||
const englishKeys = Object.keys(english).sort();
|
||||
|
||||
for (const locale of LOCALES.filter((candidate) => candidate !== "en")) {
|
||||
const pack = loadLocalePack(locale);
|
||||
const missing = englishKeys.filter((key) => typeof pack[key] !== "string");
|
||||
|
||||
assert.deepEqual(missing, [], `${locale} missing keys: ${missing.join(", ")}`);
|
||||
for (const key of englishKeys) {
|
||||
assert.deepEqual(
|
||||
interpolationParams(pack[key]),
|
||||
interpolationParams(english[key]),
|
||||
`${locale} interpolation params differ for ${key}`,
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
test("non-English locale packs localize exposed workflow copy", () => {
|
||||
const english = loadLocalePack("en");
|
||||
const technicalTerms = new Set([
|
||||
"extensions.customMcpIdGenerated",
|
||||
"extensions.customMcpAuth.oauth",
|
||||
]);
|
||||
const exposedWorkflowKeys = Object.keys(english).filter(
|
||||
(key) =>
|
||||
!technicalTerms.has(key) &&
|
||||
(key === "chat.downloadRunArtifact" ||
|
||||
key === "chat.downloadThreadArtifact" ||
|
||||
key.startsWith("pairing.web.") ||
|
||||
key === "extensions.tools" ||
|
||||
key === "tools.installed" ||
|
||||
key === "tools.available" ||
|
||||
key === "extensions.addCustomMcp" ||
|
||||
key === "extensions.emptyToolsTitle" ||
|
||||
key === "extensions.emptyToolsDesc" ||
|
||||
key.startsWith("extensions.customMcp")),
|
||||
);
|
||||
|
||||
for (const locale of LOCALES.filter((candidate) => candidate !== "en")) {
|
||||
const pack = loadLocalePack(locale);
|
||||
for (const key of exposedWorkflowKeys) {
|
||||
assert.strictEqual(
|
||||
pack[key] === english[key],
|
||||
false,
|
||||
`${locale} must localize ${key}`,
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
test("ensurePack: unknown locale resolves null (no loader, not registered)", async () => {
|
||||
const { ensurePack } = loadI18n();
|
||||
assert.equal(await ensurePack("zz-unknown"), null);
|
||||
|
||||
Reference in New Issue
Block a user