Readur/frontend/public/locales/en/translation.json

1494 lines
60 KiB
JSON

{
"common": {
"appName": "Readur",
"appTagline": "AI Document Platform",
"welcome": "Welcome to {{appName}}",
"welcomeBack": "Welcome back, {{username}}! 👋",
"or": "or",
"copyright": "© 2026 Readur. Powered by advanced OCR and AI technology.",
"actions": {
"save": "Save",
"cancel": "Cancel",
"close": "Close",
"delete": "Delete",
"edit": "Edit",
"view": "View",
"download": "Download",
"upload": "Upload",
"search": "Search",
"filter": "Filter",
"sort": "Sort",
"clear": "Clear",
"refresh": "Refresh",
"retry": "Retry",
"create": "Create",
"update": "Update",
"viewDetails": "View Details",
"back": "Back"
},
"status": {
"loading": "Loading...",
"processing": "Processing...",
"completed": "Completed",
"failed": "Failed",
"pending": "Pending",
"success": "Success",
"error": "Error"
},
"time": {
"seconds": "{{count}} seconds",
"minutes": "{{count}} minutes",
"hours": "{{count}} hours",
"days": "{{count}} days"
},
"sizes": {
"bytes": "{{count}} Bytes",
"kb": "{{count}} KB",
"mb": "{{count}} MB",
"gb": "{{count}} GB"
},
"moreCount": "+{{count}} more",
"of": "of",
"and": "and"
},
"auth": {
"signIn": "Sign in",
"signingIn": "Signing in...",
"signInToAccount": "Sign in to your account",
"signInWithOIDC": "Sign in with OIDC",
"redirecting": "Redirecting...",
"username": "Username",
"password": "Password",
"usernameRequired": "Username is required",
"passwordRequired": "Password is required",
"logout": "Logout",
"profile": "Profile",
"intelligentDocumentPlatform": "Your intelligent document management platform",
"errors": {
"invalidCredentials": "Invalid username or password. Please check your credentials and try again.",
"accountDisabled": "Your account has been disabled. Please contact an administrator for assistance.",
"userNotFound": "No account found with this username. Please check your username or contact support.",
"sessionExpired": "Your session has expired. Please try logging in again.",
"networkError": "Network error. Please check your connection and try again.",
"serverError": "Server error. Please try again later or contact support if the problem persists.",
"oidcAuthFailed": "OIDC authentication failed. Please check with your administrator.",
"oidcNotConfigured": "OIDC is not configured on this server. Please use username/password login.",
"oidcInitFailed": "Failed to initiate OIDC login. Please try again.",
"loginFailed": "Failed to log in. Please check your credentials."
}
},
"navigation": {
"dashboard": "Dashboard",
"upload": "Upload",
"documents": "Documents",
"search": "Search",
"labels": "Labels",
"sources": "Sources",
"watchFolder": "Watch Folder",
"documentManagement": "Document Management",
"ignoredFiles": "Ignored Files"
},
"dashboard": {
"greeting": "Here's what's happening with your documents today.",
"stats": {
"totalDocuments": {
"title": "Total Documents",
"subtitle": "Files in your library",
"trend": "{{count}} total",
"trendEmpty": "No documents yet"
},
"storageUsed": {
"title": "Storage Used",
"subtitle": "Total file size",
"trend": "{{size}} used",
"trendEmpty": "No storage used"
},
"ocrProcessed": {
"title": "OCR Processed",
"subtitle": "Text extracted documents",
"trend": "{{percentage}}% completion",
"trendEmpty": "0% completion"
},
"searchable": {
"title": "Searchable",
"subtitle": "Ready for search",
"trend": "{{count}} indexed",
"trendEmpty": "Nothing indexed yet"
}
},
"recentDocuments": {
"title": "Recent Documents",
"viewAll": "View All",
"noDocuments": "No documents yet",
"uploadFirst": "Upload your first document to get started"
},
"quickActions": {
"title": "Quick Actions",
"upload": {
"title": "Upload Documents",
"description": "Add new files for OCR processing"
},
"search": {
"title": "Search Library",
"description": "Find documents by content or metadata"
},
"browse": {
"title": "Browse Documents",
"description": "View and manage your document library"
}
}
},
"search": {
"title": "Search Documents",
"placeholder": "Search documents by content, filename, or tags... Try 'invoice', 'contract', or tag:important",
"searchPlaceholder": "Search documents...",
"noResults": {
"title": "No results found for \"{{query}}\"",
"subtitle": "Try adjusting your search terms or filters",
"suggestions": {
"title": "Suggestions:",
"simpler": "Try simpler or more general terms",
"spelling": "Check spelling and try different keywords",
"removeFilters": "Remove some filters to broaden your search",
"useQuotes": "Use quotes for exact phrases"
}
},
"searching": "Searching...",
"searchingAsYouType": "Searching as you type...",
"quickResults": "Quick Results",
"resultsCount": "{{count}} found",
"viewAllResults": "View all results for \"{{query}}\"",
"recentSearches": "Recent Searches",
"startTyping": "Start typing to search documents",
"popularSearches": "Popular searches:",
"noDocumentsFound": "No documents found for \"{{query}}\"",
"pressEnterAdvanced": "Press Enter to search with advanced options",
"trySuggestions": "Try these suggestions:",
"settings": {
"title": "Search Settings"
},
"modes": {
"smart": "Smart",
"exactPhrase": "Exact phrase",
"similarWords": "Similar words",
"advanced": "Advanced",
"enhanced": "Enhanced"
},
"quickSuggestions": {
"title": "Quick suggestions:"
},
"relatedSearches": {
"title": "Related searches:"
},
"filters": {
"title": "Filters",
"tags": "Tags",
"selectTags": "Select Tags",
"ocrStatus": "OCR Status",
"ocrText": "OCR Text",
"allDocuments": "All Documents",
"hasOcrText": "Has OCR Text",
"noOcrText": "No OCR Text",
"dateRange": "Date Range",
"daysAgo": "Days ago: {{min}} - {{max}}",
"dateMarks": {
"today": "Today",
"30d": "30d",
"90d": "90d",
"1y": "1y"
},
"fileSize": "File Size",
"sizeRange": "Size: {{min}}MB - {{max}}MB"
},
"status": {
"searching": "Searching...",
"resultsFound": "{{count}} results found"
},
"display": {
"settings": "Display Settings",
"textSettings": "Text Display Settings",
"fontSizeLabel": "Font Size: {{size}}px",
"snippetsPerResult": "Snippets per result: {{count}}",
"contextLength": "Context Length: {{length}} characters",
"viewMode": {
"label": "View Mode",
"compact": "Compact",
"detailed": "Detailed",
"contextFocus": "Context Focus"
},
"highlightStyle": {
"label": "Highlight Style",
"background": "Background Color",
"underline": "Underline",
"bold": "Bold Text"
}
},
"results": {
"showing": "Showing:",
"snippetsCount": "{{count}} snippets",
"fontSize": "{{size}}px font",
"hasOcr": " • OCR",
"tags": "Tags:",
"pagination": "Showing {{start}}-{{end}} of {{total}} results"
},
"empty": {
"title": "Start searching your documents",
"subtitle": "Use the enhanced search bar above to find documents by content, filename, or tags"
},
"tips": {
"title": "Search Tips:",
"exactPhrase": "Use quotes for exact phrases: \"project plan\"",
"tags": "Search by tags: tag:important or tag:invoice",
"combine": "Combine terms: contract AND payment",
"wildcards": "Use wildcards: proj* for project, projects, etc."
},
"examples": {
"invoice": "Try: invoice",
"contract": "Try: contract",
"tagImportant": "Try: tag:important"
},
"actions": {
"clearFilters": "Clear Filters",
"newSearch": "New Search"
}
},
"upload": {
"title": "Upload Documents",
"subtitle": "Transform your documents with intelligent OCR processing",
"features": {
"aiOcr": {
"title": "AI-Powered OCR",
"description": "Advanced text extraction from any document type"
},
"fullTextSearch": {
"title": "Full-Text Search",
"description": "Find documents instantly by content or metadata"
},
"lightningFast": {
"title": "Lightning Fast",
"description": "Process documents in seconds, not minutes"
},
"secure": {
"title": "Secure & Private",
"description": "Your documents are encrypted and protected"
},
"multiLanguage": {
"title": "Multi-Language",
"description": "Support for 100+ languages and scripts"
}
},
"tips": {
"title": "📋 Upload Tips",
"highRes": "• For best OCR results, use high-resolution images",
"pdfText": "• PDF files with text layers are processed faster",
"clarity": "• Ensure documents are well-lit and clearly readable",
"maxSize": "• Maximum file size is 50MB per document"
},
"dropzone": {
"dragDrop": "Drag & drop files here",
"dropHere": "Drop files here",
"browse": "or click to browse your computer",
"chooseFiles": "Choose Files",
"maxFileSize": "Maximum file size: 50MB per file",
"fileTypes": {
"pdf": "PDF",
"images": "Images",
"text": "Text",
"word": "Word"
}
},
"languageSettings": {
"title": "🌐 OCR Language Settings",
"description": "Select languages for optimal OCR text recognition"
},
"labelAssignment": {
"title": "📋 Label Assignment",
"description": "Select labels to automatically assign to all uploaded documents",
"placeholder": "Choose labels for your documents...",
"helperText": "These labels will be applied to all uploaded documents"
},
"fileList": {
"title": "Files ({{count}})",
"clearCompleted": "Clear Completed",
"uploading": "Uploading... ({{completed}}/{{total}})",
"uploadingSimple": "Uploading...",
"uploadAll": "Upload All"
},
"errors": {
"sessionExpired": "Your session has expired. Please refresh the page and log in again.",
"labelPermissionDenied": "You do not have permission to access labels.",
"labelNetworkError": "Network error loading labels. Please check your connection.",
"fileTooLarge": "File is too large. Maximum size is 50MB.",
"unsupportedFormat": "Unsupported file format. Please use PDF, images, text, or Word documents.",
"processingFailed": "Failed to process document. Please try again or contact support.",
"permissionDenied": "You do not have permission to upload documents.",
"networkError": "Network error. Please check your connection and try again.",
"serverError": "Server error. Please try again later."
}
},
"documents": {
"title": "Documents",
"subtitle": "Manage and explore your document library",
"viewDocument": "View document",
"downloadDocument": "Download document",
"deleteDocument": "Delete document",
"unknownDocument": "Unknown Document",
"search": {
"placeholder": "Search documents..."
},
"selection": {
"select": "Select",
"cancel": "Cancel",
"count": "{{count}} of {{total}} documents selected",
"selectAll": "Select All",
"deselectAll": "Deselect All",
"deleteSelected": "Delete Selected ({{count}})"
},
"filters": {
"ocrStatus": "OCR Status",
"all": "All",
"completed": "Completed",
"processing": "Processing",
"failed": "Failed",
"pending": "Pending"
},
"sort": {
"label": "Sort",
"newestFirst": "Newest First",
"oldestFirst": "Oldest First",
"nameAZ": "Name A-Z",
"nameZA": "Name Z-A",
"largestFirst": "Largest First",
"smallestFirst": "Smallest First"
},
"ocrStatus": {
"confidence": "OCR {{percent}}%",
"done": "OCR Done",
"processing": "Processing...",
"failed": "OCR Failed",
"pending": "Pending"
},
"actions": {
"editLabels": "Edit Labels",
"retryOcr": "Retry OCR",
"retryingOcr": "Retrying OCR...",
"retryHistory": "Retry History"
},
"empty": {
"title": "No documents found",
"searchSubtitle": "Try adjusting your search terms",
"uploadSubtitle": "Upload your first document to get started"
},
"dialogs": {
"editLabels": {
"title": "Edit Document Labels",
"placeholder": "Select labels for this document..."
},
"delete": {
"title": "Delete Document",
"message": "Are you sure you want to delete \"{{filename}}\"?",
"warning": "This action cannot be undone. The document file and all associated data will be permanently removed.",
"deleting": "Deleting...",
"delete": "Delete"
},
"bulkDelete": {
"title": "Delete Multiple Documents",
"message": "Are you sure you want to delete {{count}} selected document{{plural}}?",
"warning": "This action cannot be undone. All selected documents and their associated data will be permanently removed.",
"listTitle": "Documents to be deleted:",
"moreCount": "... and {{count}} more",
"deleteButton": "Delete {{count}} Document{{plural}}"
}
},
"pagination": {
"showing": "Showing {{start}}-{{end}} of {{total}} documents",
"withOcrStatus": " with OCR status: {{status}}",
"matching": " matching \"{{query}}\""
}
},
"documentDetails": {
"subtitle": "Comprehensive document analysis and metadata viewer",
"actions": {
"backToDocuments": "Back to Documents",
"download": "Download",
"viewDocument": "View Document",
"viewOcrText": "View OCR Text",
"viewProcessedImage": "View Processed Image",
"retryOcr": "Retry OCR",
"retryHistory": "Retry History",
"editLabels": "Edit Labels",
"deleteDocument": "Delete Document"
},
"errors": {
"notFound": "Document not found"
},
"metadata": {
"fileSize": "File Size",
"uploadDate": "Upload Date",
"sourceType": "Source Type",
"originalPath": "Original Path",
"originalCreated": "Original Created",
"originalModified": "Original Modified",
"ocrStatus": "OCR Status",
"textExtracted": "Text Extracted"
},
"ocr": {
"title": "🔍 Extracted Text (OCR)",
"expandTooltip": "Expand to view full text with search",
"expand": "Expand",
"loading": "Loading OCR analysis...",
"confidence": "Confidence",
"words": "Words",
"processingTime": "Processing Time",
"error": "OCR Processing Error",
"noText": "No OCR text available for this document.",
"completed": "✅ Processing completed: {{date}}",
"loadFailed": "OCR text is available but failed to load. Please try refreshing the page."
},
"tagsLabels": {
"title": "🏷️ Tags & Labels",
"tags": "Tags",
"labels": "Labels",
"noLabels": "No labels assigned to this document"
},
"dialogs": {
"ocrText": {
"title": "Extracted Text (OCR)",
"confidence": "{{percent}}% confidence",
"words": "{{count}} words",
"loading": "Loading OCR text...",
"error": "OCR Error: {{message}}",
"noText": "No OCR text available for this document.",
"processingTime": "Processing time: {{time}}ms",
"completed": "Completed: {{date}}"
},
"ocrExpanded": {
"title": "🔍 Extracted Text (OCR) - Full View",
"searchPlaceholder": "Search within extracted text...",
"matches": "{{count}} match{{plural}} found",
"noMatches": "No matches found",
"loading": "Loading OCR text...",
"error": "OCR Error: {{message}}",
"noText": "No OCR text available for this document."
},
"processedImage": {
"title": "Processed Image - OCR Enhancement Applied",
"description": "This is the enhanced image that was actually processed by the OCR engine. You can adjust OCR enhancement settings in the Settings page.",
"noImage": "No processed image available"
},
"editLabels": {
"title": "Edit Document Labels",
"description": "Select labels to assign to this document",
"placeholder": "Choose labels for this document...",
"saveLabels": "Save Labels"
},
"delete": {
"title": "Delete Document",
"warning": "This action cannot be undone.",
"message": "Are you sure you want to delete <strong>{{filename}}</strong>?",
"details": "This will permanently remove the document and all associated data including OCR text, labels, and processing history.",
"deleting": "Deleting...",
"delete": "Delete Document"
}
}
},
"ignoredFiles": {
"title": "Ignored Files",
"subtitle": "View and manage files that were intentionally ignored during processing",
"filters": {
"searchPlaceholder": "Search by filename or path...",
"reason": "Reason",
"allReasons": "All Reasons",
"duplicateHash": "Duplicate Hash",
"tooLarge": "Too Large",
"unsupportedFormat": "Unsupported Format",
"excluded": "Excluded",
"permissionDenied": "Permission Denied",
"corrupted": "Corrupted",
"other": "Other"
},
"table": {
"filename": "Filename",
"path": "Path",
"reason": "Reason",
"size": "Size",
"ignoredAt": "Ignored At"
},
"empty": {
"title": "No Ignored Files",
"subtitle": "No files have been ignored. All processed files were successfully handled."
},
"noResults": {
"title": "No Results Found",
"subtitle": "No ignored files match your current filters. Try adjusting your search or filter criteria."
},
"pagination": {
"showing": "Showing {{start}}-{{end}} of {{total}} ignored files"
},
"errors": {
"loadFailed": "Failed to load ignored files",
"tryAgain": "Please try again later"
},
"reasons": {
"duplicate_hash": "Duplicate Hash - File already exists in the system",
"file_too_large": "File Too Large - Exceeds maximum size limit",
"unsupported_format": "Unsupported Format - File type not supported",
"excluded_by_pattern": "Excluded - File matches exclusion pattern",
"permission_denied": "Permission Denied - Cannot access file",
"file_corrupted": "File Corrupted - Cannot read or process file",
"unknown": "Unknown - Reason not specified"
}
},
"documentManagement": {
"title": "Document Management",
"retryAll": "Retry All Documents",
"retrying": "Retrying All...",
"retryFailedOnly": "Retry Failed Only",
"tabs": {
"failedDocuments": "Failed Documents{{showCount, select, true { ({{count}}) } other {}}",
"failedDocumentsTooltip": "View and manage documents that failed during processing (OCR, ingestion, validation, etc.)",
"cleanup": "Document Cleanup{{showCount, select, true { ({{count}}) } other {}}",
"cleanupTooltip": "Manage and clean up documents with quality issues - low OCR confidence or failed processing",
"duplicates": "Duplicate Files{{showCount, select, true { ({{count}}) } other {}}",
"duplicatesTooltip": "View and manage duplicate document groups - documents with identical content",
"ignoredFiles": "Ignored Files{{showCount, select, true { ({{count}}) } other {}}",
"ignoredFilesTooltip": "Manage files that have been ignored during sync operations"
},
"stats": {
"totalFailed": "Total Failed",
"failureCategories": "Failure Categories",
"noFailureData": "No failure data available"
},
"advancedRetry": {
"title": "Advanced Retry Options",
"button": "Advanced Retry",
"description": "Use advanced filtering and selection options to retry specific subsets of failed documents based on file type, failure reason, size, and more."
},
"filters": {
"title": "Filter Options",
"stage": "Filter by Stage",
"reason": "Filter by Reason",
"allStages": "All Stages",
"allReasons": "All Reasons",
"clearFilters": "Clear Filters",
"stages": {
"ocr": "OCR Processing",
"ingestion": "Document Ingestion",
"validation": "Validation",
"storage": "File Storage",
"processing": "Processing",
"sync": "Synchronization"
},
"reasons": {
"duplicateContent": "Duplicate Content",
"lowConfidence": "Low OCR Confidence",
"unsupportedFormat": "Unsupported Format",
"fileTooLarge": "File Too Large",
"fileCorrupted": "File Corrupted",
"ocrTimeout": "OCR Timeout",
"pdfParsingError": "PDF Parsing Error",
"other": "Other"
}
},
"alerts": {
"noFailedTitle": "Great news!",
"noFailedMessage": "No documents have failed OCR processing. All your documents are processing successfully.",
"overviewTitle": "Failed Documents Overview",
"overviewMessage": "These documents failed at various stages of processing: ingestion, validation, OCR, storage, etc. Use the filters above to narrow down by failure stage or specific reason. You can retry processing for recoverable failures."
},
"table": {
"document": "Document",
"failureType": "Failure Type",
"retryCount": "Retry Count",
"lastFailed": "Last Failed",
"actions": "Actions",
"attempts": "{{count}} attempts",
"unknown": "Unknown"
},
"actions": {
"retryOcr": "Retry OCR",
"viewDetails": "View Details",
"retryHistory": "Retry History",
"download": "Download Document"
},
"details": {
"errorDetails": "Error Details",
"failureReason": "Failure Reason",
"notSpecified": "Not specified",
"ocrResults": "OCR Results",
"confidencePercent": "{{percent}}% confidence",
"wordsFound": "{{count}} words found",
"errorMessage": "Error Message",
"noErrorMessage": "No error message available",
"lastAttempt": "Last Attempt",
"noPreviousAttempts": "No previous attempts",
"fileCreated": "File Created"
},
"retry": {
"queuedSuccess": "OCR retry queued for \"{{filename}}\". Estimated wait time: {{minutes}} minutes.",
"unknown": "Unknown",
"failed": "Failed to retry OCR",
"processingFailed": "Failed to retry OCR processing",
"bulkSuccess": "Successfully queued {{count}} documents for OCR retry. Estimated processing time: {{minutes}} minutes.",
"noDocuments": "No documents found to retry",
"bulkFailed": "Failed to retry documents. Please try again.",
"requeuedSuccess": "Successfully queued {{count}} failed documents for OCR retry. Check the queue stats for progress.",
"noFailedDocuments": "No failed documents found to retry",
"requeuedFailed": "Failed to retry all failed OCR documents",
"advancedSuccess": "Successfully queued {{queued}} of {{matched}} documents for retry. Estimated processing time: {{minutes}} minutes."
},
"cleanup": {
"previewFailed": "Failed to preview low confidence documents",
"noDocuments": "No documents to delete",
"deleteFailed": "Failed to delete low confidence documents",
"previewFailedDocs": "Failed to preview failed documents",
"deleteFailedDocs": "Failed to delete failed documents"
},
"ignoredFiles": {
"removedSuccess": "Files removed from ignored list",
"deleteFailed": "Failed to delete ignored files",
"fileRemovedSuccess": "File removed from ignored list",
"fileDeleteFailed": "Failed to delete ignored file"
},
"errors": {
"loadFailedDocuments": "Failed to load failed documents",
"sessionExpired": "Your session has expired. Please refresh the page and log in again.",
"permissionDenied": "You do not have permission to view failed documents.",
"noFailedDocumentsFound": "No failed documents found or they may have been processed.",
"networkError": "Network error. Please check your connection and try again.",
"serverError": "Server error. Please try again later.",
"loadDuplicates": "Failed to load duplicate documents",
"permissionDeniedDuplicates": "You do not have permission to view duplicate documents.",
"documentNotFound": "Document not found. It may have been deleted or processed already.",
"cannotRetry": "Document cannot be retried due to processing issues. Please check the document format.",
"permissionDeniedRetry": "You do not have permission to retry OCR processing.",
"serverErrorSupport": "Server error. Please try again later or contact support.",
"loadIgnoredFiles": "Failed to load ignored files",
"permissionDeniedIgnored": "You do not have permission to view ignored files."
}
},
"watchFolder": {
"title": "Watch Folder",
"refreshAll": "Refresh All",
"retryFailedJobs": "Retry {{count}} Failed Jobs",
"requeuing": "Requeuing...",
"personalWatchDirectory": "Personal Watch Directory",
"admin": "Admin",
"directoryStatus": "Directory Status",
"directoryExists": "Directory Exists",
"directoryMissing": "Directory Missing",
"watchStatus": "Watch Status",
"enabled": "Enabled",
"disabled": "Disabled",
"yourPersonalWatchDirectory": "Your Personal Watch Directory",
"directoryNotExist": "Your personal watch directory doesn't exist yet. Create it to start uploading files to your own dedicated folder.",
"creatingDirectory": "Creating Directory...",
"createPersonalDirectory": "Create Personal Directory",
"unableToLoad": "Unable to load personal watch directory information. Please try refreshing the page.",
"systemConfiguration": "System Configuration",
"globalWatchFolderConfiguration": "Global Watch Folder Configuration",
"adminOnly": "Admin Only",
"systemWideInfo": "This is the system-wide watch folder configuration. All users can view this information.",
"watchedDirectory": "Watched Directory",
"status": "Status",
"active": "Active",
"inactive": "Inactive",
"watchStrategy": "Watch Strategy",
"scanInterval": "Scan Interval",
"seconds": "{{count}} seconds",
"maxFileAge": "Max File Age",
"hours": "{{count}} hours",
"supportedFileTypes": "Supported File Types",
"processingQueue": "Processing Queue",
"pending": "Pending",
"processing": "Processing",
"failed": "Failed",
"completedToday": "Completed Today",
"averageWaitTime": "Average Wait Time",
"oldestPendingItem": "Oldest Pending Item",
"lastUpdated": "Last updated: {{time}}",
"howWatchFolderWorks": "How Watch Folder Works",
"watchFolderDescription": "The watch folder system automatically monitors the configured directory for new files and processes them for OCR.",
"processingPipeline": "Processing Pipeline:",
"pipelineSteps": {
"fileDetection": "File Detection: New files are detected using hybrid watching (inotify + polling)",
"validation": "Validation: Files are checked for supported format and size limits",
"deduplication": "Deduplication: System prevents processing of duplicate files",
"storage": "Storage: Files are moved to the document storage system",
"ocrQueue": "OCR Queue: Documents are queued for OCR processing with priority"
},
"hybridStrategyInfo": "The system uses a hybrid watching strategy that automatically detects filesystem type and chooses the optimal monitoring approach (inotify for local filesystems, polling for network mounts)."
},
"settings": {
"title": "Settings",
"apiDocumentation": "API Documentation",
"debug": "Debug",
"language": "Language",
"selectLanguage": "Select language",
"tabs": {
"general": "General",
"ocrSettings": "OCR Settings",
"userManagement": "User Management",
"serverConfiguration": "Server Configuration"
},
"general": {
"title": "General Settings",
"ocrConfiguration": {
"title": "OCR Configuration",
"description": "Configure languages for OCR text extraction. Multiple languages help with mixed-language documents.",
"autoDetectLanguageCombination": "Auto-detect language combinations",
"autoDetectLanguageCombinationHelper": "Automatically suggest optimal language combinations based on document content analysis",
"concurrentOcrJobs": "Concurrent OCR Jobs",
"concurrentOcrJobsHelper": "Number of OCR jobs that can run simultaneously",
"ocrTimeout": "OCR Timeout (seconds)",
"ocrTimeoutHelper": "Maximum time for OCR processing per file",
"cpuPriority": "CPU Priority",
"cpuPriorityLow": "Low",
"cpuPriorityNormal": "Normal",
"cpuPriorityHigh": "High"
},
"ocrControls": {
"title": "OCR Processing Controls (Admin Only)",
"description": "Control OCR processing to manage CPU usage and allow users to use the application without performance impact.",
"pauseOcr": "Pause OCR Processing",
"resumeOcr": "Resume OCR Processing",
"ocrStatusLabel": "OCR Status: {{status}}",
"ocrPausedMessage": "OCR processing is paused. No new jobs will be processed.",
"ocrActiveMessage": "OCR processing is active. Documents will be processed automatically.",
"pausedAlertTitle": "OCR Processing Paused",
"pausedAlertMessage": "New documents will not be processed for OCR text extraction until processing is resumed. Users can still upload and view documents, but search functionality may be limited."
},
"fileProcessing": {
"title": "File Processing",
"maxFileSize": "Max File Size (MB)",
"maxFileSizeHelper": "Maximum allowed file size for uploads",
"memoryLimit": "Memory Limit (MB)",
"memoryLimitHelper": "Memory limit per OCR job",
"autoRotateImages": "Auto-rotate Images",
"autoRotateImagesHelper": "Automatically detect and correct image orientation",
"enableImagePreprocessing": "Enable Image Preprocessing",
"enableImagePreprocessingHelper": "Enhance images for better OCR accuracy (deskew, denoise, contrast)",
"preprocessingWarning": "⚠️ Warning: Enabling preprocessing can significantly alter OCR text results and may reduce accuracy for some documents",
"enableBackgroundOcr": "Enable Background OCR",
"enableBackgroundOcrHelper": "Process OCR in the background after file upload"
},
"searchConfiguration": {
"title": "Search Configuration",
"resultsPerPage": "Results Per Page",
"snippetLength": "Snippet Length",
"snippetLengthHelper": "Characters to show in search result previews",
"fuzzySearchThreshold": "Fuzzy Search Threshold",
"fuzzySearchThresholdHelper": "Tolerance for spelling mistakes (0.0-1.0)"
},
"storageManagement": {
"title": "Storage Management",
"retentionDays": "Retention Days",
"retentionDaysHelper": "Auto-delete documents after X days (leave empty to disable)",
"enableAutoCleanup": "Enable Auto Cleanup",
"enableAutoCleanupHelper": "Automatically remove orphaned files and clean up storage",
"enableCompression": "Enable Compression",
"enableCompressionHelper": "Compress stored documents to save disk space"
}
},
"ocrSettings": {
"title": "OCR Image Processing Settings",
"enhancementControls": {
"title": "Enhancement Controls",
"skipEnhancement": "Skip All Image Enhancement (Use Original Images Only)",
"brightnessBoost": "Brightness Boost",
"brightnessBoostHelper": "Manual brightness adjustment (0 = auto, >0 = boost amount)",
"contrastMultiplier": "Contrast Multiplier",
"contrastMultiplierHelper": "Manual contrast adjustment (1.0 = auto, >1.0 = increase)",
"noiseReductionLevel": "Noise Reduction Level",
"noiseReductionNone": "None",
"noiseReductionLight": "Light",
"noiseReductionModerate": "Moderate",
"noiseReductionHeavy": "Heavy",
"sharpeningStrength": "Sharpening Strength",
"sharpeningStrengthHelper": "Image sharpening amount (0 = auto, >0 = manual)"
},
"qualityThresholds": {
"title": "Quality Thresholds (when to apply enhancements)",
"brightnessThreshold": "Brightness Threshold",
"brightnessThresholdHelper": "Enhance if brightness below this value (0-255)",
"contrastThreshold": "Contrast Threshold",
"contrastThresholdHelper": "Enhance if contrast below this value (0-1)",
"noiseThreshold": "Noise Threshold",
"noiseThresholdHelper": "Enhance if noise above this value (0-1)",
"sharpnessThreshold": "Sharpness Threshold",
"sharpnessThresholdHelper": "Enhance if sharpness below this value (0-1)"
},
"advancedProcessing": {
"title": "Advanced Processing Options",
"morphologicalOperations": "Morphological Operations (text cleanup)",
"histogramEqualization": "Histogram Equalization",
"saveProcessedImages": "Save Processed Images for Review",
"adaptiveThresholdWindowSize": "Adaptive Threshold Window Size",
"adaptiveThresholdWindowSizeHelper": "Window size for contrast enhancement (odd number)"
},
"imageSizeScaling": {
"title": "Image Size and Scaling",
"maxImageWidth": "Max Image Width",
"maxImageWidthHelper": "Maximum image width in pixels",
"maxImageHeight": "Max Image Height",
"maxImageHeightHelper": "Maximum image height in pixels",
"upscaleFactor": "Upscale Factor",
"upscaleFactorHelper": "Image scaling factor (1.0 = no scaling)"
}
},
"userManagement": {
"title": "User Management",
"addUser": "Add User",
"tableHeaders": {
"username": "Username",
"email": "Email",
"createdAt": "Created At",
"watchDirectory": "Watch Directory",
"actions": "Actions"
},
"watchDirectory": {
"statusActive": "Active",
"statusDisabled": "Disabled",
"statusNotCreated": "Not Created",
"statusUnknown": "Unknown",
"loading": "Loading...",
"createDirectory": "Create watch directory",
"viewDirectory": "View watch directory",
"removeDirectory": "Remove watch directory (Admin only)",
"editUser": "Edit user",
"deleteUser": "Delete user"
},
"dialogs": {
"createUser": "Create New User",
"editUser": "Edit User",
"username": "Username",
"email": "Email",
"password": "Password",
"newPassword": "New Password (leave empty to keep current)"
},
"confirmRemoveDirectory": {
"title": "Remove Watch Directory",
"message": "Are you sure you want to remove the watch directory for user \"{{username}}\"? This action cannot be undone and will stop monitoring their directory for new files.",
"removeButton": "Remove Directory"
}
},
"serverConfiguration": {
"title": "Server Configuration (Admin Only)",
"fileUpload": {
"title": "File Upload Configuration",
"maxFileSize": "Max File Size",
"uploadPath": "Upload Path",
"allowedFileTypes": "Allowed File Types",
"watchFolder": "Watch Folder"
},
"ocrProcessing": {
"title": "OCR Processing Configuration",
"concurrentOcrJobs": "Concurrent OCR Jobs",
"ocrTimeout": "OCR Timeout",
"memoryLimit": "Memory Limit",
"ocrLanguage": "OCR Language",
"cpuPriority": "CPU Priority",
"backgroundOcr": "Background OCR",
"enabled": "Enabled",
"disabled": "Disabled"
},
"serverInformation": {
"title": "Server Information",
"serverHost": "Server Host",
"serverPort": "Server Port",
"jwtSecret": "JWT Secret",
"configured": "Configured",
"notSet": "Not Set",
"version": "Version",
"buildInformation": "Build Information"
},
"watchFolderConfiguration": {
"title": "Watch Folder Configuration",
"watchInterval": "Watch Interval",
"fileStabilityCheck": "File Stability Check",
"maxFileAge": "Max File Age"
},
"refreshConfiguration": "Refresh Configuration",
"loadFailed": "Failed to load server configuration. Admin access may be required."
},
"messages": {
"settingsUpdated": "Settings updated successfully",
"settingsUpdateFailed": "Failed to update settings",
"invalidLanguage": "Invalid language selected. Please choose from available languages.",
"valueOutOfRange": "{{message}}. {{suggestedAction}}",
"conflictingSettings": "Conflicting settings detected. Please review your configuration.",
"userCreated": "User created successfully",
"userUpdated": "User updated successfully",
"userDeleted": "User deleted successfully",
"cannotDeleteSelf": "You cannot delete your own account",
"confirmDeleteUser": "Are you sure you want to delete this user?",
"duplicateUsername": "This username is already taken. Please choose a different username.",
"duplicateEmail": "This email address is already in use. Please use a different email.",
"invalidPassword": "Password must be at least 8 characters with uppercase, lowercase, and numbers.",
"invalidEmail": "Please enter a valid email address.",
"invalidUsername": "Username contains invalid characters. Please use only letters, numbers, and underscores.",
"permissionDenied": "You do not have permission to perform this action.",
"cannotDeleteUser": "Cannot delete this user: They may have associated data or be the last admin.",
"userNotFound": "User not found. They may have already been deleted.",
"watchDirectoryCreated": "Watch directory created successfully",
"watchDirectoryCreatedFailed": "Failed to create watch directory",
"watchDirectoryAlreadyExists": "Watch directory already exists for this user",
"watchDirectoryPath": "Watch directory: {{path}}",
"watchDirectoryRemoved": "Watch directory removed successfully",
"watchDirectoryRemoveFailed": "Failed to remove watch directory",
"watchDirectoryNotFound": "Watch directory not found or already removed",
"ocrPaused": "OCR processing paused successfully",
"ocrPauseFailed": "Admin access required to pause OCR processing",
"ocrPauseFailedGeneric": "Failed to pause OCR processing",
"ocrResumed": "OCR processing resumed successfully",
"ocrResumeFailed": "Admin access required to resume OCR processing",
"ocrResumeFailedGeneric": "Failed to resume OCR processing",
"serverConfigLoadFailed": "Admin access required to view server configuration",
"serverConfigLoadFailedGeneric": "Failed to load server configuration"
}
},
"labels": {
"title": "Label Management",
"loading": "Loading labels...",
"search": {
"placeholder": "Search labels..."
},
"filters": {
"systemLabels": "System Labels"
},
"sections": {
"systemLabels": "System Labels",
"myLabels": "My Labels"
},
"badge": {
"system": "System"
},
"stats": {
"documents": "Documents: {{count}}",
"sources": "Sources: {{count}}"
},
"actions": {
"createLabel": "Create Label",
"editLabel": "Edit label",
"deleteLabel": "Delete label"
},
"create": {
"title": "Create New Label",
"editTitle": "Edit Label",
"nameLabel": "Label Name",
"nameRequired": "Name is required",
"descriptionLabel": "Description (optional)",
"colorLabel": "Color",
"customColorLabel": "Custom Color (hex)",
"iconLabel": "Icon (optional)",
"iconNone": "None",
"previewLabel": "Preview",
"cancel": "Cancel",
"create": "Create",
"update": "Update",
"saving": "Saving..."
},
"selector": {
"placeholder": "Search or create labels...",
"systemLabels": "System Labels",
"myLabels": "My Labels",
"createLabel": "Create label \"{{name}}\"",
"noLabelsFound": "No labels found",
"noLabelsMatch": "No labels match \"{{query}}\"",
"noLabelsAvailable": "No labels available"
},
"empty": {
"title": "No labels found",
"noMatch": "No labels match \"{{query}}\"",
"noLabels": "You haven't created any labels yet",
"createFirst": "Create Your First Label"
},
"dialogs": {
"delete": {
"title": "Delete Label",
"message": "Are you sure you want to delete the label \"{{name}}\"?",
"inUseWarning": " This label is currently used by {{count}} document(s)."
}
},
"errors": {
"sessionExpired": "Your session has expired. Please log in again.",
"permissionDenied": "You do not have permission to view labels.",
"serverError": "Server error. Please try again later.",
"networkError": "Network error. Please check your connection and try again.",
"loadFailed": "Failed to load labels. Please check your connection.",
"notFound": "Label not found. It may have been deleted by another user.",
"duplicateName": "A label with this name already exists. Please choose a different name.",
"systemModification": "System labels cannot be modified. Only user-created labels can be edited.",
"alreadyDeleted": "Label not found. It may have already been deleted.",
"inUse": "Cannot delete label because it is currently assigned to documents. Please remove the label from all documents first.",
"systemDelete": "System labels cannot be deleted. Only user-created labels can be removed.",
"invalidName": "Label name contains invalid characters. Please use only letters, numbers, and basic punctuation.",
"invalidColor": "Invalid color format. Please use a valid hex color like #0969da.",
"maxLabelsReached": "Maximum number of labels reached. Please delete some labels before creating new ones."
}
},
"notifications": {
"title": "Notifications",
"markAllAsRead": "Mark all as read",
"clearAll": "Clear all",
"noNotifications": "No notifications"
},
"ocr": {
"languageSelector": {
"label": "OCR Language",
"loading": "Loading languages...",
"error": "Failed to load OCR languages",
"retry": "Retry",
"fallback": "English (Fallback)",
"current": "Current",
"languagesAvailable": "{{count}} language{{plural}} available",
"selectingWillUpdate": "Selecting \"{{language}}\" will update your default language"
}
},
"register": {
"title": "Create your Readur account",
"fields": {
"username": "Username",
"email": "Email",
"password": "Password"
},
"placeholders": {
"username": "Username",
"email": "Email",
"password": "Password"
},
"actions": {
"signup": "Sign up",
"creating": "Creating account..."
},
"links": {
"signin": "Already have an account? Sign in"
},
"errors": {
"failed": "Failed to register"
}
},
"debug": {
"title": "Document Processing Debug",
"subtitle": "Upload documents or analyze existing ones to troubleshoot OCR processing issues",
"errors": {
"enterDocumentId": "Please enter a document ID",
"documentNotFound": "Document {{documentId}} not found. It may still be processing or may have been moved to failed documents.",
"fetchFailed": "Failed to fetch debug information: {{message}}",
"debugError": "Debug Error"
},
"upload": {
"title": "Upload Document for Debug Analysis",
"description": "Upload a PDF or image file to analyze the processing pipeline in real-time",
"selectFile": "Please select a file to upload",
"uploading": "Uploading file...",
"uploadedStartingOcr": "Document uploaded successfully. Starting OCR processing...",
"uploadFailed": "Failed to upload document",
"uploadFailedStatus": "Upload failed",
"selectFileButton": "Select File",
"uploadDebugButton": "Upload & Debug",
"uploadingButton": "Uploading...",
"uploadProgress": "Upload Progress: {{percent}}%",
"selected": "Selected:",
"documentId": "Document ID:"
},
"monitoring": {
"processingComplete": "Processing {{status}}!",
"ocrInProgress": "OCR processing in progress...",
"queuedForOcr": "Document queued for OCR processing...",
"checkingStatus": "Checking processing status...",
"monitoringTimeout": "Monitoring stopped (timeout)"
},
"search": {
"title": "Debug Existing Document",
"description": "Enter a document ID to analyze the processing pipeline for an existing document",
"documentIdLabel": "Document ID",
"documentIdPlaceholder": "e.g., 123e4567-e89b-12d3-a456-426614174000",
"debugButton": "Debug"
},
"tabs": {
"uploadAndDebug": "Upload & Debug",
"searchExisting": "Search Existing",
"debugResults": "Debug Results"
},
"actions": {
"debugAnalysis": "Debug Analysis",
"showDebugDetails": "Show Debug Details",
"refreshStatus": "Refresh Status",
"viewDocument": "View Document"
},
"document": {
"title": "Document: {{filename}}",
"status": "Status: {{status}}",
"debugRunAt": "Debug run at: {{timestamp}}"
},
"pipeline": {
"title": "Processing Pipeline"
},
"steps": {
"fileInformation": {
"title": "File Information",
"filename": "Filename:",
"original": "Original:",
"size": "Size:",
"mimeType": "MIME Type:",
"fileExists": "File Exists:",
"yes": "Yes",
"no": "No"
},
"fileMetadata": {
"title": "File Metadata",
"actualSize": "Actual Size:",
"isFile": "Is File:",
"modified": "Modified:",
"created": "Created:",
"unknown": "Unknown",
"notAvailable": "File metadata not available"
},
"fileAnalysis": {
"title": "Detailed File Analysis",
"basicAnalysis": "Basic Analysis",
"fileType": "File Type:",
"size": "Size:",
"readable": "Readable:",
"fileError": "File Error:",
"pdfAnalysis": "PDF Analysis",
"validPdf": "Valid PDF:",
"pdfVersion": "PDF Version:",
"pages": "Pages:",
"hasText": "Has Text:",
"hasImages": "Has Images:",
"encrypted": "Encrypted:",
"fontCount": "Font Count:",
"textLength": "Text Length:",
"chars": "chars",
"pdfTextExtractionError": "PDF Text Extraction Error:",
"textPreview": "Text Preview",
"fileContent": "File Content",
"noPreview": "No preview available for this file type"
},
"queueStatus": {
"title": "Queue Status",
"userOcrEnabled": "User OCR Enabled:",
"queueEntries": "Queue Entries:",
"queueHistory": "Queue History",
"status": "Status",
"priority": "Priority",
"created": "Created",
"started": "Started",
"completed": "Completed",
"attempts": "Attempts",
"worker": "Worker"
},
"ocrResults": {
"title": "OCR Results",
"textLength": "Text Length:",
"characters": "characters",
"confidence": "Confidence:",
"wordCount": "Word Count:",
"processingTime": "Processing Time:",
"completedAt": "Completed:",
"notCompleted": "Not completed",
"processingDetails": "Processing Details",
"hasProcessedImage": "Has Processed Image:",
"imageSize": "Image Size:",
"fileSize": "File Size:",
"processingSteps": "Processing Steps:",
"none": "None",
"processingParameters": "Processing Parameters:"
},
"qualityValidation": {
"title": "Quality Thresholds",
"minConfidence": "Min Confidence:",
"brightness": "Brightness:",
"contrast": "Contrast:",
"noise": "Noise:",
"sharpness": "Sharpness:",
"actualValues": "Actual Values",
"confidence": "Confidence:",
"wordCount": "Word Count:",
"processedImageAvailable": "Processed Image Available:",
"qualityChecks": "Quality Checks"
}
},
"failedDocument": {
"title": "Failed Document Information",
"failureDetails": "Failure Details",
"failureReason": "Failure Reason:",
"failureStage": "Failure Stage:",
"retryCount": "Retry Count:",
"created": "Created:",
"lastRetry": "Last Retry:",
"failedOcrResults": "Failed OCR Results",
"ocrTextLength": "OCR Text Length:",
"ocrConfidence": "OCR Confidence:",
"wordCount": "Word Count:",
"processingTime": "Processing Time:",
"noOcrResults": "No OCR results available",
"errorMessage": "Error Message:",
"contentPreview": "Content Preview"
},
"processingLogs": {
"title": "Detailed Processing Logs",
"description": "Complete history of all OCR processing attempts for this document",
"attempt": "Attempt",
"status": "Status",
"priority": "Priority",
"created": "Created",
"started": "Started",
"completed": "Completed",
"duration": "Duration",
"waitTime": "Wait Time",
"attempts": "Attempts",
"worker": "Worker",
"error": "Error"
},
"fileAnalysisSummary": {
"title": "File Analysis Summary",
"fileProperties": "File Properties",
"fileType": "File Type:",
"size": "Size:",
"readable": "Readable:",
"pdfProperties": "PDF Properties",
"validPdf": "Valid PDF:",
"hasTextContent": "Has Text Content:",
"textLength": "Text Length:",
"pageCount": "Page Count:",
"encrypted": "Encrypted:",
"pdfTextExtractionIssue": "PDF Text Extraction Issue:"
},
"processedImages": {
"title": "Processed Images",
"originalDocument": "Original Document",
"processedImage": "Processed Image (OCR Input)",
"notAvailable": "Processed image not available"
},
"userSettings": {
"title": "User Settings",
"ocrSettings": "OCR Settings",
"backgroundOcr": "Background OCR:",
"enabled": "Enabled",
"disabled": "Disabled",
"minConfidence": "Min Confidence:",
"maxFileSize": "Max File Size:",
"qualityThresholds": "Quality Thresholds",
"brightness": "Brightness:",
"contrast": "Contrast:",
"noise": "Noise:",
"sharpness": "Sharpness:"
},
"preview": "Preview"
},
"sources": {
"title": "Document Sources",
"subtitle": "Connect and manage your document sources with intelligent syncing",
"empty": {
"title": "No Sources Configured",
"subtitle": "Connect your first document source to start automatically syncing and processing your files with AI-powered OCR.",
"addFirst": "Add Your First Source"
},
"actions": {
"addSource": "Add Source",
"editSource": "Edit Source",
"deleteSource": "Delete Source",
"testConnection": "Test Connection",
"testing": "Testing...",
"saveSource": "Save Source",
"createSource": "Create Source",
"updateSource": "Update Source",
"triggerSync": "Trigger Sync",
"stopSync": "Stop Sync",
"viewIgnoredFiles": "View Ignored Files",
"runValidation": "Run Validation Check",
"quickSync": "Quick Sync",
"deepScan": "Deep Scan"
},
"status": {
"autoRefreshing": "Auto-refreshing...",
"disabled": "Disabled",
"syncing": "Syncing",
"error": "Error",
"idle": "Idle"
},
"ocr": {
"pause": "Pause OCR",
"resume": "Resume OCR",
"pausedSuccess": "OCR processing paused successfully",
"pauseFailed": "Failed to pause OCR processing",
"resumedSuccess": "OCR processing resumed successfully",
"resumeFailed": "Failed to resume OCR processing"
},
"stats": {
"documentsStored": "Documents Stored",
"documentsStoredTooltip": "Total number of documents currently stored from this source",
"ocrProcessed": "OCR Processed",
"ocrProcessedTooltip": "Number of documents that have been successfully OCR'd",
"ocrCount": "{{count}} OCR'd",
"lastSync": "Last Sync",
"lastSyncTooltip": "When this source was last synchronized",
"never": "Never",
"filesPending": "Files Pending",
"filesPendingTooltip": "Files discovered but not yet processed during sync",
"totalSize": "Total Size",
"totalSizeTooltip": "Total size of files successfully downloaded from this source"
},
"types": {
"webdav": {
"name": "WebDAV",
"description": "Nextcloud, ownCloud, and other WebDAV servers"
},
"localFolder": {
"name": "Local Folder",
"description": "Monitor local filesystem directories"
},
"s3": {
"name": "S3 Compatible",
"description": "AWS S3, MinIO, and other S3-compatible storage"
}
},
"form": {
"sourceName": "Source Name",
"sourceType": "Source Type",
"sourceEnabled": "Source Enabled",
"sourceEnabledHelper": "Enable this source for syncing",
"sourceNamePlaceholder": "My Document Server"
},
"webdav": {
"title": "WebDAV Configuration",
"serverUrl": "Server URL",
"username": "Username",
"password": "Password",
"serverType": "Server Type",
"serverTypes": {
"nextcloud": "Nextcloud",
"nextcloudDesc": "Optimized for Nextcloud servers",
"owncloud": "ownCloud",
"owncloudDesc": "Optimized for ownCloud servers",
"generic": "Generic WebDAV",
"genericDesc": "Any standard WebDAV server"
}
},
"localFolder": {
"title": "Local Folder Configuration",
"description": "Monitor local filesystem directories for new documents. Ensure the application has read access to the specified paths.",
"recursive": "Recursive Scanning",
"recursiveDesc": "Scan subdirectories recursively",
"followSymlinks": "Follow Symbolic Links",
"followSymlinksDesc": "Follow symlinks when scanning directories"
},
"s3": {
"title": "S3 Compatible Storage Configuration",
"description": "Connect to AWS S3, MinIO, or any S3-compatible storage service. For MinIO, provide the endpoint URL of your server.",
"bucketName": "Bucket Name",
"region": "Region",
"accessKeyId": "Access Key ID",
"secretAccessKey": "Secret Access Key",
"endpointUrl": "Endpoint URL (Optional)",
"endpointUrlHelper": "Leave empty for AWS S3, or provide custom endpoint for MinIO/other S3-compatible storage",
"objectPrefix": "Object Key Prefix (Optional)",
"objectPrefixHelper": "Optional prefix to limit scanning to specific object keys"
},
"common": {
"folders": "Folders to Monitor",
"foldersDesc": "Specify the folders within your source to monitor for new documents",
"addFolder": "Add Folder Path",
"extensions": "File Extensions",
"extensionsDesc": "File types to sync and process with OCR.",
"addExtension": "Add Extension"
},
"advanced": {
"title": "Advanced Settings",
"description": "Configure automatic sync and advanced options",
"enableAutoSync": "Enable Automatic Sync",
"autoSyncDesc": "Automatically sync files on a schedule",
"autoSyncDescLocal": "Automatically scan for new files on a schedule",
"autoSyncDescS3": "Automatically check for new objects on a schedule",
"syncInterval": "Sync Interval (minutes)",
"syncIntervalHelper": "How often to check for new files (15 min - 24 hours)",
"syncIntervalHelperLocal": "How often to scan for new files (15 min - 24 hours)",
"syncIntervalHelperS3": "How often to check for new objects (15 min - 24 hours)"
},
"estimation": {
"title": "Crawl Estimation",
"description": "Estimate how many files will be processed and how long it will take.",
"estimate": "Estimate Crawl",
"estimating": "Estimating...",
"analyzing": "Analyzing folders and counting files...",
"results": "Estimation Results",
"files": "Estimated Files",
"time": "Estimated Time",
"size": "Estimated Size"
},
"dialog": {
"editTitle": "Edit Source",
"createTitle": "Create New Source",
"editSubtitle": "Update your source configuration",
"createSubtitle": "Connect a new document source"
},
"sync": {
"quickSyncDesc": "Fast incremental sync using ETags. Only processes new or changed files.",
"deepScanDesc": "Complete rescan that resets ETag expectations. Use for troubleshooting sync issues."
},
"validation": {
"healthy": "Healthy",
"warning": "Warning",
"critical": "Critical",
"validating": "Validating",
"unknown": "Unknown",
"statusUnknown": "Validation status unknown",
"inProgress": "Validation check in progress",
"healthScore": "Health score: {{score}}",
"healthScoreIssues": "Health score: {{score}} - Issues detected",
"healthScoreCritical": "Health score: {{score}} - Critical issues"
},
"delete": {
"title": "Delete Source",
"message": "Are you sure you want to delete this source?",
"warning": "This action cannot be undone. All sync history and settings will be lost.",
"deleting": "Deleting..."
},
"messages": {
"createSuccess": "Source created successfully",
"updateSuccess": "Source updated successfully",
"deleteSuccess": "Source deleted successfully",
"syncStartSuccess": "Quick sync started successfully",
"deepScanSuccess": "Deep scan started successfully",
"syncStopSuccess": "Sync stopped successfully",
"connectionSuccess": "Connection successful!",
"estimationSuccess": "Crawl estimation completed"
},
"errors": {
"loadFailed": "Failed to load sources",
"saveFailed": "Failed to save source",
"deleteFailed": "Failed to delete source",
"testConnectionFailed": "Failed to test connection",
"syncStartFailed": "Failed to start sync",
"syncStopFailed": "Failed to stop sync",
"deepScanFailed": "Failed to start deep scan",
"estimateFailed": "Failed to estimate crawl",
"connectionFailed": "Connection failed",
"duplicateName": "A source with this name already exists. Please choose a different name.",
"invalidConfig": "Source configuration is invalid. Please check your settings and try again.",
"authFailed": "Authentication failed. Please verify your credentials.",
"connectionError": "Cannot connect to the source. Please check your network and server settings.",
"invalidPath": "Invalid path specified. Please check your folder paths and try again.",
"notFound": "Source not found. It may have already been deleted.",
"syncInProgress": "Cannot delete source while sync is in progress. Please stop the sync first.",
"alreadySyncing": "Source is already syncing. Please wait for the current sync to complete.",
"cannotConnect": "Cannot connect to source. Please check your connection and try again.",
"authFailedSource": "Authentication failed. Please verify your source credentials.",
"sourceDeleted": "Source not found. It may have been deleted.",
"connectionFailedUrl": "Connection failed. Please check your server URL and network connectivity.",
"authFailedCredentials": "Authentication failed. Please verify your username and password.",
"invalidFolderPath": "Invalid path specified. Please check your folder paths.",
"invalidSettings": "Configuration is invalid. Please review your settings.",
"timeout": "Connection timed out. Please check your network and try again.",
"deepScanWebdavOnly": "Deep scan is only supported for WebDAV sources",
"notSyncing": "Source is not currently syncing"
},
"labels": {
"recommended": "Recommended",
"notAvailable": "Not Available"
}
}
}