744 lines
30 KiB
JSON
744 lines
30 KiB
JSON
{
|
|
"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"
|
|
},
|
|
"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.",
|
|
"test": {
|
|
"success": "Connection test successful!",
|
|
"failed": "Connection test failed: {error}"
|
|
},
|
|
"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": {
|
|
"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"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"layout": {
|
|
"pane": {
|
|
"connections": "Connections",
|
|
"terminal": "Terminal",
|
|
"commandBar": "Command Bar",
|
|
"fileManager": "File Manager",
|
|
"editor": "Editor",
|
|
"statusMonitor": "Status Monitor",
|
|
"commandHistory": "Command History",
|
|
"quickCommands": "Quick Commands"
|
|
}
|
|
},
|
|
"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."
|
|
}
|
|
}
|
|
}
|