900 lines
36 KiB
JSON
900 lines
36 KiB
JSON
{
|
|
"appName": "Nexus Terminal",
|
|
"projectName": "Nexus Terminal",
|
|
"slogan":"Stir the stars, command the terminal.",
|
|
"nav": {
|
|
"dashboard": "Dashboard",
|
|
"terminal": "Terminal",
|
|
"proxies": "Proxies",
|
|
"login": "Login",
|
|
"logout": "Logout",
|
|
"notifications": "Notifications",
|
|
"auditLogs": "Audit Logs",
|
|
"settings": "Settings",
|
|
"customizeStyle": "Customize Style"
|
|
},
|
|
"styleCustomizer": {
|
|
"title": "Appearance Customizer",
|
|
"uiStyles": "UI Styles",
|
|
"terminalStyles": "Terminal Styles",
|
|
"backgroundSettings": "Background",
|
|
"uiDescription": "Adjust colors, fonts, etc. for the application interface.",
|
|
"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",
|
|
"addNewTheme": "New Theme",
|
|
"importTheme": "Import Theme",
|
|
"editThemeTitle": "Edit Terminal Theme",
|
|
"newThemeTitle": "New Terminal Theme",
|
|
"newThemeDefaultName": "New Theme",
|
|
"themeName": "Theme Name",
|
|
"errorThemeNameRequired": "Theme name cannot be empty.",
|
|
"themeUpdatedSuccess": "Theme updated successfully.",
|
|
"themeCreatedSuccess": "Theme created successfully.",
|
|
"themeSaveFailed": "Failed to save theme.",
|
|
"themeDeletedSuccess": "Theme deleted successfully.",
|
|
"passkeyLoginButton": "Login with Passkey",
|
|
"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",
|
|
"uploadFailed": "Upload failed: {message}",
|
|
"pageBgUploadSuccess": "Page background uploaded successfully.",
|
|
"terminalBgUploadSuccess": "Terminal background uploaded successfully.",
|
|
"pageBgRemoved": "Page background removed.",
|
|
"terminalBgRemoved": "Terminal background removed.",
|
|
"removeBgFailed": "Failed to remove background: {message}",
|
|
"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",
|
|
"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...",
|
|
"exportActiveThemeTooltip": "Export the currently active theme as a JSON file",
|
|
"exportActiveTheme": "Export Active Theme",
|
|
"themeModeLabel": "Theme Mode:",
|
|
"defaultMode": "Default Mode",
|
|
"darkMode": "Dark Mode",
|
|
"darkModeApplied": "Dark mode applied",
|
|
"darkModeApplyFailed": "Failed to apply dark mode: {message}"
|
|
},
|
|
"login": {
|
|
"title": "User Login",
|
|
"username": "Username",
|
|
"password": "Password",
|
|
"loginButton": "Login",
|
|
"loggingIn": "Logging in...",
|
|
"twoFactorPrompt": "Enter your two-factor authentication code:",
|
|
"verifyButton": "Verify",
|
|
"rememberMe": "Remember Me",
|
|
"captchaPrompt": "Please complete the verification below:",
|
|
"error": {
|
|
"captchaLoadFailed": "Failed to load CAPTCHA. Please try refreshing.",
|
|
"captchaRequired": "Please complete the CAPTCHA verification."
|
|
},
|
|
"recaptchaV3Notice": "This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply."
|
|
},
|
|
"connections": {
|
|
"addConnection": "Add New Connection",
|
|
"noConnections": "No connections yet. Click 'Add New Connection' to create one!",
|
|
"addFirstConnection": "Add your first connection",
|
|
"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.",
|
|
"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"
|
|
},
|
|
"untaggedGroup": "Untagged",
|
|
"noUntaggedConnections": "No untagged connections found."
|
|
},
|
|
"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!",
|
|
"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": {
|
|
"terminal": {
|
|
"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"
|
|
},
|
|
"uploadStatus": {
|
|
"cancelled": "Cancelled"
|
|
},
|
|
"errors": {
|
|
"generic": "Error",
|
|
"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",
|
|
"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",
|
|
"swapNotAvailable": "Swap Unavailable"
|
|
},
|
|
"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!",
|
|
"prompts": {
|
|
"confirmDelete": "Are you sure you want to delete the tag \"{name}\"? This cannot be undone."
|
|
},
|
|
"inputPlaceholder": "Type to search or create tags...",
|
|
"removeSelection": "Remove this tag selection",
|
|
"deleteTagGlobally": "Delete this tag globally"
|
|
},
|
|
"settings": {
|
|
"title": "Settings",
|
|
"category": {
|
|
"security": "Security Settings",
|
|
"appearance": "Appearance Settings",
|
|
"system": "System 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": {
|
|
"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": {
|
|
"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",
|
|
"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}"
|
|
},
|
|
"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",
|
|
"emailTo": "Recipient Email(s):",
|
|
"emailToHelp": "Comma-separated list.",
|
|
"emailBodyTemplate": "Body Template (Optional)",
|
|
"emailBodyPlaceholder": "Default: Event-based notification content. Use",
|
|
"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",
|
|
"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",
|
|
"enabledEvents": "Enabled Events:",
|
|
"templateHelp": "Placeholders:",
|
|
"invalidJson": "Invalid JSON"
|
|
},
|
|
"events": {
|
|
"LOGIN_SUCCESS": "Login Success",
|
|
"LOGIN_FAILURE": "Login Failure",
|
|
"LOGOUT": "Logout",
|
|
"PASSWORD_CHANGED": "Password Changed",
|
|
"2FA_ENABLED": "2FA Enabled",
|
|
"2FA_DISABLED": "2FA Disabled",
|
|
"CONNECTION_CREATED": "Connection Created",
|
|
"CONNECTION_UPDATED": "Connection Updated",
|
|
"CONNECTION_DELETED": "Connection Deleted",
|
|
"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",
|
|
"SSH_CONNECT_SUCCESS": "SSH Connection Successful",
|
|
"SSH_CONNECT_FAILURE": "SSH Connection Failed",
|
|
"SSH_SHELL_FAILURE": "SSH Shell Open Failed",
|
|
"DATABASE_MIGRATION": "Database Migration",
|
|
"ADMIN_SETUP_COMPLETE": "Initial Admin Setup Completed"
|
|
}
|
|
},
|
|
"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."
|
|
}
|
|
},
|
|
"ipBlacklist": {
|
|
"title": "IP Blacklist Management",
|
|
"description": "Configure login attempt limits and automatic ban duration. Local addresses (127.0.0.1, ::1) will not be banned.",
|
|
"maxAttemptsLabel": "Max Failed Attempts:",
|
|
"banDurationLabel": "Ban Duration (seconds):",
|
|
"saveConfigButton": "Save Configuration",
|
|
"currentBannedTitle": "Currently Banned IP Addresses",
|
|
"loadingList": "Loading blacklist...",
|
|
"noBannedIps": "No IP addresses are currently in the blacklist.",
|
|
"confirmRemoveIp": "Are you sure you want to remove the IP address \"{ip}\" from the blacklist?",
|
|
"table": {
|
|
"ipAddress": "IP Address",
|
|
"attempts": "Attempts",
|
|
"lastAttempt": "Last Attempt",
|
|
"bannedUntil": "Banned Until",
|
|
"actions": "Actions",
|
|
"removeButton": "Remove",
|
|
"deleting": "Deleting..."
|
|
},
|
|
"success": {
|
|
"configUpdated": "Blacklist configuration updated successfully."
|
|
},
|
|
"error": {
|
|
"fetchFailed": "Failed to fetch blacklist",
|
|
"deleteFailed": "Failed to delete",
|
|
"invalidMaxAttempts": "Max failed attempts must be a positive integer.",
|
|
"invalidBanDuration": "Ban duration must be a positive integer (seconds).",
|
|
"updateConfigFailed": "Failed to update blacklist configuration"
|
|
}
|
|
},
|
|
"captcha": {
|
|
"title": "CAPTCHA Settings",
|
|
"description": "Configure CAPTCHA verification for the login page to prevent automated attacks.",
|
|
"enableLabel": "Enable CAPTCHA on Login Page",
|
|
"providerLabel": "CAPTCHA Provider:",
|
|
"providerNone": "None (Disabled)",
|
|
"hcaptchaHint": "Get keys from",
|
|
"recaptchaHint": "Get keys from",
|
|
"siteKeyLabel": "Site Key (Public):",
|
|
"secretKeyLabel": "Secret Key (Private):",
|
|
"secretKeyHint": "Keep this secret. It is stored securely on the server.",
|
|
"saveButton": "Save CAPTCHA Settings",
|
|
"success": {
|
|
"saved": "CAPTCHA settings saved successfully."
|
|
},
|
|
"error": {
|
|
"saveFailed": "Failed to save CAPTCHA settings."
|
|
}
|
|
},
|
|
"commandInputSync": {
|
|
"title": "Command Input Sync",
|
|
"selectLabel": "Sync Target:",
|
|
"targetNone": "None",
|
|
"targetQuickCommands": "Quick Commands",
|
|
"targetCommandHistory": "Command History",
|
|
"description": "Sync the content of the command input bar to the search box of the selected panel in real-time.",
|
|
"success": {
|
|
"saved": "Sync target saved."
|
|
},
|
|
"error": {
|
|
"saveFailed": "Failed to save sync target."
|
|
}
|
|
}
|
|
},
|
|
"notificationController": {
|
|
"errorFetchSettings": "Failed to fetch notification settings",
|
|
"errorMissingFields": "Missing required notification setting fields (channel_type, name, config)",
|
|
"errorCreateSetting": "Failed to create notification setting",
|
|
"errorInvalidId": "Invalid notification setting ID",
|
|
"errorNoUpdateData": "No data provided for update",
|
|
"errorNotFound": "Notification setting with ID {id} not found",
|
|
"errorUpdateSetting": "Failed to update notification setting",
|
|
"errorDeleteNotFound": "Failed to delete notification setting with ID {id}, it might have already been deleted",
|
|
"errorDeleteSetting": "Failed to delete notification setting",
|
|
"testMessageSaved": "Test triggered for setting ID {id} ({name})",
|
|
"testEventTriggered": "Test notification event triggered. Please check the corresponding channel for reception.",
|
|
"errorTriggerTest": "Internal error occurred while triggering test notification",
|
|
"errorMissingTestInfo": "Missing required test information (channel_type, config)",
|
|
"errorInvalidChannelType": "Invalid channel type",
|
|
"testMessageUnsaved": "Test triggered for unsaved {channelType} configuration"
|
|
},
|
|
"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.",
|
|
"close": "Close",
|
|
"remove": "Remove",
|
|
"expand": "Expand",
|
|
"collapse": "Collapse",
|
|
"search": "Search",
|
|
"all": "All",
|
|
"filter": "Filter"
|
|
},
|
|
"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.",
|
|
"leftSidebar": "Left Sidebar Panes",
|
|
"rightSidebar": "Right Sidebar Panes",
|
|
"dropHere": "Drop panes from available list here",
|
|
"saveError": "Error saving layout. Please try again later.",
|
|
"confirmClearLayout": "Are you sure you want to clear the entire layout? All panes will return to the available list."
|
|
},
|
|
"layoutNodeEditor": {
|
|
"containerLabel": "Container ({direction})",
|
|
"horizontal": "Horizontal",
|
|
"vertical": "Vertical",
|
|
"toggleDirection": "Toggle Direction",
|
|
"addHorizontalContainer": "Add Horizontal Container",
|
|
"addVerticalContainer": "Add Vertical Container",
|
|
"removeNode": "Remove this node",
|
|
"dragHandle": "Drag to reorder or move",
|
|
"dropHere": "Drop panes or containers here"
|
|
},
|
|
"auditLog": {
|
|
"title": "Audit Logs",
|
|
"searchPlaceholder": "Search details...",
|
|
"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",
|
|
"CONNECTION_CREATED": "Connection Created",
|
|
"CONNECTION_UPDATED": "Connection Updated",
|
|
"CONNECTION_DELETED": "Connection Deleted",
|
|
"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",
|
|
"SSH_CONNECT_SUCCESS": "SSH Connection Successful",
|
|
"SSH_CONNECT_FAILURE": "SSH Connection Failed",
|
|
"SSH_SHELL_FAILURE": "SSH Shell Open Failed",
|
|
"DATABASE_MIGRATION": "Database Migration",
|
|
"ADMIN_SETUP_COMPLETE": "Initial Admin Setup Completed",
|
|
"REMOTE_DESKTOP_CONNECTING": "Remote Desktop Connecting",
|
|
"REMOTE_DESKTOP_CONNECTED": "Remote Desktop Connected",
|
|
"REMOTE_DESKTOP_DISCONNECTED": "Remote Desktop Disconnected"
|
|
}
|
|
},
|
|
"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",
|
|
"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"
|
|
},
|
|
"noActiveSession": {
|
|
"title": "No Active Session",
|
|
"message": "Please connect to a session first",
|
|
"fileManagerSidebar": "File Manager requires an active session",
|
|
"statusMonitorSidebar": "Status Monitor requires an active session"
|
|
}
|
|
},
|
|
"header": {
|
|
"hide": "Hide"
|
|
},
|
|
"commandHistory": {
|
|
"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": {
|
|
"searchPlaceholder": "Search name or command...",
|
|
"add": "Add",
|
|
"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 (Drag to Sort)",
|
|
"dragHere": "Drag inputs from the left here",
|
|
"allInputsConfigured": "All available inputs are configured",
|
|
"input": {
|
|
"commandHistorySearch": "Command History Search",
|
|
"quickCommandsSearch": "Quick Commands Search",
|
|
"fileManagerSearch": "File Manager Search",
|
|
"commandInput": "Command Input",
|
|
"terminalSearch": "Terminal Search",
|
|
"connectionListSearch": "Connection List Search",
|
|
"fileEditorActive": "File Editor",
|
|
"fileManagerPathInput": "File Manager Path Input"
|
|
},
|
|
"confirmClose": "You have unsaved changes. Are you sure you want to close?",
|
|
"shortcutPlaceholder": "e.g., Alt+K",
|
|
"shortcutSettings": "Shortcut Settings",
|
|
"noInputsAvailable": "No configurable inputs available"
|
|
},
|
|
"dockerManager": {
|
|
"loading": "Loading Docker Containers...",
|
|
"notAvailable": "Docker Not Available on 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 a 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": {
|
|
"restart": "Restart",
|
|
"stop": "Stop",
|
|
"start": "Start",
|
|
"remove": "Remove"
|
|
},
|
|
"waitingForSsh": "Waiting for SSH connection...",
|
|
"stats": {
|
|
"noData": "No stats data available.",
|
|
"cpu": "CPU %",
|
|
"memory": "Memory Usage / Limit",
|
|
"netIO": "Network I/O",
|
|
"blockIO": "Block I/O",
|
|
"pids": "PIDs"
|
|
}
|
|
},
|
|
"dashboard": {
|
|
"recentConnections": "Recent Connections",
|
|
"lastConnected": "Last connected:",
|
|
"noRecentConnections": "No recent connection records",
|
|
"viewAllConnections": "View All Connections",
|
|
"recentActivity": "Recent Activity",
|
|
"noRecentActivity": "No recent activity records",
|
|
"viewFullAuditLog": "View Full Audit Log"
|
|
},
|
|
"terminalTabBar": {
|
|
"selectServerTitle": "Select server to connect"
|
|
}
|
|
}
|