Files
Momento/memento-note/locales/en.json
Antigravity 17594124b0
Some checks failed
CI / Lint, Unit Tests & Build (push) Successful in 5m30s
CI / Deploy production (on server) (push) Failing after 0s
feat: modération IA automatique à la publication
- contentModerationService branché dans /api/notes/publish
- blocked → 403, publication refusée, toast d'explication
- flagged → publié mais admins notifiés pour révision
- safe → publication normale
- PublishDialog gère les 3 cas (succès normal, flagged, blocked)
- i18n FR/EN
2026-06-20 07:51:44 +00:00

3820 lines
171 KiB
JSON

{
"auth": {
"signIn": "Sign In",
"signUp": "Sign Up",
"email": "Email",
"password": "Password",
"name": "Name",
"emailPlaceholder": "Enter your email address",
"passwordPlaceholder": "Enter your password",
"namePlaceholder": "Enter your name",
"passwordMinChars": "Enter password (min 6 chars)",
"resetPassword": "Reset Password",
"resetPasswordInstructions": "Enter your email to reset password",
"forgotPassword": "Forgot password?",
"noAccount": "Don't have an account?",
"hasAccount": "Already have an account?",
"signInToAccount": "Sign in to your account",
"createAccount": "Create your account",
"rememberMe": "Remember me",
"orContinueWith": "Or continue with",
"continueWithGoogle": "Continue with Google",
"sessionExpired": "Your session has expired. Please sign in again.",
"oauthAccountNotLinked": "This Google account does not match your existing account. Use the same email or sign in with your password.",
"checkYourEmail": "Check your email",
"resetEmailSent": "We have sent a password reset link to your email address if it exists in our system.",
"returnToLogin": "Return to Login",
"forgotPasswordTitle": "Forgot Password",
"forgotPasswordDescription": "Enter your email address and we'll send you a link to reset your password.",
"sending": "Sending...",
"sendResetLink": "Send Reset Link",
"backToLogin": "Back to login",
"signOut": "Sign out",
"confirmPassword": "Confirm Password",
"confirmPasswordPlaceholder": "Confirm your password",
"welcomeBack": "Welcome Back",
"welcomeBackSubtitle": "Enter your credentials to access your notes.",
"createYourSpace": "Create Your Space",
"createYourSpaceSubtitle": "Join the new era of smart note-taking.",
"forgot": "Forgot?",
"backToSite": "Back to site",
"privacyTerms": "© 2025 Momento Labs — Privacy · Terms"
},
"sidebar": {
"notes": "Notes",
"recent": "Recent",
"quickNav": "Quick navigation",
"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",
"clearFilter": "Remove filter",
"inbox": "Inbox",
"sharedWithMe": "Shared with me",
"sortNewest": "Newest first",
"sortOldest": "Oldest first",
"sortAlpha": "A → Z",
"accountMenu": "Account menu",
"profile": "Profile",
"signOut": "Sign out",
"sortOrder": "Sort order",
"freezePinnedNotebook": "Pin notebook sidebar order",
"unfreezePinnedNotebook": "Unpin notebook sidebar order",
"newSubNotebook": "New sub-notebook",
"notebookEmpty": "Empty",
"renameNotebook": "Rename",
"sharedNotebookBadge": "· Shared",
"sortManual": "Custom order",
"moveFailed": "Failed to move notebook",
"dropToRoot": "Drop here to move to root",
"noReminders": "No active reminders.",
"documents": "Documents",
"searchNotebooksPlaceholder": "Search notebooks…",
"clearSearch": "Clear search",
"insightsPanelBody": "Semantic map of your notes: thematic clusters, bridge notes, and connection suggestions.",
"revisionPanelBody": "Review flashcards with the SM-2 algorithm. Decks are generated from your notes.",
"backToNotebooks": "Back to notebooks",
"dailyNote": "Daily Note",
"dailyNoteError": "Could not open today's note",
"dailyNoteTooltip": "Open or create your personal daily journal note for today"
},
"notes": {
"title": "Notes",
"newNote": "New note",
"reorganize": "Reorganize notes",
"untitled": "Untitled",
"placeholder": "Take a note...",
"markdownPlaceholder": "Take a note... (Markdown supported)",
"titlePlaceholder": "Title",
"noteTypes": {
"richtext": "Rich Text",
"markdown": "Markdown",
"text": "Plain text",
"checklist": "Checklist",
"clip": "Web clip"
},
"listItem": "List item",
"addListItem": "+ List item",
"newChecklist": "New checklist",
"add": "Add",
"adding": "Adding...",
"close": "Close",
"confirmDelete": "Are you sure you want to delete this note?",
"confirmLeaveShare": "Are you sure you want to leave this shared note?",
"sharedBy": "Shared by",
"sharedShort": "Shared",
"leaveShare": "Leave",
"delete": "Delete",
"archive": "Archive",
"unarchive": "Unarchive",
"pin": "Pin",
"unpin": "Unpin",
"color": "Color",
"changeColor": "Change color",
"setReminder": "Set reminder",
"setReminderButton": "Set Reminder",
"date": "Date",
"time": "Time",
"reminderDateTimeRequired": "Please enter date and time",
"invalidDateTime": "Invalid date or time",
"reminderMustBeFuture": "Reminder must be in the future",
"reminderSet": "Reminder set for {datetime}",
"reminderPastError": "Reminder must be in the future",
"reminderRemoved": "Reminder removed",
"addImage": "Add image",
"addLink": "Add link",
"linkAdded": "Link added",
"linkMetadataFailed": "Could not fetch link metadata",
"linkAddFailed": "Failed to add link",
"invalidFileType": "Invalid file type: {fileName}. Only JPEG, PNG, GIF, and WebP allowed.",
"fileTooLarge": "File too large: {fileName}. Maximum size is {maxSize}.",
"uploadFailed": "Failed to upload {filename}",
"contentOrMediaRequired": "Please enter some content or add a link/image",
"itemOrMediaRequired": "Please add at least one item or media",
"noteCreated": "Note created successfully",
"noteCreateFailed": "Failed to create note",
"deleted": "Note deleted",
"deleteFailed": "Failed to delete note",
"aiAssistant": "AI Assistant",
"changeSize": "Change size",
"backgroundOptions": "Background options",
"moreOptions": "More options",
"remindMe": "Remind me",
"markdownMode": "Markdown",
"addCollaborators": "Add collaborators",
"duplicate": "Duplicate",
"share": "Share",
"showCollaborators": "Show collaborators",
"pinned": "Pinned",
"viewNotes": "Notes",
"viewTasks": "Tasks",
"layoutGridTitle": "Card / grid view",
"layoutListTitle": "Editorial list view",
"layoutTableTitle": "Structured table view",
"tasksHeader": "Notebook tasks",
"tasksSummary": "{count} tasks · {completed} completed",
"tasksEmptyTitle": "No tasks in this notebook",
"tasksEmptyHint": "Add lines like « - [ ] My task » in your notes to see them here.",
"taskFromNote": "Note: {title}",
"openSourceNote": "Open source note",
"tableTitle": "Title",
"tableNotebook": "Notebook",
"tableLabels": "Labels",
"tableTasks": "Tasks",
"tableModified": "Modified",
"others": "Others",
"noNotes": "No notes",
"noNotesFound": "No notes found",
"createFirstNote": "Create your first note",
"size": "Size",
"small": "Small",
"medium": "Medium",
"large": "Large",
"shareWithCollaborators": "Share with collaborators",
"view": "View Note",
"edit": "Edit",
"readOnly": "Read Only",
"preview": "Preview",
"noContent": "No content",
"takeNote": "Take a note...",
"takeNoteMarkdown": "Take a note... (Markdown supported)",
"addItem": "Add item",
"sharedReadOnly": "This note is shared with you in read-only mode",
"makeCopy": "Make a copy",
"saving": "Saving...",
"copySuccess": "Note copied successfully!",
"copyFailed": "Failed to copy note",
"copy": "Copy",
"markdownOn": "Markdown ON",
"markdownOff": "Markdown OFF",
"undo": "Undo (Ctrl+Z)",
"redo": "Redo (Ctrl+Y)",
"pinnedNotes": "Pinned Notes",
"recent": "Recent",
"addNote": "Add Note",
"readMore": "Read more",
"remove": "Remove",
"dragToReorder": "Drag to reorder",
"more": "More options",
"emptyState": "No notes yet. Create your first note!",
"metadataPanel": "Details",
"metadataNotebook": "Notebook",
"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",
"shortenFailed": "Failed to shorten text",
"improveFailed": "Failed to improve text",
"transformFailed": "Failed to transform text",
"markdown": "Markdown",
"unpinned": "Unpinned",
"redoShortcut": "Redo (Ctrl+Y)",
"undoShortcut": "Undo (Ctrl+Z)",
"reorderTabs": "Reorder tab",
"modified": "Modified",
"created": "Created",
"loading": "Loading...",
"exportPDF": "Export PDF",
"savedStatus": "Saved",
"saved": "Note saved",
"dirtyStatus": "Modified",
"completedLabel": "Completed",
"notes.emptyNotebook": "Empty notebook",
"notes.emptyNotebookDesc": "This notebook has no notes. Click + to create one.",
"notes.noNoteSelected": "No note selected",
"notes.selectOrCreateNote": "Select a note from the list or create a new one.",
"commitVersion": "Save version",
"versionSaved": "Version saved",
"deleteVersion": "Delete this version",
"versionDeleted": "Version deleted",
"deleteVersionConfirm": "Delete this version?",
"deleteVersionDesc": "This action cannot be undone. The version will be permanently deleted from the history.",
"historyMode": "History mode",
"historyModeManual": "Manual (commit button)",
"historyModeAuto": "Automatic (smart)",
"historyModeManualDesc": "Create snapshots manually with the commit button",
"historyModeAutoDesc": "Automatic snapshots with smart detection",
"history": "History",
"historyRestored": "Version restored",
"historyEnabled": "History enabled",
"historyDisabledTitle": "Version history",
"historyDisabledDesc": "Track changes to this note over time. Enable history to start recording versions.",
"historyEnabledTitle": "History enabled!",
"historyEnabledDesc": "Versions of this note will now be recorded.",
"enableHistory": "Enable history",
"historyEmpty": "No versions available",
"historySelectVersion": "Select a version to preview its content",
"currentVersion": "current",
"compareVersions": "Compare",
"diffTitle": "Comparison",
"diffSelectHint": "Click on 2 versions in the list to compare them",
"sortBy": "Sort by",
"sortDateDesc": "Date (newest)",
"sortDateAsc": "Date (oldest)",
"sortTitleAsc": "Title A → Z",
"sortTitleDesc": "Title Z → A",
"suggestTitle": "AI title",
"generateTitleFromImage": "Generate title from image",
"titleGenerated": "Title generated",
"content": "Content",
"restore": "Restore",
"createFailed": "Failed to create note",
"updateFailed": "Failed to update note",
"archived": "Note archived",
"unarchivedSuccess": "Note removed from archive",
"archiveFailed": "Failed to archive",
"sort": "Sort",
"confirmDeleteTitle": "Delete note",
"leftShare": "Share removed",
"ideaOrigin": "Origin of the idea",
"noNoteLink": "Purely generative idea",
"dismiss": "Not pertinent",
"dismissed": "Note dismissed from recent",
"generalNotes": "General Notes",
"noteType": "Note type",
"typeText": "Text",
"typeMarkdown": "Markdown",
"typeRichText": "Rich Text",
"typeChecklist": "Checklist",
"convertedToRichText": "Converted to rich text",
"conversionFailed": "Conversion failed, staying in Markdown",
"richTextPlaceholder": "Take a note...",
"switchTypeTitle": "Switch note type?",
"switchTypeWarning": "Some formatting may be lost when switching to {type}.",
"switchTypeContentPreserved": "Your content will be preserved as plain text.",
"switchType": "Switch to {type}",
"saveNow": "Save now",
"backToCollection": "Back to collection",
"markdownEditingTitle": "Return to editing",
"markdownPreviewTitle": "Preview",
"brainstormThisIdea": "Brainstorm this idea",
"brainstormThisIdeaAria": "Brainstorm this idea",
"shareNoteTitle": "Share note",
"shareNoteAria": "Share note",
"saveNoteAria": "Save note",
"noChangesToSaveAria": "No changes to save",
"optionsMenuAria": "Options menu",
"deleteNoteConfirmItem": "Delete note",
"noteDeletedToast": "Note deleted.",
"deleteNoteFailedToast": "Could not delete.",
"documentInfoAria": "Document information",
"noModification": "No changes",
"uploading": "Uploading...",
"open": "Open",
"illustrationGenerated": "Illustration generated",
"attachments": "Attachments",
"search": "Search",
"generateIllustration": "Generate illustration",
"regenerateIllustration": "Regenerate illustration",
"deleteIllustration": "Delete illustration",
"saveFailed": "Failed to save",
"createFirst": "Create your first note",
"unarchived": "Unarchived",
"savedJustNow": "Saved",
"unsaved": "Unsaved changes"
},
"pagination": {
"previous": "←",
"pageInfo": "Page {currentPage} / {totalPages}",
"next": "→"
},
"labels": {
"title": "Labels",
"filter": "Filter by Label",
"manage": "Manage Labels",
"manageTooltip": "Manage Labels",
"changeColor": "Change Color",
"changeColorTooltip": "Change color",
"delete": "Delete",
"deleteTooltip": "Delete label",
"confirmDelete": "Are you sure you want to delete this label?",
"newLabelPlaceholder": "Create new label",
"namePlaceholder": "Enter label name",
"addLabel": "Add label",
"createLabel": "Create label",
"labelName": "Label name",
"labelColor": "Label color",
"manageLabels": "Manage labels",
"manageLabelsDescription": "Add or remove labels for this note. Click on a label to change its color.",
"selectedLabels": "Selected Labels",
"allLabels": "All Labels",
"clearAll": "Clear all",
"filterByLabel": "Filter by label",
"tagAdded": "Tag \"{tag}\" added",
"showLess": "Show less",
"showMore": "Show more",
"editLabels": "Edit Labels",
"editLabelsDescription": "Create, edit colors, or delete labels.",
"noLabelsFound": "No labels found.",
"loading": "Loading...",
"notebookRequired": "⚠️ Labels are only available in notebooks. Move this note to a notebook first.",
"count": "{count} labels",
"noLabels": "No labels",
"confirmDeleteShort": "Confirm?",
"labelRemoved": "Label \"{label}\" removed",
"filterByTags": "Filter by tags",
"searchTags": "Search tags"
},
"search": {
"placeholder": "Search",
"searchPlaceholder": "Search your notes...",
"semanticInProgress": "AI search in progress...",
"semanticTooltip": "AI semantic search",
"searching": "Searching...",
"noResults": "No results found",
"resultsFound": "{count} notes found",
"exactMatch": "Exact match",
"related": "Related",
"disabledAdmin": "Search disabled in admin mode"
},
"collaboration": {
"emailPlaceholder": "Enter email address",
"addCollaborator": "Add collaborator",
"removeCollaborator": "Remove collaborator",
"owner": "Owner",
"canEdit": "Can edit",
"canView": "Can view",
"shareNote": "Share note",
"shareWithCollaborators": "Share with collaborators",
"addCollaboratorDescription": "Add people to collaborate on this note by their email address.",
"viewerDescription": "You have access to this note. Only the owner can manage collaborators.",
"emailAddress": "Email address",
"enterEmailAddress": "Enter email address",
"invite": "Invite",
"peopleWithAccess": "People with access",
"noCollaborators": "No collaborators yet. Add someone above!",
"noCollaboratorsViewer": "No collaborators yet.",
"pendingInvite": "Pending Invite",
"pending": "Pending",
"remove": "Remove",
"unnamedUser": "Unnamed User",
"done": "Done",
"willBeAdded": "{email} will be added as collaborator when note is created",
"alreadyInList": "This email is already in the list",
"nowHasAccess": "{name} now has access to this note",
"accessRevoked": "Access has been revoked",
"errorLoading": "Error loading collaborators",
"failedToAdd": "Failed to add collaborator",
"failedToRemove": "Failed to remove collaborator",
"shareCompactTitle": "Share",
"inviteByEmailLabel": "Invite by email",
"accessReadCompact": "View",
"accessEditCompact": "Edit",
"sendInvitation": "Send invitation",
"invitationSentBadge": "Invitation sent",
"sharedAccessLabel": "Shared access",
"noCollaboratorsEmpty": "No collaborators yet.",
"removeAccessTitle": "Remove access",
"toastInviteSentTo": "Invitation sent to {email}",
"toastAccessRemoved": "Access removed for {target}",
"toastUserFallback": "the user",
"toastSharingError": "Sharing error",
"toastEmailNotFound": "No account found with this email.",
"toastAlreadySharedUser": "This note is already shared with this user.",
"toastRemoveAccessFailed": "Could not remove access.",
"userFallback": "User"
},
"ai": {
"analyzing": "AI analyzing...",
"clickToAddTag": "Click to add this tag",
"ignoreSuggestion": "Ignore this suggestion",
"generatingTitles": "Generating titles...",
"generateTitlesTooltip": "Generate titles with AI",
"poweredByAI": "Powered by AI",
"languageDetected": "Language detected",
"processing": "Processing...",
"tagAdded": "Tag \"{tag}\" added",
"titleGenerating": "Generating...",
"titleGenerateWithAI": "Generate titles with AI",
"titleGenerationMinWords": "Content must have at least 10 words to generate titles (current: {count} words)",
"titleGenerationError": "Error generating titles",
"titlesGenerated": "💡 {count} titles generated!",
"titleGenerationFailed": "Failed to generate titles",
"titleApplied": "Title applied!",
"reformulationNoText": "Please select text or add content",
"reformulationSelectionTooShort": "Selection too short, using full content",
"reformulationMinWords": "Text must have at least 10 words (current: {count} words)",
"reformulationMaxWords": "Text must have maximum 500 words",
"reformulationError": "Error during reformulation",
"reformulationFailed": "Failed to reformulate text",
"reformulationApplied": "Reformulated text applied!",
"transformMarkdown": "Transform to Markdown",
"transforming": "Transforming...",
"transformSuccess": "Text transformed to Markdown successfully!",
"transformError": "Error during transformation",
"convertToRichtext": "Convert to Rich Text",
"convertingToRichtext": "Converting...",
"assistant": "AI Note",
"generating": "Generating...",
"generateTitles": "Generate titles",
"reformulateText": "Reformulate text",
"reformulating": "Reformulating...",
"clarify": "Clarify",
"shorten": "Shorten",
"improveStyle": "Improve style",
"reformulationComparison": "Reformulation Comparison",
"original": "Original",
"reformulated": "Reformulated",
"autoLabels": {
"error": "Failed to fetch label suggestions",
"noLabelsSelected": "No labels selected",
"created": "{count} labels created successfully",
"analyzing": "Analyzing your notes...",
"title": "New Label Suggestions",
"description": "I've detected recurring themes in \"{notebookName}\" ({totalNotes} notes). Create labels for them?",
"note": "note",
"notes": "notes",
"typeContent": "Type content to get label suggestions...",
"createNewLabel": "Create this new label and add it",
"new": "(new)",
"create": "Create",
"creating": "Creating labels...",
"notesCount": "{count} notes",
"typeForSuggestions": "Type content to get label suggestions...",
"noNotebook": "No notebook selected",
"noSuggestions": "No suggestions",
"regenerate": "Regenerate"
},
"batchOrganization": {
"title": "Organize with AI",
"description": "AI will analyze your notes and suggest organizing them into notebooks.",
"analyzing": "Analyzing your notes...",
"noNotebooks": "No notebooks available. Create notebooks first to organize your notes.",
"noSuggestions": "AI could not find a good way to organize these notes.",
"apply": "Apply",
"applying": "Applying...",
"success": "{count} notes moved successfully",
"error": "Failed to create organization plan",
"noNotesSelected": "No notes selected",
"applyFailed": "Failed to apply organization plan",
"selectAllIn": "Select all notes in {notebook}",
"selectNote": "Select note: {title}",
"notesToOrganize": "Notes to organize",
"selected": "Selected",
"unorganized": "Unorganized"
},
"notebookSummary": {
"regenerate": "Regenerate Summary",
"regenerating": "Regenerating summary...",
"exportPDF": "Export as PDF"
},
"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",
"minWordsError": "Note must contain at least 5 words to use AI actions.",
"wordCountMin": "Minimum {min} words required ({current} current)",
"wordCountMax": "Maximum {max} words allowed ({current} current)",
"genericError": "AI error",
"actionError": "Error during AI action",
"appliedToNote": "Applied to note",
"applyToNote": "Apply to note",
"undoLastAction": "Undo last AI action",
"selectContext": "Select context...",
"selectNotebook": "Select notebook",
"chatPlaceholder": "Ask AI to edit, summarize, or draft...",
"assistantTitle": "AI Note",
"currentNote": "Current note",
"shrinkPanel": "Shrink panel",
"expandPanel": "Expand panel",
"chatTab": "Chat",
"noteActions": "Note Actions",
"askToStart": "Ask the Assistant something to get started.",
"chatPanelContext": "Context",
"chatPanelNotebookPlus": "+ Notebook",
"chatPanelWritingTone": "Writing tone",
"scopeAutoBadge": "Auto",
"chatNoteQuestionPlaceholder": "Ask a question about this note...",
"chatNotebookSelectPlaceholder": "Include a notebook...",
"assistantTabActions": "Actions",
"resourcePreviewAiTitle": "AI preview",
"resourcePreviewInjectFromChat": "Inject from chat",
"contextLabel": "Context",
"thisNote": "This note",
"contextSourceHeading": "Context source",
"tones": {
"professional": "Professional",
"creative": "Creative",
"academic": "Academic",
"casual": "Casual"
},
"allMyNotes": "All my notes",
"notebookGeneric": "Notebook",
"writingTone": "Writing Tone",
"askAboutThisNote": "Ask AI something about this note...",
"askAboutYourNotes": "Ask AI something about your notes...",
"webSearchLabel": "Web Search",
"newLineHint": "Shift+Enter = new line",
"resultLabel": "Result",
"discardAction": "Discard",
"organization": "Organization",
"transformationsDesc": "Transformations — applied directly to the note",
"writeMinWordsAction": "Write at least 5 words to activate AI actions.",
"processingAction": "Processing...",
"noImagesError": "No images in this note",
"overview": "Overview",
"action": {
"clarify": "Clarify",
"shorten": "Shorten",
"improve": "Improve",
"toMarkdown": "To Markdown",
"describeImages": "Describe images",
"fixGrammar": "Fix Grammar",
"translate": "Translate",
"explain": "Explain",
"toRichText": "Convert to rich text",
"generateChart": "Generate chart",
"customLang": "Custom language"
},
"generate": {
"slides": "Generate Slides",
"sectionLabel": "Generation Tools",
"theme": "Theme",
"themeAuto": "Automatic (AI picks)",
"themeArchitecturalMono": "Architectural Mono",
"themeVibrantTech": "Vibrant Tech",
"themeMinimalSilk": "Minimal Silk",
"style": "Style",
"styleProfessional": "Professional",
"styleCreative": "Creative",
"styleBrutalist": "Brutalist",
"template": "Template",
"templateAuto": "Auto (AI decides)",
"templateBoard": "Board Update",
"templateProject": "Project Status",
"templateStrategy": "Strategy Review",
"templateQuarterly": "Quarterly Results",
"diagram": "Generate Diagram",
"diagramReadyHint": "Convert note into visual flow",
"diagramType": "Diagram Type",
"typeAuto": "Auto-detect",
"typeFlowchart": "Flowchart",
"typeMindMap": "Mind Map",
"typeTimeline": "Timeline",
"typeOrgChart": "Org Chart",
"typeArchitecture": "Architecture",
"typeProcessMap": "Process Map",
"styleSketchy": "Sketchy",
"styleSoft": "Soft",
"styleMinimal": "Minimal",
"styleDraft": "Draft",
"stylePolished": "Polished",
"styleHandwritten": "Handwritten",
"diagramReady": "Diagram is ready!",
"openInExcalidraw": "Open in Excalidraw Lab",
"insertDiagramInNote": "Embed PNG in current note",
"diagramImageAlt": "AI Generated Diagram",
"insertedInNote": "Diagram inserted in note",
"insertExportError": "Error exporting/uploading diagram",
"noNoteId": "No note ID"
},
"openAssistant": "Open AI Note",
"poweredByMomento": "Powered by Momento AI",
"welcomeMsg": "Hello! I'm your AI assistant. How can I help you with your notes today? I can help refine tone, expand messaging, or summarize content.",
"summaryLast5": "Summary of your last 5 notes",
"analyzingProgress": "Analyzing...",
"generateInsightsBtn": "Generate Insights",
"newDiscussion": "New discussion",
"noRecentConversations": "No recent conversations.",
"discussionContextLabel": "Discussion Context",
"webSearchNotConfigured": "Web Search (Not configured)",
"historyTab": "History",
"insightsTab": "Insights",
"aiCopilot": "AI Copilot",
"suggestTitle": "AI title suggestion",
"generateTitleFromImage": "Generate title from image",
"titleGenerated": "Title generated from image",
"resourceTab": "Resource",
"aiNoteTitle": "AI Note",
"injectReplace": "Replace",
"injectReplaceTitle": "Replace note content with this message",
"injectComplete": "Complete",
"injectCompleteTitle": "Complete note with this message (AI)",
"injectMerge": "Merge",
"injectMergeTitle": "Merge with note (AI)",
"imagesCount": "{count} images",
"resource": {
"failedToLoadUrl": "Failed to load this URL",
"pageLoaded": "Page loaded: {title}",
"pageLoadError": "Error loading the page",
"pasteOrUrlFirst": "Paste text or load a URL first",
"enrichError": "Enrichment error",
"enrichErrorShort": "Enrichment error",
"contentApplied": "Content applied to note ✓",
"fromChat": "💬 From chat",
"replacement": "↓ Replacement",
"completedByAI": "✦ Completed by AI",
"mergedByAI": "⟳ Merged by AI",
"rendered": "Rendered",
"cancel": "Cancel",
"applyToNote": "Apply to note",
"urlLabel": "URL (optional)",
"resourceText": "Resource text",
"resourcePlaceholder": "Paste your text here (markdown, HTML, plain text…)",
"words": "words",
"integrationMode": "Integration mode",
"modeReplace": "Replace",
"modeReplaceDesc": "Direct, no AI",
"modeComplete": "Complete",
"modeCompleteDesc": "Adds without rewriting",
"modeMerge": "Merge",
"modeMergeDesc": "Rewrites and integrates",
"aiProcessing": "AI processing…",
"preview": "Preview",
"generatePreview": "Generate preview",
"emptyNoteHint": "💡 The note is empty — the resource content will be integrated directly."
},
"cancel": "Cancel",
"copied": "Copied",
"copy": "Copy",
"transformations": "Transformations",
"otherLanguage": "Another language",
"translateNow": "Translate now",
"generationTools": "Generation tools",
"generateSlidesLoading": "⏳ Generating presentation...",
"generateDiagramLoading": "⏳ Generating diagram...",
"generateChartLoading": "⏳ Generating chart...",
"chart": {
"title": "Chart",
"generate": "Generate chart",
"generateDesc": "Create a visualization from data",
"type": "Chart type",
"typeBar": "Bar",
"typeBarH": "Horizontal Bar",
"typeLine": "Line",
"typeArea": "Area",
"typePie": "Pie",
"typeRadar": "Radar",
"typeFunnel": "Funnel",
"typeGauge": "Gauge",
"autoDetect": "Auto detect",
"insertInNote": "Insert in note",
"chartReady": "Chart ready!",
"insertedMessage": "Chart inserted in note",
"noDataError": "No data found to create chart",
"invalidFormat": "Invalid data format"
},
"errorShort": "Error",
"readyToast": "Ready!",
"downloadFailedToast": "Download failed",
"viewSlidesButton": "View Presentation",
"pptxDownloadButton": "Download .pptx",
"presentationReadyBadge": "Presentation ready",
"openInLabTitle": "Open in Lab",
"inlineSummaryMarkdown": "**Summary:**",
"networkErrorShort": "Network error.",
"featureLocked": "This feature requires the PRO plan or higher.",
"quotaExceeded": "Monthly limit reached. Resets next month.",
"noHistory": "No history",
"webSearchDisabled": "Web search disabled",
"webSearchEnabled": "Web search enabled",
"result": {
"apply": "Apply",
"original": "Original",
"preview": "Preview",
"suggestion": "Suggestion"
}
},
"titleSuggestions": {
"available": "Title suggestions",
"title": "AI suggestions",
"generating": "Generating...",
"selectTitle": "Select a title",
"dismiss": "Dismiss"
},
"semanticSearch": {
"exactMatch": "Exact match",
"related": "Related",
"searching": "Searching..."
},
"paragraphRefactor": {
"title": "Text improvement",
"shorten": "Shorten",
"expand": "Expand",
"improve": "Improve",
"formal": "Formal",
"casual": "Casual"
},
"memoryEcho": {
"title": "I noticed something...",
"description": "Proactive connections between your notes",
"dailyInsight": "Daily insight from your notes",
"insightReady": "Your insight is ready!",
"viewConnection": "View Connection",
"helpful": "Helpful",
"notHelpful": "Not Helpful",
"dismiss": "Dismiss for now",
"thanksFeedback": "Thanks for your feedback!",
"thanksFeedbackImproving": "Thanks! We'll use this to improve.",
"connections": "Connections",
"connection": "connection",
"connectionsBadge": "{count} connection{plural}",
"match": "{percentage}% match",
"fused": "Fused",
"clickToView": "Click to view note →",
"overlay": {
"title": "Connected Notes",
"searchPlaceholder": "Search connections...",
"sortBy": "Sort by:",
"sortSimilarity": "Similarity",
"sortRecent": "Recent",
"sortOldest": "Oldest",
"viewAll": "View all side by side",
"loading": "Loading...",
"noConnections": "No connections found",
"error": "Failed to load connections"
},
"comparison": {
"title": "Side-by-side comparison",
"subtitle": "Review linked notes to decide what to keep or merge.",
"similarityInfo": "These notes are connected by {similarity}% similarity",
"highSimilarityInsight": "These notes deal with the same topic with a high degree of similarity. They could be merged or consolidated.",
"stayOnCurrentNote": "You stay on your current note. Close this window to keep writing.",
"untitled": "Untitled",
"clickToView": "Click to view note",
"helpfulQuestion": "Is this comparison helpful?",
"helpful": "Helpful",
"notHelpful": "Not Helpful"
},
"preview": {
"subtitle": "Preview of the linked note — you stay on the one you're editing.",
"loadError": "Could not load this note's content."
},
"editorSection": {
"title": "Connected notes ({count})",
"loading": "Loading…",
"view": "View",
"viewLinkedNote": "View linked note",
"compare": "Compare",
"merge": "Merge",
"compareAll": "Compare all",
"mergeAll": "Merge all",
"close": "Close",
"backToNote": "Back to my note",
"openInEditor": "Open in editor",
"badgeLabel": "Memory Echo",
"affinityBadge": "{percentage}% semantic affinity",
"intro": "Momento found another note on the same topic. Preview it, insert a citation, or merge — without leaving this one.",
"detectedIn": "Passage found in: {title}",
"helpToggle": "How does this work?",
"helpTitle": "What can you do with this connection?",
"helpView": "Shows the other note in a window. You stay on your current note.",
"helpCite": "Inserts a passage from the other note here, with a link to the source.",
"helpCompare": "Shows both notes side by side in a window.",
"helpMerge": "Combines both notes into one.",
"embedPassage": "Citation",
"embedding": "Inserting…",
"embedSuccess": "Citation inserted in your note",
"citationSuccess": "Citation inserted with link to source",
"embedFallback": "Open the source note, make a small edit, then try again.",
"embedFailed": "Could not insert the citation right now",
"showAll": "View all connections ({count})",
"hideAll": "Hide extra connections ({count})",
"retroTitle": "Notes that cite this content",
"retroDescription": "This passage is quoted in {count} other note(s):",
"consentRequired": "Enable AI processing in Settings → AI to see semantic connections for this note."
},
"fusion": {
"title": "🔗 Intelligent Fusion",
"mergeNotes": "Merge {count} note(s)",
"notesToMerge": "📝 Notes to merge",
"optionalPrompt": "💬 Fusion prompt (optional)",
"promptPlaceholder": "Optional instructions for AI (e.g., 'Keep the formal style of note 1')...",
"generateFusion": "Generate the fusion",
"generating": "Generating...",
"previewTitle": "📝 Preview of merged note",
"edit": "Edit",
"modify": "Modify",
"finishEditing": "Finish editing",
"optionsTitle": "Fusion options",
"archiveOriginals": "Archive original notes",
"keepAllTags": "Keep all tags",
"useLatestTitle": "Use latest note as title",
"createBacklinks": "Create backlink to original notes",
"cancel": "Cancel",
"confirmFusion": "Confirm fusion",
"success": "Notes merged successfully!",
"error": "Failed to merge notes",
"generateError": "Failed to generate fusion",
"noContentReturned": "No fusion content returned from API",
"unknownDate": "Unknown date"
}
},
"notification": {
"accept": "Accept",
"accepted": "Share accepted",
"decline": "Decline",
"noNotifications": "No new notifications",
"shared": "shared \"{title}\"",
"untitled": "Untitled",
"notifications": "Notifications",
"declined": "Share declined",
"removed": "Note removed from list",
"slidesReady": "Presentation ready",
"openSlides": "Open presentation",
"canvasReady": "Diagram ready",
"pptxReady": "Slides ready",
"downloadPptx": "Download .pptx",
"markAllRead": "Mark all read",
"agentSuccess": "Agent finished",
"agentFailed": "Agent failed",
"brainstormInvite": "Brainstorm",
"brainstormJoined": "Brainstorm",
"systemNotification": "System",
"clipSaved": "Web clip saved",
"downloadFailed": "Download failed",
"brainstormShared": "Brainstorm shared"
},
"clipper": {
"webClipper": "Web Clipper",
"connected": "Connected",
"destinationNotebook": "Destination notebook",
"selectNotebook": "Select a notebook",
"activePage": "Active page",
"selectionDetected": "Selection detected",
"ignore": "ignore",
"selectionHint": "Tip: highlight text on the page to clip a precise selection as a note.",
"clipSelection": "Clip selection",
"clipPage": "Clip this page",
"analyzingSource": "Analyzing source",
"processing": "Processing…",
"processingDetail": "Generating tags, semantic summary and embeddings.",
"successBadge": "Success",
"sentToNotebook": "Note saved to notebook",
"viewInMomento": "View in Momento",
"clipAnother": "Clip another page",
"captureFailed": "Capture failed",
"genericError": "Something went wrong while sending to your instance.",
"retry": "Retry",
"footer": "Momento Companion v2.1.2 · Secured HTTPS TLS 1.3",
"quitSimulator": "Close simulator",
"simulatorBadge": "Capture simulator",
"extensionActive": "Extension active on this page",
"publishedOn": "Published on {domain}",
"realtimeCapture": "Date: live capture",
"selectTextHint": "Select text below to clip",
"evalTipTitle": "Try it:",
"evalTipBody": "Highlight any text in the article below to activate the Selection state in the extension. You can also click a paragraph to simulate it.",
"clickParagraph": "Click to select this paragraph",
"selectionSaved": "Selection saved ({count} words)",
"clearSelection": "Clear selection",
"toastTitle": "Clipped note —",
"view": "View",
"simulatedClipper": "Clipper simulator"
},
"nav": {
"home": "Home",
"notes": "Notes",
"notebooks": "NOTEBOOKS",
"generalNotes": "General Notes",
"archive": "Archive",
"settings": "Settings",
"profile": "Profile",
"aiSettings": "AI Settings",
"logout": "Logout",
"login": "Login",
"adminDashboard": "Admin Dashboard",
"diagnostics": "Diagnostics",
"trash": "Trash",
"support": "Support Memento ☕",
"reminders": "Reminders",
"graphView": "Link map",
"insights": "Semantic themes",
"revision": "Review",
"userManagement": "User Management",
"accountSettings": "Account Settings",
"manageAISettings": "Manage AI Settings",
"configureAI": "Configure your AI-powered features, provider, and preferences",
"supportDevelopment": "Support Memento Development ☕",
"supportDescription": "Memento is 100% free and open-source. Your support helps keep it that way.",
"buyMeACoffee": "Buy me a coffee",
"donationDescription": "Make a one-time donation or become a monthly supporter.",
"donateOnKofi": "Donate on Ko-fi",
"donationNote": "No platform fees • Instant payouts • Secure",
"sponsorOnGithub": "Sponsor on GitHub",
"sponsorDescription": "Become a monthly sponsor and get recognition.",
"workspace": "Workspace",
"quickAccess": "Quick Access",
"myLibrary": "My Library",
"favorites": "Favorites",
"recent": "Recent",
"proPlan": "Pro Plan",
"chat": "AI Chat",
"lab": "The Workshop",
"agents": "Agents",
"sharedWithMe": "Shared with me"
},
"settings": {
"title": "Settings",
"description": "Manage your settings and preferences",
"account": "Account",
"appearance": "Appearance",
"theme": "Theme",
"themeLight": "Light",
"themeDark": "Dark",
"themeSystem": "System",
"themeBaseGroup": "Base",
"themePalettesGroup": "Color palettes",
"themeSepia": "Sepia",
"themeMidnight": "Midnight",
"themeRose": "Rose",
"themeGreen": "Green",
"themeLavender": "Lavender",
"themeSand": "Sand",
"themeOcean": "Ocean",
"themeSunset": "Sunset",
"themeBlue": "Blue",
"notifications": "Notifications",
"language": "Language",
"selectLanguage": "Select language",
"security": "Security",
"about": "About",
"version": "Version",
"settingsSaved": "Settings saved",
"cardSizeMode": "Note Size",
"cardSizeModeDescription": "Choose between variable sizes or uniform size",
"selectCardSizeMode": "Select display mode",
"cardSizeVariable": "Variable sizes (small/medium/large)",
"cardSizeUniform": "Uniform size",
"settingsError": "Error saving settings",
"maintenance": "Maintenance",
"maintenanceDescription": "Tools to maintain your database health",
"cleanTags": "Clean Orphan Tags",
"cleanTagsDescription": "Remove tags that are no longer used by any notes",
"cleanupDone": "Synced {created} label record(s), removed {deleted} orphan(s)",
"cleanupNothing": "Nothing to do — labels already match your notes",
"cleanupWithErrors": "some operations failed",
"cleanupError": "Could not clean up labels",
"indexingComplete": "Indexing complete: {count} note(s) processed",
"indexingError": "Error during indexing",
"semanticIndexing": "Semantic Indexing",
"semanticIndexingDescription": "Generate vectors for all notes to enable intent-based search",
"profile": "Profile",
"searchNoResults": "No settings found",
"languageAuto": "Language set to Auto",
"emailNotifications": "Email notifications",
"emailNotificationsDesc": "Receive important notifications by email",
"desktopNotifications": "Desktop notifications",
"desktopNotificationsDesc": "Receive notifications in your browser",
"notificationsDesc": "Manage your notification preferences",
"autoSave": "Auto-save",
"autoSaveDesc": "Automatically save changes while typing",
"autoSaveEnabled": "Auto-save enabled!",
"autoSaveDisabled": "Auto-save disabled"
},
"profile": {
"title": "Profile",
"description": "Update your personal information",
"displayName": "Display Name",
"email": "Email",
"changePassword": "Change Password",
"changePasswordDescription": "Update your password. You will need your current password.",
"currentPassword": "Current Password",
"newPassword": "New Password",
"confirmPassword": "Confirm Password",
"updatePassword": "Update Password",
"passwordChangeSuccess": "Password changed successfully",
"passwordChangeFailed": "Failed to change password",
"passwordUpdated": "Password updated",
"passwordError": "Error updating password",
"languagePreferences": "Language Preferences",
"languagePreferencesDescription": "Choose your preferred language for AI features and interface.",
"preferredLanguage": "Preferred Language",
"selectLanguage": "Select a language",
"languageDescription": "This language will be used for AI-powered features, content analysis, and interface text.",
"autoDetect": "Auto-detect",
"updateSuccess": "Profile updated",
"updateFailed": "Failed to update profile",
"languageUpdateSuccess": "Language updated successfully",
"languageUpdateFailed": "Failed to update language",
"profileUpdated": "Profile updated",
"profileError": "Error updating profile",
"accountSettings": "Account Settings",
"manageAISettings": "Manage AI Settings",
"displaySettings": "Display Settings",
"displaySettingsDescription": "Customize the appearance and font size.",
"fontSize": "Font Size",
"selectFontSize": "Select font size",
"fontSizeSmall": "Small",
"fontSizeMedium": "Medium",
"fontSizeLarge": "Large",
"fontSizeExtraLarge": "Extra Large",
"fontSizeDescription": "Adjust the font size for better readability. This applies to all text in the interface.",
"fontSizeUpdateSuccess": "Font size updated successfully",
"fontSizeUpdateFailed": "Failed to update font size",
"showRecentNotes": "Show Recent Notes Section",
"showRecentNotesDescription": "Display recent notes (last 7 days) on the main page",
"recentNotesUpdateSuccess": "Recent notes setting updated successfully",
"recentNotesUpdateFailed": "Failed to update recent notes setting",
"tab": "Profile",
"preferences": "Account Preferences",
"desktopNotifications": "Desktop notifications",
"desktopNotificationsDesc": "Receive alerts for your reminders and AI activities."
},
"aiSettings": {
"title": "AI",
"description": "Configure your AI-powered features and preferences",
"features": "AI Features",
"provider": "AI Provider",
"providerAuto": "Auto (Recommended)",
"providerOllama": "Ollama (Local)",
"providerOpenAI": "OpenAI (Cloud)",
"frequency": "Frequency",
"frequencyDaily": "Daily",
"frequencyWeekly": "Weekly",
"saving": "Saving...",
"saved": "Setting updated",
"error": "Failed to update setting",
"titleSuggestionsDesc": "Suggest titles for untitled notes after 50+ words",
"paragraphRefactorDesc": "AI-powered text improvement options",
"frequencyDesc": "How often to analyze note connections",
"providerDesc": "Choose your preferred AI provider",
"providerAutoDesc": "Ollama when available, OpenAI fallback",
"providerOllamaDesc": "100% private, runs locally on your machine",
"providerOpenAIDesc": "Most accurate, requires API key",
"aiNote": "AI Note",
"aiNoteDesc": "Enable AI chat button and text improvement tools",
"languageDetection": "Language detection",
"languageDetectionDesc": "Automatically detects the language of your notes",
"autoLabeling": "Label suggestions",
"autoLabelingDesc": "Automatically suggests and applies labels to your notes",
"noteHistory": "Note history",
"noteHistoryDesc": "Enable version snapshots and restoration from History",
"titleSuggestions": "Title suggestions",
"svgComplexity": "Illustration complexity",
"svgComplexityDesc": "Controls the detail level and rendering richness of AI-generated note illustrations",
"svgComplexitySimple": "Pictogram",
"svgComplexitySimpleDesc": "Simple icon-style illustration — fast and clean",
"svgComplexityIllustrated": "Illustrated",
"svgComplexityIllustratedDesc": "Rich scene with gradients, layers and atmosphere",
"svgComplexityRich": "Concept diagram",
"svgComplexityRichDesc": "Structured knowledge map with nodes, connections and labels"
},
"general": {
"loading": "Loading...",
"save": "Save",
"cancel": "Cancel",
"add": "Add",
"edit": "Edit",
"confirm": "Confirm",
"close": "Close",
"back": "Back",
"next": "Next",
"previous": "Previous",
"submit": "Submit",
"reset": "Reset",
"apply": "Apply",
"clear": "Clear",
"select": "Select",
"tryAgain": "Please try again",
"error": "An error occurred",
"operationSuccess": "Operation successful",
"operationFailed": "Operation failed",
"testConnection": "Test Connection",
"clean": "Clean",
"indexAll": "Index All",
"preview": "Preview",
"delete": "Delete"
},
"colors": {
"default": "Default",
"red": "Red",
"blue": "Blue",
"green": "Green",
"yellow": "Yellow",
"purple": "Purple",
"pink": "Pink",
"orange": "Orange",
"gray": "Gray"
},
"reminder": {
"title": "Reminder",
"setReminder": "Set reminder",
"removeReminder": "Remove reminder",
"reminderDate": "Reminder date",
"reminderTime": "Reminder time",
"save": "Set reminder",
"cancel": "Cancel",
"changeReminder": "Change reminder"
},
"reminders": {
"title": "Reminders",
"empty": "No reminders",
"emptyDescription": "Add a reminder to a note to find it here.",
"upcoming": "Upcoming",
"overdue": "Overdue",
"done": "Done",
"markDone": "Mark as done",
"markUndone": "Mark as undone",
"todayAt": "Today at {time}",
"tomorrowAt": "Tomorrow at {time}",
"clearCompleted": "Clear completed",
"viewAll": "View all reminders",
"snooze1h": "Snooze 1 hour"
},
"notebook": {
"create": "Create Notebook",
"createNew": "Create New Notebook",
"createDescription": "Start a new collection to organize your notes, ideas, and projects efficiently.",
"name": "Notebook Name",
"namePlaceholder": "Notebook name",
"myNotebook": "My Notebook",
"saving": "Saving...",
"selectIcon": "Icon",
"selectColor": "Color",
"cancel": "Cancel",
"creating": "Creating...",
"edit": "Edit Notebook",
"editDescription": "Change the name, icon, and color of your notebook.",
"delete": "Delete",
"deleteWarning": "Are you sure you want to delete this notebook? Notes will be moved to General Notes.",
"deleteConfirm": "Delete",
"summary": "Notebook Summary",
"summaryDescription": "Generate an AI-powered summary of all notes in this notebook.",
"generating": "Generating summary...",
"summaryError": "Error generating summary",
"labels": "Labels:",
"noLabels": "No labels",
"pdfTitle": "Summary — {name}",
"pdfNotesLabel": "Notes:",
"pdfGeneratedOn": "Generated on:",
"confidence": "confidence",
"savingReminder": "Failed to save reminder",
"removingReminder": "Failed to remove reminder",
"generatingDescription": "Please wait...",
"pinnedFrozenTooltip": "Pinned notebook — order frozen",
"organizeNotebookWithAITooltip": "Organize this notebook with AI",
"assistantRequiredForSummarize": "Turn on AI Assistant in settings to summarize",
"createSubnotebook": "Add sub-notebook",
"createSubNotebook": "Add sub-notebook",
"rename": "Rename",
"confirmRename": "Rename",
"moveToTrash": "Move to trash",
"noParent": "No parent",
"parentNotebook": "Parent notebook",
"under": "Under",
"trashCascadeWarning": "This will also delete all notes and sub-notebooks.",
"trashConfirm": "Move this notebook to trash?",
"trashTitle": "Move to trash"
},
"notebookSuggestion": {
"title": "Move to {name}?",
"description": "This note seems to belong to this notebook",
"move": "Move",
"dismiss": "Dismiss",
"dismissIn": "Dismiss (closes in {timeLeft}s)",
"moveToNotebook": "Move to notebook",
"generalNotes": "General Notes",
"movedToNotebook": "Moved to notebook"
},
"admin": {
"title": "Admin Dashboard",
"adminConsole": "Admin console",
"navSection": "Navigation",
"backToApp": "Back to Memento",
"userManagement": "User Management",
"chat": "AI Chat",
"lab": "The Lab",
"agents": "Agents",
"workspace": "Workspace",
"settings": "Admin Settings",
"security": {
"title": "Security Settings",
"description": "Manage access control and registration policies.",
"allowPublicRegistration": "Allow Public Registration",
"allowPublicRegistrationDescription": "If disabled, new users can only be added by an Administrator via the User Management page.",
"updateSuccess": "Security Settings updated",
"updateFailed": "Failed to update security settings"
},
"ai": {
"title": "AI Configuration",
"description": "Configure AI providers for auto-tagging and semantic search. Use different providers for optimal performance.",
"tagsGenerationProvider": "Tags Generation Provider",
"tagsGenerationDescription": "AI provider for automatic tag suggestions. Recommended: Ollama (free, local).",
"embeddingsProvider": "Embeddings Provider",
"embeddingsDescription": "AI provider for semantic search embeddings. Recommended: OpenAI (best quality).",
"chatProvider": "Chat Provider",
"chatDescription": "AI provider for the chat assistant. Falls back to Tags provider if not configured.",
"provider": "Provider",
"baseUrl": "Base URL",
"model": "Model",
"apiKey": "API Key",
"selectOllamaModel": "Select an Ollama model installed on your system",
"openAIKeyDescription": "Your OpenAI API key from platform.openai.com",
"modelRecommendations": "gpt-4o-mini = Best value • gpt-4o = Best quality",
"commonModelsDescription": "Common models for OpenAI-compatible APIs",
"selectEmbeddingModel": "Select an embedding model installed on your system",
"commonEmbeddingModels": "Common embedding models for OpenAI-compatible APIs",
"saving": "Saving...",
"saveSettings": "Save AI Settings",
"openTestPanel": "Open AI Test Panel",
"updateSuccess": "AI Settings updated successfully",
"updateFailed": "Failed to update AI settings",
"providerTagsRequired": "AI_PROVIDER_TAGS is required",
"providerEmbeddingRequired": "AI_PROVIDER_EMBEDDING is required",
"providerOllamaOption": "🦙 Ollama (Local & Free)",
"providerOpenAIOption": "🤖 OpenAI (GPT-5, GPT-4)",
"providerAnthropicOption": "🧠 Anthropic (Claude API)",
"providerAnthropicCustomOption": "🧩 Anthropic custom (Messages API — MiniMax, etc.)",
"anthropicModelHint": "Pick a Claude model ID from the suggestions or enter one manually (no remote model list for the official API).",
"anthropicCustomModelHint": "Anthropic-compatible Messages API (e.g. MiniMax): base URL https://api.minimax.io/anthropic (China: https://api.minimaxi.com/anthropic), model MiniMax-M2.7. Embeddings: use provider « Custom » + OpenAI URL https://api.minimax.io/v1.",
"anthropicCustomNoModelList": "This gateway does not expose an OpenAI-style /models list — pick the model from the suggestions or type it (e.g. MiniMax-M2.7).",
"providerCustomOption": "🔧 Custom OpenAI-Compatible",
"providerDeepSeekOption": "🔍 DeepSeek",
"providerOpenRouterOption": "🌐 OpenRouter",
"providerMistralOption": "🌀 Mistral AI",
"providerZAIOption": "✨ Z.AI",
"providerLMStudioOption": "🖥️ LM Studio (Local)",
"bestValue": "Best value",
"bestQuality": "Best quality",
"fallbackSectionTitle": "Fallback provider (optional)",
"fallbackSectionDescription": "Used automatically on provider errors (429, 5xx). One retry within 1.5s.",
"fallbackProvider": "Fallback provider",
"fallbackModel": "Fallback model",
"fallbackNone": "None (disabled)",
"fallbackModelPlaceholder": "e.g. gpt-4o-mini",
"saved": "(Saved)",
"fetchModelsFailed": "Failed to fetch models",
"refreshModels": "Refresh Models",
"configured": "Configured",
"fetchingModels": "Fetching models...",
"clickToLoadModels": "Click ↺ to load models",
"searchModel": "Search model...",
"noModels": "No models. Click ↺",
"modelsAvailable": "{count} model(s) available",
"enterUrlToLoad": "Enter URL and click ↺ to load models",
"currentProvider": "(Current: {provider})",
"pageTitle": "AI Management",
"pageDescription": "Monitor and configure AI features",
"configure": "Configure",
"features": "AI Features",
"providerStatus": "AI Provider Status",
"recentRequests": "Recent AI Requests",
"comingSoon": "Coming soon",
"activeFeatures": "Active features",
"successRate": "Success rate",
"avgResponseTime": "Avg response time",
"configuredProviders": "Configured providers",
"settingUpdated": "Setting updated",
"updateFailedShort": "Update failed",
"titleSuggestions": "Title suggestions",
"titleSuggestionsDesc": "Suggests titles for notes after 50+ words",
"aiAssistant": "AI Assistant",
"aiAssistantDesc": "Enable AI chat and text improvement tools",
"memoryEchoFeature": "I noticed something...",
"memoryEchoFeatureDesc": "Daily analysis of connections between your notes",
"languageDetection": "Language detection",
"languageDetectionDesc": "Automatically detects the language of each note",
"autoLabeling": "Auto labeling",
"autoLabelingDesc": "Suggests and applies labels automatically",
"dimensionMismatch": "Embedding dimension mismatch detected",
"dimensionMismatchDetail": "Database column: vector({{dbDimension}}) — Model outputs: {{modelDimension}} dimensions",
"dimensionMismatchAction": "Embeddings will not work until you migrate the column. This will clear all existing embeddings and re-index them.",
"migrateButton": "Migrate & Re-index",
"migrating": "Migrating..."
},
"resend": {
"title": "Resend (Recommended)",
"description": "Send emails via Resend API. Takes priority over SMTP if configured.",
"apiKey": "Resend API Key",
"apiKeyHint": "Get your API key from resend.com. Used for agent notifications and password resets.",
"saveSettings": "Save Resend Settings",
"updateSuccess": "Resend settings updated",
"updateFailed": "Failed to update Resend settings",
"configured": "Resend is configured and active"
},
"email": {
"title": "Email Configuration",
"description": "Configure email delivery for agent notifications and password resets.",
"provider": "Email Provider",
"saveSettings": "Save Email Settings",
"status": "Service Status",
"keySet": "key configured",
"activeAuto": "Auto mode: Resend will be used first, SMTP as fallback.",
"activeSmtp": "Auto mode: SMTP will be used (Resend not configured).",
"noneConfigured": "No email service configured. Set up Resend or SMTP.",
"activeProvider": "Active provider",
"testOk": "test passed",
"testFail": "test failed"
},
"smtp": {
"title": "SMTP Configuration",
"description": "Configure email server for password resets. Fallback if Resend is not configured.",
"host": "Host",
"port": "Port",
"username": "Username",
"password": "Password",
"fromEmail": "From Email",
"forceSSL": "Force SSL/TLS (usually for port 465)",
"ignoreCertErrors": "Ignore Certificate Errors (Self-hosted/Dev only)",
"saveSettings": "Save SMTP Settings",
"sending": "Sending...",
"testEmail": "Test Email",
"updateSuccess": "SMTP Settings updated",
"updateFailed": "Failed to update SMTP settings",
"testSuccess": "Test email sent successfully!",
"testFailed": "Failed: {error}"
},
"users": {
"createUser": "Create User",
"addUser": "Add User",
"createUserDescription": "Add a new user to the system.",
"name": "Name",
"email": "Email",
"password": "Password",
"role": "Role",
"createSuccess": "User created successfully",
"createFailed": "Failed to create user",
"deleteSuccess": "User deleted",
"deleteFailed": "Failed to delete",
"roleUpdateSuccess": "User role updated to {role}",
"roleUpdateFailed": "Failed to update role",
"tierUpdateSuccess": "Subscription updated to {tier}",
"tierUpdateFailed": "Failed to update subscription",
"demote": "Demote to User",
"promote": "Promote to Admin",
"confirmDelete": "Are you sure? This action cannot be undone.",
"table": {
"name": "Name",
"email": "Email",
"role": "Role",
"subscription": "Subscription",
"createdAt": "Created At",
"actions": "Actions"
},
"roles": {
"user": "User",
"admin": "Admin"
},
"title": "Users",
"description": "Manage application users and permissions"
},
"aiTest": {
"title": "AI Provider Testing",
"description": "Test your AI providers for tag generation and semantic search embeddings",
"tagsTestTitle": "Tags Generation Test",
"tagsTestDescription": "Test the AI provider responsible for automatic tag suggestions",
"embeddingsTestTitle": "Embeddings Test",
"embeddingsTestDescription": "Test the AI provider responsible for semantic search embeddings",
"howItWorksTitle": "How Testing Works",
"tagsGenerationTest": "🏷️ Tags Generation Test:",
"tagsStep1": "Sends a sample note to the AI provider",
"tagsStep2": "Requests 3-5 relevant tags based on the content",
"tagsStep3": "Displays the generated tags with confidence scores",
"tagsStep4": "Measures response time",
"embeddingsTestLabel": "🔍 Embeddings Test:",
"embeddingsStep1": "Sends a sample text to the embedding provider",
"embeddingsStep2": "Generates a vector representation (list of numbers)",
"embeddingsStep3": "Displays embedding dimensions and sample values",
"embeddingsStep4": "Verifies the vector is valid and properly formatted",
"tipContent": "You can use different providers for tags and embeddings! For example, use Ollama (free) for tags and OpenAI (best quality) for embeddings to optimize costs and performance.",
"provider": "Provider:",
"model": "Model:",
"testing": "Testing...",
"runTest": "Run Test",
"testPassed": "Test Passed",
"testFailed": "Test Failed",
"testSuccessToast": "{type} Test Successful!",
"testFailedToast": "{type} Test Failed",
"testingType": "Testing {type}...",
"technicalDetails": "Technical details",
"responseTime": "Response time: {time}ms",
"generatedTags": "Generated Tags:",
"embeddingDimensions": "Embedding Dimensions:",
"vectorDimensions": "vector dimensions",
"first5Values": "First 5 values:",
"error": "Error:",
"testError": "Test Error: {error}",
"tipTitle": "Tip:",
"tipDescription": "Use the AI Test Panel to diagnose configuration issues before testing.",
"chatTestTitle": "Chat assistant test",
"chatTestDescription": "Test the AI provider used by the chat assistant",
"chatGenerationTest": "💬 Chat assistant test:",
"chatStep1": "Sends a test message to the assistant",
"chatStep2": "Asks for a concise answer about what the assistant does",
"chatStep3": "Shows the model response",
"chatStep4": "Checks responsiveness and latency"
},
"sidebar": {
"dashboard": "Dashboard",
"users": "Users",
"aiManagement": "AI Management",
"published": "Published pages",
"chat": "AI Chat",
"lab": "The Lab (Ideas)",
"agents": "Agents",
"settings": "Settings"
},
"metrics": {
"vsLastPeriod": "vs last period"
},
"tools": {
"title": "Agent Tools",
"description": "Configure external tools for agent tool-use: web search, web scraping, and API access.",
"searchProvider": "Web Search Provider",
"searxng": "SearXNG (Self-hosted)",
"brave": "Brave Search API",
"both": "Both (SearXNG primary, Brave fallback)",
"searxngUrl": "SearXNG URL",
"braveKey": "Brave Search API Key",
"jinaKey": "Jina Reader API Key",
"jinaKeyOptional": "Optional — works without but with rate limits",
"jinaKeyDescription": "Used for web scraping. Works without a key but with rate limits.",
"saveSettings": "Save Tools Settings",
"updateSuccess": "Tools settings updated successfully",
"updateFailed": "Failed to update tools settings",
"testing": "Testing...",
"testSearch": "Test web search"
},
"settingsDescription": "Configure application-wide settings",
"dashboard": {
"title": "Dashboard",
"description": "Overview of your application metrics",
"recentActivity": "Recent Activity",
"recentActivityPlaceholder": "Recent activity will be displayed here."
},
"error": {
"title": "An error occurred in the admin panel",
"description": "This page failed to render. You can retry without reloading.",
"retry": "Retry"
}
},
"about": {
"title": "About",
"description": "Information about the application",
"appName": "Memento",
"appDescription": "A powerful note-taking application with AI-powered features",
"version": "Version",
"buildDate": "Build Date",
"platform": "Platform",
"platformWeb": "Web",
"features": {
"title": "Features",
"description": "AI-powered capabilities",
"titleSuggestions": "AI-powered title suggestions",
"semanticSearch": "Semantic search with embeddings",
"paragraphReformulation": "Paragraph reformulation",
"memoryEcho": "Memory Echo daily insights",
"notebookOrganization": "Notebook organization",
"dragDrop": "Drag & drop note management",
"labelSystem": "Label system",
"multipleProviders": "Multiple AI providers (OpenAI, Ollama)"
},
"technology": {
"title": "Technology Stack",
"description": "Built with modern technologies",
"frontend": "Frontend",
"backend": "Backend",
"database": "Database",
"authentication": "Authentication",
"ai": "AI",
"ui": "UI",
"testing": "Testing"
},
"support": {
"title": "Support",
"description": "Get help and feedback",
"documentation": "Documentation",
"reportIssues": "Report Issues",
"feedback": "Feedback"
},
"tab": "About"
},
"support": {
"title": "Support Memento Development",
"description": "Memento is 100% free and open-source. Your support helps keep it that way.",
"buyMeACoffee": "Buy me a coffee",
"donationDescription": "Make a one-time donation or become a monthly supporter.",
"donateOnKofi": "Donate on Ko-fi",
"kofiDescription": "No platform fees • Instant payouts • Secure",
"sponsorOnGithub": "Sponsor on GitHub",
"sponsorDescription": "Become a monthly sponsor and get recognition.",
"githubDescription": "Recurring support • Public recognition • Developer-focused",
"howSupportHelps": "How Your Support Helps",
"directImpact": "Direct Impact",
"sponsorPerks": "Sponsor Perks",
"transparency": "Transparency",
"transparencyDescription": "I believe in complete transparency. Here's how donations are used:",
"hostingServers": "Hosting & servers:",
"domainSSL": "Domain & SSL:",
"aiApiCosts": "AI API costs:",
"totalExpenses": "Total expenses:",
"otherWaysTitle": "Other Ways to Support",
"starGithub": "Star on GitHub",
"reportBug": "Report a bug",
"contributeCode": "Contribute code",
"shareTwitter": "Share on Twitter"
},
"demoMode": {
"title": "Demo Mode",
"activated": "Demo Mode activated! Memory Echo will now work instantly.",
"deactivated": "Demo Mode disabled. Normal parameters restored.",
"toggleFailed": "Failed to toggle demo mode",
"description": "Speeds up Memory Echo for testing. Connections appear instantly.",
"parametersActive": "Demo parameters active:",
"similarityThreshold": "50% similarity threshold (normally 75%)",
"delayBetweenNotes": "0-day delay between notes (normally 7 days)",
"unlimitedInsights": "Unlimited insights (no frequency limits)",
"createNotesTip": "Create 2+ similar notes and see Memory Echo in action!"
},
"resetPassword": {
"title": "Reset Password",
"description": "Enter your new password below.",
"invalidLinkTitle": "Invalid Link",
"invalidLinkDescription": "This password reset link is invalid or has expired.",
"requestNewLink": "Request new link",
"newPassword": "New Password",
"confirmNewPassword": "Confirm New Password",
"resetting": "Resetting...",
"resetPassword": "Reset Password",
"passwordMismatch": "Passwords don't match",
"success": "Password reset successfully. You can now login.",
"loading": "Loading..."
},
"dataManagement": {
"title": "Data",
"toolsDescription": "Tools to maintain your database health",
"exporting": "Exporting...",
"importing": "Importing...",
"deleting": "Deleting...",
"dangerZone": "Danger Zone",
"dangerZoneDescription": "Permanently delete your data",
"indexingComplete": "Indexing complete: {count} notes processed",
"indexingError": "Error during indexing",
"cleanupComplete": "Cleanup complete: {created} created, {deleted} removed",
"cleanupError": "Error during cleanup",
"export": {
"title": "Export All Notes",
"description": "Download all your notes as a JSON file. This includes all content, labels, and metadata.",
"button": "Export Notes",
"success": "Notes exported successfully",
"failed": "Failed to export notes"
},
"import": {
"title": "Import Notes",
"description": "Upload a JSON file to import notes. This will add to your existing notes, not replace them.",
"button": "Import Notes",
"success": "Imported {count} notes",
"failed": "Failed to import notes"
},
"delete": {
"title": "Delete All Notes",
"description": "Permanently delete all your notes. This action cannot be undone.",
"button": "Delete All Notes",
"confirm": "Are you sure? This will permanently delete all your notes.",
"success": "All notes deleted",
"failed": "Failed to delete notes"
},
"indexing": {
"title": "Rebuild Search Index",
"description": "Regenerate embeddings for all notes to improve semantic search.",
"button": "Rebuild Index",
"success": "Indexing complete: {count} notes processed",
"failed": "Error during indexing"
},
"cleanup": {
"title": "Cleanup Orphaned Data",
"description": "Remove labels and connections that reference deleted notes.",
"button": "Cleanup",
"failed": "Error during cleanup",
"success": "Cleanup successful"
},
"zipExport": {
"title": "GDPR Workspace Export (ZIP)",
"description": "Download all notes, attachments, and brainstorm canvases as standard Markdown in a ZIP archive.",
"button": "Export ZIP",
"success": "Workspace exported successfully",
"failed": "Export failed"
},
"zipExporting": "Exporting..."
},
"appearance": {
"title": "Appearance",
"description": "Customize the interface",
"notesViewDescription": "Choose how notes are shown on home and in notebooks.",
"notesViewLabel": "Notes layout",
"notesViewTabs": "Tabs (OneNote-style)",
"notesViewMasonry": "Cards (grid)",
"notesViewList": "List (magazine)",
"notesViewTable": "Structured table",
"selectTheme": "Choose your preferred theme",
"fontFamilyLabel": "Font",
"fontFamilyDescription": "Choose the application's font",
"selectFontFamily": "Inter is optimized for readability, System uses your OS native font",
"fontSystem": "System",
"fontInterDefault": "Inter (default)",
"fontPlayfairDisplay": "Playfair Display",
"fontJetBrainsMono": "JetBrains Mono",
"tab": "Appearance",
"accentColorTitle": "Accent Color",
"accentColorDescription": "Set the main color of your workspace"
},
"usageMeter": {
"packName": "AI Discovery Pack",
"packPro": "Pro Pack",
"packBusiness": "Business Pack",
"packEnterprise": "Enterprise Pack",
"featureSearch": "Search",
"featureTags": "Tags",
"featureTitles": "Titles",
"unlimited": "Unlimited",
"remaining": "{count} left",
"upgradeTitle": "Upgrade to Pro",
"upgradeDescription": "You've used all your AI Discovery Pack credits. Upgrade to Pro for higher limits and additional features.",
"proIncludes": "Pro includes:",
"proSearch": "100 semantic searches / month",
"proTags": "200 auto-tags / month",
"proTitles": "200 auto-titles / month",
"proReformulate": "50 reformulations / month",
"proChat": "100 chat messages / month",
"later": "Later",
"upgradePricing": "Upgrade to Pro",
"addApiKey": "Use your own API key (BYOK)",
"featureReformulate": "Reformulations",
"featureChat": "AI Messages",
"featureBrainstormCreate": "Brainstorm creations",
"featureBrainstormSessions": "Brainstorm sessions",
"featureCharts": "AI Charts",
"featureBrainstormExpand": "Brainstorm expansions",
"featureBrainstormEnrich": "Brainstorm enrichments"
},
"generalSettings": {
"title": "General",
"description": "General application settings"
},
"toast": {
"saved": "Setting saved",
"saveFailed": "Failed to save setting",
"operationSuccess": "Operation successful",
"operationFailed": "Operation failed",
"openingConnection": "Opening connection...",
"openConnectionFailed": "Failed to open connection",
"thanksFeedback": "Thanks for your feedback!",
"thanksFeedbackImproving": "Thanks! We'll use this to improve.",
"feedbackFailed": "Failed to submit feedback",
"notesFusionSuccess": "Notes merged successfully!"
},
"testPages": {
"titleSuggestions": {
"title": "Test Title Suggestions",
"contentLabel": "Content (need 50+ words):",
"placeholder": "Type at least 50 words here...",
"wordCount": "Word count:",
"status": "Status:",
"analyzing": "Analyzing...",
"idle": "Idle",
"error": "Error:",
"suggestions": "Suggestions ({count}):",
"noSuggestions": "No suggestions yet. Type 50+ words and wait 2 seconds."
}
},
"trash": {
"title": "Trash",
"empty": "Trash is empty",
"emptyDescription": "Deleted items will appear here. They are kept for 30 days before permanent deletion.",
"restore": "Restore",
"deletePermanently": "Delete Permanently",
"noteTrashed": "Note moved to trash",
"noteRestored": "Note restored",
"notePermanentlyDeleted": "Note permanently deleted",
"emptyTrash": "Empty Trash",
"emptyTrashConfirm": "Empty trash? This is irreversible.",
"emptyTrashSuccess": "Trash emptied",
"permanentDelete": "Delete permanently",
"permanentDeleteConfirm": "This note will be permanently deleted. This action cannot be undone.",
"restoreSuccess": "Restored successfully",
"restoreError": "Failed to restore",
"permanentDeleteSuccess": "Permanently deleted",
"deleteError": "Failed to delete",
"daysRemaining": "DAYS LEFT",
"notebookContentPreserved": "Notebook content preserved",
"notebookRestoreHint": "Restoring a notebook also restores all its notes.",
"filterAll": "All",
"autoDelete30": "Auto-delete after 30 days"
},
"footer": {
"privacy": "Privacy",
"terms": "Terms",
"openSource": "Open Source Clone"
},
"connection": {
"similarityInfo": "These notes are connected by {similarity}% similarity",
"clickToView": "Click to view note",
"isHelpful": "Is this connection helpful?",
"helpful": "Helpful",
"notHelpful": "Not Helpful",
"memoryEchoDiscovery": "Memory Echo Discovery"
},
"diagnostics": {
"title": "Diagnostics",
"description": "Check your AI provider connection status",
"configuredProvider": "Configured Provider",
"apiStatus": "API Status",
"operational": "Operational",
"errorStatus": "Error",
"checking": "Checking...",
"testDetails": "Test Details:",
"troubleshootingTitle": "Troubleshooting Tips:",
"tip1": "Make sure Ollama is running (ollama serve)",
"tip2": "Check that the model is installed (ollama pull llama3)",
"tip3": "Verify your API key for OpenAI",
"tip4": "Check network connectivity"
},
"batch": {
"organizeWithAI": "Organize with AI",
"organize": "Organize"
},
"organizeNotebook": {
"title": "Organize notebook",
"unknownError": "Unknown error",
"toastSuccess": "Notebook organized — {created} sub-notebook(s) created, {moved} note(s) moved",
"intro": "AI will analyze the notes in this notebook and propose a plan to reorganize them into thematic sub-notebooks.",
"bulletThemes": "Group notes by topic or theme",
"bulletSubfolders": "Create missing sub-notebooks",
"bulletPreview": "Full preview before any change",
"analyzingTitle": "Analyzing…",
"analyzingSubtitle": "AI is reading your notes and identifying themes",
"previewSummary": "{groups} group(s) · {notes} notes · {newSubs} new sub-notebook(s)",
"badgeNew": "New",
"untitledNote": "Untitled note",
"notesInGroup": "{count} notes",
"executingTitle": "Organizing…",
"executingSubtitle": "Creating sub-notebooks and moving notes",
"doneTitle": "Notebook organized!",
"doneStats": "{created} sub-notebook(s) created · {moved} note(s) moved",
"analyzeButton": "Analyze with AI",
"restart": "Start over",
"confirm": "Apply",
"closeButton": "Close"
},
"documentInfo": {
"tabInfo": "Info",
"tabVersions": "Versions",
"tabNetwork": "Network",
"wordsLabel": "Words",
"charactersLabel": "Characters",
"linesLabel": "Lines",
"equationsLabel": "Equations",
"imagesLabel": "Images",
"notebookLabel": "Notebook",
"typeLabel": "Type",
"sourceWebLabel": "Web source",
"openSource": "Open original page",
"createdLabel": "Created",
"modifiedLabel": "Updated",
"labelsSection": "Labels",
"idLabel": "ID",
"copyId": "Copy note ID",
"historyDisabled": "History is not enabled for this note.",
"enableHistory": "Enable history",
"savedVersions": "Saved versions",
"savingEllipsis": "Saving…",
"versionSaved": "Version saved!",
"saveThisVersion": "Save this version",
"loading": "Loading…",
"noVersion": "No versions yet",
"restoreTooltip": "Restore",
"deleteTooltip": "Delete",
"comparisonMode": "Comparison mode",
"comparisonSubtitle": "Compare versions side by side",
"deleteVersionConfirm": "Delete this version?",
"latestBadge": "Latest",
"network": {
"graphTitle": "Links around this note",
"intro": "See what connects this note to others: similar notes (AI), links you created yourself, or citations elsewhere.",
"helpToggle": "Understand this panel",
"helpTitle": "How to read this panel",
"helpGraph": "Center: the open note. Around it: linked notes. Violet dots closer to the center are more similar in content. Drag to rearrange, click to open.",
"helpSemantic": "Similar notes: the AI only keeps matches above a threshold. The percentage and distance are scaled from that threshold (0%) to a strongest match (100%).",
"helpWiki": "Links you create: type [[ in a note, pick another note, or write [[Exact title]] then save.",
"helpEmbed": "Citations: other notes quote a passage from this one as a synced citation.",
"empty": "No links yet. Write [[Note title]] in the text to link notes, or let the AI find similar ones.",
"consentHint": "Enable AI consent in settings to show similar notes detected by the AI.",
"dragHint": "Hover for details. Drag to reposition. Click to open the note.",
"clickToOpen": "Open in a new tab",
"legendCenter": "This note",
"legendSemantic": "Similar (AI)",
"legendWiki": "Link to a note",
"semanticShort": "Similar",
"inboundShort": "Inbound",
"outboundShort": "Outbound",
"embedShort": "Citation",
"mentionShort": "Mention",
"affinityLine": "Similarity: {percentage}%",
"semanticListTitle": "Similar notes",
"semanticListHelp": "These notes cover related topics. The percentage is relative proximity (0% = minimum detection threshold, 100% = very strong match).",
"showMoreSemantic": "Show {count} more similar note(s)",
"showLess": "Show less",
"embedListTitle": "Notes citing this content",
"embedSnippetOne": "Quotes a passage from this note",
"wikiSectionTitle": "Links to other notes",
"inboundHelp": "Notes that link to this one using [[…]] in their text.",
"outboundHelp": "Notes this one links to using [[…]] in its text.",
"unlinkedListTitle": "Unlinked mentions",
"unlinkedHelp": "[[Bracketed]] text found here, but with no matching note or saved link.",
"noWikiYet": "No links to other notes yet.",
"unknownNotebook": "Notebook",
"untitled": "Untitled",
"unlinkedLabel": "Unlinked",
"moreNodes": "+{count} on map",
"inboundList": "To this note ({count})",
"outboundList": "From this note ({count})",
"unlinkedList": "Unlinked mentions ({count})",
"noInbound": "No inbound wiki links point to this note.",
"noOutbound": "This note does not link to other notes yet.",
"refBadge": "In",
"toBadge": "Out"
}
},
"languages": {
"targets": {
"french": "French",
"english": "English",
"spanish": "Spanish",
"german": "German",
"persian": "Persian",
"portuguese": "Portuguese",
"italian": "Italian",
"chinese": "Chinese",
"japanese": "Japanese"
},
"customPlaceholder": "e.g. Arabic, Russian…",
"autoDetect": "Auto-detect",
"en": "English",
"fr": "Français",
"es": "Español",
"de": "Deutsch",
"fa": "فارسی",
"it": "Italiano",
"pt": "Português",
"ru": "Русский",
"zh": "中文",
"ja": "日本語",
"ko": "한국어",
"ar": "العربية",
"hi": "हिन्दी",
"nl": "Nederlands",
"pl": "Polski"
},
"common": {
"on": "On",
"off": "Off",
"unknown": "Unknown",
"notAvailable": "N/A",
"loading": "Loading...",
"error": "Error",
"success": "Success",
"confirm": "Confirm",
"cancel": "Cancel",
"close": "Close",
"save": "Save",
"delete": "Delete",
"edit": "Edit",
"add": "Add",
"remove": "Remove",
"search": "Search...",
"noResults": "No notes found",
"required": "Required",
"optional": "Optional"
},
"time": {
"justNow": "just now",
"minutesAgo": "{count}m ago",
"hoursAgo": "{count}h ago",
"daysAgo": "{count}d ago",
"yesterday": "Yesterday",
"today": "Today",
"tomorrow": "Tomorrow"
},
"favorites": {
"title": "Favorites",
"toggleSection": "Toggle pinned notes section",
"noFavorites": "No pinned notes yet",
"pinToFavorite": "Pin a note to add it to favorites"
},
"notebooks": {
"create": "Create notebook",
"allNotebooks": "All Notebooks",
"noNotebooks": "No notebooks yet",
"createFirst": "Create your first notebook"
},
"ui": {
"close": "Close",
"open": "Open",
"expand": "Expand",
"collapse": "Collapse"
},
"mcpSettings": {
"title": "MCP",
"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 Memento 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:"
}
}
},
"agents": {
"title": "Agents",
"subtitle": "Automate your monitoring and research tasks",
"newAgent": "New Agent",
"myAgents": "My Agents",
"searchPlaceholder": "Search agents...",
"filterAll": "All",
"newBadge": "New",
"noResults": "No agents match your search.",
"noAgents": "No agents",
"noAgentsDescription": "Create your first agent or install a template below to automate your monitoring tasks.",
"types": {
"scraper": "Monitor",
"researcher": "Researcher",
"monitor": "Observer",
"slideGenerator": "Slides",
"excalidrawGenerator": "Diagram",
"custom": "Custom"
},
"typeDescriptions": {
"scraper": "Scrapes multiple sites and creates a summary",
"researcher": "Searches for information on a topic",
"monitor": "Watches a notebook and analyzes notes",
"slideGenerator": "Creates a PowerPoint presentation from notes",
"excalidrawGenerator": "Creates an Excalidraw diagram from notes",
"custom": "Free agent with your own prompt"
},
"form": {
"agentType": "Agent type",
"name": "Name",
"namePlaceholder": "e.g. Tuesday AI Watch",
"description": "Description (optional)",
"descriptionPlaceholder": "Weekly AI news summary",
"urlsLabel": "URLs to scrape",
"urlsOptional": "(optional)",
"sourceNotebook": "Notebook to watch",
"selectNotebook": "Select a notebook...",
"selectNotes": "Notes to analyze",
"notesSelected": "{{count}} note(s) selected",
"slideTheme": "Presentation theme",
"slideThemeDefault": "Automatic",
"slideThemes": {
"modern_wellness": "Modern & Wellness",
"business_authority": "Business & Authority",
"nature_outdoors": "Nature & Outdoors",
"vintage_academic": "Vintage & Academic",
"soft_creative": "Soft & Creative",
"bohemian": "Bohemian",
"vibrant_tech": "Vibrant & Tech",
"craft_artisan": "Craft & Artisan",
"tech_night": "Tech & Night (dark)",
"education_charts": "Education & Charts",
"forest_eco": "Forest & Eco",
"elegant_fashion": "Elegant & Fashion",
"art_food": "Art & Food",
"luxury_mystery": "Luxury & Mystery",
"pure_tech_blue": "Pure Tech Blue",
"coastal_coral": "Coastal Coral",
"vibrant_orange_mint": "Vibrant Orange Mint",
"platinum_white_gold": "Platinum White Gold"
},
"slideStyle": "Visual style",
"slideStyleSoft": "Soft (recommended)",
"slideStyleSharp": "Sharp & dense",
"slideStyleRounded": "Rounded & spacious",
"slideStylePill": "Premium / Pill",
"excalidrawDiagramType": "Diagram type",
"excalidrawDiagramTypeAuto": "Auto (domain detection)",
"excalidrawDiagramTypeFlowchart": "Flowchart (process)",
"excalidrawDiagramTypeMindmap": "Mindmap (ideas)",
"excalidrawDiagramTypeOrgChart": "Org chart (teams)",
"excalidrawDiagramTypeTimeline": "Timeline / roadmap",
"excalidrawDiagramTypeProcessMap": "Process map (operations)",
"excalidrawDiagramTypeArchitectureCloud": "Cloud architecture (zones/RG)",
"excalidrawDiagramStyle": "Excalidraw diagram style",
"excalidrawDiagramStyleDefault": "Colored (Excalidraw)",
"excalidrawDiagramStyleSketchPlus": "Sketch+ (enhanced Excalidraw)",
"excalidrawDiagramStyleAustere": "Austere (minimal)",
"targetNotebook": "Target notebook",
"inbox": "Inbox",
"instructions": "AI Instructions",
"instructionsPlaceholder": "Describe the agent's behavior...",
"frequency": "Frequency",
"cancel": "Cancel",
"saving": "Saving...",
"save": "Save",
"create": "Create agent",
"editTitle": "Edit agent",
"createTitle": "New agent",
"nameRequired": "Name is required",
"addUrl": "Add URL",
"advancedMode": "Advanced mode",
"instructionsHint": "replaces automatic prompt",
"researchTopic": "Research topic",
"researchTopicPlaceholder": "e.g. Latest advances in quantum computing",
"notifyEmail": "Email notification",
"notifyEmailHint": "Receive an email with the agent's results after each run",
"includeImages": "Include images",
"includeImagesHint": "Extract images from scraped pages and attach them to the generated note",
"back": "Back",
"configuration": "Configuration",
"options": "Options"
},
"frequencies": {
"manual": "Manual",
"hourly": "Hourly",
"daily": "Daily",
"weekly": "Weekly",
"monthly": "Monthly"
},
"schedule": {
"nextRun": "Next run",
"pending": "Pending trigger",
"time": "Time",
"dayOfWeek": "Day of week",
"dayOfMonth": "Day of month",
"days": {
"mon": "Monday",
"tue": "Tuesday",
"wed": "Wednesday",
"thu": "Thursday",
"fri": "Friday",
"sat": "Saturday",
"sun": "Sunday"
}
},
"status": {
"success": "Succeeded",
"failure": "Failed",
"running": "Running",
"pending": "Pending",
"nextRun": "Next run",
"lastStatus": "Last status"
},
"actions": {
"edit": "Edit",
"run": "Run",
"delete": "Delete",
"deleteConfirm": "Delete agent \"{name}\"?",
"toggleOn": "Agent enabled",
"toggleOff": "Agent disabled"
},
"toasts": {
"created": "Agent created",
"updated": "Agent updated",
"deleted": "\"{name}\" deleted",
"deleteError": "Error deleting",
"running": "Generation in progress…",
"runningDesc": "Generation may take a few minutes. You can navigate freely.",
"runSuccess": "\"{name}\" executed successfully",
"runError": "Error: {error}",
"runFailed": "Execution failed",
"runGenericError": "Error during execution",
"toggleError": "Error toggling agent",
"installSuccess": "\"{name}\" installed",
"installError": "Error during installation",
"saveError": "Error saving",
"autoRunSuccess": "Agent \"{name}\" executed automatically with success",
"autoRunError": "Agent \"{name}\" failed during automatic execution"
},
"templates": {
"title": "Templates",
"install": "Install",
"installing": "Installing...",
"veilleAI": {
"name": "AI Watch",
"description": "Scrapes RSS feeds from 6 AI sites (The Verge, TechCrunch, Ars Technica, MIT Tech Review, WIRED, Korben) and generates a weekly summary."
},
"veilleTech": {
"name": "Tech Watch",
"description": "Scrapes tech RSS feeds (Hacker News, DEV, Product Hunt) and creates a daily news summary."
},
"veilleDev": {
"name": "Dev Watch",
"description": "Scrapes dev RSS feeds (JavaScript, TypeScript, React) and summarizes new tech and frameworks."
},
"surveillant": {
"name": "Note Observer",
"description": "Analyzes recent notes from a notebook and suggests complements, references and links."
},
"chercheur": {
"name": "Topic Researcher",
"description": "Searches for in-depth information on a topic and creates a structured note with references."
},
"slideGenerator": {
"name": "Slide Generator",
"description": "Reads notes from a notebook and generates a structured presentation automatically."
},
"excalidrawGenerator": {
"name": "Diagram Generator",
"description": "Reads a note and generates a visual diagram in the Excalidraw Lab."
},
"dailyDigest": {
"name": "Daily Digest",
"description": "Summarizes your notes from the day and creates a daily recap in your main notebook."
},
"weeklyRecap": {
"name": "Weekly Recap",
"description": "Analyzes your weekly notes and produces a summary of key themes, decisions and tasks."
},
"autoTagger": {
"name": "Auto-Tagger",
"description": "Scans your notes without labels and automatically suggests relevant tags based on content."
},
"knowledgeSynthesis": {
"name": "Knowledge Synthesis",
"description": "Groups related notes by theme and creates a synthesis note with identified connections."
}
},
"runLog": {
"title": "History",
"noHistory": "No executions yet",
"toolTrace": "{count} tool calls",
"step": "Step {num}",
"clearConfirm": "Are you sure you want to delete all history for this agent?",
"cleared": "History deleted",
"clearHistory": "Clear history"
},
"tools": {
"title": "Agent Tools",
"webSearch": "Web Search",
"webScrape": "Web Scrape",
"noteSearch": "Note Search",
"noteRead": "Read Note",
"noteCreate": "Create Note",
"urlFetch": "Fetch URL",
"memorySearch": "Memory",
"generatePptx": "PPTX Slides",
"generateSlides": "HTML Slides",
"generateExcalidraw": "Excalidraw Diagram",
"configNeeded": "config",
"selected": "{count} selected",
"maxSteps": "Max iterations"
},
"metadata": {
"executions": "{count} exec."
},
"defaultRoles": {
"scraper": "You are a monitoring assistant. Your role is to synthesize articles from different websites into a clear, structured and useful summary. Use section headings, bullet points and concise sentences.",
"researcher": "You are a rigorous researcher. For the requested topic, produce a research note with: context, key points, debates, references.",
"monitor": "You are an analytical assistant. Your role is to analyze provided notes and for each detected theme, suggest: leads to explore, references or articles to read, connections between notes.",
"custom": "You are a helpful assistant.",
"slideGenerator": "You are a presentation creator. Read the provided content and create structured slides with titles, key points and summaries.",
"excalidrawGenerator": "You are a diagram creator. Analyze the provided content and create a clear, organized visual diagram."
},
"help": {
"title": "Agents Guide",
"btnLabel": "Help",
"close": "Close",
"whatIsAgent": "What is an agent?",
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.\n\nAgents respond in your language (French or English) based on your settings.",
"howToUse": "How to use an agent?",
"howToUseContent": "1. Click **\"New Agent\"** (or start from a **Template** at the bottom of the page)\n2. Choose an **agent type** (Researcher, Monitor, Observer, Custom)\n3. Give it a **name** and fill in the type-specific fields\n4. Optionally pick a **target notebook** where results will be saved\n5. Choose a **frequency** (Manual = you trigger it yourself)\n6. Click **Create**, then hit the **Run** button on the agent card\n7. Once finished, a new note appears in your target notebook",
"types": "Agent types",
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (websites or RSS feeds)\n- **Default tools:** web scraping, note creation\n- **RSS tip:** Use RSS feed URLs (e.g. `site.com/feed`) to automatically scrape individual articles instead of listing pages\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
"advanced": "Advanced mode (AI Instructions, Max iterations)",
"advancedContent": "Click **\"Advanced mode\"** at the bottom of the form to access additional settings.\n\n### AI Instructions\n\nThis field lets you **replace the default system prompt** for the agent. If left empty, the agent uses an automatic prompt adapted to its type.\n\n**Why use it?** You want to control exactly how the agent behaves. For example:\n- \"Write the summary in English, even if sources are in French\"\n- \"Structure the note with sections: Context, Key Points, Personal Opinion\"\n- \"Ignore articles older than 30 days and focus on recent news\"\n- \"For each detected theme, suggest 3 follow-up leads with links\"\n\n> **Note:** Your instructions replace the defaults, they don't add to them.\n\n### Max iterations\n\nThis is the **maximum number of cycles** the agent can perform. One cycle = the agent thinks, calls a tool, reads the result, then decides the next action.\n\n- **3-5 iterations:** for simple tasks (scraping a single page)\n- **10 iterations (default):** good balance for most cases\n- **15-25 iterations:** for deep research where the agent needs to explore multiple leads\n\n> **Warning:** More iterations = more time and potentially higher API costs.",
"tools": "Available tools (full details)",
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **RSS/Atom support:** If the URL is an RSS feed, the tool automatically detects it, parses the feed and scrapes the 5 latest articles individually. Use RSS feed URLs for much richer content than listing pages.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes the RSS feed at `techcrunch.com/feed/` and gets the 5 latest full articles.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
"frequency": "Frequency & scheduling",
"frequencyContent": "| Frequency | Behavior\n|-----------|----------\n| **Manual** | You click \"Run\" yourself — no automatic scheduling\n| **Hourly** | Runs every hour\n| **Daily** | Runs once per day\n| **Weekly** | Runs once per week\n| **Monthly** | Runs once per month\n\n> **Tip:** Start with \"Manual\" to test your agent, then switch to an automatic frequency once you're satisfied with the results.",
"targetNotebook": "Target notebook",
"targetNotebookContent": "When an agent finishes its task, it **creates a note**. The **target notebook** determines where that note goes:\n\n- **Inbox** (default) — the note goes to your general notes\n- **Specific notebook** — choose a notebook to keep agent results organized\n\n> **Tip:** Create a dedicated notebook like \"Agent Reports\" to keep all automated content in one place.",
"templates": "Templates",
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates:\n\n- **AI Watch** — weekly roundup via RSS feeds from 6 AI sites (The Verge, TechCrunch, Ars Technica, MIT Tech Review, WIRED, Korben)\n- **Tech Watch** — daily summary via RSS feeds from Hacker News, DEV Community, Product Hunt\n- **Dev Watch** — developer news via RSS feeds from DEV (JavaScript, TypeScript, React)\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nTemplates come with the right tools pre-configured. You can customize them after installation.",
"tips": "Tips & troubleshooting",
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **Use RSS feed URLs** instead of listing pages for much richer content (e.g. `techcrunch.com/feed/` instead of `techcrunch.com/category/ai/`)\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs\n- **Agents respond in your language** — switch between French and English in settings",
"tooltips": {
"agentType": "Choose the type of task the agent will perform. Each type has different capabilities and fields.",
"researchTopic": "The subject the agent will research on the web. Be specific for better results.",
"description": "A short description of what this agent does. Helps you remember its purpose.",
"urls": "List of URLs to scrape. Supports RSS feeds — use feed URLs for richer content (e.g. site.com/feed).",
"sourceNotebook": "The notebook the agent will analyze. It reads notes from this notebook to find connections and themes.",
"targetNotebook": "Where the agent's result note will be saved. Choose Inbox or a specific notebook.",
"frequency": "How often the agent runs automatically. Start with Manual to test.",
"instructions": "Custom instructions that replace the default AI prompt. Leave empty to use the automatic prompt.",
"tools": "Select which tools the agent can use. Each tool gives the agent a specific capability.",
"maxSteps": "Maximum number of reasoning cycles. More steps = deeper analysis but takes longer.",
"selectNotes": "Select specific notes to analyze. If none selected, the agent will use all notes from the notebook.",
"slideTheme": "Choose a color palette for the presentation. Automatic lets the AI decide.",
"slideStyle": "Visual style affects corner radius, spacing, and information density."
}
},
"intelligenceOS": "Intelligence OS"
},
"chat": {
"title": "AI Chat",
"subtitle": "Chat with your notes and AI agents",
"newConversation": "New conversation",
"noHistory": "No history",
"untitled": "Untitled conversation",
"deleteConfirm": "Delete this conversation?",
"yes": "Yes",
"placeholder": "Send a message to the assistant...",
"allNotebooks": "All notebooks",
"inAllNotebooks": "In all notebooks",
"active": "ACTIVE",
"disclaimer": "AI can make mistakes. Verify important information.",
"assistantError": "Assistant error",
"loadError": "Error loading conversation",
"createError": "Error creating conversation",
"deleteError": "Error deleting",
"renamed": "Conversation renamed",
"renameError": "Error renaming",
"welcome": "I'm here to help you synthesize your notes, generate new ideas, or discuss your notebooks.",
"searching": "Searching...",
"noNotesFoundForContext": "No relevant notes found for this question. Answer with your general knowledge.",
"webSearch": "Web Search",
"timeoutWarning": "Response is taking longer than expected...",
"quotaExceededBasic": "AI Chat is available from the PRO plan onwards.",
"quotaExceededTier": "Monthly quota reached for {tier} plan. It will reset next month."
},
"labHeader": {
"title": "The Workshop",
"live": "Live",
"currentProject": "Current Project",
"choose": "Choose...",
"yourSpaces": "Your Spaces",
"updated": "Updated",
"newSpace": "New Thought Space",
"new": "New",
"renamed": "Space renamed",
"renameError": "Error renaming",
"created": "New space created",
"createFailed": "Creation failed",
"deleteSpace": "Delete space",
"deleted": "Space deleted",
"deleteError": "Error deleting",
"rename": "Rename"
},
"lab": {
"initializing": "Initializing workspace",
"loadingIdeas": "Loading your ideas..."
},
"richTextEditor": {
"slashHint": "↑↓ navigate · Enter insert · Tab switch section",
"slashLoading": "AI thinking...",
"slashTabAll": "All",
"slashCatBasic": "Basic blocks",
"slashCatText": "Text",
"slashCatMedia": "Media",
"slashCatData": "Data",
"slashCatEmbed": "Embed",
"slashCatFormatting": "Formatting",
"slashCatAi": "AI Note",
"placeholderH1": "Main heading...",
"placeholderH2": "Section heading...",
"placeholderH3": "Subsection heading...",
"placeholderTodo": "Add a task...",
"placeholderCode": "Write code...",
"placeholderQuote": "Capture a quote...",
"placeholderText": "Type '/' to insert a block...",
"smartPasteUrlTitle": "Link or Media Detected",
"smartPasteUrlHint": "What would you like to do with this link?",
"smartPasteUrlLink": "Paste as hyperlink",
"smartPasteUrlImage": "Insert as image",
"smartPasteUrlVideo": "Insert as video player",
"smartPastePlain": "Paste as plain text",
"smartPasteCodeTitle": "Source Code Detected",
"smartPasteCodeHint": "Source code was detected. Would you like to insert it as a code block?",
"smartPasteCodeBlock": "Insert as code block",
"insertImage": "Insert image",
"imageUrlPlaceholder": "https://example.com/image.png",
"preview": "Preview",
"cancel": "Cancel",
"insert": "Insert",
"slashText": "Text",
"slashTextDesc": "Simple paragraph",
"slashH1": "Heading 1",
"slashH1Desc": "Large section heading",
"slashH2": "Heading 2",
"slashH2Desc": "Medium section heading",
"slashH3": "Heading 3",
"slashH3Desc": "Small section heading",
"slashBullet": "Bullet List",
"slashBulletDesc": "Unordered list",
"slashNumbered": "Numbered List",
"slashNumberedDesc": "Ordered numbered list",
"slashTodo": "Task List",
"slashTodoDesc": "Checkbox tasks",
"slashQuote": "Quote",
"slashQuoteDesc": "Capture a quote",
"slashCode": "Code Block",
"slashCodeDesc": "Code snippet",
"slashDivider": "Divider",
"slashDividerDesc": "Horizontal separator",
"slashTable": "Table",
"slashTableDesc": "Insert a simple grid",
"slashDatabase": "Structured View",
"slashDatabaseDesc": "Embed your notebook's structured data",
"slashToggle": "Toggle Section",
"slashToggleDesc": "Create a collapsible section",
"slashCallout": "Callout",
"slashCalloutDesc": "Highlight text (info, warning, tip)",
"slashOutline": "Table of Contents",
"slashOutlineDesc": "Auto-generated outline from your headings",
"outlineTitle": "Outline",
"outlineEmpty": "Add headings (H1, H2, H3) to generate the outline",
"outlineDelete": "Delete outline",
"findReplaceTitle": "Find",
"findPlaceholder": "Find in note...",
"replacePlaceholder": "Replace with...",
"replace": "Replace",
"replaceAll": "Replace all",
"findNext": "Next match",
"findPrev": "Previous match",
"findCaseSensitive": "Case sensitive",
"findWholeWord": "Whole word",
"findRegex": "Regular expression",
"findReplaceToggle": "Show/Hide replace",
"slashLinkPreview": "Link Preview",
"slashLinkPreviewDesc": "Turn a URL into a visual card",
"linkPreviewLoading": "Loading preview...",
"linkPreviewModalTitle": "Paste a link",
"linkPreviewModalInsert": "Create preview",
"linkPreviewUnwrap": "Revert to simple link",
"linkPreviewDelete": "Delete preview",
"smartPasteUrlPreview": "Paste as preview card",
"slashMath": "Equation",
"slashMathDesc": "Mathematical formula in LaTeX notation",
"mathLatex": "LaTeX notation",
"mathPlaceholder": "\\frac{1}{2} + \\sum_{i=1}^{n} x_i",
"mathConfirm": "Confirm",
"mathEdit": "Edit",
"mathDelete": "Delete",
"mathCancel": "Cancel",
"mathAi": "Write with AI",
"mathAiPlaceholder": "Describe the equation in words... (e.g: quadratic formula)",
"slashColumns": "Columns",
"slashColumnsDesc": "Put content side by side",
"columnsRemove": "Remove a column",
"columnsAdd": "Add a column",
"columnsDelete": "Delete columns",
"columnsLabel": "columns",
"wizardTitle": "Create a notebook with AI",
"wizardChooseProfile": "What's your profile?",
"wizardProfileStudent": "Student",
"wizardProfileStudentDesc": "AI creates a structured course notebook with summaries, formulas and key takeaways",
"wizardProfileTeacher": "Teacher",
"wizardProfileTeacherDesc": "AI generates a course structure with chapters, exercises and learning objectives",
"wizardProfileEngineer": "Engineer / Professional",
"wizardProfileEngineerDesc": "AI creates organized technical documentation with specs and references",
"wizardTopicStudentPlaceholder": "e.g: Thermodynamics, Calculus, French Revolution...",
"wizardTopicTeacherPlaceholder": "e.g: Math 101, AP Physics, Algorithms...",
"wizardTopicEngineerPlaceholder": "e.g: Microservices architecture, Network security, ISO 27001...",
"wizardTopic": "Topic",
"wizardLevel": "Level",
"wizardLevelBeginner": "Beginner",
"wizardLevelIntermediate": "Intermediate",
"wizardLevelAdvanced": "Advanced",
"wizardLevelExpert": "Expert",
"wizardNoteCount": "Number of notes",
"wizardNotes": "notes",
"wizardConfirmHint": "AI will create a notebook with rich notes: callouts, collapsible sections, math formulas, comparison columns, outlines and links.",
"wizardGenerate": "Generate notebook",
"wizardLoading": "AI is creating your notebook with structured notes...",
"wizardProgressGenerating": "Generating content with AI...",
"wizardProgressCalling": "Calling AI...",
"wizardProgressParsing": "Parsing AI response...",
"wizardProgressCreating": "Creating notebook and notes...",
"wizardSuccess": "Notebook created successfully!",
"wizardCreated": "Notebook created:",
"wizardNotesCreated": "notes created",
"wizardOpenNotebook": "Open notebook",
"calloutDelete": "Delete callout",
"calloutUnwrap": "Disable callout",
"calloutInfo": "Information",
"calloutWarning": "Warning",
"calloutTip": "Tip",
"calloutSuccess": "Success",
"calloutDanger": "Danger",
"blockActionInsertCallout": "Turn into callout",
"toggleOpened": "Expanded section — click to collapse",
"toggleClosed": "Collapsed section — click to expand",
"toggleDelete": "Delete section",
"toggleUnwrap": "Disable toggle section",
"blockActionInsertToggle": "Turn into toggle section",
"slashDiagram": "Diagram",
"slashDiagramDesc": "Generate a flow or mindmap",
"slashSlides": "Presentation",
"slashSlidesDesc": "Generate a beautiful slide deck",
"slashImage": "Image",
"slashImageDesc": "Embed an image from URL",
"slashAlignLeft": "Align Left",
"slashAlignLeftDesc": "Align text to the left",
"slashAlignCenter": "Center",
"slashAlignCenterDesc": "Center the text",
"slashAlignRight": "Align Right",
"slashAlignRightDesc": "Align text to the right",
"slashSuperscript": "Superscript",
"slashSuperscriptDesc": "Text above the baseline",
"slashSubscript": "Subscript",
"slashSubscriptDesc": "Text below the baseline",
"slashClarify": "Clarify",
"slashClarifyDesc": "Make the text clearer",
"slashShorten": "Shorten",
"slashShortenDesc": "Condense the text",
"slashImprove": "Improve",
"slashImproveDesc": "Enhance the style",
"slashExpand": "Expand",
"slashExpandDesc": "Elaborate and enrich the text",
"imageModalTitle": "Insert image",
"imageModalPreview": "Preview",
"imageModalCancel": "Cancel",
"imageModalInsert": "Insert",
"imageModalInvalidUrl": "Please enter a valid URL",
"imageModalLoadFailed": "Failed to load image",
"linkPlaceholder": "Paste or type a link...",
"noteLinkPickerTitle": "Link to another note",
"noteLinkPickerHint": "Pick a note. Momento inserts [[Title]] in the text and creates the link when you save.",
"noteLinkPickerSearch": "Search notes…",
"noteLinkPickerEmpty": "No notes found. Check the title or create the target note first.",
"slashNoteLink": "Link to a note",
"slashNoteLinkDesc": "Create a link to another note ([[…]])",
"bold": "Bold",
"italic": "Italic",
"underline": "Underline",
"strike": "Strikethrough",
"code": "Code",
"highlight": "Highlight",
"superscript": "Superscript",
"subscript": "Subscript",
"addBlock": "Add block",
"placeholder": "Type '/' for commands...",
"aiReformulateFailed": "The AI assistant could not process this text. Try again.",
"translateTargets": {
"Francais": "French",
"English": "English",
"Espanol": "Spanish",
"Deutsch": "German",
"Persan": "Persian",
"Portugais": "Portuguese",
"Italiano": "Italian",
"Chinois": "Chinese",
"Japonais": "Japanese"
},
"exportMarkdown": "Export as Markdown",
"exportPdf": "Export as PDF",
"pdfExportBlocked": "Popup blocked — allow popups to export as PDF",
"pdfExportLoading": "Generating PDF...",
"pdfExportSuccess": "PDF ready!",
"generateExercises": "Generate exercises",
"generateExercisesHint": "5 exercises + answers",
"slashAiWriter": "Write with AI",
"slashAiWriterDesc": "Generate content at cursor",
"aiWriterPlaceholder": "Describe what you want to write...",
"publishTitle": "Public publishing",
"publishDesc": "Publish this note on a public URL. Anyone with the link can read it.",
"publish": "Publish",
"publishSuccess": "Note published!",
"publishLive": "Live",
"settingsPublishedTitle": "My published pages",
"settingsPublishedDesc": "Manage your publicly published notes.",
"settingsPublishedEmpty": "No published notes yet.",
"unpublish": "Unpublish",
"unpublishSuccess": "Note unpublished",
"publishBlocked": "Publication refused",
"slashSubPage": "Sub-page",
"slashSubPageDesc": "Create a linked note inside this note",
"exercisesLoading": "Generating exercises...",
"exercisesGenerated": "exercises created!",
"aiGenerateExercises": "Generate exercises",
"aiGenerateExercisesHint": "5 exercises with answers",
"aiGenerateExercisesDesc": "AI creates 5 exercises based on this note, with varied difficulty levels and detailed answers.",
"aiGenerateExercisesCreated": "exercises created!",
"aiGenerateGenerateExercises": "Generate",
"wizardStudyPlanner": "Study Plan",
"wizardStudyPlannerDesc": "AI creates a revision plan based on spaced repetition.",
"wizardExamDate": "Exam date",
"wizardGeneratePlan": "Generate plan",
"wizardStudyPlanLoading": "Creating plan...",
"wizardStudyPlanSuccess": "Plan created! Reminders have been added to your notes.",
"wizardDaysPlanned": "days planned",
"wizardStudyPlanReminders": "Reminders have been automatically added to your notes.",
"structuredViewsImportCsv": "Import CSV file",
"structuredViewsExportCsv": "Export as CSV",
"structuredViewsOrganizer": "Organize",
"generalContinue": "Continue",
"structuredViewsTagApplied": "applied",
"wizard": {
"title": "Create a notebook with AI",
"chooseProfile": "What's your profile?",
"profileStudent": "Student",
"profileStudentDesc": "AI creates a structured course notebook with summaries, formulas and key takeaways",
"profileTeacher": "Teacher",
"profileTeacherDesc": "AI generates a course structure with chapters, exercises and learning objectives",
"profileEngineer": "Engineer / Professional",
"profileEngineerDesc": "AI creates organized technical documentation with specs and references",
"topicStudentPlaceholder": "e.g: Thermodynamics, Calculus, French Revolution...",
"topicTeacherPlaceholder": "e.g: Math 101, AP Physics, Algorithms...",
"topicEngineerPlaceholder": "e.g: Microservices architecture, Network security, ISO 27001...",
"topic": "Topic",
"level": "Level",
"levelBeginner": "Beginner",
"levelIntermediate": "Intermediate",
"levelAdvanced": "Advanced",
"levelExpert": "Expert",
"noteCount": "Number of notes",
"notes": "notes",
"confirmHint": "AI will create a notebook with rich notes: callouts, collapsible sections, math formulas, comparison columns, outlines and links.",
"generate": "Generate notebook",
"loading": "AI is creating your notebook with structured notes...",
"progressGenerating": "Generating content with AI...",
"progressCalling": "Calling AI...",
"progressParsing": "Parsing AI response...",
"progressCreating": "Creating notebook and notes...",
"success": "Notebook created successfully!",
"created": "Notebook created:",
"notesCreated": "notes created",
"openNotebook": "Open notebook",
"studyPlanner": "Study Plan",
"studyPlannerDesc": "AI creates a revision plan based on spaced repetition.",
"examDate": "Exam date",
"generatePlan": "Generate plan",
"studyPlanLoading": "Creating plan...",
"studyPlanSuccess": "Plan created! Reminders have been added to your notes.",
"daysPlanned": "days planned",
"studyPlanReminders": "Reminders have been automatically added to your notes.",
"organizer": "Organize with AI",
"organizerDesc": "AI analyzes your notes and suggests tags, groupings and duplicate detection.",
"analyze": "Analyze notebook",
"organizing": "Analyzing notes...",
"suggestedTags": "Suggested tags",
"categories": "Suggested groupings",
"duplicates": "Duplicates detected",
"apply": "Apply",
"tagApplied": "applied",
"noSuggestions": "No suggestions — notebook looks well organized."
},
"wizardOrganizer": "Organize with AI",
"wizardOrganizerDesc": "AI analyzes your notes and suggests tags, groupings and duplicate detection.",
"wizardAnalyze": "Analyze notebook",
"wizardOrganizing": "Analyzing notes...",
"wizardSuggestedTags": "Suggested tags",
"wizardCategories": "Suggested groupings",
"wizardDuplicates": "Duplicates detected",
"wizardApply": "Apply",
"wizardTagApplied": "applied",
"wizardNoSuggestions": "No suggestions — notebook looks well organized.",
"importMarkdown": "Import Markdown",
"markdownExportSuccess": "Note exported as Markdown",
"markdownExportError": "Failed to export note",
"markdownImportSuccess": "Markdown imported successfully"
},
"flashcards": {
"generateTitle": "Generate flashcards",
"generateAction": "Generate with AI",
"confirmSave": "Save to deck",
"generateFailed": "Could not generate flashcards",
"saveFailed": "Could not save flashcards",
"schemaMissing": "Flashcards are not available yet on this server (database migration pending).",
"savedCount": "{count} flashcards saved",
"cardCount": "Number of cards",
"styleLabel": "Card style",
"style": {
"qa": "Q&A",
"cloze": "Cloze",
"concept": "Concept"
},
"previewHint": "Edit cards before saving",
"frontPlaceholder": "Question / front",
"backPlaceholder": "Answer / back",
"toolbarGenerate": "Generate flashcards",
"tabDecks": "Decks",
"tabProgress": "Progress",
"emptyDecks": "No flashcard decks yet",
"emptyDecksHint": "Open a note and use the graduation cap in the toolbar to generate cards with AI.",
"createDeck": "Create deck",
"newDeckPlaceholder": "Thematic deck name…",
"deckCreated": "Deck created",
"dueCount": "{count} due today",
"upToDate": "Up to date",
"cardCountLabel": "{count} cards",
"masteredShort": "mastered",
"viewDeck": "Details",
"hideDeck": "Hide",
"deckCardsEmpty": "This deck has no cards yet.",
"dueBadge": "Due",
"masteredBadge": "Mastered",
"review": "Review",
"startReview": "Start review",
"activeDeck": "Active deck",
"statTotal": "Total: {count}",
"statDue": "Due: {count}",
"statMastered": "Mastered: {count}",
"exitSession": "Exit session",
"previous": "Previous",
"next": "Next",
"front": "Front",
"back": "Back",
"tapToFlip": "Space or tap to flip",
"gradeSelected": "Saved — {label}",
"ratePrompt": "How well did you remember this card?",
"grade": {
"hard": "Hard (1)",
"difficult": "Difficult (2)",
"good": "Good (3)",
"easy": "Easy (4)"
},
"sessionComplete": "Session complete",
"backToDecks": "Back to decks",
"loadDeckFailed": "Could not load deck",
"reviewFailed": "Could not save review",
"heatmapTitle": "Review activity",
"heatmapLast90": "Last 90 days",
"retentionRate": "Retention rate",
"masteredLabel": "{count}/{total} mastered",
"retentionCurve": "Weekly success rate",
"retentionCurveHint": "Based on reviews with grade ≥ Good (3 or 4)",
"retentionNoDataYet": "Review more cards across multiple weeks to see your retention curve.",
"streak": "Current streak",
"streakDays": "days",
"totalReviewsLabel": "Total reviews",
"totalCardsLabel": "Total cards",
"nextReviewLabel": "Next",
"dueToday": "Due today",
"nextReviewIn": "In {days}d",
"difficultCards": "Hardest cards",
"notebookBadge": "Notebook",
"reviewMode": "Mode",
"reviewModeAll": "All cards",
"reviewModeDue": "Due only",
"sessionStats": "Session summary",
"sessionReviewed": "Cards reviewed",
"sessionNewMastered": "Newly mastered",
"sessionDuration": "Duration",
"editCard": "Edit",
"deleteCard": "Delete card",
"deleteCardConfirm": "Delete this card?",
"deleteDeck": "Delete deck",
"deleteDeckConfirm": "Delete this deck and all its cards permanently?",
"deckDeleted": "Deck deleted",
"cardDeleted": "Card deleted",
"cardSaved": "Card saved",
"cardTypeBadge": "{type}",
"reviewNow": "Review now",
"deleteFailed": "Could not delete"
},
"structuredViews": {
"enableTitle": "Organize this notebook (table, kanban, gallery…)",
"enableLabel": "Organize",
"enabledHint": "Organized mode enabled",
"enabledHintDetail": "Fields show up in each note's Info panel.",
"enableFailed": "Could not enable organized view",
"viewList": "List",
"viewTable": "Table",
"viewTableHint": "Structured table — one row per note, one column per field (status, date…)",
"viewKanban": "Kanban",
"viewGallery": "Gallery",
"viewKanbanHint": "Columns — like Trello to track your notes",
"viewCalendarHint": "Calendar — your notes organized by date",
"calendarNoDateProperty": "Add a date property to use the calendar view",
"viewGalleryHint": "Visual cards — browse your notes at a glance",
"intro": {
"databaseTitle": "Organized notebook",
"databaseBody": "Add shared fields (Status, Due date, Priority…) to every note in this notebook. Your note content stays the same — these are shared metadata, like a lightweight Notion database.",
"tableTitle": "Table view",
"tableBody": "All notes as rows, your fields as columns. Edit status or dates inline in the grid.",
"kanbanTitle": "Kanban view",
"kanbanBody": "The same notes as cards grouped in columns (e.g. To do → In progress → Done). Drag and drop to update status.",
"activateTableHint": "We create a default “Status” field. Add more fields anytime with the + button.",
"activateKanbanHint": "We create a “Status” field with three columns. You can rename options or add fields later.",
"enableTable": "Enable table",
"enableKanban": "Enable Kanban",
"enabling": "Enabling…",
"enabledSuccess": "Organized notebook enabled for this notebook"
},
"helpBanner": {
"table": "Table view: one row per note, one column per field. Click a cell to edit. Hover a column header to delete it (trash icon).",
"kanban": "Kanban view: drag a card to change its status. Use + in a column to create a note already classified.",
"dismiss": "Got it"
},
"addPropertyTitle": "Add field",
"addProperty": "Add field",
"addPropertyHint": "The column appears on every note in this notebook, but each note keeps its own value (empty until you fill it in).",
"deleteProperty": "Delete field",
"deletePropertyTitle": "Delete this field?",
"deletePropertyConfirm": "The field \"{name}\" and all its values on notes in this notebook will be removed. This cannot be undone.",
"calculations": "Calculations",
"calcClickToChange": "Click to change calculation type (Sum, Average, Min, Max, Count, None)",
"deletePropertySuccess": "Field deleted",
"cellEmpty": "—",
"multiselectPick": "Choose…",
"propertyName": "Field name",
"propertyType": "Data type",
"selectOptions": "Options (one per line)",
"selectOptionsPlaceholder": "To do\nIn progress\nDone",
"propertiesSection": "Notebook fields",
"noPropertiesYet": "No fields yet.",
"noFilter": "No filter",
"filterContains": "Contains",
"filterEquals": "Equals",
"filterEmpty": "Is empty",
"filterValue": "Filter value…",
"noMatchingNotes": "No notes match this filter.",
"kanbanGroupBy": "Group by",
"kanbanUnassigned": "Unassigned",
"kanbanAllNotes": "All notes",
"kanbanSingleColumnHint": "Your notes are here. For multiple columns (To do, In progress, Done), one click.",
"kanbanAddStatusColumns": "Add Status columns",
"chooseGroupProperty": "Choose grouping field",
"newNoteInColumn": "New note",
"propertyTypes": {
"text": "Text",
"number": "Number",
"date": "Date",
"select": "Single choice",
"multiselect": "Multi-choice",
"checkbox": "Yes/no"
},
"wizard": {
"title": "Organize this notebook",
"subtitle": "Like a light spreadsheet: extra info on each note, without changing the text.",
"stepGoal": "What is this notebook for?",
"stepFields": "Which fields to add?",
"stepView": "How should notes appear?",
"fieldsHint": "A field = a shared column (status, date…). Fill it per note when you want.",
"kanbanNeedsStatus": "Check a single-choice field (e.g. Status) to use Kanban.",
"doneHint": "You can fill fields later — or leave them empty.",
"back": "Back",
"next": "Next",
"finish": "Finish",
"readyToast": "Ready — fill in fields whenever you like.",
"openFromKanban": "Set up with assistant",
"goals": {
"tasks": {
"title": "Track tasks",
"desc": "Status, due date — great for Kanban."
},
"learning": {
"title": "Learn / review",
"desc": "Level, last review — works well as gallery."
},
"reading": {
"title": "Read and collect",
"desc": "Read flag, source — for articles and references."
},
"simple": {
"title": "Just organize",
"desc": "Change views without required fields."
}
},
"fields": {
"status": {
"name": "Status",
"options": "To do\nIn progress\nDone"
},
"dueDate": {
"name": "Due date"
},
"level": {
"name": "Level",
"options": "Beginner\nIntermediate\nAdvanced"
},
"lastReview": {
"name": "Last review"
},
"read": {
"name": "Read"
},
"source": {
"name": "Source"
}
}
}
},
"brainstorm": {
"title": "Waves of Thought",
"subtitle": "Unfold dimensions of potentiality",
"placeholder": "Enter a concept to unfold...",
"generating": "AI is harvesting seeds of thought...",
"newBrainstorm": "New Brainstorm",
"noSessions": "No brainstorms yet",
"startOne": "Start one",
"sessions": "Brainstorms",
"seedLabel": "Seed Idea",
"ideaPromptDetailed": "Enter your idea, question, or topic to brainstorm...",
"brainstormThisIdea": "Brainstorm this idea",
"startBrainstorm": "Start Brainstorm",
"spatialMode": "Spatial Exploration Mode",
"wave1": "Wave 1",
"wave2": "Wave 2",
"wave3": "Wave 3",
"export": "Export",
"exporting": "Exporting...",
"wave": "Wave",
"novelty": "Novelty",
"originConnection": "Origin connection",
"linkedNotes": "Linked notes",
"deepen": "Deepen",
"deepening": "Generating...",
"extract": "Create Note",
"converting": "Converting...",
"dismiss": "Not pertinent",
"noteCreated": "Note Created",
"ideas": "ideas",
"cancel": "Cancel",
"delete": "Delete",
"ideaOrigin": "Origin of the idea",
"noNoteLink": "Purely generative idea",
"derived_from": "Derived from",
"opposes": "In opposition with",
"extends": "Extends",
"synthesizes": "Synthesizes",
"transposes": "Transposes",
"none_found": "No note link",
"viewNote": "View note",
"addIdea": "Add idea",
"manualIdeaPrompt": "Title of your idea:",
"invite": "Invite",
"linkCopied": "Invite link copied!",
"activityTitle": "Activity",
"noActivity": "No activity yet",
"justNow": "just now",
"humanIdea": "Human",
"aiIdea": "AI",
"respondsTo": "Responds to",
"adding": "Adding...",
"manualIdeaDesc": "Share your idea with the brainstorm canvas",
"manualIdeaTitle": "Title",
"manualIdeaTitlePlaceholder": "Your idea in a few words...",
"manualIdeaDescLabel": "Description (optional)",
"manualIdeaDescPlaceholder": "Elaborate on your idea...",
"activity": {
"manual_idea": "added an idea",
"wave_generated": "generated a wave",
"joined": "joined the session",
"idea_dismissed": "dismissed an idea",
"invite_created": "created an invite"
},
"shareDialogTitle": "Share brainstorm",
"shareSearchLabel": "Find someone",
"shareNameOrEmailPlaceholder": "Name or email…",
"shareSubmit": "Share",
"shareSubmitting": "Sending…",
"shareFooterHint": "They will get a notification to accept or decline.",
"sharePublicLink": "Public link",
"shareGuestsCanEdit": "Allow guests to edit",
"feedbackInviteSent": "Invitation sent!",
"feedbackInviteResent": "Invitation resent!",
"feedbackAlreadyShared": "This person already has access to this brainstorm.",
"feedbackAlreadyPending": "An invitation is already pending for this person.",
"feedbackGenericError": "Error",
"unnamedPerson": "No name",
"canvasEditTitleReply": "Reply",
"canvasEditTitleNewIdea": "New idea",
"canvasPlaceholderReply": "Your reply…",
"canvasPlaceholderIdea": "Your idea…",
"canvasShortcutSave": "save",
"canvasShortcutCancel": "cancel",
"canvasChildBranch": "Child",
"canvasDoubleClickHint": "Double-click to add an idea",
"ideaDetailDescription": "Description",
"ideaDetailConnection": "Connection",
"ideaDetailNovelty": "Novelty",
"ideaDetailWave": "Wave",
"waveFlavorVariation": "Variation",
"waveFlavorAnalogy": "Analogy",
"waveFlavorDisruption": "Disruption",
"liveCollaborationTitle": "Live collaboration",
"liveStatus": "Live",
"liveYouMarker": "(You)",
"liveOtherParticipants": "{count} other participants",
"guestReadOnlyNotice": "You're viewing this brainstorm as a guest. Sign in to edit.",
"impactNotesEnriched": "{count} note(s) enriched",
"impactNotesMarkedDry": "{count} note(s) marked dry",
"impactSeparator": " · ",
"exportNotebookPrefix": "Notebook:",
"playbackStep": "Step {current}/{total}",
"playbackStepsCount": "{count} steps",
"playbackReturnToLive": "Return to live",
"canvasWaitingHint": "The canvas is waiting for your spark...",
"seedNodeBadge": "SEED",
"originalSeedDescription": "Original seed idea",
"convertedToNoteStatus": "Converted to note",
"quotaGuest": "The session host has reached their AI limit. Ask them to upgrade their plan.",
"quotaHost": "You've reached your AI limit for this brainstorm. Upgrade your plan to continue.",
"toastExpandSuccess": "Ideas expanded!",
"toastExpandFailed": "Failed to expand",
"toastDismissSuccess": "Idea dismissed",
"toastDismissFailed": "Failed to dismiss",
"toastConvertSuccess": "Idea converted to note!",
"toastConvertFailed": "Failed to convert",
"toastExportNoteSuccess": "Exported as note!",
"toastExportFailed": "Failed to export",
"legendSeed": "Seed",
"legendVariations": "Variations",
"legendAnalogies": "Analogies",
"legendDisruptions": "Disruptions",
"exportFailedMessage": "Export failed",
"exportDefaultNotebookName": "Brainstorm",
"exportDefaultNoteTitle": "Synthesis",
"exportOpening": "Opening…",
"ownerBadge": "Owner",
"waveBadge": "Wave {wave}",
"exampleSeed1": "Simplify my morning routine",
"exampleSeed2": "Ideas for a creative project this weekend",
"exampleSeed3": "Systems to manage my energy better",
"exampleSeed4": "What I learned this week",
"summarize": "AI Synthesis",
"summaryError": "Could not generate synthesis",
"regenerateSummary": "Regenerate",
"exportAsNote": "Export as note",
"exportModalTitle": "Session summary",
"viewCanvas": "Canvas",
"viewList": "List",
"ideasCount": "ideas",
"star": "Star idea",
"unstar": "Unstar idea",
"renameSession": "Rename session",
"downloadPptx": "PPTX",
"downloadPptxDesc": "Download as PowerPoint",
"pptxSuccess": "PPTX downloaded",
"pptxError": "PPTX export failed",
"fitToScreen": "Re-center",
"legendWave1": "Variations",
"legendWave2": "Analogies",
"legendWave3": "Disruptions",
"legendConverted": "Converted"
},
"byokSettings": {
"title": "Your API keys (BYOK)",
"description": "Connect your own LLM provider keys to bypass Discovery Pack quotas. Keys are encrypted at rest.",
"badgeActive": "BYOK active",
"tierRequired": "BYOK requires a Pro plan or higher. Upgrade to connect your API keys.",
"provider": "Provider",
"providerPlaceholder": "Select a provider",
"alias": "Label (optional)",
"aliasPlaceholder": "e.g. Work OpenAI",
"apiKey": "API key",
"apiKeyPlaceholder": "sk-...",
"save": "Save key",
"saved": "API key saved",
"deleted": "API key removed",
"error": "Could not save API key",
"loadError": "Could not load API keys",
"loading": "Loading keys...",
"empty": "No API keys configured yet.",
"confirmDelete": "Remove this API key permanently?",
"toggleActive": "Active",
"providers": {
"openai": "OpenAI",
"anthropic": "Anthropic",
"deepseek": "DeepSeek",
"openrouter": "OpenRouter",
"minimax": "MiniMax",
"zai": "Z.ai",
"google": "Google",
"mistral": "Mistral",
"glm": "GLM"
}
},
"billing": {
"title": "Billing",
"currentPlan": "Current Plan",
"upgradePlan": "Upgrade Plan",
"manageBilling": "Manage Billing",
"manageDescription": "Update payment method, view invoices, or cancel.",
"openPortal": "Open Billing Portal",
"renewsOn": "Renews on",
"expiresOn": "Expires on",
"canceledAt": "Canceled — access until",
"freePlan": "Free Plan",
"proPlan": "Pro Plan",
"businessPlan": "Business Plan",
"enterprisePlan": "Enterprise Plan",
"perMonth": "/mo",
"perYear": "/yr",
"monthly": "Monthly",
"annual": "Annual",
"save": "Save",
"upgradeTitle": "Choose a Plan",
"proPrice": "€9.90",
"businessPrice": "€29.90",
"proAnnualPrice": "€99",
"businessAnnualPrice": "€299",
"proFeature1": "100 semantic searches / month",
"proFeature2": "200 auto-tags / month",
"proFeature3": "50 reformulations / month",
"proFeature4": "100 chat messages / month",
"businessFeature1": "1,000 semantic searches / month",
"businessFeature2": "1,000 auto-tags / month",
"businessFeature3": "500 reformulations / month",
"businessFeature4": "1,000 chat messages / month",
"enterpriseTitle": "Enterprise",
"enterpriseDescription": "Custom quotas, SSO, priority support.",
"contactSales": "Contact us",
"startCheckout": "Get Started",
"checkoutLoading": "Loading checkout…",
"checkoutSuccess": "Subscription activated! Welcome to {tier}.",
"checkoutCanceled": "Checkout canceled.",
"active": "Active",
"trialing": "Trialing",
"pastDue": "Past Due",
"canceled": "Canceled",
"inactive": "Inactive",
"billingEnabled": "Billing enabled",
"billingDisabled": "Billing is not enabled on this instance.",
"usageThisPeriod": "Usage this period",
"periodRange": "Period",
"unlimited": "Unlimited",
"noUsage": "No usage data",
"billingHistory": "Billing History",
"viewInvoices": "Manage invoices in portal",
"cancelSubscription": "Cancel subscription",
"nextBillingDate": "Next billing date",
"billingPeriod": "Billing period",
"planSince": "Member since",
"checkoutSuccessTitle": "Subscription activated!",
"checkoutSuccessBody": "Welcome to {tier}. Your features are now unlocked.",
"subscriptionType": "subscriptionType",
"renewalDate": "renewalDate",
"noRenewalDate": "—",
"tab": "Billing",
"currentUsage": "Current usage",
"currentPeriod": "Current period",
"aiCredits": "AI credits",
"used": "used",
"billing": "Billing",
"renewal": "Renewal",
"paidPlanDesc": "Your subscription renews automatically.",
"businessDescription": "For teams and product leaders.",
"enterpriseFeature1": "Unlimited quotas",
"enterpriseFeature2": "SSO / SAML",
"enterpriseFeature3": "Dedicated support",
"enterpriseFeature4": "Custom invoicing",
"enterpriseFeature5": "Guaranteed SLA",
"subtitle": "Choose the plan that suits you",
"freeDescription": "To discover Memento",
"freeF1": "30 semantic searches",
"freeF2": "15 auto tags",
"freeF3": "5 auto titles",
"freeF4": "100 notes",
"freeF5": "3 notebooks",
"freePlanDesc": "Perfect to discover Memento",
"freePrice": "Free",
"proDescription": "For consultants and freelancers",
"proFeature5": "50 reformulations/month",
"proFeature6": "50 AI messages/month",
"proCta": "Upgrade to Pro",
"businessFeature5": "500 reformulations/month",
"businessFeature6": "500 AI messages/month",
"businessCta": "Upgrade to Business",
"recommended": "Recommended",
"instantActivation": "Instant activation",
"secureDesc": "Secure payments by Stripe",
"secureTransactions": "Secure transactions",
"satisfactionGuarantee": "30-day satisfaction guarantee"
},
"quotaPaywall": {
"title": "Monthly limit reached",
"description": "You've used all your {feature} credits for this month.",
"upgrade": "Upgrade plan",
"useOwnKey": "Use your own API key",
"later": "Maybe later"
},
"landing": {
"nav": {
"features": "Features",
"agents": "AI Agents",
"brainstorm": "Brainstorm",
"pricing": "Pricing",
"tech": "Architecture",
"login": "Log in",
"cta": "Get started"
},
"hero": {
"badge": "Powered by Artificial Intelligence",
"title1": "Your second brain,",
"title2": "finally amplified.",
"subtitle": "Momento is more than a note-taking app. It's an intelligent ecosystem that connects, analyzes and develops your ideas in real time with 6 types of AI agents and cutting-edge semantic search.",
"cta": "Sign up now",
"secondary": "See features",
"memoryEcho": "Memory Echo",
"memoryEchoText": "\"Connection detected with your sustainable design project from March 2024...\"",
"brainstormLive": "Brainstorm Live",
"ideasGenerated": "+12 ideas generated"
},
"features": {
"label": "AI Capabilities",
"title": "Fluid intelligence,",
"title2": "woven into every word.",
"desc": "Momento orchestrates your ideas through a multi-provider architecture.",
"f1Title": "Semantic Search",
"f1Desc": "Stop searching by keywords. Find by concept. Our hybrid Vector + FTS engine understands the intent behind your notes.",
"f2Title": "Contextual RAG Chat",
"f2Desc": "Chat with your knowledge. Our agents read your notes, explore the web and analyze your documents to respond with precision.",
"f3Title": "Augmented Writing",
"f3Desc": "Reformulation, title suggestions, auto-tagging and summaries. AI works in the background to structure your thinking."
},
"agents": {
"label": "Specialized Agents",
"title": "Delegate the complex work.",
"desc": "6 types of autonomous AI agents to automate your research, summaries and presentations.",
"scraper": {
"title": "Scraper",
"desc": "Scrapes URLs, parses RSS feeds and synthesizes information with smart image placement."
},
"researcher": {
"title": "Researcher",
"desc": "Generates complex queries, explores web sources and writes structured research notes."
},
"slideGen": {
"title": "Slide Gen",
"desc": "Transforms your notes into professional PowerPoint presentations or interactive HTML Slides."
},
"monitor": {
"title": "Monitor",
"desc": "Continuously analyzes your notebooks to detect trends and new insights."
},
"diagramGen": {
"title": "Diagram Gen",
"desc": "Converts your ideas into fluid Excalidraw diagrams (Mindmaps, Flowcharts) with auto-layout."
},
"custom": {
"title": "Custom",
"desc": "Define your own agents with specific roles and data sources."
}
},
"brainstorm": {
"label": "Thought Waves",
"title": "Real-time radial brainstorming.",
"waveGeneration": {
"title": "Wave Generation",
"desc": "Variations, Analogies, then Disruptions. AI pushes your initial concept to its limits."
},
"collaboration": {
"title": "Native Collaboration",
"desc": "AI ghost cursors, synced avatars and real-time node movement."
},
"export": {
"title": "Semantic Export",
"desc": "Convert your entire brainstorm into structured notes in one click."
},
"disruptionLabel": "DISRUPTION",
"disruptionText": "Modular Architecture 2.0",
"analogyLabel": "ANALOGY",
"analogyText": "The tidal cycle"
},
"tech": {
"label": "Architecture & Providers",
"title": "Connect your own AI model.",
"tags": {
"title": "Tags",
"desc": "Independently configurable with any model."
},
"embeddings": {
"title": "Embeddings",
"desc": "Independently configurable with any model."
},
"chatRag": {
"title": "Chat RAG",
"desc": "Independently configurable with any model."
}
},
"pricing": {
"label": "Plans & Pricing",
"title": "Choose your level of amplification.",
"desc": "Flexible options for creative minds, from individual use to large organizations.",
"monthly": "Monthly",
"annual": "Annual",
"perMonth": "/month",
"perMonthAnnual": "/month, billed annually",
"perUser": "+ 3.90€/user",
"perUserAnnual": "+ 2.90€/user, billed annually",
"popular": "Most popular",
"basic": {
"name": "Basic",
"desc": "Discover the magic of Momento.",
"cta": "Get started",
"feature0": "100 Notes max",
"feature1": "3 Notebooks",
"feature2": "50 AI credits (Lifetime)",
"feature3": "Semantic search",
"feature4": "7-day history"
},
"pro": {
"name": "Pro",
"desc": "For demanding consultants and creators.",
"cta": "Upgrade to Pro",
"feature0": "Unlimited notes",
"feature1": "BYOK (OpenAI/Anthropic)",
"feature2": "200 semantic searches",
"feature3": "Agents (12 runs/month)",
"feature4": "30-day history",
"feature5": "Email support"
},
"business": {
"name": "Business",
"desc": "For teams and product managers.",
"cta": "Choose Business",
"feature0": "10 Collaborators included",
"feature1": "BYOK (13 providers)",
"feature2": "1000 semantic searches",
"feature3": "Agents (60 runs/month)",
"feature4": "Unlimited brainstorming",
"feature5": "API access"
},
"enterprise": {
"name": "Enterprise",
"desc": "Secure organizational memory.",
"cta": "Contact Sales",
"feature0": "Everything in Business",
"feature1": "Unlimited agents",
"feature2": "SSO / SAML",
"feature3": "Audit Logs & SLA",
"feature4": "Dedicated support",
"feature5": "Live onboarding"
},
"basicPrice": "Free"
},
"byok": {
"label": "Open Cloud Technology",
"title": "The BYOK Strategy",
"desc": "Already have OpenAI, Anthropic or Google API keys? Connect them directly to Momento. Use AI without imposed credit limits, paying only what you actually consume from your favorite provider.",
"noLockin": "No lock-in",
"noLockinDesc": "Switch providers in 1 click.",
"cost": "Optimized costs",
"costDesc": "Pay the direct API price.",
"configLabel": "Multi-Provider Config"
},
"cta": {
"title1": "Ready to unlock your",
"title2": "full potential?",
"desc": "Join thousands of researchers, designers and thinkers already using Momento to build their future.",
"button": "Launch Momento"
},
"footer": {
"desc": "The AI-amplified second brain. Designed for creative minds.",
"product": {
"title": "Product",
"link0": "Changelog",
"link1": "Documentation",
"link2": "Roadmap",
"link0Href": "#",
"link1Href": "#",
"link2Href": "#"
},
"community": {
"title": "Community",
"link0": "Discord",
"link1": "Twitter / X",
"link2": "LinkedIn",
"link0Href": "#",
"link1Href": "#",
"link2Href": "#"
},
"legal": {
"title": "Legal",
"link0": "Privacy Policy",
"link1": "Terms of Service",
"link2": "Cookie Policy",
"link0Href": "#",
"link1Href": "#",
"link2Href": "#"
}
}
},
"noteHistory": {
"title": "Title",
"content": "Content",
"untitled": "Untitled",
"emptyState": "No versions available",
"selectVersion": "Select a version to preview its content",
"currentVersion": "current"
},
"graphView": {
"title": "Graph View",
"notesCount": "{count} notes",
"connectionsCount": "{count} connections",
"visibleConnections": "{count} visible",
"globalView": "Fit to View",
"searchPlaceholder": "Filter...",
"noNotesFound": "No notes found",
"notebooks": "Notebooks",
"resetFilter": "Reset",
"resetFocus": "Full graph",
"exploreFromNode": "Explore from this note",
"linkFilters": "Link filters",
"semanticThreshold": "Semantic threshold",
"edgeTypes": {
"explicitLink": "Note links (manual)",
"semanticEcho": "Memory Echo (AI)",
"titleMention": "Title mention",
"sharedLabel": "Shared tags",
"jaccard": "Keyword similarity"
},
"relationshipTypes": "Relationship Types",
"connections": "{count} connection",
"connectionsPlural": "{count} connections",
"preview": {
"openNote": "Open note",
"emptyNote": "Empty note",
"tags": "Tags",
"noTags": "No tags",
"words": "{count} words",
"chars": "{count} chars",
"created": "Created on",
"updated": "Updated on"
}
},
"insightsView": {
"title": "Semantic Insights",
"subtitle": "Discover the hidden architecture of your knowledge",
"resync": "Re-sync network",
"mapping": "Mapping…",
"loading": "Loading your notes…",
"mappingTitle": "Mapping your knowledge…",
"mappingHint": "This can take one to three minutes. You can keep browsing; the page will update when it's done.",
"analyzeNow": "Start semantic analysis",
"emptyNeedMoreNotes": "Add {count} more notes to unlock semantic clustering (minimum 10).",
"embeddingsHint": "Only {indexed} of {total} notes are indexed for AI. Analysis will prepare them first (this may take several minutes).",
"vsGraphHint": "This is not the same as “Link map” (network icon in the sidebar): here, AI groups your notes by theme.",
"openGraphMap": "Open link map",
"analysisFailed": "Analysis failed. Check your AI settings or try again.",
"analysisSuccess": "Analysis complete: {count} themes detected.",
"analysisNoClusters": "No themes detected yet.",
"staleResults": "Showing results from the last analysis. Many notes changed since then — click “Resynchronize network” to refresh.",
"semanticGraphLegend": "Detected themes overview (not the link map)",
"fitGraphView": "Fit view",
"graphPreviewHint": "Theme overview: the number is how many notes belong here. Hover a dot for the title, click to open. Full list on the right.",
"graphMoreNotes": "+{count} more in this theme",
"graphNotesLabel": "notes",
"clusterFallback": "Theme {index}",
"unclusteredNotes": "{count} notes not assigned to a theme (hidden from graph).",
"emptyTitle": "Discover your knowledge clusters",
"emptyDescription": "Click \"Re-sync network\" to analyze your notes and find hidden connections",
"stats": {
"clusters": "Clusters",
"bridgeNotes": "Bridge notes"
},
"clusters": {
"title": "Semantic clusters",
"notesCount": "{count} notes",
"centralNotes": "Central notes",
"emptyCluster": "No notes in this cluster"
},
"bridgeNotes": {
"title": "Powerful bridge notes",
"score": "Score: {score}%",
"empty": "No significant bridge notes yet. Deepen your research to find new connections."
},
"suggestions": {
"title": "Missing links (AI generated)",
"bridging": "Bridging {clusterA} & {clusterB}",
"emptyTitle": "No connection suggestions yet",
"emptyDescription": "All your clusters may already be connected!",
"createNote": "Create bridge note"
},
"unknownNote": "Untitled note",
"viewSplit": "Split",
"viewGraph": "Graph",
"viewDashboard": "Dashboard",
"isolatedClusters": {
"title": "Isolated clusters ({count})",
"badge": "Not connected",
"empty": "All your semantic clusters are interconnected!"
},
"focusCluster": {
"title": "Cluster Focus Active",
"description": "This thematic cluster gathers {count} complementary notes. Click on a note to access it directly:",
"close": "Close"
},
"badgeDominant": "Dominant",
"bridgeCount": "bridge(s)",
"echoTitle": "You keep returning to this idea",
"tipClusters": "AI grouped your notes by semantic affinity — regardless of which notebook they're in. Each theme represents a subject your mind keeps returning to.",
"tipClustersAction": "Click a theme to see its notes. Click a note to open it.",
"tipBridgeNotes": "These notes speak to two different themes at once. They reveal where your thinking crosses boundaries — often where the most original ideas hide.",
"tipBridgeNotesAction": "Click a note to open it and understand the connection.",
"tipEcho": "Memory Echo detects two notes written at very different times that cover the same idea. Your mind revisited a thought without realising it.",
"tipEchoAction": "Two notes, same idea, different moments. Click to explore.",
"tipSuggestions": "These themes have no note linking them yet. AI proposes a starting idea. Click 'Create bridge note' to write it and open it in the editor.",
"tipSuggestionsAction": "Click 'Create bridge note' to write the note and open it immediately.",
"tipIsolated": "These themes are isolated: no note connects them to the others. Maybe you're exploring a fragile idea? One synthesis note would be enough to create the link.",
"tipIsolatedAction": "These themes have no note connecting them to the rest of your thinking."
},
"consent": {
"banner": {
"title": "Cookie Preferences",
"description": "We use cookies to improve your experience. Strictly necessary cookies are always active, but you can opt-in to anonymous analytics.",
"acceptEssentials": "Accept Essentials Only",
"rejectNonEssential": "Reject Non-Essential",
"manage": "Manage Preferences",
"acceptAll": "Accept All"
},
"preferences": {
"title": "Consent Settings",
"description": "Customize your data privacy preferences. We respect your choice and store no tracking cookies without your consent.",
"necessaryTitle": "Strictly Necessary Cookies",
"necessaryDesc": "These cookies are required to authenticate your session, save your language and theme preferences. They cannot be turned off.",
"alwaysOn": "Always On",
"analyticsTitle": "Anonymous Analytics",
"analyticsDesc": "Help us improve Momento by sending completely anonymous usage statistics. No personal data is ever tracked.",
"cancel": "Cancel",
"save": "Save Preferences",
"saved": "Preferences updated successfully."
},
"ai": {
"modalTitle": "AI Processing Consent Required",
"modalDescription": "To analyze your notes, PDFs, or brainstorm sessions, Memento securely transmits this data to third-party AI APIs (OpenAI, Gemini, DeepSeek). We enforce a strict zero-data-retention policy. By accepting, you authorize this processing.",
"zeroRetentionTitle": "Zero Data Retention",
"zeroRetentionDesc": "All outbound requests enforce zero-data-retention flags to safeguard your intellectual property.",
"rememberMe": "Remember my choice (do not ask again)",
"acceptButton": "Approve and continue",
"rejectButton": "Reject",
"aborted": "AI processing cancelled (consent rejected).",
"revocationTitle": "GDPR AI Processing Consent",
"revocationDescription": "Optional permission to send note content to third-party AI providers when you explicitly use AI features.",
"revokeButton": "Revoke Consent",
"grantButton": "Grant consent",
"statusActive": "Active",
"statusInactive": "Not granted",
"helpAriaLabel": "What does AI consent mean?",
"helpTooltip": "Momento does not sell your data. This consent only applies when you trigger an AI action (titles, tags, chat, reformulation). Without it, the rest of the app works normally.",
"whatItMeansTitle": "What does this mean?",
"inactiveHint": "Without consent, only AI-powered features are disabled. You can still create, edit, and organize notes as usual.",
"noCommercialUse": "Momento does not sell or monetize your personal data.",
"affectedFeatures": "AI features affected: title suggestions, tags, assistant chat, reformulation, Memory Echo, and similar tools.",
"dataPortabilityHint": "You can export or delete all your data at any time (Settings → Data).",
"dataPortabilityLink": "Export my data",
"revoked": "Consent not granted",
"revokedToast": "AI processing consent successfully revoked.",
"complianceBadge": "GDPR compliance",
"auditFailed": "Could not record your consent. Please try again."
}
},
"account": {
"deleteAccount": {
"sectionTitle": "Right to be Forgotten (GDPR)",
"sectionDescription": "Permanently and irreversibly delete your account and all associated data.",
"whatWillBeDeleted": "The following will be permanently deleted:",
"item1": "All notes, notebooks, and attachments",
"item2": "All pgvector semantic embeddings",
"item3": "All BYOK API keys",
"item4": "All AI conversations and brainstorm sessions",
"item5": "Quota and usage history",
"item6": "Your Stripe subscription (if active)",
"item7": "Your account and login credentials",
"buttonLabel": "Delete My Account",
"dialogTitle": "Confirm Account Deletion",
"dialogDescription": "This action is irreversible. Type your email address to confirm.",
"emailPlaceholder": "Your email address",
"confirmButton": "Permanently Delete Account",
"cancelButton": "Cancel",
"deleting": "Deleting...",
"successRedirect": "Your account has been successfully deleted.",
"errorFailed": "Deletion failed. Please try again."
}
},
"attachments": {
"title": "Attachments",
"addToNote": "Add to note",
"analyzing": "Analyzing...",
"askPlaceholder": "Ask a question about this document...",
"askQuestions": "Ask questions",
"deleted": "Attachment deleted",
"docExpert": "Document expert",
"docQaWelcome": "Ask questions about this document",
"maxSize": "Max size",
"onlyPdf": "PDF only",
"processingFailed": "Processing failed",
"remove": "Remove",
"thinking": "Thinking...",
"uploaded": "Uploaded",
"uploadError": "Upload error",
"uploadFailed": "Upload failed",
"uploading": "Uploading..."
},
"blockAction": {
"delete": "Delete",
"duplicate": "Duplicate",
"moveUp": "Move block up",
"moveDown": "Move block down",
"moveUpFirst": "This is already the first block",
"moveDownLast": "This is already the last block",
"copyContent": "Copy content",
"contentCopied": "Content copied!",
"emptyBlock": "This block is empty",
"turnInto": "Turn into",
"turnInto_paragraph": "Text",
"turnInto_heading1": "Heading 1",
"turnInto_heading2": "Heading 2",
"turnInto_heading3": "Heading 3",
"turnInto_bulletList": "Bullet List",
"turnInto_orderedList": "Numbered List",
"turnInto_taskList": "Task List",
"turnInto_blockquote": "Quote",
"turnInto_codeBlock": "Code Block",
"turnInto_database": "Inline database",
"copyRef": "Copy block reference",
"copied": "Reference copied!",
"copyRefFailed": "Could not copy block reference",
"copyRefNoNote": "Save the note before copying a block reference",
"copyRefUnsupported": "This block type cannot be referenced yet",
"createDiagram": "Create diagram",
"createDiagramDesc": "Create an Excalidraw diagram from this block",
"createDiagramLoading": "Generating Excalidraw diagram by AI...",
"createDiagramSuccess": "Diagram generated and inserted successfully!",
"createDiagramEmpty": "The block text is empty or too short to generate a diagram."
},
"smartPaste": {
"prompt": "Paste this block reference as:",
"liveBlock": "Connected block (live)",
"plainLink": "Plain text / link",
"unknownNote": "Untitled note"
},
"liveBlock": {
"connectedNote": "Connected note",
"sourceDisconnected": "Source disconnected",
"statusLive": "LIVE",
"statusOffline": "OFFLINE",
"statusDisconnected": "DISCONNECTED",
"detachLink": "Unlink block",
"detachHelp": "Convert this block to normal text in this note",
"openSource": "Open",
"removeBlock": "Remove block",
"emptyContent": "(empty block)"
},
"notePeek": {
"label": "Linked note",
"panelLabel": "Source note preview",
"close": "Close preview",
"openFully": "Open full screen",
"openFullyHelp": "Replace the current note with this one",
"readOnlyHint": "Read-only preview — open full screen to edit.",
"loadFailed": "Could not open the linked note preview."
},
"structuredViewBlock": {
"insertLabel": "Structured View",
"insertDesc": "Embed your notebook's structured data",
"noSchema": "This notebook has no structured view yet. Set one up from the notebook header.",
"noNotebook": "This block requires a notebook. Move this note to a notebook first.",
"openInNotebook": "Open in notebook",
"displayModeTable": "Table",
"displayModeGallery": "Gallery",
"loadError": "Failed to load structured data.",
"retry": "Retry",
"deprecatedBlock": "Outdated block removed.",
"selectNotebook": "Link to a notebook",
"noNotebookDesc": "This block displays the structured view of a notebook. Choose the notebook to link:",
"chooseNotebook": "Choose a notebook",
"changeNotebook": "Change notebook",
"change": "Change",
"localDbTitle": "Standalone Database",
"echoPopoverTitle": "Semantic Resonances 🔮",
"noEchoFound": "No semantic connections detected.",
"echoUpgradeText": "Convert this table to a notebook to activate Momento's neural analysis.",
"echoLoading": "Searching for semantic connections...",
"analyticsTitle": "Analytics & Insights",
"analyticsNoData": "No analysis data available.",
"analyticsCompletion": "Completion Rate",
"analyticsDistribution": "Distribution",
"analyticsTotalRows": "Total Rows",
"analyticsShort": "Analytics",
"turnIntoLabel": "Inline database",
"columnAdded": "Column added!",
"columnRemoved": "Column removed",
"propertyName": "Property {{index}}",
"convertNotebookNameRequired": "Please enter a name for the notebook.",
"convertNotebookError": "Could not create the notebook.",
"convertSchemaError": "Could not enable structured view.",
"convertPropertyError": "Could not add property.",
"convertNoteError": "Could not create note.",
"convertSuccess": "Conversion complete! Linked notebook created.",
"convertGenericError": "Something went wrong.",
"echoNameRequired": "Enter a name for this row first to search for semantic connections.",
"echoSearchError": "An error occurred while searching.",
"echoNoMatch": "No matching notes containing \"{{query}}\" were found in your workspace.",
"convertToNotebook": "Convert to notebook",
"linkToNotebook": "Link to a notebook",
"convertModalTitle": "Convert to structured notebook",
"convertModalDesc": "This local table will become a real notebook. Each row becomes a note and your columns become reusable properties.",
"convertNotebookNameLabel": "New notebook name",
"convertNotebookNamePlaceholder": "e.g. My reading list, Project tracker",
"cancel": "Cancel",
"converting": "Converting…",
"createNotebook": "Create notebook",
"deleteColumn": "Delete column",
"addColumn": "Add column",
"deleteRow": "Delete row",
"semanticEcho": "Semantic resonances",
"close": "Close",
"insertCitation": "Insert link in editor",
"keywordMatch": "Keyword",
"emptyTable": "No rows in the table.",
"addRow": "Add row",
"colTypeText": "Text",
"colTypeCheckbox": "Checkbox",
"colTypeSelect": "Select",
"selectOptionsPlaceholder": "Options separated by commas",
"namePlaceholder": "Enter a name…",
"or": "or",
"createLocalDb": "Create a standalone local database",
"switchToLocalDb": "Switch to local database",
"untitled": "Untitled",
"citationInserted": "Link inserted in the editor!",
"notesLoadError": "Error loading notes",
"defaultOption1": "Option 1",
"defaultOption2": "Option 2"
},
"onboarding": {
"welcome_title": "Your AI-augmented memory",
"welcome_subtitle": "Momento remembers what you forget.",
"welcome_cta": "Get started",
"skip": "Skip",
"step_notes_title": "Your notes",
"step_notes_empty": "You have no notes yet. Import yours or start with examples.",
"step_notes_import": "Import my notes",
"step_notes_demo": "Create 5 example notes",
"step_notes_has_notes": "You already have {count} notes. Let's discover the magic.",
"step_notes_cta": "My notes are ready",
"step_aha_title": "Find what you forgot",
"step_aha_subtitle": "Type a question. Find a note you forgot.",
"step_aha_placeholder": "notes about productivity...",
"step_aha_cta": "Explore Momento",
"progress": "{current} of {total}",
"creating_demo_notes": "Creating example notes...",
"demo_notes_ready": "5 example notes created!",
"badge_credits": "⚡ {count} credits left",
"badge_upgrade": "Upgrade to Pro →",
"no_results": "No results — try another query.",
"search_credit_used": "1 search used",
"quota_exceeded": "Search quota reached — upgrade to Pro for unlimited.",
"step_aha_search_button": "Search",
"step_aha_search_aria": "Search your notes",
"step_notes_hint": "💡 These notes will power the AI search demo in the next step.",
"step_features_title": "Your AI superpowers",
"step_features_subtitle": "Choose where to start.",
"step_features_cta": "Let's go!",
"feature_search_title": "Semantic search",
"feature_search_desc": "Find any note by meaning, not just keywords.",
"feature_flashcards_title": "AI Flashcards",
"feature_flashcards_desc": "Generate SRS review cards from your notes in one click.",
"feature_brainstorm_title": "AI Brainstorm",
"feature_brainstorm_desc": "AI-powered collaborative brainstorming sessions.",
"feature_chat_title": "Chat with your notes",
"feature_chat_desc": "Ask questions to your personal knowledge base.",
"feature_insights_title": "Semantic insights",
"feature_insights_desc": "Discover hidden connections between your ideas.",
"feature_export_title": "Markdown export",
"feature_export_desc": "Import and export your notes in standard Markdown format.",
"welcome_title_name": "Hello {name} 👋",
"import_formats": "Accepted formats: .md, .txt",
"import_error": "Could not import some files. Please try again.",
"import_notes_ready": "{count} note(s) imported!",
"action_write_title": "Write your first real note",
"action_write_desc": "Create a note and start capturing your ideas.",
"action_flashcards_title": "Generate your first flashcards",
"action_flashcards_desc": "Open a note and click the flashcards button.",
"action_brainstorm_title": "Start an AI brainstorm",
"action_brainstorm_desc": "Explore your ideas with a dedicated AI agent.",
"action_try": "Try",
"step_features_cta_all": "All done — let's dive in!",
"action_write_where": "Close this → click \"+ New note\" in the sidebar",
"action_flashcards_where": "Close this → open a note → 🃏 button in the toolbar",
"action_brainstorm_where": "Close this → \"Canvas\" section in the sidebar",
"pill_resume": "✨ Resume tour",
"action_done": "Tried!",
"editor_hints_title": "Editor tips",
"editor_hints_got_it": "Got it!",
"hint_slash_title": "\"/\" command — insert blocks",
"hint_slash_desc": "In the editor, type \"/\" to open the block menu: heading, list, code block, table, to-do list, and AI commands (Clarify, Shorten, Improve, Expand).",
"hint_ai_title": "Built-in AI assistant",
"hint_ai_desc": "Click the ✨ button in the toolbar to open the AI panel — ask questions, summarize, rewrite, or brainstorm directly in your note.",
"hint_version_title": "Version history",
"hint_version_desc": "Click the ⓘ button in the toolbar → \"Versions\" tab. Enable versioning, then save and restore snapshots of your note at any time.",
"hint_flashcards_title": "Generate flashcards",
"hint_flashcards_desc": "Click the 🎓 button in the toolbar to auto-generate flashcards from your note for spaced repetition review.",
"hint_links_title": "Links between notes",
"hint_links_desc": "Type \"[[\" in the editor to search and link to another note. Linked notes appear as backlinks at the bottom of the note.",
"hint_create_note_title": "Create a note",
"hint_create_note_desc": "Click the \"+\" button in the sidebar or press Ctrl+N to create a new note. Then start writing.",
"hint_flip_title": "Flip the card",
"hint_flip_desc": "Press Space (or click the card) to flip it and reveal the answer.",
"hint_rate_keys_title": "Rate with keyboard",
"hint_rate_keys_desc": "After flipping, press 1 (Hard), 2 (Difficult), 3 (Good) or 4 (Easy) to rate the card. The SM-2 algorithm schedules your next review automatically.",
"hint_generate_from_note_title": "Generate from a note",
"hint_generate_from_note_desc": "Open any note and click the 🎓 button in the toolbar to automatically generate flashcards from its content.",
"hint_brainstorm_start_title": "Start with an idea",
"hint_brainstorm_start_desc": "Type any concept or question in the input field and press Enter. The AI will generate a set of ideas around it.",
"hint_brainstorm_deepen_title": "Deepen an idea",
"hint_brainstorm_deepen_desc": "Click on any idea card to expand it with sub-ideas and explore it further.",
"hint_brainstorm_export_title": "Export your session",
"hint_brainstorm_export_desc": "When done, export the entire brainstorm session as a structured note saved to your notebook.",
"hint_insights_clusters_title": "Note clusters",
"hint_insights_clusters_desc": "Your notes are automatically grouped into thematic clusters. Click a cluster to explore the notes it contains.",
"hint_insights_bridge_title": "Bridge notes",
"hint_insights_bridge_desc": "Bridge notes connect multiple clusters. They are highlighted because they hold your knowledge graph together.",
"hint_insights_refresh_title": "Refresh clusters",
"hint_insights_refresh_desc": "If you've added new notes, click the refresh button to recalculate the clusters with the latest content."
},
"integrations": {
"title": "Integrations"
},
"editor": {
"voiceStart": "Dictate text (microphone)",
"voiceStop": "Stop dictation"
}
}