{ "appName": "Nexus Terminal", "nav": { "dashboard": "Dashboard", "connections": "Connections", "terminal": "Terminal", "proxies": "Proxies", "login": "Login", "logout": "Logout", "tags": "Tags", "notifications": "Notifications", "auditLogs": "Audit Logs", "settings": "Settings", "hideLayout": "Hide Layout Elements", "showLayout": "Show Layout Elements", "customizeStyle": "Customize Style" }, "styleCustomizer": { "title": "Appearance Customizer", "uiStyles": "UI Styles", "terminalStyles": "Terminal Styles", "backgroundSettings": "Background", "uiDescription": "Adjust colors, fonts, etc. for the application interface.", "terminalDescription": "Customize the color scheme and font for the terminal.", "resetDefault": "Reset to Default", "saveChanges": "Save Changes", "resetUiTheme": "Reset UI Theme", "saveUiTheme": "Save UI Theme", "terminalFontFamily": "Terminal Font", "terminalFontPlaceholder": "e.g., \"Fira Code\", Consolas, monospace", "terminalFontDescription": "Enter font names, separated by commas. Use quotes for names with spaces.", "terminalThemeSelection": "Terminal Theme", "activeTheme": "Active Theme", "selectThemePrompt": "Select a theme...", "preset": "Preset", "addNewTheme": "New Theme", "importTheme": "Import Theme", "exportTheme": "Export Selected", "editThemeTitle": "Edit Terminal Theme", "newThemeTitle": "New Terminal Theme", "newThemeDefaultName": "New Theme", "themeName": "Theme Name", "confirmDeleteTheme": "Are you sure you want to delete the theme \"{name}\"? This action cannot be undone.", "confirmCloseEditing": "You are currently editing a theme. Closing will discard unsaved changes. Are you sure?", "errorThemeNameRequired": "Theme name cannot be empty.", "themeUpdatedSuccess": "Theme updated successfully.", "themeCreatedSuccess": "Theme created successfully.", "themeSaveFailed": "Failed to save theme.", "themeDeletedSuccess": "Theme deleted successfully.", "themeDeleteFailed": "Failed to delete theme: {message}", "importSuccess": "Theme imported successfully.", "importFailed": "Theme import failed.", "exportFailed": "Failed to export theme: {message}", "pageBackground": "Page Background", "terminalBackground": "Terminal Background", "noBackground": "No background", "uploadPageBg": "Upload Page Bg", "removePageBg": "Remove Page Bg", "uploadTerminalBg": "Upload Terminal Bg", "removeTerminalBg": "Remove Terminal Bg", "pageBgOpacity": "Page Bg Opacity", "terminalBgOpacity": "Terminal Bg Opacity", "uploadFailed": "Upload failed: {message}", "pageBgUploadSuccess": "Page background uploaded successfully.", "terminalBgUploadSuccess": "Terminal background uploaded successfully.", "confirmRemovePageBg": "Are you sure you want to remove the page background image?", "confirmRemoveTerminalBg": "Are you sure you want to remove the terminal background image?", "pageBgRemoved": "Page background removed.", "terminalBgRemoved": "Terminal background removed.", "removeBgFailed": "Failed to remove background: {message}", "setOpacityFailed": "Failed to set opacity: {message}", "uiThemeSaved": "UI theme saved.", "uiThemeSaveFailed": "Failed to save UI theme: {message}", "uiThemeReset": "UI theme reset to default.", "uiThemeResetFailed": "Failed to reset UI theme: {message}", "terminalFontSaved": "Terminal font saved.", "terminalFontSaveFailed": "Failed to save terminal font: {message}", "setActiveThemeFailed": "Failed to set active terminal theme: {message}", "terminalFontSize": "Terminal Font Size", "errorInvalidFontSize": "Invalid font size. Please enter a positive number.", "terminalFontSizeSaved": "Terminal font size saved.", "terminalFontSizeSaveFailed": "Failed to save terminal font size: {message}", "otherSettings": "Other Settings", "editorFontSize": "Editor Font Size", "editorFontSizeSaved": "Editor font size saved.", "editorFontSizeSaveFailed": "Failed to save editor font size: {message}", "errorInvalidEditorFontSize": "Invalid font size. Please enter a positive number.", "uiThemeJsonEditorTitle": "UI Theme JSON Editor", "uiThemeJsonEditorDesc": "Directly edit the UI theme configuration using JSON. Changes here will reflect in the color pickers above after blurring the textarea.", "errorInvalidJsonObject": "Invalid input. Please provide a valid JSON object.", "errorInvalidJsonConfig": "Invalid JSON configuration", "editAsCopy": "Edit as Copy", "copySuffix": "Copy", "cannotDeletePreset": "Cannot delete preset theme", "applyThemeTooltip": "Apply this theme", "terminalThemeJsonEditorTitle": "Terminal Theme JSON Editor", "terminalThemeJsonEditorDesc": "Directly edit the terminal theme configuration using JSON. Changes here will reflect in the color pickers below after blurring the textarea.", "terminalThemeColorEditorTitle": "Terminal Theme Color Editor", "errorFixJsonBeforeSave": "Please fix the JSON format errors before saving.", "applyButton": "Apply", "searchThemePlaceholder": "Search theme name...", "sortBy": "Sort by:", "sortAsc": "Name Asc", "sortDesc": "Name Desc", "exportActiveThemeTooltip": "Export the currently active theme as a JSON file", "exportActiveTheme": "Export Active Theme" }, "login": { "title": "User Login", "username": "Username", "password": "Password", "loginButton": "Login", "loggingIn": "Logging in...", "error": "Login failed. Please check your username and password.", "twoFactorPrompt": "Enter your two-factor authentication code:", "verifyButton": "Verify", "rememberMe": "Remember Me (7 days)" }, "connections": { "title": "Connection Management", "addConnection": "Add New Connection", "loading": "Loading connections...", "error": "Failed to load connections: {error}", "noConnections": "No connections yet. Click 'Add New Connection' to create one!", "table": { "name": "Name", "host": "Host", "port": "Port", "user": "User", "authMethod": "Auth Method", "tags": "Tags", "lastConnected": "Last Connected", "actions": "Actions" }, "actions": { "connect": "Connect", "edit": "Edit", "delete": "Delete", "test": "Test", "testing": "Testing..." }, "form": { "title": "Add New Connection", "name": "Name:", "host": "Host/IP:", "port": "Port:", "username": "Username:", "authMethod": "Authentication Method:", "authMethodPassword": "Password", "authMethodKey": "SSH Key", "password": "Password:", "privateKey": "Private Key:", "passphrase": "Passphrase:", "optional": "Optional", "confirm": "Confirm Add", "adding": "Adding...", "cancel": "Cancel", "errorRequiredFields": "Please fill in all required fields.", "errorPasswordRequired": "Password is required for password authentication.", "errorPrivateKeyRequired": "Private key is required for key authentication.", "errorPasswordRequiredOnSwitch": "Password is required when switching to password authentication.", "errorPrivateKeyRequiredOnSwitch": "Private key is required when switching to key authentication.", "errorPort": "Port must be between 1 and 65535.", "errorAdd": "Failed to add connection: {error}", "titleEdit": "Edit Connection", "confirmEdit": "Confirm Edit", "saving": "Saving...", "errorUpdate": "Failed to update connection: {error}", "keyUpdateNote": "Leave private key and passphrase blank to keep the existing key.", "proxy": "Proxy:", "noProxy": "No Proxy", "tags": "Tags:", "sectionBasic": "Basic Information", "sectionAuth": "Authentication", "sectionAdvanced": "Advanced Options", "testConnection": "Test Connection", "testing": "Testing..." }, "test": { "success": "Connection test successful!", "failed": "Connection test failed: {error}", "latencyTooltip": "This measures the time to establish a new SSH connection (TCP, Proxy, SSH Handshake, Auth). It's typically higher than interaction latency on an already established connection.", "errorMissingFields": "Please fill in Host, Port, Username, and select an Auth Method.", "errorPasswordUndefined": "Password field is required for password authentication.", "errorPrivateKeyRequired": "Private key is required for key authentication.", "errorUnknown": "An unknown error occurred during testing.", "errorNetwork": "Network error or server unreachable.", "testingInProgress": "Testing...", "errorPrefix": "Error:" }, "prompts": { "confirmDelete": "Are you sure you want to delete the connection \"{name}\"? This cannot be undone." }, "errors": { "deleteFailed": "Failed to delete connection: {error}" }, "status": { "never": "Never" }, "filterAllTags": "All Tags", "untaggedGroup": "Untagged", "noUntaggedConnections": "No untagged connections found.", "exportConnections": "Export Connections", "importConnections": "Import Connections", "exportError": "Failed to export connections: {message}", "importError": "Failed to import connections: {message}", "importErrorFileType": "Invalid file type. Please select a JSON file.", "importErrorUnknown": "Unknown import error occurred.", "importErrorNetwork": "Network error during import.", "importSuccess": "Import completed. Successful: {successCount}, Failed: {failureCount}." }, "proxies": { "title": "Proxy Management", "addProxy": "Add New Proxy", "loading": "Loading proxies...", "error": "Failed to load proxies: {error}", "noProxies": "No proxies yet. Click 'Add New Proxy' to create one!", "table": { "name": "Name", "type": "Type", "host": "Host", "port": "Port", "user": "User", "updatedAt": "Updated At", "actions": "Actions" }, "actions": { "edit": "Edit", "delete": "Delete" }, "form": { "title": "Add New Proxy", "titleEdit": "Edit Proxy", "name": "Name:", "type": "Type:", "host": "Host/IP:", "port": "Port:", "username": "Username:", "password": "Password:", "optional": "Optional", "confirm": "Confirm Add", "confirmEdit": "Confirm Edit", "adding": "Adding...", "saving": "Saving...", "cancel": "Cancel", "errorRequiredFields": "Please fill in all required fields.", "errorPort": "Port must be between 1 and 65535.", "errorAdd": "Failed to add proxy: {error}", "errorUpdate": "Failed to update proxy: {error}", "passwordUpdateNote": "Leave password blank to keep the existing password." }, "prompts": { "confirmDelete": "Are you sure you want to delete the proxy \"{name}\"? This cannot be undone." }, "errors": { "deleteFailed": "Failed to delete proxy: {error}" } }, "workspace": { "noActiveSession": "No Active Session", "selectConnectionPrompt": "Please select a connection", "selectConnectionHint": "Select a connection from the left list, or click the 'Add New Connection' button to create a new one.", "statusBar": "Status: {status} | Connection: {id}", "status": { "initializing": "Initializing...", "connectingWs": "Connecting to {url}...", "wsConnected": "WebSocket connected, requesting SSH session...", "connectingSsh": "Connecting to {host}...", "sshConnected": "SSH connected, opening shell...", "connected": "Connected", "disconnected": "Disconnected: {reason}", "wsClosed": "WebSocket closed (Code: {code})", "error": "Error: {message}", "wsError": "WebSocket connection error", "sshError": "SSH Error: {message}", "decryptError": "Cannot decrypt credentials.", "noConnInfo": "Connection config not found for ID {id}.", "noPassword": "Connection config is missing password.", "shellError": "Failed to open shell: {message}", "alreadyConnected": "An active SSH connection already exists.", "unknown": "Unknown status", "wsClosedWillRetry": "WebSocket connection closed, will attempt reconnect {attempt} in {seconds} seconds...", "reconnecting": "Attempting to reconnect...", "reconnectFailed": "Reconnect failed" }, "terminal": { "infoPrefix": "[INFO]", "errorPrefix": "[ERROR]", "disconnectMsg": "--- SSH Connection Closed ({reason}) ---", "wsCloseMsg": "--- WebSocket Connection Closed (Code: {code}) ---", "wsErrorMsg": "--- WebSocket Connection Error ---", "decryptErrorMsg": "--- Error: Could not decrypt connection credentials ---", "genericErrorMsg": "--- Error: {message} ---", "reconnectingMsg": "Attempting to reconnect..." } }, "fileManager": { "currentPath": "Current Path", "loading": "Loading directory...", "emptyDirectory": "Directory is empty", "uploadTasks": "Upload Tasks", "actions": { "refresh": "Refresh", "parentDirectory": "Parent Directory", "uploadFile": "Upload File", "upload": "Upload", "newFolder": "New Folder", "rename": "Rename", "changePermissions": "Change Permissions", "newFile": "New File", "delete": "Delete", "deleteMultiple": "Delete {count} items", "download": "Download", "cancel": "Cancel", "save": "Save", "closeTab": "Close Tab", "closeEditor": "Close Editor" }, "headers": { "type": "Type", "name": "Name", "size": "Size", "permissions": "Permissions", "modified": "Modified", "actions": "Actions" }, "uploadStatus": { "pending": "Pending", "uploading": "Uploading", "paused": "Paused", "success": "Success", "error": "Error", "cancelled": "Cancelled" }, "errors": { "generic": "Error", "websocketNotConnected": "WebSocket not connected", "missingConnectionId": "Cannot get current connection ID", "createFolderFailed": "Failed to create folder", "deleteFailed": "Failed to delete", "renameFailed": "Failed to rename", "chmodFailed": "Failed to change permissions", "invalidPermissionsFormat": "Invalid permissions format. Please enter 3 or 4 octal digits (e.g., 755 or 0755).", "readFileError": "Error reading file", "readFileFailed": "Failed to read file", "fileDecodeError": "File decoding failed (likely not UTF-8)", "saveFailed": "Failed to save file", "saveTimeout": "Save timed out", "fileExists": "File \"{name}\" already exists.", "loadDirectoryFailed": "Failed to load directory" }, "prompts": { "enterFolderName": "Enter the name for the new folder:", "confirmOverwrite": "File \"{name}\" already exists. Overwrite?", "confirmDeleteMultiple": "Are you sure you want to delete the selected {count} items? This cannot be undone.", "confirmDeleteFolder": "Are you sure you want to delete the directory \"{name}\" and all its contents? This cannot be undone.", "confirmDeleteFile": "Are you sure you want to delete the file \"{name}\"? This cannot be undone.", "enterNewName": "Enter the new name for \"{oldName}\":", "enterNewPermissions": "Enter new permissions for \"{name}\" (octal, e.g., 755):", "enterFileName": "Enter the name for the new file:" }, "editingFile": "Editing", "loadingFile": "Loading file...", "saving": "Saving", "saveSuccess": "Save successful", "saveError": "Save error", "editPathTooltip": "Click path to edit", "noActiveSession": "No active session", "loadDirectoryFailed": "Failed to load directory", "noOpenFile": "No file open", "selectFileToEdit": "Select a file from the file manager to start editing.", "searchPlaceholder": "Search files..." }, "statusMonitor": { "title": "Server Status", "errorPrefix": "Error:", "loading": "Waiting for data...", "cpuModelLabel": "CPU Model:", "osLabel": "OS:", "cpuLabel": "CPU:", "memoryLabel": "Memory:", "swapLabel": "Swap:", "diskLabel": "Disk:", "networkLabel": "Network", "notAvailable": "N/A", "bytesPerSecond": "B/s", "kiloBytesPerSecond": "KB/s", "megaBytesPerSecond": "MB/s", "gigaBytesPerSecond": "GB/s", "megaBytes": "MB", "gigaBytes": "GB", "noActiveSession": "No active session" }, "tags": { "title": "Tag Management", "addTag": "Add New Tag", "loading": "Loading tags...", "error": "Failed to load tags: {error}", "noTags": "No tags yet. Click 'Add New Tag' to create one!", "table": { "name": "Name", "updatedAt": "Updated At", "actions": "Actions" }, "actions": { "edit": "Edit", "delete": "Delete" }, "form": { "title": "Add New Tag", "titleEdit": "Edit Tag", "name": "Tag Name:", "confirm": "Confirm Add", "confirmEdit": "Confirm Edit", "adding": "Adding...", "saving": "Saving...", "cancel": "Cancel", "errorNameRequired": "Tag name cannot be empty.", "errorAdd": "Failed to add tag: {error}", "errorUpdate": "Failed to update tag: {error}" }, "prompts": { "confirmDelete": "Are you sure you want to delete the tag \"{name}\"? This cannot be undone." }, "errors": { "deleteFailed": "Failed to delete tag: {error}" }, "status": { "never": "Never" }, "inputPlaceholder": "Type to search or create tags...", "removeSelection": "Remove this tag selection", "deleteTagGlobally": "Delete this tag globally" }, "settings": { "title": "Settings", "changePassword": { "title": "Change Password", "currentPassword": "Current Password:", "newPassword": "New Password:", "confirmPassword": "Confirm New Password:", "submit": "Change Password", "success": "Password changed successfully!", "error": { "passwordsDoNotMatch": "New password and confirmation do not match.", "generic": "Failed to change password. Please try again later." } }, "twoFactor": { "title": "Two-Factor Authentication (TOTP)", "status": { "enabled": "Two-factor authentication is enabled.", "disabled": "Two-factor authentication is currently disabled." }, "enable": { "button": "Enable Two-Factor Authentication" }, "setup": { "scanQrCode": "Scan the QR code below with your authenticator app:", "orEnterSecret": "Or manually enter the secret key:", "enterCode": "Enter the 6-digit code from your authenticator app:", "verifyButton": "Verify & Activate" }, "disable": { "button": "Disable Two-Factor Authentication", "passwordPrompt": "Enter your current password to confirm disabling:" }, "success": { "activated": "Two-factor authentication activated successfully!", "disabled": "Two-factor authentication disabled successfully." }, "error": { "setupFailed": "Failed to get two-factor setup information.", "codeRequired": "Please enter the verification code.", "verificationFailed": "Invalid or expired verification code.", "passwordRequiredForDisable": "Current password is required to disable.", "disableFailed": "Failed to disable two-factor authentication." } }, "ipWhitelist": { "title": "IP Whitelist", "description": "Configure allowed IP addresses or ranges to access this application. Leave empty to allow all IPs.", "label": "Allowed IP Addresses/Ranges (one per line or comma-separated):", "hint": "Supports IPv4, IPv6, and CIDR (e.g., 192.168.1.100, 10.0.0.0/8, 2001:db8::/32).", "saveButton": "Save Whitelist", "success": { "saved": "IP whitelist saved successfully." }, "error": { "fetchFailed": "Failed to fetch IP whitelist settings.", "saveFailed": "Failed to save IP whitelist." } }, "popupEditor": { "title": "Popup File Editor", "enableLabel": "Show popup editor when opening files", "saveButton": "Save Setting", "success": { "saved": "Popup editor setting saved successfully." }, "error": { "saveFailed": "Failed to save popup editor setting." } }, "shareEditorTabs": { "title": "Editor Tabs", "enableLabel": "Share editor tabs across all sessions", "description": "If enabled, all SSH sessions will share the same set of open file editor tabs. If disabled, each session will have its own independent set of tabs.", "saveButton": "Save Setting", "success": { "saved": "Editor tab sharing setting saved successfully." }, "error": { "saveFailed": "Failed to save editor tab sharing setting." } }, "language": { "title": "Language Settings", "selectLabel": "Interface Language:", "saveButton": "Save Language", "success": { "saved": "Language settings saved successfully." }, "error": { "fetchFailed": "Failed to fetch language settings.", "saveFailed": "Failed to save language settings." } }, "passkey": { "title": "Passkey Settings", "description": "Use Passkeys (biometrics or security keys) for passwordless authentication to enhance security and convenience.", "nameLabel": "Passkey Name", "namePlaceholder": "e.g., My Laptop", "registerButton": "Register New Passkey", "deleteButton": "Delete Passkey", "confirmDelete": "Are you sure you want to delete the Passkey '{name}'?", "noPasskeys": "No Passkeys registered yet.", "error": { "nameRequired": "Please enter a Passkey name.", "cancelled": "Passkey registration was cancelled by the user.", "genericRegistration": "Could not register Passkey: {message}", "verificationFailed": "Registration failed: {message}", "unknown": "Registration failed: Unknown error." }, "success": { "registered": "Passkey registered successfully!" } }, "notifications": { "title": "Notification Settings", "addChannel": "Add Notification Channel", "noChannels": "No notification channels configured yet.", "triggers": "Triggers", "noEventsEnabled": "No events enabled", "confirmDelete": "Are you sure you want to delete the notification channel \"{name}\"? This cannot be undone.", "types": { "webhook": "Webhook", "email": "Email", "telegram": "Telegram" }, "form": { "addTitle": "Add Notification Channel", "editTitle": "Edit Notification Channel", "name": "Channel Name:", "channelType": "Channel Type:", "channelTypeEditNote": "Channel type cannot be changed after creation.", "webhookMethod": "HTTP Method:", "webhookHeaders": "Custom Headers", "webhookBodyTemplate": "Body Template (Optional)", "webhookBodyPlaceholder": "Default: JSON payload. Use {{{{event}}}}, {{{{timestamp}}}}, {{{{details}}}}.", "emailTo": "Recipient Email(s):", "emailToHelp": "Comma-separated list.", "emailSubjectTemplate": "Subject Template (Optional)", "emailSubjectPlaceholder": "Default: Notification: {{event}}", "smtpHost": "SMTP Host:", "smtpPort": "SMTP Port:", "smtpSecure": "Use TLS/SSL", "smtpUser": "SMTP Username:", "smtpPass": "SMTP Password:", "smtpFrom": "Sender Email:", "smtpFromHelp": "Email address used in the 'From' field.", "testButton": "Test Notification", "testSuccess": "Test notification sent successfully!", "testFailed": "Test notification failed", "saveToTest": "Save the settings before testing.", "fillRequiredToTest": "Fill required fields to enable testing.", "telegramToken": "Bot Token:", "telegramTokenHelp": "Store securely. Consider environment variables.", "telegramChatId": "Chat ID:", "telegramMessageTemplate": "Message Template (Optional)", "telegramMessagePlaceholder": "Default: Markdown format. Use {{{{event}}}}, {{{{timestamp}}}}, {{{{details}}}}.", "enabledEvents": "Enabled Events:", "templateHelp": "Placeholders: {{{{event}}}}, {{{{timestamp}}}}, {{{{details}}}} (JSON string)", "invalidJson": "Invalid JSON" }, "events": { "LOGIN_SUCCESS": "Login Success", "LOGIN_FAILURE": "Login Failure", "CONNECTION_ADDED": "Connection Added", "CONNECTION_UPDATED": "Connection Updated", "CONNECTION_DELETED": "Connection Deleted", "SETTINGS_UPDATED": "Settings Updated", "PROXY_ADDED": "Proxy Added", "PROXY_UPDATED": "Proxy Updated", "PROXY_DELETED": "Proxy Deleted", "TAG_ADDED": "Tag Added", "TAG_UPDATED": "Tag Updated", "TAG_DELETED": "Tag Deleted", "API_KEY_ADDED": "API Key Added", "API_KEY_DELETED": "API Key Deleted", "PASSKEY_ADDED": "Passkey Added", "PASSKEY_DELETED": "Passkey Deleted", "IP_BLACKLISTED": "IP Blacklisted", "SERVER_ERROR": "Server Error" } }, "appearance": { "title": "Appearance Settings", "description": "Customize the visual theme and background of the application.", "customizeButton": "Customize Appearance" }, "autoCopyOnSelect": { "title": "Terminal Auto Copy", "enableLabel": "Copy text automatically on selection release", "saveButton": "Save", "success": { "saved": "Auto copy setting saved successfully." }, "error": { "saveFailed": "Failed to save auto copy setting." } }, "docker": { "title": "Docker Manager Settings", "refreshIntervalLabel": "Status Refresh Interval (seconds):", "refreshIntervalHint": "How often to fetch Docker container status and stats (minimum 1).", "defaultExpandLabel": "Expand container details by default", "saveButton": "Save Docker Settings", "success": { "saved": "Docker settings saved successfully." }, "error": { "saveFailed": "Failed to save Docker settings.", "invalidInterval": "Refresh interval must be a positive integer." } }, "statusMonitor": { "title": "Status Monitor Settings", "refreshIntervalLabel": "Status Refresh Interval (seconds):", "refreshIntervalHint": "How often to fetch server CPU, memory, disk, etc. status (minimum 1).", "saveButton": "Save Status Monitor Settings", "success": { "saved": "Status monitor settings saved successfully." }, "error": { "saveFailed": "Failed to save status monitor settings.", "invalidInterval": "Refresh interval must be a positive integer." } }, "workspace": { "title": "Workspace & Terminal", "sidebarPersistentTitle": "Sidebar Behavior", "sidebarPersistentLabel": "Pin sidebar when opened (prevent auto-collapse)", "sidebarPersistentDescription": "When enabled, clicking outside the sidebar will not automatically collapse it.", "success": { "sidebarPersistentSaved": "Sidebar setting saved." }, "error": { "sidebarPersistentSaveFailed": "Failed to save sidebar setting." } } }, "common": { "loading": "Loading...", "cancel": "Cancel", "save": "Save", "saving": "Saving...", "testing": "Testing...", "edit": "Edit", "delete": "Delete", "enabled": "Enabled", "disabled": "Disabled", "settings": "Settings", "errorOccurred": "An error occurred.", "dismiss": "Dismiss", "close": "Close", "remove": "Remove" }, "layoutConfigurator": { "title": "Layout Configurator", "availablePanes": "Available Panes", "layoutPreview": "Layout Preview", "resetDefault": "Reset to Default", "noAvailablePanes": "All panes are already in the layout", "emptyLayout": "Layout is empty. Drag panes from the left or add a container." }, "auditLog": { "title": "Audit Logs", "noLogs": "No audit logs found.", "table": { "timestamp": "Timestamp", "actionType": "Action Type", "details": "Details" }, "paginationInfo": "Page {currentPage} of {totalPages} ({totalLogs} total logs)", "actions": { "LOGIN_SUCCESS": "Login Success", "LOGIN_FAILURE": "Login Failure", "LOGOUT": "Logout", "PASSWORD_CHANGED": "Password Changed", "2FA_ENABLED": "2FA Enabled", "2FA_DISABLED": "2FA Disabled", "PASSKEY_REGISTERED": "Passkey Registered", "PASSKEY_DELETED": "Passkey Deleted", "CONNECTION_CREATED": "Connection Created", "CONNECTION_UPDATED": "Connection Updated", "CONNECTION_DELETED": "Connection Deleted", "CONNECTION_TESTED": "Connection Tested", "CONNECTIONS_IMPORTED": "Connections Imported", "CONNECTIONS_EXPORTED": "Connections Exported", "PROXY_CREATED": "Proxy Created", "PROXY_UPDATED": "Proxy Updated", "PROXY_DELETED": "Proxy Deleted", "TAG_CREATED": "Tag Created", "TAG_UPDATED": "Tag Updated", "TAG_DELETED": "Tag Deleted", "SETTINGS_UPDATED": "Settings Updated", "IP_WHITELIST_UPDATED": "IP Whitelist Updated", "NOTIFICATION_SETTING_CREATED": "Notification Setting Created", "NOTIFICATION_SETTING_UPDATED": "Notification Setting Updated", "NOTIFICATION_SETTING_DELETED": "Notification Setting Deleted", "API_KEY_CREATED": "API Key Created", "API_KEY_DELETED": "API Key Deleted", "SFTP_ACTION": "SFTP Action", "SSH_CONNECT_SUCCESS": "SSH Connection Successful", "SSH_CONNECT_FAILURE": "SSH Connection Failed", "SSH_SHELL_FAILURE": "SSH Shell Open Failed", "SERVER_STARTED": "Server Started", "SERVER_ERROR": "Server Error", "DATABASE_MIGRATION": "Database Migration", "ADMIN_SETUP_COMPLETE": "Initial Admin Setup Completed" } }, "workspaceConnectionList": { "untagged": "Untagged", "searchPlaceholder": "Search name or host...", "noResults": "No connections found matching \"{searchTerm}\"." }, "commandInputBar": { "placeholder": "Enter command and press Enter to send...", "searchPlaceholder": "Search in terminal...", "openSearch": "Open terminal search", "closeSearch": "Close terminal search", "findPrevious": "Find previous", "findNext": "Find next", "noResults": "No results", "configureFocusSwitch": "Configure Focus Switcher" }, "layout": { "loading": "Loading...", "configure": "Configure Layout", "pane": { "connections": "Connections", "terminal": "Terminal", "commandBar": "Command Bar", "fileManager": "File Manager", "editor": "Editor", "statusMonitor": "Status Monitor", "commandHistory": "Command History", "quickCommands": "Quick Commands", "dockerManager": "Docker Manager" } }, "header": { "hide": "Hide" }, "commandHistory": { "title": "Command History", "searchPlaceholder": "Search history...", "clear": "Clear", "copy": "Copy", "delete": "Delete", "loading": "Loading...", "empty": "No history records", "confirmClear": "Are you sure you want to clear all history?", "copied": "Copied to clipboard", "copyFailed": "Copy failed" }, "quickCommands": { "title": "Quick Commands", "searchPlaceholder": "Search name or command...", "add": "Add", "sortBy": "Sort by:", "sortByName": "Name", "sortByUsage": "Usage Frequency", "usageCount": "Usage Count", "empty": "No quick commands. Click '+' to create one!", "confirmDelete": "Are you sure you want to delete the quick command \"{name}\"?", "form": { "titleAdd": "Add Quick Command", "titleEdit": "Edit Quick Command", "name": "Name:", "namePlaceholder": "Optional, for quick identification", "command": "Command:", "commandPlaceholder": "e.g., ls -alh /home/user", "errorCommandRequired": "Command cannot be empty", "add": "Add" } }, "setup": { "title": "Initial Setup", "description": "Create the first administrator account.", "username": "Username", "usernamePlaceholder": "Enter username", "password": "Password", "passwordPlaceholder": "Enter password", "confirmPassword": "Confirm Password", "confirmPasswordPlaceholder": "Confirm your password", "submitButton": "Create Account", "settingUp": "Creating account...", "success": "Account created successfully! Redirecting to login...", "error": { "passwordsDoNotMatch": "Passwords do not match.", "fieldsRequired": "Username and password are required.", "generic": "An error occurred during setup. Please check the server logs." } }, "focusSwitcher": { "configTitle": "Configure Focus Switcher", "availableInputs": "Available Inputs", "configuredSequence": "Configured Sequence", "dragHere": "Drag here to add", "allInputsConfigured": "All available inputs are configured", "input": { "commandHistorySearch": "Search command history...", "quickCommandsSearch": "Search quick commands...", "fileManagerSearch": "Search files...", "commandInput": "Enter command...", "terminalSearch": "Search terminal..." } }, "dockerManager": { "loading": "Loading Docker Containers...", "notAvailable": "Docker Not Available on Remote Host", "installHint": "Please ensure Docker is installed and running on the remote host.", "installHintRemote": "Please ensure Docker is installed and running on the remote host.", "error": { "fetchFailed": "Failed to fetch remote container status", "commandFailed": "Failed to execute remote command '{command}'", "invalidResponse": "Received invalid response from server", "noActiveSession": "No active session.", "connectFirst": "Please connect to an session first.", "sshDisconnected": "SSH session disconnected.", "sshError": "SSH Connection Error", "sshNotConnected": "SSH session is not connected." }, "noContainers": "No running or stopped containers found on remote host.", "header": { "name": "Name", "image": "Image", "status": "Status", "ports": "Ports", "actions": "Actions" }, "action": { "up": "Start/Up", "down": "Remove/Down", "restart": "Restart", "stop": "Stop", "start": "Start", "remove": "Remove" }, "waitingForSsh": "Waiting for SSH connection...", "stats": { "loading": "Loading stats...", "error": "Error loading stats", "errorGeneric": "Could not load container statistics.", "noData": "No stats data available.", "cpu": "CPU %", "memory": "Memory Usage / Limit", "netIO": "Network I/O", "blockIO": "Block I/O", "pids": "PIDs" } }, "common": { "loading": "Loading...", "cancel": "Cancel", "save": "Save", "saving": "Saving...", "testing": "Testing...", "edit": "Edit", "delete": "Delete", "enabled": "Enabled", "disabled": "Disabled", "settings": "Settings", "errorOccurred": "An error occurred.", "dismiss": "Dismiss", "close": "Close", "remove": "Remove", "expand": "Expand", "collapse": "Collapse" } }