const en: Record<string, string> = {
  // ── Sidebar ──
  'nav.principal': 'Main',
  'nav.config': 'Configuration',
  'nav.admin': 'Administration',
  'nav.chat': 'Chat Agent',
  'nav.terraform': 'Terraform',
  'nav.promptGen': 'Prompt Generator',
  'nav.workspaces': 'Workspaces',
  'nav.explorer': 'OCI Explorer',
  'nav.reports': 'Reports',
  'nav.ociCreds': 'OCI Credentials',
  'nav.genai': 'GenAI Config',
  'nav.mcp': 'MCP Servers',
  'nav.adb': 'ADB Vector',
  'nav.embeddings': 'Embeddings',
  'nav.embConsult': 'Query Embeddings',
  'nav.users': 'Users',
  'nav.mfa': 'MFA',
  'nav.audit': 'Audit Log',
  'sidebar.lightMode': 'Light mode',
  'sidebar.darkMode': 'Dark mode',
  'sidebar.logout': 'Logout',
  'sidebar.roleAdmin': 'Administrator',
  'sidebar.roleUser': 'User',
  'sidebar.subtitle': 'Infrastructure & Security',

  // ── Login ──
  'login.subtitle': 'Infrastructure & Security Engineer',
  'login.userPlaceholder': 'Username',
  'login.passPlaceholder': 'Password',
  'login.mfaScanQr': 'Scan the QR code with your authenticator app:',
  'login.totpPlaceholder': 'TOTP Code',
  'login.loading': 'Signing in...',
  'login.verify': 'Verify',
  'login.submit': 'Sign in',
  'login.error': 'Login failed',

  // ── Chat ──
  'chat.timeNow': 'now',
  'chat.today': 'Today',
  'chat.yesterday': 'Yesterday',
  'chat.last7': 'Last 7 days',
  'chat.last30': 'Last 30 days',
  'chat.older': 'Older',
  'chat.other': 'Other',
  'chat.history': 'History',
  'chat.newChat': 'New Chat',
  'chat.untitled': 'Untitled',
  'chat.noConversations': 'No conversations yet',
  'chat.selectModel': 'Select a model...',
  'chat.savedConfigs': 'Saved Configs',
  'chat.searchModel': 'Search model...',
  'chat.noModels': 'No models found',
  'chat.ociCred': 'OCI Credential...',
  'chat.settings': 'Settings',
  'chat.newChatTitle': 'New chat',
  'chat.emptyTitle': 'Start a conversation with the agent.',
  'chat.emptySubtitle': 'Select a model to get started.',
  'chat.thinking': 'Thinking...',
  'chat.retry': 'Retry',
  'chat.attachFile': 'Attach file',
  'chat.placeholder': 'Type your message... (Shift+Enter for new line)',
  'chat.send': 'Send',
  'chat.selectOciCred': 'Select an OCI credential to use direct models.',
  'chat.sendError': 'Failed to send message',
  'chat.requestFailed': 'The request failed.',
  'chat.timeout': 'Timeout: the response is taking too long. Try again.',
  'chat.toolsAvailable': 'tools available',
  'chat.ociCredLabel': 'OCI Credential',
  'chat.select': 'Select...',
  'chat.analyzeFiles': 'Analyze the attached files.',

  // ── Terraform ──
  'tf.history': 'History',
  'tf.newChat': 'New',
  'tf.noConversations': 'No conversations',
  'tf.searchModel': 'Search model...',
  'tf.selectModel': 'Select model...',
  'tf.savedConfigs': 'Saved Configs',
  'tf.ociConfig': 'OCI Config...',
  'tf.settings': 'Settings',
  'tf.newConversation': 'New conversation',
  'tf.emptyTitle': 'Describe the OCI infrastructure',
  'tf.emptySubtitle': 'The agent will generate Terraform code based on your description.',
  'tf.thinking': 'Processing...',
  'tf.retry': 'Retry',
  'tf.placeholder': 'Describe the desired infrastructure... (Shift+Enter for new line)',
  'tf.send': 'Send',
  'tf.workspace': 'Workspace',
  'tf.files': 'Files',
  'tf.terminal': 'Terminal',
  'tf.resources': 'Resources',
  'tf.plan': 'Plan',
  'tf.apply': 'Apply',
  'tf.destroy': 'Destroy',
  'tf.cancel': 'Cancel',
  'tf.download': 'Download ZIP',
  'tf.createWs': 'Create Workspace',
  'tf.noFiles': 'No files generated',
  'tf.timeout': 'Timeout: generation is taking too long.',
  'tf.selectOci': 'Select an OCI credential',
  'tf.compartment': 'Compartment',
  'tf.region': 'Region',
  'tf.rollback': 'Rollback',
  'tf.copy': 'Copy',
  'tf.copied': 'Copied',
  'tf.noWs': 'No active workspace',
  'tf.deleteWs': 'Delete',

  // ── Prompt Generator ──
  'pg.history': 'History',
  'pg.new': 'New',
  'pg.noConversations': 'No conversations',
  'pg.emptyTitle': 'Describe the OCI infrastructure you need',
  'pg.emptySubtitle': 'The agent will generate a structured, optimized prompt for the Terraform Agent.',
  'pg.loading': 'Generating prompt...',
  'pg.placeholder': 'Describe the desired infrastructure... (Shift+Enter for new line)',
  'pg.copy': 'Copy',
  'pg.copied': 'Copied',
  'pg.retry': 'Retry',
  'pg.timeout': 'Timeout: generation is taking too long.',
  'pg.search': 'Search...',
  'pg.selectModel': 'Select model...',

  // ── Workspaces ──
  'ws.title': 'Terraform Workspaces',
  'ws.all': 'All',
  'ws.active': 'Active',
  'ws.draft': 'Draft',
  'ws.failed': 'Failed',
  'ws.destroyed': 'Destroyed',
  'ws.loading': 'Loading...',
  'ws.refresh': 'Refresh',
  'ws.noWs': 'No workspaces found',
  'ws.noWsHint': 'Create workspaces via the Terraform Agent',
  'ws.loadingWs': 'Loading workspaces...',
  'ws.open': 'Open',
  'ws.plan': 'Plan',
  'ws.apply': 'Apply',
  'ws.destroy': 'Destroy',
  'ws.delete': 'Delete',
  'ws.cancel': 'Cancel',
  'ws.hideOutput': 'hide',
  'ws.viewOutput': 'view output',
  'ws.confirmDestroy': 'Confirm Destroy',
  'ws.confirmDestroyMsg': 'This action will destroy all resources provisioned by this workspace.',
  'ws.typeDestroy': 'Type <strong>DESTROY</strong> to confirm:',
  'ws.deleteWs': 'Delete Workspace',
  'ws.deleteWsMsg': 'Delete this workspace permanently? Local files will be removed.',
  'ws.noDate': 'No date',

  // ── Explorer ──
  'exp.title': 'OCI Explorer',
  'exp.subtitle': 'Explore your Oracle Cloud Infrastructure resources',
  'exp.search': 'Search resource...',
  'exp.refresh': 'Refresh',
  'exp.loading': 'Loading...',
  'exp.noResources': 'No resources found',
  'exp.selectResource': 'Select a resource type',
  'exp.compartment': 'Compartment',
  'exp.region': 'Region',
  'exp.allRegions': 'All regions',
  'exp.start': 'Start',
  'exp.stop': 'Stop',
  'exp.details': 'Details',
  'exp.total': 'Total',
  'exp.network': 'Network',
  'exp.observability': 'Observability',
  'exp.security': 'Security',
  'exp.selectRegions': 'Select regions',
  'exp.nRegions': '{0} regions',
  'exp.all': 'All',
  'exp.none': 'None',
  'exp.noCompartment': 'No compartments found',
  'exp.selectConfig': 'Select an OCI config',
  'exp.loadingResources': 'Loading resources...',
  'exp.clearFilter': 'Try clearing the search filter',
  'exp.resources': 'resources',
  'exp.updating': 'updating...',
  'exp.regions': 'region(s)',
  'exp.filter': 'Filter...',
  'exp.startAction': 'Start',
  'exp.stopAction': 'Stop',
  'exp.updatingState': 'Updating...',
  'exp.createdAt': 'Created at',
  'exp.public': 'Public',
  'exp.yesPublic': 'Yes',
  'exp.noPrivate': 'No (private)',
  'exp.freeTier': 'Free Tier',
  'exp.yes': 'Yes',
  'exp.no': 'No',
  'exp.noRestrictions': 'No restrictions (open)',
  'exp.updateNetworkAccess': 'Update Network Access',
  'exp.accessUpdated': 'Access updated: ',
  'exp.objects': 'Objects',
  'exp.size': 'Size',
  'exp.visibility': 'Visibility',
  'exp.private': 'Private',
  'exp.rules': 'Rules',
  'exp.routes': 'Routes',
  'exp.hideRules': 'Hide rules',
  'exp.viewRules': 'View rules',
  'exp.add': 'Add',
  'exp.direction': 'Direction',
  'exp.protocol': 'Protocol',
  'exp.originDest': 'Source/Dest',
  'exp.ports': 'Ports',
  'exp.description': 'Description',
  'exp.portMin': 'Port Min',
  'exp.portMax': 'Port Max',
  'exp.myIp': 'My IP',
  'exp.save': 'Save',
  'exp.cancel': 'Cancel',
  'exp.ruleAdded': 'Rule added.',
  'exp.enterCidr': 'Enter the CIDR.',
  'exp.removeRule': 'Remove this rule?',
  'exp.removeNsgRule': 'Remove this NSG rule?',
  'exp.ipDetected': 'IP detected: {0} — adjust port and click Save',
  'exp.ipDetectFailed': 'Could not detect IP.',
  'exp.destination': 'Destination',
  'exp.destType': 'Dest Type',
  'exp.version': 'Version',
  'exp.ha': 'HA',

  // ── Reports ──
  'rpt.title': 'CIS Reports',
  'rpt.subtitle': 'Run CIS OCI Benchmark compliance scans',
  'rpt.startScan': 'Start Scan',
  'rpt.running': 'Running...',
  'rpt.cancel': 'Cancel',
  'rpt.tenancy': 'Tenancy',
  'rpt.level': 'Level',
  'rpt.region': 'Region',
  'rpt.allRegions': 'All regions',
  'rpt.noReports': 'No reports found',
  'rpt.noReportsHint': 'Run a scan to generate compliance reports.',
  'rpt.progress': 'Progress',
  'rpt.completed': 'Completed',
  'rpt.failed': 'Failed',
  'rpt.viewReport': 'View Report',
  'rpt.download': 'Download',
  'rpt.delete': 'Delete',
  'rpt.summary': 'Summary',
  'rpt.passed': 'Passed',
  'rpt.findings': 'Findings',
  'rpt.recommendations': 'Recommendations',
  'rpt.selectTenancy': 'Select a tenancy',
  'rpt.selectCredential': 'Select a credential',
  'rpt.loadingReports': 'Loading reports...',
  'rpt.refresh': 'Refresh',
  'rpt.pageTitle': 'CIS Reports',
  'rpt.pageSubtitle': 'CIS Benchmark 3.0 — Compliance Scan & Dashboard',
  'rpt.runScanCis': 'Run CIS Scan',
  'rpt.inExecution': 'Running',
  'rpt.configParams': 'Configure the parameters and run the CIS compliance scan.',
  'rpt.ociCredential': 'OCI Credential',
  'rpt.selectOciCred': 'Select OCI credential...',
  'rpt.cisLevel': 'CIS Level',
  'rpt.level1Desc': 'Essential security checks',
  'rpt.level2Desc': 'Complete checks (includes Level 1)',
  'rpt.regions': 'Regions',
  'rpt.leaveEmpty': 'Leave empty to scan all subscribed regions',
  'rpt.executeCompliance': 'Run CIS Compliance',
  'rpt.scanProgress': 'Scan Progress',
  'rpt.hideLog': 'Hide log',
  'rpt.showLog': 'View full log',
  'rpt.lines': 'lines',
  'rpt.cancelScan': 'Cancel Scan',
  'rpt.selectReport': 'Select Report',
  'rpt.selectCompletedReport': 'Select a completed report...',
  'rpt.searchTenancy': 'Search tenancy...',
  'rpt.searchByTenancy': 'Search by tenancy...',
  'rpt.noCredentials': 'No credentials found',
  'rpt.allRegionsDefault': 'All regions (default)',
  'rpt.searchRegion': 'Search region...',
  'rpt.loadingDashboard': 'Loading dashboard...',
  'rpt.complianceScore': 'Compliance Score',
  'rpt.compliant': 'Compliant',
  'rpt.nonCompliant': 'Non-Compliant',
  'rpt.ofTotal': 'of total',
  'rpt.compliantItems': 'compliant items',
  'rpt.totalFindings': 'total findings',
  'rpt.evaluated': 'Evaluated',
  'rpt.controlsVerified': 'Controls verified',
  'rpt.regionsCount': 'region(s)',
  'rpt.complianceDist': 'Compliance Distribution',
  'rpt.findingsBySection': 'Findings by Section',
  'rpt.generatedAt': 'Generated at',
  'rpt.htmlReport': 'HTML Report',
  'rpt.files': 'Files',
  'rpt.inSections': 'sections',
  'rpt.fullEmbedding': 'Full Embedding',
  'rpt.noActiveTables': 'No active tables',
  'rpt.executionHistory': 'Execution History',
  'rpt.reports': 'report(s)',
  'rpt.loading': 'Loading...',
  'rpt.firstScanHint': 'Run the first CIS scan above.',
  'rpt.selected': 'Selected',
  'rpt.deleteConfirm': 'Delete this report?',
  'rpt.deleteFailed': 'Failed to delete',
  'rpt.selectOciCredError': 'Select an OCI credential',
  'rpt.alreadyRunning': 'A scan is already running',
  'rpt.errorLoadReports': 'Error loading reports',
  'rpt.errorStartScan': 'Error starting scan',
  'rpt.selectAdb': 'Select an ADB connection.',
  'rpt.selectTable': 'Select a table.',
  'rpt.errorEmbedding': 'Error generating embedding',
  'rpt.cancelled': 'Cancelled',
  'rpt.completedAt': 'Completed:',

  // ── Downloads ──
  'dl.title': 'Downloads',
  'dl.subtitle': 'Download generated CIS reports',
  'dl.allTenancies': 'All Tenancies',
  'dl.allSections': 'All sections',
  'dl.reports': 'report(s)',
  'dl.refresh': 'Refresh',
  'dl.loadError': 'Error loading reports',
  'dl.loading': 'Loading reports...',
  'dl.noReports': 'No completed reports.',
  'dl.noReportsHint': 'Run a scan in the Reports tab to generate reports.',
  'dl.files': 'file(s)',
  'dl.hide': 'Hide',
  'dl.viewFiles': 'View Files',
  'dl.loadingFiles': 'Loading files...',
  'dl.noFiles': 'No files found',
  'dl.filesInSections': 'file(s) in {0} sections',

  // ── OCI Config ──
  'oci.title': 'OCI Credentials',
  'oci.subtitle': 'Manage Oracle Cloud Infrastructure credentials',
  'oci.registered': 'Registered Credentials',
  'oci.credential': 'credential',
  'oci.credentials': 'credentials',
  'oci.noCredentials': 'No credentials registered.',
  'oci.edit': 'Edit',
  'oci.test': 'Test',
  'oci.delete': 'Delete',
  'oci.yes': 'Yes',
  'oci.no': 'No',
  'oci.newCredential': 'New Credential',
  'oci.editCredential': 'Edit Credential',
  'oci.addDesc': 'Add your OCI account credentials to run reports and access services.',
  'oci.editing': 'Editing:',
  'oci.tenancyName': 'Tenancy Name',
  'oci.ocidTenancy': 'OCID Tenancy',
  'oci.region': 'Region',
  'oci.selectRegion': 'Select region...',
  'oci.searchRegion': 'Search region...',
  'oci.noRegion': 'No regions found',
  'oci.compartment': 'Compartment OCID',
  'oci.ocidUser': 'OCID User',
  'oci.fingerprint': 'Fingerprint',
  'oci.sessionToken': 'Session Token',
  'oci.sessionTokenHint': 'Paste the token file content generated by',
  'oci.sessionKeyLabel': 'Session Key (.pem)',
  'oci.privateKey': 'Private Key (.pem)',
  'oci.publicKey': 'Public Key (.pem)',
  'oci.keyPassphrase': 'Key Passphrase',
  'oci.keyPassphraseHint': 'Only if the private key is password protected',
  'oci.sshPublicKey': 'SSH Public Key',
  'oci.sshPublicKeyHint': 'SSH key for compute instance access (e.g. ssh-rsa AAAA...)',
  'oci.saveCredential': 'Save Credential',
  'oci.saveChanges': 'Save Changes',
  'oci.cancel': 'Cancel',
  'oci.saving': 'Saving credential...',
  'oci.saved': 'Credential saved successfully!',
  'oci.updated': 'Credential updated successfully!',
  'oci.deleting': 'Deleting credential...',
  'oci.deleted': 'Credential deleted successfully!',
  'oci.fillField': 'Fill in',
  'oci.fillOcidTenancy': 'Fill in OCID Tenancy',
  'oci.fillUserAndFP': 'Fill in OCID User and Fingerprint',
  'oci.pasteToken': 'Paste the Session Token',
  'oci.selectKey': 'Select the private key (.pem)',
  'oci.selectSessionKey': 'Select the session key (.pem)',
  'oci.changeHint': 'Fill to change. Current:',
  'oci.keepKey': 'Leave empty to keep current key',
  'oci.typeCannotChange': '(type cannot be changed)',
  'oci.sshNotConfigured': 'not configured',

  // ── GenAI Config ──
  'genai.title': 'GenAI Models',
  'genai.subtitle': 'Configure generative AI models for the Chat Agent',
  'genai.configured': 'Configured Models',
  'genai.model': 'model',
  'genai.models': 'models',
  'genai.noModels': 'No models configured.',
  'genai.newModel': 'New GenAI Model',
  'genai.editModel': 'Edit Model',
  'genai.configName': 'Config Name',
  'genai.ociCredential': 'OCI Credential',
  'genai.modelSelect': 'Model',
  'genai.genaiRegion': 'GenAI Region',
  'genai.compartment': 'Compartment OCID',
  'genai.modelOcid': 'Model OCID',
  'genai.modelOcidHint': 'Paste the model OCID from OCI portal (optional)',
  'genai.customOcid': 'Custom (use OCID)',
  'genai.default': 'Default Model',
  'genai.setDefault': 'Set as Default',
  'genai.saveModel': 'Save Model',
  'genai.saveChanges': 'Save Changes',
  'genai.cancel': 'Cancel',
  'genai.saving': 'Saving model...',
  'genai.deleting': 'Deleting model...',
  'genai.addDesc': 'Add custom models or create presets with specific credentials.',
  'genai.fillName': 'Fill in config name',
  'genai.selectOci': 'Select an OCI credential',
  'genai.fillOcid': 'Enter Model OCID for custom model',

  // ── MCP Servers ──
  'mcp.title': 'MCP Servers',
  'mcp.subtitle': 'MCP servers for tool integration and task execution',
  'mcp.registered': 'Registered Servers',
  'mcp.noServers': 'No MCP servers registered.',
  'mcp.edit': 'Edit',
  'mcp.activate': 'Activate',
  'mcp.deactivate': 'Deactivate',
  'mcp.active': 'Active',
  'mcp.inactive': 'Inactive',
  'mcp.delete': 'Delete',
  'mcp.yes': 'Yes',
  'mcp.no': 'No',
  'mcp.command': 'Command:',
  'mcp.url': 'URL:',
  'mcp.module': 'Module:',
  'mcp.adb': 'ADB:',
  'mcp.noAdb': 'None',
  'mcp.tools': 'Tools',
  'mcp.noTools': 'No tools registered',
  'mcp.discoverTools': 'Discover Tools',
  'mcp.discovering': 'Connecting to MCP server to discover tools...',
  'mcp.newServer': 'Register New Server',
  'mcp.editServer': 'Edit Server',
  'mcp.name': 'Name',
  'mcp.description': 'Description',
  'mcp.serverType': 'Server Type',
  'mcp.commandLabel': 'Command',
  'mcp.commandHint': 'Command to start the server',
  'mcp.argsLabel': 'Arguments (JSON)',
  'mcp.argsHint': 'Array of arguments passed to the command',
  'mcp.urlLabel': 'Server URL',
  'mcp.urlHint': 'MCP server SSE endpoint',
  'mcp.linkAdb': 'Link ADB Vector',
  'mcp.linkAdbHint': 'Optional — the MCP server can use this database as a tool.',
  'mcp.saveServer': 'Register Server',
  'mcp.saveChanges': 'Save Changes',
  'mcp.cancel': 'Cancel',
  'mcp.saving': 'Registering server...',
  'mcp.updating': 'Updating server...',
  'mcp.fillName': 'Fill in server name',
  'mcp.invalidArgs': 'Arguments must be a valid JSON array',
  'mcp.configDesc': 'Configure a new MCP server. Fields adjust based on the selected type.',

  // ── ADB Config ──
  'adb.title': 'ADB Connections',
  'adb.subtitle': 'Oracle Autonomous Database connections via Wallet (mTLS)',
  'adb.registered': 'Registered Connections',
  'adb.connection': 'connection',
  'adb.connections': 'connections',
  'adb.noConnections': 'No ADB connections registered.',
  'adb.edit': 'Edit',
  'adb.test': 'Test',
  'adb.delete': 'Delete',
  'adb.yes': 'Yes',
  'adb.no': 'No',
  'adb.newConnection': 'New Connection',
  'adb.editConnection': 'Edit Connection',
  'adb.connName': 'Connection Name',
  'adb.walletZip': 'Wallet ZIP',
  'adb.walletHint': 'Upload wallet to extract DSNs from tnsnames.ora',
  'adb.walletEditHint': 'Upload new wallet or leave empty to keep current',
  'adb.analyze': 'Analyze',
  'adb.dsn': 'DSN (TNS Name)',
  'adb.dsnHint': 'Select or type the DSN. E.g. myatp_high',
  'adb.username': 'Username',
  'adb.password': 'Password',
  'adb.walletPassword': 'Wallet Password',
  'adb.genaiConfig': 'GenAI Config (Embeddings)',
  'adb.genaiConfigHint': 'OCI credentials used to generate embeddings via GenAI.',
  'adb.noRag': 'None (no RAG)',
  'adb.embeddingModel': 'Embedding Model',
  'adb.embeddingModelHint': 'OCI GenAI model to generate vectors.',
  'adb.saveConnection': 'Save Connection',
  'adb.saveChanges': 'Save Changes',
  'adb.cancel': 'Cancel',
  'adb.saving': 'Saving connection...',
  'adb.deleting': 'Deleting connection...',
  'adb.updateWallet': 'Update Wallet',
  'adb.adbConnection': 'ADB Connection',
  'adb.uploadWallet': 'Upload Wallet',
  'adb.connDesc': 'Connection via python-oracledb Thin mode with Wallet (mTLS) to Oracle Autonomous Database.',
  'adb.selectWallet': 'Select a wallet ZIP file.',
  'adb.selectConnection': 'Select an ADB connection.',
  'adb.fillName': 'Fill in connection name',
  'adb.fillDsn': 'Fill in DSN',
  'adb.fillUsername': 'Fill in username',
  'adb.fillPassword': 'Fill in password',

  // ── Embeddings ──
  'emb.title': 'Embeddings',
  'emb.subtitle': 'Vector knowledge base — upload, import and management',
  'emb.noAdb': 'No ADB connection configured.',
  'emb.noAdbHint': 'Configure in ADB Vector.',
  'emb.noOci': 'No OCI credential configured.',
  'emb.noOciHint': 'Configure in Config → OCI.',
  'emb.existing': 'Existing Embeddings',
  'emb.existingDesc': 'Query documents stored in ADB embedding tables.',
  'emb.adbConnection': 'ADB Connection',
  'emb.table': 'Table',
  'emb.load': 'Load',
  'emb.noEmbeddings': 'No embeddings found.',
  'emb.total': 'Total: {0} documents',
  'emb.cisTitle': 'CIS Recommendations',
  'emb.cisDesc': 'Upload the latest PDF version to keep CIS Oracle Cloud recommendations updated in the vector database.',
  'emb.pdfFile': 'PDF File',
  'emb.uploadCis': 'Upload CIS Recommendations',
  'emb.kbTitle': 'Knowledge Base',
  'emb.kbDesc': 'Upload documents to feed the team knowledge base. Files will be vectorized and available for chat queries.',
  'emb.fileLabel': 'File (.txt, .pdf, .csv, .json, .md)',
  'emb.uploadFile': 'Upload File',
  'emb.urlLabel': 'URL (web page or PDF)',
  'emb.importUrl': 'Import URL',
  'emb.purgeTitle': 'Purge & Re-embed',
  'emb.purgeDesc': 'Clear embeddings from a table to free space or prepare for re-ingestion. This action is irreversible.',
  'emb.tenancyOptional': 'Tenancy (optional)',
  'emb.purge': 'Purge',
  'emb.confirm': 'Confirm',
  'emb.selectTable': 'Select a table.',
  'emb.selectAdbAndFile': 'Select ADB connection and file.',
  'emb.selectAdbAndUrl': 'Select ADB connection and enter URL.',
  'emb.processing': 'Processing PDF and generating embeddings...',
  'emb.uploading': 'Uploading and generating embeddings...',
  'emb.fetchingUrl': 'Fetching content and generating embeddings...',
  'emb.purging': 'Clearing embeddings...',

  // ── EmbConsult ──
  'ec.title': 'Query Embeddings',
  'ec.subtitle': 'Ask about data stored in vector databases',
  'ec.clear': 'Clear',
  'ec.tableOptional': 'Table (optional)',
  'ec.allTables': 'All tables',
  'ec.emptyTitle': 'Make a query to search embeddings.',
  'ec.emptyHint': 'E.g. "findings for CIS 1.1", "networking recommendations", "how to fix MFA"',
  'ec.searching': 'Querying vector databases...',
  'ec.placeholder': 'Type your query...',
  'ec.submit': 'Query',
  'ec.sources': 'Consulted sources',
  'ec.noAnswer': 'No model response.',

  // ── Users ──
  'usr.title': 'Users',
  'usr.activeCount': 'active',
  'usr.activesCount': 'active',
  'usr.inactiveCount': 'inactive',
  'usr.inactivesCount': 'inactive',
  'usr.total': 'total',
  'usr.newUser': 'New User',
  'usr.cancel': 'Cancel',
  'usr.createUser': 'Create New User',
  'usr.firstName': 'First Name',
  'usr.lastName': 'Last Name',
  'usr.username': 'Username',
  'usr.email': 'Email',
  'usr.password': 'Password',
  'usr.role': 'Role',
  'usr.creating': 'Creating...',
  'usr.create': 'Create User',
  'usr.noUsers': 'No users registered',
  'usr.noUsersHint': 'Click "New User" to create the first user.',
  'usr.name': 'Name',
  'usr.mfa': 'MFA',
  'usr.status': 'Status',
  'usr.lastLogin': 'Last Login',
  'usr.actions': 'Actions',
  'usr.active': 'Active',
  'usr.inactive': 'Inactive',
  'usr.never': 'Never',
  'usr.confirm': 'Confirm',
  'usr.deactivate': 'Deactivate user',
  'usr.created': 'User created successfully!',
  'usr.roleUpdated': 'Role updated',
  'usr.deactivated': 'User deactivated',
  'usr.requiredName': 'First and last name are required',
  'usr.requiredUsername': 'Username is required',
  'usr.requiredPassword': 'Password is required',

  // ── MFA ──
  'mfa.title': 'MFA Authentication (TOTP)',
  'mfa.subtitle': 'Protect your account with two-factor authentication via Google Authenticator or Authy.',
  'mfa.enabled': 'MFA is enabled',
  'mfa.disabled': 'MFA is disabled',
  'mfa.enabledDesc': 'Your account is protected with two-factor authentication.',
  'mfa.disabledDesc': 'Enable MFA to add an extra layer of security.',
  'mfa.disableHint': 'To disable MFA, click the button below. This will reduce your account security.',
  'mfa.disableBtn': 'Disable MFA',
  'mfa.confirmDisable': 'Are you sure you want to disable MFA for your account?',
  'mfa.scanQr': 'Scan the QR Code or copy the secret',
  'mfa.openApp': 'Open your authenticator app (Google Authenticator, Authy, etc.)',
  'mfa.enterCode': 'Enter the code from your app',
  'mfa.activateMfa': 'Activate MFA',
  'mfa.generateSecret': 'Generate Secret',
  'mfa.generateHint': 'Click the button below to generate a TOTP secret. You will need an authenticator app to scan the QR Code.',
  'mfa.activated': 'MFA activated successfully!',
  'mfa.deactivated': 'MFA deactivated.',
  'mfa.invalidCode': 'Enter a 6-digit code',

  // ── Audit ──
  'audit.title': 'Audit Log',
  'audit.subtitle': 'System activity monitoring, configurations and chat sessions.',
  'audit.tabAudit': 'Audit Log',
  'audit.tabConfig': 'Config Logs',
  'audit.tabChat': 'Chat Logs',
  'audit.records': 'records',
  'audit.refresh': 'Refresh',
  'audit.all': 'All',
  'audit.errors': 'Errors',
  'audit.success': 'Success',
  'audit.info': 'Info',
  'audit.loadingLogs': 'Loading logs...',
  'audit.noAudit': 'No audit records.',
  'audit.noConfig': 'No configuration logs recorded.',
  'audit.noChat': 'No chat logs recorded.',
  'audit.date': 'Date',
  'audit.user': 'User',
  'audit.action': 'Action',
  'audit.resource': 'Resource',
  'audit.details': 'Details',
  'audit.ip': 'IP',
  'audit.config': 'Config',
  'audit.status': 'Status',
  'audit.message': 'Message',
  'audit.session': 'Session',
  'audit.source': 'Source',

  // ── Common ──
  'common.save': 'Save',
  'common.cancel': 'Cancel',
  'common.delete': 'Delete',
  'common.edit': 'Edit',
  'common.create': 'Create',
  'common.update': 'Refresh',
  'common.close': 'Close',
  'common.confirm': 'Confirm',
  'common.back': 'Back',
  'common.search': 'Search',
  'common.refresh': 'Refresh',
  'common.download': 'Download',
  'common.upload': 'Upload',
  'common.copy': 'Copy',
  'common.retry': 'Retry',
  'common.send': 'Send',
  'common.clear': 'Clear',
  'common.test': 'Test',
  'common.yes': 'Yes',
  'common.no': 'No',
  'common.loading': 'Loading...',
  'common.saving': 'Saving...',
  'common.select': 'Select...',
  'common.noData': 'No data found',
  'common.error': 'Error',
  'common.success': 'Success',
};

export default en;
