Les boutons suivent la couleur d’apparence, les libellés trop petits ou trop techniques sont clarifiés, et le catalogue des fournisseurs se met à jour tout seul. Co-authored-by: Cursor <cursoragent@cursor.com>
4792 lines
216 KiB
JSON
4792 lines
216 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": "Sign in to find your notes, your connections, and what you forgot.",
|
||
"createYourSpace": "Create your second brain",
|
||
"createYourSpaceSubtitle": "It connects while you write — not just another notes app.",
|
||
"forgot": "Forgot?",
|
||
"backToSite": "Back to site",
|
||
"privacyTerms": "© 2025 Memento Labs — Privacy · Terms",
|
||
"checkEmailTitle": "Check your email",
|
||
"checkEmailDescription": "We sent a confirmation link to {email}. Open it to activate your account before signing in.",
|
||
"checkEmailDescriptionGeneric": "We sent a confirmation link to your email. Open it to activate your account before signing in.",
|
||
"resendVerification": "Resend confirmation email",
|
||
"verifyResent": "Confirmation email sent. Check your inbox.",
|
||
"verifyResendFailed": "Could not send the confirmation email. Try again later.",
|
||
"verifyMissingEmail": "Enter your email address.",
|
||
"verifyLoading": "Confirming your email…",
|
||
"verifySuccessTitle": "Email confirmed",
|
||
"verifySuccessDescription": "Your account is ready. You can now sign in.",
|
||
"verifyExpiredTitle": "Link expired",
|
||
"verifyExpiredDescription": "This confirmation link has expired. Request a new one.",
|
||
"verifyInvalidTitle": "Invalid link",
|
||
"verifyInvalidDescription": "This confirmation link is invalid or already used.",
|
||
"emailNotVerified": "Please confirm your email before signing in.",
|
||
"emailVerifiedBanner": "Email confirmed. You can sign in now.",
|
||
"invalidCredentials": "Invalid email or password."
|
||
},
|
||
"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",
|
||
"aiBadge": "AI",
|
||
"aiGeneratedNote": "AI-generated note",
|
||
"aiGeneratedNotebook": "Notebook created with AI — recently",
|
||
"recentNote": "Recently created",
|
||
"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",
|
||
"dashboardPanelBody": "An overview of your notes, next steps, and discoveries. Use the counters at the top of the page to act.",
|
||
"searchNotebooksPlaceholder": "Search notebooks…",
|
||
"clearSearch": "Clear search",
|
||
"insightsPanelBody": "A map of how your notes connect: related themes, bridge notes, and links you can open.",
|
||
"revisionPanelBody": "Review with cards. They come back at the right time. Sets come from your notes.",
|
||
"backToNotebooks": "Back to notebooks",
|
||
"backToHome": "Back to home",
|
||
"resizeNotebooksPanel": "Resize notebooks panel",
|
||
"resizeSidebar": "Resize sidebar width",
|
||
"dailyNote": "Daily Note",
|
||
"dailyNoteError": "Could not open today's note",
|
||
"dailyNoteTooltip": "Open or create your personal daily journal note for today",
|
||
"lightMode": "Light mode",
|
||
"darkMode": "Dark mode",
|
||
"searchShortcut": "Search (Ctrl+K)"
|
||
},
|
||
"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": "This note will go to the trash. You can restore it later.",
|
||
"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",
|
||
"coverNoneHint": "No cover image — pick one from the note or leave empty.",
|
||
"coverChoose": "Choose cover",
|
||
"coverChange": "Change",
|
||
"coverRemove": "Remove cover",
|
||
"coverPickLabel": "Cover 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",
|
||
"backToDashboard": "Back to dashboard",
|
||
"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.",
|
||
"undoDelete": "Undo",
|
||
"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",
|
||
"historyEnabledTooltip": "Version history enabled — changes are tracked",
|
||
"heading1": "Heading 1",
|
||
"heading2": "Heading 2",
|
||
"heading3": "Heading 3",
|
||
"importSuccess": "{{count}} notes imported!",
|
||
"unpublished": "Note unpublished",
|
||
"deleteError": "Failed to delete illustration",
|
||
"uploadSuccess": "Image added"
|
||
},
|
||
"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",
|
||
"activeCount": "{{count}} active",
|
||
"showMoreCount": "+ {{count}} more"
|
||
},
|
||
"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",
|
||
"purpose": "Deck type",
|
||
"purposeAuto": "Auto (from note)",
|
||
"purposeCourse": "Lesson / course",
|
||
"purposeBoard": "Board update",
|
||
"purposeProject": "Project status",
|
||
"purposeStrategy": "Strategy",
|
||
"purposePitch": "Pitch",
|
||
"purposeSummary": "Short summary",
|
||
"audience": "Audience",
|
||
"audienceAuto": "Auto",
|
||
"audienceStudent": "Students",
|
||
"audienceBoard": "Leadership",
|
||
"audienceTeam": "Team",
|
||
"audienceClient": "Client",
|
||
"audienceGeneral": "General public",
|
||
"slideCount": "Slide count",
|
||
"slideCountAuto": "Auto (from length)",
|
||
"creditCostEstimate": "Estimated cost: {cost} credits (1 outline + {slides} slides).",
|
||
"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 Memento 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": "Not enough AI credits. Upgrade your plan, or use your own API key.",
|
||
"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"
|
||
},
|
||
"interactiveDemo": {
|
||
"invalid": "Invalid interactive demo",
|
||
"empty": "Interactive demo unavailable",
|
||
"step": "step",
|
||
"speed": "Playback speed",
|
||
"needMoreText": "Select at least ~20 words (or write more content) to generate a demo",
|
||
"generating": "Generating interactive demo…",
|
||
"generateSuccess": "Interactive demo inserted",
|
||
"generateFailed": "Demo generation failed",
|
||
"insertFailed": "Could not insert the demo",
|
||
"quotaExceeded": "Not enough AI quota"
|
||
},
|
||
"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 →",
|
||
"defaultInsight": "These notes appear to be semantically related.",
|
||
"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": "Memento 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.",
|
||
"bottomCueLoading": "Memory Echo is scanning below…",
|
||
"bottomCueFound": "{count} related notes below",
|
||
"bottomCueFoundOne": "1 related note below",
|
||
"bottomCueRetro": "Cited in {count} note(s) below",
|
||
"bottomCueConsent": "AI connections available below",
|
||
"bottomCueScroll": "Scroll to Memory Echo",
|
||
"bottomCueDismiss": "Dismiss"
|
||
},
|
||
"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",
|
||
"shareLabel": "Share"
|
||
},
|
||
"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 Memento",
|
||
"clipAnother": "Clip another page",
|
||
"captureFailed": "Capture failed",
|
||
"genericError": "Something went wrong while sending to your instance.",
|
||
"retry": "Retry",
|
||
"footer": "Memento 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": "Connections",
|
||
"revision": "Review",
|
||
"dailyNotes": "Daily Notes",
|
||
"dashboard": "Dashboard",
|
||
"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",
|
||
"publishedTitle": "My Published Pages",
|
||
"publishedDesc": "Manage notes you have published publicly.",
|
||
"publishedEmpty": "No published notes yet.",
|
||
"notesViewLabel": "Notes View",
|
||
"notesViewDescription": "Choose how notes are displayed in the list.",
|
||
"notesViewList": "List",
|
||
"notesViewMasonry": "Masonry",
|
||
"notesViewTable": "Table",
|
||
"importExportHelp": "Import / Export — how does it work?",
|
||
"aiConfigHelp": "How to configure your AI?",
|
||
"integrationsTitle": "Integrations",
|
||
"integrationsDesc": "Connect external services to Memento."
|
||
},
|
||
"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",
|
||
"continue": "Continue",
|
||
"send": "Send"
|
||
},
|
||
"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",
|
||
"slides": "Presentation",
|
||
"slidesDescription": "Generate a slide deck from all notes in this notebook. Images are automatically included.",
|
||
"slidesGenerate": "Generate presentation",
|
||
"slidesGenerating": "Generating presentation from notes...",
|
||
"slidesGeneratingHint": "This may take 30-60 seconds (outline + per-slide writing)",
|
||
"slidesReady": "Presentation generated",
|
||
"slidesStatus1": "Analyzing notebook notes…",
|
||
"slidesStatus2": "Building presentation outline…",
|
||
"slidesStatus3": "Writing slides…",
|
||
"slidesStatus4": "Finalizing layout…"
|
||
},
|
||
"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",
|
||
"filterNotebooks": "Filter notebooks…"
|
||
},
|
||
"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.",
|
||
"slidesTab": "Slides",
|
||
"slidesProvider": "Slides model",
|
||
"slidesDescription": "Dedicated provider and model for presentation generation. If the model is empty, the Chat model is used. Model IDs are never renamed automatically. The multi-step pipeline uses several credits from the global AI balance (1 outline + 1 credit per slide).",
|
||
"slidesQuotaNote": "Credit cost: 1 + slide count (e.g. 7 slides ≈ 8 credits), taken from the single balance (BASIC 100 · PRO 1,000 · BUSINESS 4,000 / month). Admin → Users to reset a user's balance.",
|
||
"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",
|
||
"resetQuotas": "Reset AI credits (current month)",
|
||
"confirmResetQuotas": "Reset the AI credit balance to the plan allocation for {user} (BASIC 100 · PRO 1,000 · BUSINESS 4,000)? All AI features become available again within that balance.",
|
||
"resetQuotasSuccess": "AI credits reset for period {period} ({count} counters).",
|
||
"resetQuotasFailed": "Failed to reset credits",
|
||
"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",
|
||
"billing": "Billing & Quotas",
|
||
"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",
|
||
"billing": {
|
||
"title": "Billing & AI credits",
|
||
"description": "Stripe settings, monthly credit allocations by tier, and advanced tools. User spend follows the single credit balance.",
|
||
"stripeConfigTitle": "Stripe business config",
|
||
"stripeConfigDescription": "Price IDs and billing toggle. Secret keys stay in server environment only.",
|
||
"enableBilling": "Enable billing UI and checkout",
|
||
"subscriptionPricesTitle": "Subscriptions (price IDs)",
|
||
"STRIPE_PRICE_PRO_MONTHLY": "Pro — monthly price ID",
|
||
"STRIPE_PRICE_PRO_ANNUAL": "Pro — annual price ID",
|
||
"STRIPE_PRICE_BUSINESS_MONTHLY": "Business — monthly price ID",
|
||
"STRIPE_PRICE_BUSINESS_ANNUAL": "Business — annual price ID",
|
||
"packPricesTitle": "Credit packs (one-shot price IDs)",
|
||
"packPricesDescription": "Stripe one-time payment products (payment mode). Purchased credits add to the balance and roll over across months.",
|
||
"STRIPE_PRICE_CREDITS_S": "Pack S — 100 credits (price ID)",
|
||
"STRIPE_PRICE_CREDITS_M": "Pack M — 500 credits (price ID)",
|
||
"STRIPE_PRICE_CREDITS_L": "Pack L — 2,000 credits (price ID)",
|
||
"packsCatalogTitle": "Pack catalogue (code)",
|
||
"secretsNote": "STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET must remain in Docker/env secrets — never stored here.",
|
||
"saveConfig": "Save billing config",
|
||
"configSaved": "Billing configuration saved",
|
||
"configFailed": "Failed to save billing configuration",
|
||
"creditsTitle": "AI credits by tier (option M)",
|
||
"creditsDescription": "Source of truth for billing usage: one balance for all AI actions. Values live in code (lib/credits.ts).",
|
||
"creditsPerMonth": "credits / month",
|
||
"creditsCostsNote": "Typical costs: search, chat, tags = 1 credit; diagram = 4; AI publish = 3; presentation = 1 + slide count (e.g. 7 slides ≈ 8 credits).",
|
||
"creditsResetHint": "To refill a user: Admin → Users → reset AI credits button.",
|
||
"modeUnlimited": "Unlimited",
|
||
"usageTitle": "Usage overview",
|
||
"usagePeriod": "Period {period}",
|
||
"lastSync": "Last sync {date}",
|
||
"notSynced": "Not synced yet (cron /api/cron/sync-usage)",
|
||
"byFeature": "By feature (PostgreSQL)",
|
||
"topUsers": "Top users",
|
||
"noUsageData": "No usage data for this period yet",
|
||
"healthTitle": "Stripe health check",
|
||
"healthDescription": "Runtime status of keys, webhooks, price IDs and billing flag (secrets are never shown).",
|
||
"healthSecret": "Secret key (server)",
|
||
"healthPublishable": "Publishable key",
|
||
"healthWebhook": "Webhook secret",
|
||
"healthBillingFlag": "Billing enabled",
|
||
"healthTrial": "Free trial",
|
||
"trialDaysValue": "{days} days on first checkout",
|
||
"modeTest": "Test mode (sk_test_…)",
|
||
"modeLive": "Live mode (sk_live_…)",
|
||
"modePlaceholder": "Placeholder / invalid key",
|
||
"modeMissing": "Not configured",
|
||
"configured": "Configured",
|
||
"missing": "Missing",
|
||
"enabled": "Enabled",
|
||
"disabled": "Disabled",
|
||
"priceStatusTitle": "Price IDs vs Stripe",
|
||
"colKey": "Plan",
|
||
"colPriceId": "Price ID",
|
||
"colSource": "Source",
|
||
"colStripe": "Stripe amount",
|
||
"priceError": "Lookup failed",
|
||
"inactive": "inactive",
|
||
"notChecked": "Not checked (no Stripe key)",
|
||
"subsTitle": "Subscriptions overview",
|
||
"subsDescription": "Counts from the local database (synced via Stripe webhooks).",
|
||
"statPaid": "Active + trial",
|
||
"statTrialing": "On trial",
|
||
"statPastDue": "Past due",
|
||
"statCanceling": "Cancel at period end",
|
||
"byTier": "By tier",
|
||
"byStatus": "By status",
|
||
"usersWithoutSub": "Users with no Subscription row",
|
||
"noSubs": "No subscriptions yet",
|
||
"recentSubs": "Recent paid / trial accounts",
|
||
"colUser": "User",
|
||
"colTier": "Tier",
|
||
"colStatus": "Status",
|
||
"colPeriod": "Period / trial end",
|
||
"canceling": "canceling",
|
||
"manualTier": "manual (no Stripe sub)",
|
||
"trialUntil": "Trial until {date}",
|
||
"testGuideTitle": "How to test Stripe locally",
|
||
"testGuideDescription": "Checklist to validate checkout, webhooks and trial.",
|
||
"testStep1": "Stripe Dashboard → Test mode ON. Create Pro/Business products + monthly/annual prices + credit packs.",
|
||
"testStep2": "Put sk_test_…, pk_test_… in .env. Put price_… IDs in Admin → Billing (or env) and enable billing.",
|
||
"testStep3": "Copy the whsec_… into STRIPE_WEBHOOK_SECRET and restart the app.",
|
||
"testStep4": "npm run dev → open /settings/billing as a BASIC user.",
|
||
"testStep5": "Start Pro checkout. Card: 4242 4242 4242 4242, any future expiry, any CVC. Expect a 7-day trial.",
|
||
"testStep6": "Confirm Admin → Billing shows TRIALING, and /settings/billing shows the trial end date.",
|
||
"testCardHint": "Other cards: 4000000000009995 = payment fails · 4000002500003155 = 3D Secure. Never use real cards in test mode."
|
||
},
|
||
"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": "Basic plan",
|
||
"packPro": "Pro plan",
|
||
"packBusiness": "Business Pack",
|
||
"packEnterprise": "Enterprise Pack",
|
||
"featureSearch": "Search",
|
||
"featureTags": "Tags",
|
||
"featureTitles": "Titles",
|
||
"unlimited": "Unlimited",
|
||
"remaining": "{count} credits left",
|
||
"upgradeTitle": "Upgrade to Pro",
|
||
"upgradeDescription": "Your AI credit balance is empty. Upgrade for more monthly credits, or use your own key.",
|
||
"proIncludes": "Pro includes:",
|
||
"proSearch": "1,000 AI credits / month",
|
||
"proTags": "Your own provider keys",
|
||
"proTitles": "Agents (use credits)",
|
||
"proReformulate": "Unlimited notes",
|
||
"proChat": "Email support",
|
||
"later": "Later",
|
||
"upgradePricing": "Upgrade to Pro",
|
||
"addApiKey": "Use your own key",
|
||
"featureReformulate": "Reformulations",
|
||
"featureChat": "AI Messages",
|
||
"featureBrainstormCreate": "Brainstorm creations",
|
||
"featureBrainstormSessions": "Brainstorm sessions",
|
||
"featureCharts": "AI Charts",
|
||
"featureInteractiveDemo": "Interactive demos",
|
||
"featureInteractivePage": "Interactive pages",
|
||
"featurePublishEnhance": "AI Publishing",
|
||
"featureBrainstormExpand": "Brainstorm expansions",
|
||
"featureBrainstormEnrich": "Brainstorm enrichments",
|
||
"featureFlashcards": "AI flashcards",
|
||
"featureVoice": "Voice transcription",
|
||
"featureSlides": "Presentations",
|
||
"featureDiagrams": "Diagrams",
|
||
"creditsRemaining": "Credits remaining",
|
||
"creditsWhereTitle": "Credit usage by feature",
|
||
"creditsSummary": "{remaining} left · {spent} used of {granted} from plan",
|
||
"creditsUsedLine": "{credits} cr. · {actions}×",
|
||
"actionsOnly": "{actions} actions",
|
||
"noCreditUsage": "No credit usage this month",
|
||
"outOfCredits": "Out of credits — options"
|
||
},
|
||
"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",
|
||
"notes": "notes",
|
||
"openMenu": "Open menu",
|
||
"openNav": "Open navigation",
|
||
"linkCopied": "Link copied!",
|
||
"copyLink": "Copy link",
|
||
"untitled": "Untitled",
|
||
"selectPlaceholder": "Select…"
|
||
},
|
||
"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": "External tools",
|
||
"description": "Connect Cursor, Claude, and other tools to your notes",
|
||
"tierRequired": "Pro plan or higher",
|
||
"upgradeHint": "Connecting a tool like Cursor to your notes requires a Pro plan or higher. Upgrade in Billing.",
|
||
"whatIsMcp": {
|
||
"title": "What this is for",
|
||
"description": "You can open, search, and organize your notes from another tool — Cursor, Claude, n8n — without sharing your password. An access key links the tool to your account.",
|
||
"learnMore": "Learn more"
|
||
},
|
||
"serverStatus": {
|
||
"title": "Server Status",
|
||
"running": "Running",
|
||
"stopped": "Stopped",
|
||
"mode": "Mode",
|
||
"url": "URL"
|
||
},
|
||
"apiKeys": {
|
||
"title": "Access keys",
|
||
"description": "A key lets an external tool read and write your notes. Do not share it.",
|
||
"generate": "New key",
|
||
"empty": "No keys yet. Create 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?",
|
||
"errors": {
|
||
"generate": "Failed to generate key",
|
||
"revoke": "Failed to revoke key",
|
||
"delete": "Failed to delete key"
|
||
}
|
||
},
|
||
"createDialog": {
|
||
"title": "New access key",
|
||
"description": "Give it a name so you remember which tool it belongs to.",
|
||
"nameLabel": "Key name",
|
||
"namePlaceholder": "e.g. Cursor, Claude, n8n",
|
||
"generating": "Creating…",
|
||
"generate": "Create",
|
||
"successTitle": "Key created",
|
||
"successDescription": "Copy it now. You will not be able to see it again.",
|
||
"copy": "Copy",
|
||
"copied": "Copied!",
|
||
"done": "Done"
|
||
},
|
||
"configInstructions": {
|
||
"title": "How to connect a tool",
|
||
"description": "Paste your key into the tool, with the address shown beside it.",
|
||
"claudeCode": {
|
||
"title": "Claude Code",
|
||
"description": "Paste this into your Claude Code configuration file:"
|
||
},
|
||
"cursor": {
|
||
"title": "Cursor",
|
||
"description": "Paste this into Cursor’s tools settings:"
|
||
},
|
||
"n8n": {
|
||
"title": "n8n",
|
||
"description": "Use these details in the n8n connection node:"
|
||
}
|
||
},
|
||
"helpBox": {
|
||
"title": "How do I connect a tool?",
|
||
"step1": "A tool like Cursor or Claude can open, search, and organize your notes, as if you were doing it here.",
|
||
"step2": "You create an access key on this page. It works as a password for that tool only.",
|
||
"step3": "In the tool, enter the server address (shown here) and paste the key.",
|
||
"step4": "The tool then sends your requests here, so you do not have to copy everything by hand.",
|
||
"step4Link": "Official help",
|
||
"step5": "Example: ask Cursor to write a note in Memento, or to search your notebooks."
|
||
}
|
||
},
|
||
"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",
|
||
"taskExtractor": "Tasks",
|
||
"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",
|
||
"taskExtractor": "Finds tasks in your notes and gathers them",
|
||
"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...",
|
||
"seeAll": "See all",
|
||
"showLess": "Show less",
|
||
"categoryAll": "All",
|
||
"categoryWatch": "News watch",
|
||
"categoryDigest": "Summaries",
|
||
"categoryTools": "Tools",
|
||
"categoryGenerate": "Create",
|
||
"taskExtractor": {
|
||
"name": "Tasks from notes",
|
||
"description": "Finds tasks in your notes and gathers them in one place."
|
||
},
|
||
"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": "Agents"
|
||
},
|
||
"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 requires the PRO plan or higher (or use your own API key).",
|
||
"quotaExceededTier": "AI credit balance empty on the {tier} plan. Upgrade or use your own API key."
|
||
},
|
||
"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...",
|
||
"loadingSlides": "Loading slides…",
|
||
"downloadFailed": "Failed to download presentation",
|
||
"exportPpt": "Export to PowerPoint",
|
||
"downloadHtml": "Download HTML",
|
||
"openFullscreen": "Open in fullscreen",
|
||
"loadingPresentation": "Loading presentation…",
|
||
"previousSlide": "Previous slide",
|
||
"nextSlide": "Next slide",
|
||
"hideNotes": "Hide notes",
|
||
"toggleNotes": "Toggle presentation notes (Shortcut: N)",
|
||
"notes": "Notes",
|
||
"previous": "Previous",
|
||
"next": "Next"
|
||
},
|
||
"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",
|
||
"slashInteractiveDemo": "Step-by-step demo",
|
||
"slashInteractiveDemoDesc": "A guided walkthrough inside the note",
|
||
"slashToggle": "Collapsible section",
|
||
"slashToggleDesc": "Create a section you can fold away",
|
||
"slashCallout": "Highlighted box",
|
||
"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",
|
||
"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. Memento 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",
|
||
"publishSimple": "Publish as-is",
|
||
"publishSimpleHint": "Free — your note content as-is",
|
||
"publishWithAi": "Publish with AI",
|
||
"publishWithAiHint": "Enhanced layout · {count} credits left",
|
||
"publishWithAiCostHint": "Estimated cost: 3 AI credits",
|
||
"publishWithAiLocked": "Available on Pro plan",
|
||
"publishWithAiGenerating": "Generating layout…",
|
||
"publishTemplateMagazine": "Magazine article",
|
||
"publishTemplateBrief": "Expert brief",
|
||
"publishTemplateEssay": "Essay",
|
||
"publishTemplateInteractivePage": "Interactive page",
|
||
"publishInteractivePage": "Interactive page",
|
||
"publishInteractivePageHint": "AI-generated page: hero, sections, Play/Step demos — 20 credits",
|
||
"publishInteractivePageGenerating": "Building interactive page…",
|
||
"publishInteractivePageGeneratingWait": "Almost ready…",
|
||
"publishInteractivePageGeneratingLong": "Still working…",
|
||
"publishInteractivePagePlanning": "Analyzing content — planning the page…",
|
||
"publishInteractivePageSectionProgress": "Section {current}/{total}: {title}",
|
||
"publishInteractivePageFallback": "AI generation unavailable — showing simplified page",
|
||
"publishInteractivePagePartialFallback": "Some sections were generated in simplified mode",
|
||
"publishInteractivePageTooShort": "Note too short — add more content and try again",
|
||
"publishInteractivePageSuccess": "Interactive page published!",
|
||
"publishInteractivePageFailed": "Interactive page generation failed",
|
||
"publishInteractivePagePreviewHint": "Preview — review, then publish to the public URL",
|
||
"publishInteractivePageConfirm": "Publish page",
|
||
"publishAiSuccess": "AI-enhanced page published!",
|
||
"publishRewriteLabel": "Rewrite for the web",
|
||
"publishRewriteOnHint": "Structures your editor blocks (exercises, toggles, callouts) for the web — AI writes only the intro",
|
||
"publishRewriteOffHint": "Your original text is kept; AI only adds editorial framing",
|
||
"copyPublicLink": "Copy link",
|
||
"openPublicPage": "Open public page",
|
||
"slashSubPage": "Sub-page",
|
||
"slashSubPageDesc": "Create a linked note inside this note",
|
||
"slashCharts": "Suggest charts",
|
||
"slashChartsDesc": "Suggest charts from this note",
|
||
"slashLivingBlock": "Linked block",
|
||
"slashLivingBlockDesc": "Open a passage from another note beside this one",
|
||
"frequentCommands": "★ Frequent",
|
||
"mobileBlockActions": "Block Actions",
|
||
"mobileSelectAll": "Select All",
|
||
"mobileDuplicate": "Duplicate",
|
||
"mobileDelete": "Delete",
|
||
"mobileAiNote": "AI Note",
|
||
"mobileConvertFormat": "Convert Format",
|
||
"mobileParagraph": "Paragraph",
|
||
"mobileQuote": "Quote",
|
||
"editorBacklinks": "Incoming Links",
|
||
"editorClickToEdit": "Click to edit",
|
||
"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",
|
||
"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",
|
||
"openingNotebook": "Opening…",
|
||
"autoOpenHint": "Opening the notebook and refreshing the sidebar…",
|
||
"createdToast": "Notebook « {name} » ready — AI notes available",
|
||
"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."
|
||
},
|
||
"importMarkdown": "Import Markdown",
|
||
"markdownExportSuccess": "Note exported as Markdown",
|
||
"markdownExportError": "Failed to export note",
|
||
"markdownImportSuccess": "Markdown imported successfully",
|
||
"previewChartsTip": "Generate an interactive chart from your text.",
|
||
"previewCodeTip": "Add code with syntax highlighting.",
|
||
"previewDatabaseTip": "Add columns and structured Kanban views.",
|
||
"previewDiagramTip": "Sketch concepts or generate diagrams via AI.",
|
||
"previewLivingBlockTip": "Sync content between multiple notes.",
|
||
"previewSlidesTip": "Create interactive exportable presentations.",
|
||
"previewTableTip": "Organize your data in rows and columns.",
|
||
"aiActionStarted": "AI Note invoked…",
|
||
"blockDeleted": "Block deleted",
|
||
"blockDuplicated": "Block duplicated",
|
||
"blockSelected": "Entire block selected",
|
||
"slashVideo": "Video",
|
||
"startVoice": "Start voice input",
|
||
"stopVoice": "Stop voice input",
|
||
"collapsibleSection": "Collapsible section",
|
||
"deleteImage": "Delete image"
|
||
},
|
||
"flashcards": {
|
||
"generateTitle": "Create review cards",
|
||
"generateAction": "Generate with AI",
|
||
"confirmSave": "Save to this set",
|
||
"generateFailed": "Could not create the cards",
|
||
"saveFailed": "Could not save the cards",
|
||
"schemaMissing": "Review cards are not available yet on this server.",
|
||
"savedCount": "{count} cards 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": "Create review cards",
|
||
"tabDecks": "Sets",
|
||
"tabProgress": "Progress",
|
||
"emptyDecks": "No review cards yet",
|
||
"emptyDecksHint": "Open a note, then the review-cards button at the top of the page.",
|
||
"createDeck": "New set",
|
||
"newDeckPlaceholder": "Set name…",
|
||
"deckCreated": "Set created",
|
||
"dueCount": "{count} due today",
|
||
"upToDate": "Up to date",
|
||
"cardCountLabel": "{count} cards",
|
||
"masteredShort": "mastered",
|
||
"viewDeck": "Details",
|
||
"hideDeck": "Hide",
|
||
"deckCardsEmpty": "This set has no cards yet.",
|
||
"dueBadge": "Due",
|
||
"masteredBadge": "Mastered",
|
||
"review": "Review",
|
||
"startReview": "Start review",
|
||
"activeDeck": "Current set",
|
||
"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 sets",
|
||
"loadDeckFailed": "Could not load this set",
|
||
"reviewFailed": "Could not save review",
|
||
"heatmapTitle": "Review activity",
|
||
"heatmapLast90": "Last 90 days",
|
||
"heatmapTotal": "{count} reviews · 90 days",
|
||
"heatmapDay": "{count} reviews",
|
||
"heatmapDayOne": "1 review",
|
||
"heatmapDayNone": "No reviews",
|
||
"heatmapHint": "Hover or click a square for details",
|
||
"heatmapSelected": "selected",
|
||
"heatmapClear": "Clear selection",
|
||
"heatmapLess": "Less",
|
||
"heatmapMore": "More",
|
||
"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 this set",
|
||
"deleteDeckConfirm": "Delete this set and all its cards?",
|
||
"deckDeleted": "Set deleted",
|
||
"cardDeleted": "Card deleted",
|
||
"cardSaved": "Card saved",
|
||
"cardTypeBadge": "{type}",
|
||
"reviewNow": "Review now",
|
||
"deleteFailed": "Could not delete",
|
||
"toolbarGenerateHint": "They come back at the right time"
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"tagApplied": "applied",
|
||
"filterDone": "Done",
|
||
"filterTodo": "To do",
|
||
"propertyStatus": "Status",
|
||
"exportCsv": "Export CSV",
|
||
"importCsv": "Import CSV",
|
||
"relationEmpty": "Link a note…",
|
||
"relationNoResults": "No note found",
|
||
"relationSearch": "Search a note…",
|
||
"semanticResonances": "Semantic resonances",
|
||
"insertLink": "Insert link in editor"
|
||
},
|
||
"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 no AI credits left. Ask them to upgrade or use their own API key.",
|
||
"quotaHost": "No AI credits left for this brainstorm. Upgrade your plan or use your own API key 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 provider keys",
|
||
"description": "Connect your own provider keys. Usage with your key typically does not consume your Memento credits. Keys are encrypted at rest.",
|
||
"badgeActive": "Keys active",
|
||
"tierRequired": "This option requires a Pro plan or higher.",
|
||
"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",
|
||
"disabledByAdmin": "Billing and upgrades are currently disabled. Contact your administrator if you need access.",
|
||
"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": "Unlimited notes",
|
||
"proFeature2": "1,000 AI credits / month",
|
||
"proFeature3": "Your own provider keys",
|
||
"proFeature4": "Agents (use credits)",
|
||
"businessFeature1": "10 collaborators included",
|
||
"businessFeature2": "4,000 AI credits / month",
|
||
"businessFeature3": "Your own keys · {count} providers",
|
||
"businessFeature4": "Agents & brainstorm (credits)",
|
||
"enterpriseTitle": "Enterprise",
|
||
"enterpriseDescription": "Unlimited credits or dedicated pool, 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",
|
||
"creditsRemaining": "Credits remaining",
|
||
"creditsSpent": "Credits used this month",
|
||
"creditsFromPacks": "Pack credits",
|
||
"packsTitle": "Buy credits",
|
||
"packsDescription": "One-time packs. Purchased credits add to your balance and roll over across months (unlike the subscription allocation).",
|
||
"packSName": "Starter pack",
|
||
"packMName": "Standard pack",
|
||
"packLName": "Power pack",
|
||
"buyPack": "Buy",
|
||
"packNotConfigured": "Stripe config required",
|
||
"packCheckoutSuccess": "Credit pack added to your balance!",
|
||
"packCheckoutFailed": "Could not start pack purchase. Check Stripe config or try again.",
|
||
"creditsWhereTitle": "Credit usage by feature",
|
||
"creditsUsageLegend": "Every AI action draws from the same credit balance (search, chat, tags, slides, diagrams, etc.).",
|
||
"billingHistory": "Billing History",
|
||
"viewInvoices": "Manage invoices in portal",
|
||
"cancelSubscription": "Cancel subscription",
|
||
"changeOffer": "Change plan",
|
||
"downgradeToFree": "Switch to the free plan",
|
||
"cancellingNotice": "Cancellation scheduled — access until {date}",
|
||
"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 AI credits or dedicated pool",
|
||
"enterpriseFeature2": "SSO / SAML",
|
||
"enterpriseFeature3": "Dedicated support",
|
||
"enterpriseFeature4": "Custom invoicing",
|
||
"enterpriseFeature5": "Guaranteed SLA",
|
||
"subtitle": "Choose the plan that suits you",
|
||
"freeDescription": "To discover Memento",
|
||
"freeF1": "Up to 100 notes",
|
||
"freeF2": "3 notebooks",
|
||
"freeF3": "100 AI credits / month",
|
||
"freeF4": "Search, chat, tags (via credits)",
|
||
"freeF5": "7-day history",
|
||
"freePlanDesc": "Perfect to discover Memento",
|
||
"freePrice": "Free",
|
||
"proDescription": "For consultants and freelancers",
|
||
"proFeature5": "30-day history",
|
||
"proFeature6": "Email support",
|
||
"proCta": "Upgrade to Pro",
|
||
"businessFeature5": "External tools",
|
||
"businessFeature6": "Priority support",
|
||
"businessCta": "Upgrade to Business",
|
||
"recommended": "Recommended",
|
||
"instantActivation": "Instant activation",
|
||
"secureDesc": "Secure payments by Stripe",
|
||
"secureTransactions": "Secure transactions",
|
||
"satisfactionGuarantee": "30-day satisfaction guarantee",
|
||
"cancelConfirm": "Are you sure you want to cancel your subscription? You will keep your Pro/Business access until the end of the current billing period.",
|
||
"cancelSuccess": "Your subscription has been successfully cancelled. It will end at the end of the current billing period.",
|
||
"invoices": "Invoices & Receipts",
|
||
"invoiceAmount": "Amount",
|
||
"invoiceDate": "Date",
|
||
"invoiceNumber": "Number",
|
||
"invoiceStatus": "Status",
|
||
"noInvoices": "No invoices available.",
|
||
"checkoutFailed": "Failed to start checkout. Please try again.",
|
||
"portalFailed": "Failed to open billing portal.",
|
||
"cancelFailed": "Failed to cancel subscription.",
|
||
"downloadPdf": "Download PDF",
|
||
"fetchStatusFailed": "Failed to fetch billing status",
|
||
"fetchQuotasFailed": "Failed to load credit usage",
|
||
"fetchInvoicesFailed": "Failed to load billing history.",
|
||
"savePercent": "Save ~17%",
|
||
"startTrialCta": "Start {days}-day free trial",
|
||
"trialFeature": "{days}-day free trial (card required)",
|
||
"trialEndsOn": "Your free trial ends on {date}. You will then be billed automatically.",
|
||
"trialEndsLabel": "Trial ends"
|
||
},
|
||
"quotaPaywall": {
|
||
"title": "Out of AI credits",
|
||
"description": "Your credit balance is too low for this action ({feature}). All AI actions share the same balance. Upgrade your plan or use your own API key.",
|
||
"descriptionWithCost": "You have {remaining} credit(s) left; this action ({feature}) costs {cost}. Upgrade your plan or use your own API key.",
|
||
"upgrade": "View plans",
|
||
"useOwnKey": "Use my own key",
|
||
"later": "Later",
|
||
"closingIn": "Closing in {n}s"
|
||
},
|
||
"landing": {
|
||
"nav": {
|
||
"products": "Product",
|
||
"secondBrain": "Second Brain",
|
||
"echo": "Memory Echo",
|
||
"agents": "Agents",
|
||
"pricing": "Pricing",
|
||
"login": "Log in",
|
||
"cta": "Start free",
|
||
"openMenu": "Open menu",
|
||
"closeMenu": "Close menu",
|
||
"language": "Language"
|
||
},
|
||
"hero": {
|
||
"badge": "Second Brain",
|
||
"eyebrow": "Not another notes app — a living second brain",
|
||
"headline": "Your second brain.",
|
||
"headlineAccent": "It remembers what you forgot.",
|
||
"subtitle": "Memento is your Second Brain: it connects ideas across months, surfaces hidden links, and turns notebooks into a system you can search, brief, and act on every morning.",
|
||
"cta": "Build my second brain",
|
||
"ctaHint": "Free to start · Google sign-in · No credit card",
|
||
"imageAlt": "Memento Second Brain workspace",
|
||
"echoLive": "Memory Echo",
|
||
"echo0": "\"Linked to your March design brief — same constraint, new angle.\"",
|
||
"echo1": "\"This echoes a research note from 8 months ago. Want to open it?\"",
|
||
"echo2": "\"Three notebooks touch this idea. Here's the bridge note.\""
|
||
},
|
||
"trust": {
|
||
"trust0": "Your Second Brain, not a folder dump",
|
||
"trust1": "Bring your own AI keys",
|
||
"trust2": "15 languages, including Persian RTL",
|
||
"trust3": "Agents that write into your notebooks"
|
||
},
|
||
"pain": {
|
||
"label": "The real problem",
|
||
"title": "You don't need more notes. You need a second brain.",
|
||
"desc": "Folders fill up. Search fails. Ideas die in silence. A Second Brain finds the threads between what you capture — so yesterday's thinking powers tomorrow's decisions.",
|
||
"secondBrain": "That's Memento: a Second Brain that connects itself while you write."
|
||
},
|
||
"moments": {
|
||
"echo": {
|
||
"eyebrow": "Memory Echo",
|
||
"title": "The moment your Second Brain talks back.",
|
||
"desc": "While you write, Memento finds links across your notebooks — not just matching words, real connections. You can open both notes side by side.",
|
||
"card0Label": "Just detected",
|
||
"card0": "\"Your note on prices echoes last autumn's competitor analysis.\"",
|
||
"card1Label": "Bridge",
|
||
"card1": "Shared theme: positioning under constraint",
|
||
"card2Label": "Action",
|
||
"card2": "Open both notes side by side — keep writing"
|
||
},
|
||
"dashboard": {
|
||
"eyebrow": "This morning",
|
||
"title": "A morning that tells you what matters.",
|
||
"desc": "Your morning briefing: next paths, today's list, discoveries, reviews — cards you arrange.",
|
||
"w0Label": "Next paths",
|
||
"w0": "3 actions from your last note",
|
||
"w1Label": "Daily review",
|
||
"w1": "Inbox · Discoveries · Cards",
|
||
"w2Label": "Memory Echo",
|
||
"w2": "2 new connections overnight",
|
||
"w3Label": "Agents",
|
||
"w3": "1 suggestion ready to run"
|
||
},
|
||
"insights": {
|
||
"eyebrow": "Connections",
|
||
"title": "See how your notes connect.",
|
||
"desc": "Related themes and bridge notes — a living map of your links.",
|
||
"chip": "Map of links"
|
||
},
|
||
"revision": {
|
||
"eyebrow": "Revision",
|
||
"title": "Remember on purpose.",
|
||
"desc": "Create review cards from any note. They come back at the right time.",
|
||
"card": "What connects Memory Echo to your notes?",
|
||
"badge": "At the right time"
|
||
}
|
||
},
|
||
"how": {
|
||
"title": "Three steps. Then it builds on itself.",
|
||
"s0": {
|
||
"title": "Capture freely",
|
||
"desc": "Write like in a notebook: titles, lists, tables. Save a web page when you need it."
|
||
},
|
||
"s1": {
|
||
"title": "Let it connect",
|
||
"desc": "Memory Echo and search weave links you didn't plan. Your past work becomes fuel."
|
||
},
|
||
"s2": {
|
||
"title": "Act every morning",
|
||
"desc": "Morning paths, agents, and review cards turn a pile of notes into momentum."
|
||
}
|
||
},
|
||
"agents": {
|
||
"label": "AI agents",
|
||
"title": "Delegate the heavy lifting.",
|
||
"desc": "Research, monitoring, presentations, diagrams — agents that write into your notebooks, not another chat you'll forget.",
|
||
"scraper": {
|
||
"title": "Monitor",
|
||
"desc": "Addresses and feeds become notes, with the useful images."
|
||
},
|
||
"researcher": {
|
||
"title": "Researcher",
|
||
"desc": "Deep questions, sources, structured notes."
|
||
},
|
||
"slideGen": {
|
||
"title": "Slides",
|
||
"desc": "Your notes become a presentation, or a page to walk through."
|
||
},
|
||
"monitor": {
|
||
"title": "Observer",
|
||
"desc": "It watches your notebooks: trends and new ideas."
|
||
},
|
||
"diagramGen": {
|
||
"title": "Diagram",
|
||
"desc": "Your ideas become mind maps and flows."
|
||
},
|
||
"custom": {
|
||
"title": "Custom",
|
||
"desc": "Your roles, sources, and schedules."
|
||
}
|
||
},
|
||
"byok": {
|
||
"label": "Free to switch",
|
||
"title": "Your keys. Your models. Your Second Brain.",
|
||
"desc": "Memento credits, or your own provider. Switch in a click — the product stays yours.",
|
||
"pointCredits": "Memento credits, if you want it simple",
|
||
"pointProvider": "Or connect your own provider",
|
||
"pointYours": "Your key stays with you — it is never shown here"
|
||
},
|
||
"pricing": {
|
||
"label": "Pricing",
|
||
"title": "Start free. Grow your Second Brain when it clicks.",
|
||
"desc": "Clear tiers — from first notes to organizational memory.",
|
||
"monthly": "Monthly",
|
||
"annual": "Annual",
|
||
"perMonth": "/mo",
|
||
"perMonthAnnual": "/mo, billed yearly",
|
||
"perUser": "+ €3.90/user",
|
||
"perUserAnnual": "+ €2.90/user, yearly",
|
||
"savePercent": "Save ~17%",
|
||
"proMonthly": "€9.90",
|
||
"proAnnualMonthly": "€8.25",
|
||
"businessMonthly": "€29.90",
|
||
"businessAnnualMonthly": "€24.92",
|
||
"enterprisePrice": "Custom",
|
||
"popular": "Most chosen",
|
||
"basic": {
|
||
"name": "Basic",
|
||
"desc": "Start your Second Brain.",
|
||
"cta": "Start free",
|
||
"feature0": "Up to 100 notes",
|
||
"feature1": "3 notebooks",
|
||
"feature2": "100 AI credits / month",
|
||
"feature3": "Search, chat, tags (via credits)",
|
||
"feature4": "7-day history"
|
||
},
|
||
"pro": {
|
||
"name": "Pro",
|
||
"desc": "For serious thinkers.",
|
||
"cta": "Go Pro",
|
||
"feature0": "Unlimited notes",
|
||
"feature1": "1,000 AI credits / month",
|
||
"feature2": "Your own provider keys",
|
||
"feature3": "Agents (use credits)",
|
||
"feature4": "30-day history",
|
||
"feature5": "Email support"
|
||
},
|
||
"business": {
|
||
"name": "Business",
|
||
"desc": "Team Second Brain.",
|
||
"cta": "Choose Business",
|
||
"feature0": "10 collaborators",
|
||
"feature1": "4,000 AI credits / month",
|
||
"feature2": "Your own keys · {count} providers",
|
||
"feature3": "Agents & brainstorm (credits)",
|
||
"feature4": "External tools",
|
||
"feature5": "Priority support"
|
||
},
|
||
"enterprise": {
|
||
"name": "Enterprise",
|
||
"desc": "Org-wide Second Brain.",
|
||
"cta": "Talk to us",
|
||
"feature0": "Unlimited AI credits or dedicated pool",
|
||
"feature1": "Everything in Business",
|
||
"feature2": "SSO / SAML",
|
||
"feature3": "Audit logs & SLA",
|
||
"feature4": "Dedicated support",
|
||
"feature5": "Live onboarding"
|
||
},
|
||
"basicPrice": "Free",
|
||
"trialBadge": "{days}-day free trial",
|
||
"trialFeature": "{days}-day free trial (card required)",
|
||
"trialCta": "Start {days}-day free trial"
|
||
},
|
||
"cta": {
|
||
"title": "Stop losing your best ideas.",
|
||
"desc": "Open Memento. Write one note. Watch your Second Brain find the ones you forgot.",
|
||
"button": "Create my free Second Brain"
|
||
},
|
||
"footer": {
|
||
"desc": "Your AI-amplified Second Brain — it connects itself.",
|
||
"rights": "All rights reserved.",
|
||
"product": {
|
||
"title": "Product",
|
||
"link0": "Second Brain",
|
||
"link1": "Pricing",
|
||
"link2": "Agents",
|
||
"link0Href": "#product",
|
||
"link1Href": "#pricing",
|
||
"link2Href": "#agents"
|
||
},
|
||
"community": {
|
||
"title": "Account",
|
||
"link0": "Log in",
|
||
"link1": "Sign up",
|
||
"link0Href": "/login",
|
||
"link1Href": "/register"
|
||
},
|
||
"legal": {
|
||
"title": "Legal",
|
||
"link0": "Privacy",
|
||
"link1": "Terms",
|
||
"link2": "Cookies",
|
||
"link0Href": "/privacy",
|
||
"link1Href": "/privacy",
|
||
"link2Href": "/privacy"
|
||
}
|
||
}
|
||
},
|
||
"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": "Connections",
|
||
"toggleMenu": "Show or hide the menu",
|
||
"subtitle": "Discover the hidden architecture of your knowledge",
|
||
"resync": "Update",
|
||
"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 have changed since then — click Update.",
|
||
"semanticGraphLegend": "Detected themes overview (not the link map)",
|
||
"fitGraphView": "Fit view",
|
||
"legendFilterPlaceholder": "Filter themes…",
|
||
"legendShowMore": "+{count} more",
|
||
"legendShowLess": "Show less",
|
||
"dashboardFilterPlaceholder": "Filter bridge notes, themes…",
|
||
"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 Update to analyze your notes and find hidden connections",
|
||
"stats": {
|
||
"clusters": "Themes",
|
||
"bridgeNotes": "Bridge notes",
|
||
"themesSubtitle": "detected themes",
|
||
"bridgesSubtitle": "cross-theme notes"
|
||
},
|
||
"clusters": {
|
||
"title": "Semantic clusters",
|
||
"notesCount": "{count} notes",
|
||
"centralNotes": "Central notes",
|
||
"emptyCluster": "No notes in this cluster"
|
||
},
|
||
"bridgeNotes": {
|
||
"title": "Bridge notes",
|
||
"score": "Score: {score}%",
|
||
"affinity": "Affinity {score}%",
|
||
"scoreHint": "Mean semantic affinity to the two themes this note bridges (cosine similarity).",
|
||
"moreThemes": "+{count}",
|
||
"needsResync": "Click Update to refresh theme pairs.",
|
||
"empty": "No significant bridge notes yet. Deepen your research to find new connections."
|
||
},
|
||
"suggestions": {
|
||
"title": "Missing links",
|
||
"bridging": "Link {clusterA} & {clusterB}",
|
||
"emptyTitle": "No connection suggestions yet",
|
||
"emptyDescription": "No strong near-miss theme pairs right now — or click Update.",
|
||
"createNote": "Create bridge note",
|
||
"created": "Bridge note created",
|
||
"createError": "Could not create the bridge note",
|
||
"dismiss": "Dismiss",
|
||
"dismissError": "Could not dismiss this suggestion"
|
||
},
|
||
"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": "A bridge note sits at the crossing of two themes (semantic brokerage). We keep the strongest pair — not every weak theme touch.",
|
||
"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": "Suggested only for near-miss theme pairs (link prediction): related enough to deserve a bridge, not forced metaphors. Create the note if the shared object or method is real.",
|
||
"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.",
|
||
"recalcSystem": {
|
||
"title": "Recalculation system",
|
||
"statusSynced": "Synced",
|
||
"scheduledCron": "Scheduled",
|
||
"lastSync": "Last sync"
|
||
},
|
||
"resetFocus": "Reset focus",
|
||
"listView": "List",
|
||
"listFilterPlaceholder": "Filter themes or notes…",
|
||
"listFilterEmpty": "No theme or note matches this filter.",
|
||
"listFilterMatch": "matches",
|
||
"listSortLabel": "Sort",
|
||
"listSortSize": "By size",
|
||
"listSortBridges": "By bridges",
|
||
"listSortAlpha": "A–Z",
|
||
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
|
||
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
|
||
},
|
||
"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 Memento 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": "Memento 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": "Memento 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.",
|
||
"requiredToast": "Enable AI processing in Settings → AI to use this feature.",
|
||
"settingsBanner": "To use this feature, enable AI processing below and click « Grant consent »."
|
||
}
|
||
},
|
||
"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 your provider 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",
|
||
"createDiagramCostHint": "≈ 4 AI credits",
|
||
"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.",
|
||
"loading": "Loading…",
|
||
"untitled": "Untitled"
|
||
},
|
||
"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 Memento'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": "Memento 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 Memento",
|
||
"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 credit used (search)",
|
||
"quota_exceeded": "Out of AI credits — upgrade your plan or use your own API key.",
|
||
"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": "Review cards",
|
||
"feature_flashcards_desc": "Create 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": "Connections",
|
||
"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": "Create your first review cards",
|
||
"action_flashcards_desc": "Open a note, then the review-cards button at the top of the page.",
|
||
"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, then the review-cards button at the top of the page.",
|
||
"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": "Create review cards",
|
||
"hint_flashcards_desc": "At the top of the note, click the review-cards button. They come back at the right time.",
|
||
"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). The next review is scheduled at the right time.",
|
||
"hint_generate_from_note_title": "Generate from a note",
|
||
"hint_generate_from_note_desc": "Open a note, then the review-cards button at the top of the page.",
|
||
"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",
|
||
"gmail": {
|
||
"title": "Gmail",
|
||
"description": "Automatically capture flights, packages and subscriptions from your emails",
|
||
"connect": "Connect Gmail",
|
||
"disconnect": "Disconnect",
|
||
"scanNow": "Scan now",
|
||
"connected": "Gmail connected!",
|
||
"disconnected": "Gmail disconnected",
|
||
"scanDone": "{created} note(s) created from emails",
|
||
"recentCaptures": "{count} capture(s) this week",
|
||
"helpTitle": "How does Gmail work?",
|
||
"helpStep1": "Connect Gmail — you'll be redirected to Google to authorize read-only access.",
|
||
"helpStep2": "Memento scans recent emails for flights, packages and subscription renewals.",
|
||
"helpStep3": "Each match becomes a note with an automatic reminder when relevant.",
|
||
"helpStep4": "Scan runs daily in the background; you can also trigger a manual scan here."
|
||
},
|
||
"calendarConnected": "Google Calendar connected!",
|
||
"errorWith": "Error: {{error}}",
|
||
"readwiseError": "Readwise error",
|
||
"readwiseConnected": "Readwise connected — {{created}} notes created, {{updated}} updated",
|
||
"readwiseConnectError": "Readwise connection error",
|
||
"syncError": "Sync error",
|
||
"readwiseSynced": "Readwise sync — {{created}} created, {{updated}} updated",
|
||
"syncFailed": "Synchronization failed",
|
||
"readwiseDisconnected": "Readwise disconnected",
|
||
"noEvents": "No events today",
|
||
"eventsLoadError": "Failed to load events",
|
||
"meetingNoteCreated": "Meeting note created: {{summary}}",
|
||
"createNoteError": "Failed to create note",
|
||
"calendarDisconnected": "Google Calendar disconnected",
|
||
"gmailScanError": "Gmail scan error",
|
||
"calendarInfo": "How does Google Calendar work?",
|
||
"readwiseInfo": "How does Readwise work?",
|
||
"readwiseTokenPlaceholder": "Readwise token…",
|
||
"connected": "Connected",
|
||
"notConnected": "Not connected",
|
||
"connectCalendar": "Connect Google Calendar",
|
||
"todayEvents": "Today's events",
|
||
"disconnect": "Disconnect",
|
||
"connect": "Connect",
|
||
"syncNow": "Sync now",
|
||
"addNote": "+ Note",
|
||
"open": "Open",
|
||
"moreComing": "More integrations coming soon — Zapier, GitHub, Notion import…",
|
||
"calendarDesc": "Access your events and create meeting notes",
|
||
"readwiseDesc": "Import highlights from books, articles, and Kindle",
|
||
"lastSync": "Last sync:",
|
||
"createdLabel": "notes created",
|
||
"updatedLabel": "updated",
|
||
"calendarHelpStep1": "Click \"Connect Google Calendar\" — you will be redirected to Google to authorize access.",
|
||
"calendarHelpStep2": "Once connected, come back here and click \"Today's events\" to see your agenda.",
|
||
"calendarHelpStep3": "On each event, click \"+ Note\" to automatically create a meeting note with a template (Agenda / Notes / Actions).",
|
||
"calendarHelpStep4": "The note opens directly in Memento — add your notes in real time during the meeting.",
|
||
"readwiseHelpStep1": "Copy your Readwise access token.",
|
||
"readwiseHelpStep2": "Paste it in the field below and click \"Connect\". The first sync imports all your books and articles.",
|
||
"readwiseHelpStep3": "Each book becomes a note in a \"Readwise 📚\" notebook — with all your highlights organized.",
|
||
"readwiseHelpStep4": "To update with new highlights, come back here and click \"Sync now\".",
|
||
"readwiseHelpStep5": "💡 Tip: create AI flashcards from a Readwise note (🎓 button in the editor) to review your readings."
|
||
},
|
||
"homeDashboard": {
|
||
"title": "Dashboard",
|
||
"quickCapture": "Quick Capture",
|
||
"quickCapturePlaceholder": "An idea, a thought… Enter sends it to the inbox.",
|
||
"captureGoesToFile": "Goes to the inbox.",
|
||
"captureSend": "Send to the inbox",
|
||
"captured": "Added to the inbox.",
|
||
"captureError": "Failed",
|
||
"mindMap": "Mind map",
|
||
"fullMap": "Full map →",
|
||
"mindMapEmpty": "No themes detected yet. Semantic analysis groups your notes by topic.",
|
||
"mindMapOpen": "Open insights map →",
|
||
"mindMapUnavailable": "Mind map unavailable.",
|
||
"themes": "Themes",
|
||
"bridges": "bridges",
|
||
"aiEchoes": "AI echoes",
|
||
"bridgeNote": "Bridge note",
|
||
"theme": "Theme",
|
||
"suggestedResearch": "Suggested research",
|
||
"dismiss": "Dismiss",
|
||
"createAgent": "Create agent",
|
||
"agentsEmpty": "No research agents suggested yet. Keep writing — Memento will propose synthesis topics when your notes cluster.",
|
||
"agentCreated": "Agent created and started",
|
||
"agentCreatedInCard": "The agent is ready.",
|
||
"agentOpenCreated": "Open the agent",
|
||
"agentSeeNextSuggestion": "See the next one",
|
||
"agentFailed": "Failed to create agent",
|
||
"notes": "notes",
|
||
"continue": "Continue",
|
||
"noRecentNotes": "No recent notes.",
|
||
"resumeEmptyHint": "Your recent notes will show up here. Capture an idea or open a notebook to get started.",
|
||
"resumeEmptyCta": "Capture an idea",
|
||
"resumeAlso": "Also recently",
|
||
"untitled": "Untitled",
|
||
"inbox": "Inbox",
|
||
"sentiment": "Sentiment",
|
||
"analyzing": "Analyzing…",
|
||
"notEnoughNotes": "Not enough notes this week.",
|
||
"toReview": "To review",
|
||
"allCaughtUp": "All caught up.",
|
||
"remindersEmpty": "No reminders for today.",
|
||
"remindersOpenAll": "See reminders",
|
||
"toOrganize": "to organize",
|
||
"inboxSeeAll": "See all {count}",
|
||
"inboxOpenList": "Open the inbox",
|
||
"inboxEmpty": "Inbox is empty.",
|
||
"review": "Review",
|
||
"cardsDue": "cards due",
|
||
"reminders": "Reminders",
|
||
"aiFound": "AI found",
|
||
"new": "new",
|
||
"noConnections": "No connections yet. AI analyzes your notes.",
|
||
"match": "Match",
|
||
"semanticConnection": "Semantic affinity",
|
||
"suggestedBridge": "Link {clusterA} & {clusterB}",
|
||
"createBridgeNote": "Create bridge note",
|
||
"bridgeNoteCreated": "Bridge note created",
|
||
"agentDiscovery": "Agent",
|
||
"connectionBetween": "Link between \"{note1}\" and \"{note2}\"",
|
||
"intelFilterAll": "All",
|
||
"intelFilterConnections": "Links",
|
||
"intelFilterBridges": "Bridges",
|
||
"intelFilterIdeas": "Ideas",
|
||
"intelFilterAgents": "Agents",
|
||
"intelFilterEmpty": "Nothing in this category yet.",
|
||
"intelOpenNote": "Open",
|
||
"intelCompare": "Compare",
|
||
"intelMissingLink": "Missing link",
|
||
"intelViewAgent": "View agent",
|
||
"intelAgentNoResult": "Research complete — see details.",
|
||
"intelPrev": "Previous",
|
||
"intelNext": "Next",
|
||
"intelGoTo": "Discovery {index}",
|
||
"intelPosition": "{current} / {total}",
|
||
"resumeOpen": "Resume",
|
||
"pulseInbox": "{count} to organize",
|
||
"pulseReview": "{count} to review",
|
||
"pulseDiscoveries": "{count} discoveries",
|
||
"pulseClear": "All caught up — enjoy your session.",
|
||
"widgetCustomize": "Customize",
|
||
"widgetDone": "Done",
|
||
"widgetAdd": "Add widget",
|
||
"widgetReset": "Reset layout",
|
||
"widgetResetDone": "Default dashboard restored.",
|
||
"layoutEmptyTitle": "Your dashboard is empty",
|
||
"layoutEmptyHint": "Restore the recommended layout to get started with your second brain.",
|
||
"widgetCatalog": "Widget catalog",
|
||
"widgetCatalogTitle": "Customize your dashboard",
|
||
"widgetActive": "Visible",
|
||
"widgetAddShort": "Add",
|
||
"widgetOpen": "Open",
|
||
"widgetDrag": "Drag widget",
|
||
"widgetHide": "Hide widget",
|
||
"widgetStatsBridges": "Bridges",
|
||
"widgetStatsNotes": "Notes",
|
||
"widgetAgentActivityEmpty": "No agent activity in the last 48 hours.",
|
||
"widgetPinnedEmpty": "No pinned notes yet.",
|
||
"pinnedNoNotebook": "No notebook",
|
||
"widgetActivityHint": "Notes edited over the last 90 days.",
|
||
"activityHeatmapTitle": "Notes edited",
|
||
"activityHeatmapLast90": "Last 90 days",
|
||
"activityHeatmapTotal": "{count} notes · 90 days",
|
||
"activityHeatmapDay": "{count} notes",
|
||
"activityHeatmapDayOne": "1 note",
|
||
"activityHeatmapDayNone": "No notes that day",
|
||
"activityHeatmapHint": "Hover or click a square to see the day",
|
||
"widgetUsageHint": "Single AI credit balance (all features).",
|
||
"briefingLoadError": "Could not load the dashboard.",
|
||
"briefingRetry": "Retry",
|
||
"widgetCategories": {
|
||
"essential": "Essentials",
|
||
"paths": "Paths & review",
|
||
"cognition": "Knowledge map",
|
||
"productivity": "Productivity",
|
||
"agents": "AI & agents"
|
||
},
|
||
"widgets": {
|
||
"capture": "Quick capture",
|
||
"resume": "Resume here",
|
||
"intelligence": "AI found",
|
||
"reminders": "Reminders",
|
||
"mind-map": "Mind map",
|
||
"agents": "Suggested research",
|
||
"sentiment": "Sentiment",
|
||
"inbox": "Inbox",
|
||
"revision": "Review cards",
|
||
"stats": "Semantic stats",
|
||
"agent-activity": "Agent activity",
|
||
"gmail": "Gmail captures",
|
||
"activity": "Writing activity",
|
||
"pinned": "Pinned notes",
|
||
"usage": "AI quota",
|
||
"next-paths": "Next paths",
|
||
"daily-review": "Daily review",
|
||
"open-loops": "Open loops",
|
||
"daily-note": "Daily journal",
|
||
"link-suggestions": "Link suggestions",
|
||
"bridges": "Bridge opportunities",
|
||
"flashcards-progress": "Learning progress"
|
||
},
|
||
"widgetDescriptions": {
|
||
"capture": "Capture a thought instantly into your inbox.",
|
||
"resume": "Pick up your most recent notes where you left off.",
|
||
"intelligence": "Semantic links, bridge ideas, and agent discoveries.",
|
||
"reminders": "Upcoming note reminders at a glance.",
|
||
"mind-map": "Theme clusters sized by note volume.",
|
||
"agents": "AI-suggested research agents for your topics.",
|
||
"sentiment": "Emotional tone of your notes this week.",
|
||
"inbox": "Notes waiting to be filed into notebooks.",
|
||
"revision": "Cards due today. They come back at the right time.",
|
||
"stats": "Clusters, bridge notes, and total indexed notes.",
|
||
"agent-activity": "Latest completed agent runs.",
|
||
"gmail": "Email captures synced from Gmail.",
|
||
"activity": "GitHub-style heatmap of your writing rhythm.",
|
||
"pinned": "Quick access to your pinned notes.",
|
||
"usage": "Remaining AI credits and monthly limits.",
|
||
"next-paths": "AI-suggested next steps from your latest work.",
|
||
"daily-review": "10-minute morning checklist (inbox, discoveries, one link).",
|
||
"open-loops": "Notes started but left unfinished.",
|
||
"daily-note": "Today's journal entry.",
|
||
"link-suggestions": "Passages to link into your current note.",
|
||
"bridges": "Missing links between your knowledge themes.",
|
||
"flashcards-progress": "Retention, streak, and total cards."
|
||
},
|
||
"pathsTitle": "Your next paths",
|
||
"pathsFromNote": "Based on \"{title}\"",
|
||
"pathsLoading": "Analyzing your recent work…",
|
||
"pathsEnriching": "Refining suggestions…",
|
||
"pathsEmpty": "Work on a note to unlock personalized paths.",
|
||
"pathCompareHint": "Also related: {title} — open Memory Echo to compare.",
|
||
"pathAddLinkHint": "Consider linking to \"{link}\" in your note.",
|
||
"dailyReviewHint": "10 min each morning — the habit that makes your second brain compound.",
|
||
"dailyReviewInbox": "Process inbox",
|
||
"dailyReviewDiscoveries": "Review AI discoveries",
|
||
"dailyReviewConnection": "Explore one connection",
|
||
"dailyReviewCards": "Review cards",
|
||
"openLoopsEmpty": "No stalled notes — you're on track.",
|
||
"openLoopsStale": "{days}d ago",
|
||
"dailyNoteOpen": "Open journal",
|
||
"linkSuggestionsEmpty": "Edit a note to get link suggestions.",
|
||
"bridgesEmpty": "No bridge opportunities right now.",
|
||
"flashRetention": "Remembered",
|
||
"flashRetentionHint": "Share of cards you remember well.",
|
||
"flashStreak": "Days in a row",
|
||
"flashTotal": "In all",
|
||
"flashEmptyHint": "No cards yet. Create some from a note, then track your progress here.",
|
||
"flashEmptyCta": "Open reviews",
|
||
"flashDueCta": "Review now",
|
||
"flashOpenCta": "View progress",
|
||
"activityEmptyHint": "Edit notes to see your writing rhythm over the last 90 days.",
|
||
"pathTypes": {
|
||
"continue": "Continue",
|
||
"connect": "Semantic link",
|
||
"add-link": "Add to note",
|
||
"bridge": "Bridge idea",
|
||
"research": "Research agent",
|
||
"explore": "Explore theme",
|
||
"organize": "Organize",
|
||
"review": "Review",
|
||
"resurface": "Resurface",
|
||
"daily": "Journal"
|
||
},
|
||
"widgetHelpLabel": "Widget help",
|
||
"widgetHelpClose": "Close",
|
||
"sentimentDominant": "Dominant tone this week",
|
||
"sentimentFromNotes": "From your notes",
|
||
"widgetHelp": {
|
||
"capture": "Jot down a thought in one line. It lands in your Inbox — classify it during your daily review.",
|
||
"next-paths": "Suggested next steps based on your latest edited note: resume, link, bridge, or research.",
|
||
"resume": "Your most recently updated notes. Pick up where you left off.",
|
||
"intelligence": "AI discoveries: semantic links between notes, bridge ideas, and agent findings.",
|
||
"reminders": "Upcoming note reminders. Empty when everything is on schedule.",
|
||
"mind-map": "Theme clusters sized by note volume. Click to explore in Connections.",
|
||
"agents": "AI-suggested research agents for topics you write about often.",
|
||
"sentiment": "Emotional tone of notes edited in the last 7 days. Requires at least 3 recent notes and AI enabled.",
|
||
"inbox": "Notes without a notebook yet. File them to keep your second brain tidy.",
|
||
"revision": "Cards due today. They come back at the right time.",
|
||
"stats": "Semantic index stats: active themes, bridge notes, total indexed notes.",
|
||
"agent-activity": "Agents that completed a run in the last 48 hours.",
|
||
"gmail": "Email captures synced from Gmail integration.",
|
||
"activity": "Heatmap of notes you edited over the last 90 days.",
|
||
"pinned": "Quick access to notes you pinned.",
|
||
"usage": "Monthly AI credit usage by feature.",
|
||
"daily-review": "10-minute morning list: inbox, discoveries, one connection, cards.",
|
||
"open-loops": "Notes you started but haven't touched in 3+ days.",
|
||
"daily-note": "Today's journal entry — one note per day.",
|
||
"link-suggestions": "Passages from other notes worth linking into your current work.",
|
||
"bridges": "AI suggestions to connect two separate knowledge themes with a bridge note.",
|
||
"flashcards-progress": "Learning retention rate, review streak, and total cards."
|
||
},
|
||
"pathActions": {
|
||
"continue": "Resume",
|
||
"compare": "Compare",
|
||
"addLink": "Open & link",
|
||
"openInsight": "Explore",
|
||
"createBridge": "Create bridge",
|
||
"createAgent": "Launch agent",
|
||
"exploreTheme": "View themes",
|
||
"organizeInbox": "Open inbox",
|
||
"reviewCards": "Review",
|
||
"openDaily": "Open journal"
|
||
},
|
||
"gmailCaptures": "Gmail captures",
|
||
"gmailConnect": "Connect Gmail",
|
||
"gmailRecent": "{count} this week",
|
||
"aiConsentRequired": "Enable AI to discover connections between your notes.",
|
||
"aiProviderUnavailable": "AI is temporarily unavailable. Check your provider settings.",
|
||
"memoryEchoDisabled": "Memory Echo is disabled in your AI settings.",
|
||
"enableAi": "Enable AI",
|
||
"analyzeNotes": "Analyze my notes",
|
||
"echoFound": "New connection found!",
|
||
"echoNone": "No new connections right now. Try again later.",
|
||
"echoFailed": "Analysis failed",
|
||
"alreadySeen": "seen",
|
||
"dismissConnection": "Dismiss this connection",
|
||
"loading": "…",
|
||
"emotions": {
|
||
"focused": "Focused",
|
||
"curious": "Curious",
|
||
"enthusiastic": "Enthusiastic",
|
||
"frustrated": "Frustrated",
|
||
"calm": "Calm",
|
||
"anxious": "Anxious",
|
||
"creative": "Creative",
|
||
"reflective": "Reflective"
|
||
}
|
||
},
|
||
"editor": {
|
||
"voiceStart": "Dictate text (microphone)",
|
||
"voiceStop": "Stop dictation",
|
||
"backlinks": "Backlinks",
|
||
"clickToEdit": "Click to edit",
|
||
"bold": "Bold",
|
||
"italic": "Italic",
|
||
"highlight": "Highlight",
|
||
"link": "Link",
|
||
"bulletList": "Bullet List",
|
||
"taskList": "Task List",
|
||
"heading": "Heading",
|
||
"codeBlock": "Code Block",
|
||
"plus": "Plus"
|
||
},
|
||
"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",
|
||
"openingNotebook": "Opening…",
|
||
"autoOpenHint": "Opening the notebook and refreshing the sidebar…",
|
||
"createdToast": "Notebook « {name} » ready — AI notes available",
|
||
"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": "Auto tags",
|
||
"autoTags": "Auto tags",
|
||
"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.",
|
||
"taskA": "Task A",
|
||
"taskB": "Task B"
|
||
},
|
||
"notebookSite": {
|
||
"title": "Publish notebook as website",
|
||
"shortTitle": "Website",
|
||
"howItWorks": "How it works",
|
||
"step1": "AI analyzes your notes and recommends which ones to publish",
|
||
"step2": "You confirm or adjust the selection",
|
||
"step3": "Your site is generated with navigation and table of contents",
|
||
"quotaWarning": "Analysis uses 1 AI credit.",
|
||
"analyzeBtn": "Analyze with AI",
|
||
"analyzing": "AI is analyzing your notes...",
|
||
"siteDescription": "Site description",
|
||
"notesSelected": "notes selected",
|
||
"template": "Visual style",
|
||
"publishBtn": "Publish site",
|
||
"publishing": "Generating site...",
|
||
"published": "Site published!",
|
||
"openSite": "Open site",
|
||
"updateSite": "Update site",
|
||
"unpublish": "Unpublish site",
|
||
"selectAtLeastOne": "Select at least one note",
|
||
"unpublished": "Site unpublished",
|
||
"online": "Site online",
|
||
"unpublishing": "Unpublishing…"
|
||
},
|
||
"searchModal": {
|
||
"ariaLabel": "Search",
|
||
"placeholder": "Search all notes…",
|
||
"caseSensitive": "Case sensitive",
|
||
"regexMode": "Regex mode",
|
||
"trashIncluded": "Trash included",
|
||
"openInEditor": "Open in editor",
|
||
"title": "Memento Search",
|
||
"favorites": "Favorites:",
|
||
"searching": "Searching…",
|
||
"noResults": "No results",
|
||
"typeToSearch": "Type to search",
|
||
"aiAnalysis": "Analyzing…",
|
||
"aiResponse": "AI Response",
|
||
"resultsSummary": "Results summary…",
|
||
"documentPreview": "Document preview",
|
||
"noMatch": "No note matches your search.",
|
||
"typeForResults": "Type for instant results.",
|
||
"hintNavigate": "navigate",
|
||
"hintOpen": "open",
|
||
"hintClose": "close",
|
||
"selectResultToPreview": "Select a result to explore its content."
|
||
},
|
||
"mobile": {
|
||
"aiNote": "AI Note",
|
||
"blockActions": "Block Actions",
|
||
"convertFormat": "Convert Format",
|
||
"delete": "Delete",
|
||
"duplicate": "Duplicate",
|
||
"paragraph": "Paragraph",
|
||
"quote": "Quote",
|
||
"selectAll": "Select All"
|
||
},
|
||
"clusters": {
|
||
"empty": "No clusters to display",
|
||
"emptyHint": "Create more notes to generate clusters",
|
||
"bridgeNote": "Bridge note",
|
||
"regularNote": "Regular note",
|
||
"notes": "notes"
|
||
},
|
||
"bridgeNotes": {
|
||
"bridges": "Bridges",
|
||
"suggestions": "Suggestions",
|
||
"powerfulTitle": "Powerful Bridge Notes",
|
||
"score": "Score",
|
||
"empty": "No significant bridge notes found yet. Deepen your research to find new connections.",
|
||
"missingLinks": "Missing Links (AI Generated)",
|
||
"bridging": "Bridging",
|
||
"dismiss": "Dismiss suggestion",
|
||
"noSuggestions": "No connection suggestions yet",
|
||
"allConnected": "All your clusters may already be connected!",
|
||
"generate": "Generate Suggestions"
|
||
},
|
||
"chart": {
|
||
"code": "Chart Code",
|
||
"invalid": "Invalid Chart",
|
||
"invalidDescription": "This chart block contains invalid or empty data.",
|
||
"editSource": "Edit chart source",
|
||
"suggestions": "Chart Suggestions",
|
||
"suggestionsTitle": "Chart suggestions",
|
||
"creditCostHint": "Estimated cost: 2 AI credits",
|
||
"analyzing": "Analyzing your content for chart data…",
|
||
"debugInfo": "Debug info",
|
||
"escCancel": "Esc Cancel",
|
||
"insertFailed": "Failed to insert chart: ",
|
||
"noDataDetected": "No Data Detected",
|
||
"noDataHint": "Try adding numerical data to your note. Charts work best with:",
|
||
"dataHint1": "• Sales figures, metrics, or measurements",
|
||
"dataHint2": "• Lists with values (e.g., \"Jan: 5000, Feb: 7500\")",
|
||
"dataHint3": "• Percentages or proportions",
|
||
"dataHint4": "• Time-series data",
|
||
"debugShowAnalyzed": "Debug: Show what was analyzed",
|
||
"navigateHint": "← → Navigate",
|
||
"selectHint": "↵ Select",
|
||
"dataPoints": "data points",
|
||
"analyzingSelection": "selection",
|
||
"analyzingNote": "note",
|
||
"words": "words",
|
||
"found": "Found"
|
||
},
|
||
"byok": {
|
||
"loadError": "Loading error",
|
||
"updated": "{{name}} updated ✓",
|
||
"testHint": "To test, enter your API key…",
|
||
"aliasPlaceholder": "e.g. My pro key",
|
||
"choose": "Choose…",
|
||
"keyPlaceholder": "sk-… (optional)",
|
||
"keyValid": "Valid API key ✓",
|
||
"verifyError": "Verification error",
|
||
"keySaved": "Key {{name}} saved ✓",
|
||
"keyDeleted": "Key deleted",
|
||
"noActiveKey": "No active key — using Memento quotas",
|
||
"savedKeys": "Saved keys",
|
||
"chooseProvider": "Choose a provider…",
|
||
"apiKey": "API Key",
|
||
"fetchingModels": "Fetching models…",
|
||
"chooseModel": "Choose a model…",
|
||
"editLabel": "Edit — {{name}}",
|
||
"aliasLabel": "Alias",
|
||
"apiUrl": "API URL",
|
||
"model": "Model",
|
||
"newKey": "New API key",
|
||
"newKeyHint": "(leave empty to keep current)",
|
||
"operational": "✓ Operational",
|
||
"test": "Test",
|
||
"saveChanges": "Save changes",
|
||
"contactError": "Could not contact server",
|
||
"baseUrlRequired": "Please provide the API URL",
|
||
"keyInvalid": "Invalid API key",
|
||
"byokActive": "Keys active",
|
||
"activeStatus": "● Active",
|
||
"inactiveStatus": "○ Inactive",
|
||
"confirmDelete": "Delete the {{name}} key?",
|
||
"addOrReplace": "Add / replace a key",
|
||
"connectProvider": "Connect your AI provider",
|
||
"optional": "(optional)",
|
||
"verify": "Verify",
|
||
"modelOperational": "Model operational ✓",
|
||
"reply": "Reply:",
|
||
"testFailed": "Test failed",
|
||
"save": "Save",
|
||
"saveWithName": "Save — {{name}}"
|
||
},
|
||
"blockPicker": {
|
||
"searchPlaceholder": "Search for a note excerpt…"
|
||
},
|
||
"errors": {
|
||
"network": "Network error"
|
||
},
|
||
"pdf": {
|
||
"exportError": "PDF export error"
|
||
},
|
||
"report": {
|
||
"explainProblem": "Explain the problem…"
|
||
},
|
||
"publish": {
|
||
"defaultTitle": "Published note",
|
||
"tagline": "Your memory, augmented by AI",
|
||
"aiSheet": "AI-generated sheet",
|
||
"publishedOn": "Published on"
|
||
}
|
||
}
|