feat: RTL/i18n, AI translate+undo, no-refresh saves, settings perf

- RTL: force dir=rtl on LabelFilter, NotesViewToggle, LabelManagementDialog
- i18n: add missing keys (notifications, privacy, edit/preview, AI translate/undo)
- Settings pages: convert to Server Components (general, appearance) + loading skeleton
- AI menu: add Translate option (10 languages) + Undo AI button in toolbar
- Fix: saveInline uses REST API instead of Server Action → eliminates all implicit refreshes in list mode
- Fix: NotesTabsView notes sync effect preserves selected note on content changes
- Fix: auto-tag suggestions now filter already-assigned labels
- Fix: color change in card view uses local state (no refresh)
- Fix: nav links use <Link> for prefetching (Settings, Admin)
- Fix: suppress duplicate label suggestions already on note
- Route: add /api/ai/translate endpoint
This commit is contained in:
Sepehr Ramezani
2026-04-15 23:48:28 +02:00
parent 39671c6472
commit b6a548acd8
68 changed files with 5014 additions and 485 deletions

View File

@@ -997,5 +997,65 @@
"collapse": "طي",
"expand": "توسيع",
"open": "فتح"
},
"mcpSettings": {
"title": "إعدادات MCP",
"description": "إدارة مفاتيح API وتكوين الأدوات الخارجية",
"whatIsMcp": {
"title": "ما هو MCP؟",
"description": "بروتوكول سياق النموذج (MCP) هو بروتوكول مفتوح يمكّن نماذج الذكاء الاصطناعي من التفاعل بأمان مع الأدوات ومصادر البيانات الخارجية. باستخدام MCP، يمكنك ربط أدوات مثل Claude Code و Cursor و N8N بمثيل Keep Notes الخاص بك لقراءة ملاحظاتك وإنشائها وتنظيمها برمجيًا.",
"learnMore": "معرفة المزيد عن MCP"
},
"serverStatus": {
"title": "حالة الخادم",
"running": "قيد التشغيل",
"stopped": "متوقف",
"mode": "الوضع",
"url": "URL"
},
"apiKeys": {
"title": "مفاتيح API",
"description": "تسمح مفاتيح API للأدوات الخارجية بالوصول إلى ملاحظاتك عبر MCP. حافظ على سرية مفاتيحك.",
"generate": "إنشاء مفتاح جديد",
"empty": "لا توجد مفاتيح API بعد. أنشئ واحدًا للبدء.",
"active": "نشط",
"revoked": "ملغى",
"revoke": "إلغاء",
"delete": "حذف",
"createdAt": "تاريخ الإنشاء",
"lastUsed": "آخر استخدام",
"never": "أبدًا",
"confirmRevoke": "هل أنت متأكد من إلغاء هذا المفتاح؟ ستفقد الأدوات التي تستخدمه صلاحية الوصول.",
"confirmDelete": "هل أنت متأكد من حذف هذا المفتاح نهائيًا؟"
},
"createDialog": {
"title": "إنشاء مفتاح API",
"description": "أنشئ مفتاح API جديدًا لربط الأدوات الخارجية بملاحظاتك.",
"nameLabel": "اسم المفتاح",
"namePlaceholder": "مثال: Claude Code، Cursor، N8N",
"generating": "جاري الإنشاء...",
"generate": "إنشاء",
"successTitle": "تم إنشاء مفتاح API",
"successDescription": "انسخ مفتاح API الآن. لن تتمكن من رؤيته مرة أخرى.",
"copy": "نسخ",
"copied": "تم النسخ!",
"done": "تم"
},
"configInstructions": {
"title": "تعليمات التكوين",
"description": "استخدم مفتاح API الخاص بك لتكوين هذه الأدوات.",
"claudeCode": {
"title": "Claude Code",
"description": "أضف هذا إلى ملف تكوين MCP الخاص بـ Claude Code:"
},
"cursor": {
"title": "Cursor",
"description": "أضف هذا إلى إعدادات MCP الخاصة بـ Cursor:"
},
"n8n": {
"title": "N8N",
"description": "استخدم بيانات الاعتماد هذه في عقدة N8N MCP:"
}
}
}
}

View File

@@ -997,5 +997,65 @@
"collapse": "Zusammenklappen",
"expand": "Erweitern",
"open": "Öffnen"
},
"mcpSettings": {
"title": "MCP-Einstellungen",
"description": "API-Schlüssel verwalten und externe Tools konfigurieren",
"whatIsMcp": {
"title": "Was ist MCP?",
"description": "Das Model Context Protocol (MCP) ist ein offenes Protokoll, das es KI-Modellen ermöglicht, sicher mit externen Tools und Datenquellen zu interagieren. Mit MCP können Sie Tools wie Claude Code, Cursor oder N8N mit Ihrer Keep Notes-Instanz verbinden, um Ihre Notes programmgesteuert zu lesen, zu erstellen und zu organisieren.",
"learnMore": "Mehr über MCP erfahren"
},
"serverStatus": {
"title": "Serverstatus",
"running": "Aktiv",
"stopped": "Gestoppt",
"mode": "Modus",
"url": "URL"
},
"apiKeys": {
"title": "API-Schlüssel",
"description": "API-Schlüssel ermöglichen externen Tools den Zugriff auf Ihre Notes über MCP. Halten Sie Ihre Schlüssel geheim.",
"generate": "Neuen Schlüssel generieren",
"empty": "Noch keine API-Schlüssel. Generieren Sie einen, um zu beginnen.",
"active": "Aktiv",
"revoked": "Widerrufen",
"revoke": "Widerrufen",
"delete": "Löschen",
"createdAt": "Erstellt",
"lastUsed": "Zuletzt verwendet",
"never": "Nie",
"confirmRevoke": "Sind Sie sicher, dass Sie diesen Schlüssel widerrufen möchten? Tools, die ihn verwenden, verlieren den Zugriff.",
"confirmDelete": "Sind Sie sicher, dass Sie diesen Schlüssel dauerhaft löschen möchten?"
},
"createDialog": {
"title": "API-Schlüssel generieren",
"description": "Erstellen Sie einen neuen API-Schlüssel, um externe Tools mit Ihren Notes zu verbinden.",
"nameLabel": "Schlüsselname",
"namePlaceholder": "z.B. Claude Code, Cursor, N8N",
"generating": "Wird generiert...",
"generate": "Generieren",
"successTitle": "API-Schlüssel generiert",
"successDescription": "Kopieren Sie Ihren API-Schlüssel jetzt. Sie können ihn später nicht mehr einsehen.",
"copy": "Kopieren",
"copied": "Kopiert!",
"done": "Fertig"
},
"configInstructions": {
"title": "Konfigurationsanleitung",
"description": "Verwenden Sie Ihren API-Schlüssel zur Konfiguration dieser Tools.",
"claudeCode": {
"title": "Claude Code",
"description": "Fügen Sie dies zur MCP-Konfigurationsdatei von Claude Code hinzu:"
},
"cursor": {
"title": "Cursor",
"description": "Fügen Sie dies zu Ihren Cursor MCP-Einstellungen hinzu:"
},
"n8n": {
"title": "N8N",
"description": "Verwenden Sie diese Anmeldeinformationen in Ihrem N8N MCP-Knoten:"
}
}
}
}

View File

@@ -33,6 +33,8 @@
"reminders": "Reminders",
"labels": "Labels",
"editLabels": "Edit labels",
"newNoteTabs": "New Note",
"newNoteTabsHint": "Create note in this notebook",
"noLabelsInNotebook": "No labels in this notebook yet",
"archive": "Archive",
"trash": "Trash"
@@ -104,7 +106,7 @@
"large": "Large",
"shareWithCollaborators": "Share with collaborators",
"view": "View Note",
"edit": "Edit Note",
"edit": "Edit",
"readOnly": "Read Only",
"preview": "Preview",
"noContent": "No content",
@@ -128,6 +130,7 @@
"dragToReorder": "Drag to reorder",
"more": "More options",
"emptyState": "No notes yet. Create your first note!",
"emptyStateTabs": "No notes here yet. Use \"New note\" in the sidebar to add one (AI title suggestions appear in the composer).",
"inNotebook": "In notebook",
"moveFailed": "Failed to move note. Please try again.",
"clarifyFailed": "Failed to clarify text",
@@ -137,7 +140,15 @@
"markdown": "Markdown",
"unpinned": "Unpinned",
"redoShortcut": "Redo (Ctrl+Y)",
"undoShortcut": "Undo (Ctrl+Z)"
"undoShortcut": "Undo (Ctrl+Z)",
"viewCards": "Cards View",
"viewCardsTooltip": "Card grid with drag-and-drop reorder",
"viewTabs": "Tabs View",
"viewTabsTooltip": "Tabs on top, note below — drag tabs to reorder",
"viewModeGroup": "Notes display mode",
"reorderTabs": "Reorder tab",
"modified": "Modified",
"created": "Created"
},
"pagination": {
"previous": "←",
@@ -175,7 +186,8 @@
"loading": "Loading...",
"notebookRequired": "⚠️ Labels are only available in notebooks. Move this note to a notebook first.",
"count": "{count} labels",
"noLabels": "No labels"
"noLabels": "No labels",
"confirmDeleteShort": "Confirm?"
},
"search": {
"placeholder": "Search",
@@ -290,7 +302,21 @@
"notebookSummary": {
"regenerate": "Regenerate Summary",
"regenerating": "Regenerating summary..."
}
},
"clarifyDesc": "Make the text clearer and easier to understand",
"shortenDesc": "Summarize the text and get to the point",
"improve": "Improve writing",
"improveDesc": "Fix grammar and enhance style",
"toMarkdown": "Format as Markdown",
"toMarkdownDesc": "Add headings, bullet points and structure the text",
"translate": "Translate",
"translateDesc": "Change the text language",
"translateBack": "Back",
"translationApplied": "Translation applied",
"translationFailed": "Translation failed",
"undo": "Undo AI",
"undoAI": "Undo AI transformation",
"undoApplied": "Original text restored"
},
"titleSuggestions": {
"available": "Title suggestions",
@@ -397,7 +423,7 @@
"nav": {
"home": "Home",
"notes": "Notes",
"notebooks": "Notebooks",
"notebooks": "NOTEBOOKS",
"generalNotes": "General Notes",
"archive": "Archive",
"settings": "Settings",
@@ -461,7 +487,15 @@
"semanticIndexingDescription": "Generate vectors for all notes to enable intent-based search",
"profile": "Profile",
"searchNoResults": "No settings found",
"languageAuto": "Language set to Auto"
"languageAuto": "Language set to Auto",
"emailNotifications": "Email notifications",
"emailNotificationsDesc": "Receive important notifications by email",
"desktopNotifications": "Desktop notifications",
"desktopNotificationsDesc": "Receive notifications in your browser",
"anonymousAnalytics": "Anonymous analytics",
"anonymousAnalyticsDesc": "Share anonymous usage data to help improve the app",
"notificationsDesc": "Manage your notification preferences",
"privacyDesc": "Control your data and privacy"
},
"profile": {
"title": "Profile",
@@ -907,7 +941,11 @@
},
"appearance": {
"title": "Appearance",
"description": "Customize how the app looks"
"description": "Customize how the app looks",
"notesViewDescription": "Choose how notes are shown on home and in notebooks.",
"notesViewLabel": "Notes layout",
"notesViewTabs": "Tabs (OneNote-style)",
"notesViewMasonry": "Cards (grid)"
},
"generalSettings": {
"title": "General Settings",
@@ -1022,5 +1060,65 @@
"open": "Open",
"expand": "Expand",
"collapse": "Collapse"
},
"mcpSettings": {
"title": "MCP Settings",
"description": "Manage API keys and configure external tools",
"whatIsMcp": {
"title": "What is MCP?",
"description": "The Model Context Protocol (MCP) is an open protocol that enables AI models to securely interact with external tools and data sources. With MCP, you can connect tools like Claude Code, Cursor, or N8N to your Keep Notes instance to read, create, and organize your notes programmatically.",
"learnMore": "Learn more about MCP"
},
"serverStatus": {
"title": "Server Status",
"running": "Running",
"stopped": "Stopped",
"mode": "Mode",
"url": "URL"
},
"apiKeys": {
"title": "API Keys",
"description": "API keys allow external tools to access your notes via MCP. Keep your keys secret.",
"generate": "Generate a new key",
"empty": "No API keys yet. Generate one to get started.",
"active": "Active",
"revoked": "Revoked",
"revoke": "Revoke",
"delete": "Delete",
"createdAt": "Created",
"lastUsed": "Last used",
"never": "Never",
"confirmRevoke": "Are you sure you want to revoke this key? Tools using it will lose access.",
"confirmDelete": "Are you sure you want to permanently delete this key?"
},
"createDialog": {
"title": "Generate API Key",
"description": "Create a new API key to connect external tools to your notes.",
"nameLabel": "Key name",
"namePlaceholder": "e.g. Claude Code, Cursor, N8N",
"generating": "Generating...",
"generate": "Generate",
"successTitle": "API Key Generated",
"successDescription": "Copy your API key now. You won't be able to see it again.",
"copy": "Copy",
"copied": "Copied!",
"done": "Done"
},
"configInstructions": {
"title": "Configuration Instructions",
"description": "Use your API key to configure these tools.",
"claudeCode": {
"title": "Claude Code",
"description": "Add this to your Claude Code MCP configuration file:"
},
"cursor": {
"title": "Cursor",
"description": "Add this to your Cursor MCP settings:"
},
"n8n": {
"title": "N8N",
"description": "Use these credentials in your N8N MCP node:"
}
}
}
}

View File

@@ -992,5 +992,65 @@
"collapse": "Colapsar",
"expand": "Expandir",
"open": "Abrir"
},
"mcpSettings": {
"title": "Configuración MCP",
"description": "Gestiona tus claves API y configura herramientas externas",
"whatIsMcp": {
"title": "¿Qué es MCP?",
"description": "El Model Context Protocol (MCP) es un protocolo abierto que permite a los modelos de IA interactuar de forma segura con herramientas y fuentes de datos externas. Con MCP, puedes conectar herramientas como Claude Code, Cursor o N8N a tu instancia de Keep Notes para leer, crear y organizar tus notas mediante programación.",
"learnMore": "Más información sobre MCP"
},
"serverStatus": {
"title": "Estado del servidor",
"running": "En ejecución",
"stopped": "Detenido",
"mode": "Modo",
"url": "URL"
},
"apiKeys": {
"title": "Claves API",
"description": "Las claves API permiten a las herramientas externas acceder a tus notas mediante MCP. Mantén tus claves en secreto.",
"generate": "Generar nueva clave",
"empty": "Aún no hay claves API. Genera una para empezar.",
"active": "Activa",
"revoked": "Revocada",
"revoke": "Revocar",
"delete": "Eliminar",
"createdAt": "Creada",
"lastUsed": "Último uso",
"never": "Nunca",
"confirmRevoke": "¿Estás seguro de que quieres revocar esta clave? Las herramientas que la usen perderán el acceso.",
"confirmDelete": "¿Estás seguro de que quieres eliminar permanentemente esta clave?"
},
"createDialog": {
"title": "Generar clave API",
"description": "Crea una nueva clave API para conectar herramientas externas a tus notas.",
"nameLabel": "Nombre de la clave",
"namePlaceholder": "ej. Claude Code, Cursor, N8N",
"generating": "Generando...",
"generate": "Generar",
"successTitle": "Clave API generada",
"successDescription": "Copia tu clave API ahora. No podrás volver a verla.",
"copy": "Copiar",
"copied": "¡Copiada!",
"done": "Listo"
},
"configInstructions": {
"title": "Instrucciones de configuración",
"description": "Usa tu clave API para configurar estas herramientas.",
"claudeCode": {
"title": "Claude Code",
"description": "Añade esto a tu archivo de configuración MCP de Claude Code:"
},
"cursor": {
"title": "Cursor",
"description": "Añade esto a tus ajustes MCP de Cursor:"
},
"n8n": {
"title": "N8N",
"description": "Usa estas credenciales en tu nodo MCP de N8N:"
}
}
}
}

View File

@@ -229,7 +229,15 @@
"transformError": "خطا در تبدیل",
"transformMarkdown": "تبدیل به مارک‌داون",
"transformSuccess": "متن با موفقیت به مارک‌داون تبدیل شد!",
"transforming": "در حال تبدیل..."
"transforming": "در حال تبدیل...",
"translate": "ترجمه",
"translateDesc": "تغییر زبان متن",
"translateBack": "بازگشت",
"translationApplied": "ترجمه اعمال شد",
"translationFailed": "ترجمه ناموفق بود",
"undo": "لغو هوش مصنوعی",
"undoAI": "لغو تبدیل هوش مصنوعی",
"undoApplied": "متن اصلی بازگردانده شد"
},
"aiSettings": {
"description": "ویژگی‌ها و ترجیحات هوش مصنوعی خود را پیکربندی کنید",
@@ -568,7 +576,7 @@
"delete": "حذف",
"deleteTooltip": "حذف برچسب",
"editLabels": "ویرایش برچسب‌ها",
"editLabelsDescription": "ایجاد، ویرایش رنگ‌ها یا حذف برچسب‌ها.",
"editLabelsDescription": "برچسب‌های خود را مدیریت کنید",
"filter": "فیلتر بر اساس برچسب",
"filterByLabel": "فیلتر بر اساس برچسب",
"labelColor": "رنگ برچسب",
@@ -579,15 +587,16 @@
"manageLabelsDescription": "Add or remove labels for this note. Click on a label to change its color.",
"manageTooltip": "مدیریت برچسب‌ها",
"namePlaceholder": "نام برچسب",
"newLabelPlaceholder": "ایجاد برچسب جدید",
"newLabelPlaceholder": "برچسب جدید...",
"noLabels": "بدون برچسب",
"noLabelsFound": "برچسبی یافت نشد.",
"noLabelsFound": "برچسبی یافت نشد",
"notebookRequired": "⚠️ برچسب‌ها فقط در دفترچه‌ها در دسترس هستند. این یادداشت را ابتدا به یک دفترچه منتقل کنید.",
"selectedLabels": "Selected Labels",
"showLess": "نمایش کمتر",
"showMore": "نمایش بیشتر",
"tagAdded": "برچسب \"{tag}\" اضافه شد",
"title": "برچسب‌ها"
"title": "برچسب‌ها",
"confirmDeleteShort": "تایید؟"
},
"memoryEcho": {
"clickToView": "برای مشاهده یادداشت کلیک کنید",
@@ -684,7 +693,7 @@
"logout": "خروج",
"manageAISettings": "Manage AI Settings",
"myLibrary": "کتابخانه من",
"notebooks": "Notebooks",
"notebooks": "دفترچه‌ها",
"notes": "یادداشت‌ها",
"proPlan": "پلن پرو",
"profile": "پروفایل",
@@ -765,7 +774,7 @@
"delete": "حذف",
"dragToReorder": "بکشید تا مرتب کنید",
"duplicate": "تکثیر",
"edit": "Edit Note",
"edit": "ویرایش",
"emptyState": "یادداشتی نیست",
"fileTooLarge": "فایل خیلی بزرگ است: {fileName}. حداکثر اندازه {maxSize}.",
"improveFailed": "بهبود شکست خورد",
@@ -801,7 +810,7 @@
"pinned": "سنجاق شده",
"pinnedNotes": "یادداشت‌های سنجاق شده",
"placeholder": "یادداشت بگیرید...",
"preview": "Preview",
"preview": "پیش‌نمایش",
"readOnly": "Read Only",
"recent": "اخیر",
"redo": "انجام مجدد",
@@ -837,7 +846,11 @@
"unpinned": "سنجاق نشده",
"untitled": "بدون عنوان",
"uploadFailed": "آپلود {fileName} شکست خورد",
"view": "View Note"
"view": "View Note",
"modified": "ویرایش شده",
"created": "ایجاد شده",
"viewTabs": "نمایش زبانه‌ای",
"viewCards": "نمایش کارتی"
},
"pagination": {
"next": "→",
@@ -962,15 +975,26 @@
"themeLight": "روشن",
"themeSystem": "سیستم",
"title": "تنظیمات",
"version": "نسخه"
"version": "نسخه",
"emailNotifications": "اعلان‌های ایمیل",
"emailNotificationsDesc": "دریافت اعلان‌های مهم از طریق ایمیل",
"desktopNotifications": "اعلان‌های مرورگر",
"desktopNotificationsDesc": "دریافت اعلان‌ها در مرورگر",
"anonymousAnalytics": "تحلیل‌های ناشناس",
"anonymousAnalyticsDesc": "اشتراک داده‌های استفاده ناشناس برای بهبود برنامه",
"notificationsDesc": "مدیریت تنظیمات اعلان",
"privacyDesc": "کنترل داده‌ها و حریم خصوصی شما"
},
"sidebar": {
"archive": "Archive",
"editLabels": "Edit labels",
"archive": "بایگانی",
"editLabels": "ویرایش برچسب‌ها",
"labels": "Labels",
"notes": "Notes",
"reminders": "Reminders",
"trash": "Trash"
"notes": "یادداشت‌ها",
"reminders": "یادآورها",
"trash": "زباله‌دان",
"newNoteTabs": "یادداشت جدید",
"newNoteTabsHint": "ایجاد یادداشت جدید در این دفترچه",
"edit": "ویرایش یادداشت"
},
"support": {
"aiApiCosts": "هزینه‌های AI API:",
@@ -1050,5 +1074,65 @@
"collapse": "جمع کردن",
"expand": "بسط دادن",
"open": "باز کردن"
},
"mcpSettings": {
"title": "تنظیمات MCP",
"description": "مدیریت کلیدهای API و پیکربندی ابزارهای خارجی",
"whatIsMcp": {
"title": "MCP چیست؟",
"description": "پروتکل زمینه مدل (MCP) یک پروتکل باز است که به مدل‌های هوش مصنوعی امکان تعامل امن با ابزارها و منابع داده خارجی را می‌دهد. با MCP می‌توانید ابزارهایی مانند Claude Code، Cursor یا N8N را به نمونه Keep Notes خود متصل کنید تا یادداشت‌های خود را به صورت برنامه‌نویسی بخوانید، ایجاد کنید و سازماندهی کنید.",
"learnMore": "بیشتر درباره MCP بدانید"
},
"serverStatus": {
"title": "وضعیت سرور",
"running": "در حال اجرا",
"stopped": "متوقف",
"mode": "حالت",
"url": "URL"
},
"apiKeys": {
"title": "کلیدهای API",
"description": "کلیدهای API به ابزارهای خارجی اجازه می‌دهند از طریق MCP به یادداشت‌های شما دسترسی پیدا کنند. کلیدهای خود را محرمانه نگه دارید.",
"generate": "ایجاد کلید جدید",
"empty": "هنوز کلید API وجود ندارد. برای شروع یکی ایجاد کنید.",
"active": "فعال",
"revoked": "لغو شده",
"revoke": "لغو",
"delete": "حذف",
"createdAt": "تاریخ ایجاد",
"lastUsed": "آخرین استفاده",
"never": "هرگز",
"confirmRevoke": "آیا مطمئن هستید که می‌خواهید این کلید را لغو کنید؟ ابزارهایی که از آن استفاده می‌کنند دسترسی خود را از دست می‌دهند.",
"confirmDelete": "آیا مطمئن هستید که می‌خواهید این کلید را برای همیشه حذف کنید؟"
},
"createDialog": {
"title": "ایجاد کلید API",
"description": "یک کلید API جدید برای اتصال ابزارهای خارجی به یادداشت‌های خود ایجاد کنید.",
"nameLabel": "نام کلید",
"namePlaceholder": "مثال: Claude Code، Cursor، N8N",
"generating": "در حال ایجاد...",
"generate": "ایجاد",
"successTitle": "کلید API ایجاد شد",
"successDescription": "کلید API خود را همین حالا کپی کنید. دیگر نمی‌توانید آن را ببینید.",
"copy": "کپی",
"copied": "کپی شد!",
"done": "انجام شد"
},
"configInstructions": {
"title": "دستورالعمل پیکربندی",
"description": "از کلید API خود برای پیکربندی این ابزارها استفاده کنید.",
"claudeCode": {
"title": "Claude Code",
"description": "این را به فایل پیکربندی MCP Claude Code خود اضافه کنید:"
},
"cursor": {
"title": "Cursor",
"description": "این را به تنظیمات MCP Cursor خود اضافه کنید:"
},
"n8n": {
"title": "N8N",
"description": "از این اعتبارنامه‌ها در گره N8N MCP خود استفاده کنید:"
}
}
}
}
}

View File

@@ -254,7 +254,21 @@
"transformError": "Erreur lors de la transformation",
"transformMarkdown": "Transformer en Markdown",
"transformSuccess": "Texte transformé en Markdown avec succès !",
"transforming": "Transformation..."
"transforming": "Transformation...",
"clarifyDesc": "Rendre le propos plus clair et compréhensible",
"shortenDesc": "Résumer le texte et aller à l'essentiel",
"improve": "Améliorer la rédaction",
"improveDesc": "Corriger les fautes et le style",
"toMarkdown": "Formater en Markdown",
"toMarkdownDesc": "Ajouter des titres, des puces et structurer le texte",
"translate": "Traduire",
"translateDesc": "Changer la langue du texte",
"translateBack": "Retour",
"translationApplied": "Traduction appliquée",
"translationFailed": "Traduction échouée",
"undo": "Annuler IA",
"undoAI": "Annuler la transformation IA",
"undoApplied": "Texte original restauré"
},
"aiSettings": {
"description": "Configurez vos fonctionnalités IA et préférences",
@@ -280,6 +294,10 @@
},
"appearance": {
"description": "Personnaliser l'apparence de l'application",
"notesViewDescription": "Choisissez comment afficher les notes sur l'accueil et dans les carnets.",
"notesViewLabel": "Affichage des notes",
"notesViewTabs": "Onglets (type OneNote)",
"notesViewMasonry": "Cartes (grille)",
"title": "Apparence"
},
"auth": {
@@ -557,7 +575,8 @@
"showLess": "Voir moins",
"showMore": "Voir plus",
"tagAdded": "Étiquette \"{tag}\" ajoutée",
"title": "Étiquettes"
"title": "Étiquettes",
"confirmDeleteShort": "Confirmer ?"
},
"memoryEcho": {
"clickToView": "Cliquer pour voir la note →",
@@ -659,7 +678,7 @@
"logout": "Déconnexion",
"manageAISettings": "Gérer les paramètres IA",
"myLibrary": "Ma bibliothèque",
"notebooks": "Cahiers",
"notebooks": "CARNETS",
"notes": "Notes",
"proPlan": "Pro Plan",
"profile": "Profil",
@@ -749,8 +768,9 @@
"delete": "Supprimer",
"dragToReorder": "Glisser pour réorganiser",
"duplicate": "Dupliquer",
"edit": "Modifier la note",
"edit": "Éditer",
"emptyState": "Aucune note encore. Créez votre première note !",
"emptyStateTabs": "Aucune note dans cette vue. Utilisez « Nouvelle note » dans la barre latérale pour en ajouter une (titres suggérés par lIA disponibles dans le compositeur).",
"fileTooLarge": "Fichier trop volumineux : {fileName}. Taille maximale : {maxSize}.",
"improveFailed": "Échec de l'amélioration du texte",
"inNotebook": "Dans le carnet",
@@ -821,7 +841,15 @@
"unpinned": "Désépinglées",
"untitled": "Sans titre",
"uploadFailed": "Échec du téléchargement",
"view": "Voir la note"
"view": "Voir la note",
"viewCards": "Vue par cartes",
"viewCardsTooltip": "Grille de cartes et réorganisation par glisser-déposer",
"viewTabs": "Vue par onglets",
"viewTabsTooltip": "Onglets en haut, contenu dessous — glisser les onglets pour réordonner",
"viewModeGroup": "Mode d'affichage des notes",
"reorderTabs": "Réordonner l'onglet",
"modified": "Modifiée",
"created": "Créée"
},
"pagination": {
"next": "→",
@@ -952,7 +980,15 @@
"themeLight": "Clair",
"themeSystem": "Système",
"title": "Paramètres",
"version": "Version"
"version": "Version",
"emailNotifications": "Notifications par email",
"emailNotificationsDesc": "Recevoir des notifications importantes par email",
"desktopNotifications": "Notifications bureau",
"desktopNotificationsDesc": "Recevoir des notifications dans votre navigateur",
"anonymousAnalytics": "Analyses anonymes",
"anonymousAnalyticsDesc": "Partager des données d'utilisation anonymes pour améliorer l'application",
"notificationsDesc": "Gérez vos préférences de notifications",
"privacyDesc": "Contrôlez vos données et votre confidentialité"
},
"reminders": {
"title": "Rappels",
@@ -970,6 +1006,8 @@
"archive": "Archives",
"editLabels": "Modifier les étiquettes",
"labels": "Étiquettes",
"newNoteTabs": "Nouvelle note",
"newNoteTabsHint": "Créer une note dans ce carnet",
"noLabelsInNotebook": "Aucune étiquette dans ce carnet",
"notes": "Notes",
"reminders": "Rappels",
@@ -1053,5 +1091,65 @@
"collapse": "Réduire",
"expand": "Développer",
"open": "Ouvrir"
},
"mcpSettings": {
"title": "Paramètres MCP",
"description": "Gérez vos clés API et configurez les outils externes",
"whatIsMcp": {
"title": "Qu'est-ce que MCP ?",
"description": "Le Model Context Protocol (MCP) est un protocole ouvert qui permet aux modèles IA d'interagir de manière sécurisée avec des outils et sources de données externes. Avec MCP, vous pouvez connecter des outils comme Claude Code, Cursor ou N8N à votre instance Keep Notes pour lire, créer et organiser vos notes par programmation.",
"learnMore": "En savoir plus sur MCP"
},
"serverStatus": {
"title": "État du serveur",
"running": "En cours",
"stopped": "Arrêté",
"mode": "Mode",
"url": "URL"
},
"apiKeys": {
"title": "Clés API",
"description": "Les clés API permettent aux outils externes d'accéder à vos notes via MCP. Gardez vos clés secrètes.",
"generate": "Générer une nouvelle clé",
"empty": "Aucune clé API. Générez-en une pour commencer.",
"active": "Active",
"revoked": "Révoquée",
"revoke": "Révoquer",
"delete": "Supprimer",
"createdAt": "Créée le",
"lastUsed": "Dernière utilisation",
"never": "Jamais",
"confirmRevoke": "Êtes-vous sûr de vouloir révoquer cette clé ? Les outils qui l'utilisent perdront leur accès.",
"confirmDelete": "Êtes-vous sûr de vouloir supprimer définitivement cette clé ?"
},
"createDialog": {
"title": "Générer une clé API",
"description": "Créez une nouvelle clé API pour connecter des outils externes à vos notes.",
"nameLabel": "Nom de la clé",
"namePlaceholder": "ex. Claude Code, Cursor, N8N",
"generating": "Génération...",
"generate": "Générer",
"successTitle": "Clé API générée",
"successDescription": "Copiez votre clé API maintenant. Vous ne pourrez plus la voir ensuite.",
"copy": "Copier",
"copied": "Copiée !",
"done": "Terminé"
},
"configInstructions": {
"title": "Instructions de configuration",
"description": "Utilisez votre clé API pour configurer ces outils.",
"claudeCode": {
"title": "Claude Code",
"description": "Ajoutez ceci à votre fichier de configuration MCP de Claude Code :"
},
"cursor": {
"title": "Cursor",
"description": "Ajoutez ceci à vos paramètres MCP de Cursor :"
},
"n8n": {
"title": "N8N",
"description": "Utilisez ces identifiants dans votre nœud MCP N8N :"
}
}
}
}
}

View File

@@ -997,5 +997,65 @@
"collapse": "संकुचित करें",
"expand": "विस्तार करें",
"open": "खोलें"
},
"mcpSettings": {
"title": "MCP सेटिंग्स",
"description": "API कुंजियाँ प्रबंधित करें और बाहरी टूल कॉन्फ़िगर करें",
"whatIsMcp": {
"title": "MCP क्या है?",
"description": "मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) एक खुला प्रोटोकॉल है जो AI मॉडल को बाहरी टूल और डेटा स्रोतों के साथ सुरक्षित रूप से इंटरैक्ट करने में सक्षम बनाता है। MCP के साथ, आप Claude Code, Cursor या N8N जैसे टूल को अपने Keep Notes इंस्टेंस से कनेक्ट करके प्रोग्रामेटिक रूप से अपने नोट्स को पढ़ सकते हैं, बना सकते हैं और व्यवस्थित कर सकते हैं।",
"learnMore": "MCP के बारे में और जानें"
},
"serverStatus": {
"title": "सर्वर स्थिति",
"running": "चल रहा है",
"stopped": "रुका हुआ",
"mode": "मोड",
"url": "URL"
},
"apiKeys": {
"title": "API कुंजियाँ",
"description": "API कुंजियाँ बाहरी टूल को MCP के माध्यम से आपके नोट्स तक पहुँचने की अनुमति देती हैं। अपनी कुंजियों को गोपनीय रखें।",
"generate": "नई कुंजी जनरेट करें",
"empty": "अभी तक कोई API कुंजी नहीं। शुरू करने के लिए एक जनरेट करें।",
"active": "सक्रिय",
"revoked": "निरस्त",
"revoke": "निरस्त करें",
"delete": "हटाएँ",
"createdAt": "बनाई गई",
"lastUsed": "अंतिम उपयोग",
"never": "कभी नहीं",
"confirmRevoke": "क्या आप वाकई इस कुंजी को निरस्त करना चाहते हैं? इसका उपयोग करने वाले टूल की पहुँच हट जाएगी।",
"confirmDelete": "क्या आप वाकई इस कुंजी को स्थायी रूप से हटाना चाहते हैं?"
},
"createDialog": {
"title": "API कुंजी जनरेट करें",
"description": "बाहरी टूल को अपने नोट्स से कनेक्ट करने के लिए एक नई API कुंजी बनाएँ।",
"nameLabel": "कुंजी का नाम",
"namePlaceholder": "उदा. Claude Code, Cursor, N8N",
"generating": "जनरेट हो रहा है...",
"generate": "जनरेट करें",
"successTitle": "API कुंजी जनरेट हो गई",
"successDescription": "अपनी API कुंजी अभी कॉपी करें। आप इसे दोबारा नहीं देख पाएँगे।",
"copy": "कॉपी करें",
"copied": "कॉपी हो गई!",
"done": "हो गया"
},
"configInstructions": {
"title": "कॉन्फ़िगरेशन निर्देश",
"description": "इन टूल को कॉन्फ़िगर करने के लिए अपनी API कुंजी का उपयोग करें।",
"claudeCode": {
"title": "Claude Code",
"description": "इसे अपनी Claude Code MCP कॉन्फ़िगरेशन फ़ाइल में जोड़ें:"
},
"cursor": {
"title": "Cursor",
"description": "इसे अपनी Cursor MCP सेटिंग्स में जोड़ें:"
},
"n8n": {
"title": "N8N",
"description": "अपने N8N MCP नोड में इन क्रेडेंशियल का उपयोग करें:"
}
}
}
}

View File

@@ -1041,5 +1041,65 @@
"collapse": "Comprimi",
"expand": "Espandi",
"open": "Apri"
},
"mcpSettings": {
"title": "Impostazioni MCP",
"description": "Gestisci le chiavi API e configura gli strumenti esterni",
"whatIsMcp": {
"title": "Cos'è MCP?",
"description": "Il Model Context Protocol (MCP) è un protocollo aperto che consente ai modelli di IA di interagire in modo sicuro con strumenti e fonti di dati esterni. Con MCP puoi collegare strumenti come Claude Code, Cursor o N8N alla tua istanza Keep Notes per leggere, creare e organizzare le tue note a livello di programmazione.",
"learnMore": "Scopri di più su MCP"
},
"serverStatus": {
"title": "Stato del server",
"running": "In esecuzione",
"stopped": "Arrestato",
"mode": "Modalità",
"url": "URL"
},
"apiKeys": {
"title": "Chiavi API",
"description": "Le chiavi API consentono agli strumenti esterni di accedere alle tue note tramite MCP. Mantieni le tue chiavi segrete.",
"generate": "Genera una nuova chiave",
"empty": "Nessuna chiave API. Generane una per iniziare.",
"active": "Attiva",
"revoked": "Revocata",
"revoke": "Revoca",
"delete": "Elimina",
"createdAt": "Creata",
"lastUsed": "Ultimo utilizzo",
"never": "Mai",
"confirmRevoke": "Sei sicuro di voler revocare questa chiave? Gli strumenti che la utilizzano perderanno l'accesso.",
"confirmDelete": "Sei sicuro di voler eliminare definitivamente questa chiave?"
},
"createDialog": {
"title": "Genera chiave API",
"description": "Crea una nuova chiave API per collegare strumenti esterni alle tue note.",
"nameLabel": "Nome della chiave",
"namePlaceholder": "es. Claude Code, Cursor, N8N",
"generating": "Generazione...",
"generate": "Genera",
"successTitle": "Chiave API generata",
"successDescription": "Copia la tua chiave API ora. Non potrai vederla di nuovo.",
"copy": "Copia",
"copied": "Copiata!",
"done": "Fatto"
},
"configInstructions": {
"title": "Istruzioni di configurazione",
"description": "Usa la tua chiave API per configurare questi strumenti.",
"claudeCode": {
"title": "Claude Code",
"description": "Aggiungi questo al tuo file di configurazione MCP di Claude Code:"
},
"cursor": {
"title": "Cursor",
"description": "Aggiungi questo alle tue impostazioni MCP di Cursor:"
},
"n8n": {
"title": "N8N",
"description": "Usa queste credenziali nel tuo nodo MCP N8N:"
}
}
}
}

View File

@@ -997,5 +997,65 @@
"collapse": "折りたたむ",
"expand": "展開",
"open": "開く"
},
"mcpSettings": {
"title": "MCP設定",
"description": "APIキーの管理と外部ツールの設定",
"whatIsMcp": {
"title": "MCPとは",
"description": "Model Context ProtocolMCPは、AIモデルが外部ツールやデータソースと安全にやり取りできるようにするオープンプロトコルです。MCPを使用すると、Claude Code、Cursor、N8NなどのツールをKeep Notesインスタンスに接続し、プログラムでートの読み取り、作成、整理を行うことができます。",
"learnMore": "MCPについて詳しく知る"
},
"serverStatus": {
"title": "サーバーステータス",
"running": "実行中",
"stopped": "停止",
"mode": "モード",
"url": "URL"
},
"apiKeys": {
"title": "APIキー",
"description": "APIキーにより、外部ツールがMCP経由でートにアクセスできます。キーは秘密にしてください。",
"generate": "新しいキーを生成",
"empty": "APIキーはまだありません。生成して始めましょう。",
"active": "有効",
"revoked": "無効化",
"revoke": "無効化",
"delete": "削除",
"createdAt": "作成日",
"lastUsed": "最終使用",
"never": "未使用",
"confirmRevoke": "このキーを無効化してよろしいですか?使用中のツールがアクセスを失います。",
"confirmDelete": "このキーを永久に削除してよろしいですか?"
},
"createDialog": {
"title": "APIキーを生成",
"description": "外部ツールをートに接続するための新しいAPIキーを作成します。",
"nameLabel": "キー名",
"namePlaceholder": "例Claude Code、Cursor、N8N",
"generating": "生成中...",
"generate": "生成",
"successTitle": "APIキーが生成されました",
"successDescription": "今すぐAPIキーをコピーしてください。後で再度表示することはできません。",
"copy": "コピー",
"copied": "コピーしました!",
"done": "完了"
},
"configInstructions": {
"title": "設定手順",
"description": "APIキーを使用してこれらのツールを設定してください。",
"claudeCode": {
"title": "Claude Code",
"description": "Claude CodeのMCP設定ファイルに以下を追加してください"
},
"cursor": {
"title": "Cursor",
"description": "CursorのMCP設定に以下を追加してください"
},
"n8n": {
"title": "N8N",
"description": "N8N MCPードで以下の認証情報を使用してください"
}
}
}
}

View File

@@ -997,5 +997,65 @@
"collapse": "접기",
"expand": "펼치기",
"open": "열기"
},
"mcpSettings": {
"title": "MCP 설정",
"description": "API 키 관리 및 외부 도구 구성",
"whatIsMcp": {
"title": "MCP란 무엇인가요?",
"description": "Model Context Protocol(MCP)은 AI 모델이 외부 도구 및 데이터 소스와 안전하게 상호 작용할 수 있게 하는 오픈 프로토콜입니다. MCP를 사용하면 Claude Code, Cursor, N8N 등의 도구를 Keep Notes 인스턴스에 연결하여 프로그래밍 방식으로 노트를 읽고, 만들고, 정리할 수 있습니다.",
"learnMore": "MCP에 대해 자세히 알아보기"
},
"serverStatus": {
"title": "서버 상태",
"running": "실행 중",
"stopped": "중지됨",
"mode": "모드",
"url": "URL"
},
"apiKeys": {
"title": "API 키",
"description": "API 키를 통해 외부 도구가 MCP를 통해 노트에 접근할 수 있습니다. 키를 비밀로 유지하세요.",
"generate": "새 키 생성",
"empty": "API 키가 없습니다. 하나를 생성하여 시작하세요.",
"active": "활성",
"revoked": "취소됨",
"revoke": "취소",
"delete": "삭제",
"createdAt": "생성일",
"lastUsed": "마지막 사용",
"never": "없음",
"confirmRevoke": "이 키를 취소하시겠습니까? 이 키를 사용하는 도구의 접근이 차단됩니다.",
"confirmDelete": "이 키를 영구적으로 삭제하시겠습니까?"
},
"createDialog": {
"title": "API 키 생성",
"description": "외부 도구를 노트에 연결할 새 API 키를 만듭니다.",
"nameLabel": "키 이름",
"namePlaceholder": "예: Claude Code, Cursor, N8N",
"generating": "생성 중...",
"generate": "생성",
"successTitle": "API 키가 생성되었습니다",
"successDescription": "지금 API 키를 복사하세요. 나중에 다시 볼 수 없습니다.",
"copy": "복사",
"copied": "복사됨!",
"done": "완료"
},
"configInstructions": {
"title": "구성 안내",
"description": "API 키를 사용하여 이 도구들을 구성하세요.",
"claudeCode": {
"title": "Claude Code",
"description": "Claude Code MCP 구성 파일에 다음을 추가하세요:"
},
"cursor": {
"title": "Cursor",
"description": "Cursor MCP 설정에 다음을 추가하세요:"
},
"n8n": {
"title": "N8N",
"description": "N8N MCP 노드에서 다음 자격 증명을 사용하세요:"
}
}
}
}

View File

@@ -1041,5 +1041,65 @@
"collapse": "Inklappen",
"expand": "Uitvouwen",
"open": "Openen"
},
"mcpSettings": {
"title": "MCP-instellingen",
"description": "Beheer uw API-sleutels en configureer externe tools",
"whatIsMcp": {
"title": "Wat is MCP?",
"description": "Het Model Context Protocol (MCP) is een open protocol waarmee AI-modellen veilig kunnen communiceren met externe tools en gegevensbronnen. Met MCP kunt u tools zoals Claude Code, Cursor of N8N koppelen aan uw Keep Notes-instantie om uw notities programmatisch te lezen, maken en organiseren.",
"learnMore": "Meer informatie over MCP"
},
"serverStatus": {
"title": "Serverstatus",
"running": "Actief",
"stopped": "Gestopt",
"mode": "Modus",
"url": "URL"
},
"apiKeys": {
"title": "API-sleutels",
"description": "API-sleutels geven externe tools toegang tot uw notities via MCP. Houd uw sleutels geheim.",
"generate": "Nieuwe sleutel genereren",
"empty": "Nog geen API-sleutels. Genereer er een om te beginnen.",
"active": "Actief",
"revoked": "Ingetrokken",
"revoke": "Intrekken",
"delete": "Verwijderen",
"createdAt": "Aangemaakt",
"lastUsed": "Laatst gebruikt",
"never": "Nooit",
"confirmRevoke": "Weet u zeker dat u deze sleutel wilt intrekken? Tools die deze gebruiken, verliezen toegang.",
"confirmDelete": "Weet u zeker dat u deze sleutel permanent wilt verwijderen?"
},
"createDialog": {
"title": "API-sleutel genereren",
"description": "Maak een nieuwe API-sleutel aan om externe tools met uw notities te verbinden.",
"nameLabel": "Sleutelnaam",
"namePlaceholder": "bijv. Claude Code, Cursor, N8N",
"generating": "Bezig met genereren...",
"generate": "Genereren",
"successTitle": "API-sleutel gegenereerd",
"successDescription": "Kopieer uw API-sleutel nu. U kunt deze later niet meer bekijken.",
"copy": "Kopiëren",
"copied": "Gekopieerd!",
"done": "Klaar"
},
"configInstructions": {
"title": "Configuratie-instructies",
"description": "Gebruik uw API-sleutel om deze tools te configureren.",
"claudeCode": {
"title": "Claude Code",
"description": "Voeg dit toe aan uw Claude Code MCP-configuratiebestand:"
},
"cursor": {
"title": "Cursor",
"description": "Voeg dit toe aan uw Cursor MCP-instellingen:"
},
"n8n": {
"title": "N8N",
"description": "Gebruik deze referenties in uw N8N MCP-node:"
}
}
}
}

View File

@@ -1063,5 +1063,65 @@
"collapse": "Zwiń",
"expand": "Rozwiń",
"open": "Otwórz"
},
"mcpSettings": {
"title": "Ustawienia MCP",
"description": "Zarządzaj kluczami API i konfiguruj narzędzia zewnętrzne",
"whatIsMcp": {
"title": "Czym jest MCP?",
"description": "Model Context Protocol (MCP) to otwarty protokół umożliwiający modelom AI bezpieczną interakcję z zewnętrznymi narzędziami i źródłami danych. Dzięki MCP możesz połączyć narzędzia takie jak Claude Code, Cursor czy N8N ze swoją instancją Keep Notes, aby programowo czytać, tworzyć i organizować notatki.",
"learnMore": "Dowiedz się więcej o MCP"
},
"serverStatus": {
"title": "Status serwera",
"running": "Uruchomiony",
"stopped": "Zatrzymany",
"mode": "Tryb",
"url": "URL"
},
"apiKeys": {
"title": "Klucze API",
"description": "Klucze API pozwalają narzędziom zewnętrznym uzyskiwać dostęp do Twoich notatek przez MCP. Zachowaj klucze w tajemnicy.",
"generate": "Wygeneruj nowy klucz",
"empty": "Brak kluczy API. Wygeneruj jeden, aby zacząć.",
"active": "Aktywny",
"revoked": "Unieważniony",
"revoke": "Unieważnij",
"delete": "Usuń",
"createdAt": "Utworzono",
"lastUsed": "Ostatnio użyty",
"never": "Nigdy",
"confirmRevoke": "Czy na pewno chcesz unieważnić ten klucz? Narzędzia korzystające z niego stracą dostęp.",
"confirmDelete": "Czy na pewno chcesz trwale usunąć ten klucz?"
},
"createDialog": {
"title": "Wygeneruj klucz API",
"description": "Utwórz nowy klucz API, aby połączyć narzędzia zewnętrzne ze swoimi notatkami.",
"nameLabel": "Nazwa klucza",
"namePlaceholder": "np. Claude Code, Cursor, N8N",
"generating": "Generowanie...",
"generate": "Wygeneruj",
"successTitle": "Klucz API wygenerowany",
"successDescription": "Skopiuj swój klucz API teraz. Nie będziesz mógł go ponownie zobaczyć.",
"copy": "Kopiuj",
"copied": "Skopiowano!",
"done": "Gotowe"
},
"configInstructions": {
"title": "Instrukcje konfiguracji",
"description": "Użyj swojego klucza API do konfiguracji tych narzędzi.",
"claudeCode": {
"title": "Claude Code",
"description": "Dodaj to do pliku konfiguracyjnego MCP Claude Code:"
},
"cursor": {
"title": "Cursor",
"description": "Dodaj to do ustawień MCP Cursor:"
},
"n8n": {
"title": "N8N",
"description": "Użyj tych danych logowania w węźle N8N MCP:"
}
}
}
}

View File

@@ -991,5 +991,65 @@
"collapse": "Recolher",
"expand": "Expandir",
"open": "Abrir"
},
"mcpSettings": {
"title": "Configurações MCP",
"description": "Gerencie suas chaves API e configure ferramentas externas",
"whatIsMcp": {
"title": "O que é MCP?",
"description": "O Model Context Protocol (MCP) é um protocolo aberto que permite que modelos de IA interajam de forma segura com ferramentas e fontes de dados externas. Com o MCP, você pode conectar ferramentas como Claude Code, Cursor ou N8N à sua instância do Keep Notes para ler, criar e organizar suas notas programaticamente.",
"learnMore": "Saiba mais sobre o MCP"
},
"serverStatus": {
"title": "Status do servidor",
"running": "Em execução",
"stopped": "Parado",
"mode": "Modo",
"url": "URL"
},
"apiKeys": {
"title": "Chaves API",
"description": "As chaves API permitem que ferramentas externas acessem suas notas via MCP. Mantenha suas chaves em segredo.",
"generate": "Gerar nova chave",
"empty": "Nenhuma chave API ainda. Gere uma para começar.",
"active": "Ativa",
"revoked": "Revogada",
"revoke": "Revogar",
"delete": "Excluir",
"createdAt": "Criada",
"lastUsed": "Último uso",
"never": "Nunca",
"confirmRevoke": "Tem certeza de que deseja revogar esta chave? As ferramentas que a usam perderão o acesso.",
"confirmDelete": "Tem certeza de que deseja excluir permanentemente esta chave?"
},
"createDialog": {
"title": "Gerar chave API",
"description": "Crie uma nova chave API para conectar ferramentas externas às suas notas.",
"nameLabel": "Nome da chave",
"namePlaceholder": "ex. Claude Code, Cursor, N8N",
"generating": "Gerando...",
"generate": "Gerar",
"successTitle": "Chave API gerada",
"successDescription": "Copie sua chave API agora. Você não poderá vê-la novamente.",
"copy": "Copiar",
"copied": "Copiada!",
"done": "Concluído"
},
"configInstructions": {
"title": "Instruções de configuração",
"description": "Use sua chave API para configurar estas ferramentas.",
"claudeCode": {
"title": "Claude Code",
"description": "Adicione isto ao seu arquivo de configuração MCP do Claude Code:"
},
"cursor": {
"title": "Cursor",
"description": "Adicione isto às suas configurações MCP do Cursor:"
},
"n8n": {
"title": "N8N",
"description": "Use estas credenciais no seu nó MCP do N8N:"
}
}
}
}

View File

@@ -991,5 +991,65 @@
"collapse": "Свернуть",
"expand": "Развернуть",
"open": "Открыть"
},
"mcpSettings": {
"title": "Настройки MCP",
"description": "Управление ключами API и настройка внешних инструментов",
"whatIsMcp": {
"title": "Что такое MCP?",
"description": "Model Context Protocol (MCP) — это открытый протокол, позволяющий моделям ИИ безопасно взаимодействовать с внешними инструментами и источниками данных. С помощью MCP вы можете подключить такие инструменты, как Claude Code, Cursor или N8N, к вашему экземпляру Keep Notes для программного чтения, создания и организации заметок.",
"learnMore": "Подробнее о MCP"
},
"serverStatus": {
"title": "Состояние сервера",
"running": "Запущен",
"stopped": "Остановлен",
"mode": "Режим",
"url": "URL"
},
"apiKeys": {
"title": "Ключи API",
"description": "Ключи API позволяют внешним инструментам получать доступ к вашим заметкам через MCP. Храните ключи в секрете.",
"generate": "Создать новый ключ",
"empty": "Нет ключей API. Создайте один, чтобы начать.",
"active": "Активен",
"revoked": "Отозван",
"revoke": "Отозвать",
"delete": "Удалить",
"createdAt": "Создан",
"lastUsed": "Последнее использование",
"never": "Никогда",
"confirmRevoke": "Вы уверены, что хотите отозвать этот ключ? Инструменты, использующие его, потеряют доступ.",
"confirmDelete": "Вы уверены, что хотите навсегда удалить этот ключ?"
},
"createDialog": {
"title": "Создать ключ API",
"description": "Создайте новый ключ API для подключения внешних инструментов к вашим заметкам.",
"nameLabel": "Имя ключа",
"namePlaceholder": "напр. Claude Code, Cursor, N8N",
"generating": "Генерация...",
"generate": "Создать",
"successTitle": "Ключ API создан",
"successDescription": "Скопируйте ключ API сейчас. Вы не сможете увидеть его снова.",
"copy": "Копировать",
"copied": "Скопировано!",
"done": "Готово"
},
"configInstructions": {
"title": "Инструкции по настройке",
"description": "Используйте свой ключ API для настройки этих инструментов.",
"claudeCode": {
"title": "Claude Code",
"description": "Добавьте это в файл конфигурации MCP Claude Code:"
},
"cursor": {
"title": "Cursor",
"description": "Добавьте это в настройки MCP Cursor:"
},
"n8n": {
"title": "N8N",
"description": "Используйте эти учётные данные в узле N8N MCP:"
}
}
}
}

View File

@@ -997,5 +997,65 @@
"collapse": "收起",
"expand": "展开",
"open": "打开"
},
"mcpSettings": {
"title": "MCP 设置",
"description": "管理 API 密钥并配置外部工具",
"whatIsMcp": {
"title": "什么是 MCP",
"description": "模型上下文协议MCP是一个开放协议使 AI 模型能够与外部工具和数据源安全交互。通过 MCP您可以将 Claude Code、Cursor 或 N8N 等工具连接到您的 Keep Notes 实例,以编程方式读取、创建和整理笔记。",
"learnMore": "了解更多关于 MCP"
},
"serverStatus": {
"title": "服务器状态",
"running": "运行中",
"stopped": "已停止",
"mode": "模式",
"url": "URL"
},
"apiKeys": {
"title": "API 密钥",
"description": "API 密钥允许外部工具通过 MCP 访问您的笔记。请保管好您的密钥。",
"generate": "生成新密钥",
"empty": "暂无 API 密钥。生成一个以开始使用。",
"active": "有效",
"revoked": "已撤销",
"revoke": "撤销",
"delete": "删除",
"createdAt": "创建于",
"lastUsed": "上次使用",
"never": "从未使用",
"confirmRevoke": "确定要撤销此密钥吗?使用该密钥的工具将失去访问权限。",
"confirmDelete": "确定要永久删除此密钥吗?"
},
"createDialog": {
"title": "生成 API 密钥",
"description": "创建新的 API 密钥以将外部工具连接到您的笔记。",
"nameLabel": "密钥名称",
"namePlaceholder": "例如Claude Code、Cursor、N8N",
"generating": "生成中...",
"generate": "生成",
"successTitle": "API 密钥已生成",
"successDescription": "请立即复制您的 API 密钥。之后将无法再次查看。",
"copy": "复制",
"copied": "已复制!",
"done": "完成"
},
"configInstructions": {
"title": "配置说明",
"description": "使用您的 API 密钥配置这些工具。",
"claudeCode": {
"title": "Claude Code",
"description": "将以下内容添加到您的 Claude Code MCP 配置文件中:"
},
"cursor": {
"title": "Cursor",
"description": "将以下内容添加到您的 Cursor MCP 设置中:"
},
"n8n": {
"title": "N8N",
"description": "在您的 N8N MCP 节点中使用以下凭据:"
}
}
}
}