This commit is contained in:
Baobhan Sith
2025-04-24 11:07:28 +08:00
parent 2f93355203
commit b5cba6d23a
2 changed files with 148 additions and 452 deletions
+10 -162
View File
@@ -2,17 +2,13 @@
"appName": "Nexus Terminal", "appName": "Nexus Terminal",
"nav": { "nav": {
"dashboard": "Dashboard", "dashboard": "Dashboard",
"connections": "Connections",
"terminal": "Terminal", "terminal": "Terminal",
"proxies": "Proxies", "proxies": "Proxies",
"login": "Login", "login": "Login",
"logout": "Logout", "logout": "Logout",
"tags": "Tags",
"notifications": "Notifications", "notifications": "Notifications",
"auditLogs": "Audit Logs", "auditLogs": "Audit Logs",
"settings": "Settings", "settings": "Settings",
"hideLayout": "Hide Layout Elements",
"showLayout": "Show Layout Elements",
"customizeStyle": "Customize Style" "customizeStyle": "Customize Style"
}, },
"styleCustomizer": { "styleCustomizer": {
@@ -21,9 +17,6 @@
"terminalStyles": "Terminal Styles", "terminalStyles": "Terminal Styles",
"backgroundSettings": "Background", "backgroundSettings": "Background",
"uiDescription": "Adjust colors, fonts, etc. for the application interface.", "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", "resetUiTheme": "Reset UI Theme",
"saveUiTheme": "Save UI Theme", "saveUiTheme": "Save UI Theme",
"terminalFontFamily": "Terminal Font", "terminalFontFamily": "Terminal Font",
@@ -31,17 +24,12 @@
"terminalFontDescription": "Enter font names, separated by commas. Use quotes for names with spaces.", "terminalFontDescription": "Enter font names, separated by commas. Use quotes for names with spaces.",
"terminalThemeSelection": "Terminal Theme", "terminalThemeSelection": "Terminal Theme",
"activeTheme": "Active Theme", "activeTheme": "Active Theme",
"selectThemePrompt": "Select a theme...",
"preset": "Preset",
"addNewTheme": "New Theme", "addNewTheme": "New Theme",
"importTheme": "Import Theme", "importTheme": "Import Theme",
"exportTheme": "Export Selected",
"editThemeTitle": "Edit Terminal Theme", "editThemeTitle": "Edit Terminal Theme",
"newThemeTitle": "New Terminal Theme", "newThemeTitle": "New Terminal Theme",
"newThemeDefaultName": "New Theme", "newThemeDefaultName": "New Theme",
"themeName": "Theme Name", "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.", "errorThemeNameRequired": "Theme name cannot be empty.",
"themeUpdatedSuccess": "Theme updated successfully.", "themeUpdatedSuccess": "Theme updated successfully.",
"themeCreatedSuccess": "Theme created successfully.", "themeCreatedSuccess": "Theme created successfully.",
@@ -58,18 +46,12 @@
"removePageBg": "Remove Page Bg", "removePageBg": "Remove Page Bg",
"uploadTerminalBg": "Upload Terminal Bg", "uploadTerminalBg": "Upload Terminal Bg",
"removeTerminalBg": "Remove Terminal Bg", "removeTerminalBg": "Remove Terminal Bg",
"pageBgOpacity": "Page Bg Opacity",
"terminalBgOpacity": "Terminal Bg Opacity",
"uploadFailed": "Upload failed: {message}", "uploadFailed": "Upload failed: {message}",
"pageBgUploadSuccess": "Page background uploaded successfully.", "pageBgUploadSuccess": "Page background uploaded successfully.",
"terminalBgUploadSuccess": "Terminal 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.", "pageBgRemoved": "Page background removed.",
"terminalBgRemoved": "Terminal background removed.", "terminalBgRemoved": "Terminal background removed.",
"removeBgFailed": "Failed to remove background: {message}", "removeBgFailed": "Failed to remove background: {message}",
"setOpacityFailed": "Failed to set opacity: {message}",
"uiThemeSaved": "UI theme saved.",
"uiThemeSaveFailed": "Failed to save UI theme: {message}", "uiThemeSaveFailed": "Failed to save UI theme: {message}",
"uiThemeReset": "UI theme reset to default.", "uiThemeReset": "UI theme reset to default.",
"uiThemeResetFailed": "Failed to reset UI theme: {message}", "uiThemeResetFailed": "Failed to reset UI theme: {message}",
@@ -90,7 +72,6 @@
"errorInvalidJsonObject": "Invalid input. Please provide a valid JSON object.", "errorInvalidJsonObject": "Invalid input. Please provide a valid JSON object.",
"errorInvalidJsonConfig": "Invalid JSON configuration", "errorInvalidJsonConfig": "Invalid JSON configuration",
"editAsCopy": "Edit as Copy", "editAsCopy": "Edit as Copy",
"copySuffix": "Copy",
"cannotDeletePreset": "Cannot delete preset theme", "cannotDeletePreset": "Cannot delete preset theme",
"applyThemeTooltip": "Apply this theme", "applyThemeTooltip": "Apply this theme",
"terminalThemeJsonEditorTitle": "Terminal Theme JSON Editor", "terminalThemeJsonEditorTitle": "Terminal Theme JSON Editor",
@@ -99,9 +80,6 @@
"errorFixJsonBeforeSave": "Please fix the JSON format errors before saving.", "errorFixJsonBeforeSave": "Please fix the JSON format errors before saving.",
"applyButton": "Apply", "applyButton": "Apply",
"searchThemePlaceholder": "Search theme name...", "searchThemePlaceholder": "Search theme name...",
"sortBy": "Sort by:",
"sortAsc": "Name Asc",
"sortDesc": "Name Desc",
"exportActiveThemeTooltip": "Export the currently active theme as a JSON file", "exportActiveThemeTooltip": "Export the currently active theme as a JSON file",
"exportActiveTheme": "Export Active Theme" "exportActiveTheme": "Export Active Theme"
}, },
@@ -111,16 +89,12 @@
"password": "Password", "password": "Password",
"loginButton": "Login", "loginButton": "Login",
"loggingIn": "Logging in...", "loggingIn": "Logging in...",
"error": "Login failed. Please check your username and password.",
"twoFactorPrompt": "Enter your two-factor authentication code:", "twoFactorPrompt": "Enter your two-factor authentication code:",
"verifyButton": "Verify", "verifyButton": "Verify",
"rememberMe": "Remember Me (7 days)" "rememberMe": "Remember Me (7 days)"
}, },
"connections": { "connections": {
"title": "Connection Management",
"addConnection": "Add New Connection", "addConnection": "Add New Connection",
"loading": "Loading connections...",
"error": "Failed to load connections: {error}",
"noConnections": "No connections yet. Click 'Add New Connection' to create one!", "noConnections": "No connections yet. Click 'Add New Connection' to create one!",
"table": { "table": {
"name": "Name", "name": "Name",
@@ -181,8 +155,6 @@
"failed": "Connection test failed: {error}", "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.", "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.", "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.", "errorUnknown": "An unknown error occurred during testing.",
"errorNetwork": "Network error or server unreachable.", "errorNetwork": "Network error or server unreachable.",
"testingInProgress": "Testing...", "testingInProgress": "Testing...",
@@ -197,17 +169,8 @@
"status": { "status": {
"never": "Never" "never": "Never"
}, },
"filterAllTags": "All Tags",
"untaggedGroup": "Untagged", "untaggedGroup": "Untagged",
"noUntaggedConnections": "No untagged connections found.", "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": { "proxies": {
"title": "Proxy Management", "title": "Proxy Management",
@@ -215,15 +178,6 @@
"loading": "Loading proxies...", "loading": "Loading proxies...",
"error": "Failed to load proxies: {error}", "error": "Failed to load proxies: {error}",
"noProxies": "No proxies yet. Click 'Add New Proxy' to create one!", "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": { "actions": {
"edit": "Edit", "edit": "Edit",
"delete": "Delete" "delete": "Delete"
@@ -257,40 +211,7 @@
} }
}, },
"workspace": { "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": { "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..." "reconnectingMsg": "Attempting to reconnect..."
} }
}, },
@@ -321,20 +242,13 @@
"name": "Name", "name": "Name",
"size": "Size", "size": "Size",
"permissions": "Permissions", "permissions": "Permissions",
"modified": "Modified", "modified": "Modified"
"actions": "Actions"
}, },
"uploadStatus": { "uploadStatus": {
"pending": "Pending",
"uploading": "Uploading",
"paused": "Paused",
"success": "Success",
"error": "Error",
"cancelled": "Cancelled" "cancelled": "Cancelled"
}, },
"errors": { "errors": {
"generic": "Error", "generic": "Error",
"websocketNotConnected": "WebSocket not connected",
"missingConnectionId": "Cannot get current connection ID", "missingConnectionId": "Cannot get current connection ID",
"createFolderFailed": "Failed to create folder", "createFolderFailed": "Failed to create folder",
"deleteFailed": "Failed to delete", "deleteFailed": "Failed to delete",
@@ -365,8 +279,6 @@
"saveSuccess": "Save successful", "saveSuccess": "Save successful",
"saveError": "Save error", "saveError": "Save error",
"editPathTooltip": "Click path to edit", "editPathTooltip": "Click path to edit",
"noActiveSession": "No active session",
"loadDirectoryFailed": "Failed to load directory",
"noOpenFile": "No file open", "noOpenFile": "No file open",
"selectFileToEdit": "Select a file from the file manager to start editing.", "selectFileToEdit": "Select a file from the file manager to start editing.",
"searchPlaceholder": "Search files..." "searchPlaceholder": "Search files..."
@@ -389,8 +301,7 @@
"gigaBytesPerSecond": "GB/s", "gigaBytesPerSecond": "GB/s",
"megaBytes": "MB", "megaBytes": "MB",
"gigaBytes": "GB", "gigaBytes": "GB",
"swapNotAvailable": "Swap Unavailable", "swapNotAvailable": "Swap Unavailable"
"noActiveSession": "No active session"
}, },
"tags": { "tags": {
"title": "Tag Management", "title": "Tag Management",
@@ -398,37 +309,9 @@
"loading": "Loading tags...", "loading": "Loading tags...",
"error": "Failed to load tags: {error}", "error": "Failed to load tags: {error}",
"noTags": "No tags yet. Click 'Add New Tag' to create one!", "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": { "prompts": {
"confirmDelete": "Are you sure you want to delete the tag \"{name}\"? This cannot be undone." "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...", "inputPlaceholder": "Type to search or create tags...",
"removeSelection": "Remove this tag selection", "removeSelection": "Remove this tag selection",
"deleteTagGlobally": "Delete this tag globally" "deleteTagGlobally": "Delete this tag globally"
@@ -438,7 +321,6 @@
"category": { "category": {
"security": "Security Settings", "security": "Security Settings",
"appearance": "Appearance Settings", "appearance": "Appearance Settings",
"workspace": "Workspace Settings",
"system": "System Settings" "system": "System Settings"
}, },
"changePassword": { "changePassword": {
@@ -494,7 +376,6 @@
"saved": "IP whitelist saved successfully." "saved": "IP whitelist saved successfully."
}, },
"error": { "error": {
"fetchFailed": "Failed to fetch IP whitelist settings.",
"saveFailed": "Failed to save IP whitelist." "saveFailed": "Failed to save IP whitelist."
} }
}, },
@@ -529,7 +410,6 @@
"saved": "Language settings saved successfully." "saved": "Language settings saved successfully."
}, },
"error": { "error": {
"fetchFailed": "Failed to fetch language settings.",
"saveFailed": "Failed to save language settings." "saveFailed": "Failed to save language settings."
} }
}, },
@@ -539,15 +419,11 @@
"nameLabel": "Passkey Name", "nameLabel": "Passkey Name",
"namePlaceholder": "e.g., My Laptop", "namePlaceholder": "e.g., My Laptop",
"registerButton": "Register New Passkey", "registerButton": "Register New Passkey",
"deleteButton": "Delete Passkey",
"confirmDelete": "Are you sure you want to delete the Passkey '{name}'?",
"noPasskeys": "No Passkeys registered yet.",
"error": { "error": {
"nameRequired": "Please enter a Passkey name.", "nameRequired": "Please enter a Passkey name.",
"cancelled": "Passkey registration was cancelled by the user.", "cancelled": "Passkey registration was cancelled by the user.",
"genericRegistration": "Could not register Passkey: {message}", "genericRegistration": "Could not register Passkey: {message}",
"verificationFailed": "Registration failed: {message}", "verificationFailed": "Registration failed: {message}"
"unknown": "Registration failed: Unknown error."
}, },
"success": { "success": {
"registered": "Passkey registered successfully!" "registered": "Passkey registered successfully!"
@@ -589,7 +465,6 @@
"testButton": "Test Notification", "testButton": "Test Notification",
"testSuccess": "Test notification sent successfully!", "testSuccess": "Test notification sent successfully!",
"testFailed": "Test notification failed", "testFailed": "Test notification failed",
"saveToTest": "Save the settings before testing.",
"fillRequiredToTest": "Fill required fields to enable testing.", "fillRequiredToTest": "Fill required fields to enable testing.",
"telegramToken": "Bot Token:", "telegramToken": "Bot Token:",
"telegramTokenHelp": "Store securely. Consider environment variables.", "telegramTokenHelp": "Store securely. Consider environment variables.",
@@ -704,9 +579,13 @@
"disabled": "Disabled", "disabled": "Disabled",
"settings": "Settings", "settings": "Settings",
"errorOccurred": "An error occurred.", "errorOccurred": "An error occurred.",
"dismiss": "Dismiss",
"close": "Close", "close": "Close",
"remove": "Remove" "remove": "Remove",
"expand": "Expand",
"collapse": "Collapse",
"search": "Search",
"all": "All",
"filter": "Filter"
}, },
"layoutConfigurator": { "layoutConfigurator": {
"title": "Layout Configurator", "title": "Layout Configurator",
@@ -779,7 +658,6 @@
"closeSearch": "Close terminal search", "closeSearch": "Close terminal search",
"findPrevious": "Find previous", "findPrevious": "Find previous",
"findNext": "Find next", "findNext": "Find next",
"noResults": "No results",
"configureFocusSwitch": "Configure Focus Switcher" "configureFocusSwitch": "Configure Focus Switcher"
}, },
"layout": { "layout": {
@@ -801,7 +679,6 @@
"hide": "Hide" "hide": "Hide"
}, },
"commandHistory": { "commandHistory": {
"title": "Command History",
"searchPlaceholder": "Search history...", "searchPlaceholder": "Search history...",
"clear": "Clear", "clear": "Clear",
"copy": "Copy", "copy": "Copy",
@@ -813,10 +690,8 @@
"copyFailed": "Copy failed" "copyFailed": "Copy failed"
}, },
"quickCommands": { "quickCommands": {
"title": "Quick Commands",
"searchPlaceholder": "Search name or command...", "searchPlaceholder": "Search name or command...",
"add": "Add", "add": "Add",
"sortBy": "Sort by:",
"sortByName": "Name", "sortByName": "Name",
"sortByUsage": "Usage Frequency", "sortByUsage": "Usage Frequency",
"usageCount": "Usage Count", "usageCount": "Usage Count",
@@ -874,7 +749,6 @@
"dockerManager": { "dockerManager": {
"loading": "Loading Docker Containers...", "loading": "Loading Docker Containers...",
"notAvailable": "Docker Not Available on Remote Host", "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.", "installHintRemote": "Please ensure Docker is installed and running on the remote host.",
"error": { "error": {
"fetchFailed": "Failed to fetch remote container status", "fetchFailed": "Failed to fetch remote container status",
@@ -895,8 +769,6 @@
"actions": "Actions" "actions": "Actions"
}, },
"action": { "action": {
"up": "Start/Up",
"down": "Remove/Down",
"restart": "Restart", "restart": "Restart",
"stop": "Stop", "stop": "Stop",
"start": "Start", "start": "Start",
@@ -904,9 +776,6 @@
}, },
"waitingForSsh": "Waiting for SSH connection...", "waitingForSsh": "Waiting for SSH connection...",
"stats": { "stats": {
"loading": "Loading stats...",
"error": "Error loading stats",
"errorGeneric": "Could not load container statistics.",
"noData": "No stats data available.", "noData": "No stats data available.",
"cpu": "CPU %", "cpu": "CPU %",
"memory": "Memory Usage / Limit", "memory": "Memory Usage / Limit",
@@ -914,26 +783,5 @@
"blockIO": "Block I/O", "blockIO": "Block I/O",
"pids": "PIDs" "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",
"search": "Search",
"all": "All",
"filter": "Filter"
} }
} }
+10 -162
View File
@@ -2,17 +2,13 @@
"appName": "星枢终端", "appName": "星枢终端",
"nav": { "nav": {
"dashboard": "仪表盘", "dashboard": "仪表盘",
"connections": "连接管理",
"terminal": "终端", "terminal": "终端",
"proxies": "代理管理", "proxies": "代理管理",
"login": "登录", "login": "登录",
"logout": "登出", "logout": "登出",
"tags": "标签管理",
"notifications": "通知管理", "notifications": "通知管理",
"auditLogs": "审计日志", "auditLogs": "审计日志",
"settings": "设置", "settings": "设置",
"hideLayout": "隐藏布局元素",
"showLayout": "显示布局元素",
"customizeStyle": "自定义外观" "customizeStyle": "自定义外观"
}, },
"styleCustomizer": { "styleCustomizer": {
@@ -21,9 +17,6 @@
"terminalStyles": "终端样式", "terminalStyles": "终端样式",
"backgroundSettings": "背景设置", "backgroundSettings": "背景设置",
"uiDescription": "调整应用程序界面的颜色、字体等。", "uiDescription": "调整应用程序界面的颜色、字体等。",
"terminalDescription": "自定义终端的颜色方案和字体。",
"resetDefault": "恢复默认",
"saveChanges": "保存更改",
"resetUiTheme": "重置界面主题", "resetUiTheme": "重置界面主题",
"saveUiTheme": "保存界面主题", "saveUiTheme": "保存界面主题",
"terminalFontFamily": "终端字体", "terminalFontFamily": "终端字体",
@@ -31,17 +24,12 @@
"terminalFontDescription": "输入字体名称,用英文逗号分隔。如果字体名称包含空格,请用引号括起来。", "terminalFontDescription": "输入字体名称,用英文逗号分隔。如果字体名称包含空格,请用引号括起来。",
"terminalThemeSelection": "终端主题", "terminalThemeSelection": "终端主题",
"activeTheme": "当前主题", "activeTheme": "当前主题",
"selectThemePrompt": "选择一个主题...",
"preset": "预设",
"addNewTheme": "新建主题", "addNewTheme": "新建主题",
"importTheme": "导入主题", "importTheme": "导入主题",
"exportTheme": "导出选中主题",
"editThemeTitle": "编辑终端主题", "editThemeTitle": "编辑终端主题",
"newThemeTitle": "新建终端主题", "newThemeTitle": "新建终端主题",
"newThemeDefaultName": "新主题", "newThemeDefaultName": "新主题",
"themeName": "主题名称", "themeName": "主题名称",
"confirmDeleteTheme": "确定要删除主题 \"{name}\" 吗?此操作不可撤销。",
"confirmCloseEditing": "您正在编辑主题,关闭将丢失未保存的更改。确定要关闭吗?",
"errorThemeNameRequired": "主题名称不能为空。", "errorThemeNameRequired": "主题名称不能为空。",
"themeUpdatedSuccess": "主题更新成功。", "themeUpdatedSuccess": "主题更新成功。",
"themeCreatedSuccess": "主题创建成功。", "themeCreatedSuccess": "主题创建成功。",
@@ -58,18 +46,12 @@
"removePageBg": "移除页面背景", "removePageBg": "移除页面背景",
"uploadTerminalBg": "上传终端背景", "uploadTerminalBg": "上传终端背景",
"removeTerminalBg": "移除终端背景", "removeTerminalBg": "移除终端背景",
"pageBgOpacity": "页面背景不透明度",
"terminalBgOpacity": "终端背景不透明度",
"uploadFailed": "上传失败: {message}", "uploadFailed": "上传失败: {message}",
"pageBgUploadSuccess": "页面背景上传成功。", "pageBgUploadSuccess": "页面背景上传成功。",
"terminalBgUploadSuccess": "终端背景上传成功。", "terminalBgUploadSuccess": "终端背景上传成功。",
"confirmRemovePageBg": "确定要移除页面背景图片吗?",
"confirmRemoveTerminalBg": "确定要移除终端背景图片吗?",
"pageBgRemoved": "页面背景已移除。", "pageBgRemoved": "页面背景已移除。",
"terminalBgRemoved": "终端背景已移除。", "terminalBgRemoved": "终端背景已移除。",
"removeBgFailed": "移除背景失败: {message}", "removeBgFailed": "移除背景失败: {message}",
"setOpacityFailed": "设置透明度失败: {message}",
"uiThemeSaved": "界面主题已保存。",
"uiThemeSaveFailed": "保存界面主题失败: {message}", "uiThemeSaveFailed": "保存界面主题失败: {message}",
"uiThemeReset": "界面主题已重置为默认值。", "uiThemeReset": "界面主题已重置为默认值。",
"uiThemeResetFailed": "重置界面主题失败: {message}", "uiThemeResetFailed": "重置界面主题失败: {message}",
@@ -90,7 +72,6 @@
"errorInvalidJsonObject": "输入无效。请输入一个有效的 JSON 对象。", "errorInvalidJsonObject": "输入无效。请输入一个有效的 JSON 对象。",
"errorInvalidJsonConfig": "无效的 JSON 配置", "errorInvalidJsonConfig": "无效的 JSON 配置",
"editAsCopy": "编辑副本", "editAsCopy": "编辑副本",
"copySuffix": "副本",
"cannotDeletePreset": "无法删除预设主题", "cannotDeletePreset": "无法删除预设主题",
"applyThemeTooltip": "应用此主题", "applyThemeTooltip": "应用此主题",
"terminalThemeJsonEditorTitle": "终端主题 JSON 编辑器", "terminalThemeJsonEditorTitle": "终端主题 JSON 编辑器",
@@ -99,9 +80,6 @@
"errorFixJsonBeforeSave": "请先修复 JSON 格式错误再保存。", "errorFixJsonBeforeSave": "请先修复 JSON 格式错误再保存。",
"applyButton": "应用", "applyButton": "应用",
"searchThemePlaceholder": "搜索主题名称...", "searchThemePlaceholder": "搜索主题名称...",
"sortBy": "排序:",
"sortAsc": "名称升序",
"sortDesc": "名称降序",
"exportActiveThemeTooltip": "将当前激活的主题导出为 JSON 文件", "exportActiveThemeTooltip": "将当前激活的主题导出为 JSON 文件",
"exportActiveTheme": "导出当前主题" "exportActiveTheme": "导出当前主题"
}, },
@@ -111,16 +89,12 @@
"password": "密码", "password": "密码",
"loginButton": "登录", "loginButton": "登录",
"loggingIn": "正在登录...", "loggingIn": "正在登录...",
"error": "登录失败,请检查用户名或密码。",
"twoFactorPrompt": "请输入两步验证码:", "twoFactorPrompt": "请输入两步验证码:",
"verifyButton": "验证", "verifyButton": "验证",
"rememberMe": "记住我 (7 天)" "rememberMe": "记住我 (7 天)"
}, },
"connections": { "connections": {
"title": "连接管理",
"addConnection": "添加新连接", "addConnection": "添加新连接",
"loading": "正在加载连接...",
"error": "加载连接失败: {error}",
"noConnections": "还没有任何连接。点击'添加新连接'来创建一个吧!", "noConnections": "还没有任何连接。点击'添加新连接'来创建一个吧!",
"table": { "table": {
"name": "名称", "name": "名称",
@@ -181,8 +155,6 @@
"failed": "连接测试失败: {error}", "failed": "连接测试失败: {error}",
"latencyTooltip": "此延迟测量建立全新 SSH 连接所需的时间(包括 TCP 连接、代理协商、SSH 握手、认证等步骤),通常高于已建立连接上的交互延迟。", "latencyTooltip": "此延迟测量建立全新 SSH 连接所需的时间(包括 TCP 连接、代理协商、SSH 握手、认证等步骤),通常高于已建立连接上的交互延迟。",
"errorMissingFields": "请填写主机、端口、用户名并选择认证方式。", "errorMissingFields": "请填写主机、端口、用户名并选择认证方式。",
"errorPasswordUndefined": "密码认证方式需要提供密码字段。",
"errorPrivateKeyRequired": "密钥认证方式需要提供私钥。",
"errorUnknown": "测试过程中发生未知错误。", "errorUnknown": "测试过程中发生未知错误。",
"errorNetwork": "网络错误或服务器无法访问。", "errorNetwork": "网络错误或服务器无法访问。",
"testingInProgress": "测试中...", "testingInProgress": "测试中...",
@@ -197,17 +169,8 @@
"status": { "status": {
"never": "从未" "never": "从未"
}, },
"filterAllTags": "所有标签",
"untaggedGroup": "未标记", "untaggedGroup": "未标记",
"noUntaggedConnections": "没有未标记的连接。", "noUntaggedConnections": "没有未标记的连接。"
"exportConnections": "导出连接",
"importConnections": "导入连接",
"exportError": "导出连接失败: {message}",
"importError": "导入连接失败: {message}",
"importErrorFileType": "文件类型无效。请选择 JSON 文件。",
"importErrorUnknown": "发生未知导入错误。",
"importErrorNetwork": "导入过程中发生网络错误。",
"importSuccess": "导入完成。成功: {successCount}, 失败: {failureCount}."
}, },
"proxies": { "proxies": {
"title": "代理管理", "title": "代理管理",
@@ -215,15 +178,6 @@
"loading": "正在加载代理...", "loading": "正在加载代理...",
"error": "加载代理列表失败: {error}", "error": "加载代理列表失败: {error}",
"noProxies": "还没有任何代理配置。点击'添加新代理'来创建一个吧!", "noProxies": "还没有任何代理配置。点击'添加新代理'来创建一个吧!",
"table": {
"name": "名称",
"type": "类型",
"host": "主机",
"port": "端口",
"user": "用户名",
"updatedAt": "更新时间",
"actions": "操作"
},
"actions": { "actions": {
"edit": "编辑", "edit": "编辑",
"delete": "删除" "delete": "删除"
@@ -257,40 +211,7 @@
} }
}, },
"workspace": { "workspace": {
"noActiveSession": "无活动会话",
"statusBar": "状态: {status} | 连接: {id}",
"status": {
"initializing": "正在初始化...",
"connectingWs": "正在连接到 {url}...",
"wsConnected": "WebSocket 已连接,正在请求 SSH 会话...",
"connectingSsh": "正在连接到 {host}...",
"sshConnected": "SSH 连接成功,正在打开 Shell...",
"connected": "已连接",
"disconnected": "已断开: {reason}",
"wsClosed": "WebSocket 已关闭 (代码: {code})",
"error": "错误: {message}",
"wsError": "WebSocket 连接错误",
"sshError": "SSH 错误: {message}",
"decryptError": "无法解密连接凭证。",
"noConnInfo": "未找到 ID 为 {id} 的连接配置。",
"noPassword": "连接配置缺少密码信息。",
"shellError": "打开 Shell 失败: {message}",
"alreadyConnected": "已存在活动的 SSH 连接。",
"unknown": "未知状态",
"wsClosedWillRetry": "WebSocket 连接已关闭,将在 {seconds} 秒后尝试第 {attempt} 次重连...",
"reconnecting": "正在尝试重新连接...",
"reconnectFailed": "重连失败"
},
"selectConnectionPrompt": "请选择一个连接",
"selectConnectionHint": "从左侧列表中选择一个连接,或点击'添加新连接'按钮创建一个新连接。",
"terminal": { "terminal": {
"infoPrefix": "[信息]",
"errorPrefix": "[错误]",
"disconnectMsg": "--- SSH 连接已关闭 ({reason}) ---",
"wsCloseMsg": "--- WebSocket 连接已关闭 (代码: {code}) ---",
"wsErrorMsg": "--- WebSocket 连接错误 ---",
"decryptErrorMsg": "--- 错误:无法解密连接凭证 ---",
"genericErrorMsg": "--- 错误: {message} ---",
"reconnectingMsg": "正在尝试重新连接..." "reconnectingMsg": "正在尝试重新连接..."
} }
}, },
@@ -321,20 +242,13 @@
"name": "名称", "name": "名称",
"size": "大小", "size": "大小",
"permissions": "权限", "permissions": "权限",
"modified": "修改时间", "modified": "修改时间"
"actions": "操作"
}, },
"uploadStatus": { "uploadStatus": {
"pending": "等待中",
"uploading": "上传中",
"paused": "已暂停",
"success": "成功",
"error": "错误",
"cancelled": "已取消" "cancelled": "已取消"
}, },
"errors": { "errors": {
"generic": "错误", "generic": "错误",
"websocketNotConnected": "WebSocket 未连接",
"missingConnectionId": "无法获取当前连接 ID", "missingConnectionId": "无法获取当前连接 ID",
"createFolderFailed": "创建文件夹失败", "createFolderFailed": "创建文件夹失败",
"deleteFailed": "删除失败", "deleteFailed": "删除失败",
@@ -365,8 +279,6 @@
"saveSuccess": "保存成功", "saveSuccess": "保存成功",
"saveError": "保存出错", "saveError": "保存出错",
"editPathTooltip": "点击路径进行编辑", "editPathTooltip": "点击路径进行编辑",
"noActiveSession": "无活动会话",
"loadDirectoryFailed": "加载目录失败",
"noOpenFile": "未打开文件", "noOpenFile": "未打开文件",
"selectFileToEdit": "请从文件管理器中选择文件以开始编辑。", "selectFileToEdit": "请从文件管理器中选择文件以开始编辑。",
"searchPlaceholder": "搜索文件..." "searchPlaceholder": "搜索文件..."
@@ -389,8 +301,7 @@
"gigaBytesPerSecond": "GB/s", "gigaBytesPerSecond": "GB/s",
"megaBytes": "MB", "megaBytes": "MB",
"gigaBytes": "GB", "gigaBytes": "GB",
"swapNotAvailable": "Swap 不可用", "swapNotAvailable": "Swap 不可用"
"noActiveSession": "无活动会话"
}, },
"tags": { "tags": {
"title": "标签管理", "title": "标签管理",
@@ -398,37 +309,9 @@
"loading": "正在加载标签...", "loading": "正在加载标签...",
"error": "加载标签列表失败: {error}", "error": "加载标签列表失败: {error}",
"noTags": "还没有任何标签。点击'添加新标签'来创建一个吧!", "noTags": "还没有任何标签。点击'添加新标签'来创建一个吧!",
"table": {
"name": "名称",
"updatedAt": "更新时间",
"actions": "操作"
},
"actions": {
"edit": "编辑",
"delete": "删除"
},
"form": {
"title": "添加新标签",
"titleEdit": "编辑标签",
"name": "标签名称:",
"confirm": "确认添加",
"confirmEdit": "确认编辑",
"adding": "正在添加...",
"saving": "正在保存...",
"cancel": "取消",
"errorNameRequired": "标签名称不能为空。",
"errorAdd": "添加标签失败: {error}",
"errorUpdate": "更新标签失败: {error}"
},
"prompts": { "prompts": {
"confirmDelete": "确定要删除标签 \"{name}\" 吗?此操作不可撤销。" "confirmDelete": "确定要删除标签 \"{name}\" 吗?此操作不可撤销。"
}, },
"errors": {
"deleteFailed": "删除标签失败: {error}"
},
"status": {
"never": "从未"
},
"inputPlaceholder": "输入搜索或创建标签...", "inputPlaceholder": "输入搜索或创建标签...",
"removeSelection": "移除此标签选择", "removeSelection": "移除此标签选择",
"deleteTagGlobally": "全局删除此标签" "deleteTagGlobally": "全局删除此标签"
@@ -438,7 +321,6 @@
"category": { "category": {
"security": "安全设置", "security": "安全设置",
"appearance": "外观设置", "appearance": "外观设置",
"workspace": "工作区设置",
"system": "系统设置" "system": "系统设置"
}, },
"changePassword": { "changePassword": {
@@ -494,7 +376,6 @@
"saved": "IP 白名单已成功保存。" "saved": "IP 白名单已成功保存。"
}, },
"error": { "error": {
"fetchFailed": "获取 IP 白名单设置失败。",
"saveFailed": "保存 IP 白名单失败。" "saveFailed": "保存 IP 白名单失败。"
} }
}, },
@@ -529,7 +410,6 @@
"saved": "语言设置已成功保存。" "saved": "语言设置已成功保存。"
}, },
"error": { "error": {
"fetchFailed": "获取语言设置失败。",
"saveFailed": "保存语言设置失败。" "saveFailed": "保存语言设置失败。"
} }
}, },
@@ -539,15 +419,11 @@
"nameLabel": "Passkey 名称", "nameLabel": "Passkey 名称",
"namePlaceholder": "例如:我的笔记本电脑", "namePlaceholder": "例如:我的笔记本电脑",
"registerButton": "注册新 Passkey", "registerButton": "注册新 Passkey",
"deleteButton": "删除 Passkey",
"confirmDelete": "确定要删除 Passkey '{name}'吗?",
"noPasskeys": "尚未注册任何 Passkey。",
"error": { "error": {
"nameRequired": "请输入 Passkey 名称。", "nameRequired": "请输入 Passkey 名称。",
"cancelled": "Passkey 注册已被用户取消。", "cancelled": "Passkey 注册已被用户取消。",
"genericRegistration": "无法注册 Passkey: {message}", "genericRegistration": "无法注册 Passkey: {message}",
"verificationFailed": "注册失败: {message}", "verificationFailed": "注册失败: {message}"
"unknown": "注册失败: 未知错误。"
}, },
"success": { "success": {
"registered": "Passkey 注册成功!" "registered": "Passkey 注册成功!"
@@ -589,7 +465,6 @@
"testButton": "测试通知", "testButton": "测试通知",
"testSuccess": "测试通知发送成功!", "testSuccess": "测试通知发送成功!",
"testFailed": "测试通知发送失败", "testFailed": "测试通知发送失败",
"saveToTest": "请先保存设置再进行测试。",
"fillRequiredToTest": "请填写必填字段以启用测试。", "fillRequiredToTest": "请填写必填字段以启用测试。",
"telegramToken": "机器人 Token:", "telegramToken": "机器人 Token:",
"telegramTokenHelp": "请安全存储。建议使用环境变量。", "telegramTokenHelp": "请安全存储。建议使用环境变量。",
@@ -704,9 +579,13 @@
"disabled": "已禁用", "disabled": "已禁用",
"settings": "设置", "settings": "设置",
"errorOccurred": "发生错误。", "errorOccurred": "发生错误。",
"dismiss": "关闭",
"close": "关闭", "close": "关闭",
"remove": "移除" "remove": "移除",
"expand": "展开",
"collapse": "折叠",
"search": "搜索",
"all": "全部",
"filter": "筛选"
}, },
"layoutConfigurator": { "layoutConfigurator": {
"title": "布局管理器", "title": "布局管理器",
@@ -784,7 +663,6 @@
"closeSearch": "关闭终端搜索", "closeSearch": "关闭终端搜索",
"findPrevious": "查找上一个", "findPrevious": "查找上一个",
"findNext": "查找下一个", "findNext": "查找下一个",
"noResults": "无结果",
"configureFocusSwitch": "配置焦点切换器" "configureFocusSwitch": "配置焦点切换器"
}, },
"layout": { "layout": {
@@ -806,7 +684,6 @@
"hide": "隐藏" "hide": "隐藏"
}, },
"commandHistory": { "commandHistory": {
"title": "命令历史",
"searchPlaceholder": "搜索历史记录...", "searchPlaceholder": "搜索历史记录...",
"clear": "清空", "clear": "清空",
"copy": "复制", "copy": "复制",
@@ -818,10 +695,8 @@
"copyFailed": "复制失败" "copyFailed": "复制失败"
}, },
"quickCommands": { "quickCommands": {
"title": "快捷指令",
"searchPlaceholder": "搜索名称或指令...", "searchPlaceholder": "搜索名称或指令...",
"add": "添加", "add": "添加",
"sortBy": "排序:",
"sortByName": "名称", "sortByName": "名称",
"sortByUsage": "使用频率", "sortByUsage": "使用频率",
"usageCount": "使用次数", "usageCount": "使用次数",
@@ -879,7 +754,6 @@
"dockerManager": { "dockerManager": {
"loading": "正在加载 Docker 容器...", "loading": "正在加载 Docker 容器...",
"notAvailable": "远程主机 Docker 不可用", "notAvailable": "远程主机 Docker 不可用",
"installHint": "请确保远程主机上已安装并运行 Docker。",
"installHintRemote": "请确保远程主机上已安装并运行 Docker。", "installHintRemote": "请确保远程主机上已安装并运行 Docker。",
"error": { "error": {
"fetchFailed": "获取远程容器状态失败", "fetchFailed": "获取远程容器状态失败",
@@ -900,8 +774,6 @@
"actions": "操作" "actions": "操作"
}, },
"action": { "action": {
"up": "启动/Up",
"down": "移除/Down",
"restart": "重启", "restart": "重启",
"stop": "停止", "stop": "停止",
"start": "启动", "start": "启动",
@@ -909,9 +781,6 @@
}, },
"waitingForSsh": "等待 SSH 连接...", "waitingForSsh": "等待 SSH 连接...",
"stats": { "stats": {
"loading": "正在加载状态...",
"error": "加载状态出错",
"errorGeneric": "无法加载容器统计信息。",
"noData": "无可用状态数据。", "noData": "无可用状态数据。",
"cpu": "CPU 使用率", "cpu": "CPU 使用率",
"memory": "内存使用 / 限制", "memory": "内存使用 / 限制",
@@ -919,26 +788,5 @@
"blockIO": "磁盘 I/O", "blockIO": "磁盘 I/O",
"pids": "进程数" "pids": "进程数"
} }
},
"common": {
"loading": "加载中...",
"cancel": "取消",
"save": "保存",
"saving": "保存中...",
"testing": "测试中...",
"edit": "编辑",
"delete": "删除",
"enabled": "已启用",
"disabled": "已禁用",
"settings": "设置",
"errorOccurred": "发生错误。",
"dismiss": "忽略",
"close": "关闭",
"remove": "移除",
"expand": "展开",
"collapse": "折叠",
"search": "搜索",
"all": "全部",
"filter": "筛选"
} }
} }