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:
@@ -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:"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user