feat(i18n): replace hardcoded English text with translation keys in help, index, search templates
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
@@ -481,5 +481,278 @@
|
||||
"language.lv": "Latviešu",
|
||||
"language.lt": "Lietuvių",
|
||||
"language.lb": "Lëtzebuergesch",
|
||||
"language.ca": "Català"
|
||||
"language.ca": "Català",
|
||||
"auth.logo_alt": "DocuElevate Logo",
|
||||
"auth.sign_in_with_username": "Sign in with username",
|
||||
"auth.username_or_email": "Username or Email",
|
||||
"auth.sign_in": "Sign in",
|
||||
"auth.forgot_username": "Forgot username?",
|
||||
"auth.or_continue_with": "Or continue with",
|
||||
"auth.sign_in_sso": "Sign in with SSO",
|
||||
"auth.return_home": "Return to Home",
|
||||
"auth.no_account": "Don't have an account?",
|
||||
"auth.create_account": "Create account",
|
||||
"upload.drop_zone_aria": "File upload area. Drag and drop files here, or press Enter to browse files.",
|
||||
"credentials.page_title": "Credential Audit - DocuElevate",
|
||||
"credentials.title": "Credential Audit",
|
||||
"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.total_credentials": "Total Credentials",
|
||||
"credentials.configured": "Configured",
|
||||
"credentials.not_configured": "Not Configured",
|
||||
"credentials.legend_title": "Legend",
|
||||
"credentials.legend_db": "Value stored in the database (encrypted at rest; overrides environment variable)",
|
||||
"credentials.legend_env_before": "Value from environment variable or ",
|
||||
"credentials.legend_env_after": " file",
|
||||
"credentials.legend_missing": "Credential not set — integration will not work",
|
||||
"credentials.legend_restart": "Restart required when this credential is rotated",
|
||||
"credentials.col_credential": "Credential",
|
||||
"credentials.col_source": "Source",
|
||||
"credentials.col_action": "Action",
|
||||
"credentials.table_for": "Credentials for",
|
||||
"credentials.restart_title": "Restart required after rotating this credential",
|
||||
"credentials.status_missing": "Missing",
|
||||
"credentials.source_db_title": "Stored in database (encrypted)",
|
||||
"credentials.source_env_title": "From environment variable",
|
||||
"credentials.edit_in_settings": "Edit in Settings",
|
||||
"credentials.manage_settings": "Manage Settings",
|
||||
"credentials.raw_json": "Raw JSON (API)",
|
||||
"audit.page_title": "Audit Logs - DocuElevate",
|
||||
"audit.title": "Audit Logs",
|
||||
"audit.subtitle": "Comprehensive, append-only record of all significant actions.",
|
||||
"audit.siem_enabled_title": "Events are being forwarded to ",
|
||||
"audit.siem_off": "SIEM: Off",
|
||||
"audit.siem_disabled_title": "SIEM forwarding is disabled",
|
||||
"audit.refresh_label": "Refresh audit logs",
|
||||
"audit.filter_action": "Action",
|
||||
"audit.filter_all_actions": "All actions",
|
||||
"audit.filter_user": "User",
|
||||
"audit.filter_all_users": "All users",
|
||||
"audit.filter_severity": "Severity",
|
||||
"audit.filter_resource_type": "Resource Type",
|
||||
"audit.filter_resource_placeholder": "e.g. document, user",
|
||||
"audit.filters_section_label": "Audit log filters",
|
||||
"audit.col_timestamp": "Timestamp",
|
||||
"audit.col_resource": "Resource",
|
||||
"audit.col_ip": "IP",
|
||||
"audit.table_label": "Audit log events",
|
||||
"audit.no_events": "No audit events recorded yet.",
|
||||
"audit.no_events_hint": "Significant actions (logins, document operations, settings changes) will appear here.",
|
||||
"audit.pagination_label": "Audit log pagination",
|
||||
"audit.prev_label": "Previous page",
|
||||
"audit.prev": "Prev",
|
||||
"audit.next_label": "Next page",
|
||||
"audit.next": "Next",
|
||||
"audit.critical": "Critical",
|
||||
"queue.page_title": "Queue Monitor",
|
||||
"queue.heading": "Queue Monitor",
|
||||
"queue.subtitle": "Real-time view of the document processing pipeline and Celery task queues.",
|
||||
"queue.loading_stats": "Loading queue statistics…",
|
||||
"queue.queued_tasks": "Queued Tasks",
|
||||
"queue.active_tasks": "Active Tasks",
|
||||
"queue.files_processing": "Files Processing",
|
||||
"queue.workers_online": "Workers Online",
|
||||
"queue.redis_queues": "Redis Queues",
|
||||
"queue.col_queue": "Queue",
|
||||
"queue.no_data": "No data",
|
||||
"queue.processing_pipeline": "Processing Pipeline",
|
||||
"queue.col_state": "State",
|
||||
"queue.col_files": "Files",
|
||||
"queue.col_task": "Task",
|
||||
"queue.col_arguments": "Arguments",
|
||||
"queue.col_task_id": "Task ID",
|
||||
"queue.no_active_tasks": "No active tasks",
|
||||
"queue.recently_processing": "Recently Processing Files",
|
||||
"queue.col_file": "File",
|
||||
"queue.col_current_step": "Current Step",
|
||||
"queue.no_files_processing": "No files currently processing",
|
||||
"queue.auto_refresh_1": "Auto-refreshes every",
|
||||
"queue.auto_refresh_2": "seconds",
|
||||
"queue.last_updated": "Last updated:",
|
||||
"api_tokens.page_title": "API Tokens – DocuElevate",
|
||||
"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.create_heading": "Create New Token",
|
||||
"api_tokens.token_name_label": "Token name",
|
||||
"api_tokens.token_name_placeholder": "e.g. CI Pipeline, Webhook Upload, My Script",
|
||||
"api_tokens.creating": "Creating…",
|
||||
"api_tokens.create_token": "Create Token",
|
||||
"api_tokens.token_created": "Token created successfully!",
|
||||
"api_tokens.copy_warning_1": "Copy this token now — it will",
|
||||
"api_tokens.copy_warning_2": "not be shown again",
|
||||
"api_tokens.copy_to_clipboard": "Copy token to clipboard",
|
||||
"api_tokens.usage_heading": "Usage Example",
|
||||
"api_tokens.usage_intro_pre": "Use your API token in the",
|
||||
"api_tokens.usage_intro_post": "header with any API request:",
|
||||
"api_tokens.copy_upload_example": "Copy upload example to clipboard",
|
||||
"api_tokens.your_tokens": "Your Tokens",
|
||||
"api_tokens.loading_tokens": "Loading tokens…",
|
||||
"api_tokens.no_tokens_heading": "No API tokens yet",
|
||||
"api_tokens.no_tokens_help": "Create your first token above to get started.",
|
||||
"api_tokens.table_aria": "API Tokens",
|
||||
"api_tokens.col_name": "Name",
|
||||
"api_tokens.col_prefix": "Token Prefix",
|
||||
"api_tokens.col_created": "Created",
|
||||
"api_tokens.col_last_used": "Last Used",
|
||||
"api_tokens.col_last_ip": "Last IP",
|
||||
"api_tokens.never": "Never",
|
||||
"api_tokens.status_active": "Active",
|
||||
"api_tokens.status_revoked": "Revoked",
|
||||
"api_tokens.revoke_prefix": "Revoke token",
|
||||
"api_tokens.revoke": "Revoke",
|
||||
"similarity.page_title": "Document Similarity - DocuElevate",
|
||||
"similarity.heading": "Document Similarity",
|
||||
"similarity.subtitle": "Pairs of documents with high semantic similarity, ranked by score.",
|
||||
"similarity.stat_total_files": "Total Files",
|
||||
"similarity.stat_with_embedding": "With Embedding",
|
||||
"similarity.stat_missing_embedding": "Missing Embedding",
|
||||
"similarity.stat_embedding_model": "Embedding Model",
|
||||
"similarity.files_missing_text": "file(s) have OCR text but no embedding yet.",
|
||||
"similarity.backfill_auto": "The background task will compute them automatically every 5 minutes, or you can",
|
||||
"similarity.trigger_now": "trigger it now",
|
||||
"similarity.trigger_aria": "Trigger embedding computation for all files missing embeddings",
|
||||
"similarity.min_similarity_label": "Min. similarity",
|
||||
"similarity.per_page_label": "Per page",
|
||||
"similarity.find_pairs_btn": "Find Pairs",
|
||||
"similarity.scanning": "Scanning for similar document pairs…",
|
||||
"similarity.no_pairs_heading": "No similar pairs found",
|
||||
"similarity.no_pairs_detail": "No document pairs exceed the similarity threshold.",
|
||||
"similarity.load_error": "Failed to load pairs.",
|
||||
"similarity.pagination_aria": "Similarity pairs pagination",
|
||||
"backup.page_title": "Backup Management",
|
||||
"backup.heading": "Backup Management",
|
||||
"backup.subtitle": "Database backups are created automatically: hourly (4 days), daily (3 weeks), weekly (13 weeks).",
|
||||
"backup.trigger_hourly": "Backup Now (Hourly)",
|
||||
"backup.trigger_daily": "Backup Now (Daily)",
|
||||
"backup.trigger_weekly": "Backup Now (Weekly)",
|
||||
"backup.clean_up": "Clean Up",
|
||||
"backup.cleanup_title": "Run retention cleanup now",
|
||||
"backup.confirm_title": "Confirm action",
|
||||
"backup.confirm_btn": "Confirm",
|
||||
"backup.config_auto_backup": "Auto-backup",
|
||||
"backup.config_remote_dest": "Remote destination",
|
||||
"backup.local_only": "Local only",
|
||||
"backup.config_retention": "Retention",
|
||||
"backup.config_total_size": "Total local size",
|
||||
"backup.type_hourly": "Hourly",
|
||||
"backup.type_daily": "Daily",
|
||||
"backup.type_weekly": "Weekly",
|
||||
"backup.restore_heading": "Restore from File",
|
||||
"backup.restore_desc_pre": "Upload a",
|
||||
"backup.restore_desc_mid": "backup archive to restore the database.",
|
||||
"backup.restore_desc_warning": "This will overwrite all current data.",
|
||||
"backup.restore_file_label": "Backup archive (.db.gz)",
|
||||
"backup.restoring": "Restoring…",
|
||||
"backup.restore_btn": "Restore",
|
||||
"backup.archives_heading": "Backup Archives",
|
||||
"backup.records_label": "records",
|
||||
"backup.table_aria": "Backup archives",
|
||||
"backup.col_filename": "Filename",
|
||||
"backup.col_type": "Type",
|
||||
"backup.col_created": "Created",
|
||||
"backup.col_size": "Size",
|
||||
"backup.col_storage": "Storage",
|
||||
"backup.status_ok": "ok",
|
||||
"backup.storage_local": "local",
|
||||
"backup.no_backups": "No backups yet.",
|
||||
"backup.backup_now": "Backup Now",
|
||||
"backup.no_backups_hint": "Click Backup Now to create your first backup.",
|
||||
"backup.retention_heading": "Retention policy",
|
||||
"backup.retention_hourly_detail": "– kept for 4 days",
|
||||
"backup.retention_daily_detail": "– kept for 3 weeks",
|
||||
"backup.retention_weekly_detail": "– kept for ~3 months",
|
||||
"backup.snapshots": "snapshots",
|
||||
"backup.retention_note": "Backups beyond these limits are automatically pruned after each new backup is created.",
|
||||
"shared.page_title": "Shared Links – DocuElevate",
|
||||
"shared.heading": "Shared Links",
|
||||
"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.create_heading": "Create New Shared Link",
|
||||
"shared.file_id_label": "File ID",
|
||||
"shared.file_id_placeholder": "e.g. 42",
|
||||
"shared.file_id_help_pre": "Find the file ID on the",
|
||||
"shared.files_link": "Files",
|
||||
"shared.file_id_help_post": "page or in the document detail URL.",
|
||||
"shared.label_label": "Label",
|
||||
"shared.optional": "(optional)",
|
||||
"shared.label_placeholder": "e.g. Shared with Bob",
|
||||
"shared.expiry_label": "Expiry",
|
||||
"shared.expiry_never": "Never",
|
||||
"shared.expiry_1h": "1 hour",
|
||||
"shared.expiry_6h": "6 hours",
|
||||
"shared.expiry_12h": "12 hours",
|
||||
"shared.expiry_24h": "24 hours (1 day)",
|
||||
"shared.expiry_3d": "3 days",
|
||||
"shared.expiry_7d": "7 days",
|
||||
"shared.expiry_14d": "14 days",
|
||||
"shared.expiry_30d": "30 days",
|
||||
"shared.max_downloads_label": "Max downloads",
|
||||
"shared.unlimited_placeholder": "Unlimited",
|
||||
"shared.password_label": "Password",
|
||||
"shared.password_placeholder": "Leave blank for no password",
|
||||
"shared.creating": "Creating…",
|
||||
"shared.create_btn": "Create Link",
|
||||
"shared.link_created": "Shared link created!",
|
||||
"shared.link_created_help": "Copy and send this link to the recipient.",
|
||||
"shared.copy_link_aria": "Copy link to clipboard",
|
||||
"shared.your_links": "Your Shared Links",
|
||||
"shared.links_count_aria": "number of links",
|
||||
"shared.refresh_aria": "Refresh shared links list",
|
||||
"shared.no_links": "No shared links yet. Create one above to get started.",
|
||||
"shared.table_aria": "Shared links",
|
||||
"shared.col_file_label": "File / Label",
|
||||
"shared.col_link": "Link",
|
||||
"shared.col_expiry": "Expiry",
|
||||
"shared.col_views": "Views",
|
||||
"shared.password_protected": "Password protected",
|
||||
"shared.copy_link_title": "Copy link",
|
||||
"shared.open_link_aria": "Open shared link",
|
||||
"shared.open_in_new_tab": "Open in new tab",
|
||||
"shared.status_revoked": "Revoked",
|
||||
"shared.status_expired": "Expired",
|
||||
"shared.status_limit_reached": "Limit reached",
|
||||
"shared.status_active": "Active",
|
||||
"shared.revoke_aria_prefix": "Revoke shared link for",
|
||||
"shared.revoke_btn": "Revoke",
|
||||
"duplicates.page_title": "Duplicate Documents - DocuElevate",
|
||||
"duplicates.heading": "Duplicate Documents",
|
||||
"duplicates.tabs_aria": "Duplicate detection tabs",
|
||||
"duplicates.tab_exact": "Exact Duplicates",
|
||||
"duplicates.tab_near": "Near-Duplicate Finder",
|
||||
"duplicates.found_prefix": "Found",
|
||||
"duplicates.found_groups": "duplicate group(s) with",
|
||||
"duplicates.found_files": "duplicate file(s) total.",
|
||||
"duplicates.group_aria": "Duplicate group",
|
||||
"duplicates.role_original": "Original",
|
||||
"duplicates.role_duplicate": "Duplicate",
|
||||
"duplicates.view_original_aria": "View original file",
|
||||
"duplicates.view_dup_aria": "View duplicate file",
|
||||
"duplicates.pagination_aria": "Pagination",
|
||||
"duplicates.no_exact_heading": "No exact duplicates found",
|
||||
"duplicates.near_dup_heading": "Find Near-Duplicates for a Document",
|
||||
"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.file_id_label": "File ID",
|
||||
"duplicates.file_id_placeholder": "e.g. 42",
|
||||
"duplicates.threshold_label": "Similarity threshold",
|
||||
"duplicates.max_results_label": "Max results",
|
||||
"duplicates.find_btn": "Find",
|
||||
"duplicates.how_it_works_heading": "How near-duplicate detection works",
|
||||
"search.input_aria_label": "Search documents",
|
||||
"search.filter_tags": "Tags",
|
||||
"search.filter_aria_clear": "Clear all filters",
|
||||
"search.saved_aria_save": "Save current search",
|
||||
"help.privacy_notice": "Privacy Notice",
|
||||
"help.support_ticket_heading": "Open a Support Ticket",
|
||||
"help.support_ticket_button": "Submit a Ticket",
|
||||
"index.dashboard_subtitle_teams": "Intelligent document processing & management — built for teams",
|
||||
"index.button_upload": "Upload",
|
||||
"index.button_browse_files": "Browse Files",
|
||||
"index.stat_active_integrations": "Active Integrations",
|
||||
"index.stat_storage_targets": "Storage Targets",
|
||||
"index.quick_view_files": "View All Files",
|
||||
"index.quick_view_files_desc": "Browse processed documents",
|
||||
"index.quick_system_status": "System Status",
|
||||
"index.quick_system_status_desc": "Check integration health",
|
||||
"common.prev_page": "Previous page",
|
||||
"common.next_page": "Next page",
|
||||
"common.page": "Page",
|
||||
"common.col_pending": "Pending"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user