const en: Record = { // ── 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 DESTROY 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;