248 lines
9.1 KiB
JSON
248 lines
9.1 KiB
JSON
{
|
||
"sidebar": {
|
||
"quickConnect": "Quick connect",
|
||
"quickConnectShort": "Connect",
|
||
"newSession": "New session",
|
||
"newSessionShort": "New",
|
||
"searchPlaceholder": "Search sessions...",
|
||
"batchMode": "Batch actions",
|
||
"exitBatchMode": "Exit batch mode",
|
||
"batchSelected": "{{count}} SSH selected",
|
||
"batchExcludedDesktop": " · RDP/VNC excluded",
|
||
"selectAllVisible": "Select all in view",
|
||
"deselectAllVisible": "Clear selection in view",
|
||
"batchExec": "Batch exec",
|
||
"settings": "Settings",
|
||
"resizeHint": "Drag to resize; double-click to collapse"
|
||
},
|
||
"tree": {
|
||
"selectSession": "Select session",
|
||
"noMatchTitle": "No matching sessions",
|
||
"noMatchDesc": "Try a different keyword",
|
||
"emptyTitle": "No sessions yet",
|
||
"emptyDesc": "Quick connect or create a session; double-click to open a terminal",
|
||
"emptyAction": "New session"
|
||
},
|
||
"contextMenu": {
|
||
"blank": {
|
||
"newGroup": "New group",
|
||
"newSession": "New session"
|
||
},
|
||
"group": {
|
||
"newSessionHere": "New session here",
|
||
"newGroup": "New group",
|
||
"sortByName": "Sort by name",
|
||
"renameGroup": "Rename group",
|
||
"deleteEmptyGroup": "Delete empty group"
|
||
},
|
||
"session": {
|
||
"open": "Open",
|
||
"edit": "Edit",
|
||
"duplicate": "Duplicate",
|
||
"delete": "Delete"
|
||
}
|
||
},
|
||
"groups": {
|
||
"default": "Default",
|
||
"new": {
|
||
"title": "New group",
|
||
"message": "Enter a group name",
|
||
"placeholder": "e.g. Production",
|
||
"confirm": "Create"
|
||
},
|
||
"rename": {
|
||
"title": "Rename group",
|
||
"message": "Rename \"{{name}}\" to",
|
||
"placeholder": "Group name",
|
||
"confirm": "Save"
|
||
},
|
||
"deleteBlocked": {
|
||
"title": "Cannot delete",
|
||
"message": "Group \"{{name}}\" still has sessions. Move or delete them first.",
|
||
"confirm": "Got it"
|
||
},
|
||
"newOption": "New group…",
|
||
"hint": "Default group is used unless you pick or create another"
|
||
},
|
||
"deleteSession": {
|
||
"title": "Delete session",
|
||
"message": "Delete session \"{{name}}\"?",
|
||
"confirm": "Delete"
|
||
},
|
||
"welcome": {
|
||
"tagline": "Simple & practical · terminal · files · desktop",
|
||
"sectionStart": "Get started",
|
||
"sectionDesktop": "Remote desktop",
|
||
"sectionRecent": "Recent sessions",
|
||
"quickConnect": {
|
||
"title": "Quick connect",
|
||
"desc": "One-shot SSH — not saved to the session library"
|
||
},
|
||
"newSession": {
|
||
"title": "New session",
|
||
"desc": "Save a host — double-click in the sidebar to connect"
|
||
},
|
||
"localShell": {
|
||
"title": "Local shell",
|
||
"selectShell": "Choose shell",
|
||
"default": "Default"
|
||
},
|
||
"rdp": {
|
||
"title": "RDP remote desktop",
|
||
"desc": "Windows · NLA / CredSSP"
|
||
},
|
||
"vnc": {
|
||
"title": "VNC remote desktop",
|
||
"desc": "RFB · cross-platform graphical session"
|
||
},
|
||
"import": {
|
||
"title": "Import sessions",
|
||
"desc": "Import hosts from OpenSSH config or an export file"
|
||
},
|
||
"recentEmpty": {
|
||
"title": "No saved sessions",
|
||
"desc": "Try quick connect, create a session, or import existing hosts"
|
||
}
|
||
},
|
||
"launcher": {
|
||
"searchPlaceholder": "Search hosts, groups, or tabs"
|
||
},
|
||
"quickConnect": {
|
||
"title": "Quick connect",
|
||
"target": "Target",
|
||
"targetPlaceholder": "root@192.168.1.10:22",
|
||
"targetHint": "Supports host, user@host, user@host:port",
|
||
"password": "Password",
|
||
"passwordOptional": "Optional · leave empty when using a key",
|
||
"connect": "Connect",
|
||
"errorInvalidTarget": "Enter a host, e.g. root@192.168.1.10 or opsbase.cn:5555",
|
||
"errorConnectFailed": "Connection failed"
|
||
},
|
||
"dialog": {
|
||
"create": "New session",
|
||
"edit": "Edit session",
|
||
"subtitle": "One-line target · advanced options collapsed",
|
||
"saving": "Saving…",
|
||
"save": "Save",
|
||
"createAndSave": "Create and save",
|
||
"basic": "Basic",
|
||
"login": "Sign-in",
|
||
"advanced": "Advanced",
|
||
"advancedCollapsed": "Proxy · jump host · tags",
|
||
"collapse": "Collapse",
|
||
"protocol": "Protocol",
|
||
"displayName": "Display name (optional)",
|
||
"displayNamePlaceholder": "Defaults to user@host",
|
||
"displayNamePlaceholderVnc": "Defaults to the host name",
|
||
"host": "Host",
|
||
"hostPlaceholder": "192.168.1.10",
|
||
"hostHint": "IP or hostname; host:port is also accepted",
|
||
"port": "Port",
|
||
"username": "Username",
|
||
"usernamePlaceholderRdp": "Administrator",
|
||
"usernamePlaceholderSsh": "root",
|
||
"width": "Width",
|
||
"height": "Height",
|
||
"group": "Group",
|
||
"authPassword": "Password",
|
||
"authKey": "Key",
|
||
"password": "Password",
|
||
"domain": "Domain (optional)",
|
||
"domainPlaceholder": "Rarely needed unless using a domain account",
|
||
"keySource": "Key source",
|
||
"keyFile": "File",
|
||
"keyText": "Text",
|
||
"privateKeyPath": "Private key path",
|
||
"privateKeyText": "Private key text",
|
||
"privateKeyTextHint": "Pasted keys are encrypted on disk like passwords",
|
||
"pickKeyFile": "Browse…",
|
||
"pickKeyDialogTitle": "Choose private key file",
|
||
"allFilesFilter": "All files",
|
||
"passphrase": "Key passphrase (optional)",
|
||
"passphrasePlaceholder": "Optional",
|
||
"tags": "Tags",
|
||
"tagsPlaceholder": "prod, web",
|
||
"startupCommand": "Startup command (optional)",
|
||
"startupCommandPlaceholder": "Run after connect, e.g. cd /var/log",
|
||
"proxy": "Proxy",
|
||
"proxyNone": "None",
|
||
"proxyHostPlaceholder": "Proxy host",
|
||
"proxyPortPlaceholder": "Port",
|
||
"proxyUserPlaceholder": "Username (optional)",
|
||
"proxyPasswordPlaceholder": "Password (optional)",
|
||
"jumpHost": "Jump host (optional)",
|
||
"jumpNone": "No jump host",
|
||
"jumpNoneAlt": "No jump host",
|
||
"jumpHint": "One saved session can be used as a jump host",
|
||
"resolution": "Resolution",
|
||
"resolutionCustom": "Custom"
|
||
},
|
||
"batch": {
|
||
"title": "Batch exec",
|
||
"subtitle": "{{selected}} selected · concurrency {{concurrency}} · results discarded when tab closes",
|
||
"dialogTitle": "Batch command",
|
||
"dialogDesc": "{{selected}}/{{total}} hosts selected · max concurrency {{concurrency}}",
|
||
"targetCount": "{{count}} targets",
|
||
"runningProgress": "Running {{completed}}/{{total}}",
|
||
"execute": "Run on {{count}} hosts",
|
||
"executeAgain": "Run again",
|
||
"success": "{{count}} succeeded",
|
||
"failed": "{{count}} failed",
|
||
"command": "Remote command",
|
||
"commandPlaceholder": "e.g. uptime",
|
||
"targets": "Target hosts",
|
||
"filterPlaceholder": "Name, IP, group, or tag",
|
||
"filterAria": "Filter hosts",
|
||
"noMatchHosts": "No matching hosts",
|
||
"resultMatrix": "Result matrix",
|
||
"resultMatrixHint": "Host × status × output",
|
||
"emptySelection": "Pick targets on the left, or open from sidebar batch mode with a selection",
|
||
"noOutput": "(no output)",
|
||
"errorReadConfig": "Could not read session config",
|
||
"errorConnectFailed": "Connection failed",
|
||
"errorExecFailed": "Command execution failed",
|
||
"results": "Results",
|
||
"resultsHint": "Output is kept only in this dialog",
|
||
"ctrlEnterHint": "Ctrl/⌘ + Enter to run",
|
||
"executeTo": "Run on {{count}} hosts",
|
||
"selectFromLeft": "Select targets on the left"
|
||
},
|
||
"importExport": {
|
||
"exportTitle": "Export sessions",
|
||
"exportDefaultPath": "opsxshell-hosts.oxs",
|
||
"exportFilterOxs": "OpsXShell host backup",
|
||
"exportFilterBak": "OpsXShell backup",
|
||
"exportFilterJson": "JSON",
|
||
"exportSuccess": "Exported {{count}} sessions to:\n{{path}}",
|
||
"exportWriteFailed": "Failed to write export file",
|
||
"exportFailed": "Session export failed",
|
||
"exportFailedDetail": "Session export failed: {{message}}",
|
||
"exportPasswordTitle": "Set backup password",
|
||
"exportPasswordMessage": "The export file will encrypt host groups, private keys, passwords, and other secrets. Choose a backup password.",
|
||
"exportPasswordPlaceholder": "Enter backup password",
|
||
"exportPasswordConfirmTitle": "Confirm backup password",
|
||
"exportPasswordConfirmMessage": "Enter the backup password again to confirm.",
|
||
"exportPasswordConfirmPlaceholder": "Re-enter backup password",
|
||
"exportPasswordMismatch": "Passwords do not match",
|
||
"exportPasswordRequired": "A backup password is required to export",
|
||
"importTitle": "Import sessions",
|
||
"importFilterOxs": "OpsXShell host backup",
|
||
"importFilterBak": "OpsXShell backup",
|
||
"importFilterJson": "JSON",
|
||
"importFilterSshConfig": "SSH Config",
|
||
"importFilterAll": "All files",
|
||
"readFileFailed": "Failed to read file",
|
||
"readFileFailedDetail": "Failed to read file: {{message}}",
|
||
"importPasswordTitle": "Enter backup password",
|
||
"importPasswordMessage": "This file is encrypted. Enter the password set at export to import host groups and credentials.",
|
||
"importPasswordPlaceholder": "Enter backup password",
|
||
"importPasswordRequired": "A password is required to import an encrypted backup",
|
||
"importPasswordInvalid": "Incorrect backup password, or the file is corrupted",
|
||
"noSessionsFound": "No importable sessions found",
|
||
"noValidSessions": "No valid session entries in the file",
|
||
"importSuccess": "Imported {{created}}/{{total}} sessions",
|
||
"importFailed": "Session import failed",
|
||
"importFailedDetail": "Session import failed: {{message}}"
|
||
}
|
||
}
|