ff76855f29
- Create i18n utility module (app/utils/i18n.py) with translation loading, browser language detection, AI fallback, and l10n helpers - Add JSON translation files for EN, DE, FR, ES, IT, PT, NL, PL, ZH, RU - Add preferred_language column to UserProfile model with migration - Register _() translation function as Jinja2 global - Update base.html with translated navigation, footer, cookie notice - Add language selector dropdown in nav bar (desktop + mobile) - Create API endpoints for language preference (POST/GET /api/i18n/) - Support language detection: user profile > cookie > Accept-Language > default Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
191 lines
6.3 KiB
JSON
191 lines
6.3 KiB
JSON
{
|
|
"app.name": "DocuElevate",
|
|
|
|
"nav.dashboard": "Dashboard",
|
|
"nav.upload": "Upload",
|
|
"nav.files": "Files",
|
|
"nav.search": "Search",
|
|
"nav.pipelines": "Pipelines",
|
|
"nav.integrations": "Integrations",
|
|
"nav.help": "Help",
|
|
"nav.notifications": "Notifications",
|
|
"nav.pricing": "Pricing",
|
|
"nav.about": "About",
|
|
"nav.admin": "Admin",
|
|
"nav.settings": "Settings",
|
|
"nav.users": "Users",
|
|
"nav.plan_designer": "Plan Designer",
|
|
"nav.credentials": "Credentials",
|
|
"nav.file_manager": "File Manager",
|
|
"nav.duplicates": "Duplicates",
|
|
"nav.similarity": "Similarity",
|
|
"nav.queue_monitor": "Queue Monitor",
|
|
"nav.scheduled_jobs": "Scheduled Jobs",
|
|
"nav.backup_restore": "Backup & Restore",
|
|
"nav.status": "Status",
|
|
"nav.api_docs": "API Docs",
|
|
"nav.developer_docs": "Developer Docs",
|
|
"nav.dark_mode": "Dark Mode",
|
|
"nav.light_mode": "Light Mode",
|
|
"nav.toggle_dark_mode": "Toggle dark mode",
|
|
"nav.toggle_nav": "Toggle navigation menu",
|
|
"nav.open_main_menu": "Open main menu",
|
|
"nav.skip_to_content": "Skip to main content",
|
|
"nav.main_navigation": "Main navigation",
|
|
"nav.admin_menu": "Admin menu",
|
|
"nav.admin_actions": "Admin actions",
|
|
"nav.help_center": "Help Center",
|
|
|
|
"auth.login": "Log In",
|
|
"auth.logout": "Log Out",
|
|
"auth.signup": "Sign Up",
|
|
"auth.my_account": "My Account",
|
|
"auth.profile": "Profile",
|
|
|
|
"footer.copyright": "DocuElevate {year}",
|
|
"footer.privacy": "Privacy",
|
|
"footer.imprint": "Imprint",
|
|
"footer.terms": "Terms",
|
|
"footer.cookies": "Cookies",
|
|
"footer.license": "License",
|
|
"footer.attributions": "Attributions",
|
|
"footer.version": "Version {version}",
|
|
"footer.navigation": "Footer navigation",
|
|
|
|
"cookie.notice": "DocuElevate uses only essential session cookies required for authentication and service operation. No tracking or analytics cookies are used.",
|
|
"cookie.policy_link": "Cookie Policy",
|
|
"cookie.privacy_link": "Privacy Notice",
|
|
"cookie.accept": "Got it",
|
|
"cookie.notice_label": "Cookie notice",
|
|
|
|
"common.save": "Save",
|
|
"common.cancel": "Cancel",
|
|
"common.delete": "Delete",
|
|
"common.edit": "Edit",
|
|
"common.close": "Close",
|
|
"common.confirm": "Confirm",
|
|
"common.back": "Back",
|
|
"common.next": "Next",
|
|
"common.loading": "Loading...",
|
|
"common.error": "Error",
|
|
"common.success": "Success",
|
|
"common.warning": "Warning",
|
|
"common.info": "Info",
|
|
"common.yes": "Yes",
|
|
"common.no": "No",
|
|
"common.search": "Search",
|
|
"common.filter": "Filter",
|
|
"common.reset": "Reset",
|
|
"common.refresh": "Refresh",
|
|
"common.download": "Download",
|
|
"common.actions": "Actions",
|
|
"common.details": "Details",
|
|
"common.name": "Name",
|
|
"common.description": "Description",
|
|
"common.type": "Type",
|
|
"common.status": "Status",
|
|
"common.date": "Date",
|
|
"common.size": "Size",
|
|
"common.created": "Created",
|
|
"common.updated": "Updated",
|
|
"common.enabled": "Enabled",
|
|
"common.disabled": "Disabled",
|
|
"common.active": "Active",
|
|
"common.inactive": "Inactive",
|
|
"common.all": "All",
|
|
"common.none": "None",
|
|
"common.select": "Select",
|
|
"common.upload": "Upload",
|
|
"common.processing": "Processing",
|
|
"common.completed": "Completed",
|
|
"common.failed": "Failed",
|
|
"common.pending": "Pending",
|
|
"common.retry": "Retry",
|
|
"common.view": "View",
|
|
"common.copy": "Copy",
|
|
"common.copied": "Copied!",
|
|
|
|
"language.selector": "Language",
|
|
"language.en": "English",
|
|
"language.de": "Deutsch",
|
|
"language.fr": "Français",
|
|
"language.es": "Español",
|
|
"language.it": "Italiano",
|
|
"language.pt": "Português",
|
|
"language.nl": "Nederlands",
|
|
"language.pl": "Polski",
|
|
"language.zh": "中文",
|
|
"language.ru": "Русский",
|
|
"language.changed": "Language changed to {language}",
|
|
|
|
"dashboard.title": "Dashboard",
|
|
"dashboard.total_files": "Total Files",
|
|
"dashboard.files_today": "Files Today",
|
|
"dashboard.files_this_month": "Files This Month",
|
|
"dashboard.ocr_processed": "OCR Processed",
|
|
"dashboard.active_integrations": "Active Integrations",
|
|
"dashboard.storage_targets": "Storage Targets",
|
|
"dashboard.recent_activity": "Recent Activity",
|
|
"dashboard.quick_actions": "Quick Actions",
|
|
"dashboard.welcome": "Welcome to DocuElevate",
|
|
|
|
"upload.title": "Upload Document",
|
|
"upload.drag_drop": "Drag & drop files here or click to browse",
|
|
"upload.select_file": "Select File",
|
|
"upload.uploading": "Uploading...",
|
|
"upload.success": "File uploaded successfully",
|
|
"upload.error": "Upload failed",
|
|
"upload.max_size": "Maximum file size: {size}",
|
|
|
|
"files.title": "Files",
|
|
"files.no_files": "No files found",
|
|
"files.filename": "Filename",
|
|
"files.document_title": "Document Title",
|
|
"files.uploaded": "Uploaded",
|
|
"files.file_size": "File Size",
|
|
"files.ocr_status": "OCR Status",
|
|
"files.tags": "Tags",
|
|
|
|
"search.title": "Search Documents",
|
|
"search.placeholder": "Search by filename, content, tags...",
|
|
"search.no_results": "No results found",
|
|
"search.results_count": "{count} results found",
|
|
|
|
"settings.title": "Settings",
|
|
"settings.save_success": "Setting saved successfully",
|
|
"settings.save_error": "Failed to save setting",
|
|
"settings.reset_confirm": "Are you sure you want to reset this setting?",
|
|
|
|
"integrations.title": "Integrations",
|
|
"integrations.connect": "Connect",
|
|
"integrations.disconnect": "Disconnect",
|
|
"integrations.connected": "Connected",
|
|
"integrations.not_connected": "Not Connected",
|
|
"integrations.configure": "Configure",
|
|
|
|
"pipelines.title": "Processing Pipelines",
|
|
"pipelines.create": "Create Pipeline",
|
|
"pipelines.edit": "Edit Pipeline",
|
|
|
|
"help.title": "Help Center",
|
|
"help.getting_started": "Getting Started",
|
|
"help.faq": "Frequently Asked Questions",
|
|
"help.documentation": "Documentation",
|
|
"help.support": "Support",
|
|
|
|
"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": "Forbidden",
|
|
"error.forbidden_message": "You do not have permission to access this page.",
|
|
|
|
"notifications.title": "Notifications",
|
|
"notifications.mark_read": "Mark as Read",
|
|
"notifications.mark_all_read": "Mark All as Read",
|
|
"notifications.no_notifications": "No notifications",
|
|
"notifications.unread_count": "{count} unread notifications"
|
|
}
|