fix(i18n): register _ in all Jinja2 template instances, sync translation files, fix pipelines.html
- Register _() translation function in app/auth.py, app/api/local_auth.py, and
app/api/billing.py template env globals to fix jinja2.exceptions.UndefinedError
- Update test_settings_template_has_db_wizard_link to assert i18n key instead of
literal "DB Wizard" (template now uses {{ _("settings.db_wizard_btn") }})
- Add 418 missing en.json keys to all 30 non-English translation files as English
fallbacks to fix test_all_languages_have_same_keys
- Fix orphan </template> tag in pipelines.html by adding missing
<template x-if="pipelineModal.saving"> opening tag (fixes djlint H025)
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
@@ -1,25 +1,196 @@
|
||||
{
|
||||
"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": "Passwort bestätigen",
|
||||
"auth.create_account": "Create account",
|
||||
"auth.display_name_label": "Anzeigename",
|
||||
"auth.email_label": "E-Mail",
|
||||
"auth.forgot_password": "Passwort vergessen?",
|
||||
"auth.forgot_username": "Forgot username?",
|
||||
"auth.login": "Anmelden",
|
||||
"auth.login_title": "Anmelden",
|
||||
"auth.logo_alt": "DocuElevate Logo",
|
||||
"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": "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": "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.",
|
||||
"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": "Aktionen",
|
||||
"common.active": "Aktiv",
|
||||
"common.all": "Alle",
|
||||
"common.back": "Zurück",
|
||||
"common.cancel": "Abbrechen",
|
||||
"common.close": "Schließen",
|
||||
"common.col_pending": "Pending",
|
||||
"common.completed": "Abgeschlossen",
|
||||
"common.confirm": "Bestätigen",
|
||||
"common.copied": "Kopiert!",
|
||||
@@ -43,9 +214,12 @@
|
||||
"common.loading": "Laden...",
|
||||
"common.name": "Name",
|
||||
"common.next": "Weiter",
|
||||
"common.next_page": "Next page",
|
||||
"common.no": "Nein",
|
||||
"common.none": "Keine",
|
||||
"common.page": "Page",
|
||||
"common.pending": "Ausstehend",
|
||||
"common.prev_page": "Previous page",
|
||||
"common.previous": "Zurück",
|
||||
"common.processing": "Verarbeitung",
|
||||
"common.refresh": "Aktualisieren",
|
||||
@@ -54,6 +228,7 @@
|
||||
"common.save": "Speichern",
|
||||
"common.search": "Suche",
|
||||
"common.select": "Auswählen",
|
||||
"common.select_placeholder": "— select —",
|
||||
"common.size": "Größe",
|
||||
"common.status": "Status",
|
||||
"common.submit": "Absenden",
|
||||
@@ -72,6 +247,29 @@
|
||||
"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",
|
||||
"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": "Aktive Integrationen",
|
||||
"dashboard.files_this_month": "Dateien diesen Monat",
|
||||
"dashboard.files_today": "Dateien heute",
|
||||
@@ -82,14 +280,43 @@
|
||||
"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",
|
||||
"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": "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": "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": "Zugriff verweigert",
|
||||
"error.forbidden_message": "Sie haben keine Berechtigung, auf diese Seite zuzugreifen.",
|
||||
"error.not_found": "Seite nicht gefunden",
|
||||
@@ -113,43 +340,59 @@
|
||||
"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": "Dateigröße",
|
||||
"files.filename": "Dateiname",
|
||||
"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_date_from_aria": "Filter from date",
|
||||
"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-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": "Noch nicht bewertet",
|
||||
"files.filter_search_label": "Search Filename",
|
||||
"files.filter_search_placeholder": "Dateinamen eingeben...",
|
||||
"files.filter_storage_provider": "Speicheranbieter",
|
||||
"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.pagination_files": "files",
|
||||
"files.pagination_first": "Erste",
|
||||
"files.pagination_last": "Letzte",
|
||||
"files.pagination_nav_aria": "File list pagination",
|
||||
"files.pagination_next": "Nächste",
|
||||
"files.pagination_of": "of",
|
||||
"files.pagination_previous": "Vorherige",
|
||||
"files.pagination_showing": "Showing",
|
||||
"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": "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": "Keine Ergebnisse gefunden.",
|
||||
"files.search_results_title": "Suchergebnisse",
|
||||
"files.status_duplicate": "Duplicate",
|
||||
"files.table_actions": "Aktionen",
|
||||
"files.table_aria": "File records",
|
||||
"files.table_created_at": "Erstellt am",
|
||||
"files.table_empty": "Keine Dateien gefunden",
|
||||
"files.table_id": "ID",
|
||||
@@ -158,6 +401,8 @@
|
||||
"files.table_select_all": "Alle Dateien auf dieser Seite auswählen",
|
||||
"files.tags": "Tags",
|
||||
"files.title": "Dateien",
|
||||
"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",
|
||||
@@ -206,6 +451,7 @@
|
||||
"help.getting_started": "Erste Schritte",
|
||||
"help.heading": "Hilfezentrum",
|
||||
"help.page_title": "Hilfezentrum",
|
||||
"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.",
|
||||
@@ -227,6 +473,8 @@
|
||||
"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": "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.",
|
||||
@@ -243,6 +491,8 @@
|
||||
"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-Speicher: Dropbox, OneDrive, Google Drive, NextCloud",
|
||||
"index.capabilities_ingestion": "E-Mail- & URL-basierte Dokumentenaufnahme",
|
||||
"index.capabilities_ocr": "OCR & Metadatenextraktion mit KI",
|
||||
@@ -254,6 +504,7 @@
|
||||
"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": "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",
|
||||
@@ -291,13 +542,19 @@
|
||||
"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": "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": "Intelligente Dokumentenverarbeitung & -verwaltung",
|
||||
"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_storage_targets": "Storage Targets",
|
||||
"index.stat_total_files": "Dateien gesamt",
|
||||
"index.tier_plan": "Tarif",
|
||||
"index.tier_upgrade": "Upgrade",
|
||||
@@ -425,20 +682,65 @@
|
||||
"notifications.title": "Benachrichtigungen",
|
||||
"notifications.unread_count": "{count} ungelesene Benachrichtigungen",
|
||||
"pipelines.active_label": "Aktiv",
|
||||
"pipelines.add_step_btn": "Add Step",
|
||||
"pipelines.create": "Pipeline erstellen",
|
||||
"pipelines.custom_label_label": "Custom Label",
|
||||
"pipelines.default_label": "Standard",
|
||||
"pipelines.description_label": "Beschreibung",
|
||||
"pipelines.description_placeholder": "Optional description",
|
||||
"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": "Aktiviert",
|
||||
"pipelines.force_cloud_ocr_label": "Force cloud OCR (skip local text extraction)",
|
||||
"pipelines.inactive_label": "Inaktiv",
|
||||
"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": "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.",
|
||||
"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": "Verarbeitungs-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": "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": "Filter zurücksetzen",
|
||||
"search.filter_date_from": "Datum von",
|
||||
"search.filter_date_to": "Datum bis",
|
||||
@@ -448,6 +750,7 @@
|
||||
"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": "z.B. Amazon",
|
||||
"search.filter_text_quality": "Textqualität",
|
||||
"search.filter_text_quality_all": "Alle",
|
||||
@@ -456,6 +759,7 @@
|
||||
"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": "Dokumente nach Inhalt, Absender, Tags, Typ suchen...",
|
||||
"search.loading_indicator": "Suche läuft…",
|
||||
"search.no_results": "Keine Ergebnisse gefunden",
|
||||
@@ -463,16 +767,129 @@
|
||||
"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": "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",
|
||||
"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": "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": "Einstellung konnte nicht gespeichert werden",
|
||||
"settings.save_setting_title": "Save this setting",
|
||||
"settings.save_success": "Einstellung erfolgreich gespeichert",
|
||||
"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": "Einstellungen",
|
||||
"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-Datum",
|
||||
"status.container_id": "Container-ID",
|
||||
@@ -489,6 +906,7 @@
|
||||
"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 fehlgeschlagen",
|
||||
"upload.error_invalid_url": "Ungültiges URL-Format",
|
||||
"upload.error_url_required": "Bitte geben Sie eine URL ein",
|
||||
|
||||
Reference in New Issue
Block a user