From ab97c3a7f2520970a0b75a10b789ef713c5b8ed0 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:39 +0100 Subject: [PATCH 01/56] New translations en.json (Romanian) --- frontend/translations/ro.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/ro.json b/frontend/translations/ro.json index 0002e382..d36160ed 100644 --- a/frontend/translations/ro.json +++ b/frontend/translations/ro.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Limba a fost schimbată în {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Română", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From f65f1840d59f78b02ac8cb0e4d06a5a99d6a22cc Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:40 +0100 Subject: [PATCH 02/56] New translations en.json (French) --- frontend/translations/fr.json | 296 +++++++++++++++++----------------- 1 file changed, 148 insertions(+), 148 deletions(-) diff --git a/frontend/translations/fr.json b/frontend/translations/fr.json index bf19fc9f..d36160ed 100644 --- a/frontend/translations/fr.json +++ b/frontend/translations/fr.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Se connecter", + "auth.login": "Log In", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Se déconnecter", - "auth.my_account": "Mon compte", + "auth.logout": "Log Out", + "auth.my_account": "My Account", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "Profil", + "auth.profile": "Profile", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "S'inscrire", + "auth.signup": "Sign Up", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -185,68 +185,68 @@ "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", "common.actions": "Actions", - "common.active": "Actif", - "common.all": "Tout", - "common.back": "Retour", - "common.cancel": "Annuler", - "common.close": "Fermer", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", "common.col_pending": "Pending", - "common.completed": "Terminé", - "common.confirm": "Confirmer", - "common.copied": "Copié !", - "common.copy": "Copier", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", "common.create": "Create", - "common.created": "Créé", + "common.created": "Created", "common.date": "Date", - "common.delete": "Supprimer", + "common.delete": "Delete", "common.description": "Description", - "common.details": "Détails", - "common.disabled": "Désactivé", - "common.download": "Télécharger", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", "common.duplicate": "Duplicate", - "common.edit": "Modifier", - "common.enabled": "Activé", - "common.error": "Erreur", - "common.failed": "Échoué", - "common.filter": "Filtrer", - "common.inactive": "Inactif", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", "common.info": "Info", - "common.loading": "Chargement...", - "common.name": "Nom", - "common.next": "Suivant", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", "common.next_page": "Next page", - "common.no": "Non", - "common.none": "Aucun", + "common.no": "No", + "common.none": "None", "common.page": "Page", - "common.pending": "En attente", + "common.pending": "Pending", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "En cours de traitement", - "common.refresh": "Actualiser", - "common.reset": "Réinitialiser", - "common.retry": "Réessayer", - "common.save": "Enregistrer", - "common.search": "Rechercher", - "common.select": "Sélectionner", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", "common.select_placeholder": "— select —", - "common.size": "Taille", - "common.status": "Statut", + "common.size": "Size", + "common.status": "Status", "common.submit": "Submit", - "common.success": "Succès", + "common.success": "Success", "common.tags": "Tags", "common.type": "Type", - "common.updated": "Mis à jour", - "common.upload": "Téléverser", - "common.view": "Voir", - "common.warning": "Avertissement", - "common.yes": "Oui", - "cookie.accept": "Compris", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate utilise uniquement des cookies de session essentiels nécessaires à l'authentification et au fonctionnement du service. Aucun cookie de suivi ou d'analyse n'est utilisé.", - "cookie.notice_label": "Avis relatif aux cookies", - "cookie.policy_link": "Politique de cookies", - "cookie.privacy_link": "Avis de confidentialité", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Intégrations actives", - "dashboard.files_this_month": "Fichiers ce mois-ci", - "dashboard.files_today": "Fichiers aujourd'hui", - "dashboard.ocr_processed": "OCR traités", - "dashboard.quick_actions": "Actions rapides", - "dashboard.recent_activity": "Activité récente", - "dashboard.storage_targets": "Destinations de stockage", - "dashboard.title": "Tableau de bord", - "dashboard.total_files": "Total des fichiers", - "dashboard.welcome": "Bienvenue sur DocuElevate", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Interdit", - "error.forbidden_message": "Vous n'avez pas la permission d'accéder à cette page.", - "error.not_found": "Page non trouvée", - "error.not_found_message": "La page que vous recherchez n'existe pas.", - "error.server_error": "Erreur interne du serveur", - "error.server_error_message": "Quelque chose s'est mal passé. Veuillez réessayer plus tard.", - "error.unauthorized": "Non autorisé", - "error.unauthorized_message": "Vous devez vous connecter pour accéder à cette page.", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Titre du document", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "Taille du fichier", - "files.filename": "Nom du fichier", + "files.file_size": "File Size", + "files.filename": "Filename", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "Aucun fichier trouvé", - "files.ocr_status": "Statut OCR", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -399,22 +399,22 @@ "files.table_mime_type": "MIME Type", "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", - "files.tags": "Étiquettes", - "files.title": "Fichiers", + "files.tags": "Tags", + "files.title": "Files", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Téléversé", + "files.uploaded": "Uploaded", "footer.about": "About", "footer.attribution": "Attribution", "footer.attributions": "Attributions", "footer.cookies": "Cookies", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Mentions légales", - "footer.license": "Licence", - "footer.navigation": "Navigation du pied de page", - "footer.privacy": "Confidentialité", - "footer.terms": "Conditions", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", "footer.version": "Version {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", @@ -436,7 +436,7 @@ "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", "help.documentation": "Documentation", - "help.faq": "Questions fréquentes", + "help.faq": "Frequently Asked Questions", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Premiers pas", + "help.getting_started": "Getting Started", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -475,7 +475,7 @@ "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Centre d'aide", + "help.title": "Help Center", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "Configurer", - "integrations.connect": "Connecter", - "integrations.connected": "Connecté", - "integrations.disconnect": "Déconnecter", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "Non connecté", + "integrations.not_connected": "Not Connected", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Intégrations", + "integrations.title": "Integrations", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Langue changée en {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Langue", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "À propos", + "nav.about": "About", "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "Actions admin", - "nav.admin_menu": "Menu admin", - "nav.api_docs": "Documentation API", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Sauvegarde et restauration", - "nav.credentials": "Identifiants", - "nav.dark_mode": "Mode sombre", - "nav.dashboard": "Tableau de bord", - "nav.developer_docs": "Documentation développeur", - "nav.duplicates": "Doublons", - "nav.file_manager": "Gestionnaire de fichiers", - "nav.files": "Fichiers", - "nav.help": "Aide", - "nav.help_center": "Centre d'aide", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", "nav.imap": "Email Import", - "nav.integrations": "Intégrations", - "nav.light_mode": "Mode clair", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "Navigation principale", + "nav.main_navigation": "Main navigation", "nav.notifications": "Notifications", - "nav.open_main_menu": "Ouvrir le menu principal", + "nav.open_main_menu": "Open main menu", "nav.pipelines": "Pipelines", - "nav.plan_designer": "Concepteur de plans", - "nav.pricing": "Tarifs", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "File d'attente", - "nav.scheduled_jobs": "Tâches planifiées", - "nav.search": "Recherche", - "nav.settings": "Paramètres", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "Similarité", - "nav.skip_to_content": "Aller au contenu principal", - "nav.status": "Statut", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Basculer le mode sombre", - "nav.toggle_nav": "Basculer le menu de navigation", - "nav.upload": "Téléverser", - "nav.users": "Utilisateurs", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Tout marquer comme lu", + "notifications.mark_all_read": "Mark All as Read", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Marquer comme lu", - "notifications.no_notifications": "Aucune notification", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", "notifications.title": "Notifications", - "notifications.unread_count": "{count} notifications non lues", + "notifications.unread_count": "{count} unread notifications", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Créer un pipeline", + "pipelines.create": "Create Pipeline", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Modifier le pipeline", + "pipelines.edit": "Edit Pipeline", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Pipelines de traitement", + "pipelines.title": "Processing Pipelines", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "Aucun résultat trouvé", + "search.no_results": "No results found", "search.page_title": "Search Documents", - "search.placeholder": "Rechercher par nom, contenu, étiquettes...", + "search.placeholder": "Search by filename, content, tags...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "{count} résultats trouvés", + "search.results_count": "{count} results found", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "Rechercher des documents", + "search.title": "Search Documents", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Êtes-vous sûr de vouloir réinitialiser ce paramètre ?", + "settings.reset_confirm": "Are you sure you want to reset this setting?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Échec de l'enregistrement du paramètre", + "settings.save_error": "Failed to save setting", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Paramètre enregistré avec succès", + "settings.save_success": "Setting saved successfully", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Paramètres", + "settings.title": "Settings", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Glissez-déposez vos fichiers ici ou cliquez pour parcourir", + "upload.drag_drop": "Drag & drop files here or click to browse", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Échec du téléversement", + "upload.error": "Upload failed", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Taille maximale du fichier : {size}", + "upload.max_size": "Maximum file size: {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "Sélectionner un fichier", - "upload.success": "Fichier téléversé avec succès", - "upload.title": "Téléverser un document", - "upload.uploading": "Téléversement en cours...", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf" From 652c1d630b43375115619c1a73fa877c8ba08f63 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:41 +0100 Subject: [PATCH 03/56] New translations en.json (Spanish) --- frontend/translations/es.json | 314 +++++++++++++++++----------------- 1 file changed, 157 insertions(+), 157 deletions(-) diff --git a/frontend/translations/es.json b/frontend/translations/es.json index bba56174..d36160ed 100644 --- a/frontend/translations/es.json +++ b/frontend/translations/es.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Iniciar sesión", + "auth.login": "Log In", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Cerrar sesión", - "auth.my_account": "Mi cuenta", + "auth.logout": "Log Out", + "auth.my_account": "My Account", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "Perfil", + "auth.profile": "Profile", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Registrarse", + "auth.signup": "Sign Up", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "Acciones", - "common.active": "Activo", - "common.all": "Todo", - "common.back": "Atrás", - "common.cancel": "Cancelar", - "common.close": "Cerrar", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", "common.col_pending": "Pending", - "common.completed": "Completado", - "common.confirm": "Confirmar", - "common.copied": "¡Copiado!", - "common.copy": "Copiar", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", "common.create": "Create", - "common.created": "Creado", - "common.date": "Fecha", - "common.delete": "Eliminar", - "common.description": "Descripción", - "common.details": "Detalles", - "common.disabled": "Deshabilitado", - "common.download": "Descargar", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", "common.duplicate": "Duplicate", - "common.edit": "Editar", - "common.enabled": "Habilitado", + "common.edit": "Edit", + "common.enabled": "Enabled", "common.error": "Error", - "common.failed": "Fallido", - "common.filter": "Filtrar", - "common.inactive": "Inactivo", - "common.info": "Información", - "common.loading": "Cargando...", - "common.name": "Nombre", - "common.next": "Siguiente", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", "common.next_page": "Next page", "common.no": "No", - "common.none": "Ninguno", + "common.none": "None", "common.page": "Page", - "common.pending": "Pendiente", + "common.pending": "Pending", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "Procesando", - "common.refresh": "Actualizar", - "common.reset": "Restablecer", - "common.retry": "Reintentar", - "common.save": "Guardar", - "common.search": "Buscar", - "common.select": "Seleccionar", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", "common.select_placeholder": "— select —", - "common.size": "Tamaño", - "common.status": "Estado", + "common.size": "Size", + "common.status": "Status", "common.submit": "Submit", - "common.success": "Éxito", + "common.success": "Success", "common.tags": "Tags", - "common.type": "Tipo", - "common.updated": "Actualizado", - "common.upload": "Subir", - "common.view": "Ver", - "common.warning": "Advertencia", - "common.yes": "Sí", - "cookie.accept": "Entendido", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate utiliza solo cookies de sesión esenciales necesarias para la autenticación y el funcionamiento del servicio. No se utilizan cookies de seguimiento ni analíticas.", - "cookie.notice_label": "Aviso de cookies", - "cookie.policy_link": "Política de cookies", - "cookie.privacy_link": "Aviso de privacidad", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Integraciones activas", - "dashboard.files_this_month": "Archivos este mes", - "dashboard.files_today": "Archivos hoy", - "dashboard.ocr_processed": "OCR procesados", - "dashboard.quick_actions": "Acciones rápidas", - "dashboard.recent_activity": "Actividad reciente", - "dashboard.storage_targets": "Destinos de almacenamiento", - "dashboard.title": "Panel", - "dashboard.total_files": "Total de archivos", - "dashboard.welcome": "Bienvenido a DocuElevate", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Prohibido", - "error.forbidden_message": "No tiene permiso para acceder a esta página.", - "error.not_found": "Página no encontrada", - "error.not_found_message": "La página que busca no existe.", - "error.server_error": "Error interno del servidor", - "error.server_error_message": "Algo salió mal. Inténtelo de nuevo más tarde.", - "error.unauthorized": "No autorizado", - "error.unauthorized_message": "Debe iniciar sesión para acceder a esta página.", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Título del documento", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "Tamaño del archivo", - "files.filename": "Nombre del archivo", + "files.file_size": "File Size", + "files.filename": "Filename", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "No se encontraron archivos", - "files.ocr_status": "Estado OCR", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -399,23 +399,23 @@ "files.table_mime_type": "MIME Type", "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", - "files.tags": "Etiquetas", - "files.title": "Archivos", + "files.tags": "Tags", + "files.title": "Files", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Subido", + "files.uploaded": "Uploaded", "footer.about": "About", "footer.attribution": "Attribution", - "footer.attributions": "Atribuciones", + "footer.attributions": "Attributions", "footer.cookies": "Cookies", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Aviso legal", - "footer.license": "Licencia", - "footer.navigation": "Navegación del pie de página", - "footer.privacy": "Privacidad", - "footer.terms": "Términos", - "footer.version": "Versión {version}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", "help.destinations_email": "Email Forwarding", @@ -435,8 +435,8 @@ "help.destinations_sftp_desc": "Secure file transfer to any server.", "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", - "help.documentation": "Documentación", - "help.faq": "Preguntas frecuentes", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Primeros pasos", + "help.getting_started": "Getting Started", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -469,13 +469,13 @@ "help.sources_web_upload": "Web Upload", "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", - "help.support": "Soporte", + "help.support": "Support", "help.support_admin_message": "Contact your administrator for support information.", "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Centro de ayuda", + "help.title": "Help Center", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "Configurar", - "integrations.connect": "Conectar", - "integrations.connected": "Conectado", - "integrations.disconnect": "Desconectar", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "No conectado", + "integrations.not_connected": "Not Connected", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Integraciones", + "integrations.title": "Integrations", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Idioma cambiado a {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Idioma", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "Acerca de", + "nav.about": "About", "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "Acciones de administración", - "nav.admin_menu": "Menú de administración", - "nav.api_docs": "Documentación API", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Copia de seguridad y restauración", - "nav.credentials": "Credenciales", - "nav.dark_mode": "Modo oscuro", - "nav.dashboard": "Panel", - "nav.developer_docs": "Documentación para desarrolladores", - "nav.duplicates": "Duplicados", - "nav.file_manager": "Gestor de archivos", - "nav.files": "Archivos", - "nav.help": "Ayuda", - "nav.help_center": "Centro de ayuda", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", "nav.imap": "Email Import", - "nav.integrations": "Integraciones", - "nav.light_mode": "Modo claro", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "Navegación principal", - "nav.notifications": "Notificaciones", - "nav.open_main_menu": "Abrir menú principal", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", "nav.pipelines": "Pipelines", - "nav.plan_designer": "Diseñador de planes", - "nav.pricing": "Precios", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "Monitor de cola", - "nav.scheduled_jobs": "Tareas programadas", - "nav.search": "Buscar", - "nav.settings": "Configuración", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "Similitud", - "nav.skip_to_content": "Ir al contenido principal", - "nav.status": "Estado", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Alternar modo oscuro", - "nav.toggle_nav": "Alternar menú de navegación", - "nav.upload": "Subir", - "nav.users": "Usuarios", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Marcar todo como leído", + "notifications.mark_all_read": "Mark All as Read", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Marcar como leído", - "notifications.no_notifications": "Sin notificaciones", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", - "notifications.title": "Notificaciones", - "notifications.unread_count": "{count} notificaciones no leídas", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Crear pipeline", + "pipelines.create": "Create Pipeline", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Editar pipeline", + "pipelines.edit": "Edit Pipeline", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Pipelines de procesamiento", + "pipelines.title": "Processing Pipelines", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "No se encontraron resultados", + "search.no_results": "No results found", "search.page_title": "Search Documents", - "search.placeholder": "Buscar por nombre, contenido, etiquetas...", + "search.placeholder": "Search by filename, content, tags...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "{count} resultados encontrados", + "search.results_count": "{count} results found", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "Buscar documentos", + "search.title": "Search Documents", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "¿Está seguro de que desea restablecer esta configuración?", + "settings.reset_confirm": "Are you sure you want to reset this setting?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Error al guardar la configuración", + "settings.save_error": "Failed to save setting", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Configuración guardada con éxito", + "settings.save_success": "Setting saved successfully", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Configuración", + "settings.title": "Settings", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Arrastre archivos aquí o haga clic para buscar", + "upload.drag_drop": "Drag & drop files here or click to browse", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Error al subir", + "upload.error": "Upload failed", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Tamaño máximo del archivo: {size}", + "upload.max_size": "Maximum file size: {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "Seleccionar archivo", - "upload.success": "Archivo subido con éxito", - "upload.title": "Subir documento", - "upload.uploading": "Subiendo...", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf" From d0f8e21b41345f3cf363f23f779e7f4da07dc23d Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:42 +0100 Subject: [PATCH 04/56] New translations en.json (Afrikaans) --- frontend/translations/af.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/af.json diff --git a/frontend/translations/af.json b/frontend/translations/af.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/af.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From 3abb66659c55976a9b2f21e2398bc722b4be0e29 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:43 +0100 Subject: [PATCH 05/56] New translations en.json (Arabic) --- frontend/translations/ar.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/ar.json diff --git a/frontend/translations/ar.json b/frontend/translations/ar.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/ar.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From f78e535cc317f46a872e425116240f134705cd3e Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:44 +0100 Subject: [PATCH 06/56] New translations en.json (Catalan) --- frontend/translations/ca.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/ca.json b/frontend/translations/ca.json index b30f1798..d36160ed 100644 --- a/frontend/translations/ca.json +++ b/frontend/translations/ca.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "L'idioma s'ha canviat a {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Català", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 1f8a80c1256af9bdf6fa350d5a57763e14bd4af9 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:45 +0100 Subject: [PATCH 07/56] New translations en.json (Czech) --- frontend/translations/cs.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/cs.json b/frontend/translations/cs.json index 6af65b34..d36160ed 100644 --- a/frontend/translations/cs.json +++ b/frontend/translations/cs.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Jazyk byl změněn na {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Čeština", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 16ffa4264ebcdfde8ae0de396d0ea8fe4f43567a Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:46 +0100 Subject: [PATCH 08/56] New translations en.json (Danish) --- frontend/translations/da.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/da.json b/frontend/translations/da.json index 0dfc33f5..d36160ed 100644 --- a/frontend/translations/da.json +++ b/frontend/translations/da.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Sproget blev ændret til {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Dansk", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From d865c6ac20d300cf0f67d220f805e103d2fae277 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:47 +0100 Subject: [PATCH 09/56] New translations en.json (German) --- frontend/translations/de.json | 924 +++++++++++++++++----------------- 1 file changed, 462 insertions(+), 462 deletions(-) diff --git a/frontend/translations/de.json b/frontend/translations/de.json index 2ec4bfa6..d36160ed 100644 --- a/frontend/translations/de.json +++ b/frontend/translations/de.json @@ -100,30 +100,30 @@ "audit.subtitle": "Comprehensive, append-only record of all significant actions.", "audit.table_label": "Audit log events", "audit.title": "Audit Logs", - "auth.confirm_password": "Passwort bestätigen", + "auth.confirm_password": "Confirm Password", "auth.create_account": "Create account", - "auth.display_name_label": "Anzeigename", - "auth.email_label": "E-Mail", - "auth.forgot_password": "Passwort vergessen?", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Anmelden", - "auth.login_title": "Anmelden", + "auth.login": "Log In", + "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Abmelden", - "auth.my_account": "Mein Konto", + "auth.logout": "Log Out", + "auth.my_account": "My Account", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", - "auth.password_label": "Passwort", - "auth.profile": "Profil", - "auth.remember_me": "Angemeldet bleiben", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Registrieren", - "auth.signup_title": "Registrieren", - "auth.username_label": "Benutzername", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", "auth.username_or_email": "Username or Email", "auth.verify_email_back_sign_in": "Back to sign in", "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "Aktionen", - "common.active": "Aktiv", - "common.all": "Alle", - "common.back": "Zurück", - "common.cancel": "Abbrechen", - "common.close": "Schließen", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", "common.col_pending": "Pending", - "common.completed": "Abgeschlossen", - "common.confirm": "Bestätigen", - "common.copied": "Kopiert!", - "common.copy": "Kopieren", - "common.create": "Erstellen", - "common.created": "Erstellt", - "common.date": "Datum", - "common.delete": "Löschen", - "common.description": "Beschreibung", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", "common.details": "Details", - "common.disabled": "Deaktiviert", - "common.download": "Herunterladen", - "common.duplicate": "Duplikat", - "common.edit": "Bearbeiten", - "common.enabled": "Aktiviert", - "common.error": "Fehler", - "common.failed": "Fehlgeschlagen", - "common.filter": "Filtern", - "common.inactive": "Inaktiv", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", "common.info": "Info", - "common.loading": "Laden...", + "common.loading": "Loading...", "common.name": "Name", - "common.next": "Weiter", + "common.next": "Next", "common.next_page": "Next page", - "common.no": "Nein", - "common.none": "Keine", + "common.no": "No", + "common.none": "None", "common.page": "Page", - "common.pending": "Ausstehend", + "common.pending": "Pending", "common.prev_page": "Previous page", - "common.previous": "Zurück", - "common.processing": "Verarbeitung", - "common.refresh": "Aktualisieren", - "common.reset": "Zurücksetzen", - "common.retry": "Erneut versuchen", - "common.save": "Speichern", - "common.search": "Suche", - "common.select": "Auswählen", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", "common.select_placeholder": "— select —", - "common.size": "Größe", + "common.size": "Size", "common.status": "Status", - "common.submit": "Absenden", - "common.success": "Erfolg", + "common.submit": "Submit", + "common.success": "Success", "common.tags": "Tags", - "common.type": "Typ", - "common.updated": "Aktualisiert", - "common.upload": "Hochladen", - "common.view": "Ansehen", - "common.warning": "Warnung", - "common.yes": "Ja", - "cookie.accept": "Akzeptieren", - "cookie.learn_more": "Mehr erfahren", - "cookie.message": "Diese Website verwendet Cookies, um Ihr Erlebnis zu verbessern.", - "cookie.notice": "DocuElevate verwendet nur essentielle Sitzungscookies, die für die Authentifizierung und den Servicebetrieb erforderlich sind. Es werden keine Tracking- oder Analyse-Cookies verwendet.", - "cookie.notice_label": "Cookie-Hinweis", - "cookie.policy_link": "Cookie-Richtlinie", - "cookie.privacy_link": "Datenschutzhinweis", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Aktive Integrationen", - "dashboard.files_this_month": "Dateien diesen Monat", - "dashboard.files_today": "Dateien heute", - "dashboard.ocr_processed": "OCR verarbeitet", - "dashboard.quick_actions": "Schnellaktionen", - "dashboard.recent_activity": "Letzte Aktivitäten", - "dashboard.storage_targets": "Speicherziele", - "dashboard.title": "Übersicht", - "dashboard.total_files": "Dateien gesamt", - "dashboard.welcome": "Willkommen bei DocuElevate", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -304,397 +304,397 @@ "duplicates.view_dup_aria": "View duplicate file", "duplicates.view_original_aria": "View original file", "error.404_code": "404", - "error.404_heading": "Ups, diese Seite konnten wir nicht finden!", - "error.404_home": "Zur Startseite", - "error.404_message": "Es scheint, als hätte DocuElevate das gesuchte Dokument verlegt. Keine Sorge – wir helfen Ihnen weiter.", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", "error.404_title": "404 - Not Found", "error.500_code": "500", "error.500_debug_info": "Show Debug Info", - "error.500_description": "Unsere Server haben ein Problem und brauchen einen Moment.", - "error.500_heading": "Ups! Etwas ist schiefgelaufen.", - "error.500_home": "Zur Startseite", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", "error.500_img_alt": "Illustration of a server error", "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Zugriff verweigert", - "error.forbidden_message": "Sie haben keine Berechtigung, auf diese Seite zuzugreifen.", - "error.not_found": "Seite nicht gefunden", - "error.not_found_message": "Die gesuchte Seite existiert nicht.", - "error.server_error": "Interner Serverfehler", - "error.server_error_message": "Etwas ist schiefgelaufen. Bitte versuchen Sie es später erneut.", - "error.unauthorized": "Nicht autorisiert", - "error.unauthorized_message": "Sie müssen sich anmelden, um auf diese Seite zuzugreifen.", - "files.action_delete": "Datei löschen", - "files.action_details": "Details anzeigen", - "files.action_preview": "Schnellvorschau", - "files.bulk_clear_selection": "Auswahl aufheben", - "files.bulk_cloud_ocr": "Cloud-OCR erneut ausführen", - "files.bulk_delete": "Ausgewählte löschen", - "files.bulk_download": "Als ZIP herunterladen", - "files.bulk_reprocess": "Ausgewählte erneut verarbeiten", - "files.delete_modal_cancel": "Abbrechen", - "files.delete_modal_confirm": "Löschen", - "files.delete_modal_message": "Sind Sie sicher, dass Sie diese Datei löschen möchten?", - "files.delete_modal_title": "Löschung bestätigen", - "files.document_title": "Dokumenttitel", - "files.drop_overlay_hint": "Unterstützt PDF, Office-Dokumente, Bilder, HTML, Markdown und mehr", - "files.drop_overlay_title": "Dateien oder Ordner zum Hochladen hier ablegen", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "Dateigröße", - "files.filename": "Dateiname", + "files.file_size": "File Size", + "files.filename": "Filename", "files.files_selected": "files selected", - "files.filter_all_providers": "Alle Anbieter", - "files.filter_all_statuses": "Alle Status", - "files.filter_all_types": "Alle Typen", - "files.filter_apply": "Filter anwenden", - "files.filter_clear": "Zurücksetzen", - "files.filter_date_from": "Datum von", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", "files.filter_date_from_aria": "Filter from date", - "files.filter_date_to": "Datum bis", + "files.filter_date_to": "Date To", "files.filter_date_to_aria": "Filter to date", "files.filter_form_aria": "Filter files", - "files.filter_mime_type": "MIME-Typ", - "files.filter_ocr_all": "Alle Dateien", - "files.filter_ocr_good": "Gute Qualität", - "files.filter_ocr_poor": "Schlechte Qualität", - "files.filter_ocr_quality": "OCR-Qualität", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", "files.filter_ocr_quality_aria": "Filter by OCR quality score", - "files.filter_ocr_unchecked": "Noch nicht bewertet", + "files.filter_ocr_unchecked": "Not yet assessed", "files.filter_search_label": "Search Filename", - "files.filter_search_placeholder": "Dateinamen eingeben...", - "files.filter_storage_provider": "Speicheranbieter", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", - "files.filter_tags_placeholder": "z.B. Rechnung,Amazon", - "files.fulltext_search_label": "Volltextsuche", - "files.fulltext_search_placeholder": "Dokumentinhalt, Absender, Tags, Typ durchsuchen...", - "files.no_files": "Keine Dateien gefunden", - "files.ocr_status": "OCR-Status", - "files.page_title": "Dateiübersicht", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", "files.pagination_files": "files", - "files.pagination_first": "Erste", - "files.pagination_last": "Letzte", + "files.pagination_first": "First", + "files.pagination_last": "Last", "files.pagination_nav_aria": "File list pagination", - "files.pagination_next": "Nächste", + "files.pagination_next": "Next", "files.pagination_of": "of", - "files.pagination_previous": "Vorherige", + "files.pagination_previous": "Previous", "files.pagination_showing": "Showing", - "files.preview_modal_close": "Vorschau schließen", - "files.preview_modal_title": "Vorschau", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", - "files.queue_banner_link": "Warteschlange ansehen", - "files.saved_searches_empty": "Noch keine gespeicherten Suchen", - "files.saved_searches_error": "Gespeicherte Suchen konnten nicht geladen werden", - "files.saved_searches_label": "Gespeicherte Suchen", - "files.saved_searches_save": "Aktuelle speichern", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", "files.saved_searches_save_aria": "Save current filters as a saved search", - "files.search_results_empty": "Keine Ergebnisse gefunden.", - "files.search_results_title": "Suchergebnisse", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", "files.status_duplicate": "Duplicate", - "files.table_actions": "Aktionen", + "files.table_actions": "Actions", "files.table_aria": "File records", - "files.table_created_at": "Erstellt am", - "files.table_empty": "Keine Dateien gefunden", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", "files.table_id": "ID", - "files.table_mime_type": "MIME-Typ", - "files.table_original_filename": "Originaler Dateiname", - "files.table_select_all": "Alle Dateien auf dieser Seite auswählen", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", "files.tags": "Tags", - "files.title": "Dateien", + "files.title": "Files", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", - "files.upload_modal_header": "Dateien hochladen", - "files.uploaded": "Hochgeladen", - "footer.about": "Über uns", - "footer.attribution": "Namensnennung", - "footer.attributions": "Quellenangaben", - "footer.cookies": "Cookie-Richtlinie", - "footer.copyright": "© {year} DocuElevate", - "footer.imprint": "Impressum", - "footer.license": "Lizenz", - "footer.navigation": "Fußzeilennavigation", - "footer.privacy": "Datenschutz", - "footer.terms": "Nutzungsbedingungen", - "footer.version": "Version", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", "help.destinations_dropbox": "Dropbox", - "help.destinations_dropbox_desc": "OAuth-verknüpft. Dateien landen in Ihrem gewählten Ordner.", - "help.destinations_email": "E-Mail-Weiterleitung", - "help.destinations_email_desc": "Verarbeitete Dateien als SMTP-Anhänge gesendet.", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", "help.destinations_google_drive": "Google Drive", - "help.destinations_google_drive_desc": "Dienstkonto oder OAuth. Unterstützt geteilte Laufwerke.", - "help.destinations_heading": "Ziele – Wohin die Dokumente gehen", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", "help.destinations_nextcloud": "Nextcloud / WebDAV", - "help.destinations_nextcloud_desc": "Selbstgehosteter Cloud-Speicher über WebDAV.", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", "help.destinations_onedrive": "OneDrive", - "help.destinations_onedrive_desc": "Microsoft Graph API-Integration.", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", "help.destinations_paperless": "Paperless-ngx", - "help.destinations_paperless_desc": "Dokumente direkt in Paperless zur Archivierung übertragen.", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", "help.destinations_s3": "Amazon S3", - "help.destinations_s3_desc": "Jeder S3-kompatible Bucket (AWS, MinIO, Wasabi).", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", "help.destinations_sftp": "SFTP / FTP", - "help.destinations_sftp_desc": "Sichere Dateiübertragung auf beliebige Server.", + "help.destinations_sftp_desc": "Secure file transfer to any server.", "help.destinations_webhook": "Webhook", - "help.destinations_webhook_desc": "Metadaten per POST an einen externen Endpunkt senden.", - "help.documentation": "Dokumentation", - "help.faq": "Häufig gestellte Fragen", - "help.faq_1_a": "Navigieren Sie zur Upload-Seite, ziehen Sie Ihre Dateien per Drag-and-Drop oder klicken Sie auf Datei auswählen. DocuElevate konvertiert Bilder und Office-Dokumente in PDF, führt OCR durch und extrahiert Metadaten automatisch.", - "help.faq_1_q": "Wie lade ich Dokumente hoch?", - "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF und HTML. Nicht-PDF-Dateien werden vor der Verarbeitung automatisch in PDF konvertiert.", - "help.faq_2_q": "Welche Dateiformate werden unterstützt?", - "help.faq_3_a": "Ja. Gehen Sie zu E-Mail-Import, fügen Sie ein IMAP-Konto hinzu, und DocuElevate prüft auf neue Nachrichten und verarbeitet Anhänge automatisch.", - "help.faq_3_q": "Kann ich Dokumente per E-Mail importieren?", - "help.faq_4_a": "Pipelines ermöglichen es Ihnen, Verarbeitungsschritte zu verketten – OCR, KI-Extraktion, Formatkonvertierung – und das Ergebnis an ein oder mehrere Ziele weiterzuleiten. Erstellen und verwalten Sie diese auf der Pipelines-Seite.", - "help.faq_4_q": "Wie funktionieren Verarbeitungs-Pipelines?", - "help.faq_5_a": "DocuElevate verschlüsselt Anmeldedaten im Ruhezustand, kommuniziert über TLS und speichert Ihre Dokumente nie länger als nötig. Weitere Details finden Sie in der Datenschutzerklärung.", - "help.faq_5_q": "Sind meine Daten sicher?", - "help.faq_heading": "Häufig gestellte Fragen", - "help.getting_started": "Erste Schritte", - "help.heading": "Hilfezentrum", - "help.page_title": "Hilfezentrum", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", - "help.quickstart_heading": "Schnellstart", - "help.quickstart_storage": "Speicher verbinden", - "help.quickstart_storage_desc": "Gehen Sie zu Einstellungen und verknüpfen Sie Ihre Cloud-Konten. Verarbeitete Dokumente werden automatisch an jedes konfigurierte Ziel weitergeleitet.", - "help.quickstart_upload": "Dokumente hochladen", - "help.quickstart_upload_desc": "Ziehen Sie Dateien auf die Upload-Seite oder klicken Sie auf Datei auswählen. DocuElevate konvertiert Bilder und Office-Dokumente in PDF, führt OCR durch und extrahiert Metadaten automatisch.", - "help.quickstart_workflows": "Arbeitsabläufe automatisieren", - "help.quickstart_workflows_desc": "Erstellen Sie Pipelines, um mehrstufige Verarbeitungs- und Weiterleitungsregeln zu definieren. Kombinieren Sie OCR, KI-Extraktion, Formatkonvertierung und Zustellung in einem einzigen Ablauf.", - "help.sources_email_ingestion": "E-Mail-Import (IMAP)", - "help.sources_email_ingestion_desc": "Leiten Sie Dokumente an ein dediziertes Postfach weiter. Unter E-Mail-Import fügen Sie ein oder mehrere IMAP-Konten hinzu. DocuElevate prüft auf neue Nachrichten und verarbeitet Anhänge automatisch.", - "help.sources_heading": "Quellen – Dokumente einbringen", - "help.sources_rest_api": "REST-API", - "help.sources_rest_api_desc": "Integrieren Sie programmgesteuert, indem Sie Dateien an /api/upload senden. Ideal für Skripte, überwachte Ordner, Scanner oder Drittanbieter-Tools wie Zapier und n8n.", - "help.sources_scanner": "Scanner & Mobil", - "help.sources_scanner_desc": "Richten Sie Netzwerkscanner auf den Upload-Endpunkt von DocuElevate oder verwenden Sie eine mobile Scan-App, die benutzerdefinierte HTTP-Ziele unterstützt.", - "help.sources_web_upload": "Web-Upload", - "help.sources_web_upload_desc": "Der schnellste Weg, um loszulegen. Öffnen Sie die Upload-Seite, legen Sie eine oder mehrere Dateien ab, und DocuElevate kümmert sich um den Rest. Unterstützte Formate sind PDF, JPEG, PNG, TIFF, DOCX, XLSX und mehr.", - "help.subheading": "Alles, was Sie brauchen, um DocuElevate optimal zu nutzen. Durchsuchen Sie die Themen unten oder suchen Sie nach dem, was Sie brauchen.", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", "help.support": "Support", - "help.support_admin_message": "Wenden Sie sich an Ihren Administrator für Support-Informationen.", - "help.support_description": "Können Sie nicht finden, was Sie suchen? Unser Support-Team hilft Ihnen gerne weiter.", - "help.support_heading": "Support kontaktieren", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Hilfecenter", - "help.workflows_creating": "Eine Pipeline erstellen", - "help.workflows_definition": "Eine Pipeline ist eine Reihe von Verarbeitungsschritten, die automatisch ausgeführt werden, wenn ein Dokument aufgenommen wird. Jeder Schritt kann das Dokument transformieren, anreichern oder weiterleiten.", - "help.workflows_heading": "Arbeitsabläufe & Pipelines", - "help.workflows_step_1": "In PDF konvertieren", - "help.workflows_step_1_create": "Gehen Sie im Hauptmenü zu Pipelines.", - "help.workflows_step_2": "OCR – Text extrahieren", - "help.workflows_step_2_create": "Klicken Sie auf Neue Pipeline und geben Sie ihr einen Namen.", - "help.workflows_step_3": "KI-Metadatenextraktion", - "help.workflows_step_3_create": "Fügen Sie die benötigten Verarbeitungsschritte hinzu.", - "help.workflows_step_4": "An ein oder mehrere Ziele liefern", - "help.workflows_step_4_create": "Wählen Sie ein oder mehrere Zustellungsziele.", - "help.workflows_step_5_create": "Speichern – neue Dokumente werden automatisch durch diese Pipeline verarbeitet.", - "help.workflows_typical_steps": "Typische Schritte", - "help.workflows_what_is": "Was ist eine Pipeline?", - "index.badge_intelligent": "Intelligente Dokumentenverarbeitung", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", "index.button_browse_files": "Browse Files", "index.button_upload": "Upload", - "index.capabilities_cloud": "Cloud-Speicher: Dropbox, OneDrive, Google Drive, NextCloud", - "index.capabilities_ingestion": "E-Mail- & URL-basierte Dokumentenaufnahme", - "index.capabilities_ocr": "OCR & Metadatenextraktion mit KI", - "index.capabilities_paperless": "Paperless-ngx-Integration für Dokumentenverwaltung", - "index.capabilities_title": "Funktionen", - "index.capabilities_workflows": "Automatisierte Klassifizierung & Routing-Workflows", - "index.cta_description": "Schließen Sie sich Teams an, die ihre Dokumentenverarbeitung bereits mit DocuElevate automatisieren.", - "index.cta_heading": "Bereit, Ihren Dokumenten-Workflow zu verbessern?", - "index.cta_pricing": "Preise ansehen", - "index.cta_signup": "Kostenloses Konto erstellen", - "index.dashboard_subtitle": "Intelligente Dokumentenverarbeitung & -verwaltung", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", - "index.feature_ai": "KI-Metadatenextraktion", - "index.feature_ai_desc": "OpenAI, Claude, Gemini und andere KI-Anbieter klassifizieren Dokumente und extrahieren wichtige Felder wie Daten, Beträge und Betreffzeilen.", - "index.feature_cloud": "Multi-Cloud-Speicher", - "index.feature_cloud_desc": "Leiten Sie verarbeitete Dateien an Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP und mehr weiter.", - "index.feature_email": "E-Mail- & IMAP-Import", - "index.feature_email_desc": "Ziehen Sie Dokumente automatisch aus Gmail oder jedem IMAP-Postfach – keine manuellen Uploads nötig.", - "index.feature_ocr": "OCR & Texterkennung", - "index.feature_ocr_desc": "Azure Document Intelligence konvertiert gescannte PDFs und Bilder automatisch in vollständig durchsuchbaren Text.", - "index.feature_pipelines": "Benutzerdefinierte Pipelines", - "index.feature_pipelines_desc": "Erstellen Sie Verarbeitungs-Pipelines mit konfigurierbaren Schritten – OCR, KI-Extraktion, Formatkonvertierung und Speicher-Routing in beliebiger Reihenfolge.", - "index.feature_search": "Volltextsuche", - "index.feature_search_desc": "Finden Sie sofort jedes Dokument nach Inhalt, Metadaten oder Tags in Ihrem gesamten Archiv.", - "index.feature_section_title": "Alles, was Sie für intelligente Dokumenten-Workflows brauchen", - "index.getting_started": "Erste Schritte", - "index.getting_started_1": "Integrationen über Systemstatus konfigurieren", - "index.getting_started_2": "Erstes Dokument hochladen", - "index.getting_started_3": "Ergebnisse in Dateien überprüfen", - "index.getting_started_learn": "Mehr über DocuElevate erfahren", - "index.hero_description": "DocuElevate nimmt Ihre Dokumente auf, führt OCR durch, extrahiert Metadaten mit KI und leitet Dateien an Dropbox, Google Drive, OneDrive, S3, Nextcloud und mehr weiter – alles in einer nahtlosen Pipeline.", - "index.hero_heading": "Vom Hochladen zur Erkenntnis – automatisch.", - "index.hero_login": "Anmelden", - "index.hero_pricing": "Tarife & Preise ansehen", - "index.hero_signup": "Kostenlos starten", - "index.integrations_active": "Aktive Integrationen", - "index.integrations_storage": "Speicherziele", - "index.integrations_title": "Integrationen", - "index.integrations_view_status": "Systemstatus anzeigen", - "index.page_title_dashboard": "Übersicht", - "index.page_title_public": "Intelligente Dokumentenverarbeitung", - "index.platform_overview": "Plattformübersicht", - "index.quick_actions": "Schnellaktionen", - "index.quick_documents": "Meine Dokumente", - "index.quick_documents_desc": "Ihre verarbeiteten Dateien durchsuchen", - "index.quick_search": "Suche", - "index.quick_search_desc": "Volltextsuche über Dokumente", - "index.quick_subscription": "Mein Abonnement", - "index.quick_subscription_desc": "Tarif & Nutzungsdetails anzeigen", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", "index.quick_system_status": "System Status", "index.quick_system_status_desc": "Check integration health", - "index.quick_upload": "Dokument hochladen", - "index.quick_upload_desc": "Eine neue Datei verarbeiten", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", "index.quick_view_files": "View All Files", "index.quick_view_files_desc": "Browse processed documents", "index.single_user_heading": "DocuElevate Dashboard", - "index.single_user_subtitle": "Intelligente Dokumentenverarbeitung & -verwaltung", + "index.single_user_subtitle": "Intelligent document processing & management", "index.stat_active_integrations": "Active Integrations", - "index.stat_active_users": "Aktive Benutzer", - "index.stat_files_month": "Dateien diesen Monat", - "index.stat_files_today": "Dateien heute", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", "index.stat_storage_targets": "Storage Targets", - "index.stat_total_files": "Dateien gesamt", - "index.tier_plan": "Tarif", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", "index.tier_upgrade": "Upgrade", - "index.tier_view_details": "Alle Details ansehen", - "index.upgrade_daily_limits": "Höhere tägliche & monatliche Limits", - "index.upgrade_description": "Mehr Dokumente, mehr Ziele und Prioritäts-Support freischalten.", - "index.upgrade_destinations": "Mehr Speicherziele", - "index.upgrade_ocr_pages": "Mehr OCR-Seiten", - "index.upgrade_plan": "Tarif upgraden", - "index.upgrade_view_pricing": "Tarife & Preise ansehen", - "index.usage_lifetime": "Dateien gesamt", - "index.usage_month": "Dateien diesen Monat", - "index.usage_my_usage": "Meine Nutzung", - "index.usage_today": "Dateien heute", - "index.usage_unlimited": "Unbegrenzt", - "integrations.configure": "Konfigurieren", - "integrations.connect": "Verbinden", - "integrations.connected": "Verbunden", - "integrations.disconnect": "Trennen", - "integrations.empty_state": "Keine Integrationen konfiguriert", - "integrations.folder_label": "Ordner", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", "integrations.host_label": "Host", - "integrations.imap_settings": "IMAP-Einstellungen", - "integrations.not_connected": "Nicht verbunden", - "integrations.page_title": "Integrationen", - "integrations.password_label": "Passwort", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Integrationen", - "integrations.username_label": "Benutzername", + "integrations.title": "Integrations", + "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", - "language.change_success": "Sprache geändert zu {language}", - "language.changed": "Sprache geändert zu {language}", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", "language.el": "Ελληνικά", - "language.en": "Englisch", - "language.es": "Spanisch", + "language.en": "English", + "language.es": "Español", "language.et": "Eesti", "language.fi": "Suomi", - "language.fr": "Französisch", + "language.fr": "Français", "language.ga": "Gaeilge", "language.hr": "Hrvatski", "language.hu": "Magyar", "language.is": "Íslenska", - "language.it": "Italienisch", + "language.it": "Italiano", "language.lb": "Lëtzebuergesch", "language.lt": "Lietuvių", "language.lv": "Latviešu", "language.nb": "Norsk", - "language.nl": "Niederländisch", - "language.pl": "Polnisch", - "language.pt": "Portugiesisch", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", "language.ro": "Română", - "language.ru": "Russisch", - "language.selector": "Sprache", - "language.selector_label": "Sprache wählen", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", "language.sv": "Svenska", "language.tr": "Türkçe", "language.uk": "Українська", - "language.zh": "Chinesisch", - "nav.about": "Über uns", - "nav.admin": "Administration", - "nav.admin.audit_logs": "Prüfprotokolle", - "nav.admin.backups": "Sicherungen", - "nav.admin.plans": "Tarife", - "nav.admin.scheduled_jobs": "Geplante Aufgaben", - "nav.admin.users": "Benutzer", - "nav.admin_actions": "Admin-Aktionen", - "nav.admin_menu": "Admin-Menü", - "nav.api_docs": "API-Dokumentation", - "nav.api_tokens": "API-Token", - "nav.backup_restore": "Sicherung & Wiederherstellung", - "nav.credentials": "Zugangsdaten", - "nav.dark_mode": "Dunkelmodus", - "nav.dashboard": "Übersicht", - "nav.developer_docs": "Entwicklerdokumentation", - "nav.duplicates": "Duplikate", - "nav.file_manager": "Dateimanager", - "nav.files": "Dateien", - "nav.help": "Hilfe", - "nav.help_center": "Hilfecenter", - "nav.imap": "E-Mail-Import", - "nav.integrations": "Integrationen", - "nav.light_mode": "Hellmodus", - "nav.login": "Anmelden", - "nav.logout": "Abmelden", - "nav.main_navigation": "Hauptnavigation", - "nav.notifications": "Benachrichtigungen", - "nav.open_main_menu": "Hauptmenü öffnen", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", "nav.pipelines": "Pipelines", - "nav.plan_designer": "Plan-Designer", - "nav.pricing": "Preise", - "nav.profile": "Profil", - "nav.queue": "Warteschlange", - "nav.queue_monitor": "Warteschlangen-Monitor", - "nav.scheduled_jobs": "Geplante Aufgaben", - "nav.search": "Suche", - "nav.settings": "Einstellungen", - "nav.shared_links": "Geteilte Links", - "nav.signup": "Registrieren", - "nav.similarity": "Ähnlichkeit", - "nav.skip_to_content": "Zum Hauptinhalt springen", - "nav.status": "Systemstatus", - "nav.subscription": "Abonnement", - "nav.toggle_dark_mode": "Dunkelmodus umschalten", - "nav.toggle_nav": "Navigationsmenü umschalten", - "nav.upload": "Hochladen", - "nav.users": "Benutzer", - "nav.version": "Versionsinformationen", - "notifications.filter_all": "Alle", - "notifications.filter_read": "Nur gelesene", - "notifications.filter_unread": "Nur ungelesene", - "notifications.manage_desc": "Verwalten Sie Ihren Posteingang, Ziele und Ereignispräferenzen", - "notifications.mark_all_read": "Alle als gelesen markieren", - "notifications.mark_all_read_btn": "Alle als gelesen markieren", - "notifications.mark_read": "Als gelesen markieren", - "notifications.no_notifications": "Keine Benachrichtigungen", - "notifications.page_title": "Benachrichtigungen", - "notifications.tab_inbox": "Posteingang", - "notifications.tab_settings": "Einstellungen", - "notifications.title": "Benachrichtigungen", - "notifications.unread_count": "{count} ungelesene Benachrichtigungen", - "pipelines.active_label": "Aktiv", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Pipeline erstellen", + "pipelines.create": "Create Pipeline", "pipelines.custom_label_label": "Custom Label", - "pipelines.default_label": "Standard", - "pipelines.description_label": "Beschreibung", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", - "pipelines.disabled_label": "Deaktiviert", - "pipelines.edit": "Pipeline bearbeiten", - "pipelines.empty_state": "Noch keine Pipelines", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", - "pipelines.enabled_label": "Aktiviert", + "pipelines.enabled_label": "Enabled", "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", - "pipelines.inactive_label": "Inaktiv", + "pipelines.inactive_label": "Inactive", "pipelines.loading": "Loading pipelines…", "pipelines.name_placeholder": "My pipeline", "pipelines.new_pipeline_btn": "New Pipeline", @@ -703,8 +703,8 @@ "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", "pipelines.ocr_language_label": "OCR Language", "pipelines.optional_suffix": "(optional)", - "pipelines.page_title": "Verarbeitungs-Pipelines", - "pipelines.set_default": "Als meine Standard-Pipeline festlegen", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", "pipelines.step_label_placeholder": "Override the default step name", "pipelines.step_type_label": "Step Type", "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Verarbeitungs-Pipelines", + "pipelines.title": "Processing Pipelines", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -738,42 +738,42 @@ "queue.redis_queues": "Redis Queues", "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", "queue.workers_online": "Workers Online", - "search.button": "Suchen", - "search.error_message": "Suche ist vorübergehend nicht verfügbar. Bitte versuchen Sie es gleich erneut.", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", "search.filter_aria_clear": "Clear all filters", - "search.filter_clear_button": "Filter zurücksetzen", - "search.filter_date_from": "Datum von", - "search.filter_date_to": "Datum bis", - "search.filter_document_type": "Dokumenttyp", - "search.filter_document_type_placeholder": "z.B. Rechnung", - "search.filter_language": "Sprache", - "search.filter_language_placeholder": "z.B. de", - "search.filter_sender": "Absender", - "search.filter_sender_placeholder": "z.B. ACME GmbH", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", "search.filter_tags": "Tags", - "search.filter_tags_placeholder": "z.B. Amazon", - "search.filter_text_quality": "Textqualität", - "search.filter_text_quality_all": "Alle", - "search.filter_text_quality_high": "Hoch", - "search.filter_text_quality_low": "Niedrig", - "search.filter_text_quality_medium": "Mittel", - "search.filter_text_quality_no_text": "Kein Text", - "search.heading": "Dokumentensuche", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", "search.input_aria_label": "Search documents", - "search.input_placeholder": "Dokumente nach Inhalt, Absender, Tags, Typ suchen...", - "search.loading_indicator": "Suche läuft…", - "search.no_results": "Keine Ergebnisse gefunden", - "search.page_title": "Dokumente suchen", - "search.placeholder": "Nach Dateiname, Inhalt, Tags suchen...", - "search.result_empty": "Keine Dokumente gefunden, die Ihrer Suche entsprechen.", - "search.results_count": "{count} Ergebnisse gefunden", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", "search.saved_aria_save": "Save current search", - "search.saved_button": "Aktuelle speichern", - "search.saved_empty": "Noch keine gespeicherten Suchen", - "search.saved_error": "Gespeicherte Suchen konnten nicht geladen werden", - "search.saved_label": "Gespeicherte Suchen", - "search.saved_loading": "Laden...", - "search.title": "Dokumente suchen", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Möchten Sie diese Einstellung wirklich zurücksetzen?", + "settings.reset_confirm": "Are you sure you want to reset this setting?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Einstellung konnte nicht gespeichert werden", + "settings.save_error": "Failed to save setting", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Einstellung erfolgreich gespeichert", + "settings.save_success": "Setting saved successfully", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Einstellungen", + "settings.title": "Settings", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -890,40 +890,40 @@ "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", "similarity.trigger_now": "trigger it now", - "status.app_version": "App-Version", - "status.build_date": "Build-Datum", - "status.container_id": "Container-ID", - "status.git_commit": "Git-Commit", - "status.last_check": "Letzte Prüfung", - "status.page_title": "Systemstatus", - "status.setting_label": "Einstellung", - "status.value_label": "Wert", - "upload.browse_button": "Dateien durchsuchen", - "upload.button_processing": "Verarbeitung...", - "upload.camera_button": "Foto aufnehmen / Dokument scannen", - "upload.download_button": "Herunterladen und verarbeiten", - "upload.downloading": "Datei wird von URL heruntergeladen...", - "upload.drag_drop": "Dateien hierher ziehen oder zum Durchsuchen klicken", - "upload.drop_hint_desktop": "Dateien oder Ordner hierher ziehen oder klicken, um Dateien auszuwählen.", - "upload.drop_hint_mobile": "Tippen Sie, um Dateien auszuwählen, oder verwenden Sie die Kamera-Schaltfläche unten.", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Upload fehlgeschlagen", - "upload.error_invalid_url": "Ungültiges URL-Format", - "upload.error_url_required": "Bitte geben Sie eine URL ein", - "upload.file_size_hint": "Maximale Größe: 500 MB pro Datei", - "upload.file_types": "Erlaubte Typen: PDF, Office-Dokumente (Word, Excel, PowerPoint usw.), Bilder", - "upload.filename_description": "Leer lassen, um den Dateinamen aus der URL zu verwenden", - "upload.filename_label": "Dateiname (optional)", - "upload.filename_placeholder": "mein-dokument.pdf", - "upload.max_size": "Maximale Dateigröße: {size}", - "upload.page_title": "Dateien hochladen", - "upload.section_device": "Vom Gerät hochladen", - "upload.section_url": "Von URL hochladen", - "upload.select_file": "Datei auswählen", - "upload.success": "Datei erfolgreich hochgeladen", - "upload.title": "Dokument hochladen", - "upload.uploading": "Wird hochgeladen...", - "upload.url_description": "Geben Sie einen direkten Link zu einer Datei ein (PDF, Office-Dokumente oder Bilder)", - "upload.url_label": "Datei-URL", - "upload.url_placeholder": "https://beispiel.de/dokument.pdf" + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" } From 34e367cb151fe3a7b6e93baa73fe60b7a3546cda Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:48 +0100 Subject: [PATCH 10/56] New translations en.json (Greek) --- frontend/translations/el.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/el.json b/frontend/translations/el.json index db39f8a6..d36160ed 100644 --- a/frontend/translations/el.json +++ b/frontend/translations/el.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Η γλώσσα άλλαξε σε {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Ελληνικά", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From a399641508b00c3ce68441ea276bea49ec9f0932 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:49 +0100 Subject: [PATCH 11/56] New translations en.json (Frisian) --- frontend/translations/fy.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/fy.json diff --git a/frontend/translations/fy.json b/frontend/translations/fy.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/fy.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From 2c506da3498f6c7bc29cba995987475a33e48bbe Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:51 +0100 Subject: [PATCH 12/56] New translations en.json (Finnish) --- frontend/translations/fi.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/fi.json b/frontend/translations/fi.json index edc89326..d36160ed 100644 --- a/frontend/translations/fi.json +++ b/frontend/translations/fi.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Kieli vaihdettiin kieleen {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Suomi", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From c2982b8696b3b4720e53ec0512ef337c7a4fe8f6 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:52 +0100 Subject: [PATCH 13/56] New translations en.json (Irish) --- frontend/translations/ga.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/ga.json b/frontend/translations/ga.json index 567ae3f4..d36160ed 100644 --- a/frontend/translations/ga.json +++ b/frontend/translations/ga.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Athraíodh an teanga go {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Gaeilge", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From bf26c050363de90f8f5888509e3a10c5c6e61e04 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:53 +0100 Subject: [PATCH 14/56] New translations en.json (Hebrew) --- frontend/translations/he.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/he.json diff --git a/frontend/translations/he.json b/frontend/translations/he.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/he.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From f8c52706810311dcf224b86d3feba0d2c5016faa Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:54 +0100 Subject: [PATCH 15/56] New translations en.json (Hungarian) --- frontend/translations/hu.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/hu.json b/frontend/translations/hu.json index 839d3ae4..d36160ed 100644 --- a/frontend/translations/hu.json +++ b/frontend/translations/hu.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "A nyelv megváltozott erre: {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Magyar", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 5b471a606c7d96a883498dfd49ae32f0763851a7 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:55 +0100 Subject: [PATCH 16/56] New translations en.json (Italian) --- frontend/translations/it.json | 316 +++++++++++++++++----------------- 1 file changed, 158 insertions(+), 158 deletions(-) diff --git a/frontend/translations/it.json b/frontend/translations/it.json index 673ec619..d36160ed 100644 --- a/frontend/translations/it.json +++ b/frontend/translations/it.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Accedi", + "auth.login": "Log In", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Esci", - "auth.my_account": "Il mio account", + "auth.logout": "Log Out", + "auth.my_account": "My Account", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "Profilo", + "auth.profile": "Profile", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Registrati", + "auth.signup": "Sign Up", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "Azioni", - "common.active": "Attivo", - "common.all": "Tutto", - "common.back": "Indietro", - "common.cancel": "Annulla", - "common.close": "Chiudi", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", "common.col_pending": "Pending", - "common.completed": "Completato", - "common.confirm": "Conferma", - "common.copied": "Copiato!", - "common.copy": "Copia", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", "common.create": "Create", - "common.created": "Creato", - "common.date": "Data", - "common.delete": "Elimina", - "common.description": "Descrizione", - "common.details": "Dettagli", - "common.disabled": "Disabilitato", - "common.download": "Scarica", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", "common.duplicate": "Duplicate", - "common.edit": "Modifica", - "common.enabled": "Abilitato", - "common.error": "Errore", - "common.failed": "Fallito", - "common.filter": "Filtra", - "common.inactive": "Inattivo", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", "common.info": "Info", - "common.loading": "Caricamento...", - "common.name": "Nome", - "common.next": "Avanti", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", "common.next_page": "Next page", "common.no": "No", - "common.none": "Nessuno", + "common.none": "None", "common.page": "Page", - "common.pending": "In attesa", + "common.pending": "Pending", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "In elaborazione", - "common.refresh": "Aggiorna", - "common.reset": "Reimposta", - "common.retry": "Riprova", - "common.save": "Salva", - "common.search": "Cerca", - "common.select": "Seleziona", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", "common.select_placeholder": "— select —", - "common.size": "Dimensione", - "common.status": "Stato", + "common.size": "Size", + "common.status": "Status", "common.submit": "Submit", - "common.success": "Successo", + "common.success": "Success", "common.tags": "Tags", - "common.type": "Tipo", - "common.updated": "Aggiornato", - "common.upload": "Carica", - "common.view": "Visualizza", - "common.warning": "Avviso", - "common.yes": "Sì", - "cookie.accept": "Ho capito", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate utilizza solo cookie di sessione essenziali necessari per l'autenticazione e il funzionamento del servizio. Non vengono utilizzati cookie di tracciamento o analisi.", - "cookie.notice_label": "Avviso sui cookie", - "cookie.policy_link": "Politica sui cookie", - "cookie.privacy_link": "Informativa sulla privacy", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Integrazioni attive", - "dashboard.files_this_month": "File questo mese", - "dashboard.files_today": "File oggi", - "dashboard.ocr_processed": "OCR elaborati", - "dashboard.quick_actions": "Azioni rapide", - "dashboard.recent_activity": "Attività recente", - "dashboard.storage_targets": "Destinazioni di archiviazione", - "dashboard.title": "Cruscotto", - "dashboard.total_files": "File totali", - "dashboard.welcome": "Benvenuto su DocuElevate", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Vietato", - "error.forbidden_message": "Non hai il permesso di accedere a questa pagina.", - "error.not_found": "Pagina non trovata", - "error.not_found_message": "La pagina che stai cercando non esiste.", - "error.server_error": "Errore interno del server", - "error.server_error_message": "Qualcosa è andato storto. Riprova più tardi.", - "error.unauthorized": "Non autorizzato", - "error.unauthorized_message": "Devi accedere per visualizzare questa pagina.", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Titolo del documento", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "Dimensione del file", - "files.filename": "Nome del file", + "files.file_size": "File Size", + "files.filename": "Filename", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "Nessun file trovato", - "files.ocr_status": "Stato OCR", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -399,23 +399,23 @@ "files.table_mime_type": "MIME Type", "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", - "files.tags": "Tag", - "files.title": "File", + "files.tags": "Tags", + "files.title": "Files", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Caricato", + "files.uploaded": "Uploaded", "footer.about": "About", "footer.attribution": "Attribution", - "footer.attributions": "Attribuzioni", - "footer.cookies": "Cookie", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Note legali", - "footer.license": "Licenza", - "footer.navigation": "Navigazione a piè di pagina", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", "footer.privacy": "Privacy", - "footer.terms": "Termini", - "footer.version": "Versione {version}", + "footer.terms": "Terms", + "footer.version": "Version {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", "help.destinations_email": "Email Forwarding", @@ -435,8 +435,8 @@ "help.destinations_sftp_desc": "Secure file transfer to any server.", "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", - "help.documentation": "Documentazione", - "help.faq": "Domande frequenti", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Per iniziare", + "help.getting_started": "Getting Started", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -469,13 +469,13 @@ "help.sources_web_upload": "Web Upload", "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", - "help.support": "Supporto", + "help.support": "Support", "help.support_admin_message": "Contact your administrator for support information.", "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Centro assistenza", + "help.title": "Help Center", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "Configura", - "integrations.connect": "Connetti", - "integrations.connected": "Connesso", - "integrations.disconnect": "Disconnetti", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "Non connesso", + "integrations.not_connected": "Not Connected", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Integrazioni", + "integrations.title": "Integrations", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Lingua cambiata in {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Lingua", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "Informazioni", + "nav.about": "About", "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "Azioni admin", - "nav.admin_menu": "Menu admin", - "nav.api_docs": "Documentazione API", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Backup e ripristino", - "nav.credentials": "Credenziali", - "nav.dark_mode": "Modalità scura", - "nav.dashboard": "Cruscotto", - "nav.developer_docs": "Documentazione sviluppatore", - "nav.duplicates": "Duplicati", - "nav.file_manager": "Gestore file", - "nav.files": "File", - "nav.help": "Aiuto", - "nav.help_center": "Centro assistenza", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", "nav.imap": "Email Import", - "nav.integrations": "Integrazioni", - "nav.light_mode": "Modalità chiara", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "Navigazione principale", - "nav.notifications": "Notifiche", - "nav.open_main_menu": "Apri menu principale", - "nav.pipelines": "Pipeline", - "nav.plan_designer": "Designer dei piani", - "nav.pricing": "Prezzi", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "Monitor coda", - "nav.scheduled_jobs": "Attività pianificate", - "nav.search": "Cerca", - "nav.settings": "Impostazioni", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "Similarità", - "nav.skip_to_content": "Vai al contenuto principale", - "nav.status": "Stato", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Attiva/disattiva modalità scura", - "nav.toggle_nav": "Attiva/disattiva menu di navigazione", - "nav.upload": "Carica", - "nav.users": "Utenti", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Segna tutto come letto", + "notifications.mark_all_read": "Mark All as Read", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Segna come letto", - "notifications.no_notifications": "Nessuna notifica", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", - "notifications.title": "Notifiche", - "notifications.unread_count": "{count} notifiche non lette", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Crea pipeline", + "pipelines.create": "Create Pipeline", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Modifica pipeline", + "pipelines.edit": "Edit Pipeline", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Pipeline di elaborazione", + "pipelines.title": "Processing Pipelines", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "Nessun risultato trovato", + "search.no_results": "No results found", "search.page_title": "Search Documents", - "search.placeholder": "Cerca per nome, contenuto, tag...", + "search.placeholder": "Search by filename, content, tags...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "{count} risultati trovati", + "search.results_count": "{count} results found", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "Cerca documenti", + "search.title": "Search Documents", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Sei sicuro di voler reimpostare questa impostazione?", + "settings.reset_confirm": "Are you sure you want to reset this setting?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Salvataggio impostazione fallito", + "settings.save_error": "Failed to save setting", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Impostazione salvata con successo", + "settings.save_success": "Setting saved successfully", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Impostazioni", + "settings.title": "Settings", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Trascina i file qui o fai clic per sfogliare", + "upload.drag_drop": "Drag & drop files here or click to browse", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Caricamento fallito", + "upload.error": "Upload failed", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Dimensione massima del file: {size}", + "upload.max_size": "Maximum file size: {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "Seleziona file", - "upload.success": "File caricato con successo", - "upload.title": "Carica documento", - "upload.uploading": "Caricamento in corso...", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf" From cee6697c826433883985d6de0f06bd348cd16d22 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:56 +0100 Subject: [PATCH 17/56] New translations en.json (Japanese) --- frontend/translations/ja.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/ja.json diff --git a/frontend/translations/ja.json b/frontend/translations/ja.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/ja.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From fcbe7880a998fb272d582c324d49f7ed8cfb7685 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:57 +0100 Subject: [PATCH 18/56] New translations en.json (Korean) --- frontend/translations/ko.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/ko.json diff --git a/frontend/translations/ko.json b/frontend/translations/ko.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/ko.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From eb87f4fe9bae330e87bc28b67d8758a276c33c62 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:58 +0100 Subject: [PATCH 19/56] New translations en.json (Lithuanian) --- frontend/translations/lt.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/lt.json b/frontend/translations/lt.json index 85c5227d..d36160ed 100644 --- a/frontend/translations/lt.json +++ b/frontend/translations/lt.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Kalba pakeista į {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Lietuvių", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 98567e0261ca26dd67be2d99dab57849f8574e1a Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:34:59 +0100 Subject: [PATCH 20/56] New translations en.json (Dutch) --- frontend/translations/nl.json | 298 +++++++++++++++++----------------- 1 file changed, 149 insertions(+), 149 deletions(-) diff --git a/frontend/translations/nl.json b/frontend/translations/nl.json index 2ac89e9b..d36160ed 100644 --- a/frontend/translations/nl.json +++ b/frontend/translations/nl.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Inloggen", + "auth.login": "Log In", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Uitloggen", - "auth.my_account": "Mijn account", + "auth.logout": "Log Out", + "auth.my_account": "My Account", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "Profiel", + "auth.profile": "Profile", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Registreren", + "auth.signup": "Sign Up", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "Acties", - "common.active": "Actief", - "common.all": "Alles", - "common.back": "Terug", - "common.cancel": "Annuleren", - "common.close": "Sluiten", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", "common.col_pending": "Pending", - "common.completed": "Voltooid", - "common.confirm": "Bevestigen", - "common.copied": "Gekopieerd!", - "common.copy": "Kopiëren", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", "common.create": "Create", - "common.created": "Aangemaakt", - "common.date": "Datum", - "common.delete": "Verwijderen", - "common.description": "Beschrijving", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", "common.details": "Details", - "common.disabled": "Uitgeschakeld", - "common.download": "Downloaden", + "common.disabled": "Disabled", + "common.download": "Download", "common.duplicate": "Duplicate", - "common.edit": "Bewerken", - "common.enabled": "Ingeschakeld", - "common.error": "Fout", - "common.failed": "Mislukt", - "common.filter": "Filteren", - "common.inactive": "Inactief", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", "common.info": "Info", - "common.loading": "Laden...", - "common.name": "Naam", - "common.next": "Volgende", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", "common.next_page": "Next page", - "common.no": "Nee", - "common.none": "Geen", + "common.no": "No", + "common.none": "None", "common.page": "Page", - "common.pending": "In afwachting", + "common.pending": "Pending", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "Verwerken", - "common.refresh": "Vernieuwen", - "common.reset": "Herstellen", - "common.retry": "Opnieuw proberen", - "common.save": "Opslaan", - "common.search": "Zoeken", - "common.select": "Selecteren", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", "common.select_placeholder": "— select —", - "common.size": "Grootte", + "common.size": "Size", "common.status": "Status", "common.submit": "Submit", - "common.success": "Succes", + "common.success": "Success", "common.tags": "Tags", "common.type": "Type", - "common.updated": "Bijgewerkt", - "common.upload": "Uploaden", - "common.view": "Bekijken", - "common.warning": "Waarschuwing", - "common.yes": "Ja", - "cookie.accept": "Begrepen", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate gebruikt alleen essentiële sessiecookies die nodig zijn voor authenticatie en werking van de service. Er worden geen tracking- of analysecookies gebruikt.", - "cookie.notice_label": "Cookiemelding", - "cookie.policy_link": "Cookiebeleid", - "cookie.privacy_link": "Privacyverklaring", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Actieve integraties", - "dashboard.files_this_month": "Bestanden deze maand", - "dashboard.files_today": "Bestanden vandaag", - "dashboard.ocr_processed": "OCR verwerkt", - "dashboard.quick_actions": "Snelle acties", - "dashboard.recent_activity": "Recente activiteit", - "dashboard.storage_targets": "Opslagdoelen", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", "dashboard.title": "Dashboard", - "dashboard.total_files": "Totaal bestanden", - "dashboard.welcome": "Welkom bij DocuElevate", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Verboden", - "error.forbidden_message": "U heeft geen toestemming om deze pagina te openen.", - "error.not_found": "Pagina niet gevonden", - "error.not_found_message": "De pagina die u zoekt bestaat niet.", - "error.server_error": "Interne serverfout", - "error.server_error_message": "Er is iets misgegaan. Probeer het later opnieuw.", - "error.unauthorized": "Niet geautoriseerd", - "error.unauthorized_message": "U moet inloggen om deze pagina te openen.", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Documenttitel", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "Bestandsgrootte", - "files.filename": "Bestandsnaam", + "files.file_size": "File Size", + "files.filename": "Filename", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "Geen bestanden gevonden", - "files.ocr_status": "OCR-status", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -400,22 +400,22 @@ "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", "files.tags": "Tags", - "files.title": "Bestanden", + "files.title": "Files", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Geüpload", + "files.uploaded": "Uploaded", "footer.about": "About", "footer.attribution": "Attribution", - "footer.attributions": "Attributies", + "footer.attributions": "Attributions", "footer.cookies": "Cookies", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Colofon", - "footer.license": "Licentie", - "footer.navigation": "Voettekstnavigatie", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", "footer.privacy": "Privacy", - "footer.terms": "Voorwaarden", - "footer.version": "Versie {version}", + "footer.terms": "Terms", + "footer.version": "Version {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", "help.destinations_email": "Email Forwarding", @@ -435,8 +435,8 @@ "help.destinations_sftp_desc": "Secure file transfer to any server.", "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", - "help.documentation": "Documentatie", - "help.faq": "Veelgestelde vragen", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Aan de slag", + "help.getting_started": "Getting Started", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -469,13 +469,13 @@ "help.sources_web_upload": "Web Upload", "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", - "help.support": "Ondersteuning", + "help.support": "Support", "help.support_admin_message": "Contact your administrator for support information.", "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Helpcentrum", + "help.title": "Help Center", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "Configureren", - "integrations.connect": "Verbinden", - "integrations.connected": "Verbonden", - "integrations.disconnect": "Verbreken", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "Niet verbonden", + "integrations.not_connected": "Not Connected", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Integraties", + "integrations.title": "Integrations", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Taal gewijzigd naar {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Taal", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "Over ons", + "nav.about": "About", "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "Admin-acties", - "nav.admin_menu": "Admin-menu", - "nav.api_docs": "API-documentatie", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Back-up en herstel", - "nav.credentials": "Referenties", - "nav.dark_mode": "Donkere modus", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", "nav.dashboard": "Dashboard", - "nav.developer_docs": "Ontwikkelaarsdocumentatie", - "nav.duplicates": "Duplicaten", - "nav.file_manager": "Bestandsbeheer", - "nav.files": "Bestanden", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", "nav.help": "Help", - "nav.help_center": "Helpcentrum", + "nav.help_center": "Help Center", "nav.imap": "Email Import", - "nav.integrations": "Integraties", - "nav.light_mode": "Lichte modus", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "Hoofdnavigatie", - "nav.notifications": "Meldingen", - "nav.open_main_menu": "Hoofdmenu openen", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", "nav.pipelines": "Pipelines", - "nav.plan_designer": "Planontwerper", - "nav.pricing": "Prijzen", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "Wachtrijmonitor", - "nav.scheduled_jobs": "Geplande taken", - "nav.search": "Zoeken", - "nav.settings": "Instellingen", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "Gelijkenis", - "nav.skip_to_content": "Ga naar hoofdinhoud", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", "nav.status": "Status", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Donkere modus schakelen", - "nav.toggle_nav": "Navigatiemenu schakelen", - "nav.upload": "Uploaden", - "nav.users": "Gebruikers", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Alles als gelezen markeren", + "notifications.mark_all_read": "Mark All as Read", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Markeren als gelezen", - "notifications.no_notifications": "Geen meldingen", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", - "notifications.title": "Meldingen", - "notifications.unread_count": "{count} ongelezen meldingen", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Pipeline maken", + "pipelines.create": "Create Pipeline", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Pipeline bewerken", + "pipelines.edit": "Edit Pipeline", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Verwerkingspipelines", + "pipelines.title": "Processing Pipelines", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "Geen resultaten gevonden", + "search.no_results": "No results found", "search.page_title": "Search Documents", - "search.placeholder": "Zoeken op naam, inhoud, tags...", + "search.placeholder": "Search by filename, content, tags...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "{count} resultaten gevonden", + "search.results_count": "{count} results found", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "Documenten zoeken", + "search.title": "Search Documents", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Weet u zeker dat u deze instelling wilt herstellen?", + "settings.reset_confirm": "Are you sure you want to reset this setting?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Instelling opslaan mislukt", + "settings.save_error": "Failed to save setting", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Instelling succesvol opgeslagen", + "settings.save_success": "Setting saved successfully", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Instellingen", + "settings.title": "Settings", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Sleep bestanden hierheen of klik om te bladeren", + "upload.drag_drop": "Drag & drop files here or click to browse", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Upload mislukt", + "upload.error": "Upload failed", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Maximale bestandsgrootte: {size}", + "upload.max_size": "Maximum file size: {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "Bestand selecteren", - "upload.success": "Bestand succesvol geüpload", - "upload.title": "Document uploaden", - "upload.uploading": "Uploaden...", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf" From ec651980a20b86d75d23c07a38737bd14197f91b Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:00 +0100 Subject: [PATCH 21/56] New translations en.json (Norwegian) --- frontend/translations/no.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/no.json diff --git a/frontend/translations/no.json b/frontend/translations/no.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/no.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From 9d3da998df0635351d0e0d4368b2bc2621cd4790 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:01 +0100 Subject: [PATCH 22/56] New translations en.json (Punjabi) --- frontend/translations/pa.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/pa.json diff --git a/frontend/translations/pa.json b/frontend/translations/pa.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/pa.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From 0e3064b4c14b4a2f0e987605b82d9ce180536dcd Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:02 +0100 Subject: [PATCH 23/56] New translations en.json (Polish) --- frontend/translations/pl.json | 316 +++++++++++++++++----------------- 1 file changed, 158 insertions(+), 158 deletions(-) diff --git a/frontend/translations/pl.json b/frontend/translations/pl.json index 575a4905..d36160ed 100644 --- a/frontend/translations/pl.json +++ b/frontend/translations/pl.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Zaloguj się", + "auth.login": "Log In", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Wyloguj się", - "auth.my_account": "Moje konto", + "auth.logout": "Log Out", + "auth.my_account": "My Account", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "Profil", + "auth.profile": "Profile", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Zarejestruj się", + "auth.signup": "Sign Up", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "Akcje", - "common.active": "Aktywny", - "common.all": "Wszystko", - "common.back": "Wstecz", - "common.cancel": "Anuluj", - "common.close": "Zamknij", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", "common.col_pending": "Pending", - "common.completed": "Zakończono", - "common.confirm": "Potwierdź", - "common.copied": "Skopiowano!", - "common.copy": "Kopiuj", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", "common.create": "Create", - "common.created": "Utworzono", - "common.date": "Data", - "common.delete": "Usuń", - "common.description": "Opis", - "common.details": "Szczegóły", - "common.disabled": "Wyłączony", - "common.download": "Pobierz", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", "common.duplicate": "Duplicate", - "common.edit": "Edytuj", - "common.enabled": "Włączony", - "common.error": "Błąd", - "common.failed": "Nieudane", - "common.filter": "Filtruj", - "common.inactive": "Nieaktywny", - "common.info": "Informacja", - "common.loading": "Ładowanie...", - "common.name": "Nazwa", - "common.next": "Dalej", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", "common.next_page": "Next page", - "common.no": "Nie", - "common.none": "Brak", + "common.no": "No", + "common.none": "None", "common.page": "Page", - "common.pending": "Oczekujące", + "common.pending": "Pending", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "Przetwarzanie", - "common.refresh": "Odśwież", - "common.reset": "Resetuj", - "common.retry": "Ponów", - "common.save": "Zapisz", - "common.search": "Szukaj", - "common.select": "Wybierz", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", "common.select_placeholder": "— select —", - "common.size": "Rozmiar", + "common.size": "Size", "common.status": "Status", "common.submit": "Submit", - "common.success": "Sukces", + "common.success": "Success", "common.tags": "Tags", - "common.type": "Typ", - "common.updated": "Zaktualizowano", - "common.upload": "Prześlij", - "common.view": "Wyświetl", - "common.warning": "Ostrzeżenie", - "common.yes": "Tak", - "cookie.accept": "Rozumiem", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate używa wyłącznie niezbędnych plików cookie sesji wymaganych do uwierzytelniania i działania usługi. Nie są używane pliki cookie śledzące ani analityczne.", - "cookie.notice_label": "Informacja o plikach cookie", - "cookie.policy_link": "Polityka plików cookie", - "cookie.privacy_link": "Informacja o prywatności", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Aktywne integracje", - "dashboard.files_this_month": "Pliki w tym miesiącu", - "dashboard.files_today": "Pliki dzisiaj", - "dashboard.ocr_processed": "OCR przetworzone", - "dashboard.quick_actions": "Szybkie akcje", - "dashboard.recent_activity": "Ostatnia aktywność", - "dashboard.storage_targets": "Cele przechowywania", - "dashboard.title": "Pulpit", - "dashboard.total_files": "Pliki ogółem", - "dashboard.welcome": "Witamy w DocuElevate", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Zabroniono", - "error.forbidden_message": "Nie masz uprawnień do dostępu do tej strony.", - "error.not_found": "Nie znaleziono strony", - "error.not_found_message": "Szukana strona nie istnieje.", - "error.server_error": "Wewnętrzny błąd serwera", - "error.server_error_message": "Coś poszło nie tak. Spróbuj ponownie później.", - "error.unauthorized": "Brak autoryzacji", - "error.unauthorized_message": "Musisz się zalogować, aby uzyskać dostęp do tej strony.", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Tytuł dokumentu", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "Rozmiar pliku", - "files.filename": "Nazwa pliku", + "files.file_size": "File Size", + "files.filename": "Filename", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "Nie znaleziono plików", - "files.ocr_status": "Status OCR", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -399,23 +399,23 @@ "files.table_mime_type": "MIME Type", "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", - "files.tags": "Tagi", - "files.title": "Pliki", + "files.tags": "Tags", + "files.title": "Files", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Przesłano", + "files.uploaded": "Uploaded", "footer.about": "About", "footer.attribution": "Attribution", - "footer.attributions": "Atrybuty", + "footer.attributions": "Attributions", "footer.cookies": "Cookies", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Impressum", - "footer.license": "Licencja", - "footer.navigation": "Nawigacja stopki", - "footer.privacy": "Prywatność", - "footer.terms": "Regulamin", - "footer.version": "Wersja {version}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", "help.destinations_email": "Email Forwarding", @@ -435,8 +435,8 @@ "help.destinations_sftp_desc": "Secure file transfer to any server.", "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", - "help.documentation": "Dokumentacja", - "help.faq": "Często zadawane pytania", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Pierwsze kroki", + "help.getting_started": "Getting Started", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -469,13 +469,13 @@ "help.sources_web_upload": "Web Upload", "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", - "help.support": "Wsparcie", + "help.support": "Support", "help.support_admin_message": "Contact your administrator for support information.", "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Centrum pomocy", + "help.title": "Help Center", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "Konfiguruj", - "integrations.connect": "Połącz", - "integrations.connected": "Połączono", - "integrations.disconnect": "Rozłącz", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "Nie połączono", + "integrations.not_connected": "Not Connected", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Integracje", + "integrations.title": "Integrations", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Język zmieniony na {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Język", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "O nas", + "nav.about": "About", "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "Akcje administratora", - "nav.admin_menu": "Menu administratora", - "nav.api_docs": "Dokumentacja API", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Kopia zapasowa i przywracanie", - "nav.credentials": "Poświadczenia", - "nav.dark_mode": "Tryb ciemny", - "nav.dashboard": "Pulpit", - "nav.developer_docs": "Dokumentacja dla programistów", - "nav.duplicates": "Duplikaty", - "nav.file_manager": "Menedżer plików", - "nav.files": "Pliki", - "nav.help": "Pomoc", - "nav.help_center": "Centrum pomocy", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", "nav.imap": "Email Import", - "nav.integrations": "Integracje", - "nav.light_mode": "Tryb jasny", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "Nawigacja główna", - "nav.notifications": "Powiadomienia", - "nav.open_main_menu": "Otwórz menu główne", - "nav.pipelines": "Potoki", - "nav.plan_designer": "Projektant planów", - "nav.pricing": "Cennik", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "Monitor kolejki", - "nav.scheduled_jobs": "Zaplanowane zadania", - "nav.search": "Szukaj", - "nav.settings": "Ustawienia", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "Podobieństwo", - "nav.skip_to_content": "Przejdź do treści głównej", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", "nav.status": "Status", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Przełącz tryb ciemny", - "nav.toggle_nav": "Przełącz menu nawigacji", - "nav.upload": "Prześlij", - "nav.users": "Użytkownicy", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Oznacz wszystkie jako przeczytane", + "notifications.mark_all_read": "Mark All as Read", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Oznacz jako przeczytane", - "notifications.no_notifications": "Brak powiadomień", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", - "notifications.title": "Powiadomienia", - "notifications.unread_count": "{count} nieprzeczytanych powiadomień", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Utwórz potok", + "pipelines.create": "Create Pipeline", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Edytuj potok", + "pipelines.edit": "Edit Pipeline", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Potoki przetwarzania", + "pipelines.title": "Processing Pipelines", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "Nie znaleziono wyników", + "search.no_results": "No results found", "search.page_title": "Search Documents", - "search.placeholder": "Szukaj wg nazwy, treści, tagów...", + "search.placeholder": "Search by filename, content, tags...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "Znaleziono {count} wyników", + "search.results_count": "{count} results found", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "Szukaj dokumentów", + "search.title": "Search Documents", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Czy na pewno chcesz zresetować to ustawienie?", + "settings.reset_confirm": "Are you sure you want to reset this setting?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Nie udało się zapisać ustawienia", + "settings.save_error": "Failed to save setting", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Ustawienie zapisane pomyślnie", + "settings.save_success": "Setting saved successfully", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Ustawienia", + "settings.title": "Settings", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Przeciągnij pliki tutaj lub kliknij, aby przeglądać", + "upload.drag_drop": "Drag & drop files here or click to browse", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Przesyłanie nie powiodło się", + "upload.error": "Upload failed", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Maksymalny rozmiar pliku: {size}", + "upload.max_size": "Maximum file size: {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "Wybierz plik", - "upload.success": "Plik przesłany pomyślnie", - "upload.title": "Prześlij dokument", - "upload.uploading": "Przesyłanie...", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf" From 26ce680f03ec527932555a65ea5c8f98a7da1fbb Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:04 +0100 Subject: [PATCH 24/56] New translations en.json (Portuguese) --- frontend/translations/pt.json | 318 +++++++++++++++++----------------- 1 file changed, 159 insertions(+), 159 deletions(-) diff --git a/frontend/translations/pt.json b/frontend/translations/pt.json index 10bac698..d36160ed 100644 --- a/frontend/translations/pt.json +++ b/frontend/translations/pt.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Iniciar sessão", + "auth.login": "Log In", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Terminar sessão", - "auth.my_account": "A minha conta", + "auth.logout": "Log Out", + "auth.my_account": "My Account", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "Perfil", + "auth.profile": "Profile", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Registar", + "auth.signup": "Sign Up", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "Ações", - "common.active": "Ativo", - "common.all": "Tudo", - "common.back": "Voltar", - "common.cancel": "Cancelar", - "common.close": "Fechar", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", "common.col_pending": "Pending", - "common.completed": "Concluído", - "common.confirm": "Confirmar", - "common.copied": "Copiado!", - "common.copy": "Copiar", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", "common.create": "Create", - "common.created": "Criado", - "common.date": "Data", - "common.delete": "Eliminar", - "common.description": "Descrição", - "common.details": "Detalhes", - "common.disabled": "Desativado", - "common.download": "Descarregar", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", "common.duplicate": "Duplicate", - "common.edit": "Editar", - "common.enabled": "Ativado", - "common.error": "Erro", - "common.failed": "Falhado", - "common.filter": "Filtrar", - "common.inactive": "Inativo", - "common.info": "Informação", - "common.loading": "A carregar...", - "common.name": "Nome", - "common.next": "Seguinte", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", "common.next_page": "Next page", - "common.no": "Não", - "common.none": "Nenhum", + "common.no": "No", + "common.none": "None", "common.page": "Page", - "common.pending": "Pendente", + "common.pending": "Pending", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "A processar", - "common.refresh": "Atualizar", - "common.reset": "Repor", - "common.retry": "Tentar novamente", - "common.save": "Guardar", - "common.search": "Pesquisar", - "common.select": "Selecionar", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", "common.select_placeholder": "— select —", - "common.size": "Tamanho", - "common.status": "Estado", + "common.size": "Size", + "common.status": "Status", "common.submit": "Submit", - "common.success": "Sucesso", + "common.success": "Success", "common.tags": "Tags", - "common.type": "Tipo", - "common.updated": "Atualizado", - "common.upload": "Carregar", - "common.view": "Ver", - "common.warning": "Aviso", - "common.yes": "Sim", - "cookie.accept": "Entendido", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "O DocuElevate utiliza apenas cookies de sessão essenciais necessários para a autenticação e o funcionamento do serviço. Não são utilizados cookies de rastreamento ou analíticos.", - "cookie.notice_label": "Aviso de cookies", - "cookie.policy_link": "Política de cookies", - "cookie.privacy_link": "Aviso de privacidade", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Integrações ativas", - "dashboard.files_this_month": "Ficheiros este mês", - "dashboard.files_today": "Ficheiros hoje", - "dashboard.ocr_processed": "OCR processados", - "dashboard.quick_actions": "Ações rápidas", - "dashboard.recent_activity": "Atividade recente", - "dashboard.storage_targets": "Destinos de armazenamento", - "dashboard.title": "Painel", - "dashboard.total_files": "Total de ficheiros", - "dashboard.welcome": "Bem-vindo ao DocuElevate", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Proibido", - "error.forbidden_message": "Não tem permissão para aceder a esta página.", - "error.not_found": "Página não encontrada", - "error.not_found_message": "A página que procura não existe.", - "error.server_error": "Erro interno do servidor", - "error.server_error_message": "Algo correu mal. Tente novamente mais tarde.", - "error.unauthorized": "Não autorizado", - "error.unauthorized_message": "Precisa de iniciar sessão para aceder a esta página.", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Título do documento", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "Tamanho do ficheiro", - "files.filename": "Nome do ficheiro", + "files.file_size": "File Size", + "files.filename": "Filename", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "Nenhum ficheiro encontrado", - "files.ocr_status": "Estado OCR", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -399,23 +399,23 @@ "files.table_mime_type": "MIME Type", "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", - "files.tags": "Etiquetas", - "files.title": "Ficheiros", + "files.tags": "Tags", + "files.title": "Files", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Carregado", + "files.uploaded": "Uploaded", "footer.about": "About", "footer.attribution": "Attribution", - "footer.attributions": "Atribuições", + "footer.attributions": "Attributions", "footer.cookies": "Cookies", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Aviso legal", - "footer.license": "Licença", - "footer.navigation": "Navegação do rodapé", - "footer.privacy": "Privacidade", - "footer.terms": "Termos", - "footer.version": "Versão {version}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", "help.destinations_email": "Email Forwarding", @@ -435,8 +435,8 @@ "help.destinations_sftp_desc": "Secure file transfer to any server.", "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", - "help.documentation": "Documentação", - "help.faq": "Perguntas frequentes", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Primeiros passos", + "help.getting_started": "Getting Started", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -469,13 +469,13 @@ "help.sources_web_upload": "Web Upload", "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", - "help.support": "Suporte", + "help.support": "Support", "help.support_admin_message": "Contact your administrator for support information.", "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Centro de ajuda", + "help.title": "Help Center", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "Configurar", - "integrations.connect": "Ligar", - "integrations.connected": "Ligado", - "integrations.disconnect": "Desligar", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "Não ligado", + "integrations.not_connected": "Not Connected", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Integrações", + "integrations.title": "Integrations", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Idioma alterado para {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Idioma", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "Sobre", + "nav.about": "About", "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "Ações de administração", - "nav.admin_menu": "Menu de administração", - "nav.api_docs": "Documentação API", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Cópia de segurança e restauro", - "nav.credentials": "Credenciais", - "nav.dark_mode": "Modo escuro", - "nav.dashboard": "Painel", - "nav.developer_docs": "Documentação para programadores", - "nav.duplicates": "Duplicados", - "nav.file_manager": "Gestor de ficheiros", - "nav.files": "Ficheiros", - "nav.help": "Ajuda", - "nav.help_center": "Centro de ajuda", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", "nav.imap": "Email Import", - "nav.integrations": "Integrações", - "nav.light_mode": "Modo claro", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "Navegação principal", - "nav.notifications": "Notificações", - "nav.open_main_menu": "Abrir menu principal", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", "nav.pipelines": "Pipelines", - "nav.plan_designer": "Designer de planos", - "nav.pricing": "Preços", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "Monitor de fila", - "nav.scheduled_jobs": "Tarefas agendadas", - "nav.search": "Pesquisar", - "nav.settings": "Definições", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "Similaridade", - "nav.skip_to_content": "Ir para o conteúdo principal", - "nav.status": "Estado", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Alternar modo escuro", - "nav.toggle_nav": "Alternar menu de navegação", - "nav.upload": "Carregar", - "nav.users": "Utilizadores", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Marcar todas como lidas", + "notifications.mark_all_read": "Mark All as Read", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Marcar como lida", - "notifications.no_notifications": "Sem notificações", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", - "notifications.title": "Notificações", - "notifications.unread_count": "{count} notificações por ler", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Criar pipeline", + "pipelines.create": "Create Pipeline", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Editar pipeline", + "pipelines.edit": "Edit Pipeline", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Pipelines de processamento", + "pipelines.title": "Processing Pipelines", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "Nenhum resultado encontrado", + "search.no_results": "No results found", "search.page_title": "Search Documents", - "search.placeholder": "Pesquisar por nome, conteúdo, etiquetas...", + "search.placeholder": "Search by filename, content, tags...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "{count} resultados encontrados", + "search.results_count": "{count} results found", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "Pesquisar documentos", + "search.title": "Search Documents", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Tem a certeza de que pretende repor esta definição?", + "settings.reset_confirm": "Are you sure you want to reset this setting?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Falha ao guardar definição", + "settings.save_error": "Failed to save setting", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Definição guardada com sucesso", + "settings.save_success": "Setting saved successfully", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Definições", + "settings.title": "Settings", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Arraste ficheiros para aqui ou clique para procurar", + "upload.drag_drop": "Drag & drop files here or click to browse", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Falha ao carregar", + "upload.error": "Upload failed", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Tamanho máximo do ficheiro: {size}", + "upload.max_size": "Maximum file size: {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "Selecionar ficheiro", - "upload.success": "Ficheiro carregado com sucesso", - "upload.title": "Carregar documento", - "upload.uploading": "A carregar...", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf" From c0fb2c4069db187b196f532120d3c2072adeee87 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:05 +0100 Subject: [PATCH 25/56] New translations en.json (Russian) --- frontend/translations/ru.json | 324 +++++++++++++++++----------------- 1 file changed, 162 insertions(+), 162 deletions(-) diff --git a/frontend/translations/ru.json b/frontend/translations/ru.json index 6c90ec67..d36160ed 100644 --- a/frontend/translations/ru.json +++ b/frontend/translations/ru.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Войти", + "auth.login": "Log In", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Выйти", - "auth.my_account": "Мой аккаунт", + "auth.logout": "Log Out", + "auth.my_account": "My Account", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "Профиль", + "auth.profile": "Profile", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Регистрация", + "auth.signup": "Sign Up", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "Действия", - "common.active": "Активно", - "common.all": "Все", - "common.back": "Назад", - "common.cancel": "Отмена", - "common.close": "Закрыть", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", "common.col_pending": "Pending", - "common.completed": "Завершено", - "common.confirm": "Подтвердить", - "common.copied": "Скопировано!", - "common.copy": "Копировать", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", "common.create": "Create", - "common.created": "Создано", - "common.date": "Дата", - "common.delete": "Удалить", - "common.description": "Описание", - "common.details": "Подробности", - "common.disabled": "Отключено", - "common.download": "Скачать", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", "common.duplicate": "Duplicate", - "common.edit": "Редактировать", - "common.enabled": "Включено", - "common.error": "Ошибка", - "common.failed": "Ошибка", - "common.filter": "Фильтр", - "common.inactive": "Неактивно", - "common.info": "Информация", - "common.loading": "Загрузка...", - "common.name": "Название", - "common.next": "Далее", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", "common.next_page": "Next page", - "common.no": "Нет", - "common.none": "Нет", + "common.no": "No", + "common.none": "None", "common.page": "Page", - "common.pending": "В ожидании", + "common.pending": "Pending", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "Обработка", - "common.refresh": "Обновить", - "common.reset": "Сбросить", - "common.retry": "Повторить", - "common.save": "Сохранить", - "common.search": "Поиск", - "common.select": "Выбрать", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", "common.select_placeholder": "— select —", - "common.size": "Размер", - "common.status": "Статус", + "common.size": "Size", + "common.status": "Status", "common.submit": "Submit", - "common.success": "Успешно", + "common.success": "Success", "common.tags": "Tags", - "common.type": "Тип", - "common.updated": "Обновлено", - "common.upload": "Загрузить", - "common.view": "Просмотр", - "common.warning": "Предупреждение", - "common.yes": "Да", - "cookie.accept": "Понятно", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate использует только необходимые сессионные файлы cookie для аутентификации и работы сервиса. Файлы cookie для отслеживания и аналитики не используются.", - "cookie.notice_label": "Уведомление о файлах cookie", - "cookie.policy_link": "Политика файлов cookie", - "cookie.privacy_link": "Уведомление о конфиденциальности", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Активные интеграции", - "dashboard.files_this_month": "Файлы за месяц", - "dashboard.files_today": "Файлы сегодня", - "dashboard.ocr_processed": "OCR обработано", - "dashboard.quick_actions": "Быстрые действия", - "dashboard.recent_activity": "Последняя активность", - "dashboard.storage_targets": "Хранилища", - "dashboard.title": "Панель управления", - "dashboard.total_files": "Всего файлов", - "dashboard.welcome": "Добро пожаловать в DocuElevate", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Доступ запрещён", - "error.forbidden_message": "У вас нет прав для доступа к этой странице.", - "error.not_found": "Страница не найдена", - "error.not_found_message": "Запрашиваемая страница не существует.", - "error.server_error": "Внутренняя ошибка сервера", - "error.server_error_message": "Что-то пошло не так. Пожалуйста, попробуйте позже.", - "error.unauthorized": "Не авторизован", - "error.unauthorized_message": "Для доступа к этой странице необходимо войти в систему.", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Название документа", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "Размер файла", - "files.filename": "Имя файла", + "files.file_size": "File Size", + "files.filename": "Filename", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "Файлы не найдены", - "files.ocr_status": "Статус OCR", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -399,23 +399,23 @@ "files.table_mime_type": "MIME Type", "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", - "files.tags": "Теги", - "files.title": "Файлы", + "files.tags": "Tags", + "files.title": "Files", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Загружено", + "files.uploaded": "Uploaded", "footer.about": "About", "footer.attribution": "Attribution", - "footer.attributions": "Атрибуции", - "footer.cookies": "Файлы cookie", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Выходные данные", - "footer.license": "Лицензия", - "footer.navigation": "Навигация подвала", - "footer.privacy": "Конфиденциальность", - "footer.terms": "Условия", - "footer.version": "Версия {version}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", "help.destinations_email": "Email Forwarding", @@ -435,8 +435,8 @@ "help.destinations_sftp_desc": "Secure file transfer to any server.", "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", - "help.documentation": "Документация", - "help.faq": "Часто задаваемые вопросы", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Начало работы", + "help.getting_started": "Getting Started", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -469,13 +469,13 @@ "help.sources_web_upload": "Web Upload", "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", - "help.support": "Поддержка", + "help.support": "Support", "help.support_admin_message": "Contact your administrator for support information.", "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Центр помощи", + "help.title": "Help Center", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "Настроить", - "integrations.connect": "Подключить", - "integrations.connected": "Подключено", - "integrations.disconnect": "Отключить", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "Не подключено", + "integrations.not_connected": "Not Connected", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Интеграции", + "integrations.title": "Integrations", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Язык изменён на {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Язык", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "О нас", - "nav.admin": "Админ", + "nav.about": "About", + "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "Действия администратора", - "nav.admin_menu": "Меню администратора", - "nav.api_docs": "Документация API", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Резервное копирование и восстановление", - "nav.credentials": "Учётные данные", - "nav.dark_mode": "Тёмная тема", - "nav.dashboard": "Панель управления", - "nav.developer_docs": "Документация для разработчиков", - "nav.duplicates": "Дубликаты", - "nav.file_manager": "Менеджер файлов", - "nav.files": "Файлы", - "nav.help": "Помощь", - "nav.help_center": "Центр помощи", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", "nav.imap": "Email Import", - "nav.integrations": "Интеграции", - "nav.light_mode": "Светлая тема", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "Основная навигация", - "nav.notifications": "Уведомления", - "nav.open_main_menu": "Открыть главное меню", - "nav.pipelines": "Конвейеры", - "nav.plan_designer": "Конструктор планов", - "nav.pricing": "Цены", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "Монитор очереди", - "nav.scheduled_jobs": "Запланированные задачи", - "nav.search": "Поиск", - "nav.settings": "Настройки", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "Сходство", - "nav.skip_to_content": "Перейти к основному содержанию", - "nav.status": "Статус", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Переключить тёмную тему", - "nav.toggle_nav": "Переключить меню навигации", - "nav.upload": "Загрузить", - "nav.users": "Пользователи", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Отметить все как прочитанные", + "notifications.mark_all_read": "Mark All as Read", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Отметить как прочитанное", - "notifications.no_notifications": "Нет уведомлений", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", - "notifications.title": "Уведомления", - "notifications.unread_count": "{count} непрочитанных уведомлений", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Создать конвейер", + "pipelines.create": "Create Pipeline", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Редактировать конвейер", + "pipelines.edit": "Edit Pipeline", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Конвейеры обработки", + "pipelines.title": "Processing Pipelines", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "Результаты не найдены", + "search.no_results": "No results found", "search.page_title": "Search Documents", - "search.placeholder": "Поиск по имени, содержимому, тегам...", + "search.placeholder": "Search by filename, content, tags...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "Найдено результатов: {count}", + "search.results_count": "{count} results found", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "Поиск документов", + "search.title": "Search Documents", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Вы уверены, что хотите сбросить эту настройку?", + "settings.reset_confirm": "Are you sure you want to reset this setting?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Не удалось сохранить настройку", + "settings.save_error": "Failed to save setting", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Настройка сохранена", + "settings.save_success": "Setting saved successfully", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Настройки", + "settings.title": "Settings", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Перетащите файлы сюда или нажмите для выбора", + "upload.drag_drop": "Drag & drop files here or click to browse", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Ошибка загрузки", + "upload.error": "Upload failed", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Максимальный размер файла: {size}", + "upload.max_size": "Maximum file size: {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "Выбрать файл", - "upload.success": "Файл успешно загружен", - "upload.title": "Загрузить документ", - "upload.uploading": "Загрузка...", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf" From 62624bc5ff85d8d5b6ff121f2dc6cac35657cdbb Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:06 +0100 Subject: [PATCH 26/56] New translations en.json (Slovak) --- frontend/translations/sk.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/sk.json b/frontend/translations/sk.json index 51e779f2..d36160ed 100644 --- a/frontend/translations/sk.json +++ b/frontend/translations/sk.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Jazyk bol zmenený na {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Slovenčina", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 5264d6c66c29abe5d4e12f78fcb3dfb6124bad67 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:07 +0100 Subject: [PATCH 27/56] New translations en.json (Slovenian) --- frontend/translations/sl.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/sl.json b/frontend/translations/sl.json index ffd117cf..d36160ed 100644 --- a/frontend/translations/sl.json +++ b/frontend/translations/sl.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Jezik je bil spremenjen na {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Slovenščina", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 38e2b7736290bd8754d182cf9e0bcc7d3e188060 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:08 +0100 Subject: [PATCH 28/56] New translations en.json (Serbian (Cyrillic)) --- frontend/translations/sr.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/sr.json diff --git a/frontend/translations/sr.json b/frontend/translations/sr.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/sr.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From 7b5a0bbab94b4d74be9603e8f992f614bc80d86a Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:09 +0100 Subject: [PATCH 29/56] New translations en.json (Swedish) --- frontend/translations/sv.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/sv.json b/frontend/translations/sv.json index 9a0dd1e5..d36160ed 100644 --- a/frontend/translations/sv.json +++ b/frontend/translations/sv.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Språket ändrades till {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Svenska", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 57910b7af5b0d75f2df7c41c80c3320276fb5871 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:10 +0100 Subject: [PATCH 30/56] New translations en.json (Turkish) --- frontend/translations/tr.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/tr.json b/frontend/translations/tr.json index 94f348af..d36160ed 100644 --- a/frontend/translations/tr.json +++ b/frontend/translations/tr.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Dil {language} olarak değiştirildi", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Türkçe", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From db4e1f7b6d7363a20c773b7de5d259ca90d4b34e Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:11 +0100 Subject: [PATCH 31/56] New translations en.json (Ukrainian) --- frontend/translations/uk.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/uk.json b/frontend/translations/uk.json index a0d00101..d36160ed 100644 --- a/frontend/translations/uk.json +++ b/frontend/translations/uk.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Мову змінено на {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Українська", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From f61691b8de14b7affc6056ba6d4bd940d4afa209 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:13 +0100 Subject: [PATCH 32/56] New translations en.json (Chinese Simplified) --- frontend/translations/zh.json | 324 +++++++++++++++++----------------- 1 file changed, 162 insertions(+), 162 deletions(-) diff --git a/frontend/translations/zh.json b/frontend/translations/zh.json index 90d3d9e6..d36160ed 100644 --- a/frontend/translations/zh.json +++ b/frontend/translations/zh.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "登录", + "auth.login": "Log In", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "退出", - "auth.my_account": "我的账户", + "auth.logout": "Log Out", + "auth.my_account": "My Account", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "个人资料", + "auth.profile": "Profile", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "注册", + "auth.signup": "Sign Up", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "操作", - "common.active": "活跃", - "common.all": "全部", - "common.back": "返回", - "common.cancel": "取消", - "common.close": "关闭", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", "common.col_pending": "Pending", - "common.completed": "已完成", - "common.confirm": "确认", - "common.copied": "已复制!", - "common.copy": "复制", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", "common.create": "Create", - "common.created": "创建时间", - "common.date": "日期", - "common.delete": "删除", - "common.description": "描述", - "common.details": "详情", - "common.disabled": "已禁用", - "common.download": "下载", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", "common.duplicate": "Duplicate", - "common.edit": "编辑", - "common.enabled": "已启用", - "common.error": "错误", - "common.failed": "失败", - "common.filter": "筛选", - "common.inactive": "不活跃", - "common.info": "信息", - "common.loading": "加载中...", - "common.name": "名称", - "common.next": "下一步", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", "common.next_page": "Next page", - "common.no": "否", - "common.none": "无", + "common.no": "No", + "common.none": "None", "common.page": "Page", - "common.pending": "待处理", + "common.pending": "Pending", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "处理中", - "common.refresh": "刷新", - "common.reset": "重置", - "common.retry": "重试", - "common.save": "保存", - "common.search": "搜索", - "common.select": "选择", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", "common.select_placeholder": "— select —", - "common.size": "大小", - "common.status": "状态", + "common.size": "Size", + "common.status": "Status", "common.submit": "Submit", - "common.success": "成功", + "common.success": "Success", "common.tags": "Tags", - "common.type": "类型", - "common.updated": "更新时间", - "common.upload": "上传", - "common.view": "查看", - "common.warning": "警告", - "common.yes": "是", - "cookie.accept": "我知道了", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate 仅使用身份验证和服务运行所需的基本会话 Cookie。不使用任何跟踪或分析 Cookie。", - "cookie.notice_label": "Cookie 通知", - "cookie.policy_link": "Cookie 政策", - "cookie.privacy_link": "隐私声明", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "活跃集成", - "dashboard.files_this_month": "本月文件", - "dashboard.files_today": "今日文件", - "dashboard.ocr_processed": "OCR 已处理", - "dashboard.quick_actions": "快捷操作", - "dashboard.recent_activity": "最近活动", - "dashboard.storage_targets": "存储目标", - "dashboard.title": "仪表盘", - "dashboard.total_files": "文件总数", - "dashboard.welcome": "欢迎使用 DocuElevate", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "禁止访问", - "error.forbidden_message": "您没有权限访问此页面。", - "error.not_found": "页面未找到", - "error.not_found_message": "您要查找的页面不存在。", - "error.server_error": "服务器内部错误", - "error.server_error_message": "出了点问题,请稍后再试。", - "error.unauthorized": "未授权", - "error.unauthorized_message": "您需要登录才能访问此页面。", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "文档标题", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "文件大小", - "files.filename": "文件名", + "files.file_size": "File Size", + "files.filename": "Filename", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "未找到文件", - "files.ocr_status": "OCR 状态", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -399,23 +399,23 @@ "files.table_mime_type": "MIME Type", "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", - "files.tags": "标签", - "files.title": "文件", + "files.tags": "Tags", + "files.title": "Files", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "已上传", + "files.uploaded": "Uploaded", "footer.about": "About", "footer.attribution": "Attribution", - "footer.attributions": "致谢", - "footer.cookies": "Cookie", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "法律声明", - "footer.license": "许可", - "footer.navigation": "页脚导航", - "footer.privacy": "隐私", - "footer.terms": "条款", - "footer.version": "版本 {version}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", "help.destinations_email": "Email Forwarding", @@ -435,8 +435,8 @@ "help.destinations_sftp_desc": "Secure file transfer to any server.", "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", - "help.documentation": "文档", - "help.faq": "常见问题", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "入门指南", + "help.getting_started": "Getting Started", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -469,13 +469,13 @@ "help.sources_web_upload": "Web Upload", "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", - "help.support": "支持", + "help.support": "Support", "help.support_admin_message": "Contact your administrator for support information.", "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "帮助中心", + "help.title": "Help Center", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "配置", - "integrations.connect": "连接", - "integrations.connected": "已连接", - "integrations.disconnect": "断开", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "未连接", + "integrations.not_connected": "Not Connected", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "集成", + "integrations.title": "Integrations", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "语言已更改为{language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "语言", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "关于", - "nav.admin": "管理", + "nav.about": "About", + "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "管理操作", - "nav.admin_menu": "管理菜单", - "nav.api_docs": "API 文档", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "备份与恢复", - "nav.credentials": "凭据", - "nav.dark_mode": "深色模式", - "nav.dashboard": "仪表盘", - "nav.developer_docs": "开发者文档", - "nav.duplicates": "重复文件", - "nav.file_manager": "文件管理器", - "nav.files": "文件", - "nav.help": "帮助", - "nav.help_center": "帮助中心", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", "nav.imap": "Email Import", - "nav.integrations": "集成", - "nav.light_mode": "浅色模式", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "主导航", - "nav.notifications": "通知", - "nav.open_main_menu": "打开主菜单", - "nav.pipelines": "处理流程", - "nav.plan_designer": "方案设计", - "nav.pricing": "价格", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "队列监控", - "nav.scheduled_jobs": "计划任务", - "nav.search": "搜索", - "nav.settings": "设置", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "相似度", - "nav.skip_to_content": "跳至主要内容", - "nav.status": "状态", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "切换深色模式", - "nav.toggle_nav": "切换导航菜单", - "nav.upload": "上传", - "nav.users": "用户", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "全部标记为已读", + "notifications.mark_all_read": "Mark All as Read", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "标记为已读", - "notifications.no_notifications": "没有通知", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", - "notifications.title": "通知", - "notifications.unread_count": "{count} 条未读通知", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "创建流程", + "pipelines.create": "Create Pipeline", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "编辑流程", + "pipelines.edit": "Edit Pipeline", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "处理流程", + "pipelines.title": "Processing Pipelines", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "未找到结果", + "search.no_results": "No results found", "search.page_title": "Search Documents", - "search.placeholder": "按文件名、内容、标签搜索...", + "search.placeholder": "Search by filename, content, tags...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "找到 {count} 个结果", + "search.results_count": "{count} results found", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "搜索文档", + "search.title": "Search Documents", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "确定要重置此设置吗?", + "settings.reset_confirm": "Are you sure you want to reset this setting?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "设置保存失败", + "settings.save_error": "Failed to save setting", "settings.save_setting_title": "Save this setting", - "settings.save_success": "设置保存成功", + "settings.save_success": "Setting saved successfully", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "设置", + "settings.title": "Settings", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "将文件拖放到此处或点击浏览", + "upload.drag_drop": "Drag & drop files here or click to browse", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "上传失败", + "upload.error": "Upload failed", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "最大文件大小:{size}", + "upload.max_size": "Maximum file size: {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "选择文件", - "upload.success": "文件上传成功", - "upload.title": "上传文档", - "upload.uploading": "上传中...", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf" From e5beb48f693660732eb70e7d9325475618615387 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:15 +0100 Subject: [PATCH 33/56] New translations en.json (Vietnamese) --- frontend/translations/vi.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/vi.json diff --git a/frontend/translations/vi.json b/frontend/translations/vi.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/vi.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From 250b008304360b1eeb020cf446402086aad1bf67 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:16 +0100 Subject: [PATCH 34/56] New translations en.json (Galician) --- frontend/translations/gl.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/gl.json diff --git a/frontend/translations/gl.json b/frontend/translations/gl.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/gl.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From 53736a1906927b88a7296ab4fdafcce1855ef253 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:18 +0100 Subject: [PATCH 35/56] New translations en.json (Persian) --- frontend/translations/fa.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/fa.json diff --git a/frontend/translations/fa.json b/frontend/translations/fa.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/fa.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From 0da97eb092c74b317f0ee39dcd4000a78f39d6df Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:19 +0100 Subject: [PATCH 36/56] New translations en.json (Estonian) --- frontend/translations/et.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/et.json b/frontend/translations/et.json index 48d0860e..d36160ed 100644 --- a/frontend/translations/et.json +++ b/frontend/translations/et.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Keel muudeti keelele {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Eesti", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 23ee85f6b9b9f174e8209fe72e6cf32bfa9b9768 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:20 +0100 Subject: [PATCH 37/56] New translations en.json (Latvian) --- frontend/translations/lv.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/lv.json b/frontend/translations/lv.json index 3f4caf8f..d36160ed 100644 --- a/frontend/translations/lv.json +++ b/frontend/translations/lv.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Valoda tika nomainīta uz {language}", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Latviešu", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 300cc2a981bcfa6ac8953e123c591169875686a0 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:21 +0100 Subject: [PATCH 38/56] New translations en.json (Welsh) --- frontend/translations/cy.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/cy.json diff --git a/frontend/translations/cy.json b/frontend/translations/cy.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/cy.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From fb3d87bd46301dd4443dc93f2d1a10304bd4bb88 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:22 +0100 Subject: [PATCH 39/56] New translations en.json (Esperanto) --- frontend/translations/eo.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/eo.json diff --git a/frontend/translations/eo.json b/frontend/translations/eo.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/eo.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From aa5f497620b0f463439f1ff7b9950fe0eba3326a Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:23 +0100 Subject: [PATCH 40/56] New translations en.json (Luxembourgish) --- frontend/translations/lb.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/lb.json b/frontend/translations/lb.json index 14620da6..d36160ed 100644 --- a/frontend/translations/lb.json +++ b/frontend/translations/lb.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "D'Sprooch gouf op {language} geännert", + "language.changed": "Language changed to {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Lëtzebuergesch", + "language.selector": "Language", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 5046d05dea6d0b2f4d9f5ee51229ee7dd4e5e6b6 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:24 +0100 Subject: [PATCH 41/56] New translations en.json (Flemish) --- frontend/translations/vls.json | 929 +++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/vls.json diff --git a/frontend/translations/vls.json b/frontend/translations/vls.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/vls.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From f1afd475fc17b581bfd0de5c6e3e79227500d6ef Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:25 +0100 Subject: [PATCH 42/56] New translations en.json (Kannada) --- frontend/translations/kn.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/kn.json diff --git a/frontend/translations/kn.json b/frontend/translations/kn.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/kn.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From 75f4d55972911f3cb548baabd2b5cc9f155e1263 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:26 +0100 Subject: [PATCH 43/56] New translations en.json (Low German) --- frontend/translations/nds.json | 929 +++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/nds.json diff --git a/frontend/translations/nds.json b/frontend/translations/nds.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/nds.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From 15b37950e95b18c444661d0fda7f7da4cc10c222 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:35:27 +0100 Subject: [PATCH 44/56] New translations en.json (Limburgish) --- frontend/translations/li.json | 929 ++++++++++++++++++++++++++++++++++ 1 file changed, 929 insertions(+) create mode 100644 frontend/translations/li.json diff --git a/frontend/translations/li.json b/frontend/translations/li.json new file mode 100644 index 00000000..d36160ed --- /dev/null +++ b/frontend/translations/li.json @@ -0,0 +1,929 @@ +{ + "about.creator_heading": "Meet the Creator", + "about.creator_name": "Christian Krakau-Louis", + "about.creator_pre": "DocuElevate is passionately developed by", + "about.features_admin_api": "Powerful REST API for programmatic access", + "about.features_admin_config": "Highly configurable via environment variables", + "about.features_admin_docker": "Docker-ready for easy deployment and scaling", + "about.features_admin_heading": "Administration", + "about.features_admin_oauth2": "OAuth2 authentication support with Authentik", + "about.features_automation_background": "Background processing with Redis and Celery", + "about.features_automation_gmail": "Gmail and generic email account integration", + "about.features_automation_heading": "Automation", + "about.features_automation_imap": "IMAP inbox polling from multiple sources", + "about.features_automation_ingestion": "Automated document ingestion from various inputs", + "about.features_heading": "Key Features", + "about.features_integration_cloud": "Cloud storage: Dropbox, Google Drive, OneDrive, Amazon S3", + "about.features_integration_heading": "Integration & Storage", + "about.features_integration_multi_dest": "Multi-destination support (store documents in multiple locations)", + "about.features_integration_protocols": "Transfer protocols: FTP, SFTP, Email forwarding", + "about.features_integration_selfhosted": "Self-hosted options: Nextcloud, Paperless NGX, WebDAV", + "about.features_processing_classification": "Intelligent document classification and date extraction", + "about.features_processing_heading": "Document Processing", + "about.features_processing_metadata": "Automated metadata extraction using a pluggable AI provider", + "about.features_processing_ocr": "OCR powered by Azure Document Intelligence", + "about.features_processing_pdf": "PDF conversion for various file formats via Gotenberg", + "about.features_processing_upload": "Simple and secure file uploads with drag & drop support", + "about.github_logo_alt": "GitHub Logo", + "about.heading": "About DocuElevate", + "about.intro_post": " – your modern, intelligent solution for document processing! We’ve built DocuElevate to completely transform the way you handle your documents – from upload to extraction, from processing to storage.", + "about.intro_pre": "Welcome to ", + "about.involved_description": "Want to dive into the code, contribute ideas, or learn more about DocuElevate?", + "about.involved_docs": "Read the Documentation", + "about.involved_github": "View DocuElevate on GitHub", + "about.involved_heading": "Get Involved", + "about.involved_website": "Visit DocuElevate Website", + "about.legal_description": "We care about your privacy and data security. Please review our:", + "about.legal_heading": "Privacy & Legal", + "about.legal_license": "License Information", + "about.legal_privacy": "Privacy Notice", + "about.page_title": "About DocuElevate", + "about.story_heading": "Our Story", + "about.story_p1": "DocuElevate was created with one goal in mind: to simplify and streamline document management for everyone, whether you’re a small startup or a large enterprise.", + "about.story_p2": "We harness the power of pluggable AI providers (OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter, Portkey, and more) for metadata extraction and text refinement, integrate seamlessly with Dropbox, Nextcloud, and Paperless NGX for storage and indexing, leverage Azure Document Intelligence for OCR, and even use Gotenberg for file-to-PDF conversions.", + "api_tokens.col_created": "Created", + "api_tokens.col_last_ip": "Last IP", + "api_tokens.col_last_used": "Last Used", + "api_tokens.col_name": "Name", + "api_tokens.col_prefix": "Token Prefix", + "api_tokens.copy_to_clipboard": "Copy token to clipboard", + "api_tokens.copy_upload_example": "Copy upload example to clipboard", + "api_tokens.copy_warning_1": "Copy this token now — it will", + "api_tokens.copy_warning_2": "not be shown again", + "api_tokens.create_heading": "Create New Token", + "api_tokens.create_token": "Create Token", + "api_tokens.creating": "Creating…", + "api_tokens.heading": "API Tokens", + "api_tokens.intro": "Create personal API tokens to interact with the DocuElevate API programmatically. Use tokens for webhook uploads, CI/CD pipelines, or any script that needs to upload or retrieve documents.", + "api_tokens.loading_tokens": "Loading tokens…", + "api_tokens.never": "Never", + "api_tokens.no_tokens_heading": "No API tokens yet", + "api_tokens.no_tokens_help": "Create your first token above to get started.", + "api_tokens.page_title": "API Tokens – DocuElevate", + "api_tokens.revoke": "Revoke", + "api_tokens.revoke_prefix": "Revoke token", + "api_tokens.status_active": "Active", + "api_tokens.status_revoked": "Revoked", + "api_tokens.table_aria": "API Tokens", + "api_tokens.token_created": "Token created successfully!", + "api_tokens.token_name_label": "Token name", + "api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script", + "api_tokens.usage_heading": "Usage Example", + "api_tokens.usage_intro_post": "header with any API request:", + "api_tokens.usage_intro_pre": "Use your API token in the", + "api_tokens.your_tokens": "Your Tokens", + "app.name": "DocuElevate", + "audit.col_ip": "IP", + "audit.col_resource": "Resource", + "audit.col_timestamp": "Timestamp", + "audit.critical": "Critical", + "audit.filter_action": "Action", + "audit.filter_all_actions": "All actions", + "audit.filter_all_users": "All users", + "audit.filter_resource_placeholder": "e.g. document, user", + "audit.filter_resource_type": "Resource Type", + "audit.filter_severity": "Severity", + "audit.filter_user": "User", + "audit.filters_section_label": "Audit log filters", + "audit.next": "Next", + "audit.next_label": "Next page", + "audit.no_events": "No audit events recorded yet.", + "audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.", + "audit.page_title": "Audit Logs - DocuElevate", + "audit.pagination_label": "Audit log pagination", + "audit.prev": "Prev", + "audit.prev_label": "Previous page", + "audit.refresh_label": "Refresh audit logs", + "audit.siem_disabled_title": "SIEM forwarding is disabled", + "audit.siem_enabled_title": "Events are being forwarded to ", + "audit.siem_off": "SIEM: Off", + "audit.subtitle": "Comprehensive, append-only record of all significant actions.", + "audit.table_label": "Audit log events", + "audit.title": "Audit Logs", + "auth.confirm_password": "Confirm Password", + "auth.create_account": "Create account", + "auth.display_name_label": "Display Name", + "auth.email_label": "Email", + "auth.forgot_password": "Forgot Password?", + "auth.forgot_username": "Forgot username?", + "auth.login": "Log In", + "auth.login_title": "Log In", + "auth.logo_alt": "DocuElevate Logo", + "auth.logout": "Log Out", + "auth.my_account": "My Account", + "auth.no_account": "Don't have an account?", + "auth.or_continue_with": "Or continue with", + "auth.password_label": "Password", + "auth.profile": "Profile", + "auth.remember_me": "Remember me", + "auth.return_home": "Return to Home", + "auth.sign_in": "Sign in", + "auth.sign_in_sso": "Sign in with SSO", + "auth.sign_in_with": "Sign in with", + "auth.sign_in_with_username": "Sign in with username", + "auth.signup": "Sign Up", + "auth.signup_title": "Sign Up", + "auth.username_label": "Username", + "auth.username_or_email": "Username or Email", + "auth.verify_email_back_sign_in": "Back to sign in", + "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", + "auth.verify_email_heading": "Check your inbox", + "auth.verify_email_message": "We’ve sent you a verification email. Please click the link in the email to activate your account.", + "auth.verify_email_page_title": "DocuElevate - Verify Your Email", + "auth.verify_email_resend_aria_label": "Email address for resend", + "auth.verify_email_resend_button": "Resend verification email", + "auth.verify_email_resend_label": "Email address", + "auth.verify_email_resend_placeholder": "Enter your email address", + "auth.verify_email_resend_prompt": "Didn’t receive it?", + "backup.archives_heading": "Backup Archives", + "backup.backup_now": "Backup Now", + "backup.clean_up": "Clean Up", + "backup.cleanup_title": "Run retention cleanup now", + "backup.col_created": "Created", + "backup.col_filename": "Filename", + "backup.col_size": "Size", + "backup.col_storage": "Storage", + "backup.col_type": "Type", + "backup.config_auto_backup": "Auto-backup", + "backup.config_remote_dest": "Remote destination", + "backup.config_retention": "Retention", + "backup.config_total_size": "Total local size", + "backup.confirm_btn": "Confirm", + "backup.confirm_title": "Confirm action", + "backup.heading": "Backup Management", + "backup.local_only": "Local only", + "backup.no_backups": "No backups yet.", + "backup.no_backups_hint": "Click Backup Now to create your first backup.", + "backup.page_title": "Backup Management", + "backup.records_label": "records", + "backup.restore_btn": "Restore", + "backup.restore_desc_mid": "backup archive to restore the database.", + "backup.restore_desc_pre": "Upload a", + "backup.restore_desc_warning": "This will overwrite all current data.", + "backup.restore_file_label": "Backup archive (.db.gz)", + "backup.restore_heading": "Restore from File", + "backup.restoring": "Restoring…", + "backup.retention_daily_detail": "– kept for 3 weeks", + "backup.retention_heading": "Retention policy", + "backup.retention_hourly_detail": "– kept for 4 days", + "backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.", + "backup.retention_weekly_detail": "– kept for ~3 months", + "backup.snapshots": "snapshots", + "backup.status_ok": "ok", + "backup.storage_local": "local", + "backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).", + "backup.table_aria": "Backup archives", + "backup.trigger_daily": "Backup Now (Daily)", + "backup.trigger_hourly": "Backup Now (Hourly)", + "backup.trigger_weekly": "Backup Now (Weekly)", + "backup.type_daily": "Daily", + "backup.type_hourly": "Hourly", + "backup.type_weekly": "Weekly", + "billing.go_to_dashboard": "Go to dashboard", + "billing.manage_subscription": "Manage subscription", + "billing.success_heading": "You're all set!", + "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", + "billing.success_page_title": "DocuElevate - Subscription Activated", + "common.actions": "Actions", + "common.active": "Active", + "common.all": "All", + "common.back": "Back", + "common.cancel": "Cancel", + "common.close": "Close", + "common.col_pending": "Pending", + "common.completed": "Completed", + "common.confirm": "Confirm", + "common.copied": "Copied!", + "common.copy": "Copy", + "common.create": "Create", + "common.created": "Created", + "common.date": "Date", + "common.delete": "Delete", + "common.description": "Description", + "common.details": "Details", + "common.disabled": "Disabled", + "common.download": "Download", + "common.duplicate": "Duplicate", + "common.edit": "Edit", + "common.enabled": "Enabled", + "common.error": "Error", + "common.failed": "Failed", + "common.filter": "Filter", + "common.inactive": "Inactive", + "common.info": "Info", + "common.loading": "Loading...", + "common.name": "Name", + "common.next": "Next", + "common.next_page": "Next page", + "common.no": "No", + "common.none": "None", + "common.page": "Page", + "common.pending": "Pending", + "common.prev_page": "Previous page", + "common.previous": "Previous", + "common.processing": "Processing", + "common.refresh": "Refresh", + "common.reset": "Reset", + "common.retry": "Retry", + "common.save": "Save", + "common.search": "Search", + "common.select": "Select", + "common.select_placeholder": "— select —", + "common.size": "Size", + "common.status": "Status", + "common.submit": "Submit", + "common.success": "Success", + "common.tags": "Tags", + "common.type": "Type", + "common.updated": "Updated", + "common.upload": "Upload", + "common.view": "View", + "common.warning": "Warning", + "common.yes": "Yes", + "cookie.accept": "Got it", + "cookie.learn_more": "Learn more", + "cookie.message": "This website uses cookies to improve your experience.", + "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", + "cookie.notice_label": "Cookie notice", + "cookie.policy_link": "Cookie Policy", + "cookie.privacy_link": "Privacy Notice", + "credentials.col_action": "Action", + "credentials.col_credential": "Credential", + "credentials.col_source": "Source", + "credentials.configured": "Configured", + "credentials.edit_in_settings": "Edit in Settings", + "credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)", + "credentials.legend_env_after": " file", + "credentials.legend_env_before": "Value from environment variable or ", + "credentials.legend_missing": "Credential not set — integration will not work", + "credentials.legend_restart": "Restart required when this credential is rotated", + "credentials.legend_title": "Legend", + "credentials.manage_settings": "Manage Settings", + "credentials.not_configured": "Not Configured", + "credentials.page_title": "Credential Audit - DocuElevate", + "credentials.raw_json": "Raw JSON (API)", + "credentials.restart_title": "Restart required after rotating this credential", + "credentials.source_db_title": "Stored in database (encrypted)", + "credentials.source_env_title": "From environment variable", + "credentials.status_missing": "Missing", + "credentials.subtitle": "Overview of all sensitive credentials used by DocuElevate. No secret values are shown here — only whether each credential is configured and where it comes from.", + "credentials.table_for": "Credentials for", + "credentials.title": "Credential Audit", + "credentials.total_credentials": "Total Credentials", + "dashboard.active_integrations": "Active Integrations", + "dashboard.files_this_month": "Files This Month", + "dashboard.files_today": "Files Today", + "dashboard.ocr_processed": "OCR Processed", + "dashboard.quick_actions": "Quick Actions", + "dashboard.recent_activity": "Recent Activity", + "dashboard.storage_targets": "Storage Targets", + "dashboard.title": "Dashboard", + "dashboard.total_files": "Total Files", + "dashboard.welcome": "Welcome to DocuElevate", + "duplicates.file_id_label": "File ID", + "duplicates.file_id_placeholder": "e.g. 42", + "duplicates.find_btn": "Find", + "duplicates.found_files": "duplicate file(s) total.", + "duplicates.found_groups": "duplicate group(s) with", + "duplicates.found_prefix": "Found", + "duplicates.group_aria": "Duplicate group", + "duplicates.heading": "Duplicate Documents", + "duplicates.how_it_works_heading": "How near-duplicate detection works", + "duplicates.max_results_label": "Max results", + "duplicates.near_dup_desc": "Select a document to check whether any other files contain the same (or very similar) content — even if they were scanned at different times and have different SHA-256 hashes.", + "duplicates.near_dup_heading": "Find Near-Duplicates for a Document", + "duplicates.no_exact_heading": "No exact duplicates found", + "duplicates.page_title": "Duplicate Documents - DocuElevate", + "duplicates.pagination_aria": "Pagination", + "duplicates.role_duplicate": "Duplicate", + "duplicates.role_original": "Original", + "duplicates.tab_exact": "Exact Duplicates", + "duplicates.tab_near": "Near-Duplicate Finder", + "duplicates.tabs_aria": "Duplicate detection tabs", + "duplicates.threshold_label": "Similarity threshold", + "duplicates.view_dup_aria": "View duplicate file", + "duplicates.view_original_aria": "View original file", + "error.404_code": "404", + "error.404_heading": "Oops, we couldn’t find that page!", + "error.404_home": "Return Home", + "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_title": "404 - Not Found", + "error.500_code": "500", + "error.500_debug_info": "Show Debug Info", + "error.500_description": "Our servers encountered a mishap and need a moment.", + "error.500_heading": "Oops! Something Went Wrong.", + "error.500_home": "Go Home", + "error.500_img_alt": "Illustration of a server error", + "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", + "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", + "error.500_title": "Server Error - DocuElevate", + "error.forbidden": "Forbidden", + "error.forbidden_message": "You do not have permission to access this page.", + "error.not_found": "Page not found", + "error.not_found_message": "The page you are looking for does not exist.", + "error.server_error": "Internal Server Error", + "error.server_error_message": "Something went wrong. Please try again later.", + "error.unauthorized": "Unauthorized", + "error.unauthorized_message": "You need to log in to access this page.", + "files.action_delete": "Delete file", + "files.action_details": "View details", + "files.action_preview": "Quick preview", + "files.bulk_clear_selection": "Clear Selection", + "files.bulk_cloud_ocr": "Re-run Cloud OCR", + "files.bulk_delete": "Delete Selected", + "files.bulk_download": "Download as ZIP", + "files.bulk_reprocess": "Reprocess Selected", + "files.delete_modal_cancel": "Cancel", + "files.delete_modal_confirm": "Delete", + "files.delete_modal_message": "Are you sure you want to delete this file?", + "files.delete_modal_title": "Confirm Deletion", + "files.document_title": "Document Title", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", + "files.file_size": "File Size", + "files.filename": "Filename", + "files.files_selected": "files selected", + "files.filter_all_providers": "All Providers", + "files.filter_all_statuses": "All Statuses", + "files.filter_all_types": "All Types", + "files.filter_apply": "Apply Filters", + "files.filter_clear": "Clear", + "files.filter_date_from": "Date From", + "files.filter_date_from_aria": "Filter from date", + "files.filter_date_to": "Date To", + "files.filter_date_to_aria": "Filter to date", + "files.filter_form_aria": "Filter files", + "files.filter_mime_type": "MIME Type", + "files.filter_ocr_all": "All Files", + "files.filter_ocr_good": "Good quality", + "files.filter_ocr_poor": "Poor quality", + "files.filter_ocr_quality": "OCR Quality", + "files.filter_ocr_quality_aria": "Filter by OCR quality score", + "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_search_label": "Search Filename", + "files.filter_search_placeholder": "Enter filename...", + "files.filter_storage_provider": "Storage Provider", + "files.filter_tags_aria": "Filter by tags (comma-separated)", + "files.filter_tags_placeholder": "e.g. invoice,amazon", + "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", + "files.no_files": "No files found", + "files.ocr_status": "OCR Status", + "files.page_title": "File Records", + "files.pagination_files": "files", + "files.pagination_first": "First", + "files.pagination_last": "Last", + "files.pagination_nav_aria": "File list pagination", + "files.pagination_next": "Next", + "files.pagination_of": "of", + "files.pagination_previous": "Previous", + "files.pagination_showing": "Showing", + "files.preview_modal_close": "Close preview", + "files.preview_modal_title": "Preview", + "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", + "files.queue_banner_link": "View Queue", + "files.saved_searches_empty": "No saved searches yet", + "files.saved_searches_error": "Could not load saved searches", + "files.saved_searches_label": "Saved Searches", + "files.saved_searches_save": "Save Current", + "files.saved_searches_save_aria": "Save current filters as a saved search", + "files.search_results_empty": "No results found.", + "files.search_results_title": "Search Results", + "files.status_duplicate": "Duplicate", + "files.table_actions": "Actions", + "files.table_aria": "File records", + "files.table_created_at": "Created At", + "files.table_empty": "No files found", + "files.table_id": "ID", + "files.table_mime_type": "MIME Type", + "files.table_original_filename": "Original Filename", + "files.table_select_all": "Select all files on this page", + "files.tags": "Tags", + "files.title": "Files", + "files.upload_modal_aria": "Upload progress", + "files.upload_modal_close": "Close upload progress", + "files.upload_modal_header": "Uploading Files", + "files.uploaded": "Uploaded", + "footer.about": "About", + "footer.attribution": "Attribution", + "footer.attributions": "Attributions", + "footer.cookies": "Cookies", + "footer.copyright": "DocuElevate {year}", + "footer.imprint": "Imprint", + "footer.license": "License", + "footer.navigation": "Footer navigation", + "footer.privacy": "Privacy", + "footer.terms": "Terms", + "footer.version": "Version {version}", + "help.destinations_dropbox": "Dropbox", + "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", + "help.destinations_email": "Email Forwarding", + "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_google_drive": "Google Drive", + "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", + "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_nextcloud": "Nextcloud / WebDAV", + "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_onedrive": "OneDrive", + "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_paperless": "Paperless-ngx", + "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_s3": "Amazon S3", + "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_sftp": "SFTP / FTP", + "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_webhook": "Webhook", + "help.destinations_webhook_desc": "POST metadata to any external endpoint.", + "help.documentation": "Documentation", + "help.faq": "Frequently Asked Questions", + "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.faq_1_q": "How do I upload documents?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", + "help.faq_2_q": "Which file formats are supported?", + "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", + "help.faq_3_q": "Can I ingest documents from email?", + "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", + "help.faq_4_q": "How do processing pipelines work?", + "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", + "help.faq_5_q": "Is my data secure?", + "help.faq_heading": "Frequently Asked Questions", + "help.getting_started": "Getting Started", + "help.heading": "Help Center", + "help.page_title": "Help Center", + "help.privacy_notice": "Privacy Notice", + "help.quickstart_heading": "Quick Start", + "help.quickstart_storage": "Connect Storage", + "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", + "help.quickstart_upload": "Upload Documents", + "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", + "help.quickstart_workflows": "Automate Workflows", + "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", + "help.sources_email_ingestion": "Email Ingestion (IMAP)", + "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", + "help.sources_heading": "Sources – Getting Documents In", + "help.sources_rest_api": "REST API", + "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", + "help.sources_scanner": "Scanner & Mobile", + "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", + "help.sources_web_upload": "Web Upload", + "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", + "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.support": "Support", + "help.support_admin_message": "Contact your administrator for support information.", + "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", + "help.support_heading": "Contact Support", + "help.support_ticket_button": "Submit a Ticket", + "help.support_ticket_heading": "Open a Support Ticket", + "help.title": "Help Center", + "help.workflows_creating": "Creating a Pipeline", + "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", + "help.workflows_heading": "Workflows & Pipelines", + "help.workflows_step_1": "Convert to PDF", + "help.workflows_step_1_create": "Go to Pipelines in the main menu.", + "help.workflows_step_2": "OCR – extract text", + "help.workflows_step_2_create": "Click New Pipeline and give it a name.", + "help.workflows_step_3": "AI metadata extraction", + "help.workflows_step_3_create": "Add the processing steps you need.", + "help.workflows_step_4": "Deliver to one or more destinations", + "help.workflows_step_4_create": "Choose one or more delivery destinations.", + "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", + "help.workflows_typical_steps": "Typical Steps", + "help.workflows_what_is": "What is a Pipeline?", + "index.badge_intelligent": "Intelligent Document Processing", + "index.button_browse_files": "Browse Files", + "index.button_upload": "Upload", + "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "Email & URL-based document ingestion", + "index.capabilities_ocr": "OCR & metadata extraction with AI", + "index.capabilities_paperless": "Paperless-ngx integration for document management", + "index.capabilities_title": "Capabilities", + "index.capabilities_workflows": "Automated classification & routing workflows", + "index.cta_description": "Join teams already automating their document processing with DocuElevate.", + "index.cta_heading": "Ready to elevate your document workflow?", + "index.cta_pricing": "See pricing", + "index.cta_signup": "Create a free account", + "index.dashboard_subtitle": "Intelligent document processing & management", + "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", + "index.feature_ai": "AI Metadata Extraction", + "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", + "index.feature_cloud": "Multi-Cloud Storage", + "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", + "index.feature_email": "Email & IMAP Ingestion", + "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", + "index.feature_ocr": "OCR & Text Extraction", + "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", + "index.feature_pipelines": "Custom Pipelines", + "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", + "index.feature_search": "Full-Text Search", + "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", + "index.feature_section_title": "Everything you need for smart document workflows", + "index.getting_started": "Getting Started", + "index.getting_started_1": "Configure integrations via System Status", + "index.getting_started_2": "Upload your first document", + "index.getting_started_3": "Review results in Files", + "index.getting_started_learn": "Learn more about DocuElevate", + "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", + "index.hero_heading": "From upload to insight — automatically.", + "index.hero_login": "Log In", + "index.hero_pricing": "View Plans & Pricing", + "index.hero_signup": "Get Started — it’s free", + "index.integrations_active": "Active integrations", + "index.integrations_storage": "Storage targets", + "index.integrations_title": "Integrations", + "index.integrations_view_status": "View system status", + "index.page_title_dashboard": "Dashboard", + "index.page_title_public": "Intelligent Document Processing", + "index.platform_overview": "Platform overview", + "index.quick_actions": "Quick Actions", + "index.quick_documents": "My Documents", + "index.quick_documents_desc": "Browse your processed files", + "index.quick_search": "Search", + "index.quick_search_desc": "Full-text search across documents", + "index.quick_subscription": "My Subscription", + "index.quick_subscription_desc": "View plan & usage details", + "index.quick_system_status": "System Status", + "index.quick_system_status_desc": "Check integration health", + "index.quick_upload": "Upload Document", + "index.quick_upload_desc": "Process a new file", + "index.quick_view_files": "View All Files", + "index.quick_view_files_desc": "Browse processed documents", + "index.single_user_heading": "DocuElevate Dashboard", + "index.single_user_subtitle": "Intelligent document processing & management", + "index.stat_active_integrations": "Active Integrations", + "index.stat_active_users": "Active users", + "index.stat_files_month": "Files this month", + "index.stat_files_today": "Files today", + "index.stat_storage_targets": "Storage Targets", + "index.stat_total_files": "Total files", + "index.tier_plan": "Plan", + "index.tier_upgrade": "Upgrade", + "index.tier_view_details": "View full details", + "index.upgrade_daily_limits": "Higher daily & monthly limits", + "index.upgrade_description": "Unlock more documents, more destinations and priority support.", + "index.upgrade_destinations": "More storage destinations", + "index.upgrade_ocr_pages": "More OCR pages", + "index.upgrade_plan": "Upgrade your plan", + "index.upgrade_view_pricing": "View plans & pricing", + "index.usage_lifetime": "Lifetime files", + "index.usage_month": "Files this month", + "index.usage_my_usage": "My usage", + "index.usage_today": "Files today", + "index.usage_unlimited": "Unlimited", + "integrations.configure": "Configure", + "integrations.connect": "Connect", + "integrations.connected": "Connected", + "integrations.disconnect": "Disconnect", + "integrations.empty_state": "No integrations configured", + "integrations.folder_label": "Folder", + "integrations.host_label": "Host", + "integrations.imap_settings": "IMAP Settings", + "integrations.not_connected": "Not Connected", + "integrations.page_title": "Integrations", + "integrations.password_label": "Password", + "integrations.port_label": "Port", + "integrations.title": "Integrations", + "integrations.username_label": "Username", + "language.bg": "Български", + "language.ca": "Català", + "language.change_success": "Language changed to {language}", + "language.changed": "Language changed to {language}", + "language.cs": "Čeština", + "language.da": "Dansk", + "language.de": "Deutsch", + "language.el": "Ελληνικά", + "language.en": "English", + "language.es": "Español", + "language.et": "Eesti", + "language.fi": "Suomi", + "language.fr": "Français", + "language.ga": "Gaeilge", + "language.hr": "Hrvatski", + "language.hu": "Magyar", + "language.is": "Íslenska", + "language.it": "Italiano", + "language.lb": "Lëtzebuergesch", + "language.lt": "Lietuvių", + "language.lv": "Latviešu", + "language.nb": "Norsk", + "language.nl": "Nederlands", + "language.pl": "Polski", + "language.pt": "Português", + "language.ro": "Română", + "language.ru": "Русский", + "language.selector": "Language", + "language.selector_label": "Select language", + "language.sk": "Slovenčina", + "language.sl": "Slovenščina", + "language.sv": "Svenska", + "language.tr": "Türkçe", + "language.uk": "Українська", + "language.zh": "中文", + "nav.about": "About", + "nav.admin": "Admin", + "nav.admin.audit_logs": "Audit Logs", + "nav.admin.backups": "Backups", + "nav.admin.plans": "Plans", + "nav.admin.scheduled_jobs": "Scheduled Jobs", + "nav.admin.users": "Users", + "nav.admin_actions": "Admin actions", + "nav.admin_menu": "Admin menu", + "nav.api_docs": "API Docs", + "nav.api_tokens": "API Tokens", + "nav.backup_restore": "Backup & Restore", + "nav.credentials": "Credentials", + "nav.dark_mode": "Dark Mode", + "nav.dashboard": "Dashboard", + "nav.developer_docs": "Developer Docs", + "nav.duplicates": "Duplicates", + "nav.file_manager": "File Manager", + "nav.files": "Files", + "nav.help": "Help", + "nav.help_center": "Help Center", + "nav.imap": "Email Import", + "nav.integrations": "Integrations", + "nav.light_mode": "Light Mode", + "nav.login": "Log In", + "nav.logout": "Log Out", + "nav.main_navigation": "Main navigation", + "nav.notifications": "Notifications", + "nav.open_main_menu": "Open main menu", + "nav.pipelines": "Pipelines", + "nav.plan_designer": "Plan Designer", + "nav.pricing": "Pricing", + "nav.profile": "Profile", + "nav.queue": "Queue", + "nav.queue_monitor": "Queue Monitor", + "nav.scheduled_jobs": "Scheduled Jobs", + "nav.search": "Search", + "nav.settings": "Settings", + "nav.shared_links": "Shared Links", + "nav.signup": "Sign Up", + "nav.similarity": "Similarity", + "nav.skip_to_content": "Skip to main content", + "nav.status": "Status", + "nav.subscription": "Subscription", + "nav.toggle_dark_mode": "Toggle dark mode", + "nav.toggle_nav": "Toggle navigation menu", + "nav.upload": "Upload", + "nav.users": "Users", + "nav.version": "Version Info", + "notifications.filter_all": "All", + "notifications.filter_read": "Read only", + "notifications.filter_unread": "Unread only", + "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", + "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read_btn": "Mark all read", + "notifications.mark_read": "Mark as Read", + "notifications.no_notifications": "No notifications", + "notifications.page_title": "Notifications", + "notifications.tab_inbox": "Inbox", + "notifications.tab_settings": "Settings", + "notifications.title": "Notifications", + "notifications.unread_count": "{count} unread notifications", + "pipelines.active_label": "Active", + "pipelines.add_step_btn": "Add Step", + "pipelines.create": "Create Pipeline", + "pipelines.custom_label_label": "Custom Label", + "pipelines.default_label": "Default", + "pipelines.description_label": "Description", + "pipelines.description_placeholder": "Optional description", + "pipelines.disabled_label": "Disabled", + "pipelines.edit": "Edit Pipeline", + "pipelines.empty_state": "No pipelines yet", + "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", + "pipelines.enabled_label": "Enabled", + "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", + "pipelines.inactive_label": "Inactive", + "pipelines.loading": "Loading pipelines…", + "pipelines.name_placeholder": "My pipeline", + "pipelines.new_pipeline_btn": "New Pipeline", + "pipelines.no_steps": "No steps defined. Add a step to start building your pipeline.", + "pipelines.ocr_auto": "Auto (use system default)", + "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", + "pipelines.ocr_language_label": "OCR Language", + "pipelines.optional_suffix": "(optional)", + "pipelines.page_title": "Processing Pipelines", + "pipelines.set_default": "Set as my default pipeline", + "pipelines.step_label_placeholder": "Override the default step name", + "pipelines.step_type_label": "Step Type", + "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", + "pipelines.subtitle_system_post": "badge and are visible to all users.", + "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", + "pipelines.system_label": "System", + "pipelines.system_pipeline_label": "System pipeline (visible to all users)", + "pipelines.title": "Processing Pipelines", + "queue.active_tasks": "Active Tasks", + "queue.auto_refresh_1": "Auto-refreshes every", + "queue.auto_refresh_2": "seconds", + "queue.col_arguments": "Arguments", + "queue.col_current_step": "Current Step", + "queue.col_file": "File", + "queue.col_files": "Files", + "queue.col_queue": "Queue", + "queue.col_state": "State", + "queue.col_task": "Task", + "queue.col_task_id": "Task ID", + "queue.files_processing": "Files Processing", + "queue.heading": "Queue Monitor", + "queue.last_updated": "Last updated:", + "queue.loading_stats": "Loading queue statistics…", + "queue.no_active_tasks": "No active tasks", + "queue.no_data": "No data", + "queue.no_files_processing": "No files currently processing", + "queue.page_title": "Queue Monitor", + "queue.processing_pipeline": "Processing Pipeline", + "queue.queued_tasks": "Queued Tasks", + "queue.recently_processing": "Recently Processing Files", + "queue.redis_queues": "Redis Queues", + "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", + "queue.workers_online": "Workers Online", + "search.button": "Search", + "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.filter_aria_clear": "Clear all filters", + "search.filter_clear_button": "Clear Filters", + "search.filter_date_from": "Date From", + "search.filter_date_to": "Date To", + "search.filter_document_type": "Document Type", + "search.filter_document_type_placeholder": "e.g. Invoice", + "search.filter_language": "Language", + "search.filter_language_placeholder": "e.g. de", + "search.filter_sender": "Sender", + "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_tags": "Tags", + "search.filter_tags_placeholder": "e.g. amazon", + "search.filter_text_quality": "Text Quality", + "search.filter_text_quality_all": "All", + "search.filter_text_quality_high": "High", + "search.filter_text_quality_low": "Low", + "search.filter_text_quality_medium": "Medium", + "search.filter_text_quality_no_text": "No text", + "search.heading": "Document Search", + "search.input_aria_label": "Search documents", + "search.input_placeholder": "Search documents by content, sender, tags, type...", + "search.loading_indicator": "Searching…", + "search.no_results": "No results found", + "search.page_title": "Search Documents", + "search.placeholder": "Search by filename, content, tags...", + "search.result_empty": "No documents found matching your query.", + "search.results_count": "{count} results found", + "search.saved_aria_save": "Save current search", + "search.saved_button": "Save Current", + "search.saved_empty": "No saved searches yet", + "search.saved_error": "Could not load saved searches", + "search.saved_label": "Saved Searches", + "search.saved_loading": "Loading...", + "search.title": "Search Documents", + "settings.audit_log_btn": "Audit Log", + "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", + "settings.autocomplete_no_matches": "No matches — you can still type a custom value", + "settings.autocomplete_placeholder": "Type to search or enter a value…", + "settings.boolean_enable_prefix": "Enable", + "settings.categories_aria": "Settings categories", + "settings.categories_heading": "Categories", + "settings.db_wizard_btn": "DB Wizard", + "settings.effective_value_label": "Effective value:", + "settings.encrypted_suffix": "= encrypted at rest", + "settings.encrypted_title": "Value is encrypted at rest in database", + "settings.export_btn": "Export", + "settings.export_db_only": "DB settings only", + "settings.export_full_config": "Full effective config", + "settings.jump_to_category": "Jump to category…", + "settings.manage_config_prefix": "Manage configuration. Priority:", + "settings.model_picker_hint": "Pick from the list or type any model name supported by your provider.", + "settings.model_picker_placeholder": "Select a common model or type a custom name…", + "settings.no_results_clear": "clear the search", + "settings.no_results_heading": "No settings found", + "settings.no_results_hint": "Try a different search term or", + "settings.page_heading": "Application Settings", + "settings.required_label": "(required)", + "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.restart_required_suffix": "= restart required", + "settings.revert_btn": "Remove from DB", + "settings.revert_title": "Remove DB override and revert to environment variable or default", + "settings.reverting": "Reverting…", + "settings.save_all_btn": "Save All Changes", + "settings.save_error": "Failed to save setting", + "settings.save_setting_title": "Save this setting", + "settings.save_success": "Setting saved successfully", + "settings.saving_state": "Saving…", + "settings.search_aria_label": "Search settings", + "settings.search_clear_aria": "Clear search", + "settings.search_placeholder": "Search settings by name, key, or description…", + "settings.settings_count_suffix": "settings", + "settings.source_db_badge": "DB", + "settings.source_default_badge": "DEFAULT", + "settings.source_env_badge": "ENV", + "settings.title": "Settings", + "settings.toggle_visibility_aria": "Toggle password visibility", + "settings.toggle_visibility_title": "Show/hide value", + "settings.user_autocomplete_empty": "No matching users found", + "settings.user_autocomplete_hint": "Type to search existing users by name, or enter any identifier manually.", + "settings.user_autocomplete_placeholder": "Start typing to search users…", + "settings.wizard_btn": "Wizard", + "shared.col_expiry": "Expiry", + "shared.col_file_label": "File / Label", + "shared.col_link": "Link", + "shared.col_views": "Views", + "shared.copy_link_aria": "Copy link to clipboard", + "shared.copy_link_title": "Copy link", + "shared.create_btn": "Create Link", + "shared.create_heading": "Create New Shared Link", + "shared.creating": "Creating…", + "shared.expiry_12h": "12 hours", + "shared.expiry_14d": "14 days", + "shared.expiry_1h": "1 hour", + "shared.expiry_24h": "24 hours (1 day)", + "shared.expiry_30d": "30 days", + "shared.expiry_3d": "3 days", + "shared.expiry_6h": "6 hours", + "shared.expiry_7d": "7 days", + "shared.expiry_label": "Expiry", + "shared.expiry_never": "Never", + "shared.file_id_help_post": "page or in the document detail URL.", + "shared.file_id_help_pre": "Find the file ID on the", + "shared.file_id_label": "File ID", + "shared.file_id_placeholder": "e.g. 42", + "shared.files_link": "Files", + "shared.heading": "Shared Links", + "shared.label_label": "Label", + "shared.label_placeholder": "e.g. Shared with Bob", + "shared.link_created": "Shared link created!", + "shared.link_created_help": "Copy and send this link to the recipient.", + "shared.links_count_aria": "number of links", + "shared.max_downloads_label": "Max downloads", + "shared.no_links": "No shared links yet. Create one above to get started.", + "shared.open_in_new_tab": "Open in new tab", + "shared.open_link_aria": "Open shared link", + "shared.optional": "(optional)", + "shared.page_title": "Shared Links – DocuElevate", + "shared.password_label": "Password", + "shared.password_placeholder": "Leave blank for no password", + "shared.password_protected": "Password protected", + "shared.refresh_aria": "Refresh shared links list", + "shared.revoke_aria_prefix": "Revoke shared link for", + "shared.revoke_btn": "Revoke", + "shared.status_active": "Active", + "shared.status_expired": "Expired", + "shared.status_limit_reached": "Limit reached", + "shared.status_revoked": "Revoked", + "shared.subtitle": "Share documents with anyone via a time-limited or view-limited link. Recipients do not need a DocuElevate account. Links can be password-protected and revoked at any time.", + "shared.table_aria": "Shared links", + "shared.unlimited_placeholder": "Unlimited", + "shared.your_links": "Your Shared Links", + "similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can", + "similarity.files_missing_text": "file(s) have OCR text but no embedding yet.", + "similarity.find_pairs_btn": "Find Pairs", + "similarity.heading": "Document Similarity", + "similarity.load_error": "Failed to load pairs.", + "similarity.min_similarity_label": "Min. similarity", + "similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.", + "similarity.no_pairs_heading": "No similar pairs found", + "similarity.page_title": "Document Similarity - DocuElevate", + "similarity.pagination_aria": "Similarity pairs pagination", + "similarity.per_page_label": "Per page", + "similarity.scanning": "Scanning for similar document pairs…", + "similarity.stat_embedding_model": "Embedding Model", + "similarity.stat_missing_embedding": "Missing Embedding", + "similarity.stat_total_files": "Total Files", + "similarity.stat_with_embedding": "With Embedding", + "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", + "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", + "similarity.trigger_now": "trigger it now", + "status.app_version": "App Version", + "status.build_date": "Build Date", + "status.container_id": "Container ID", + "status.git_commit": "Git Commit", + "status.last_check": "Last Check", + "status.page_title": "System Status", + "status.setting_label": "Setting", + "status.value_label": "Value", + "upload.browse_button": "Browse Files", + "upload.button_processing": "Processing...", + "upload.camera_button": "Take Photo / Scan Document", + "upload.download_button": "Download and Process", + "upload.downloading": "Downloading file from URL...", + "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", + "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", + "upload.error": "Upload failed", + "upload.error_invalid_url": "Invalid URL format", + "upload.error_url_required": "Please enter a URL", + "upload.file_size_hint": "Maximum size: 500 MB per file", + "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", + "upload.filename_description": "Leave empty to use filename from URL", + "upload.filename_label": "Filename (optional)", + "upload.filename_placeholder": "my-document.pdf", + "upload.max_size": "Maximum file size: {size}", + "upload.page_title": "Upload Files", + "upload.section_device": "Upload from Device", + "upload.section_url": "Upload from URL", + "upload.select_file": "Select File", + "upload.success": "File uploaded successfully", + "upload.title": "Upload Document", + "upload.uploading": "Uploading...", + "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", + "upload.url_label": "File URL", + "upload.url_placeholder": "https://example.com/document.pdf" +} From 62764ec9eefede1069c15c54d183bd276479a626 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:44:49 +0100 Subject: [PATCH 45/56] New translations en.json (French) --- frontend/translations/fr.json | 296 +++++++++++++++++----------------- 1 file changed, 148 insertions(+), 148 deletions(-) diff --git a/frontend/translations/fr.json b/frontend/translations/fr.json index d36160ed..bf19fc9f 100644 --- a/frontend/translations/fr.json +++ b/frontend/translations/fr.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Log In", + "auth.login": "Se connecter", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Log Out", - "auth.my_account": "My Account", + "auth.logout": "Se déconnecter", + "auth.my_account": "Mon compte", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "Profile", + "auth.profile": "Profil", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Sign Up", + "auth.signup": "S'inscrire", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -185,68 +185,68 @@ "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", "common.actions": "Actions", - "common.active": "Active", - "common.all": "All", - "common.back": "Back", - "common.cancel": "Cancel", - "common.close": "Close", + "common.active": "Actif", + "common.all": "Tout", + "common.back": "Retour", + "common.cancel": "Annuler", + "common.close": "Fermer", "common.col_pending": "Pending", - "common.completed": "Completed", - "common.confirm": "Confirm", - "common.copied": "Copied!", - "common.copy": "Copy", + "common.completed": "Terminé", + "common.confirm": "Confirmer", + "common.copied": "Copié !", + "common.copy": "Copier", "common.create": "Create", - "common.created": "Created", + "common.created": "Créé", "common.date": "Date", - "common.delete": "Delete", + "common.delete": "Supprimer", "common.description": "Description", - "common.details": "Details", - "common.disabled": "Disabled", - "common.download": "Download", + "common.details": "Détails", + "common.disabled": "Désactivé", + "common.download": "Télécharger", "common.duplicate": "Duplicate", - "common.edit": "Edit", - "common.enabled": "Enabled", - "common.error": "Error", - "common.failed": "Failed", - "common.filter": "Filter", - "common.inactive": "Inactive", + "common.edit": "Modifier", + "common.enabled": "Activé", + "common.error": "Erreur", + "common.failed": "Échoué", + "common.filter": "Filtrer", + "common.inactive": "Inactif", "common.info": "Info", - "common.loading": "Loading...", - "common.name": "Name", - "common.next": "Next", + "common.loading": "Chargement...", + "common.name": "Nom", + "common.next": "Suivant", "common.next_page": "Next page", - "common.no": "No", - "common.none": "None", + "common.no": "Non", + "common.none": "Aucun", "common.page": "Page", - "common.pending": "Pending", + "common.pending": "En attente", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "Processing", - "common.refresh": "Refresh", - "common.reset": "Reset", - "common.retry": "Retry", - "common.save": "Save", - "common.search": "Search", - "common.select": "Select", + "common.processing": "En cours de traitement", + "common.refresh": "Actualiser", + "common.reset": "Réinitialiser", + "common.retry": "Réessayer", + "common.save": "Enregistrer", + "common.search": "Rechercher", + "common.select": "Sélectionner", "common.select_placeholder": "— select —", - "common.size": "Size", - "common.status": "Status", + "common.size": "Taille", + "common.status": "Statut", "common.submit": "Submit", - "common.success": "Success", + "common.success": "Succès", "common.tags": "Tags", "common.type": "Type", - "common.updated": "Updated", - "common.upload": "Upload", - "common.view": "View", - "common.warning": "Warning", - "common.yes": "Yes", - "cookie.accept": "Got it", + "common.updated": "Mis à jour", + "common.upload": "Téléverser", + "common.view": "Voir", + "common.warning": "Avertissement", + "common.yes": "Oui", + "cookie.accept": "Compris", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", - "cookie.notice_label": "Cookie notice", - "cookie.policy_link": "Cookie Policy", - "cookie.privacy_link": "Privacy Notice", + "cookie.notice": "DocuElevate utilise uniquement des cookies de session essentiels nécessaires à l'authentification et au fonctionnement du service. Aucun cookie de suivi ou d'analyse n'est utilisé.", + "cookie.notice_label": "Avis relatif aux cookies", + "cookie.policy_link": "Politique de cookies", + "cookie.privacy_link": "Avis de confidentialité", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Active Integrations", - "dashboard.files_this_month": "Files This Month", - "dashboard.files_today": "Files Today", - "dashboard.ocr_processed": "OCR Processed", - "dashboard.quick_actions": "Quick Actions", - "dashboard.recent_activity": "Recent Activity", - "dashboard.storage_targets": "Storage Targets", - "dashboard.title": "Dashboard", - "dashboard.total_files": "Total Files", - "dashboard.welcome": "Welcome to DocuElevate", + "dashboard.active_integrations": "Intégrations actives", + "dashboard.files_this_month": "Fichiers ce mois-ci", + "dashboard.files_today": "Fichiers aujourd'hui", + "dashboard.ocr_processed": "OCR traités", + "dashboard.quick_actions": "Actions rapides", + "dashboard.recent_activity": "Activité récente", + "dashboard.storage_targets": "Destinations de stockage", + "dashboard.title": "Tableau de bord", + "dashboard.total_files": "Total des fichiers", + "dashboard.welcome": "Bienvenue sur DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Forbidden", - "error.forbidden_message": "You do not have permission to access this page.", - "error.not_found": "Page not found", - "error.not_found_message": "The page you are looking for does not exist.", - "error.server_error": "Internal Server Error", - "error.server_error_message": "Something went wrong. Please try again later.", - "error.unauthorized": "Unauthorized", - "error.unauthorized_message": "You need to log in to access this page.", + "error.forbidden": "Interdit", + "error.forbidden_message": "Vous n'avez pas la permission d'accéder à cette page.", + "error.not_found": "Page non trouvée", + "error.not_found_message": "La page que vous recherchez n'existe pas.", + "error.server_error": "Erreur interne du serveur", + "error.server_error_message": "Quelque chose s'est mal passé. Veuillez réessayer plus tard.", + "error.unauthorized": "Non autorisé", + "error.unauthorized_message": "Vous devez vous connecter pour accéder à cette page.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.document_title": "Titre du document", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "File Size", - "files.filename": "Filename", + "files.file_size": "Taille du fichier", + "files.filename": "Nom du fichier", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_label": "Full-Text Search", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "No files found", - "files.ocr_status": "OCR Status", + "files.no_files": "Aucun fichier trouvé", + "files.ocr_status": "Statut OCR", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -399,22 +399,22 @@ "files.table_mime_type": "MIME Type", "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", - "files.tags": "Tags", - "files.title": "Files", + "files.tags": "Étiquettes", + "files.title": "Fichiers", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Uploaded", + "files.uploaded": "Téléversé", "footer.about": "About", "footer.attribution": "Attribution", "footer.attributions": "Attributions", "footer.cookies": "Cookies", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Imprint", - "footer.license": "License", - "footer.navigation": "Footer navigation", - "footer.privacy": "Privacy", - "footer.terms": "Terms", + "footer.imprint": "Mentions légales", + "footer.license": "Licence", + "footer.navigation": "Navigation du pied de page", + "footer.privacy": "Confidentialité", + "footer.terms": "Conditions", "footer.version": "Version {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", @@ -436,7 +436,7 @@ "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", "help.documentation": "Documentation", - "help.faq": "Frequently Asked Questions", + "help.faq": "Questions fréquentes", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Getting Started", + "help.getting_started": "Premiers pas", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -475,7 +475,7 @@ "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Help Center", + "help.title": "Centre d'aide", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "Configure", - "integrations.connect": "Connect", - "integrations.connected": "Connected", - "integrations.disconnect": "Disconnect", + "integrations.configure": "Configurer", + "integrations.connect": "Connecter", + "integrations.connected": "Connecté", + "integrations.disconnect": "Déconnecter", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "Not Connected", + "integrations.not_connected": "Non connecté", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Integrations", + "integrations.title": "Intégrations", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Language changed to {language}", + "language.changed": "Langue changée en {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Language", + "language.selector": "Langue", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "About", + "nav.about": "À propos", "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "Admin actions", - "nav.admin_menu": "Admin menu", - "nav.api_docs": "API Docs", + "nav.admin_actions": "Actions admin", + "nav.admin_menu": "Menu admin", + "nav.api_docs": "Documentation API", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Backup & Restore", - "nav.credentials": "Credentials", - "nav.dark_mode": "Dark Mode", - "nav.dashboard": "Dashboard", - "nav.developer_docs": "Developer Docs", - "nav.duplicates": "Duplicates", - "nav.file_manager": "File Manager", - "nav.files": "Files", - "nav.help": "Help", - "nav.help_center": "Help Center", + "nav.backup_restore": "Sauvegarde et restauration", + "nav.credentials": "Identifiants", + "nav.dark_mode": "Mode sombre", + "nav.dashboard": "Tableau de bord", + "nav.developer_docs": "Documentation développeur", + "nav.duplicates": "Doublons", + "nav.file_manager": "Gestionnaire de fichiers", + "nav.files": "Fichiers", + "nav.help": "Aide", + "nav.help_center": "Centre d'aide", "nav.imap": "Email Import", - "nav.integrations": "Integrations", - "nav.light_mode": "Light Mode", + "nav.integrations": "Intégrations", + "nav.light_mode": "Mode clair", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "Main navigation", + "nav.main_navigation": "Navigation principale", "nav.notifications": "Notifications", - "nav.open_main_menu": "Open main menu", + "nav.open_main_menu": "Ouvrir le menu principal", "nav.pipelines": "Pipelines", - "nav.plan_designer": "Plan Designer", - "nav.pricing": "Pricing", + "nav.plan_designer": "Concepteur de plans", + "nav.pricing": "Tarifs", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "Queue Monitor", - "nav.scheduled_jobs": "Scheduled Jobs", - "nav.search": "Search", - "nav.settings": "Settings", + "nav.queue_monitor": "File d'attente", + "nav.scheduled_jobs": "Tâches planifiées", + "nav.search": "Recherche", + "nav.settings": "Paramètres", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "Similarity", - "nav.skip_to_content": "Skip to main content", - "nav.status": "Status", + "nav.similarity": "Similarité", + "nav.skip_to_content": "Aller au contenu principal", + "nav.status": "Statut", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Toggle dark mode", - "nav.toggle_nav": "Toggle navigation menu", - "nav.upload": "Upload", - "nav.users": "Users", + "nav.toggle_dark_mode": "Basculer le mode sombre", + "nav.toggle_nav": "Basculer le menu de navigation", + "nav.upload": "Téléverser", + "nav.users": "Utilisateurs", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read": "Tout marquer comme lu", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Mark as Read", - "notifications.no_notifications": "No notifications", + "notifications.mark_read": "Marquer comme lu", + "notifications.no_notifications": "Aucune notification", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", "notifications.title": "Notifications", - "notifications.unread_count": "{count} unread notifications", + "notifications.unread_count": "{count} notifications non lues", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Create Pipeline", + "pipelines.create": "Créer un pipeline", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Edit Pipeline", + "pipelines.edit": "Modifier le pipeline", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Processing Pipelines", + "pipelines.title": "Pipelines de traitement", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "No results found", + "search.no_results": "Aucun résultat trouvé", "search.page_title": "Search Documents", - "search.placeholder": "Search by filename, content, tags...", + "search.placeholder": "Rechercher par nom, contenu, étiquettes...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "{count} results found", + "search.results_count": "{count} résultats trouvés", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "Search Documents", + "search.title": "Rechercher des documents", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.reset_confirm": "Êtes-vous sûr de vouloir réinitialiser ce paramètre ?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Failed to save setting", + "settings.save_error": "Échec de l'enregistrement du paramètre", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Setting saved successfully", + "settings.save_success": "Paramètre enregistré avec succès", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Settings", + "settings.title": "Paramètres", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drag_drop": "Glissez-déposez vos fichiers ici ou cliquez pour parcourir", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Upload failed", + "upload.error": "Échec du téléversement", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Maximum file size: {size}", + "upload.max_size": "Taille maximale du fichier : {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "Select File", - "upload.success": "File uploaded successfully", - "upload.title": "Upload Document", - "upload.uploading": "Uploading...", + "upload.select_file": "Sélectionner un fichier", + "upload.success": "Fichier téléversé avec succès", + "upload.title": "Téléverser un document", + "upload.uploading": "Téléversement en cours...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf" From 8408edbb939212000396e9deb7c40a8564f7936b Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:44:50 +0100 Subject: [PATCH 46/56] New translations en.json (Spanish) --- frontend/translations/es.json | 314 +++++++++++++++++----------------- 1 file changed, 157 insertions(+), 157 deletions(-) diff --git a/frontend/translations/es.json b/frontend/translations/es.json index d36160ed..bba56174 100644 --- a/frontend/translations/es.json +++ b/frontend/translations/es.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Log In", + "auth.login": "Iniciar sesión", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Log Out", - "auth.my_account": "My Account", + "auth.logout": "Cerrar sesión", + "auth.my_account": "Mi cuenta", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "Profile", + "auth.profile": "Perfil", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Sign Up", + "auth.signup": "Registrarse", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "Actions", - "common.active": "Active", - "common.all": "All", - "common.back": "Back", - "common.cancel": "Cancel", - "common.close": "Close", + "common.actions": "Acciones", + "common.active": "Activo", + "common.all": "Todo", + "common.back": "Atrás", + "common.cancel": "Cancelar", + "common.close": "Cerrar", "common.col_pending": "Pending", - "common.completed": "Completed", - "common.confirm": "Confirm", - "common.copied": "Copied!", - "common.copy": "Copy", + "common.completed": "Completado", + "common.confirm": "Confirmar", + "common.copied": "¡Copiado!", + "common.copy": "Copiar", "common.create": "Create", - "common.created": "Created", - "common.date": "Date", - "common.delete": "Delete", - "common.description": "Description", - "common.details": "Details", - "common.disabled": "Disabled", - "common.download": "Download", + "common.created": "Creado", + "common.date": "Fecha", + "common.delete": "Eliminar", + "common.description": "Descripción", + "common.details": "Detalles", + "common.disabled": "Deshabilitado", + "common.download": "Descargar", "common.duplicate": "Duplicate", - "common.edit": "Edit", - "common.enabled": "Enabled", + "common.edit": "Editar", + "common.enabled": "Habilitado", "common.error": "Error", - "common.failed": "Failed", - "common.filter": "Filter", - "common.inactive": "Inactive", - "common.info": "Info", - "common.loading": "Loading...", - "common.name": "Name", - "common.next": "Next", + "common.failed": "Fallido", + "common.filter": "Filtrar", + "common.inactive": "Inactivo", + "common.info": "Información", + "common.loading": "Cargando...", + "common.name": "Nombre", + "common.next": "Siguiente", "common.next_page": "Next page", "common.no": "No", - "common.none": "None", + "common.none": "Ninguno", "common.page": "Page", - "common.pending": "Pending", + "common.pending": "Pendiente", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "Processing", - "common.refresh": "Refresh", - "common.reset": "Reset", - "common.retry": "Retry", - "common.save": "Save", - "common.search": "Search", - "common.select": "Select", + "common.processing": "Procesando", + "common.refresh": "Actualizar", + "common.reset": "Restablecer", + "common.retry": "Reintentar", + "common.save": "Guardar", + "common.search": "Buscar", + "common.select": "Seleccionar", "common.select_placeholder": "— select —", - "common.size": "Size", - "common.status": "Status", + "common.size": "Tamaño", + "common.status": "Estado", "common.submit": "Submit", - "common.success": "Success", + "common.success": "Éxito", "common.tags": "Tags", - "common.type": "Type", - "common.updated": "Updated", - "common.upload": "Upload", - "common.view": "View", - "common.warning": "Warning", - "common.yes": "Yes", - "cookie.accept": "Got it", + "common.type": "Tipo", + "common.updated": "Actualizado", + "common.upload": "Subir", + "common.view": "Ver", + "common.warning": "Advertencia", + "common.yes": "Sí", + "cookie.accept": "Entendido", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", - "cookie.notice_label": "Cookie notice", - "cookie.policy_link": "Cookie Policy", - "cookie.privacy_link": "Privacy Notice", + "cookie.notice": "DocuElevate utiliza solo cookies de sesión esenciales necesarias para la autenticación y el funcionamiento del servicio. No se utilizan cookies de seguimiento ni analíticas.", + "cookie.notice_label": "Aviso de cookies", + "cookie.policy_link": "Política de cookies", + "cookie.privacy_link": "Aviso de privacidad", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Active Integrations", - "dashboard.files_this_month": "Files This Month", - "dashboard.files_today": "Files Today", - "dashboard.ocr_processed": "OCR Processed", - "dashboard.quick_actions": "Quick Actions", - "dashboard.recent_activity": "Recent Activity", - "dashboard.storage_targets": "Storage Targets", - "dashboard.title": "Dashboard", - "dashboard.total_files": "Total Files", - "dashboard.welcome": "Welcome to DocuElevate", + "dashboard.active_integrations": "Integraciones activas", + "dashboard.files_this_month": "Archivos este mes", + "dashboard.files_today": "Archivos hoy", + "dashboard.ocr_processed": "OCR procesados", + "dashboard.quick_actions": "Acciones rápidas", + "dashboard.recent_activity": "Actividad reciente", + "dashboard.storage_targets": "Destinos de almacenamiento", + "dashboard.title": "Panel", + "dashboard.total_files": "Total de archivos", + "dashboard.welcome": "Bienvenido a DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Forbidden", - "error.forbidden_message": "You do not have permission to access this page.", - "error.not_found": "Page not found", - "error.not_found_message": "The page you are looking for does not exist.", - "error.server_error": "Internal Server Error", - "error.server_error_message": "Something went wrong. Please try again later.", - "error.unauthorized": "Unauthorized", - "error.unauthorized_message": "You need to log in to access this page.", + "error.forbidden": "Prohibido", + "error.forbidden_message": "No tiene permiso para acceder a esta página.", + "error.not_found": "Página no encontrada", + "error.not_found_message": "La página que busca no existe.", + "error.server_error": "Error interno del servidor", + "error.server_error_message": "Algo salió mal. Inténtelo de nuevo más tarde.", + "error.unauthorized": "No autorizado", + "error.unauthorized_message": "Debe iniciar sesión para acceder a esta página.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.document_title": "Título del documento", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "File Size", - "files.filename": "Filename", + "files.file_size": "Tamaño del archivo", + "files.filename": "Nombre del archivo", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_label": "Full-Text Search", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "No files found", - "files.ocr_status": "OCR Status", + "files.no_files": "No se encontraron archivos", + "files.ocr_status": "Estado OCR", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -399,23 +399,23 @@ "files.table_mime_type": "MIME Type", "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", - "files.tags": "Tags", - "files.title": "Files", + "files.tags": "Etiquetas", + "files.title": "Archivos", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Uploaded", + "files.uploaded": "Subido", "footer.about": "About", "footer.attribution": "Attribution", - "footer.attributions": "Attributions", + "footer.attributions": "Atribuciones", "footer.cookies": "Cookies", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Imprint", - "footer.license": "License", - "footer.navigation": "Footer navigation", - "footer.privacy": "Privacy", - "footer.terms": "Terms", - "footer.version": "Version {version}", + "footer.imprint": "Aviso legal", + "footer.license": "Licencia", + "footer.navigation": "Navegación del pie de página", + "footer.privacy": "Privacidad", + "footer.terms": "Términos", + "footer.version": "Versión {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", "help.destinations_email": "Email Forwarding", @@ -435,8 +435,8 @@ "help.destinations_sftp_desc": "Secure file transfer to any server.", "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", - "help.documentation": "Documentation", - "help.faq": "Frequently Asked Questions", + "help.documentation": "Documentación", + "help.faq": "Preguntas frecuentes", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Getting Started", + "help.getting_started": "Primeros pasos", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -469,13 +469,13 @@ "help.sources_web_upload": "Web Upload", "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", - "help.support": "Support", + "help.support": "Soporte", "help.support_admin_message": "Contact your administrator for support information.", "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Help Center", + "help.title": "Centro de ayuda", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "Configure", - "integrations.connect": "Connect", - "integrations.connected": "Connected", - "integrations.disconnect": "Disconnect", + "integrations.configure": "Configurar", + "integrations.connect": "Conectar", + "integrations.connected": "Conectado", + "integrations.disconnect": "Desconectar", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "Not Connected", + "integrations.not_connected": "No conectado", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Integrations", + "integrations.title": "Integraciones", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Language changed to {language}", + "language.changed": "Idioma cambiado a {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Language", + "language.selector": "Idioma", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "About", + "nav.about": "Acerca de", "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "Admin actions", - "nav.admin_menu": "Admin menu", - "nav.api_docs": "API Docs", + "nav.admin_actions": "Acciones de administración", + "nav.admin_menu": "Menú de administración", + "nav.api_docs": "Documentación API", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Backup & Restore", - "nav.credentials": "Credentials", - "nav.dark_mode": "Dark Mode", - "nav.dashboard": "Dashboard", - "nav.developer_docs": "Developer Docs", - "nav.duplicates": "Duplicates", - "nav.file_manager": "File Manager", - "nav.files": "Files", - "nav.help": "Help", - "nav.help_center": "Help Center", + "nav.backup_restore": "Copia de seguridad y restauración", + "nav.credentials": "Credenciales", + "nav.dark_mode": "Modo oscuro", + "nav.dashboard": "Panel", + "nav.developer_docs": "Documentación para desarrolladores", + "nav.duplicates": "Duplicados", + "nav.file_manager": "Gestor de archivos", + "nav.files": "Archivos", + "nav.help": "Ayuda", + "nav.help_center": "Centro de ayuda", "nav.imap": "Email Import", - "nav.integrations": "Integrations", - "nav.light_mode": "Light Mode", + "nav.integrations": "Integraciones", + "nav.light_mode": "Modo claro", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "Main navigation", - "nav.notifications": "Notifications", - "nav.open_main_menu": "Open main menu", + "nav.main_navigation": "Navegación principal", + "nav.notifications": "Notificaciones", + "nav.open_main_menu": "Abrir menú principal", "nav.pipelines": "Pipelines", - "nav.plan_designer": "Plan Designer", - "nav.pricing": "Pricing", + "nav.plan_designer": "Diseñador de planes", + "nav.pricing": "Precios", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "Queue Monitor", - "nav.scheduled_jobs": "Scheduled Jobs", - "nav.search": "Search", - "nav.settings": "Settings", + "nav.queue_monitor": "Monitor de cola", + "nav.scheduled_jobs": "Tareas programadas", + "nav.search": "Buscar", + "nav.settings": "Configuración", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "Similarity", - "nav.skip_to_content": "Skip to main content", - "nav.status": "Status", + "nav.similarity": "Similitud", + "nav.skip_to_content": "Ir al contenido principal", + "nav.status": "Estado", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Toggle dark mode", - "nav.toggle_nav": "Toggle navigation menu", - "nav.upload": "Upload", - "nav.users": "Users", + "nav.toggle_dark_mode": "Alternar modo oscuro", + "nav.toggle_nav": "Alternar menú de navegación", + "nav.upload": "Subir", + "nav.users": "Usuarios", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read": "Marcar todo como leído", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Mark as Read", - "notifications.no_notifications": "No notifications", + "notifications.mark_read": "Marcar como leído", + "notifications.no_notifications": "Sin notificaciones", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", - "notifications.title": "Notifications", - "notifications.unread_count": "{count} unread notifications", + "notifications.title": "Notificaciones", + "notifications.unread_count": "{count} notificaciones no leídas", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Create Pipeline", + "pipelines.create": "Crear pipeline", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Edit Pipeline", + "pipelines.edit": "Editar pipeline", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Processing Pipelines", + "pipelines.title": "Pipelines de procesamiento", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "No results found", + "search.no_results": "No se encontraron resultados", "search.page_title": "Search Documents", - "search.placeholder": "Search by filename, content, tags...", + "search.placeholder": "Buscar por nombre, contenido, etiquetas...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "{count} results found", + "search.results_count": "{count} resultados encontrados", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "Search Documents", + "search.title": "Buscar documentos", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.reset_confirm": "¿Está seguro de que desea restablecer esta configuración?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Failed to save setting", + "settings.save_error": "Error al guardar la configuración", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Setting saved successfully", + "settings.save_success": "Configuración guardada con éxito", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Settings", + "settings.title": "Configuración", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drag_drop": "Arrastre archivos aquí o haga clic para buscar", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Upload failed", + "upload.error": "Error al subir", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Maximum file size: {size}", + "upload.max_size": "Tamaño máximo del archivo: {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "Select File", - "upload.success": "File uploaded successfully", - "upload.title": "Upload Document", - "upload.uploading": "Uploading...", + "upload.select_file": "Seleccionar archivo", + "upload.success": "Archivo subido con éxito", + "upload.title": "Subir documento", + "upload.uploading": "Subiendo...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf" From 6c17e3e482059d62c0597b80c0c9f7c12e8ead2f Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:44:51 +0100 Subject: [PATCH 47/56] New translations en.json (Czech) --- frontend/translations/cs.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/cs.json b/frontend/translations/cs.json index d36160ed..6af65b34 100644 --- a/frontend/translations/cs.json +++ b/frontend/translations/cs.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_label": "Full-Text Search", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Language changed to {language}", + "language.changed": "Jazyk byl změněn na {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Language", + "language.selector": "Čeština", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 213c6fc944d9167fdc7f2d8e10b1a6b4e77575ce Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:44:52 +0100 Subject: [PATCH 48/56] New translations en.json (Danish) --- frontend/translations/da.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/da.json b/frontend/translations/da.json index d36160ed..0dfc33f5 100644 --- a/frontend/translations/da.json +++ b/frontend/translations/da.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_label": "Full-Text Search", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Language changed to {language}", + "language.changed": "Sproget blev ændret til {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Language", + "language.selector": "Dansk", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 6b92c91c02eb0d045cb26a4892fdcbe1272ca031 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:44:54 +0100 Subject: [PATCH 49/56] New translations en.json (German) --- frontend/translations/de.json | 924 +++++++++++++++++----------------- 1 file changed, 462 insertions(+), 462 deletions(-) diff --git a/frontend/translations/de.json b/frontend/translations/de.json index d36160ed..2ec4bfa6 100644 --- a/frontend/translations/de.json +++ b/frontend/translations/de.json @@ -100,30 +100,30 @@ "audit.subtitle": "Comprehensive, append-only record of all significant actions.", "audit.table_label": "Audit log events", "audit.title": "Audit Logs", - "auth.confirm_password": "Confirm Password", + "auth.confirm_password": "Passwort bestätigen", "auth.create_account": "Create account", - "auth.display_name_label": "Display Name", - "auth.email_label": "Email", - "auth.forgot_password": "Forgot Password?", + "auth.display_name_label": "Anzeigename", + "auth.email_label": "E-Mail", + "auth.forgot_password": "Passwort vergessen?", "auth.forgot_username": "Forgot username?", - "auth.login": "Log In", - "auth.login_title": "Log In", + "auth.login": "Anmelden", + "auth.login_title": "Anmelden", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Log Out", - "auth.my_account": "My Account", + "auth.logout": "Abmelden", + "auth.my_account": "Mein Konto", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", - "auth.password_label": "Password", - "auth.profile": "Profile", - "auth.remember_me": "Remember me", + "auth.password_label": "Passwort", + "auth.profile": "Profil", + "auth.remember_me": "Angemeldet bleiben", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Sign Up", - "auth.signup_title": "Sign Up", - "auth.username_label": "Username", + "auth.signup": "Registrieren", + "auth.signup_title": "Registrieren", + "auth.username_label": "Benutzername", "auth.username_or_email": "Username or Email", "auth.verify_email_back_sign_in": "Back to sign in", "auth.verify_email_expiry": "The link expires in 24 hours. If you don’t see the email, check your spam folder.", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "Actions", - "common.active": "Active", - "common.all": "All", - "common.back": "Back", - "common.cancel": "Cancel", - "common.close": "Close", + "common.actions": "Aktionen", + "common.active": "Aktiv", + "common.all": "Alle", + "common.back": "Zurück", + "common.cancel": "Abbrechen", + "common.close": "Schließen", "common.col_pending": "Pending", - "common.completed": "Completed", - "common.confirm": "Confirm", - "common.copied": "Copied!", - "common.copy": "Copy", - "common.create": "Create", - "common.created": "Created", - "common.date": "Date", - "common.delete": "Delete", - "common.description": "Description", + "common.completed": "Abgeschlossen", + "common.confirm": "Bestätigen", + "common.copied": "Kopiert!", + "common.copy": "Kopieren", + "common.create": "Erstellen", + "common.created": "Erstellt", + "common.date": "Datum", + "common.delete": "Löschen", + "common.description": "Beschreibung", "common.details": "Details", - "common.disabled": "Disabled", - "common.download": "Download", - "common.duplicate": "Duplicate", - "common.edit": "Edit", - "common.enabled": "Enabled", - "common.error": "Error", - "common.failed": "Failed", - "common.filter": "Filter", - "common.inactive": "Inactive", + "common.disabled": "Deaktiviert", + "common.download": "Herunterladen", + "common.duplicate": "Duplikat", + "common.edit": "Bearbeiten", + "common.enabled": "Aktiviert", + "common.error": "Fehler", + "common.failed": "Fehlgeschlagen", + "common.filter": "Filtern", + "common.inactive": "Inaktiv", "common.info": "Info", - "common.loading": "Loading...", + "common.loading": "Laden...", "common.name": "Name", - "common.next": "Next", + "common.next": "Weiter", "common.next_page": "Next page", - "common.no": "No", - "common.none": "None", + "common.no": "Nein", + "common.none": "Keine", "common.page": "Page", - "common.pending": "Pending", + "common.pending": "Ausstehend", "common.prev_page": "Previous page", - "common.previous": "Previous", - "common.processing": "Processing", - "common.refresh": "Refresh", - "common.reset": "Reset", - "common.retry": "Retry", - "common.save": "Save", - "common.search": "Search", - "common.select": "Select", + "common.previous": "Zurück", + "common.processing": "Verarbeitung", + "common.refresh": "Aktualisieren", + "common.reset": "Zurücksetzen", + "common.retry": "Erneut versuchen", + "common.save": "Speichern", + "common.search": "Suche", + "common.select": "Auswählen", "common.select_placeholder": "— select —", - "common.size": "Size", + "common.size": "Größe", "common.status": "Status", - "common.submit": "Submit", - "common.success": "Success", + "common.submit": "Absenden", + "common.success": "Erfolg", "common.tags": "Tags", - "common.type": "Type", - "common.updated": "Updated", - "common.upload": "Upload", - "common.view": "View", - "common.warning": "Warning", - "common.yes": "Yes", - "cookie.accept": "Got it", - "cookie.learn_more": "Learn more", - "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", - "cookie.notice_label": "Cookie notice", - "cookie.policy_link": "Cookie Policy", - "cookie.privacy_link": "Privacy Notice", + "common.type": "Typ", + "common.updated": "Aktualisiert", + "common.upload": "Hochladen", + "common.view": "Ansehen", + "common.warning": "Warnung", + "common.yes": "Ja", + "cookie.accept": "Akzeptieren", + "cookie.learn_more": "Mehr erfahren", + "cookie.message": "Diese Website verwendet Cookies, um Ihr Erlebnis zu verbessern.", + "cookie.notice": "DocuElevate verwendet nur essentielle Sitzungscookies, die für die Authentifizierung und den Servicebetrieb erforderlich sind. Es werden keine Tracking- oder Analyse-Cookies verwendet.", + "cookie.notice_label": "Cookie-Hinweis", + "cookie.policy_link": "Cookie-Richtlinie", + "cookie.privacy_link": "Datenschutzhinweis", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Active Integrations", - "dashboard.files_this_month": "Files This Month", - "dashboard.files_today": "Files Today", - "dashboard.ocr_processed": "OCR Processed", - "dashboard.quick_actions": "Quick Actions", - "dashboard.recent_activity": "Recent Activity", - "dashboard.storage_targets": "Storage Targets", - "dashboard.title": "Dashboard", - "dashboard.total_files": "Total Files", - "dashboard.welcome": "Welcome to DocuElevate", + "dashboard.active_integrations": "Aktive Integrationen", + "dashboard.files_this_month": "Dateien diesen Monat", + "dashboard.files_today": "Dateien heute", + "dashboard.ocr_processed": "OCR verarbeitet", + "dashboard.quick_actions": "Schnellaktionen", + "dashboard.recent_activity": "Letzte Aktivitäten", + "dashboard.storage_targets": "Speicherziele", + "dashboard.title": "Übersicht", + "dashboard.total_files": "Dateien gesamt", + "dashboard.welcome": "Willkommen bei DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -304,397 +304,397 @@ "duplicates.view_dup_aria": "View duplicate file", "duplicates.view_original_aria": "View original file", "error.404_code": "404", - "error.404_heading": "Oops, we couldn’t find that page!", - "error.404_home": "Return Home", - "error.404_message": "It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.", + "error.404_heading": "Ups, diese Seite konnten wir nicht finden!", + "error.404_home": "Zur Startseite", + "error.404_message": "Es scheint, als hätte DocuElevate das gesuchte Dokument verlegt. Keine Sorge – wir helfen Ihnen weiter.", "error.404_title": "404 - Not Found", "error.500_code": "500", "error.500_debug_info": "Show Debug Info", - "error.500_description": "Our servers encountered a mishap and need a moment.", - "error.500_heading": "Oops! Something Went Wrong.", - "error.500_home": "Go Home", + "error.500_description": "Unsere Server haben ein Problem und brauchen einen Moment.", + "error.500_heading": "Ups! Etwas ist schiefgelaufen.", + "error.500_home": "Zur Startseite", "error.500_img_alt": "Illustration of a server error", "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Forbidden", - "error.forbidden_message": "You do not have permission to access this page.", - "error.not_found": "Page not found", - "error.not_found_message": "The page you are looking for does not exist.", - "error.server_error": "Internal Server Error", - "error.server_error_message": "Something went wrong. Please try again later.", - "error.unauthorized": "Unauthorized", - "error.unauthorized_message": "You need to log in to access this page.", - "files.action_delete": "Delete file", - "files.action_details": "View details", - "files.action_preview": "Quick preview", - "files.bulk_clear_selection": "Clear Selection", - "files.bulk_cloud_ocr": "Re-run Cloud OCR", - "files.bulk_delete": "Delete Selected", - "files.bulk_download": "Download as ZIP", - "files.bulk_reprocess": "Reprocess Selected", - "files.delete_modal_cancel": "Cancel", - "files.delete_modal_confirm": "Delete", - "files.delete_modal_message": "Are you sure you want to delete this file?", - "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", - "files.drop_overlay_title": "Drop files or folders anywhere to upload", + "error.forbidden": "Zugriff verweigert", + "error.forbidden_message": "Sie haben keine Berechtigung, auf diese Seite zuzugreifen.", + "error.not_found": "Seite nicht gefunden", + "error.not_found_message": "Die gesuchte Seite existiert nicht.", + "error.server_error": "Interner Serverfehler", + "error.server_error_message": "Etwas ist schiefgelaufen. Bitte versuchen Sie es später erneut.", + "error.unauthorized": "Nicht autorisiert", + "error.unauthorized_message": "Sie müssen sich anmelden, um auf diese Seite zuzugreifen.", + "files.action_delete": "Datei löschen", + "files.action_details": "Details anzeigen", + "files.action_preview": "Schnellvorschau", + "files.bulk_clear_selection": "Auswahl aufheben", + "files.bulk_cloud_ocr": "Cloud-OCR erneut ausführen", + "files.bulk_delete": "Ausgewählte löschen", + "files.bulk_download": "Als ZIP herunterladen", + "files.bulk_reprocess": "Ausgewählte erneut verarbeiten", + "files.delete_modal_cancel": "Abbrechen", + "files.delete_modal_confirm": "Löschen", + "files.delete_modal_message": "Sind Sie sicher, dass Sie diese Datei löschen möchten?", + "files.delete_modal_title": "Löschung bestätigen", + "files.document_title": "Dokumenttitel", + "files.drop_overlay_hint": "Unterstützt PDF, Office-Dokumente, Bilder, HTML, Markdown und mehr", + "files.drop_overlay_title": "Dateien oder Ordner zum Hochladen hier ablegen", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "File Size", - "files.filename": "Filename", + "files.file_size": "Dateigröße", + "files.filename": "Dateiname", "files.files_selected": "files selected", - "files.filter_all_providers": "All Providers", - "files.filter_all_statuses": "All Statuses", - "files.filter_all_types": "All Types", - "files.filter_apply": "Apply Filters", - "files.filter_clear": "Clear", - "files.filter_date_from": "Date From", + "files.filter_all_providers": "Alle Anbieter", + "files.filter_all_statuses": "Alle Status", + "files.filter_all_types": "Alle Typen", + "files.filter_apply": "Filter anwenden", + "files.filter_clear": "Zurücksetzen", + "files.filter_date_from": "Datum von", "files.filter_date_from_aria": "Filter from date", - "files.filter_date_to": "Date To", + "files.filter_date_to": "Datum bis", "files.filter_date_to_aria": "Filter to date", "files.filter_form_aria": "Filter files", - "files.filter_mime_type": "MIME Type", - "files.filter_ocr_all": "All Files", - "files.filter_ocr_good": "Good quality", - "files.filter_ocr_poor": "Poor quality", - "files.filter_ocr_quality": "OCR Quality", + "files.filter_mime_type": "MIME-Typ", + "files.filter_ocr_all": "Alle Dateien", + "files.filter_ocr_good": "Gute Qualität", + "files.filter_ocr_poor": "Schlechte Qualität", + "files.filter_ocr_quality": "OCR-Qualität", "files.filter_ocr_quality_aria": "Filter by OCR quality score", - "files.filter_ocr_unchecked": "Not yet assessed", + "files.filter_ocr_unchecked": "Noch nicht bewertet", "files.filter_search_label": "Search Filename", - "files.filter_search_placeholder": "Enter filename...", - "files.filter_storage_provider": "Storage Provider", + "files.filter_search_placeholder": "Dateinamen eingeben...", + "files.filter_storage_provider": "Speicheranbieter", "files.filter_tags_aria": "Filter by tags (comma-separated)", - "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", - "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "No files found", - "files.ocr_status": "OCR Status", - "files.page_title": "File Records", + "files.filter_tags_placeholder": "z.B. Rechnung,Amazon", + "files.fulltext_search_label": "Volltextsuche", + "files.fulltext_search_placeholder": "Dokumentinhalt, Absender, Tags, Typ durchsuchen...", + "files.no_files": "Keine Dateien gefunden", + "files.ocr_status": "OCR-Status", + "files.page_title": "Dateiübersicht", "files.pagination_files": "files", - "files.pagination_first": "First", - "files.pagination_last": "Last", + "files.pagination_first": "Erste", + "files.pagination_last": "Letzte", "files.pagination_nav_aria": "File list pagination", - "files.pagination_next": "Next", + "files.pagination_next": "Nächste", "files.pagination_of": "of", - "files.pagination_previous": "Previous", + "files.pagination_previous": "Vorherige", "files.pagination_showing": "Showing", - "files.preview_modal_close": "Close preview", - "files.preview_modal_title": "Preview", + "files.preview_modal_close": "Vorschau schließen", + "files.preview_modal_title": "Vorschau", "files.queue_banner_items": "item(s) are currently queued or being processed. Files will appear here once processing completes.", - "files.queue_banner_link": "View Queue", - "files.saved_searches_empty": "No saved searches yet", - "files.saved_searches_error": "Could not load saved searches", - "files.saved_searches_label": "Saved Searches", - "files.saved_searches_save": "Save Current", + "files.queue_banner_link": "Warteschlange ansehen", + "files.saved_searches_empty": "Noch keine gespeicherten Suchen", + "files.saved_searches_error": "Gespeicherte Suchen konnten nicht geladen werden", + "files.saved_searches_label": "Gespeicherte Suchen", + "files.saved_searches_save": "Aktuelle speichern", "files.saved_searches_save_aria": "Save current filters as a saved search", - "files.search_results_empty": "No results found.", - "files.search_results_title": "Search Results", + "files.search_results_empty": "Keine Ergebnisse gefunden.", + "files.search_results_title": "Suchergebnisse", "files.status_duplicate": "Duplicate", - "files.table_actions": "Actions", + "files.table_actions": "Aktionen", "files.table_aria": "File records", - "files.table_created_at": "Created At", - "files.table_empty": "No files found", + "files.table_created_at": "Erstellt am", + "files.table_empty": "Keine Dateien gefunden", "files.table_id": "ID", - "files.table_mime_type": "MIME Type", - "files.table_original_filename": "Original Filename", - "files.table_select_all": "Select all files on this page", + "files.table_mime_type": "MIME-Typ", + "files.table_original_filename": "Originaler Dateiname", + "files.table_select_all": "Alle Dateien auf dieser Seite auswählen", "files.tags": "Tags", - "files.title": "Files", + "files.title": "Dateien", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", - "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Uploaded", - "footer.about": "About", - "footer.attribution": "Attribution", - "footer.attributions": "Attributions", - "footer.cookies": "Cookies", - "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Imprint", - "footer.license": "License", - "footer.navigation": "Footer navigation", - "footer.privacy": "Privacy", - "footer.terms": "Terms", - "footer.version": "Version {version}", + "files.upload_modal_header": "Dateien hochladen", + "files.uploaded": "Hochgeladen", + "footer.about": "Über uns", + "footer.attribution": "Namensnennung", + "footer.attributions": "Quellenangaben", + "footer.cookies": "Cookie-Richtlinie", + "footer.copyright": "© {year} DocuElevate", + "footer.imprint": "Impressum", + "footer.license": "Lizenz", + "footer.navigation": "Fußzeilennavigation", + "footer.privacy": "Datenschutz", + "footer.terms": "Nutzungsbedingungen", + "footer.version": "Version", "help.destinations_dropbox": "Dropbox", - "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", - "help.destinations_email": "Email Forwarding", - "help.destinations_email_desc": "Processed files sent as SMTP attachments.", + "help.destinations_dropbox_desc": "OAuth-verknüpft. Dateien landen in Ihrem gewählten Ordner.", + "help.destinations_email": "E-Mail-Weiterleitung", + "help.destinations_email_desc": "Verarbeitete Dateien als SMTP-Anhänge gesendet.", "help.destinations_google_drive": "Google Drive", - "help.destinations_google_drive_desc": "Service account or OAuth. Supports shared drives.", - "help.destinations_heading": "Destinations – Where Documents Go", + "help.destinations_google_drive_desc": "Dienstkonto oder OAuth. Unterstützt geteilte Laufwerke.", + "help.destinations_heading": "Ziele – Wohin die Dokumente gehen", "help.destinations_nextcloud": "Nextcloud / WebDAV", - "help.destinations_nextcloud_desc": "Self-hosted cloud storage via WebDAV.", + "help.destinations_nextcloud_desc": "Selbstgehosteter Cloud-Speicher über WebDAV.", "help.destinations_onedrive": "OneDrive", - "help.destinations_onedrive_desc": "Microsoft Graph API integration.", + "help.destinations_onedrive_desc": "Microsoft Graph API-Integration.", "help.destinations_paperless": "Paperless-ngx", - "help.destinations_paperless_desc": "Push documents straight into Paperless for archival.", + "help.destinations_paperless_desc": "Dokumente direkt in Paperless zur Archivierung übertragen.", "help.destinations_s3": "Amazon S3", - "help.destinations_s3_desc": "Any S3-compatible bucket (AWS, MinIO, Wasabi).", + "help.destinations_s3_desc": "Jeder S3-kompatible Bucket (AWS, MinIO, Wasabi).", "help.destinations_sftp": "SFTP / FTP", - "help.destinations_sftp_desc": "Secure file transfer to any server.", + "help.destinations_sftp_desc": "Sichere Dateiübertragung auf beliebige Server.", "help.destinations_webhook": "Webhook", - "help.destinations_webhook_desc": "POST metadata to any external endpoint.", - "help.documentation": "Documentation", - "help.faq": "Frequently Asked Questions", - "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", - "help.faq_1_q": "How do I upload documents?", - "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", - "help.faq_2_q": "Which file formats are supported?", - "help.faq_3_a": "Yes. Go to Email Ingestion, add an IMAP account, and DocuElevate will poll for new messages and process attachments automatically.", - "help.faq_3_q": "Can I ingest documents from email?", - "help.faq_4_a": "Pipelines let you chain processing steps – OCR, AI extraction, format conversion – and route the result to one or more destinations. Create and manage them from the Pipelines page.", - "help.faq_4_q": "How do processing pipelines work?", - "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", - "help.faq_5_q": "Is my data secure?", - "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Getting Started", - "help.heading": "Help Center", - "help.page_title": "Help Center", + "help.destinations_webhook_desc": "Metadaten per POST an einen externen Endpunkt senden.", + "help.documentation": "Dokumentation", + "help.faq": "Häufig gestellte Fragen", + "help.faq_1_a": "Navigieren Sie zur Upload-Seite, ziehen Sie Ihre Dateien per Drag-and-Drop oder klicken Sie auf Datei auswählen. DocuElevate konvertiert Bilder und Office-Dokumente in PDF, führt OCR durch und extrahiert Metadaten automatisch.", + "help.faq_1_q": "Wie lade ich Dokumente hoch?", + "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF und HTML. Nicht-PDF-Dateien werden vor der Verarbeitung automatisch in PDF konvertiert.", + "help.faq_2_q": "Welche Dateiformate werden unterstützt?", + "help.faq_3_a": "Ja. Gehen Sie zu E-Mail-Import, fügen Sie ein IMAP-Konto hinzu, und DocuElevate prüft auf neue Nachrichten und verarbeitet Anhänge automatisch.", + "help.faq_3_q": "Kann ich Dokumente per E-Mail importieren?", + "help.faq_4_a": "Pipelines ermöglichen es Ihnen, Verarbeitungsschritte zu verketten – OCR, KI-Extraktion, Formatkonvertierung – und das Ergebnis an ein oder mehrere Ziele weiterzuleiten. Erstellen und verwalten Sie diese auf der Pipelines-Seite.", + "help.faq_4_q": "Wie funktionieren Verarbeitungs-Pipelines?", + "help.faq_5_a": "DocuElevate verschlüsselt Anmeldedaten im Ruhezustand, kommuniziert über TLS und speichert Ihre Dokumente nie länger als nötig. Weitere Details finden Sie in der Datenschutzerklärung.", + "help.faq_5_q": "Sind meine Daten sicher?", + "help.faq_heading": "Häufig gestellte Fragen", + "help.getting_started": "Erste Schritte", + "help.heading": "Hilfezentrum", + "help.page_title": "Hilfezentrum", "help.privacy_notice": "Privacy Notice", - "help.quickstart_heading": "Quick Start", - "help.quickstart_storage": "Connect Storage", - "help.quickstart_storage_desc": "Head to Settings and link your cloud accounts. Processed documents are automatically routed to every destination you configure.", - "help.quickstart_upload": "Upload Documents", - "help.quickstart_upload_desc": "Drag & drop files onto the Upload page or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", - "help.quickstart_workflows": "Automate Workflows", - "help.quickstart_workflows_desc": "Create Pipelines to define multi-step processing and routing rules. Combine OCR, AI extraction, format conversion, and delivery in a single flow.", - "help.sources_email_ingestion": "Email Ingestion (IMAP)", - "help.sources_email_ingestion_desc": "Forward documents to a dedicated mailbox. Under Email Ingestion, add one or more IMAP accounts. DocuElevate polls for new messages and processes attachments automatically.", - "help.sources_heading": "Sources – Getting Documents In", - "help.sources_rest_api": "REST API", - "help.sources_rest_api_desc": "Integrate programmatically by POST-ing files to /api/upload. Ideal for scripts, watched folders, scanners, or third-party tools like Zapier and n8n.", - "help.sources_scanner": "Scanner & Mobile", - "help.sources_scanner_desc": "Point network scanners at DocuElevate's upload endpoint or use any mobile scanning app that supports custom HTTP destinations.", - "help.sources_web_upload": "Web Upload", - "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", - "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", + "help.quickstart_heading": "Schnellstart", + "help.quickstart_storage": "Speicher verbinden", + "help.quickstart_storage_desc": "Gehen Sie zu Einstellungen und verknüpfen Sie Ihre Cloud-Konten. Verarbeitete Dokumente werden automatisch an jedes konfigurierte Ziel weitergeleitet.", + "help.quickstart_upload": "Dokumente hochladen", + "help.quickstart_upload_desc": "Ziehen Sie Dateien auf die Upload-Seite oder klicken Sie auf Datei auswählen. DocuElevate konvertiert Bilder und Office-Dokumente in PDF, führt OCR durch und extrahiert Metadaten automatisch.", + "help.quickstart_workflows": "Arbeitsabläufe automatisieren", + "help.quickstart_workflows_desc": "Erstellen Sie Pipelines, um mehrstufige Verarbeitungs- und Weiterleitungsregeln zu definieren. Kombinieren Sie OCR, KI-Extraktion, Formatkonvertierung und Zustellung in einem einzigen Ablauf.", + "help.sources_email_ingestion": "E-Mail-Import (IMAP)", + "help.sources_email_ingestion_desc": "Leiten Sie Dokumente an ein dediziertes Postfach weiter. Unter E-Mail-Import fügen Sie ein oder mehrere IMAP-Konten hinzu. DocuElevate prüft auf neue Nachrichten und verarbeitet Anhänge automatisch.", + "help.sources_heading": "Quellen – Dokumente einbringen", + "help.sources_rest_api": "REST-API", + "help.sources_rest_api_desc": "Integrieren Sie programmgesteuert, indem Sie Dateien an /api/upload senden. Ideal für Skripte, überwachte Ordner, Scanner oder Drittanbieter-Tools wie Zapier und n8n.", + "help.sources_scanner": "Scanner & Mobil", + "help.sources_scanner_desc": "Richten Sie Netzwerkscanner auf den Upload-Endpunkt von DocuElevate oder verwenden Sie eine mobile Scan-App, die benutzerdefinierte HTTP-Ziele unterstützt.", + "help.sources_web_upload": "Web-Upload", + "help.sources_web_upload_desc": "Der schnellste Weg, um loszulegen. Öffnen Sie die Upload-Seite, legen Sie eine oder mehrere Dateien ab, und DocuElevate kümmert sich um den Rest. Unterstützte Formate sind PDF, JPEG, PNG, TIFF, DOCX, XLSX und mehr.", + "help.subheading": "Alles, was Sie brauchen, um DocuElevate optimal zu nutzen. Durchsuchen Sie die Themen unten oder suchen Sie nach dem, was Sie brauchen.", "help.support": "Support", - "help.support_admin_message": "Contact your administrator for support information.", - "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", - "help.support_heading": "Contact Support", + "help.support_admin_message": "Wenden Sie sich an Ihren Administrator für Support-Informationen.", + "help.support_description": "Können Sie nicht finden, was Sie suchen? Unser Support-Team hilft Ihnen gerne weiter.", + "help.support_heading": "Support kontaktieren", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Help Center", - "help.workflows_creating": "Creating a Pipeline", - "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", - "help.workflows_heading": "Workflows & Pipelines", - "help.workflows_step_1": "Convert to PDF", - "help.workflows_step_1_create": "Go to Pipelines in the main menu.", - "help.workflows_step_2": "OCR – extract text", - "help.workflows_step_2_create": "Click New Pipeline and give it a name.", - "help.workflows_step_3": "AI metadata extraction", - "help.workflows_step_3_create": "Add the processing steps you need.", - "help.workflows_step_4": "Deliver to one or more destinations", - "help.workflows_step_4_create": "Choose one or more delivery destinations.", - "help.workflows_step_5_create": "Save – new documents will be processed through this pipeline automatically.", - "help.workflows_typical_steps": "Typical Steps", - "help.workflows_what_is": "What is a Pipeline?", - "index.badge_intelligent": "Intelligent Document Processing", + "help.title": "Hilfecenter", + "help.workflows_creating": "Eine Pipeline erstellen", + "help.workflows_definition": "Eine Pipeline ist eine Reihe von Verarbeitungsschritten, die automatisch ausgeführt werden, wenn ein Dokument aufgenommen wird. Jeder Schritt kann das Dokument transformieren, anreichern oder weiterleiten.", + "help.workflows_heading": "Arbeitsabläufe & Pipelines", + "help.workflows_step_1": "In PDF konvertieren", + "help.workflows_step_1_create": "Gehen Sie im Hauptmenü zu Pipelines.", + "help.workflows_step_2": "OCR – Text extrahieren", + "help.workflows_step_2_create": "Klicken Sie auf Neue Pipeline und geben Sie ihr einen Namen.", + "help.workflows_step_3": "KI-Metadatenextraktion", + "help.workflows_step_3_create": "Fügen Sie die benötigten Verarbeitungsschritte hinzu.", + "help.workflows_step_4": "An ein oder mehrere Ziele liefern", + "help.workflows_step_4_create": "Wählen Sie ein oder mehrere Zustellungsziele.", + "help.workflows_step_5_create": "Speichern – neue Dokumente werden automatisch durch diese Pipeline verarbeitet.", + "help.workflows_typical_steps": "Typische Schritte", + "help.workflows_what_is": "Was ist eine Pipeline?", + "index.badge_intelligent": "Intelligente Dokumentenverarbeitung", "index.button_browse_files": "Browse Files", "index.button_upload": "Upload", - "index.capabilities_cloud": "Cloud storage: Dropbox, OneDrive, Google Drive, NextCloud", - "index.capabilities_ingestion": "Email & URL-based document ingestion", - "index.capabilities_ocr": "OCR & metadata extraction with AI", - "index.capabilities_paperless": "Paperless-ngx integration for document management", - "index.capabilities_title": "Capabilities", - "index.capabilities_workflows": "Automated classification & routing workflows", - "index.cta_description": "Join teams already automating their document processing with DocuElevate.", - "index.cta_heading": "Ready to elevate your document workflow?", - "index.cta_pricing": "See pricing", - "index.cta_signup": "Create a free account", - "index.dashboard_subtitle": "Intelligent document processing & management", + "index.capabilities_cloud": "Cloud-Speicher: Dropbox, OneDrive, Google Drive, NextCloud", + "index.capabilities_ingestion": "E-Mail- & URL-basierte Dokumentenaufnahme", + "index.capabilities_ocr": "OCR & Metadatenextraktion mit KI", + "index.capabilities_paperless": "Paperless-ngx-Integration für Dokumentenverwaltung", + "index.capabilities_title": "Funktionen", + "index.capabilities_workflows": "Automatisierte Klassifizierung & Routing-Workflows", + "index.cta_description": "Schließen Sie sich Teams an, die ihre Dokumentenverarbeitung bereits mit DocuElevate automatisieren.", + "index.cta_heading": "Bereit, Ihren Dokumenten-Workflow zu verbessern?", + "index.cta_pricing": "Preise ansehen", + "index.cta_signup": "Kostenloses Konto erstellen", + "index.dashboard_subtitle": "Intelligente Dokumentenverarbeitung & -verwaltung", "index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams", - "index.feature_ai": "AI Metadata Extraction", - "index.feature_ai_desc": "OpenAI, Claude, Gemini, and other pluggable AI providers classify documents and pull out key fields like dates, amounts, and subjects.", - "index.feature_cloud": "Multi-Cloud Storage", - "index.feature_cloud_desc": "Route processed files to Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP, and more.", - "index.feature_email": "Email & IMAP Ingestion", - "index.feature_email_desc": "Automatically pull documents from Gmail or any IMAP mailbox — no manual uploads needed.", - "index.feature_ocr": "OCR & Text Extraction", - "index.feature_ocr_desc": "Azure Document Intelligence converts scanned PDFs and images into fully searchable text automatically.", - "index.feature_pipelines": "Custom Pipelines", - "index.feature_pipelines_desc": "Build processing pipelines with configurable steps — OCR, AI extraction, format conversion, and storage routing in any order.", - "index.feature_search": "Full-Text Search", - "index.feature_search_desc": "Instantly find any document by content, metadata, or tags across your entire archive.", - "index.feature_section_title": "Everything you need for smart document workflows", - "index.getting_started": "Getting Started", - "index.getting_started_1": "Configure integrations via System Status", - "index.getting_started_2": "Upload your first document", - "index.getting_started_3": "Review results in Files", - "index.getting_started_learn": "Learn more about DocuElevate", - "index.hero_description": "DocuElevate ingests your documents, runs OCR, extracts metadata with AI, and routes files to Dropbox, Google Drive, OneDrive, S3, Nextcloud, and more — all in one seamless pipeline.", - "index.hero_heading": "From upload to insight — automatically.", - "index.hero_login": "Log In", - "index.hero_pricing": "View Plans & Pricing", - "index.hero_signup": "Get Started — it’s free", - "index.integrations_active": "Active integrations", - "index.integrations_storage": "Storage targets", - "index.integrations_title": "Integrations", - "index.integrations_view_status": "View system status", - "index.page_title_dashboard": "Dashboard", - "index.page_title_public": "Intelligent Document Processing", - "index.platform_overview": "Platform overview", - "index.quick_actions": "Quick Actions", - "index.quick_documents": "My Documents", - "index.quick_documents_desc": "Browse your processed files", - "index.quick_search": "Search", - "index.quick_search_desc": "Full-text search across documents", - "index.quick_subscription": "My Subscription", - "index.quick_subscription_desc": "View plan & usage details", + "index.feature_ai": "KI-Metadatenextraktion", + "index.feature_ai_desc": "OpenAI, Claude, Gemini und andere KI-Anbieter klassifizieren Dokumente und extrahieren wichtige Felder wie Daten, Beträge und Betreffzeilen.", + "index.feature_cloud": "Multi-Cloud-Speicher", + "index.feature_cloud_desc": "Leiten Sie verarbeitete Dateien an Dropbox, Google Drive, OneDrive, Amazon S3, Nextcloud, Paperless NGX, WebDAV, FTP/SFTP und mehr weiter.", + "index.feature_email": "E-Mail- & IMAP-Import", + "index.feature_email_desc": "Ziehen Sie Dokumente automatisch aus Gmail oder jedem IMAP-Postfach – keine manuellen Uploads nötig.", + "index.feature_ocr": "OCR & Texterkennung", + "index.feature_ocr_desc": "Azure Document Intelligence konvertiert gescannte PDFs und Bilder automatisch in vollständig durchsuchbaren Text.", + "index.feature_pipelines": "Benutzerdefinierte Pipelines", + "index.feature_pipelines_desc": "Erstellen Sie Verarbeitungs-Pipelines mit konfigurierbaren Schritten – OCR, KI-Extraktion, Formatkonvertierung und Speicher-Routing in beliebiger Reihenfolge.", + "index.feature_search": "Volltextsuche", + "index.feature_search_desc": "Finden Sie sofort jedes Dokument nach Inhalt, Metadaten oder Tags in Ihrem gesamten Archiv.", + "index.feature_section_title": "Alles, was Sie für intelligente Dokumenten-Workflows brauchen", + "index.getting_started": "Erste Schritte", + "index.getting_started_1": "Integrationen über Systemstatus konfigurieren", + "index.getting_started_2": "Erstes Dokument hochladen", + "index.getting_started_3": "Ergebnisse in Dateien überprüfen", + "index.getting_started_learn": "Mehr über DocuElevate erfahren", + "index.hero_description": "DocuElevate nimmt Ihre Dokumente auf, führt OCR durch, extrahiert Metadaten mit KI und leitet Dateien an Dropbox, Google Drive, OneDrive, S3, Nextcloud und mehr weiter – alles in einer nahtlosen Pipeline.", + "index.hero_heading": "Vom Hochladen zur Erkenntnis – automatisch.", + "index.hero_login": "Anmelden", + "index.hero_pricing": "Tarife & Preise ansehen", + "index.hero_signup": "Kostenlos starten", + "index.integrations_active": "Aktive Integrationen", + "index.integrations_storage": "Speicherziele", + "index.integrations_title": "Integrationen", + "index.integrations_view_status": "Systemstatus anzeigen", + "index.page_title_dashboard": "Übersicht", + "index.page_title_public": "Intelligente Dokumentenverarbeitung", + "index.platform_overview": "Plattformübersicht", + "index.quick_actions": "Schnellaktionen", + "index.quick_documents": "Meine Dokumente", + "index.quick_documents_desc": "Ihre verarbeiteten Dateien durchsuchen", + "index.quick_search": "Suche", + "index.quick_search_desc": "Volltextsuche über Dokumente", + "index.quick_subscription": "Mein Abonnement", + "index.quick_subscription_desc": "Tarif & Nutzungsdetails anzeigen", "index.quick_system_status": "System Status", "index.quick_system_status_desc": "Check integration health", - "index.quick_upload": "Upload Document", - "index.quick_upload_desc": "Process a new file", + "index.quick_upload": "Dokument hochladen", + "index.quick_upload_desc": "Eine neue Datei verarbeiten", "index.quick_view_files": "View All Files", "index.quick_view_files_desc": "Browse processed documents", "index.single_user_heading": "DocuElevate Dashboard", - "index.single_user_subtitle": "Intelligent document processing & management", + "index.single_user_subtitle": "Intelligente Dokumentenverarbeitung & -verwaltung", "index.stat_active_integrations": "Active Integrations", - "index.stat_active_users": "Active users", - "index.stat_files_month": "Files this month", - "index.stat_files_today": "Files today", + "index.stat_active_users": "Aktive Benutzer", + "index.stat_files_month": "Dateien diesen Monat", + "index.stat_files_today": "Dateien heute", "index.stat_storage_targets": "Storage Targets", - "index.stat_total_files": "Total files", - "index.tier_plan": "Plan", + "index.stat_total_files": "Dateien gesamt", + "index.tier_plan": "Tarif", "index.tier_upgrade": "Upgrade", - "index.tier_view_details": "View full details", - "index.upgrade_daily_limits": "Higher daily & monthly limits", - "index.upgrade_description": "Unlock more documents, more destinations and priority support.", - "index.upgrade_destinations": "More storage destinations", - "index.upgrade_ocr_pages": "More OCR pages", - "index.upgrade_plan": "Upgrade your plan", - "index.upgrade_view_pricing": "View plans & pricing", - "index.usage_lifetime": "Lifetime files", - "index.usage_month": "Files this month", - "index.usage_my_usage": "My usage", - "index.usage_today": "Files today", - "index.usage_unlimited": "Unlimited", - "integrations.configure": "Configure", - "integrations.connect": "Connect", - "integrations.connected": "Connected", - "integrations.disconnect": "Disconnect", - "integrations.empty_state": "No integrations configured", - "integrations.folder_label": "Folder", + "index.tier_view_details": "Alle Details ansehen", + "index.upgrade_daily_limits": "Höhere tägliche & monatliche Limits", + "index.upgrade_description": "Mehr Dokumente, mehr Ziele und Prioritäts-Support freischalten.", + "index.upgrade_destinations": "Mehr Speicherziele", + "index.upgrade_ocr_pages": "Mehr OCR-Seiten", + "index.upgrade_plan": "Tarif upgraden", + "index.upgrade_view_pricing": "Tarife & Preise ansehen", + "index.usage_lifetime": "Dateien gesamt", + "index.usage_month": "Dateien diesen Monat", + "index.usage_my_usage": "Meine Nutzung", + "index.usage_today": "Dateien heute", + "index.usage_unlimited": "Unbegrenzt", + "integrations.configure": "Konfigurieren", + "integrations.connect": "Verbinden", + "integrations.connected": "Verbunden", + "integrations.disconnect": "Trennen", + "integrations.empty_state": "Keine Integrationen konfiguriert", + "integrations.folder_label": "Ordner", "integrations.host_label": "Host", - "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "Not Connected", - "integrations.page_title": "Integrations", - "integrations.password_label": "Password", + "integrations.imap_settings": "IMAP-Einstellungen", + "integrations.not_connected": "Nicht verbunden", + "integrations.page_title": "Integrationen", + "integrations.password_label": "Passwort", "integrations.port_label": "Port", - "integrations.title": "Integrations", - "integrations.username_label": "Username", + "integrations.title": "Integrationen", + "integrations.username_label": "Benutzername", "language.bg": "Български", "language.ca": "Català", - "language.change_success": "Language changed to {language}", - "language.changed": "Language changed to {language}", + "language.change_success": "Sprache geändert zu {language}", + "language.changed": "Sprache geändert zu {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", "language.el": "Ελληνικά", - "language.en": "English", - "language.es": "Español", + "language.en": "Englisch", + "language.es": "Spanisch", "language.et": "Eesti", "language.fi": "Suomi", - "language.fr": "Français", + "language.fr": "Französisch", "language.ga": "Gaeilge", "language.hr": "Hrvatski", "language.hu": "Magyar", "language.is": "Íslenska", - "language.it": "Italiano", + "language.it": "Italienisch", "language.lb": "Lëtzebuergesch", "language.lt": "Lietuvių", "language.lv": "Latviešu", "language.nb": "Norsk", - "language.nl": "Nederlands", - "language.pl": "Polski", - "language.pt": "Português", + "language.nl": "Niederländisch", + "language.pl": "Polnisch", + "language.pt": "Portugiesisch", "language.ro": "Română", - "language.ru": "Русский", - "language.selector": "Language", - "language.selector_label": "Select language", + "language.ru": "Russisch", + "language.selector": "Sprache", + "language.selector_label": "Sprache wählen", "language.sk": "Slovenčina", "language.sl": "Slovenščina", "language.sv": "Svenska", "language.tr": "Türkçe", "language.uk": "Українська", - "language.zh": "中文", - "nav.about": "About", - "nav.admin": "Admin", - "nav.admin.audit_logs": "Audit Logs", - "nav.admin.backups": "Backups", - "nav.admin.plans": "Plans", - "nav.admin.scheduled_jobs": "Scheduled Jobs", - "nav.admin.users": "Users", - "nav.admin_actions": "Admin actions", - "nav.admin_menu": "Admin menu", - "nav.api_docs": "API Docs", - "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Backup & Restore", - "nav.credentials": "Credentials", - "nav.dark_mode": "Dark Mode", - "nav.dashboard": "Dashboard", - "nav.developer_docs": "Developer Docs", - "nav.duplicates": "Duplicates", - "nav.file_manager": "File Manager", - "nav.files": "Files", - "nav.help": "Help", - "nav.help_center": "Help Center", - "nav.imap": "Email Import", - "nav.integrations": "Integrations", - "nav.light_mode": "Light Mode", - "nav.login": "Log In", - "nav.logout": "Log Out", - "nav.main_navigation": "Main navigation", - "nav.notifications": "Notifications", - "nav.open_main_menu": "Open main menu", + "language.zh": "Chinesisch", + "nav.about": "Über uns", + "nav.admin": "Administration", + "nav.admin.audit_logs": "Prüfprotokolle", + "nav.admin.backups": "Sicherungen", + "nav.admin.plans": "Tarife", + "nav.admin.scheduled_jobs": "Geplante Aufgaben", + "nav.admin.users": "Benutzer", + "nav.admin_actions": "Admin-Aktionen", + "nav.admin_menu": "Admin-Menü", + "nav.api_docs": "API-Dokumentation", + "nav.api_tokens": "API-Token", + "nav.backup_restore": "Sicherung & Wiederherstellung", + "nav.credentials": "Zugangsdaten", + "nav.dark_mode": "Dunkelmodus", + "nav.dashboard": "Übersicht", + "nav.developer_docs": "Entwicklerdokumentation", + "nav.duplicates": "Duplikate", + "nav.file_manager": "Dateimanager", + "nav.files": "Dateien", + "nav.help": "Hilfe", + "nav.help_center": "Hilfecenter", + "nav.imap": "E-Mail-Import", + "nav.integrations": "Integrationen", + "nav.light_mode": "Hellmodus", + "nav.login": "Anmelden", + "nav.logout": "Abmelden", + "nav.main_navigation": "Hauptnavigation", + "nav.notifications": "Benachrichtigungen", + "nav.open_main_menu": "Hauptmenü öffnen", "nav.pipelines": "Pipelines", - "nav.plan_designer": "Plan Designer", - "nav.pricing": "Pricing", - "nav.profile": "Profile", - "nav.queue": "Queue", - "nav.queue_monitor": "Queue Monitor", - "nav.scheduled_jobs": "Scheduled Jobs", - "nav.search": "Search", - "nav.settings": "Settings", - "nav.shared_links": "Shared Links", - "nav.signup": "Sign Up", - "nav.similarity": "Similarity", - "nav.skip_to_content": "Skip to main content", - "nav.status": "Status", - "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Toggle dark mode", - "nav.toggle_nav": "Toggle navigation menu", - "nav.upload": "Upload", - "nav.users": "Users", - "nav.version": "Version Info", - "notifications.filter_all": "All", - "notifications.filter_read": "Read only", - "notifications.filter_unread": "Unread only", - "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Mark All as Read", - "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Mark as Read", - "notifications.no_notifications": "No notifications", - "notifications.page_title": "Notifications", - "notifications.tab_inbox": "Inbox", - "notifications.tab_settings": "Settings", - "notifications.title": "Notifications", - "notifications.unread_count": "{count} unread notifications", - "pipelines.active_label": "Active", + "nav.plan_designer": "Plan-Designer", + "nav.pricing": "Preise", + "nav.profile": "Profil", + "nav.queue": "Warteschlange", + "nav.queue_monitor": "Warteschlangen-Monitor", + "nav.scheduled_jobs": "Geplante Aufgaben", + "nav.search": "Suche", + "nav.settings": "Einstellungen", + "nav.shared_links": "Geteilte Links", + "nav.signup": "Registrieren", + "nav.similarity": "Ähnlichkeit", + "nav.skip_to_content": "Zum Hauptinhalt springen", + "nav.status": "Systemstatus", + "nav.subscription": "Abonnement", + "nav.toggle_dark_mode": "Dunkelmodus umschalten", + "nav.toggle_nav": "Navigationsmenü umschalten", + "nav.upload": "Hochladen", + "nav.users": "Benutzer", + "nav.version": "Versionsinformationen", + "notifications.filter_all": "Alle", + "notifications.filter_read": "Nur gelesene", + "notifications.filter_unread": "Nur ungelesene", + "notifications.manage_desc": "Verwalten Sie Ihren Posteingang, Ziele und Ereignispräferenzen", + "notifications.mark_all_read": "Alle als gelesen markieren", + "notifications.mark_all_read_btn": "Alle als gelesen markieren", + "notifications.mark_read": "Als gelesen markieren", + "notifications.no_notifications": "Keine Benachrichtigungen", + "notifications.page_title": "Benachrichtigungen", + "notifications.tab_inbox": "Posteingang", + "notifications.tab_settings": "Einstellungen", + "notifications.title": "Benachrichtigungen", + "notifications.unread_count": "{count} ungelesene Benachrichtigungen", + "pipelines.active_label": "Aktiv", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Create Pipeline", + "pipelines.create": "Pipeline erstellen", "pipelines.custom_label_label": "Custom Label", - "pipelines.default_label": "Default", - "pipelines.description_label": "Description", + "pipelines.default_label": "Standard", + "pipelines.description_label": "Beschreibung", "pipelines.description_placeholder": "Optional description", - "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Edit Pipeline", - "pipelines.empty_state": "No pipelines yet", + "pipelines.disabled_label": "Deaktiviert", + "pipelines.edit": "Pipeline bearbeiten", + "pipelines.empty_state": "Noch keine Pipelines", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", - "pipelines.enabled_label": "Enabled", + "pipelines.enabled_label": "Aktiviert", "pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)", - "pipelines.inactive_label": "Inactive", + "pipelines.inactive_label": "Inaktiv", "pipelines.loading": "Loading pipelines…", "pipelines.name_placeholder": "My pipeline", "pipelines.new_pipeline_btn": "New Pipeline", @@ -703,8 +703,8 @@ "pipelines.ocr_language_hint": "Overrides the global language setting for Tesseract/EasyOCR. Azure and Mistral auto-detect the language.", "pipelines.ocr_language_label": "OCR Language", "pipelines.optional_suffix": "(optional)", - "pipelines.page_title": "Processing Pipelines", - "pipelines.set_default": "Set as my default pipeline", + "pipelines.page_title": "Verarbeitungs-Pipelines", + "pipelines.set_default": "Als meine Standard-Pipeline festlegen", "pipelines.step_label_placeholder": "Override the default step name", "pipelines.step_type_label": "Step Type", "pipelines.subtitle_intro": "Define and manage custom document processing workflows.", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Processing Pipelines", + "pipelines.title": "Verarbeitungs-Pipelines", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -738,42 +738,42 @@ "queue.redis_queues": "Redis Queues", "queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.", "queue.workers_online": "Workers Online", - "search.button": "Search", - "search.error_message": "Search is temporarily unavailable. Please try again in a moment.", + "search.button": "Suchen", + "search.error_message": "Suche ist vorübergehend nicht verfügbar. Bitte versuchen Sie es gleich erneut.", "search.filter_aria_clear": "Clear all filters", - "search.filter_clear_button": "Clear Filters", - "search.filter_date_from": "Date From", - "search.filter_date_to": "Date To", - "search.filter_document_type": "Document Type", - "search.filter_document_type_placeholder": "e.g. Invoice", - "search.filter_language": "Language", - "search.filter_language_placeholder": "e.g. de", - "search.filter_sender": "Sender", - "search.filter_sender_placeholder": "e.g. ACME Corp", + "search.filter_clear_button": "Filter zurücksetzen", + "search.filter_date_from": "Datum von", + "search.filter_date_to": "Datum bis", + "search.filter_document_type": "Dokumenttyp", + "search.filter_document_type_placeholder": "z.B. Rechnung", + "search.filter_language": "Sprache", + "search.filter_language_placeholder": "z.B. de", + "search.filter_sender": "Absender", + "search.filter_sender_placeholder": "z.B. ACME GmbH", "search.filter_tags": "Tags", - "search.filter_tags_placeholder": "e.g. amazon", - "search.filter_text_quality": "Text Quality", - "search.filter_text_quality_all": "All", - "search.filter_text_quality_high": "High", - "search.filter_text_quality_low": "Low", - "search.filter_text_quality_medium": "Medium", - "search.filter_text_quality_no_text": "No text", - "search.heading": "Document Search", + "search.filter_tags_placeholder": "z.B. Amazon", + "search.filter_text_quality": "Textqualität", + "search.filter_text_quality_all": "Alle", + "search.filter_text_quality_high": "Hoch", + "search.filter_text_quality_low": "Niedrig", + "search.filter_text_quality_medium": "Mittel", + "search.filter_text_quality_no_text": "Kein Text", + "search.heading": "Dokumentensuche", "search.input_aria_label": "Search documents", - "search.input_placeholder": "Search documents by content, sender, tags, type...", - "search.loading_indicator": "Searching…", - "search.no_results": "No results found", - "search.page_title": "Search Documents", - "search.placeholder": "Search by filename, content, tags...", - "search.result_empty": "No documents found matching your query.", - "search.results_count": "{count} results found", + "search.input_placeholder": "Dokumente nach Inhalt, Absender, Tags, Typ suchen...", + "search.loading_indicator": "Suche läuft…", + "search.no_results": "Keine Ergebnisse gefunden", + "search.page_title": "Dokumente suchen", + "search.placeholder": "Nach Dateiname, Inhalt, Tags suchen...", + "search.result_empty": "Keine Dokumente gefunden, die Ihrer Suche entsprechen.", + "search.results_count": "{count} Ergebnisse gefunden", "search.saved_aria_save": "Save current search", - "search.saved_button": "Save Current", - "search.saved_empty": "No saved searches yet", - "search.saved_error": "Could not load saved searches", - "search.saved_label": "Saved Searches", - "search.saved_loading": "Loading...", - "search.title": "Search Documents", + "search.saved_button": "Aktuelle speichern", + "search.saved_empty": "Noch keine gespeicherten Suchen", + "search.saved_error": "Gespeicherte Suchen konnten nicht geladen werden", + "search.saved_label": "Gespeicherte Suchen", + "search.saved_loading": "Laden...", + "search.title": "Dokumente suchen", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.reset_confirm": "Möchten Sie diese Einstellung wirklich zurücksetzen?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Failed to save setting", + "settings.save_error": "Einstellung konnte nicht gespeichert werden", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Setting saved successfully", + "settings.save_success": "Einstellung erfolgreich gespeichert", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Settings", + "settings.title": "Einstellungen", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -890,40 +890,40 @@ "similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.", "similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings", "similarity.trigger_now": "trigger it now", - "status.app_version": "App Version", - "status.build_date": "Build Date", - "status.container_id": "Container ID", - "status.git_commit": "Git Commit", - "status.last_check": "Last Check", - "status.page_title": "System Status", - "status.setting_label": "Setting", - "status.value_label": "Value", - "upload.browse_button": "Browse Files", - "upload.button_processing": "Processing...", - "upload.camera_button": "Take Photo / Scan Document", - "upload.download_button": "Download and Process", - "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Drag & drop files here or click to browse", - "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", - "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", + "status.app_version": "App-Version", + "status.build_date": "Build-Datum", + "status.container_id": "Container-ID", + "status.git_commit": "Git-Commit", + "status.last_check": "Letzte Prüfung", + "status.page_title": "Systemstatus", + "status.setting_label": "Einstellung", + "status.value_label": "Wert", + "upload.browse_button": "Dateien durchsuchen", + "upload.button_processing": "Verarbeitung...", + "upload.camera_button": "Foto aufnehmen / Dokument scannen", + "upload.download_button": "Herunterladen und verarbeiten", + "upload.downloading": "Datei wird von URL heruntergeladen...", + "upload.drag_drop": "Dateien hierher ziehen oder zum Durchsuchen klicken", + "upload.drop_hint_desktop": "Dateien oder Ordner hierher ziehen oder klicken, um Dateien auszuwählen.", + "upload.drop_hint_mobile": "Tippen Sie, um Dateien auszuwählen, oder verwenden Sie die Kamera-Schaltfläche unten.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Upload failed", - "upload.error_invalid_url": "Invalid URL format", - "upload.error_url_required": "Please enter a URL", - "upload.file_size_hint": "Maximum size: 500 MB per file", - "upload.file_types": "Allowed types: PDF, Office documents (Word, Excel, PowerPoint, etc.), Images", - "upload.filename_description": "Leave empty to use filename from URL", - "upload.filename_label": "Filename (optional)", - "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Maximum file size: {size}", - "upload.page_title": "Upload Files", - "upload.section_device": "Upload from Device", - "upload.section_url": "Upload from URL", - "upload.select_file": "Select File", - "upload.success": "File uploaded successfully", - "upload.title": "Upload Document", - "upload.uploading": "Uploading...", - "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", - "upload.url_label": "File URL", - "upload.url_placeholder": "https://example.com/document.pdf" + "upload.error": "Upload fehlgeschlagen", + "upload.error_invalid_url": "Ungültiges URL-Format", + "upload.error_url_required": "Bitte geben Sie eine URL ein", + "upload.file_size_hint": "Maximale Größe: 500 MB pro Datei", + "upload.file_types": "Erlaubte Typen: PDF, Office-Dokumente (Word, Excel, PowerPoint usw.), Bilder", + "upload.filename_description": "Leer lassen, um den Dateinamen aus der URL zu verwenden", + "upload.filename_label": "Dateiname (optional)", + "upload.filename_placeholder": "mein-dokument.pdf", + "upload.max_size": "Maximale Dateigröße: {size}", + "upload.page_title": "Dateien hochladen", + "upload.section_device": "Vom Gerät hochladen", + "upload.section_url": "Von URL hochladen", + "upload.select_file": "Datei auswählen", + "upload.success": "Datei erfolgreich hochgeladen", + "upload.title": "Dokument hochladen", + "upload.uploading": "Wird hochgeladen...", + "upload.url_description": "Geben Sie einen direkten Link zu einer Datei ein (PDF, Office-Dokumente oder Bilder)", + "upload.url_label": "Datei-URL", + "upload.url_placeholder": "https://beispiel.de/dokument.pdf" } From 4fb7533ab66d675694d9a93fc720dd32cc90dcdf Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:44:55 +0100 Subject: [PATCH 50/56] New translations en.json (Finnish) --- frontend/translations/fi.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/fi.json b/frontend/translations/fi.json index d36160ed..edc89326 100644 --- a/frontend/translations/fi.json +++ b/frontend/translations/fi.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_label": "Full-Text Search", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Language changed to {language}", + "language.changed": "Kieli vaihdettiin kieleen {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Language", + "language.selector": "Suomi", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 564b6872c9c2edf33c0ea86c2556834bcaa4ff9b Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:44:56 +0100 Subject: [PATCH 51/56] New translations en.json (Italian) --- frontend/translations/it.json | 316 +++++++++++++++++----------------- 1 file changed, 158 insertions(+), 158 deletions(-) diff --git a/frontend/translations/it.json b/frontend/translations/it.json index d36160ed..673ec619 100644 --- a/frontend/translations/it.json +++ b/frontend/translations/it.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Log In", + "auth.login": "Accedi", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Log Out", - "auth.my_account": "My Account", + "auth.logout": "Esci", + "auth.my_account": "Il mio account", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "Profile", + "auth.profile": "Profilo", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Sign Up", + "auth.signup": "Registrati", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "Actions", - "common.active": "Active", - "common.all": "All", - "common.back": "Back", - "common.cancel": "Cancel", - "common.close": "Close", + "common.actions": "Azioni", + "common.active": "Attivo", + "common.all": "Tutto", + "common.back": "Indietro", + "common.cancel": "Annulla", + "common.close": "Chiudi", "common.col_pending": "Pending", - "common.completed": "Completed", - "common.confirm": "Confirm", - "common.copied": "Copied!", - "common.copy": "Copy", + "common.completed": "Completato", + "common.confirm": "Conferma", + "common.copied": "Copiato!", + "common.copy": "Copia", "common.create": "Create", - "common.created": "Created", - "common.date": "Date", - "common.delete": "Delete", - "common.description": "Description", - "common.details": "Details", - "common.disabled": "Disabled", - "common.download": "Download", + "common.created": "Creato", + "common.date": "Data", + "common.delete": "Elimina", + "common.description": "Descrizione", + "common.details": "Dettagli", + "common.disabled": "Disabilitato", + "common.download": "Scarica", "common.duplicate": "Duplicate", - "common.edit": "Edit", - "common.enabled": "Enabled", - "common.error": "Error", - "common.failed": "Failed", - "common.filter": "Filter", - "common.inactive": "Inactive", + "common.edit": "Modifica", + "common.enabled": "Abilitato", + "common.error": "Errore", + "common.failed": "Fallito", + "common.filter": "Filtra", + "common.inactive": "Inattivo", "common.info": "Info", - "common.loading": "Loading...", - "common.name": "Name", - "common.next": "Next", + "common.loading": "Caricamento...", + "common.name": "Nome", + "common.next": "Avanti", "common.next_page": "Next page", "common.no": "No", - "common.none": "None", + "common.none": "Nessuno", "common.page": "Page", - "common.pending": "Pending", + "common.pending": "In attesa", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "Processing", - "common.refresh": "Refresh", - "common.reset": "Reset", - "common.retry": "Retry", - "common.save": "Save", - "common.search": "Search", - "common.select": "Select", + "common.processing": "In elaborazione", + "common.refresh": "Aggiorna", + "common.reset": "Reimposta", + "common.retry": "Riprova", + "common.save": "Salva", + "common.search": "Cerca", + "common.select": "Seleziona", "common.select_placeholder": "— select —", - "common.size": "Size", - "common.status": "Status", + "common.size": "Dimensione", + "common.status": "Stato", "common.submit": "Submit", - "common.success": "Success", + "common.success": "Successo", "common.tags": "Tags", - "common.type": "Type", - "common.updated": "Updated", - "common.upload": "Upload", - "common.view": "View", - "common.warning": "Warning", - "common.yes": "Yes", - "cookie.accept": "Got it", + "common.type": "Tipo", + "common.updated": "Aggiornato", + "common.upload": "Carica", + "common.view": "Visualizza", + "common.warning": "Avviso", + "common.yes": "Sì", + "cookie.accept": "Ho capito", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", - "cookie.notice_label": "Cookie notice", - "cookie.policy_link": "Cookie Policy", - "cookie.privacy_link": "Privacy Notice", + "cookie.notice": "DocuElevate utilizza solo cookie di sessione essenziali necessari per l'autenticazione e il funzionamento del servizio. Non vengono utilizzati cookie di tracciamento o analisi.", + "cookie.notice_label": "Avviso sui cookie", + "cookie.policy_link": "Politica sui cookie", + "cookie.privacy_link": "Informativa sulla privacy", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Active Integrations", - "dashboard.files_this_month": "Files This Month", - "dashboard.files_today": "Files Today", - "dashboard.ocr_processed": "OCR Processed", - "dashboard.quick_actions": "Quick Actions", - "dashboard.recent_activity": "Recent Activity", - "dashboard.storage_targets": "Storage Targets", - "dashboard.title": "Dashboard", - "dashboard.total_files": "Total Files", - "dashboard.welcome": "Welcome to DocuElevate", + "dashboard.active_integrations": "Integrazioni attive", + "dashboard.files_this_month": "File questo mese", + "dashboard.files_today": "File oggi", + "dashboard.ocr_processed": "OCR elaborati", + "dashboard.quick_actions": "Azioni rapide", + "dashboard.recent_activity": "Attività recente", + "dashboard.storage_targets": "Destinazioni di archiviazione", + "dashboard.title": "Cruscotto", + "dashboard.total_files": "File totali", + "dashboard.welcome": "Benvenuto su DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Forbidden", - "error.forbidden_message": "You do not have permission to access this page.", - "error.not_found": "Page not found", - "error.not_found_message": "The page you are looking for does not exist.", - "error.server_error": "Internal Server Error", - "error.server_error_message": "Something went wrong. Please try again later.", - "error.unauthorized": "Unauthorized", - "error.unauthorized_message": "You need to log in to access this page.", + "error.forbidden": "Vietato", + "error.forbidden_message": "Non hai il permesso di accedere a questa pagina.", + "error.not_found": "Pagina non trovata", + "error.not_found_message": "La pagina che stai cercando non esiste.", + "error.server_error": "Errore interno del server", + "error.server_error_message": "Qualcosa è andato storto. Riprova più tardi.", + "error.unauthorized": "Non autorizzato", + "error.unauthorized_message": "Devi accedere per visualizzare questa pagina.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.document_title": "Titolo del documento", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "File Size", - "files.filename": "Filename", + "files.file_size": "Dimensione del file", + "files.filename": "Nome del file", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_label": "Full-Text Search", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "No files found", - "files.ocr_status": "OCR Status", + "files.no_files": "Nessun file trovato", + "files.ocr_status": "Stato OCR", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -399,23 +399,23 @@ "files.table_mime_type": "MIME Type", "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", - "files.tags": "Tags", - "files.title": "Files", + "files.tags": "Tag", + "files.title": "File", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Uploaded", + "files.uploaded": "Caricato", "footer.about": "About", "footer.attribution": "Attribution", - "footer.attributions": "Attributions", - "footer.cookies": "Cookies", + "footer.attributions": "Attribuzioni", + "footer.cookies": "Cookie", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Imprint", - "footer.license": "License", - "footer.navigation": "Footer navigation", + "footer.imprint": "Note legali", + "footer.license": "Licenza", + "footer.navigation": "Navigazione a piè di pagina", "footer.privacy": "Privacy", - "footer.terms": "Terms", - "footer.version": "Version {version}", + "footer.terms": "Termini", + "footer.version": "Versione {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", "help.destinations_email": "Email Forwarding", @@ -435,8 +435,8 @@ "help.destinations_sftp_desc": "Secure file transfer to any server.", "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", - "help.documentation": "Documentation", - "help.faq": "Frequently Asked Questions", + "help.documentation": "Documentazione", + "help.faq": "Domande frequenti", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Getting Started", + "help.getting_started": "Per iniziare", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -469,13 +469,13 @@ "help.sources_web_upload": "Web Upload", "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", - "help.support": "Support", + "help.support": "Supporto", "help.support_admin_message": "Contact your administrator for support information.", "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Help Center", + "help.title": "Centro assistenza", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "Configure", - "integrations.connect": "Connect", - "integrations.connected": "Connected", - "integrations.disconnect": "Disconnect", + "integrations.configure": "Configura", + "integrations.connect": "Connetti", + "integrations.connected": "Connesso", + "integrations.disconnect": "Disconnetti", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "Not Connected", + "integrations.not_connected": "Non connesso", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Integrations", + "integrations.title": "Integrazioni", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Language changed to {language}", + "language.changed": "Lingua cambiata in {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Language", + "language.selector": "Lingua", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "About", + "nav.about": "Informazioni", "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "Admin actions", - "nav.admin_menu": "Admin menu", - "nav.api_docs": "API Docs", + "nav.admin_actions": "Azioni admin", + "nav.admin_menu": "Menu admin", + "nav.api_docs": "Documentazione API", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Backup & Restore", - "nav.credentials": "Credentials", - "nav.dark_mode": "Dark Mode", - "nav.dashboard": "Dashboard", - "nav.developer_docs": "Developer Docs", - "nav.duplicates": "Duplicates", - "nav.file_manager": "File Manager", - "nav.files": "Files", - "nav.help": "Help", - "nav.help_center": "Help Center", + "nav.backup_restore": "Backup e ripristino", + "nav.credentials": "Credenziali", + "nav.dark_mode": "Modalità scura", + "nav.dashboard": "Cruscotto", + "nav.developer_docs": "Documentazione sviluppatore", + "nav.duplicates": "Duplicati", + "nav.file_manager": "Gestore file", + "nav.files": "File", + "nav.help": "Aiuto", + "nav.help_center": "Centro assistenza", "nav.imap": "Email Import", - "nav.integrations": "Integrations", - "nav.light_mode": "Light Mode", + "nav.integrations": "Integrazioni", + "nav.light_mode": "Modalità chiara", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "Main navigation", - "nav.notifications": "Notifications", - "nav.open_main_menu": "Open main menu", - "nav.pipelines": "Pipelines", - "nav.plan_designer": "Plan Designer", - "nav.pricing": "Pricing", + "nav.main_navigation": "Navigazione principale", + "nav.notifications": "Notifiche", + "nav.open_main_menu": "Apri menu principale", + "nav.pipelines": "Pipeline", + "nav.plan_designer": "Designer dei piani", + "nav.pricing": "Prezzi", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "Queue Monitor", - "nav.scheduled_jobs": "Scheduled Jobs", - "nav.search": "Search", - "nav.settings": "Settings", + "nav.queue_monitor": "Monitor coda", + "nav.scheduled_jobs": "Attività pianificate", + "nav.search": "Cerca", + "nav.settings": "Impostazioni", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "Similarity", - "nav.skip_to_content": "Skip to main content", - "nav.status": "Status", + "nav.similarity": "Similarità", + "nav.skip_to_content": "Vai al contenuto principale", + "nav.status": "Stato", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Toggle dark mode", - "nav.toggle_nav": "Toggle navigation menu", - "nav.upload": "Upload", - "nav.users": "Users", + "nav.toggle_dark_mode": "Attiva/disattiva modalità scura", + "nav.toggle_nav": "Attiva/disattiva menu di navigazione", + "nav.upload": "Carica", + "nav.users": "Utenti", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read": "Segna tutto come letto", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Mark as Read", - "notifications.no_notifications": "No notifications", + "notifications.mark_read": "Segna come letto", + "notifications.no_notifications": "Nessuna notifica", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", - "notifications.title": "Notifications", - "notifications.unread_count": "{count} unread notifications", + "notifications.title": "Notifiche", + "notifications.unread_count": "{count} notifiche non lette", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Create Pipeline", + "pipelines.create": "Crea pipeline", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Edit Pipeline", + "pipelines.edit": "Modifica pipeline", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Processing Pipelines", + "pipelines.title": "Pipeline di elaborazione", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "No results found", + "search.no_results": "Nessun risultato trovato", "search.page_title": "Search Documents", - "search.placeholder": "Search by filename, content, tags...", + "search.placeholder": "Cerca per nome, contenuto, tag...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "{count} results found", + "search.results_count": "{count} risultati trovati", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "Search Documents", + "search.title": "Cerca documenti", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.reset_confirm": "Sei sicuro di voler reimpostare questa impostazione?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Failed to save setting", + "settings.save_error": "Salvataggio impostazione fallito", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Setting saved successfully", + "settings.save_success": "Impostazione salvata con successo", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Settings", + "settings.title": "Impostazioni", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drag_drop": "Trascina i file qui o fai clic per sfogliare", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Upload failed", + "upload.error": "Caricamento fallito", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Maximum file size: {size}", + "upload.max_size": "Dimensione massima del file: {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "Select File", - "upload.success": "File uploaded successfully", - "upload.title": "Upload Document", - "upload.uploading": "Uploading...", + "upload.select_file": "Seleziona file", + "upload.success": "File caricato con successo", + "upload.title": "Carica documento", + "upload.uploading": "Caricamento in corso...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf" From 805e67c622d6028dcfc606d8a98545ccc495858c Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:44:58 +0100 Subject: [PATCH 52/56] New translations en.json (Dutch) --- frontend/translations/nl.json | 298 +++++++++++++++++----------------- 1 file changed, 149 insertions(+), 149 deletions(-) diff --git a/frontend/translations/nl.json b/frontend/translations/nl.json index d36160ed..2ac89e9b 100644 --- a/frontend/translations/nl.json +++ b/frontend/translations/nl.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Log In", + "auth.login": "Inloggen", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Log Out", - "auth.my_account": "My Account", + "auth.logout": "Uitloggen", + "auth.my_account": "Mijn account", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "Profile", + "auth.profile": "Profiel", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Sign Up", + "auth.signup": "Registreren", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "Actions", - "common.active": "Active", - "common.all": "All", - "common.back": "Back", - "common.cancel": "Cancel", - "common.close": "Close", + "common.actions": "Acties", + "common.active": "Actief", + "common.all": "Alles", + "common.back": "Terug", + "common.cancel": "Annuleren", + "common.close": "Sluiten", "common.col_pending": "Pending", - "common.completed": "Completed", - "common.confirm": "Confirm", - "common.copied": "Copied!", - "common.copy": "Copy", + "common.completed": "Voltooid", + "common.confirm": "Bevestigen", + "common.copied": "Gekopieerd!", + "common.copy": "Kopiëren", "common.create": "Create", - "common.created": "Created", - "common.date": "Date", - "common.delete": "Delete", - "common.description": "Description", + "common.created": "Aangemaakt", + "common.date": "Datum", + "common.delete": "Verwijderen", + "common.description": "Beschrijving", "common.details": "Details", - "common.disabled": "Disabled", - "common.download": "Download", + "common.disabled": "Uitgeschakeld", + "common.download": "Downloaden", "common.duplicate": "Duplicate", - "common.edit": "Edit", - "common.enabled": "Enabled", - "common.error": "Error", - "common.failed": "Failed", - "common.filter": "Filter", - "common.inactive": "Inactive", + "common.edit": "Bewerken", + "common.enabled": "Ingeschakeld", + "common.error": "Fout", + "common.failed": "Mislukt", + "common.filter": "Filteren", + "common.inactive": "Inactief", "common.info": "Info", - "common.loading": "Loading...", - "common.name": "Name", - "common.next": "Next", + "common.loading": "Laden...", + "common.name": "Naam", + "common.next": "Volgende", "common.next_page": "Next page", - "common.no": "No", - "common.none": "None", + "common.no": "Nee", + "common.none": "Geen", "common.page": "Page", - "common.pending": "Pending", + "common.pending": "In afwachting", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "Processing", - "common.refresh": "Refresh", - "common.reset": "Reset", - "common.retry": "Retry", - "common.save": "Save", - "common.search": "Search", - "common.select": "Select", + "common.processing": "Verwerken", + "common.refresh": "Vernieuwen", + "common.reset": "Herstellen", + "common.retry": "Opnieuw proberen", + "common.save": "Opslaan", + "common.search": "Zoeken", + "common.select": "Selecteren", "common.select_placeholder": "— select —", - "common.size": "Size", + "common.size": "Grootte", "common.status": "Status", "common.submit": "Submit", - "common.success": "Success", + "common.success": "Succes", "common.tags": "Tags", "common.type": "Type", - "common.updated": "Updated", - "common.upload": "Upload", - "common.view": "View", - "common.warning": "Warning", - "common.yes": "Yes", - "cookie.accept": "Got it", + "common.updated": "Bijgewerkt", + "common.upload": "Uploaden", + "common.view": "Bekijken", + "common.warning": "Waarschuwing", + "common.yes": "Ja", + "cookie.accept": "Begrepen", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", - "cookie.notice_label": "Cookie notice", - "cookie.policy_link": "Cookie Policy", - "cookie.privacy_link": "Privacy Notice", + "cookie.notice": "DocuElevate gebruikt alleen essentiële sessiecookies die nodig zijn voor authenticatie en werking van de service. Er worden geen tracking- of analysecookies gebruikt.", + "cookie.notice_label": "Cookiemelding", + "cookie.policy_link": "Cookiebeleid", + "cookie.privacy_link": "Privacyverklaring", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Active Integrations", - "dashboard.files_this_month": "Files This Month", - "dashboard.files_today": "Files Today", - "dashboard.ocr_processed": "OCR Processed", - "dashboard.quick_actions": "Quick Actions", - "dashboard.recent_activity": "Recent Activity", - "dashboard.storage_targets": "Storage Targets", + "dashboard.active_integrations": "Actieve integraties", + "dashboard.files_this_month": "Bestanden deze maand", + "dashboard.files_today": "Bestanden vandaag", + "dashboard.ocr_processed": "OCR verwerkt", + "dashboard.quick_actions": "Snelle acties", + "dashboard.recent_activity": "Recente activiteit", + "dashboard.storage_targets": "Opslagdoelen", "dashboard.title": "Dashboard", - "dashboard.total_files": "Total Files", - "dashboard.welcome": "Welcome to DocuElevate", + "dashboard.total_files": "Totaal bestanden", + "dashboard.welcome": "Welkom bij DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Forbidden", - "error.forbidden_message": "You do not have permission to access this page.", - "error.not_found": "Page not found", - "error.not_found_message": "The page you are looking for does not exist.", - "error.server_error": "Internal Server Error", - "error.server_error_message": "Something went wrong. Please try again later.", - "error.unauthorized": "Unauthorized", - "error.unauthorized_message": "You need to log in to access this page.", + "error.forbidden": "Verboden", + "error.forbidden_message": "U heeft geen toestemming om deze pagina te openen.", + "error.not_found": "Pagina niet gevonden", + "error.not_found_message": "De pagina die u zoekt bestaat niet.", + "error.server_error": "Interne serverfout", + "error.server_error_message": "Er is iets misgegaan. Probeer het later opnieuw.", + "error.unauthorized": "Niet geautoriseerd", + "error.unauthorized_message": "U moet inloggen om deze pagina te openen.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.document_title": "Documenttitel", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "File Size", - "files.filename": "Filename", + "files.file_size": "Bestandsgrootte", + "files.filename": "Bestandsnaam", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_label": "Full-Text Search", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "No files found", - "files.ocr_status": "OCR Status", + "files.no_files": "Geen bestanden gevonden", + "files.ocr_status": "OCR-status", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -400,22 +400,22 @@ "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", "files.tags": "Tags", - "files.title": "Files", + "files.title": "Bestanden", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Uploaded", + "files.uploaded": "Geüpload", "footer.about": "About", "footer.attribution": "Attribution", - "footer.attributions": "Attributions", + "footer.attributions": "Attributies", "footer.cookies": "Cookies", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Imprint", - "footer.license": "License", - "footer.navigation": "Footer navigation", + "footer.imprint": "Colofon", + "footer.license": "Licentie", + "footer.navigation": "Voettekstnavigatie", "footer.privacy": "Privacy", - "footer.terms": "Terms", - "footer.version": "Version {version}", + "footer.terms": "Voorwaarden", + "footer.version": "Versie {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", "help.destinations_email": "Email Forwarding", @@ -435,8 +435,8 @@ "help.destinations_sftp_desc": "Secure file transfer to any server.", "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", - "help.documentation": "Documentation", - "help.faq": "Frequently Asked Questions", + "help.documentation": "Documentatie", + "help.faq": "Veelgestelde vragen", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Getting Started", + "help.getting_started": "Aan de slag", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -469,13 +469,13 @@ "help.sources_web_upload": "Web Upload", "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", - "help.support": "Support", + "help.support": "Ondersteuning", "help.support_admin_message": "Contact your administrator for support information.", "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Help Center", + "help.title": "Helpcentrum", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "Configure", - "integrations.connect": "Connect", - "integrations.connected": "Connected", - "integrations.disconnect": "Disconnect", + "integrations.configure": "Configureren", + "integrations.connect": "Verbinden", + "integrations.connected": "Verbonden", + "integrations.disconnect": "Verbreken", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "Not Connected", + "integrations.not_connected": "Niet verbonden", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Integrations", + "integrations.title": "Integraties", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Language changed to {language}", + "language.changed": "Taal gewijzigd naar {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Language", + "language.selector": "Taal", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "About", + "nav.about": "Over ons", "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "Admin actions", - "nav.admin_menu": "Admin menu", - "nav.api_docs": "API Docs", + "nav.admin_actions": "Admin-acties", + "nav.admin_menu": "Admin-menu", + "nav.api_docs": "API-documentatie", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Backup & Restore", - "nav.credentials": "Credentials", - "nav.dark_mode": "Dark Mode", + "nav.backup_restore": "Back-up en herstel", + "nav.credentials": "Referenties", + "nav.dark_mode": "Donkere modus", "nav.dashboard": "Dashboard", - "nav.developer_docs": "Developer Docs", - "nav.duplicates": "Duplicates", - "nav.file_manager": "File Manager", - "nav.files": "Files", + "nav.developer_docs": "Ontwikkelaarsdocumentatie", + "nav.duplicates": "Duplicaten", + "nav.file_manager": "Bestandsbeheer", + "nav.files": "Bestanden", "nav.help": "Help", - "nav.help_center": "Help Center", + "nav.help_center": "Helpcentrum", "nav.imap": "Email Import", - "nav.integrations": "Integrations", - "nav.light_mode": "Light Mode", + "nav.integrations": "Integraties", + "nav.light_mode": "Lichte modus", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "Main navigation", - "nav.notifications": "Notifications", - "nav.open_main_menu": "Open main menu", + "nav.main_navigation": "Hoofdnavigatie", + "nav.notifications": "Meldingen", + "nav.open_main_menu": "Hoofdmenu openen", "nav.pipelines": "Pipelines", - "nav.plan_designer": "Plan Designer", - "nav.pricing": "Pricing", + "nav.plan_designer": "Planontwerper", + "nav.pricing": "Prijzen", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "Queue Monitor", - "nav.scheduled_jobs": "Scheduled Jobs", - "nav.search": "Search", - "nav.settings": "Settings", + "nav.queue_monitor": "Wachtrijmonitor", + "nav.scheduled_jobs": "Geplande taken", + "nav.search": "Zoeken", + "nav.settings": "Instellingen", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "Similarity", - "nav.skip_to_content": "Skip to main content", + "nav.similarity": "Gelijkenis", + "nav.skip_to_content": "Ga naar hoofdinhoud", "nav.status": "Status", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Toggle dark mode", - "nav.toggle_nav": "Toggle navigation menu", - "nav.upload": "Upload", - "nav.users": "Users", + "nav.toggle_dark_mode": "Donkere modus schakelen", + "nav.toggle_nav": "Navigatiemenu schakelen", + "nav.upload": "Uploaden", + "nav.users": "Gebruikers", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read": "Alles als gelezen markeren", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Mark as Read", - "notifications.no_notifications": "No notifications", + "notifications.mark_read": "Markeren als gelezen", + "notifications.no_notifications": "Geen meldingen", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", - "notifications.title": "Notifications", - "notifications.unread_count": "{count} unread notifications", + "notifications.title": "Meldingen", + "notifications.unread_count": "{count} ongelezen meldingen", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Create Pipeline", + "pipelines.create": "Pipeline maken", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Edit Pipeline", + "pipelines.edit": "Pipeline bewerken", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Processing Pipelines", + "pipelines.title": "Verwerkingspipelines", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "No results found", + "search.no_results": "Geen resultaten gevonden", "search.page_title": "Search Documents", - "search.placeholder": "Search by filename, content, tags...", + "search.placeholder": "Zoeken op naam, inhoud, tags...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "{count} results found", + "search.results_count": "{count} resultaten gevonden", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "Search Documents", + "search.title": "Documenten zoeken", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.reset_confirm": "Weet u zeker dat u deze instelling wilt herstellen?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Failed to save setting", + "settings.save_error": "Instelling opslaan mislukt", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Setting saved successfully", + "settings.save_success": "Instelling succesvol opgeslagen", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Settings", + "settings.title": "Instellingen", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drag_drop": "Sleep bestanden hierheen of klik om te bladeren", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Upload failed", + "upload.error": "Upload mislukt", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Maximum file size: {size}", + "upload.max_size": "Maximale bestandsgrootte: {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "Select File", - "upload.success": "File uploaded successfully", - "upload.title": "Upload Document", - "upload.uploading": "Uploading...", + "upload.select_file": "Bestand selecteren", + "upload.success": "Bestand succesvol geüpload", + "upload.title": "Document uploaden", + "upload.uploading": "Uploaden...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf" From cfa7fdc68aa6c9d7764bdbf4280a19531e378415 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:44:59 +0100 Subject: [PATCH 53/56] New translations en.json (Polish) --- frontend/translations/pl.json | 316 +++++++++++++++++----------------- 1 file changed, 158 insertions(+), 158 deletions(-) diff --git a/frontend/translations/pl.json b/frontend/translations/pl.json index d36160ed..575a4905 100644 --- a/frontend/translations/pl.json +++ b/frontend/translations/pl.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Log In", + "auth.login": "Zaloguj się", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Log Out", - "auth.my_account": "My Account", + "auth.logout": "Wyloguj się", + "auth.my_account": "Moje konto", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "Profile", + "auth.profile": "Profil", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Sign Up", + "auth.signup": "Zarejestruj się", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "Actions", - "common.active": "Active", - "common.all": "All", - "common.back": "Back", - "common.cancel": "Cancel", - "common.close": "Close", + "common.actions": "Akcje", + "common.active": "Aktywny", + "common.all": "Wszystko", + "common.back": "Wstecz", + "common.cancel": "Anuluj", + "common.close": "Zamknij", "common.col_pending": "Pending", - "common.completed": "Completed", - "common.confirm": "Confirm", - "common.copied": "Copied!", - "common.copy": "Copy", + "common.completed": "Zakończono", + "common.confirm": "Potwierdź", + "common.copied": "Skopiowano!", + "common.copy": "Kopiuj", "common.create": "Create", - "common.created": "Created", - "common.date": "Date", - "common.delete": "Delete", - "common.description": "Description", - "common.details": "Details", - "common.disabled": "Disabled", - "common.download": "Download", + "common.created": "Utworzono", + "common.date": "Data", + "common.delete": "Usuń", + "common.description": "Opis", + "common.details": "Szczegóły", + "common.disabled": "Wyłączony", + "common.download": "Pobierz", "common.duplicate": "Duplicate", - "common.edit": "Edit", - "common.enabled": "Enabled", - "common.error": "Error", - "common.failed": "Failed", - "common.filter": "Filter", - "common.inactive": "Inactive", - "common.info": "Info", - "common.loading": "Loading...", - "common.name": "Name", - "common.next": "Next", + "common.edit": "Edytuj", + "common.enabled": "Włączony", + "common.error": "Błąd", + "common.failed": "Nieudane", + "common.filter": "Filtruj", + "common.inactive": "Nieaktywny", + "common.info": "Informacja", + "common.loading": "Ładowanie...", + "common.name": "Nazwa", + "common.next": "Dalej", "common.next_page": "Next page", - "common.no": "No", - "common.none": "None", + "common.no": "Nie", + "common.none": "Brak", "common.page": "Page", - "common.pending": "Pending", + "common.pending": "Oczekujące", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "Processing", - "common.refresh": "Refresh", - "common.reset": "Reset", - "common.retry": "Retry", - "common.save": "Save", - "common.search": "Search", - "common.select": "Select", + "common.processing": "Przetwarzanie", + "common.refresh": "Odśwież", + "common.reset": "Resetuj", + "common.retry": "Ponów", + "common.save": "Zapisz", + "common.search": "Szukaj", + "common.select": "Wybierz", "common.select_placeholder": "— select —", - "common.size": "Size", + "common.size": "Rozmiar", "common.status": "Status", "common.submit": "Submit", - "common.success": "Success", + "common.success": "Sukces", "common.tags": "Tags", - "common.type": "Type", - "common.updated": "Updated", - "common.upload": "Upload", - "common.view": "View", - "common.warning": "Warning", - "common.yes": "Yes", - "cookie.accept": "Got it", + "common.type": "Typ", + "common.updated": "Zaktualizowano", + "common.upload": "Prześlij", + "common.view": "Wyświetl", + "common.warning": "Ostrzeżenie", + "common.yes": "Tak", + "cookie.accept": "Rozumiem", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", - "cookie.notice_label": "Cookie notice", - "cookie.policy_link": "Cookie Policy", - "cookie.privacy_link": "Privacy Notice", + "cookie.notice": "DocuElevate używa wyłącznie niezbędnych plików cookie sesji wymaganych do uwierzytelniania i działania usługi. Nie są używane pliki cookie śledzące ani analityczne.", + "cookie.notice_label": "Informacja o plikach cookie", + "cookie.policy_link": "Polityka plików cookie", + "cookie.privacy_link": "Informacja o prywatności", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Active Integrations", - "dashboard.files_this_month": "Files This Month", - "dashboard.files_today": "Files Today", - "dashboard.ocr_processed": "OCR Processed", - "dashboard.quick_actions": "Quick Actions", - "dashboard.recent_activity": "Recent Activity", - "dashboard.storage_targets": "Storage Targets", - "dashboard.title": "Dashboard", - "dashboard.total_files": "Total Files", - "dashboard.welcome": "Welcome to DocuElevate", + "dashboard.active_integrations": "Aktywne integracje", + "dashboard.files_this_month": "Pliki w tym miesiącu", + "dashboard.files_today": "Pliki dzisiaj", + "dashboard.ocr_processed": "OCR przetworzone", + "dashboard.quick_actions": "Szybkie akcje", + "dashboard.recent_activity": "Ostatnia aktywność", + "dashboard.storage_targets": "Cele przechowywania", + "dashboard.title": "Pulpit", + "dashboard.total_files": "Pliki ogółem", + "dashboard.welcome": "Witamy w DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Forbidden", - "error.forbidden_message": "You do not have permission to access this page.", - "error.not_found": "Page not found", - "error.not_found_message": "The page you are looking for does not exist.", - "error.server_error": "Internal Server Error", - "error.server_error_message": "Something went wrong. Please try again later.", - "error.unauthorized": "Unauthorized", - "error.unauthorized_message": "You need to log in to access this page.", + "error.forbidden": "Zabroniono", + "error.forbidden_message": "Nie masz uprawnień do dostępu do tej strony.", + "error.not_found": "Nie znaleziono strony", + "error.not_found_message": "Szukana strona nie istnieje.", + "error.server_error": "Wewnętrzny błąd serwera", + "error.server_error_message": "Coś poszło nie tak. Spróbuj ponownie później.", + "error.unauthorized": "Brak autoryzacji", + "error.unauthorized_message": "Musisz się zalogować, aby uzyskać dostęp do tej strony.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.document_title": "Tytuł dokumentu", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "File Size", - "files.filename": "Filename", + "files.file_size": "Rozmiar pliku", + "files.filename": "Nazwa pliku", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_label": "Full-Text Search", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "No files found", - "files.ocr_status": "OCR Status", + "files.no_files": "Nie znaleziono plików", + "files.ocr_status": "Status OCR", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -399,23 +399,23 @@ "files.table_mime_type": "MIME Type", "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", - "files.tags": "Tags", - "files.title": "Files", + "files.tags": "Tagi", + "files.title": "Pliki", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Uploaded", + "files.uploaded": "Przesłano", "footer.about": "About", "footer.attribution": "Attribution", - "footer.attributions": "Attributions", + "footer.attributions": "Atrybuty", "footer.cookies": "Cookies", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Imprint", - "footer.license": "License", - "footer.navigation": "Footer navigation", - "footer.privacy": "Privacy", - "footer.terms": "Terms", - "footer.version": "Version {version}", + "footer.imprint": "Impressum", + "footer.license": "Licencja", + "footer.navigation": "Nawigacja stopki", + "footer.privacy": "Prywatność", + "footer.terms": "Regulamin", + "footer.version": "Wersja {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", "help.destinations_email": "Email Forwarding", @@ -435,8 +435,8 @@ "help.destinations_sftp_desc": "Secure file transfer to any server.", "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", - "help.documentation": "Documentation", - "help.faq": "Frequently Asked Questions", + "help.documentation": "Dokumentacja", + "help.faq": "Często zadawane pytania", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Getting Started", + "help.getting_started": "Pierwsze kroki", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -469,13 +469,13 @@ "help.sources_web_upload": "Web Upload", "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", - "help.support": "Support", + "help.support": "Wsparcie", "help.support_admin_message": "Contact your administrator for support information.", "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Help Center", + "help.title": "Centrum pomocy", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "Configure", - "integrations.connect": "Connect", - "integrations.connected": "Connected", - "integrations.disconnect": "Disconnect", + "integrations.configure": "Konfiguruj", + "integrations.connect": "Połącz", + "integrations.connected": "Połączono", + "integrations.disconnect": "Rozłącz", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "Not Connected", + "integrations.not_connected": "Nie połączono", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Integrations", + "integrations.title": "Integracje", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Language changed to {language}", + "language.changed": "Język zmieniony na {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Language", + "language.selector": "Język", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "About", + "nav.about": "O nas", "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "Admin actions", - "nav.admin_menu": "Admin menu", - "nav.api_docs": "API Docs", + "nav.admin_actions": "Akcje administratora", + "nav.admin_menu": "Menu administratora", + "nav.api_docs": "Dokumentacja API", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Backup & Restore", - "nav.credentials": "Credentials", - "nav.dark_mode": "Dark Mode", - "nav.dashboard": "Dashboard", - "nav.developer_docs": "Developer Docs", - "nav.duplicates": "Duplicates", - "nav.file_manager": "File Manager", - "nav.files": "Files", - "nav.help": "Help", - "nav.help_center": "Help Center", + "nav.backup_restore": "Kopia zapasowa i przywracanie", + "nav.credentials": "Poświadczenia", + "nav.dark_mode": "Tryb ciemny", + "nav.dashboard": "Pulpit", + "nav.developer_docs": "Dokumentacja dla programistów", + "nav.duplicates": "Duplikaty", + "nav.file_manager": "Menedżer plików", + "nav.files": "Pliki", + "nav.help": "Pomoc", + "nav.help_center": "Centrum pomocy", "nav.imap": "Email Import", - "nav.integrations": "Integrations", - "nav.light_mode": "Light Mode", + "nav.integrations": "Integracje", + "nav.light_mode": "Tryb jasny", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "Main navigation", - "nav.notifications": "Notifications", - "nav.open_main_menu": "Open main menu", - "nav.pipelines": "Pipelines", - "nav.plan_designer": "Plan Designer", - "nav.pricing": "Pricing", + "nav.main_navigation": "Nawigacja główna", + "nav.notifications": "Powiadomienia", + "nav.open_main_menu": "Otwórz menu główne", + "nav.pipelines": "Potoki", + "nav.plan_designer": "Projektant planów", + "nav.pricing": "Cennik", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "Queue Monitor", - "nav.scheduled_jobs": "Scheduled Jobs", - "nav.search": "Search", - "nav.settings": "Settings", + "nav.queue_monitor": "Monitor kolejki", + "nav.scheduled_jobs": "Zaplanowane zadania", + "nav.search": "Szukaj", + "nav.settings": "Ustawienia", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "Similarity", - "nav.skip_to_content": "Skip to main content", + "nav.similarity": "Podobieństwo", + "nav.skip_to_content": "Przejdź do treści głównej", "nav.status": "Status", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Toggle dark mode", - "nav.toggle_nav": "Toggle navigation menu", - "nav.upload": "Upload", - "nav.users": "Users", + "nav.toggle_dark_mode": "Przełącz tryb ciemny", + "nav.toggle_nav": "Przełącz menu nawigacji", + "nav.upload": "Prześlij", + "nav.users": "Użytkownicy", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read": "Oznacz wszystkie jako przeczytane", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Mark as Read", - "notifications.no_notifications": "No notifications", + "notifications.mark_read": "Oznacz jako przeczytane", + "notifications.no_notifications": "Brak powiadomień", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", - "notifications.title": "Notifications", - "notifications.unread_count": "{count} unread notifications", + "notifications.title": "Powiadomienia", + "notifications.unread_count": "{count} nieprzeczytanych powiadomień", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Create Pipeline", + "pipelines.create": "Utwórz potok", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Edit Pipeline", + "pipelines.edit": "Edytuj potok", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Processing Pipelines", + "pipelines.title": "Potoki przetwarzania", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "No results found", + "search.no_results": "Nie znaleziono wyników", "search.page_title": "Search Documents", - "search.placeholder": "Search by filename, content, tags...", + "search.placeholder": "Szukaj wg nazwy, treści, tagów...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "{count} results found", + "search.results_count": "Znaleziono {count} wyników", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "Search Documents", + "search.title": "Szukaj dokumentów", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.reset_confirm": "Czy na pewno chcesz zresetować to ustawienie?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Failed to save setting", + "settings.save_error": "Nie udało się zapisać ustawienia", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Setting saved successfully", + "settings.save_success": "Ustawienie zapisane pomyślnie", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Settings", + "settings.title": "Ustawienia", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drag_drop": "Przeciągnij pliki tutaj lub kliknij, aby przeglądać", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Upload failed", + "upload.error": "Przesyłanie nie powiodło się", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Maximum file size: {size}", + "upload.max_size": "Maksymalny rozmiar pliku: {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "Select File", - "upload.success": "File uploaded successfully", - "upload.title": "Upload Document", - "upload.uploading": "Uploading...", + "upload.select_file": "Wybierz plik", + "upload.success": "Plik przesłany pomyślnie", + "upload.title": "Prześlij dokument", + "upload.uploading": "Przesyłanie...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf" From da77f906a51c4986c09f370ccaae852af46ad774 Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:45:02 +0100 Subject: [PATCH 54/56] New translations en.json (Swedish) --- frontend/translations/sv.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/sv.json b/frontend/translations/sv.json index d36160ed..9a0dd1e5 100644 --- a/frontend/translations/sv.json +++ b/frontend/translations/sv.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_label": "Full-Text Search", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Language changed to {language}", + "language.changed": "Språket ändrades till {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Language", + "language.selector": "Svenska", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From 3bc57827d92d54a5056e24fd0915806c6ed596bf Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:45:03 +0100 Subject: [PATCH 55/56] New translations en.json (Ukrainian) --- frontend/translations/uk.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/translations/uk.json b/frontend/translations/uk.json index d36160ed..a0d00101 100644 --- a/frontend/translations/uk.json +++ b/frontend/translations/uk.json @@ -338,7 +338,7 @@ "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", "files.file_size": "File Size", @@ -366,7 +366,7 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_label": "Full-Text Search", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", "files.no_files": "No files found", "files.ocr_status": "OCR Status", @@ -587,7 +587,7 @@ "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Language changed to {language}", + "language.changed": "Мову змінено на {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Language", + "language.selector": "Українська", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", From d63175634586431d099b24b4115ffe05beab694e Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Thu, 12 Mar 2026 23:45:05 +0100 Subject: [PATCH 56/56] New translations en.json (Portuguese, Brazilian) --- frontend/translations/pt.json | 318 +++++++++++++++++----------------- 1 file changed, 159 insertions(+), 159 deletions(-) diff --git a/frontend/translations/pt.json b/frontend/translations/pt.json index d36160ed..10bac698 100644 --- a/frontend/translations/pt.json +++ b/frontend/translations/pt.json @@ -106,22 +106,22 @@ "auth.email_label": "Email", "auth.forgot_password": "Forgot Password?", "auth.forgot_username": "Forgot username?", - "auth.login": "Log In", + "auth.login": "Iniciar sessão", "auth.login_title": "Log In", "auth.logo_alt": "DocuElevate Logo", - "auth.logout": "Log Out", - "auth.my_account": "My Account", + "auth.logout": "Terminar sessão", + "auth.my_account": "A minha conta", "auth.no_account": "Don't have an account?", "auth.or_continue_with": "Or continue with", "auth.password_label": "Password", - "auth.profile": "Profile", + "auth.profile": "Perfil", "auth.remember_me": "Remember me", "auth.return_home": "Return to Home", "auth.sign_in": "Sign in", "auth.sign_in_sso": "Sign in with SSO", "auth.sign_in_with": "Sign in with", "auth.sign_in_with_username": "Sign in with username", - "auth.signup": "Sign Up", + "auth.signup": "Registar", "auth.signup_title": "Sign Up", "auth.username_label": "Username", "auth.username_or_email": "Username or Email", @@ -184,69 +184,69 @@ "billing.success_heading": "You're all set!", "billing.success_message": "Your subscription has been activated. Thank you for choosing DocuElevate!", "billing.success_page_title": "DocuElevate - Subscription Activated", - "common.actions": "Actions", - "common.active": "Active", - "common.all": "All", - "common.back": "Back", - "common.cancel": "Cancel", - "common.close": "Close", + "common.actions": "Ações", + "common.active": "Ativo", + "common.all": "Tudo", + "common.back": "Voltar", + "common.cancel": "Cancelar", + "common.close": "Fechar", "common.col_pending": "Pending", - "common.completed": "Completed", - "common.confirm": "Confirm", - "common.copied": "Copied!", - "common.copy": "Copy", + "common.completed": "Concluído", + "common.confirm": "Confirmar", + "common.copied": "Copiado!", + "common.copy": "Copiar", "common.create": "Create", - "common.created": "Created", - "common.date": "Date", - "common.delete": "Delete", - "common.description": "Description", - "common.details": "Details", - "common.disabled": "Disabled", - "common.download": "Download", + "common.created": "Criado", + "common.date": "Data", + "common.delete": "Eliminar", + "common.description": "Descrição", + "common.details": "Detalhes", + "common.disabled": "Desativado", + "common.download": "Descarregar", "common.duplicate": "Duplicate", - "common.edit": "Edit", - "common.enabled": "Enabled", - "common.error": "Error", - "common.failed": "Failed", - "common.filter": "Filter", - "common.inactive": "Inactive", - "common.info": "Info", - "common.loading": "Loading...", - "common.name": "Name", - "common.next": "Next", + "common.edit": "Editar", + "common.enabled": "Ativado", + "common.error": "Erro", + "common.failed": "Falhado", + "common.filter": "Filtrar", + "common.inactive": "Inativo", + "common.info": "Informação", + "common.loading": "A carregar...", + "common.name": "Nome", + "common.next": "Seguinte", "common.next_page": "Next page", - "common.no": "No", - "common.none": "None", + "common.no": "Não", + "common.none": "Nenhum", "common.page": "Page", - "common.pending": "Pending", + "common.pending": "Pendente", "common.prev_page": "Previous page", "common.previous": "Previous", - "common.processing": "Processing", - "common.refresh": "Refresh", - "common.reset": "Reset", - "common.retry": "Retry", - "common.save": "Save", - "common.search": "Search", - "common.select": "Select", + "common.processing": "A processar", + "common.refresh": "Atualizar", + "common.reset": "Repor", + "common.retry": "Tentar novamente", + "common.save": "Guardar", + "common.search": "Pesquisar", + "common.select": "Selecionar", "common.select_placeholder": "— select —", - "common.size": "Size", - "common.status": "Status", + "common.size": "Tamanho", + "common.status": "Estado", "common.submit": "Submit", - "common.success": "Success", + "common.success": "Sucesso", "common.tags": "Tags", - "common.type": "Type", - "common.updated": "Updated", - "common.upload": "Upload", - "common.view": "View", - "common.warning": "Warning", - "common.yes": "Yes", - "cookie.accept": "Got it", + "common.type": "Tipo", + "common.updated": "Atualizado", + "common.upload": "Carregar", + "common.view": "Ver", + "common.warning": "Aviso", + "common.yes": "Sim", + "cookie.accept": "Entendido", "cookie.learn_more": "Learn more", "cookie.message": "This website uses cookies to improve your experience.", - "cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.", - "cookie.notice_label": "Cookie notice", - "cookie.policy_link": "Cookie Policy", - "cookie.privacy_link": "Privacy Notice", + "cookie.notice": "O DocuElevate utiliza apenas cookies de sessão essenciais necessários para a autenticação e o funcionamento do serviço. Não são utilizados cookies de rastreamento ou analíticos.", + "cookie.notice_label": "Aviso de cookies", + "cookie.policy_link": "Política de cookies", + "cookie.privacy_link": "Aviso de privacidade", "credentials.col_action": "Action", "credentials.col_credential": "Credential", "credentials.col_source": "Source", @@ -270,16 +270,16 @@ "credentials.table_for": "Credentials for", "credentials.title": "Credential Audit", "credentials.total_credentials": "Total Credentials", - "dashboard.active_integrations": "Active Integrations", - "dashboard.files_this_month": "Files This Month", - "dashboard.files_today": "Files Today", - "dashboard.ocr_processed": "OCR Processed", - "dashboard.quick_actions": "Quick Actions", - "dashboard.recent_activity": "Recent Activity", - "dashboard.storage_targets": "Storage Targets", - "dashboard.title": "Dashboard", - "dashboard.total_files": "Total Files", - "dashboard.welcome": "Welcome to DocuElevate", + "dashboard.active_integrations": "Integrações ativas", + "dashboard.files_this_month": "Ficheiros este mês", + "dashboard.files_today": "Ficheiros hoje", + "dashboard.ocr_processed": "OCR processados", + "dashboard.quick_actions": "Ações rápidas", + "dashboard.recent_activity": "Atividade recente", + "dashboard.storage_targets": "Destinos de armazenamento", + "dashboard.title": "Painel", + "dashboard.total_files": "Total de ficheiros", + "dashboard.welcome": "Bem-vindo ao DocuElevate", "duplicates.file_id_label": "File ID", "duplicates.file_id_placeholder": "e.g. 42", "duplicates.find_btn": "Find", @@ -317,14 +317,14 @@ "error.500_message1": "Our servers encountered a mishap and need a moment. Maybe the hamsters spilled their coffee?", "error.500_message2": "We're already on it—sorting files, rebooting servers, and recalibrating flux capacitors.", "error.500_title": "Server Error - DocuElevate", - "error.forbidden": "Forbidden", - "error.forbidden_message": "You do not have permission to access this page.", - "error.not_found": "Page not found", - "error.not_found_message": "The page you are looking for does not exist.", - "error.server_error": "Internal Server Error", - "error.server_error_message": "Something went wrong. Please try again later.", - "error.unauthorized": "Unauthorized", - "error.unauthorized_message": "You need to log in to access this page.", + "error.forbidden": "Proibido", + "error.forbidden_message": "Não tem permissão para aceder a esta página.", + "error.not_found": "Página não encontrada", + "error.not_found_message": "A página que procura não existe.", + "error.server_error": "Erro interno do servidor", + "error.server_error_message": "Algo correu mal. Tente novamente mais tarde.", + "error.unauthorized": "Não autorizado", + "error.unauthorized_message": "Precisa de iniciar sessão para aceder a esta página.", "files.action_delete": "Delete file", "files.action_details": "View details", "files.action_preview": "Quick preview", @@ -337,12 +337,12 @@ "files.delete_modal_confirm": "Delete", "files.delete_modal_message": "Are you sure you want to delete this file?", "files.delete_modal_title": "Confirm Deletion", - "files.document_title": "Document Title", - "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more – folders are processed recursively", + "files.document_title": "Título do documento", + "files.drop_overlay_hint": "Supports PDF, Office docs, images, HTML, Markdown, and more", "files.drop_overlay_title": "Drop files or folders anywhere to upload", "files.error_hint": "This might be due to a configuration or import issue. Please check the server logs.", - "files.file_size": "File Size", - "files.filename": "Filename", + "files.file_size": "Tamanho do ficheiro", + "files.filename": "Nome do ficheiro", "files.files_selected": "files selected", "files.filter_all_providers": "All Providers", "files.filter_all_statuses": "All Statuses", @@ -366,10 +366,10 @@ "files.filter_storage_provider": "Storage Provider", "files.filter_tags_aria": "Filter by tags (comma-separated)", "files.filter_tags_placeholder": "e.g. invoice,amazon", - "files.fulltext_search_label": "Full-Text Search (OCR text, metadata, tags)", + "files.fulltext_search_label": "Full-Text Search", "files.fulltext_search_placeholder": "Search document content, sender, tags, type...", - "files.no_files": "No files found", - "files.ocr_status": "OCR Status", + "files.no_files": "Nenhum ficheiro encontrado", + "files.ocr_status": "Estado OCR", "files.page_title": "File Records", "files.pagination_files": "files", "files.pagination_first": "First", @@ -399,23 +399,23 @@ "files.table_mime_type": "MIME Type", "files.table_original_filename": "Original Filename", "files.table_select_all": "Select all files on this page", - "files.tags": "Tags", - "files.title": "Files", + "files.tags": "Etiquetas", + "files.title": "Ficheiros", "files.upload_modal_aria": "Upload progress", "files.upload_modal_close": "Close upload progress", "files.upload_modal_header": "Uploading Files", - "files.uploaded": "Uploaded", + "files.uploaded": "Carregado", "footer.about": "About", "footer.attribution": "Attribution", - "footer.attributions": "Attributions", + "footer.attributions": "Atribuições", "footer.cookies": "Cookies", "footer.copyright": "DocuElevate {year}", - "footer.imprint": "Imprint", - "footer.license": "License", - "footer.navigation": "Footer navigation", - "footer.privacy": "Privacy", - "footer.terms": "Terms", - "footer.version": "Version {version}", + "footer.imprint": "Aviso legal", + "footer.license": "Licença", + "footer.navigation": "Navegação do rodapé", + "footer.privacy": "Privacidade", + "footer.terms": "Termos", + "footer.version": "Versão {version}", "help.destinations_dropbox": "Dropbox", "help.destinations_dropbox_desc": "OAuth-linked. Files land in your chosen folder.", "help.destinations_email": "Email Forwarding", @@ -435,8 +435,8 @@ "help.destinations_sftp_desc": "Secure file transfer to any server.", "help.destinations_webhook": "Webhook", "help.destinations_webhook_desc": "POST metadata to any external endpoint.", - "help.documentation": "Documentation", - "help.faq": "Frequently Asked Questions", + "help.documentation": "Documentação", + "help.faq": "Perguntas frequentes", "help.faq_1_a": "Navigate to the Upload page, drag-and-drop your files or click Choose File. DocuElevate converts images and office documents to PDF, runs OCR, and extracts metadata automatically.", "help.faq_1_q": "How do I upload documents?", "help.faq_2_a": "PDF, JPEG, PNG, TIFF, BMP, GIF, DOCX, XLSX, PPTX, ODT, ODS, TXT, RTF, and HTML. Non-PDF files are automatically converted to PDF before processing.", @@ -448,7 +448,7 @@ "help.faq_5_a": "DocuElevate encrypts credentials at rest, communicates over TLS, and never stores your documents longer than necessary. See the Privacy Notice for full details.", "help.faq_5_q": "Is my data secure?", "help.faq_heading": "Frequently Asked Questions", - "help.getting_started": "Getting Started", + "help.getting_started": "Primeiros passos", "help.heading": "Help Center", "help.page_title": "Help Center", "help.privacy_notice": "Privacy Notice", @@ -469,13 +469,13 @@ "help.sources_web_upload": "Web Upload", "help.sources_web_upload_desc": "The fastest way to get started. Open the Upload page, drop one or more files, and DocuElevate takes care of the rest. Supported formats include PDF, JPEG, PNG, TIFF, DOCX, XLSX, and more.", "help.subheading": "Everything you need to get the most out of DocuElevate. Browse topics below or search for what you need.", - "help.support": "Support", + "help.support": "Suporte", "help.support_admin_message": "Contact your administrator for support information.", "help.support_description": "Can’t find what you’re looking for? Our support team is here to help.", "help.support_heading": "Contact Support", "help.support_ticket_button": "Submit a Ticket", "help.support_ticket_heading": "Open a Support Ticket", - "help.title": "Help Center", + "help.title": "Centro de ajuda", "help.workflows_creating": "Creating a Pipeline", "help.workflows_definition": "A Pipeline is a series of processing steps that run automatically whenever a document is ingested. Each step can transform, enrich, or route the document.", "help.workflows_heading": "Workflows & Pipelines", @@ -570,24 +570,24 @@ "index.usage_my_usage": "My usage", "index.usage_today": "Files today", "index.usage_unlimited": "Unlimited", - "integrations.configure": "Configure", - "integrations.connect": "Connect", - "integrations.connected": "Connected", - "integrations.disconnect": "Disconnect", + "integrations.configure": "Configurar", + "integrations.connect": "Ligar", + "integrations.connected": "Ligado", + "integrations.disconnect": "Desligar", "integrations.empty_state": "No integrations configured", "integrations.folder_label": "Folder", "integrations.host_label": "Host", "integrations.imap_settings": "IMAP Settings", - "integrations.not_connected": "Not Connected", + "integrations.not_connected": "Não ligado", "integrations.page_title": "Integrations", "integrations.password_label": "Password", "integrations.port_label": "Port", - "integrations.title": "Integrations", + "integrations.title": "Integrações", "integrations.username_label": "Username", "language.bg": "Български", "language.ca": "Català", "language.change_success": "Language changed to {language}", - "language.changed": "Language changed to {language}", + "language.changed": "Idioma alterado para {language}", "language.cs": "Čeština", "language.da": "Dansk", "language.de": "Deutsch", @@ -611,7 +611,7 @@ "language.pt": "Português", "language.ro": "Română", "language.ru": "Русский", - "language.selector": "Language", + "language.selector": "Idioma", "language.selector_label": "Select language", "language.sk": "Slovenčina", "language.sl": "Slovenščina", @@ -619,77 +619,77 @@ "language.tr": "Türkçe", "language.uk": "Українська", "language.zh": "中文", - "nav.about": "About", + "nav.about": "Sobre", "nav.admin": "Admin", "nav.admin.audit_logs": "Audit Logs", "nav.admin.backups": "Backups", "nav.admin.plans": "Plans", "nav.admin.scheduled_jobs": "Scheduled Jobs", "nav.admin.users": "Users", - "nav.admin_actions": "Admin actions", - "nav.admin_menu": "Admin menu", - "nav.api_docs": "API Docs", + "nav.admin_actions": "Ações de administração", + "nav.admin_menu": "Menu de administração", + "nav.api_docs": "Documentação API", "nav.api_tokens": "API Tokens", - "nav.backup_restore": "Backup & Restore", - "nav.credentials": "Credentials", - "nav.dark_mode": "Dark Mode", - "nav.dashboard": "Dashboard", - "nav.developer_docs": "Developer Docs", - "nav.duplicates": "Duplicates", - "nav.file_manager": "File Manager", - "nav.files": "Files", - "nav.help": "Help", - "nav.help_center": "Help Center", + "nav.backup_restore": "Cópia de segurança e restauro", + "nav.credentials": "Credenciais", + "nav.dark_mode": "Modo escuro", + "nav.dashboard": "Painel", + "nav.developer_docs": "Documentação para programadores", + "nav.duplicates": "Duplicados", + "nav.file_manager": "Gestor de ficheiros", + "nav.files": "Ficheiros", + "nav.help": "Ajuda", + "nav.help_center": "Centro de ajuda", "nav.imap": "Email Import", - "nav.integrations": "Integrations", - "nav.light_mode": "Light Mode", + "nav.integrations": "Integrações", + "nav.light_mode": "Modo claro", "nav.login": "Log In", "nav.logout": "Log Out", - "nav.main_navigation": "Main navigation", - "nav.notifications": "Notifications", - "nav.open_main_menu": "Open main menu", + "nav.main_navigation": "Navegação principal", + "nav.notifications": "Notificações", + "nav.open_main_menu": "Abrir menu principal", "nav.pipelines": "Pipelines", - "nav.plan_designer": "Plan Designer", - "nav.pricing": "Pricing", + "nav.plan_designer": "Designer de planos", + "nav.pricing": "Preços", "nav.profile": "Profile", "nav.queue": "Queue", - "nav.queue_monitor": "Queue Monitor", - "nav.scheduled_jobs": "Scheduled Jobs", - "nav.search": "Search", - "nav.settings": "Settings", + "nav.queue_monitor": "Monitor de fila", + "nav.scheduled_jobs": "Tarefas agendadas", + "nav.search": "Pesquisar", + "nav.settings": "Definições", "nav.shared_links": "Shared Links", "nav.signup": "Sign Up", - "nav.similarity": "Similarity", - "nav.skip_to_content": "Skip to main content", - "nav.status": "Status", + "nav.similarity": "Similaridade", + "nav.skip_to_content": "Ir para o conteúdo principal", + "nav.status": "Estado", "nav.subscription": "Subscription", - "nav.toggle_dark_mode": "Toggle dark mode", - "nav.toggle_nav": "Toggle navigation menu", - "nav.upload": "Upload", - "nav.users": "Users", + "nav.toggle_dark_mode": "Alternar modo escuro", + "nav.toggle_nav": "Alternar menu de navegação", + "nav.upload": "Carregar", + "nav.users": "Utilizadores", "nav.version": "Version Info", "notifications.filter_all": "All", "notifications.filter_read": "Read only", "notifications.filter_unread": "Unread only", "notifications.manage_desc": "Manage your notification inbox, targets, and event preferences", - "notifications.mark_all_read": "Mark All as Read", + "notifications.mark_all_read": "Marcar todas como lidas", "notifications.mark_all_read_btn": "Mark all read", - "notifications.mark_read": "Mark as Read", - "notifications.no_notifications": "No notifications", + "notifications.mark_read": "Marcar como lida", + "notifications.no_notifications": "Sem notificações", "notifications.page_title": "Notifications", "notifications.tab_inbox": "Inbox", "notifications.tab_settings": "Settings", - "notifications.title": "Notifications", - "notifications.unread_count": "{count} unread notifications", + "notifications.title": "Notificações", + "notifications.unread_count": "{count} notificações por ler", "pipelines.active_label": "Active", "pipelines.add_step_btn": "Add Step", - "pipelines.create": "Create Pipeline", + "pipelines.create": "Criar pipeline", "pipelines.custom_label_label": "Custom Label", "pipelines.default_label": "Default", "pipelines.description_label": "Description", "pipelines.description_placeholder": "Optional description", "pipelines.disabled_label": "Disabled", - "pipelines.edit": "Edit Pipeline", + "pipelines.edit": "Editar pipeline", "pipelines.empty_state": "No pipelines yet", "pipelines.empty_state_hint": "Create your first pipeline to define custom document processing workflows.", "pipelines.enabled_label": "Enabled", @@ -712,7 +712,7 @@ "pipelines.subtitle_system_pre": "System pipelines (created by admins) are shown with a", "pipelines.system_label": "System", "pipelines.system_pipeline_label": "System pipeline (visible to all users)", - "pipelines.title": "Processing Pipelines", + "pipelines.title": "Pipelines de processamento", "queue.active_tasks": "Active Tasks", "queue.auto_refresh_1": "Auto-refreshes every", "queue.auto_refresh_2": "seconds", @@ -762,18 +762,18 @@ "search.input_aria_label": "Search documents", "search.input_placeholder": "Search documents by content, sender, tags, type...", "search.loading_indicator": "Searching…", - "search.no_results": "No results found", + "search.no_results": "Nenhum resultado encontrado", "search.page_title": "Search Documents", - "search.placeholder": "Search by filename, content, tags...", + "search.placeholder": "Pesquisar por nome, conteúdo, etiquetas...", "search.result_empty": "No documents found matching your query.", - "search.results_count": "{count} results found", + "search.results_count": "{count} resultados encontrados", "search.saved_aria_save": "Save current search", "search.saved_button": "Save Current", "search.saved_empty": "No saved searches yet", "search.saved_error": "Could not load saved searches", "search.saved_label": "Saved Searches", "search.saved_loading": "Loading...", - "search.title": "Search Documents", + "search.title": "Pesquisar documentos", "settings.audit_log_btn": "Audit Log", "settings.autocomplete_hint": "Type to search known values, or enter any custom value.", "settings.autocomplete_no_matches": "No matches — you can still type a custom value", @@ -797,15 +797,15 @@ "settings.no_results_hint": "Try a different search term or", "settings.page_heading": "Application Settings", "settings.required_label": "(required)", - "settings.reset_confirm": "Are you sure you want to reset this setting?", + "settings.reset_confirm": "Tem a certeza de que pretende repor esta definição?", "settings.restart_required_suffix": "= restart required", "settings.revert_btn": "Remove from DB", "settings.revert_title": "Remove DB override and revert to environment variable or default", "settings.reverting": "Reverting…", "settings.save_all_btn": "Save All Changes", - "settings.save_error": "Failed to save setting", + "settings.save_error": "Falha ao guardar definição", "settings.save_setting_title": "Save this setting", - "settings.save_success": "Setting saved successfully", + "settings.save_success": "Definição guardada com sucesso", "settings.saving_state": "Saving…", "settings.search_aria_label": "Search settings", "settings.search_clear_aria": "Clear search", @@ -814,7 +814,7 @@ "settings.source_db_badge": "DB", "settings.source_default_badge": "DEFAULT", "settings.source_env_badge": "ENV", - "settings.title": "Settings", + "settings.title": "Definições", "settings.toggle_visibility_aria": "Toggle password visibility", "settings.toggle_visibility_title": "Show/hide value", "settings.user_autocomplete_empty": "No matching users found", @@ -903,11 +903,11 @@ "upload.camera_button": "Take Photo / Scan Document", "upload.download_button": "Download and Process", "upload.downloading": "Downloading file from URL...", - "upload.drag_drop": "Drag & drop files here or click to browse", + "upload.drag_drop": "Arraste ficheiros para aqui ou clique para procurar", "upload.drop_hint_desktop": "Drag & drop files or folders here, or click to select files.", "upload.drop_hint_mobile": "Tap to select files or use the camera button below.", "upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.", - "upload.error": "Upload failed", + "upload.error": "Falha ao carregar", "upload.error_invalid_url": "Invalid URL format", "upload.error_url_required": "Please enter a URL", "upload.file_size_hint": "Maximum size: 500 MB per file", @@ -915,14 +915,14 @@ "upload.filename_description": "Leave empty to use filename from URL", "upload.filename_label": "Filename (optional)", "upload.filename_placeholder": "my-document.pdf", - "upload.max_size": "Maximum file size: {size}", + "upload.max_size": "Tamanho máximo do ficheiro: {size}", "upload.page_title": "Upload Files", "upload.section_device": "Upload from Device", "upload.section_url": "Upload from URL", - "upload.select_file": "Select File", - "upload.success": "File uploaded successfully", - "upload.title": "Upload Document", - "upload.uploading": "Uploading...", + "upload.select_file": "Selecionar ficheiro", + "upload.success": "Ficheiro carregado com sucesso", + "upload.title": "Carregar documento", + "upload.uploading": "A carregar...", "upload.url_description": "Enter a direct link to a file (PDF, Office documents, or images)", "upload.url_label": "File URL", "upload.url_placeholder": "https://example.com/document.pdf"