feat(ai): localize AI features
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -25,7 +25,8 @@
|
||||
"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"
|
||||
"backToLogin": "Back to login",
|
||||
"signOut": "Sign out"
|
||||
},
|
||||
"sidebar": {
|
||||
"notes": "Notes",
|
||||
@@ -118,7 +119,24 @@
|
||||
"markdownOn": "Markdown ON",
|
||||
"markdownOff": "Markdown OFF",
|
||||
"undo": "Undo (Ctrl+Z)",
|
||||
"redo": "Redo (Ctrl+Y)"
|
||||
"redo": "Redo (Ctrl+Y)",
|
||||
"pinnedNotes": "Pinned Notes",
|
||||
"recent": "Recent",
|
||||
"addNote": "Add Note",
|
||||
"remove": "Remove",
|
||||
"dragToReorder": "Drag to reorder",
|
||||
"more": "More options",
|
||||
"emptyState": "No notes yet. Create your first note!",
|
||||
"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)"
|
||||
},
|
||||
"pagination": {
|
||||
"previous": "←",
|
||||
@@ -154,7 +172,9 @@
|
||||
"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."
|
||||
"notebookRequired": "⚠️ Labels are only available in notebooks. Move this note to a notebook first.",
|
||||
"count": "{count} labels",
|
||||
"noLabels": "No labels"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Search",
|
||||
@@ -235,7 +255,41 @@
|
||||
"improveStyle": "Improve style",
|
||||
"reformulationComparison": "Reformulation Comparison",
|
||||
"original": "Original",
|
||||
"reformulated": "Reformulated"
|
||||
"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..."
|
||||
},
|
||||
"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}"
|
||||
},
|
||||
"notebookSummary": {
|
||||
"regenerate": "Regenerate Summary",
|
||||
"regenerating": "Regenerating summary..."
|
||||
}
|
||||
},
|
||||
"batchOrganization": {
|
||||
"error": "Failed to create organization plan",
|
||||
@@ -300,6 +354,7 @@
|
||||
"connection": "connection",
|
||||
"connectionsBadge": "{count} connection{plural}",
|
||||
"fused": "Fused",
|
||||
"clickToView": "Click to view note →",
|
||||
"overlay": {
|
||||
"title": "Connected Notes",
|
||||
"searchPlaceholder": "Search connections...",
|
||||
@@ -309,7 +364,8 @@
|
||||
"sortOldest": "Oldest",
|
||||
"viewAll": "View all side by side",
|
||||
"loading": "Loading...",
|
||||
"noConnections": "No connections found"
|
||||
"noConnections": "No connections found",
|
||||
"error": "Failed to load connections"
|
||||
},
|
||||
"comparison": {
|
||||
"title": "💡 Note Comparison",
|
||||
@@ -328,7 +384,8 @@
|
||||
"compare": "Compare",
|
||||
"merge": "Merge",
|
||||
"compareAll": "Compare all",
|
||||
"mergeAll": "Merge all"
|
||||
"mergeAll": "Merge all",
|
||||
"close": "Close"
|
||||
},
|
||||
"fusion": {
|
||||
"title": "🔗 Intelligent Fusion",
|
||||
@@ -408,7 +465,16 @@
|
||||
"about": "About",
|
||||
"version": "Version",
|
||||
"settingsSaved": "Settings saved",
|
||||
"settingsError": "Error saving settings"
|
||||
"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",
|
||||
"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"
|
||||
},
|
||||
"profile": {
|
||||
"title": "Profile",
|
||||
@@ -468,7 +534,14 @@
|
||||
"frequencyWeekly": "Weekly",
|
||||
"saving": "Saving...",
|
||||
"saved": "Setting updated",
|
||||
"error": "Failed to update setting"
|
||||
"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"
|
||||
},
|
||||
"general": {
|
||||
"loading": "Loading...",
|
||||
@@ -489,7 +562,11 @@
|
||||
"tryAgain": "Please try again",
|
||||
"error": "An error occurred",
|
||||
"operationSuccess": "Operation successful",
|
||||
"operationFailed": "Operation failed"
|
||||
"operationFailed": "Operation failed",
|
||||
"testConnection": "Test Connection",
|
||||
"clean": "Clean",
|
||||
"indexAll": "Index All",
|
||||
"preview": "Preview"
|
||||
},
|
||||
"colors": {
|
||||
"default": "Default",
|
||||
@@ -528,7 +605,9 @@
|
||||
"summary": "Notebook Summary",
|
||||
"summaryDescription": "Generate an AI-powered summary of all notes in this notebook.",
|
||||
"generating": "Generating summary...",
|
||||
"summaryError": "Error generating summary"
|
||||
"summaryError": "Error generating summary",
|
||||
"labels": "Labels:",
|
||||
"noLabels": "No labels"
|
||||
},
|
||||
"notebookSuggestion": {
|
||||
"title": "Move to {icon} {name}?",
|
||||
@@ -538,5 +617,378 @@
|
||||
"dismissIn": "Dismiss (closes in {timeLeft}s)",
|
||||
"moveToNotebook": "Move to notebook",
|
||||
"generalNotes": "General Notes"
|
||||
},
|
||||
"admin": {
|
||||
"title": "Admin Dashboard",
|
||||
"userManagement": "User Management",
|
||||
"aiTesting": "AI Testing",
|
||||
"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).",
|
||||
"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)",
|
||||
"providerCustomOption": "🔧 Custom OpenAI-Compatible",
|
||||
"bestValue": "Best value",
|
||||
"bestQuality": "Best quality",
|
||||
"saved": "(Saved)"
|
||||
},
|
||||
"smtp": {
|
||||
"title": "SMTP Configuration",
|
||||
"description": "Configure email server for password resets.",
|
||||
"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",
|
||||
"demote": "Demote to User",
|
||||
"promote": "Promote to Admin",
|
||||
"confirmDelete": "Are you sure? This action cannot be undone.",
|
||||
"table": {
|
||||
"name": "Name",
|
||||
"email": "Email",
|
||||
"role": "Role",
|
||||
"createdAt": "Created At",
|
||||
"actions": "Actions"
|
||||
},
|
||||
"roles": {
|
||||
"user": "User",
|
||||
"admin": "Admin"
|
||||
}
|
||||
},
|
||||
"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",
|
||||
"provider": "Provider:",
|
||||
"model": "Model:",
|
||||
"testing": "Testing...",
|
||||
"runTest": "Run Test",
|
||||
"testPassed": "Test Passed",
|
||||
"testFailed": "Test Failed",
|
||||
"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."
|
||||
}
|
||||
},
|
||||
"about": {
|
||||
"title": "About",
|
||||
"description": "Information about the application",
|
||||
"appName": "Keep Notes",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"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 Management",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"appearance": {
|
||||
"title": "Appearance",
|
||||
"description": "Customize how the app looks"
|
||||
},
|
||||
"generalSettings": {
|
||||
"title": "General Settings",
|
||||
"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": "The trash is empty",
|
||||
"restore": "Restore",
|
||||
"deletePermanently": "Delete Permanently"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"common": {
|
||||
"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 results",
|
||||
"required": "Required",
|
||||
"optional": "Optional"
|
||||
},
|
||||
"time": {
|
||||
"justNow": "just now",
|
||||
"minutesAgo": "{count}m ago",
|
||||
"hoursAgo": "{count}h ago",
|
||||
"daysAgo": "{count}d ago",
|
||||
"yesterday": "Yesterday",
|
||||
"today": "Today",
|
||||
"tomorrow": "Tomorrow"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favorites",
|
||||
"toggleSection": "Toggle pinned notes section",
|
||||
"noFavorites": "No pinned notes yet",
|
||||
"pinToFavorite": "Pin a note to add it to favorites"
|
||||
},
|
||||
"notebooks": {
|
||||
"create": "Create notebook",
|
||||
"allNotebooks": "All Notebooks",
|
||||
"noNotebooks": "No notebooks yet",
|
||||
"createFirst": "Create your first notebook"
|
||||
},
|
||||
"ui": {
|
||||
"close": "Close",
|
||||
"open": "Open",
|
||||
"expand": "Expand",
|
||||
"collapse": "Collapse"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user