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:
copilot-swe-agent[bot]
2026-03-11 12:39:20 +00:00
parent 64577f2d92
commit bea9dae957
4 changed files with 481 additions and 227 deletions
+274 -1
View File
@@ -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"
}