{ "connection": { "retryingIn": "Retrying in {{seconds}}s ({{attempt}}/{{max}})", "retryingNow": "Retrying... ({{attempt}}/{{max}})", "reconnect": "Reconnect", "close": "Close", "failed": "Could not connect", "failedRetrying": "Connection failed, trying again", "retryNow": "Retry now" }, "credentials": { "folders": "Folders", "folder": "Folder", "password": "Password", "key": "Key", "sshPrivateKey": "SSH Private Key", "upload": "Upload", "keyPassword": "Key Password", "sshKey": "SSH Key", "uploadPrivateKeyFile": "Upload Private Key File", "searchCredentials": "Search credentials...", "addCredential": "Add Credential", "caCertificate": "CA Certificate (-cert.pub)", "caCertificateDescription": "Optional: Upload or paste the CA-signed certificate file (e.g. id_ed25519-cert.pub). Required when your SSH server uses certificate-based authorization.", "uploadCertFile": "Upload -cert.pub File", "clearCert": "Clear", "certLoaded": "Certificate loaded", "certPublicKeyLabel": "CA Certificate", "certTypeLabel": "Certificate type", "pasteOrUploadCert": "Paste or upload a -cert.pub certificate...", "hasCaCert": "Has CA Certificate", "noCaCert": "No CA Certificate", "noPublicKeyAvailable": "No public key available. Open the credential editor first.", "deployCommandCopied": "Deploy command copied", "sortCredentials": "Sort Credentials", "sortDefault": "Default Order", "sortNameAsc": "Name (A → Z)", "sortNameDesc": "Name (Z → A)", "sortUsernameAsc": "Username (A → Z)", "sortUsernameDesc": "Username (Z → A)", "filterCredentials": "Filter Credentials", "filterClearAll": "Clear Filters", "filterTypeGroup": "Type", "filterTypePassword": "Password", "filterTypeKey": "SSH Key", "filterTagsGroup": "Tags", "copyDeployCommand": "Copy deploy command", "cloneCredentialAction": "Clone credential", "clonedCredential": "Cloned {{name}}", "clonedCredentialName": "{{name}} (copy)", "shareCredentialAction": "Share credential", "sharedBadge": "shared", "sharedBy": "Shared by {{owner}}", "share": { "title": "Share \"{{name}}\"", "description": "Recipients get their own encrypted copy of the secrets. It is refreshed whenever the credential changes and removed when the share is revoked.", "levelUse": "Use", "levelManage": "Manage", "levelUseDesc": "Use: attach the credential to hosts and connect. The secret itself stays hidden.", "levelManageDesc": "Manage: also edit the credential and share it with others.", "noAccessEntries": "This credential has not been shared yet", "accessRevoked": "Access revoked", "shared": "Credential shared" }, "deleteCredentialAction": "Delete credential", "editCredentialAction": "Edit credential", "failedToCloneCredential": "Failed to clone credential", "failedToDeleteCredential": "Failed to delete credential", "keyBadge": "KEY", "passwordBadge": "PWD", "renameFolder": "Rename folder", "deleteFolder": "Delete folder", "deleteCredentialConfirm": "Delete credential \"{{name}}\"?", "deletedCredential": "Deleted {{name}}", "deploySSHKeyTitle": "Deploy key to host", "loadingCredentials": "Loading credentials...", "noCredentialsFound": "No credentials found", "noCredentialsMatchSearch": "No credentials match your search", "addCredentialBtn": "Add Credential", "failedToReorder": "Failed to reorder credentials", "failedToMoveCredential": "Failed to move credential", "sortManual": "Manual (drag to reorder)", "customizeSidebar": "Customize Sidebar", "customizeSidebarDescription": "Choose how the credential list looks and behaves.", "customizeDensityTitle": "Density", "densityComfortableDesc": "One credential per row, with extra detail.", "densityCompactDesc": "One line per credential, for longer lists.", "displayDensityComfortable": "Comfortable", "displayDensityCompact": "Compact", "customizeBehaviorTitle": "Behavior", "showCredentialTags": "Show Tags", "showCredentialTagsDesc": "Display tags in the credential list", "rowDetailsTitle": "Row details", "rowDetailsDesc": "Choose what shows on each credential.", "showUsername": "Username", "showUsernameDesc": "Show the username under the credential name.", "showUsageCount": "Host count", "showUsageCountDesc": "Show how many hosts use the credential.", "showTypeBadge": "Type badge", "showTypeBadgeDesc": "Show the key or password badge.", "showPinIcon": "Pin icon", "showPinIconDesc": "Show a pin next to pinned credentials.", "showSharedBadge": "Shared badge", "showSharedBadgeDesc": "Show a badge on credentials shared with you.", "actionsVisibility": "Credential actions", "actionsVisibilityDesc": "When the connection and management buttons on each credential show up", "actionsAlways": "Always visible", "actionsOnly": "Connect only, rest on click", "actionsHover": "Show on hover", "actionsClick": "Show on click", "customizeSortHint": "Sort order lives in the sort menu in the toolbar.", "expandActions": "Expand actions", "collapseActions": "Collapse actions", "backToHosts": "Back to Hosts", "backToCredentials": "Back to Credentials", "searchCredentialsPlaceholder": "Search credentials…", "deployDialogTitle": "Deploy SSH Key", "deployDialogDesc": "Deploy {{name}} to a host's authorized_keys.", "targetHostLabel": "Target Host", "selectHostOption": "Select a host...", "deployingBtn": "Deploying...", "deployBtn": "Deploy", "keyDeployedSuccess": "Key deployed successfully", "failedToDeployKey": "Failed to deploy key", "folderRenamedTo": "Folder renamed to \"{{name}}\"", "failedToRenameFolder": "Failed to rename folder", "arrangeUnlockedSwitchedToManual": "Switched to manual sort so your order sticks", "arrangeUnlocked": "Unlock drag to rearrange" }, "versionCheck": { "updateLinkLabel": "Update available. Open the release notes on GitHub" }, "common": { "scrollTabsLeft": "Scroll tabs left", "scrollTabsRight": "Scroll tabs right", "close": "Close", "minimize": "Minimize", "online": "Online", "offline": "Offline", "unknown": "Unknown", "continue": "Continue", "error": "Error", "unsavedChanges": "Unsaved changes", "loading": "Loading...", "host": "Host", "selectHost": "Select a host...", "noHostConfigured": "No host configured", "optional": "Optional", "connect": "Connect", "copied": "Copied", "connecting": "Connecting...", "openInNewTab": "Open in New Tab", "cancel": "Cancel", "username": "Username", "login": "Login", "register": "Register", "password": "Password", "confirmPassword": "Confirm Password", "back": "Back", "save": "Save", "saving": "Saving...", "delete": "Delete", "rename": "Rename", "edit": "Edit", "confirm": "Confirm", "refresh": "Refresh", "language": "Language", "backendReconnected": "Server connection restored", "connectionDegraded": "Server connection lost, recovering…", "reload": "Reload", "create": "Create", "copy": "Copy", "copyFailed": "Failed to copy to clipboard", "maximize": "Maximize", "restore": "Restore", "remove": "Remove", "add": "Add", "update": "Update", "noResults": "No results found", "sidebar": "Sidebar", "mobileSidebarDescription": "Displays the mobile sidebar.", "toggleSidebar": "Toggle Sidebar", "search": "Search...", "new": "New", "docs": "Docs" }, "onboarding": { "stepCounter": "Step {{current}} of {{total}}", "stageLabel": "Termix setup", "setupHeading": "Set up your workspace", "partialHeading": "A few new things to set up", "signOut": "Sign out", "skipPartial": "Not now", "skip": "Skip setup", "next": "Next", "finish": "Done", "pluginsTitle": "Choose your plugins", "pluginsIntro": "Pick the plugins to keep. The recommended ones cover what most people need.", "pluginsUpgradeNote": "Everything you use now is kept as it is. Turn off or remove what you do not need.", "pluginsRemoveNote": "Plugins set to Remove are deleted from this server, with their data, when you continue. You can install any of them again at any time from the Plugins tab (this needs an internet connection). Pick Off to keep a plugin installed but turned off.", "pluginsUseRecommended": "Recommended", "pluginsEnableAll": "Turn all on", "pluginsDisableAll": "Turn all off", "pluginsCounts": "{{enabled}} on, {{disabled}} off, {{removed}} to remove", "pluginsRecommended": "Recommended", "pluginsKeptBecause": "Kept because {{names}} needs it", "pluginsChoice_enabled": "On", "pluginsChoice_disabled": "Off", "pluginsChoice_remove": "Remove", "pluginsConsentTitle": "Help improve Termix", "pluginsConsentNote": "You can turn this off at any time from the Plugins tab.", "pluginsApplying": "Applying your choices", "pluginsSomeFailed": "Some plugins could not be changed. You can fix them later from the Plugins tab. Press Next to continue.", "pluginsApplyFailed": "Your choices could not be saved. Try again, or continue and change them later from the Plugins tab.", "pluginsLoadFailed": "The plugin list could not be loaded. You can choose plugins later from the Plugins tab.", "securityTitle": "Secure your account", "securityIntro": "Add a passkey or an authenticator app to your account. You can also do this later in Settings, under Security.", "pluginsDocsLink": "Read about each one" }, "desktopUpdates": { "modeAutomatic": "Automatic", "modePrompt": "Ask first", "modeNever": "Never", "automaticBody": "Download new versions in the background and install them when you restart.", "promptBody": "Tell me when a new version is out and let me choose when to download it.", "neverBody": "Do not check for updates. You can still check by hand in Settings.", "onboardingTitle": "App updates", "onboardingBody": "The desktop app can now update itself. Pick how you want new versions to arrive. You can change this later in Settings, Updates.", "onboardingManual": "This copy of the app was installed in a way that can not update itself, so Termix will tell you when a new version is out with a link to download it.", "download": "Download", "restart": "Restart now", "later": "Later", "available": "Termix {{version}} is available", "manualHint": "Download it from the release page and install it over this one.", "ready": "Termix {{version}} is ready to install", "readyHint": "It installs the next time Termix restarts." }, "safeMode": { "title": "Safe mode", "description": "Only layout and theme plugins are running. Restart the server without TERMIX_SAFE_MODE to turn the rest back on." }, "companion": { "close": "Close panel", "moveSide": "Move panel", "resize": "Resize panel" }, "nav": { "home": "Home", "terminal": "Terminal", "close": "Close", "hostTabTitle": "{{username}}@{{ip}}:{{port}}", "dashboard": "Dashboard", "quickConnect": "Quick Connect", "hosts": "Hosts", "credentials": "Credentials", "connections": "Connections", "reconnectDisconnectedTerminals": "Reconnect all disconnected terminals", "reconnectingTerminals_one": "Reconnecting {{count}} terminal", "reconnectingTerminals_other": "Reconnecting {{count}} terminals", "noDisconnectedTerminals": "No disconnected terminals are ready to reconnect", "reconnectTerminalsFailed_one": "Could not start reconnecting {{count}} terminal", "reconnectTerminalsFailed_other": "Could not start reconnecting {{count}} terminals", "fullscreenUnsupported": "Fullscreen is not supported by this browser", "fullscreenFailed": "Could not toggle fullscreen", "confirmCloseHost": "Close {{host}}?", "hiddenCount_one": "{{count}} hidden", "hiddenCount_other": "{{count}} hidden", "settings": "Settings", "manage": "Manage", "plugins": "Plugins" }, "hosts": { "hosts": "Hosts", "noHosts": "No SSH Hosts", "retry": "Retry", "refresh": "Refresh", "optional": "Optional", "failedToDeleteHost": "Failed to delete {{name}}", "connectionDetails": "Connection Details", "ssh": "SSH", "telnet": "Telnet", "port": "Port", "username": "Username", "folder": "Folder", "tags": "Tags", "pin": "Pin", "addHost": "Add Host", "editHost": "Edit Host", "cloneHost": "Clone Host", "defaultPath": "Default Path", "connection": "Connection", "upload": "Upload", "authentication": "Authentication", "password": "Password", "passwordSaved": "Password saved, type to change", "key": "Key", "credential": "Credential", "sshPrivateKey": "SSH Private Key", "keyType": "Key Type", "uploadFile": "Upload File", "tabGeneral": "General", "tabSsh": "SSH", "tabStats": "Host Metrics", "tabSharing": "Sharing", "tabAuthentication": "Authentication", "terminal": "Terminal", "tunnel": "Tunnel", "serverStats": "Host Metrics", "status": { "online": "Online", "offline": "Offline", "checking": "Checking", "monitoringDisabled": "Status checks off", "label": "Status" }, "folderRenamed": "Folder \"{{oldName}}\" renamed to \"{{newName}}\" successfully", "failedToRenameFolder": "Failed to rename folder", "unsavedChangesDescription": "Your host changes have not been saved. Discard them?", "keepEditing": "Keep editing", "discardChanges": "Discard changes", "movedToFolder_one": "Moved {{count}} host to \"{{folder}}\"", "movedToFolder_other": "Moved {{count}} hosts to \"{{folder}}\"", "editHostTooltip": "Edit host", "behavior": "Behavior", "scrollbackBuffer": "Scrollback Buffer", "sshAgentForwarding": "SSH Agent Forwarding", "selectSnippet": "Select snippet", "forceKeyboardInteractive": "Force Keyboard-Interactive", "overrideCredentialUsername": "Override Credential Username", "overrideCredentialUsernameDesc": "Use the username specified above instead of the credential's username", "externalUsernameHint": "Use $external.username to fill in the name you signed in with through SSO or LDAP.", "jumpHostChain": "Jump Host Chain", "portKnocking": "Port Knocking", "addKnock": "Add Port", "addProxyNode": "Add Node", "proxyNode": "Proxy Node", "proxyType": "Proxy Type", "sudoPassword": "Sudo Password", "keepaliveInterval": "Keepalive Interval (ms)", "environmentVariables": "Environment Variables", "addVariable": "Add Variable", "docker": "Docker", "failedToConnect": "Failed to connect to console", "connect": "Connect", "disconnect": "Disconnect", "start": "Start", "enableStatusCheck": "Enable Status Check", "enableMetrics": "Enable Metrics", "bulkUpdateFailed": "Bulk update failed", "selectAll": "Select All", "deselectAll": "Deselect All", "protocols": "Protocols", "secureShell": "Secure Shell", "addressIp": "Address / IP", "friendlyName": "Friendly Name", "folderAndAdvanced": "Folder & Advanced", "showAdvancedSettings": "Show advanced settings", "hideAdvancedSettings": "Hide advanced settings", "privateNotes": "Private Notes", "privateNotesPlaceholder": "Details about this server...", "pinToTop": "Pin to Top", "pinToTopDesc": "Always show this host at the top of the list", "portKnockingSequence": "Port Knocking Sequence", "addKnockBtn": "Add Knock", "noPortKnocking": "No port knocking configured.", "knockPort": "Knock Port", "protocol": "Protocol", "delayAfterMs": "Delay After (ms)", "useSocks5Proxy": "Use SOCKS5 Proxy", "useSocks5ProxyDesc": "Route connection through a proxy server", "connectionOrigin": "Connection Origin", "connectionOriginDesc": "Where this host's connection originates from. Overrides the desktop app's global default.", "connectionOriginDefault": "Use default", "connectionOriginLocal": "This device (local network)", "connectionOriginRemote": "Remote server", "proxyHost": "Proxy Host", "proxyPort": "Proxy Port", "proxyUsername": "Proxy Username", "proxyPassword": "Proxy Password", "proxySingleMode": "Single Proxy", "proxyChainMode": "Proxy Chain", "you": "You", "jumpHostChainLabel": "Jump Host Chain", "addJumpBtn": "Add Jump", "noJumpHosts": "No jump hosts configured.", "selectAServer": "Select a server...", "sshPort": "SSH Port", "authMethod": "Auth Method", "authenticationMethod": "Authentication Method", "authenticationMethodDesc": "Select the one method Termix will use to authenticate this SSH connection. Other methods are not tried automatically.", "storedCredential": "Stored Credential", "selectACredential": "Select a credential...", "keyTypeLabel": "Key Type", "keyTypeAuto": "Auto Detect", "keyPasteTab": "Paste", "keyUploadTab": "Upload", "keyFileLoaded": "Key file loaded", "keyUploadClick": "Click to upload .pem / .key / .ppk", "clearKey": "Clear key", "keySaved": "SSH key saved", "keyReplaceNotice": "paste a new key below to replace it", "keyPassphraseSaved": "Passphrase saved, type to change", "replaceKey": "Replace key", "docsLink": "View docs", "agentLabel": "SSH Agent", "agentDesc": "Authenticate using an SSH agent running on the Termix server (Bitwarden, 1Password, gpg-agent, KeeAgent, ssh-agent). The agent must be running on the machine where Termix is hosted.", "agentAuthenticationDesc": "Use keys from an SSH agent to authenticate this connection. Leave the socket path empty to use SSH_AUTH_SOCK.", "agentSocketPathLabel": "Agent Socket Path", "agentSocketPathPlaceholder": "Leave empty to use SSH_AUTH_SOCK", "agentSocketPathHint": "Leave empty to auto-detect from the SSH_AUTH_SOCK environment variable, or enter a custom socket path (e.g. /run/user/1000/gnupg/S.gpg-agent.ssh).", "agentIdentityLabel": "Agent Identity (Public Key)", "agentIdentityPlaceholder": "Leave empty to try all keys from the agent", "agentIdentityHint": "Paste a public key (e.g. ssh-ed25519 AAAA...) to only offer that key from the agent. Recommended when the agent holds many keys, to avoid exceeding the server's MaxAuthTries.", "shareSshAuthLabel": "Share SSH Authentication", "shareSshAuthDesc": "Give recipients encrypted copies of this host's SSH authentication. A recipient's personal credential still takes precedence.", "forceKeyboardInteractiveLabel": "Force Keyboard Interactive", "forceKeyboardInteractiveShortDesc": "Force manual password entry even if keys are present", "allowLegacyAlgorithmsLabel": "Allow Legacy Algorithms", "allowLegacyAlgorithmsDesc": "Enable deprecated SSH algorithms (ssh-dss, ssh-rsa, diffie-hellman-group1-sha1, hmac-md5, 3des-cbc) for connections to old devices that cannot be upgraded.", "insecure": "Insecure", "syntaxHighlightingCategories": "Highlight Categories", "syntaxHighlightingCategoriesDesc": "Choose which types of content to colorize", "sshAgentForwardingLabel": "SSH Agent Forwarding", "sshAgentForwardingShortDesc": "Allow this remote host to use your local SSH agent for onward connections. This is not required for Agent authentication.", "sudoPasswordAutoFillShortDesc": "Automatically provide sudo password when prompted", "sudoPasswordLabel": "Sudo Password", "sudoPasswordSaved": "Password saved, type to change", "environmentVariablesLabel": "Environment Variables", "addVariableBtn": "Add Variable", "noEnvVars": "No environment variables configured.", "keepaliveIntervalLabel": "Keepalive Interval (seconds)", "maxKeepaliveMisses": "Max Keepalive Misses", "sameHost": "This host (direct tunnel)", "statusChecksLabel": "Status Checks", "enableStatusChecks": "Enable Status Checks", "enableStatusChecksDesc": "Check host reachability. Active sessions skip extra probes. SSH probes without an active session may trigger aggressive Fail2Ban rules; disable status checks on those hosts.", "useGlobalInterval": "Use Global Interval", "useGlobalIntervalDesc": "Override with the server-wide status check interval", "checkIntervalS": "Check Interval (s)", "checkIntervalDesc": "Seconds between each connectivity ping", "cpuUsageLabel": "CPU Usage", "cpuUsageDesc": "CPU percent, load averages, sparkline graph", "memoryLabel": "Memory Usage", "memoryDesc": "RAM usage, swap, cached", "storageLabel": "Disk Usage", "storageDesc": "Disk usage per mount point", "networkLabel": "Network Interfaces", "networkDesc": "Interface list and bandwidth", "uptimeLabel": "Uptime", "uptimeDesc": "System uptime and boot time", "systemInfoLabel": "System Info", "systemInfoDesc": "OS, kernel, hostname, architecture", "recentLoginsLabel": "Recent Logins", "recentLoginsDesc": "Successful and failed login events", "topProcessesLabel": "Top Processes", "topProcessesDesc": "PID, CPU%, MEM%, command", "listeningPortsLabel": "Listening Ports", "listeningPortsDesc": "Open ports with process and state", "firewallLabel": "Firewall", "firewallDesc": "Firewall, AppArmor, SELinux status", "hostSharedSuccessfully": "Host shared successfully", "failedToShareHost": "Failed to share host", "accessRevoked": "Access revoked", "failedToRevokeAccess": "Failed to revoke access", "cancelBtn": "Cancel", "savingBtn": "Saving...", "addHostBtn": "Add Host", "hostUpdated": "Host updated", "hostCreated": "Host created", "failedToSave": "Failed to save host", "credentialUpdated": "Credential updated", "credentialCreated": "Credential created", "failedToSaveCredential": "Failed to save credential", "credentialNameRequired": "Please enter a name for the credential", "credentialAuthRequired": "Add a password, an SSH key, or both", "createCredentialFromHostBtn": "Create Credential", "createCredentialFromHostTitle": "Create Credential From Host", "createCredentialFromHostDesc": "Create a reusable, shareable credential entry prefilled with this host's current username, password, and/or SSH key.", "backToHosts": "Back to Hosts", "pinned": "Pinned", "noHostsFound": "No hosts found", "tryDifferentTerm": "Try a different term", "addFirstHost": "Add your first host to get started", "noCredentialsFound": "No credentials found", "addCredentialBtn": "Add Credential", "updateCredentialBtn": "Update Credential", "editCredentialAction": "Edit credential", "backToHost": "Back to Host", "saveCredentialAsNewBtn": "Save as New", "saveCredentialAsNewDesc": "Creates a new credential with these changes and assigns it to this host. The original credential is left unchanged.", "credentialSavedAsNew": "Saved as a new credential", "failedToSaveCredentialAsNew": "Failed to save as a new credential", "features": "Features", "noFolder": "(No folder)", "deleteSelected": "Delete", "exitSelection": "Exit selection", "collapseBtn": "Collapse", "hostStatusesRefreshed": "Host statuses refreshed", "failedToRefreshHosts": "Failed to refresh hosts", "movedHostTo": "Moved {{host}} to \"{{folder}}\"", "failedToMoveHost": "Failed to move host", "deletedFolder": "Deleted folder \"{{name}}\"", "failedToDeleteFolder": "Failed to delete folder", "deleteAllInFolder": "Delete all hosts in \"{{name}}\"? This cannot be undone.", "folderPickerPlaceholder": "No folder", "folderPickerSearch": "Search or create (use / for subfolders)...", "folderPickerNone": "No folder", "folderPickerCreate": "Create \"{{path}}\"", "folderPickerEmpty": "No matching folders", "parentHost": "Parent host", "useFolderInstead": "Use folder instead", "useParentHostInstead": "Use parent host instead", "parentHostPickerPlaceholder": "No parent host", "parentHostPickerSearch": "Search hosts...", "parentHostPickerNone": "No parent host", "parentHostPickerEmpty": "No matching hosts", "collapseSubHosts": "Collapse sub-hosts", "expandSubHosts": "Expand sub-hosts", "cannotNestUnderDescendant": "Can't nest a host under its own sub-host", "movedToParent_one": "Moved {{count}} host under \"{{parent}}\"", "movedToParent_other": "Moved {{count}} hosts under \"{{parent}}\"", "newFolder": "New folder", "createFolderTitle": "Create folder", "editFolderTitle": "Edit folder", "folderDialogDescription": "Choose a name, color, and icon. Use / to nest folders.", "folderNameLabel": "Folder name", "folderNamePlaceholder": "e.g. Production/Web", "folderNestingHint": "Use / to separate levels and create nested folders.", "folderNameDuplicate": "A folder with this name already exists here.", "folderColor": "Color", "folderIcon": "Icon", "folderCredential": "Credential", "folderCredentialNone": "No credential assigned", "folderCredentialHint": "Hosts in this folder that use \"Stored credential\" auth without their own credential selected will inherit this one.", "folderPreview": "Preview", "folderNameFallback": "Untitled folder", "createFolderButton": "Create folder", "saveFolderButton": "Save folder", "cancel": "Cancel", "iconSearchPlaceholder": "Search icons...", "openAllSessions": "Open all sessions", "editFolder": "Edit folder", "deleteFolder": "Delete folder", "selectFolder": "Select all hosts in folder", "deselectFolder": "Deselect all hosts in folder", "folderSaved": "Folder saved", "failedToSaveFolder": "Failed to save folder", "folderDeleted": "Deleted folder \"{{name}}\"", "deleteFolderConfirm_one": "Delete \"{{name}}\" and its {{count}} host? This cannot be undone.", "deleteFolderConfirm_other": "Delete \"{{name}}\" and its {{count}} hosts? This cannot be undone.", "failedToMoveHosts": "Failed to move hosts", "managedBanner": "This host is managed by {{plugin}}. Change it there. You can still pin and reorder it.", "managedTooltip": "Managed by {{plugin}}", "addBlocked": "Hosts are managed by {{plugin}}, so new hosts can't be added here.", "failedToReorder": "Failed to reorder", "expandAll": "Expand all folders", "collapseAll": "Collapse all folders", "moreActions": "More", "groupBy": "Group by", "GroupByFolder": "Folder", "GroupByTag": "Tag", "GroupByStatus": "Status", "GroupByProtocol": "Protocol", "GroupByAuth": "Auth type", "groupUngrouped": "Ungrouped", "customizeSidebar": "Customize sidebar", "customizeSidebarDescription": "Choose how the host list looks and behaves.", "customizeDensityTitle": "Density", "customizeBehaviorTitle": "Behavior", "connectBarTitle": "Connect bar", "connectBarDesc": "Choose which actions show as buttons on a host. Every action stays in the host's menu.", "customizeSortHint": "Sort order and grouping live in the sort and group menus in the toolbar.", "densityComfortableDesc": "More detail per host: address, tags, and resource usage.", "densityCompactDesc": "One line per host, for longer lists.", "display": "Display", "displayDensity": "Density", "displayDensityComfortable": "Comfortable", "displayDensityCompact": "Compact", "displayShowTags": "Show tags", "displayTrayOnClick": "Open actions on click (instead of hover)", "actionsVisibility": "Host action display", "actionsVisibilityDesc": "Choose when host actions expand. Select click to restore the former click-to-expand behavior.", "actionsAlways": "Always visible", "actionsOnly": "Connect only, rest on click", "actionsHover": "Show on hover", "actionsClick": "Click to expand/collapse", "openOnDoubleClick": "Open on double click", "openOnDoubleClickDesc": "Require a double click to open a host session instead of a single click", "closeOnOpen": "Hide sidebar after opening", "closeOnOpenDesc": "Close the sidebar after you open a host from it", "showFolderPaths": "Show folder paths", "showFolderPathsDesc": "Show the parent folder path above nested subfolder names. Subfolders stay indented either way.", "rowDetailsTitle": "Row details", "rowDetailsDesc": "Choose what shows on each host.", "showAddress": "Address", "showAddressDesc": "Show the host address under the name.", "showUsername": "Username", "showUsernameDesc": "Show the username before the address.", "showPort": "Port", "showPortDesc": "Show the port after the address.", "showPinIcon": "Pin icon", "showPinIconDesc": "Show a pin next to pinned hosts.", "showSharedBadge": "Shared badge", "showSharedBadgeDesc": "Show a badge on hosts shared with you.", "showBadges": "Plugin badges", "showBadgesDesc": "Show badges that plugins add next to the host name.", "hostClickBehavior": "Clicking a host", "hostClickBehaviorDesc": "What happens when you click a host that already has an open tab. Ctrl/Cmd click, middle click, or \"Open in new tab\" always start a new one.", "hostClickNewTab": "Always open a new tab", "hostClickFocusExisting": "Switch to the open tab", "hostClickFocusExistingDoubleNew": "Click to switch, double click for a new tab", "openInNewTab": "Open in new tab", "deletedHost": "Deleted {{name}}", "copiedToClipboard": "Copied to clipboard", "remoteDesktopUrlCopied": "Remote Desktop URL copied", "expandActions": "Expand actions", "collapseActions": "Collapse actions", "cloneHostAction": "Clone Host", "copyAddress": "Copy Address", "copyLink": "Copy Link", "deleteCredentialConfirm": "Delete credential \"{{name}}\"?", "deletedCredential": "Deleted {{name}}", "deleteHostsConfirm_one": "Delete {{count}} host? This cannot be undone.", "deleteHostsConfirm_other": "Delete {{count}} hosts? This cannot be undone.", "movedToRoot": "Moved to root", "addTagsPlaceholder": "Add tags...", "authDetails": "Authentication Details", "credType": "Type", "generateKeyPairDesc": "Generate a new key pair, both private and public keys will be filled automatically.", "generatingKey": "Generating...", "generateLabel": "Generate {{label}}", "uploadFileBtn": "Upload file", "keyPassphraseOptional": "Key Passphrase (Optional)", "sshPublicKeyOptional": "SSH Public Key (Optional)", "publicKeyGenerated": "Public key generated", "failedToGeneratePublicKey": "Failed to derive public key", "publicKeyCopied": "Public key copied", "keyPairGenerated": "{{label}} key pair generated", "failedToGenerateKeyPair": "Failed to generate key pair", "searchHostsPlaceholder": "Search hosts, addresses, tags…", "refreshBtn": "Refresh", "addTag": "Add tags...", "deleteConfirmBtn": "Delete", "deleteHostConfirm": "Delete \"{{name}}\"?", "enableAtLeastOneProtocol": "Enable at least one protocol above to configure authentication and connection settings.", "keyPassphrase": "Key Passphrase", "basicInformation": "Basic Information", "authDetailsSection": "Authentication Details", "credTypeLabel": "Type", "hostsTab": "Hosts", "credentialsTab": "Credentials", "selectMultiple": "Select multiple", "selectHosts": "Select hosts", "connectionLabel": "Connection", "authenticationLabel": "Authentication", "generateKeyPairTitle": "Generate Key Pair", "generateKeyPairDescription": "Generate a new key pair, both private and public keys will be filled automatically.", "generateFromPrivateKey": "Generate from Private Key", "refreshBtn2": "Refresh", "exitSelectionTitle": "Exit selection", "addHostBtn2": "Add Host", "addCredentialBtn2": "Add Credential", "checkingHostStatuses": "Checking host statuses...", "pinnedSection": "Pinned", "sampleDownloaded": "Sample file downloaded", "failedToDeleteCredential2": "Failed to delete credential", "noFolderOption": "(No folder)", "nSelected_one": "{{count}} selected", "nSelected_other": "{{count}} selected", "featuresMenu": "Plugins", "moveMenu": "Move", "connectSelected": "Connect", "cancelSelection": "Cancel", "deletedCount_one": "Deleted {{count}} host", "deletedCount_other": "Deleted {{count}} hosts", "failedToDeleteCount_one": "Failed to delete {{count}} host", "failedToDeleteCount_other": "Failed to delete {{count}} hosts", "duplicatedHost": "Duplicated \"{{name}}\"", "failedToDuplicateHost": "Failed to duplicate host", "updatedCount_one": "Updated {{count}} host", "updatedCount_other": "Updated {{count}} hosts", "friendlyNameLabel": "Friendly Name", "descriptionLabel": "Description", "loadingHosts": "Loading hosts...", "loadingCredentials": "Loading credentials...", "noHostsYet": "No hosts yet", "noHostsYetHint": "Add a server to open terminals, browse files and see metrics.", "noHostsMatchSearch": "No hosts match your search", "noHostSelected": "Pick a host to open this.", "searchHosts": "Search hosts...", "sortHosts": "Sort Hosts", "sortDefault": "Default Order", "sortNameAsc": "Name (A → Z)", "sortNameDesc": "Name (Z → A)", "sortIpAsc": "IP Address (Asc)", "sortIpDesc": "IP Address (Desc)", "sortOnlineFirst": "Online First", "sortOfflineFirst": "Offline First", "sortManual": "Manual (drag to reorder)", "sortPinnedFirst": "Pinned First", "filterHosts": "Filter Hosts", "filterClearAll": "Clear Filters", "filterStatusGroup": "Status", "filterOnline": "Online", "filterOffline": "Offline", "filterPinned": "Pinned", "filterAuthGroup": "Auth Type", "filterAuthPassword": "Password", "filterAuthKey": "SSH Key", "filterAuthCredential": "Credential", "filterAuthNone": "None", "filterProtocolGroup": "Protocol", "filterProtocolSsh": "SSH", "filterTagsGroup": "Tags", "editHostAction": "Edit Host", "moreOptions": "More options", "shareHost": "Share Host", "shareHostTitle": "Share: {{name}}", "shareFolder": "Share Folder", "shareFolderTitle": "Share folder: {{name}}", "folderSharedSuccessfully_one": "Shared {{count}} host in folder", "folderSharedSuccessfully_other": "Shared {{count}} hosts in folder", "failedToShareFolder": "Failed to share folder", "sharing": { "loadError": "Failed to load sharing data. Please try again.", "shareWithSection": "Share with", "usersTab": "Users", "rolesTab": "Roles", "searchPlaceholder": "Search users or roles...", "noMatches": "No matches found", "permissionLevelLabel": "Permission level", "levels": { "connect": { "label": "Connect", "description": "Open sessions only: terminal, remote desktop, file manager, tunnels and Docker. No access to the host configuration." }, "view": { "label": "View", "description": "Connect, plus see the host configuration. Secrets are never shown." }, "edit": { "label": "Edit", "description": "View, plus modify non-authentication host settings. The owner's SSH authentication stays private and owner-only." }, "manage": { "label": "Manage", "description": "Edit, plus share the host with others, change permission levels and revoke access." } }, "expiryLabel": "Access expiry", "expiry": { "never": "Never", "oneHour": "1 hour", "oneDay": "24 hours", "sevenDays": "7 days", "thirtyDays": "30 days", "custom": "Custom" }, "customHoursPlaceholder": "Hours until access expires", "shareButton": "Share", "shareWithCount": "Share ({{count}})", "currentAccess": "Current access", "noAccessEntries": "This host has not been shared yet", "folderRulesTitle": "Applies to hosts added later", "folderRulesHint": "These shares stay on the folder: a host created in or moved into it (or a subfolder) gets the same access automatically. Removing a rule only stops future inheritance.", "folderRuleRemove": "Stop inheriting", "folderShareSummary": "Shared {{shared}} of {{total}} host(s) in this folder", "grantedBy": "Granted by", "expires": "Expires", "expired": "Expired", "never": "Never", "revoke": "Revoke", "accessUpdated": "Access updated", "accessUpdateFailed": "Failed to update access", "sharedBadge": "Shared", "sharedBadgeTooltip": "Shared by {{owner}} ({{level}} access)", "viewOnlyBanner": "This host is shared with you by {{owner}} with view access. The configuration is read-only.", "sharedEditBanner": "This host is shared with you by {{owner}} with edit access. Changes apply to the real host; authentication references can only be changed by the owner.", "ownerOnlyControl": "Only the host owner can change this", "ownerAuthPrivate": "The host owner's SSH authentication is private. Use “Set personal SSH authentication” from the host menu to choose your own credential.", "ownerAuthShared": "The host owner has shared SSH authentication for this host. You can use it or choose your own credential from “Set personal SSH authentication.”", "authOverrideAction": "Set personal SSH authentication", "authOverrideActionProtocol": "Set personal {{protocol}} authentication", "authOverrideTitle": "Personal SSH authentication", "authOverrideTitleProtocol": "Personal {{protocol}} authentication", "authOverrideDescriptionPrivate": "The host owner's SSH credentials stay private. Choose one of your saved credentials for connections to {{host}}.", "authOverrideDescriptionShared": "Use the authentication shared by the host owner, or replace it with one of your saved credentials for connections to {{host}}.", "authOverrideCredentialLabel": "Authentication credential", "useSharedAuthentication": "Use shared host authentication", "noPersonalCredential": "No personal credential", "authOverrideNoCredentials": "You do not have any saved SSH credentials yet. Create one in Credentials to connect to hosts that require authentication.", "authOverrideRequired": "This host requires one of your saved credentials before you can connect.", "authOverridePrivateHint": "This credential is private to you. The host owner and other recipients cannot see or use it.", "authOverrideSaved": "Personal SSH authentication saved", "authOverrideCleared": "Personal SSH authentication removed", "authOverrideClearedToShared": "Using shared host authentication", "authOverrideLoadError": "Failed to load your SSH authentication. Please try again.", "authOverrideSaveError": "Failed to save your SSH authentication" }, "arrangeUnlockedSwitchedToManual": "Switched to manual sort so your order sticks", "dragToRearrange": "Drag to rearrange", "arrangeUnlocked": "Unlock drag to rearrange", "webUiBindHostUnreachable": "Your browser cannot reach 127.0.0.1 on the machine running Termix, so this endpoint will not load. Use an address that machine answers on, such as 0.0.0.0.", "webUiBindHostSharesSessionCookie": "From this browser, the forward would be reached at the same hostname Termix is served from, so the tunnelled service would receive your Termix session. Cookies ignore the port. This endpoint will refuse to open here; it works from the Termix desktop app, or when Termix is opened at localhost.", "webUiErrorLabelRequired": "Endpoint {{row}} needs a label.", "webUiErrorLabelDuplicate": "Each endpoint needs a different name.", "webUiErrorPortRange": "Endpoint {{row}} needs a port between 1 and 65535.", "webUiErrorPathInvalid": "Endpoint {{row}} has an invalid path. Use a path like /admin.", "copyViewUrlAction": "Copy {{name}} link", "filterAuthAgent": "SSH Agent", "authTypeNeedsPlugin": "This host uses {{type}}, which needs {{plugin}}. It is turned off on this server.", "authTypeUnknown": "This host uses {{type}}, which is not available on this server.", "authFieldsAfterSave": "Save the host first, then fill in these fields.", "enablePluginFeature": "Enable {{name}}", "disablePluginFeature": "Disable {{name}}", "filterFeaturesGroup": "Plugins", "localOnly": "Keep on this device only", "localOnlyDesc": "This host is not sent to the server and does not appear on your other devices.", "folderLocalOnly": "Keep on this device only", "folderLocalOnlyDesc": "This folder and every host in it stay on this device and are not sent to the server.", "sudoPasswordDesc": "Used when the terminal fills a sudo prompt, and by plugins that run commands with sudo.", "editorCancel": "Cancel", "editorSaving": "Saving...", "editorUpdate": "Update Host", "editorAdd": "Add Host", "speedSearch": "Search hosts. Arrow keys to select, Enter to connect, Esc to close", "speedSearchList": "Host list. Type or press / to search." }, "splitScreen": { "title": "Split screen", "defaultLabel": "Split {{number}}", "splitRight": "Split right", "splitDown": "Split down", "paneEmptyItem": "Pane {{index}}: empty", "paneItem": "Pane {{index}}: {{label}}", "paneNumber": "Pane {{index}}", "emptyTitle": "Empty pane", "emptyHint": "Pick something to show here. While this pane is selected, anything you open from the sidebar also opens here.", "openTabs": "Open tabs", "noOpenTabs": "No other tabs are open", "hosts": "Hosts", "searchHosts": "Search hosts", "noHosts": "No hosts match", "newSession": "New", "closePane": "Close pane", "closeSession": "Close session", "moveToTab": "Move to its own tab", "swapWith": "Swap with", "showHere": "Show in this pane", "clearPane": "Empty this pane", "zoom": "Zoom pane", "unzoom": "Restore layout", "layouts": "Layouts", "applyLayout": "Change layout", "maxPanes_one": "A split can hold up to {{count}} pane", "maxPanes_other": "A split can hold up to {{count}} panes", "dropSplit": "Drop to split", "dropHere": "Drop to show here", "paneActions": "Pane actions", "dividerHint": "Drag to resize. Double-click to even out.", "shortcuts": "Shortcuts", "shortcutNavigate": "Move between panes", "presets": { "columns2": "Two side by side", "rows2": "Two stacked", "columns3": "Three side by side", "mainLeft3": "One left, two right", "mainBottom3": "Two top, one bottom", "grid4": "Grid of four", "grid5": "Three over two", "grid6": "Grid of six" } }, "sshAuth": { "totpRequired": "Two-Factor Authentication Required", "totpCodeLabel": "Verification Code", "totpVerify": "Verify", "mfaPromptRequired": "Authentication Required", "mfaPushRequired": "Push Authentication Required", "mfaMenuPlaceholder": "Enter your response", "mfaCodeOrPushPlaceholder": "Code or \"push\"", "mfaWaitingApproval": "Waiting for approval on your device...", "mfaSendRequest": "Send Request", "browserSignInCode": "Security Key", "browserSignInUrl": "Sign-in URL", "browserSignInOpen": "Open in Browser", "browserSignInContinue": "I've Completed Sign-in", "browserSignInRequired": "{{provider}} Sign-in Required", "connectionLogTitle": "Connection Log", "connectionLogCopy": "Copy logs to clipboard", "connectionLogEmpty": "No connection logs yet", "connectionLogWaiting": "Waiting for connection logs...", "connectionLogCopied": "Connection logs copied to clipboard", "connectionLogCopyFailed": "Failed to copy logs to clipboard" }, "cardGrid": { "dragToMove": "Drag to move", "dragToResize": "Drag to resize", "changeWidth": "Change width", "removeCard": "Remove {{label}}", "addCard": "Add", "columns": "Columns", "empty": "No cards. Use Add below to place cards." }, "auth": { "tagline": "Self-hosted, plugin-based server management.", "loginTitle": "Welcome back", "registerTitle": "Create Account", "forgotPassword": "Forgot Password?", "rememberMe": "Remember Device for 30 Days (includes TOTP)", "noAccount": "Don't have an account?", "hasAccount": "Already have an account?", "twoFactorAuth": "Two-Factor Authentication", "enterCode": "Enter verification code", "redirectingToApp": "Redirecting to app...", "sshAuthenticationRequired": "SSH Authentication Required", "sshNoKeyboardInteractive": "Keyboard-Interactive Authentication Unavailable", "sshAuthenticationFailed": "Authentication Failed", "sshAuthenticationTimeout": "Authentication Timeout", "sshNoKeyboardInteractiveDescription": "The server does not support keyboard-interactive authentication. Please provide your password or SSH key.", "sshAuthFailedDescription": "The provided credentials were incorrect. Please try again with valid credentials.", "sshTimeoutDescription": "The authentication attempt timed out. Please try again.", "sshProvideCredentialsDescription": "Please provide your SSH credentials to connect to this server.", "sshPasswordDescription": "Enter the password for this SSH connection.", "sshKeyPasswordDescription": "If your SSH key is encrypted, enter the passphrase here.", "passphraseRequired": "Passphrase Required", "passphraseRequiredDescription": "The SSH key is encrypted. Please enter the passphrase to unlock it.", "external": "External", "loginWithExternal": "Login with External Provider", "loginWithExternalDesc": "Login using your configured external identity provider", "loginWithProvider": "Login with {{name}}", "resetPasswordButton": "Reset Password", "sendResetCode": "Send Reset Code", "resetCodeDesc": "Enter your username to receive a password reset code. The code will be logged in the docker container logs.", "resetCode": "Reset Code", "verifyCodeButton": "Verify Code", "newPassword": "New Password", "confirmNewPassword": "Confirm Password", "signUp": "Sign Up", "loadingServer": "Loading server...", "password": "Password", "secondFactorUnavailable": "Your account uses a second factor that is not available right now. Contact an admin to reset it.", "externalLoginRequired": "This account signs in through single sign-on. Use that button to sign in.", "secondFactorNoUI": "This second factor cannot be shown on this screen. Contact an admin.", "serverAuthentication": "Server sign-in", "minChars": "min. {{min}} characters", "retrySecondFactorUI": "Reload verification methods", "localDesktopSignedOut": "Local desktop signed out", "localDesktopUnavailable": "Local desktop session unavailable", "localDesktopSignedOutDesc": "You signed out of the local desktop session. Continue locally to use this device's built-in Termix server again.", "localDesktopUnavailableDesc": "Termix could not start a local desktop session. Retry it instead of registering a new account.", "continueLocalDesktop": "Continue with local desktop", "retryLocalDesktop": "Retry local desktop session" }, "hostKey": { "verifyNewHost": "Verify SSH Host Key", "keyChangedWarning": "SSH Host Key Changed", "firstConnectionTitle": "First time connecting to this host", "firstConnectionDescription": "The authenticity of this host cannot be established. Verify the fingerprint matches what you expect.", "keyChangedDescription": "The host key for this server has changed since your last connection. This could indicate a security issue.", "previousKey": "Previous Key", "newFingerprint": "New Fingerprint", "fingerprint": "Fingerprint", "verifyInstructions": "If you trust this host, click Accept to continue and save this fingerprint for future connections.", "securityWarning": "Security Warning", "acceptAndContinue": "Accept & Continue", "acceptNewKey": "Accept New Key & Continue" }, "errors": { "databaseConnection": "The Termix server is not responding", "embeddedServerFailed": "Termix's local server could not start", "unknownError": "Unknown error", "syncedHostMissing": "The synced host does not exist on the linked server", "linkedServerUnreachable": "The linked server is not reachable", "loginFailed": "Login failed", "failedPasswordReset": "Failed to initiate password reset", "failedVerifyCode": "Failed to verify reset code", "failedCompleteReset": "Failed to complete password reset", "invalidTotpCode": "Invalid TOTP code", "failedExternalLogin": "Failed to start external sign-in", "silentSigninExternalUnavailable": "Silent sign-in was requested, but no external sign-in is set up.", "failedUserInfo": "Failed to get user info after login", "externalAuthFailed": "External sign-in failed", "invalidAuthUrl": "Invalid authorization URL received from backend", "requiredField": "This field is required", "minLength": "Minimum length is {{min}}", "passwordMismatch": "Passwords do not match", "sessionExpired": "Session expired - please log in again", "authTokenSaveFailed": "Failed to save authentication token", "authTokenMissing": "The server did not return a new authentication token. Please sign in again.", "failedToLoadServer": "Failed to load server", "sessionExpiredLogin": "Session expired. Please log in again." }, "messages": { "registrationDisabled": "You have no Termix account yet. Ask an admin to turn on Auto-create external accounts.", "userNotAllowed": "Your account is not authorized to register. Please contact an administrator.", "databaseConnectionFailed": "It may still be starting, or it stopped. This page keeps trying and continues on its own once the server is back.", "embeddedServerPortInUse": "Port {{port}} is already in use by another program. This is usually a Termix Docker container or a leftover Termix process from a previous session. Close it, then restart Termix.", "embeddedServerPortInUseUnknownPort": "One of the ports Termix needs is already in use by another program. Close whatever is using it, then restart Termix.", "embeddedServerOldDatabase": "Your local data is from Termix 2.8 or older and has to pass through 2.9 first. Install Termix 2.9.1, open it once so it can move your data, then update to this version again.", "embeddedServerCrashed": "The local server stopped unexpectedly. Restart Termix, and check the desktop log if this keeps happening.", "resetCodeSent": "Reset code sent to Docker logs", "codeVerified": "Code verified successfully", "passwordResetSuccess": "Password reset successfully", "loginSuccess": "Login successful", "registrationSuccess": "Registration successful" }, "placeholders": { "keyPassword": "key password", "pastePrivateKey": "Paste your private key here...", "enterPassword": "Enter your password" }, "dashboard": { "updateAvailable": "Update Available", "beta": "Beta" }, "dashboardTab": { "stable": "STABLE", "onlineCount_one": "{{count}} online", "onlineCount_other": "{{count}} online", "hostCount_one": "{{count}} host", "hostCount_other": "{{count}} hosts" }, "admin": { "usersCount_one": "{{count}} user", "rolesCount_one": "{{count}} role", "apiKeysCount_one": "{{count}} key", "sessionsActive_one": "{{count}} active", "hostsCount_one": "{{count}} host", "hostsCount_other": "{{count}} hosts", "credentialsCount_one": "{{count}} credential", "credentialsCount_other": "{{count}} credentials", "rolePermissions": { "count_one": "{{count}} permission", "groups": { "hosts": "Hosts", "credentials": "Credentials", "admin": "Administration" } } }, "newUi": { "sidebar": { "quickConnect": { "usernameLabel": "Username" }, "keybindings": { "actionNextTab": "Switch to next tab", "actionPreviousTab": "Switch to previous tab", "actionOpenCommandPalette": "Open quick search", "actionReconnectSession": "Reconnect current session" }, "userProfile": { "preset_simple": "Simple", "preset_simple_desc": "The essentials only.", "preset_balanced": "Balanced", "preset_balanced_desc": "The standard layout.", "preset_advanced": "Advanced", "preset_advanced_desc": "Everything on, densely packed.", "uiArea_chrome": "App chrome", "uiArea_hostList": "Host list", "uiArea_credentialList": "Credential list", "uiArea_rail": "Navigation", "uiArea_dashboard": "Dashboard", "uiArea_terminal": "Terminal", "uiArea_fileManager": "File manager", "uiArea_hostEditor": "Host editor", "languageLabel": "Language", "themeLabel": "Theme", "fontSizeLabel": "Font Size", "interfaceFontLabel": "Interface Font", "interfaceFontDescription": "Changes the application interface font. Terminal profiles keep their own font settings.", "accentColorLabel": "Accent Color", "apiKeyCount_one": "{{count}} key", "colorPickerTooltip": "Open color picker", "themeSystem": "System", "themeLight": "Light", "themeDark": "Dark" } } }, "looks": { "layoutHint": "How the whole app is laid out. Themes and layouts come from plugins.", "defaultsLabel": "Default for everyone", "defaultsHint": "What people see until they choose their own layout or theme.", "followDefault": "Use the default", "defaultSaved": "Default look saved", "saveFailed": "Could not save the look", "repair": { "title": "This layout could not be shown", "safeTitle": "Safe mode", "layout": "Layout", "plugin": "Plugin", "reason": "Reason", "error": "Error", "noError": "No error message.", "copy": "Copy", "copied": "Copied", "copyFailed": "Could not copy the details", "retry": "Try again", "reset": "Reset to the default look", "resetEveryone": "Reset the default for everyone", "update": "Update {{name}} to {{version}}", "disable": "Turn off {{name}}", "enable": "Turn on {{name}}", "startAgain": "Start {{name}} again", "install": "Find layouts and themes", "installTitle": "Layouts and themes", "installButton": "Install", "nothingToInstall": "No other layouts or themes are available right now.", "registryUnreachable": "The plugin registry could not be reached.", "askAdmin": "Ask an admin to update or fix this layout. You can switch to another layout or theme for yourself below.", "switchLayout": "Switch layout", "switchTheme": "Switch theme", "saveFailed": "Could not save your choice", "reasons": { "safe-url": "The address asked for safe mode. Pick a layout below, or remove ?safe-layout=1 from the address.", "safe-env": "The server is started with TERMIX_SAFE_LAYOUT, so everyone sees this screen until it is removed.", "missing": "No installed plugin provides this layout.", "disabled": "The plugin that provides this layout is turned off.", "blocked": "The plugin that provides this layout is waiting on something it needs.", "incompatible": "The plugin that provides this layout does not work with this version of Termix.", "failed": "The layout failed to start.", "crashed": "The layout crashed twice while drawing the app." }, "noLayout": "No layout is set", "restore": "Restore the bundled {{name}}", "restoreFailed": "Could not restore the bundled copy" } }, "plugins": { "capabilities": { "credentials:read": { "title": "See your passwords and keys", "consequence": "It can read the stored secret for any host you can reach." }, "ssh:connect": { "title": "Run commands on your servers", "consequence": "Any command, on hosts you connect it to, with your access." }, "process:spawn": { "title": "Run programs on this machine", "consequence": "Programs run on the Termix server itself, not on your hosts." }, "users:write": { "title": "Create and change user accounts", "consequence": "It can add users and change their roles." }, "auth:provide": { "title": "Handle sign in", "consequence": "It can add a login method, a second factor or an SSH sign-in type." }, "auth:policy": { "title": "Set sign in rules", "consequence": "It can sign people out when idle, limit session length, turn off remember me and require a second factor." }, "ssh:transport": { "title": "Choose how hosts are reached", "consequence": "It can carry the SSH connection to a host over its own route, so it sees everything sent to and from those hosts, passwords included." }, "sync:provide": { "title": "Run sync", "consequence": "It can answer all sync requests, so it sees the data that devices and servers sync." }, "system:tls": { "title": "Manage certificates", "consequence": "It can replace the certificate Termix serves over HTTPS and answer domain checks from certificate authorities." }, "device:serial": { "title": "Access serial and USB devices", "consequence": "It can open a physical serial port on the machine running Termix." }, "hosts:export": { "title": "Export hosts with their secrets", "consequence": "Can read your hosts in full, including saved passwords and keys, and hand them out. Every export is written to the audit log." }, "hosts:write": { "title": "Create and change hosts", "consequence": "It can add hosts and edit the ones you already have." }, "credentials:use": { "title": "Connect to your servers", "consequence": "It cannot see your passwords or keys." }, "credentials:write": { "title": "Save new credentials", "consequence": "It can add passwords and keys to your saved credentials." }, "network:outbound": { "title": "Reach the internet", "consequence": "It can send requests to outside services." }, "network:serve": { "title": "Accept connections", "consequence": "It opens a port on the Termix server." }, "network:broadcast": { "title": "Send network broadcasts", "consequence": "It can send packets to devices on the local network, such as a Wake-on-LAN signal." }, "users:read": { "title": "See usernames and roles", "consequence": "Never password hashes, never two factor state." }, "events:core": { "title": "Watch everything happening", "consequence": "Including activity from other users, not just yours." }, "notify:send": { "title": "Send alerts", "consequence": "To you or other users, and through the channels they set up." }, "notify:hub": { "title": "Receive every alert", "consequence": "Stores and delivers the alerts all plugins send, including their contents." }, "audit:read": { "title": "Read the audit log", "consequence": "It can see who did what and when." }, "network:probe": { "title": "Check if ports answer", "consequence": "Can open a plain connection to any address from the server, to see if it is reachable." }, "hosts:status-provide": { "title": "Provide host status", "consequence": "Becomes the source of the online and offline dots for every host." }, "hosts:activity-provide": { "title": "Store recent activity", "consequence": "Becomes the store for the recent activity list of every user." }, "hosts:lock": { "title": "Manage hosts as read only", "consequence": "Hosts it manages can't be edited, deleted or reshared by anyone else." }, "desktop:window": { "title": "Open desktop windows", "consequence": "Only in the Termix desktop app." }, "desktop:local": { "title": "Use this computer", "consequence": "Can read and change files, run a shell and open local ports on this computer. Only in the Termix desktop app." }, "users:impersonate": { "title": "Act as other users", "consequence": "Runs background work with another user's access, such as scheduled jobs. Every use is written to the audit log." }, "db:core-refs": { "title": "Read core account tables", "consequence": "Can query users, roles and hosts directly from the database." }, "hosts:read": { "title": "See your host list", "consequence": "Names and addresses for hosts you can already see." }, "db:own": { "title": "Store its own data", "consequence": "Kept in its own tables, separate from other plugins." }, "kv:own": { "title": "Remember small settings", "consequence": "Kept separate from other plugins." }, "files:own": { "title": "Store its own files", "consequence": "In its own folder on disk, separate from other plugins." }, "secrets:own": { "title": "Store its own secrets", "consequence": "Encrypted by Termix. The plugin never holds the key." }, "settings:read-core": { "title": "Read Termix settings", "consequence": "Server settings, not your hosts or credentials." }, "plugins:read": { "title": "See installed plugins", "consequence": "It can see which plugins are installed and running." }, "ui:surface": { "title": "Add its own screens", "consequence": "Tabs, panels and settings you can hide later." }, "ui:layout": { "title": "Replace the whole app layout", "consequence": "When chosen, its code draws every screen, including your terminals and settings." }, "ui:theme": { "title": "Add color themes", "consequence": "Only colors and styles. No code runs for a theme." } }, "runtime": { "needsPlugin": "{{name}} is not available", "needsUnknownPlugin": "This plugin is not available", "disabledHint": "It is turned off on this server.", "missingHint": "The plugin it came from has been removed.", "failed": "{{name}} could not start", "failedHint": "An admin can check the server logs for details.", "loading": "Loading {{name}}", "crashed": "Something went wrong in {{name}}", "retry": "Try again" }, "manager": { "tabs": { "installed": "Installed", "browse": "Browse", "updates": "Updates", "registries": "Registries" }, "status": { "summary": "{{installed}} installed, {{running}} running", "running": "Running", "disabled": "Disabled", "failed": "Stopped unexpectedly", "blocked": "Waiting on another plugin", "server": "Runs on your server", "safeMode": "Off in safe mode" }, "groups": { "running": "Running", "notRunning": "Not running", "onServer": "On your server" }, "runsOnServerHint": "This plugin only runs on your server, so it stays off in the desktop app. It still works there.", "sort": { "popular": "Most popular", "name": "Name", "updated": "Recently updated", "category": "Category" }, "table": { "name": "Name", "description": "Description", "version": "Version", "status": "Status", "category": "Category", "downloads": "Downloads" }, "risk": { "critical": "Critical", "high": "High risk", "medium": "Medium risk", "low": "Low risk" }, "contributes": { "tabs_one": "{{count}} tab", "tabs_other": "{{count}} tabs", "panels_one": "{{count}} panel", "panels_other": "{{count}} panels", "dashboardCards_one": "{{count}} dashboard card", "dashboardCards_other": "{{count}} dashboard cards", "actions_one": "{{count}} action", "actions_other": "{{count}} actions", "protocols_one": "{{count}} connection type", "protocols_other": "{{count}} connection types", "auth_one": "{{count}} sign in method", "auth_other": "{{count}} sign in methods", "settings_one": "Settings", "settings_other": "Settings", "hostCapability_one": "Host settings", "hostCapability_other": "Host settings", "permissions_one": "{{count}} role permission", "permissions_other": "{{count}} role permissions", "keybindingActions_one": "{{count}} shortcut", "keybindingActions_other": "{{count}} shortcuts", "syncEntities_one": "Desktop sync", "syncEntities_other": "Desktop sync" }, "consent": { "enableTitle": "Enable {{name}}?", "installTitle": "Install {{name}}", "updateTitle": "Update {{name}}", "agreeUpdate": "Agree and update", "updateExplain": "This version asks for something the one you have does not, so it will not install on its own.", "newInVersion": "New in this version", "minor": "It also adds its own screens and stores its own data, kept separate from other plugins.", "none": "It asks for no special access.", "uploadTitle": "Install {{name}} from a file", "uploadWarning": "This file was not checked or signed by the Termix registry. Only install it if you built it yourself or trust whoever did." }, "confirm": { "uninstallTitle": "Uninstall {{name}}?", "uninstallBody": "This stops it and deletes everything it stores, including its settings and secrets. You can install it again later, but the data will not come back.", "deleteDataTitle": "Delete all data for {{name}}?", "deleteDataBody": "Its tables, settings, secrets and files are deleted and it is turned off. This cannot be undone.", "enableAlsoTitle": "Turn on {{name}}?", "enableAlsoBody": "It needs these to run, so they will be turned on too: {{list}}.", "disableAlsoTitle": "Turn off {{name}}?", "disableAlsoBody": "These need it to run, so they will be turned off too: {{list}}.", "downgradeTitle": "Go back to {{name}} {{version}}?", "downgradeBody": "Data written by the newer version stays as it is, and an older version may not understand it. The plugin will stay on this version until you unpin it.", "downgradeConfirm": "Switch version" }, "toast": { "installed": "{{name}} installed", "installedNotRunning": "{{name}} installed but could not start. Open it to see why.", "updated": "{{name}} updated to {{version}}", "updatedMany_one": "{{count}} plugin updated", "updatedMany_other": "{{count}} plugins updated", "uninstalled": "{{name}} uninstalled", "dataDeleted": "Data for {{name}} deleted", "failedToStart": "{{name}} could not start. Open it to see why." }, "errors": { "generic": "Something went wrong", "install": "Could not install {{name}}: {{error}}", "update": "Could not update {{name}}: {{error}}", "updateAll": "Could not update plugins: {{error}}", "uninstall": "Could not uninstall {{name}}: {{error}}", "state": "Could not change {{name}}: {{error}}", "retry": "Could not restart {{name}}: {{error}}", "options": "Could not save options for {{name}}: {{error}}", "deleteData": "Could not delete data for {{name}}: {{error}}", "managedByServer": "This desktop is linked to a server, which decides its plugins.", "defaultLook": "{{name}} is the default look, so it can be turned off or swapped but not uninstalled.", "hasDependents": "{{name}} is needed by {{list}}. Turn those off or uninstall them first.", "missingDependencies": "{{name}} needs {{list}}, which is not installed.", "consentChanged": "What this plugin asks for changed since you looked. Check the list again.", "upload": "Could not read {{name}}: {{error}}" }, "data": { "title": "Stored data", "delete": "Delete data", "loadFailed": "Could not read what this plugin stores.", "tables": "Tables", "kv": "Keys", "settings": "Settings", "files": "Files", "rows_one": "{{count}} row", "rows_other": "{{count}} rows", "secrets_one": "{{count}} secret", "secrets_other": "{{count}} secrets", "migrations_one": "{{count}} migration applied", "migrations_other": "{{count}} migrations applied", "grants_one": "{{count}} capability granted", "grants_other": "{{count}} capabilities granted" }, "install": "Install", "uninstall": "Uninstall", "enable": "Enable", "disable": "Disable", "restart": "Restart", "update": "Update", "updateAll": "Update all", "updateTo": "Update to {{version}}", "review": "Review", "reviewUpdate": "Review update", "updates": "Updates", "auto": "Auto", "autoUpdate": "Update on its own", "autoUpdateHint": "Never when the update asks for something new.", "pin": "Stay on this version", "pinHint": "Keeps {{version}} and skips every update until you turn this off.", "pinnedTo": "Pinned to {{version}}", "version": "Version", "versionPickHint": "Install an older release instead of the newest. It stays on that version until you unpin it.", "versionPickHintInstalled": "Switch to another release. Picking one that is not the newest pins it.", "switchVersion": "Switch", "latestVersion": "{{version}} (latest)", "versionChange": "{{from}} to {{to}}", "releaseNotes": "Release notes", "noReleaseNotes": "No notes for this version.", "viewRelease": "View on GitHub", "showOlderReleases": "Older releases ({{count}})", "hideOlderReleases": "Hide older releases", "showMoreChanges": "Show {{count}} more", "videoTitle": "{{name}} video", "changeTypes": { "added": "Added", "changed": "Changed", "fixed": "Fixed", "removed": "Removed", "deprecated": "Deprecated", "security": "Security" }, "installedBadge": "Installed", "incompatible": "Needs a newer Termix", "features": "Features", "whatItCanDo": "What it can do", "addsToTermix": "Adds to Termix", "addsToTermixHint": "Uninstall and every one of these goes away.", "noServerAccess": "No access to your servers", "searchInstalled": "Search installed", "searchPlugins": "Search plugins", "nothingMatches": "Nothing matches that.", "noneInstalled": "No plugins installed yet. Browse to add some.", "nothingHere": "Nothing here.", "nothingHereHint": "Try another category or search.", "showInstalled": "Show installed", "allInstalled": "Everything here is already installed.", "allInstalledHint": "Turn on Show installed to see them.", "communitySubmit": "How to submit", "registries": { "intro": "Registries are lists of plugins you can install. The official one is always on. You can turn on the community registry or add your own.", "hostYourOwn": "Host your own registry", "add": "Add registry", "addTitle": "Add a registry", "addHint": "Paste the link to the registry's index.json. Termix reads it and shows the key it signs plugins with. Only add registries from people you trust.", "urlLabel": "Index URL", "check": "Check", "addConfirm": "Trust and add", "added": "Added {{name}}", "customWarning": "Plugins from this registry are not reviewed by the Termix team. Only the owner of the registry decides what is in it. Every download must be signed by the key above.", "keyFingerprint": "Key {{keyId}}", "pluginCount_one": "{{count}} plugin", "pluginCount_other": "{{count}} plugins", "officialName": "Official", "communityName": "Community", "alwaysOn": "Always on", "communityHint": "Plugins made by other people. Each version is checked by a person and by automated checks before it is listed.", "communityConfirmTitle": "Turn on community plugins?", "communityConfirmBody": "Community plugins are made by other people, not the Termix team. Every version is checked by a person and by automated checks before it is listed, but mistakes can still get through. Only install plugins you trust and check what each one asks for.", "communityConfirm": "Turn on", "communityBadge": "Community", "communityBadgeHint": "From the community registry. Made by other people and reviewed before it was listed.", "customBadge": "Custom", "customBadgeHint": "From {{name}}, a registry an admin added. Not reviewed by the Termix team.", "remove": "Remove", "removeTitle": "Remove {{name}}?", "removeBody": "Its plugins will no longer show in Browse. You can add it again later.", "removed": "Removed {{name}}", "inUse": "Uninstall the plugins from {{name}} first: {{list}}", "changeFailed": "Could not change the registry: {{error}}", "loadFailed": "Could not load registries: {{error}}", "unreachable": "Could not read it: {{error}}", "filter": "Registry", "allRegistries": "All registries", "browseHint": "Turn on community plugins or add your own registry in the Registries tab." }, "upToDate": "Everything is up to date.", "lastChecked": "Last checked {{time}}", "updatesReady_one": "{{count}} update ready.", "updatesReady_other": "{{count}} updates ready.", "updatesNeedReview_one": "{{count}} more needs your review first.", "updatesNeedReview_other": "{{count}} more need your review first.", "updateAsksMore": "This update asks for more access, so it waits for you.", "checkRegistry": "Check for plugins and updates", "registryUnreachable": "Could not reach the plugin registry ({{error}}). Installed plugins still work.", "managedByServer": "This desktop is linked to a server, which decides its plugins. Changes are made on the server.", "browsePlugins": "Browse plugins", "loading": "Loading", "developer": { "installFromFile": "Install from file" }, "count": { "downloads_one": "{{formatted}} download", "downloads_other": "{{formatted}} downloads", "downloadsHint": "How many times a release was downloaded. This is not the number of installs." }, "unverified": "Unverified", "unverifiedHint": "Installed from a file. Termix did not check or sign it.", "reportIssue": "Report an issue", "reportTo": "Report to {{author}}", "requestFeature": "Request a feature", "openSettings": "Open its settings", "beta": { "badge": "Beta", "badgeHint": "This is a beta version. It can have bugs.", "try": "Try beta {{version}}", "confirmTitle": "Use betas for {{name}}?", "confirmBody": "Betas get new features and fixes first, but they can have bugs. You can switch back to stable at any time.", "confirmInstall": "Install {{version}}", "confirmSwitch": "Use betas", "leftWhileOnBeta": "{{name}} stays on {{version}} until a stable release is newer.", "channel": "Beta versions", "channelHint": "Get new versions early. They can have bugs.", "waitingForStable": "Back on stable. Stays on {{version}} until a stable release is newer.", "versionLabel": "{{version}} (beta)", "sendFeedback": "Send beta feedback" }, "documentation": "Documentation", "envVars": "Environment variables", "envRequired": "Required", "envDefault": "Default: {{value}}", "kinds": { "layouts": "Layouts", "themes": "Themes", "tabs": "Tabs", "panels": "Sidebar panels", "dashboardCards": "Dashboard cards", "protocols": "Connection types", "auth": "Sign in methods", "actions": "Actions", "hostCapability": "Host settings" }, "filters": { "type": "Type", "allTypes": "All types", "category": "Category", "allCategories": "All categories", "results_one": "{{count}} plugin", "results_other": "{{count}} plugins", "remove": "Remove filter {{name}}", "clear": "Clear filters", "button": "Filters", "buttonCount": "Filters ({{count}})" }, "pager": { "range": "{{from}}-{{to}} of {{total}}", "page": "Page {{page}} of {{pages}}", "previous": "Previous page", "next": "Next page", "perPage": "{{count}} per page", "perPageLabel": "Plugins per page" }, "showUnsupportedHint": "These are listed but no release runs on this version yet. Update Termix to install them.", "unsupported": "Needs a newer Termix", "unsupportedHint": "No release of this plugin runs on this version of Termix. Update Termix to install it.", "needsTermix": "Needs Termix {{range}}", "showUnsupported": "Show unsupported ({{count}})", "showMore": "Show {{count}} more ({{total}} left)" } }, "settings": { "secretSet": "Set", "secretNotSet": "Not set", "secretReplace": "Replace", "featureUnavailable": "{{name}} is unavailable right now. These settings are saved but will not take effect." }, "managerCard": { "refresh": "Refresh", "retry": "Retry", "sudoHint": "Set a sudo password for this host in the host editor to enable privileged actions.", "noData": "No data", "filter": "Filter..." }, "hostDefaults": { "source": { "folder": "Folder {{name}}", "user": "My defaults", "admin": "Server", "builtin": "Built-in" }, "custom": "Custom", "setHere": "Set here", "notSet": "Not set", "notSetTitle": "No default is set for this", "resetTitle": "This host sets its own value. Click to use the default from {{source}} again", "clearTitle": "Set at this level. Click to clear it and use {{source}} instead", "inheritedTitle": "Follows the default from {{source}}", "saved_one": "Defaults saved. {{count}} host was updated.", "saved_other": "Defaults saved. {{count}} hosts were updated.", "appliedToHosts_one": "{{count}} host was updated with the new defaults.", "appliedToHosts_other": "{{count}} hosts were updated with the new defaults.", "confirmChanges_one": "{{count}} host follows these defaults and will change.", "confirmChanges_other": "{{count}} hosts follow these defaults and will change.", "resetDone_one": "{{count}} host now follows its defaults.", "resetDone_other": "{{count}} hosts now follow their defaults." }, "panel": { "clearSearch": "Clear search", "gridView": "Grid", "listView": "List", "compactRows": "Compact rows", "comfortableRows": "Comfortable rows", "columns": { "title": "Columns", "auto": "Auto", "count": "{{count}} wide" } }, "fields": { "secretSaved": "Saved. Type to replace it." }, "manage": { "needsAttention_one": "One thing needs attention.", "needsAttention_other": "{{count}} things need attention.", "hostCount_one": "{{count}} host", "hostCount_other": "{{count}} hosts", "credentialCount_one": "{{count}} credential", "credentialCount_other": "{{count}} credentials" }, "rbac": { "roles": { "admin": "Admin", "user": "User" } } }