703 lines
44 KiB
TypeScript
703 lines
44 KiB
TypeScript
import type { Messages } from '../types';
|
|
|
|
export const enCoreMessages: Messages = {
|
|
// Common
|
|
'common.save': 'Save',
|
|
'common.cancel': 'Cancel',
|
|
'common.close': 'Close',
|
|
'common.reset': 'Reset',
|
|
'common.zoomIn': 'Zoom in',
|
|
'common.zoomOut': 'Zoom out',
|
|
'common.settings': 'Settings',
|
|
'common.search': 'Search',
|
|
'common.searchPlaceholder': 'Search...',
|
|
'common.connect': 'Connect',
|
|
'common.terminal': 'Terminal',
|
|
'common.create': 'Create',
|
|
'common.import': 'Import',
|
|
'common.generate': 'Generate',
|
|
'common.delete': 'Delete',
|
|
'common.edit': 'Edit',
|
|
'common.clear': 'Clear',
|
|
'common.optional': 'Optional',
|
|
'common.selectPlaceholder': 'Select...',
|
|
'common.add': 'Add',
|
|
'common.rename': 'Rename',
|
|
'common.refresh': 'Refresh',
|
|
'common.continue': 'Continue',
|
|
'common.enabled': 'Enabled',
|
|
'common.disabled': 'Disabled',
|
|
'common.error': 'Error',
|
|
'common.validation': 'Validation',
|
|
'common.unknownError': 'Unknown error',
|
|
'common.noResultsFound': 'No results found',
|
|
'common.back': 'Back',
|
|
'common.apply': 'Apply',
|
|
'common.use': 'Use',
|
|
'common.useGlobal': 'Use global',
|
|
'common.saveChanges': 'Save Changes',
|
|
'common.advanced': 'Advanced',
|
|
'common.left': 'Left',
|
|
'common.right': 'Right',
|
|
'common.more': 'More',
|
|
'common.selectAHost': 'Select a host',
|
|
'common.selectAHostPlaceholder': 'Select a host...',
|
|
'sort.manual': 'Manual order',
|
|
'sort.az': 'A-z',
|
|
'sort.za': 'Z-a',
|
|
'sort.newest': 'Newest to oldest',
|
|
'sort.oldest': 'Oldest to newest',
|
|
'sort.group': 'By group',
|
|
'field.label': 'Label',
|
|
'field.type': 'Type',
|
|
'auth.keyType': 'Type {type}',
|
|
'auth.showAllKeys': 'Show all keys',
|
|
|
|
// Dialogs / prompts
|
|
'confirm.deleteHost': 'Delete Host "{name}"?',
|
|
'confirm.deleteIdentity': 'Delete Identity "{name}"?',
|
|
'confirm.removeProvider': 'Remove provider "{name}"?',
|
|
'confirm.closeBusyTerminal.title': 'Confirm close',
|
|
'confirm.closeBusyTerminal.message': 'Process "{command}" is still running and will be terminated.',
|
|
'confirm.closeBusyTerminal.messageWithMore': 'Process "{command}" and {count} other running process(es) will be terminated.',
|
|
'confirm.closeBusyTerminal.cancel': 'Cancel',
|
|
'confirm.closeBusyTerminal.close': 'Close',
|
|
'dialog.createWorkspace.title': 'Create Workspace',
|
|
'dialog.renameWorkspace.title': 'Rename workspace',
|
|
'dialog.renameSession.title': 'Rename session',
|
|
'field.name': 'Name',
|
|
'field.selectHosts': 'Select Hosts',
|
|
'placeholder.workspaceName': 'Workspace name',
|
|
'placeholder.sessionName': 'Session name',
|
|
'placeholder.searchHosts': 'Search hosts...',
|
|
'toast.settingsUnavailable': 'Settings window is unavailable on this platform.',
|
|
'credentials.protectionUnavailable.title': 'Credential Protection Unavailable',
|
|
'credentials.protectionUnavailable.message': 'Saved passwords and keys cannot be auto-decrypted on this device. Re-enter credentials before connecting.',
|
|
'credentials.protectionUnavailable.action': 'Open Settings',
|
|
|
|
// Settings shell
|
|
'settings.title': 'Settings',
|
|
'settings.tab.application': 'Application',
|
|
'settings.tab.appearance': 'Appearance',
|
|
'settings.tab.terminal': 'Terminal',
|
|
'settings.tab.shortcuts': 'Shortcuts',
|
|
'settings.tab.syncCloud': 'Sync & Cloud',
|
|
'settings.tab.system': 'System',
|
|
|
|
// Settings > System
|
|
'settings.system.title': 'System',
|
|
'settings.system.description': 'System information and temporary file management.',
|
|
'settings.system.tempDirectory': 'Temporary Files',
|
|
'settings.system.location': 'Location',
|
|
'settings.system.fileCount': 'Files',
|
|
'settings.system.totalSize': 'Size',
|
|
'settings.system.openFolder': 'Open folder',
|
|
'settings.system.refresh': 'Refresh',
|
|
'settings.system.clearTempFiles': 'Clear temp files',
|
|
'settings.system.clearing': 'Clearing...',
|
|
'settings.system.clearResult': 'Deleted {deleted} file(s), {failed} failed.',
|
|
'settings.system.tempDirectoryHint': 'Temporary files are created when opening remote files with external applications. They are automatically cleaned up when SFTP sessions close.',
|
|
'settings.system.credentials.title': 'Credential Protection',
|
|
'settings.system.credentials.status': 'Status',
|
|
'settings.system.credentials.checking': 'Checking...',
|
|
'settings.system.credentials.available': 'Available (OS keychain ready)',
|
|
'settings.system.credentials.unavailable': 'Unavailable (cannot decrypt saved credentials)',
|
|
'settings.system.credentials.unknown': 'Unknown (not supported in this environment)',
|
|
'settings.system.credentials.unavailableHint': 'Credentials encrypted on another user profile or machine cannot be decrypted here. Re-enter and save credentials on this device.',
|
|
'settings.system.credentials.portabilityHint': 'Cloud Sync is portable because it uses your master key encryption. Local safeStorage encryption is device/user scoped.',
|
|
|
|
// Settings > System > Crash Logs
|
|
'settings.system.crashLogs.title': 'Crash Logs',
|
|
'settings.system.crashLogs.description': 'View error logs from the main process to help diagnose unexpected behavior.',
|
|
'settings.system.crashLogs.noLogs': 'No crash logs found.',
|
|
'settings.system.crashLogs.entries': '{count} entries',
|
|
'settings.system.crashLogs.clear': 'Clear all logs',
|
|
'settings.system.crashLogs.cleared': 'Cleared {count} log file(s).',
|
|
'settings.system.crashLogs.source': 'Source',
|
|
'settings.system.crashLogs.time': 'Time',
|
|
'settings.system.crashLogs.message': 'Message',
|
|
'settings.system.crashLogs.stack': 'Stack Trace',
|
|
'settings.system.crashLogs.hint': 'Crash logs are retained for 30 days and automatically rotated.',
|
|
'settings.system.crashLogs.collapse': 'Collapse',
|
|
'settings.system.crashLogs.expand': 'Show details',
|
|
|
|
// Settings > System > Software Update
|
|
'settings.update.title': 'Software Update',
|
|
'settings.update.currentVersion': 'Current version',
|
|
'settings.update.checkForUpdates': 'Check for Updates',
|
|
'settings.update.checking': 'Checking...',
|
|
'settings.update.upToDate': 'You are using the latest version.',
|
|
'settings.update.available': 'New version {version} is available.',
|
|
'settings.update.download': 'Download Update',
|
|
'settings.update.downloading': 'Downloading... {percent}%',
|
|
'settings.update.readyToInstall': 'Update downloaded and ready to install.',
|
|
'settings.update.restartNow': 'Restart to Update',
|
|
'settings.update.error': 'Failed to check for updates.',
|
|
'settings.update.downloadError': 'Download failed.',
|
|
'settings.update.manualDownload': 'Download from GitHub',
|
|
'settings.update.manualDownloadHint': 'Auto-update is not available on this platform. Download the latest version from GitHub.',
|
|
'settings.update.hint': 'Netcatty checks for updates from GitHub Releases.',
|
|
'settings.update.lastCheckedJustNow': 'just now',
|
|
'settings.update.lastCheckedMinutesAgo': '{n} min ago',
|
|
'settings.update.lastCheckedHoursAgo': '{n} hr ago',
|
|
'settings.update.lastCheckedPrefix': 'Last checked: ',
|
|
'settings.update.autoUpdateEnabled': 'Automatic Updates',
|
|
'settings.update.autoUpdateEnabledDesc': 'Automatically check and download updates when available.',
|
|
|
|
// Settings > Session Logs
|
|
'settings.sessionLogs.title': 'Session Logs',
|
|
'settings.sessionLogs.description': 'Configure session log export and auto-save settings.',
|
|
'settings.sessionLogs.autoSave': 'Auto-Save',
|
|
'settings.sessionLogs.enableAutoSave': 'Enable auto-save',
|
|
'settings.sessionLogs.enableAutoSaveDesc': 'Automatically save session logs when terminal sessions end.',
|
|
'settings.sessionLogs.directory': 'Save Directory',
|
|
'settings.sessionLogs.noDirectory': 'No directory selected',
|
|
'settings.sessionLogs.browse': 'Browse',
|
|
'settings.sessionLogs.openFolder': 'Open folder',
|
|
'settings.sessionLogs.directoryHint': 'Logs will be organized by host in subdirectories.',
|
|
'settings.sessionLogs.format': 'Log Format',
|
|
'settings.sessionLogs.formatDesc': 'Choose the format for saved log files.',
|
|
'settings.sessionLogs.formatTxt': 'Plain Text (.txt)',
|
|
'settings.sessionLogs.formatRaw': 'Raw with ANSI (.log)',
|
|
'settings.sessionLogs.formatHtml': 'HTML (.html)',
|
|
'settings.sessionLogs.timestamps': 'Add timestamps',
|
|
'settings.sessionLogs.timestampsDesc': 'Prefix each line in plain text and HTML logs with the local time.',
|
|
'settings.sessionLogs.hint': 'Session logs capture all terminal output for troubleshooting and auditing purposes.',
|
|
|
|
// Settings > SSH Debug Logs
|
|
'settings.sshDebugLogs.title': 'SSH Debug Logs',
|
|
'settings.sshDebugLogs.enable': 'Enable SSH debug logs',
|
|
'settings.sshDebugLogs.enableDesc': 'Record connection, auth, handshake, disconnect, and error reasons without saving terminal output.',
|
|
'settings.sshDebugLogs.location': 'Log Location',
|
|
'settings.sshDebugLogs.status': 'Status',
|
|
'settings.sshDebugLogs.statusOn': 'On',
|
|
'settings.sshDebugLogs.statusOff': 'Off',
|
|
'settings.sshDebugLogs.size': 'Size',
|
|
'settings.sshDebugLogs.hint': 'When enabled, newly started SSH connections write diagnostic events for bastion, auth, and unexpected disconnect troubleshooting.',
|
|
|
|
// Settings > Global Hotkey (Quake Mode)
|
|
'settings.globalHotkey.title': 'Global Hotkey',
|
|
'settings.globalHotkey.toggleWindow': 'Toggle Window',
|
|
'settings.globalHotkey.toggleWindowDesc': 'Press a key combination to set a global shortcut for showing/hiding the window.',
|
|
'settings.globalHotkey.notSet': 'Not set',
|
|
'settings.globalHotkey.reset': 'Reset to default',
|
|
'settings.globalHotkey.closeToTray': 'Close to System Tray',
|
|
'settings.globalHotkey.closeToTrayDesc': 'When enabled, closing the window will minimize to the system tray instead of quitting.',
|
|
'settings.globalHotkey.enabled': 'Enable Global Hotkey',
|
|
'settings.globalHotkey.enabledDesc': 'Register system-wide keyboard shortcuts. When disabled, all global hotkeys are unregistered.',
|
|
'settings.globalHotkey.hint': 'Global hotkey works system-wide to quickly show or hide the window (Quake-style terminal).',
|
|
|
|
// Tray Panel
|
|
'tray.openMainWindow': 'Open Main Window',
|
|
'tray.sessions': 'Sessions',
|
|
'tray.portForwarding': 'Port Forwarding',
|
|
'tray.status.connected': 'Connected',
|
|
'tray.status.connecting': 'Connecting',
|
|
'tray.status.disconnected': 'Disconnected',
|
|
'tray.status.active': 'Active',
|
|
'tray.status.inactive': 'Inactive',
|
|
'tray.status.error': 'Error',
|
|
'tray.recentHosts': 'Recent Hosts',
|
|
'tray.empty.title': 'Nothing here yet',
|
|
'tray.empty.subtitle': 'Go connect to a server, they miss you 🚀',
|
|
'tray.quit': 'Quit Netcatty',
|
|
|
|
// Vault Sidebar
|
|
'vault.sidebar.collapse': 'Collapse sidebar',
|
|
'vault.sidebar.expand': 'Expand sidebar',
|
|
'vault.sidebar.resize': 'Resize sidebar',
|
|
|
|
// Settings > Application
|
|
'settings.application.checkUpdates': 'Check for updates',
|
|
'settings.application.reportProblem': 'Report a problem',
|
|
'settings.application.reportProblem.subtitle': 'Generate a pre-filled GitHub issue',
|
|
'settings.application.community': 'Community',
|
|
'settings.application.community.subtitle': 'On GitHub Discussions',
|
|
'settings.application.github': 'GitHub',
|
|
'settings.application.github.subtitle': 'Source code',
|
|
'settings.application.whatsNew': "What's new",
|
|
'settings.application.whatsNew.subtitle': 'Show release notes',
|
|
'settings.application.openExternal.failedTitle': 'Cannot open link',
|
|
'settings.application.openExternal.failedBody': 'The link could not be opened in either the system browser or the built-in browser window.',
|
|
'settings.vault.title': 'Vault',
|
|
'settings.vault.showRecentHosts': 'Show recently connected hosts',
|
|
'settings.vault.showRecentHostsDesc': 'Display a section of recently connected hosts at the top of the vault',
|
|
'settings.vault.showOnlyUngroupedHostsInRoot': 'Only show ungrouped hosts at root',
|
|
'settings.vault.showOnlyUngroupedHostsInRootDesc': 'When enabled, the root host list only shows hosts without a group. Open a group from the sidebar to see grouped hosts.',
|
|
'settings.vault.showSftpTab': 'Show SFTP tab',
|
|
'settings.vault.showSftpTabDesc': 'Display the standalone SFTP view in the top tab bar. When hidden, use the in-session SFTP side panel instead.',
|
|
'settings.vault.showHostTreeSidebar': 'Show host list sidebar',
|
|
'settings.vault.showHostTreeSidebarDesc': 'Display the host list sidebar and its top-bar toggle on terminal and editor tabs.',
|
|
|
|
// Update notifications
|
|
'update.available.title': 'Update Available',
|
|
'update.available.message': 'A new version {version} is available. Click to download.',
|
|
'update.checking': 'Checking for updates...',
|
|
'update.upToDate.title': 'Up to Date',
|
|
'update.upToDate.message': 'You are running the latest version ({version}).',
|
|
'update.error': 'Failed to check for updates',
|
|
'update.downloadNow': 'Download Now',
|
|
'update.viewInSettings': 'View in Settings',
|
|
'update.readyToInstall.title': 'Update Ready',
|
|
'update.readyToInstall.message': 'Version {version} downloaded and ready to install.',
|
|
'update.restartNow': 'Restart Now',
|
|
'update.downloadFailed.title': 'Update Failed',
|
|
'update.downloadFailed.message': 'Failed to download update. You can download it manually.',
|
|
'update.needsSave.title': 'Unsaved Changes',
|
|
'update.needsSave.message': 'Save your open editors first, then click Restart Now again to install the update.',
|
|
'update.openReleases': 'Open Releases',
|
|
'update.remindLater': 'Remind Later',
|
|
'update.skipVersion': 'Skip This Version',
|
|
|
|
// Settings > Appearance
|
|
'settings.appearance.uiTheme': 'UI Theme',
|
|
'settings.appearance.theme': 'Theme',
|
|
'settings.appearance.theme.desc': 'Choose light, dark, or follow system preference',
|
|
'settings.appearance.theme.light': 'Light',
|
|
'settings.appearance.theme.dark': 'Dark',
|
|
'settings.appearance.theme.system': 'System',
|
|
'settings.appearance.accentColor': 'Accent Color',
|
|
'settings.appearance.customColor': 'Custom color',
|
|
'settings.appearance.accentColor.mode': 'Use custom accent',
|
|
'settings.appearance.accentColor.mode.desc': 'Override the theme accent color',
|
|
'settings.appearance.accentColor.custom': 'Custom accent',
|
|
'settings.appearance.themeColor': 'Theme Color',
|
|
'settings.appearance.themeColor.desc': 'Pick a preset palette for each theme',
|
|
'settings.appearance.themeColor.light': 'Light palette',
|
|
'settings.appearance.themeColor.dark': 'Dark palette',
|
|
'settings.appearance.customCss': 'Custom CSS',
|
|
'settings.appearance.customCss.desc':
|
|
'Add custom CSS to personalize the app appearance. Changes apply immediately. Major UI regions expose a [data-section="..."] attribute you can target — e.g. snippets-panel, host-details-panel, group-details-panel, serial-host-details-panel, ai-chat-panel, vault-sidebar, vault-main, vault-hosts-header, vault-host-list, vault-view, terminal-workspace, terminal-workspace-sidebar (focus-mode terminal list), terminal-host-tree-sidebar, terminal-host-tree-sidebar-content, terminal-host-tree-sidebar-row, terminal-side-panel (SFTP/Scripts/Theme/AI panel, available while open), terminal-side-panel-tabs, terminal-side-panel-content, terminal-sftp-panel, terminal-sftp-host-header, terminal-sftp-pane, terminal-sftp-toolbar, terminal-sftp-path, terminal-sftp-filter-bar, terminal-sftp-list, terminal-sftp-list-header, terminal-sftp-list-row, terminal-sftp-tree, terminal-sftp-tree-row, terminal-sftp-transfer-queue, terminal-sftp-transfer-row, terminal-split-pane, terminal-split-resizer, top-tabs, top-tabs-host-tree-toggle, top-tabs-quick-switcher-toggle.',
|
|
'settings.appearance.customCss.placeholder':
|
|
'/* Examples — use !important to beat Tailwind utility specificity */\n\n/* Hide the host-list toggle in the top tab bar */\n[data-section="top-tabs-host-tree-toggle"] {\n width: 0 !important;\n opacity: 0 !important;\n pointer-events: none !important;\n}\n\n/* Hide the plus button that opens the quick switcher */\n[data-section="top-tabs-quick-switcher-toggle"] {\n display: none !important;\n}\n\n/* Border around the SFTP / side panel (does not linger after closing) */\n[data-section="terminal-side-panel"] {\n border: 2px solid #00c851 !important;\n border-radius: 6px !important;\n}\n\n/* Change the whole side panel background, not only the top tabs */\n[data-section="terminal-side-panel"],\n[data-section="terminal-side-panel-tabs"],\n[data-section="terminal-side-panel-content"],\n[data-section="terminal-sftp-panel"],\n[data-section="terminal-sftp-pane"],\n[data-section="terminal-sftp-list"],\n[data-section="terminal-sftp-tree"],\n[data-section="terminal-sftp-transfer-queue"] {\n background-color: #1c384a !important;\n}\n\n/* Style selected SFTP file rows */\n[data-section="terminal-sftp-list-row"][data-selected="true"] {\n background-color: #00c851 !important;\n color: #001b10 !important;\n}\n\n/* Thicker split dividers */\n[data-section="terminal-split-resizer-bar"] {\n background-color: hsl(var(--primary)) !important;\n transform: scale(2) !important;\n}\n\n/* Highlight the focused split pane */\n[data-section="terminal-split-pane"][data-focused="true"] {\n outline: 2px solid hsl(var(--primary)) !important;\n outline-offset: -2px;\n}\n\n/* Or use Settings → Terminal → Workspace Focus Indicator → Border on focused pane */',
|
|
'settings.appearance.language': 'Language',
|
|
'settings.appearance.language.desc': 'Choose the UI language',
|
|
'settings.appearance.uiFont': 'Interface Font',
|
|
'settings.appearance.uiFont.desc': 'Choose the font for the application interface',
|
|
'settings.appearance.windowOpacity': 'Window Opacity',
|
|
'settings.appearance.windowOpacity.desc': 'Adjust the transparency of the entire application window. Lower values also fade terminal text. Some Linux desktop environments may not support this.',
|
|
// Settings > Terminal
|
|
'settings.terminal.section.theme': 'Terminal Theme',
|
|
'settings.terminal.themeModal.title': 'Select Theme',
|
|
'settings.terminal.themeModal.darkThemes': 'Dark Themes',
|
|
'settings.terminal.themeModal.lightThemes': 'Light Themes',
|
|
'settings.terminal.theme.selectButton': 'Select Theme',
|
|
'settings.terminal.theme.followApp': 'Follow Application Theme',
|
|
'settings.terminal.theme.followApp.desc': 'Automatically match the terminal background to the current app theme for a seamless look.',
|
|
'settings.terminal.theme.darkTheme': 'Dark mode terminal theme',
|
|
'settings.terminal.theme.lightTheme': 'Light mode terminal theme',
|
|
'settings.terminal.theme.auto': 'Auto (match app theme)',
|
|
'settings.terminal.theme.autoDesc': 'Follows the active UI theme preset',
|
|
'settings.terminal.section.font': 'Font',
|
|
'settings.terminal.section.cursor': 'Cursor',
|
|
'settings.terminal.section.keyboard': 'Keyboard',
|
|
'settings.terminal.section.accessibility': 'Accessibility',
|
|
'settings.terminal.section.behavior': 'Behavior',
|
|
'settings.terminal.section.scrollback': 'Scrollback',
|
|
'settings.terminal.section.keywordHighlight': 'Keyword highlighting',
|
|
'settings.terminal.font.family': 'Font',
|
|
'settings.terminal.font.family.desc': 'Terminal font family',
|
|
'settings.terminal.font.cjk': 'CJK font',
|
|
'settings.terminal.font.cjk.desc': 'Font used for Chinese / Japanese / Korean characters; "Auto" picks one based on the primary font',
|
|
'settings.terminal.font.cjk.option.auto': 'Auto · paired with the primary font',
|
|
'settings.terminal.font.cjk.option.sarasaSC': 'Sarasa Mono SC (Iosevka + Source Han SC)',
|
|
'settings.terminal.font.cjk.option.sarasaTC': 'Sarasa Mono TC (Iosevka + Source Han TC)',
|
|
'settings.terminal.font.cjk.option.mapleCN': 'Maple Mono CN',
|
|
'settings.terminal.font.cjk.option.sourceHan': 'Source Han Mono SC',
|
|
'settings.terminal.font.cjk.option.notoCJK': 'Noto Sans Mono CJK SC',
|
|
'settings.terminal.font.cjk.option.lxgwWenkai': 'LXGW WenKai Mono',
|
|
'settings.terminal.font.cjk.option.simSun': 'SimSun',
|
|
'settings.terminal.font.cjk.option.legacy': '{font} · not recommended (proportional font)',
|
|
'settings.terminal.font.size': 'Font size',
|
|
'settings.terminal.font.size.desc': 'Terminal text size',
|
|
'settings.terminal.font.weight': 'Font weight',
|
|
'settings.terminal.font.weight.desc': 'Weight for regular text (100-900)',
|
|
'settings.terminal.font.weight.thin': 'Thin',
|
|
'settings.terminal.font.weight.extraLight': 'Extra Light',
|
|
'settings.terminal.font.weight.light': 'Light',
|
|
'settings.terminal.font.weight.normal': 'Normal',
|
|
'settings.terminal.font.weight.medium': 'Medium',
|
|
'settings.terminal.font.weight.semiBold': 'Semi Bold',
|
|
'settings.terminal.font.weight.bold': 'Bold',
|
|
'settings.terminal.font.weight.extraBold': 'Extra Bold',
|
|
'settings.terminal.font.weight.black': 'Black',
|
|
'settings.terminal.font.weightBold': 'Bold font weight',
|
|
'settings.terminal.font.weightBold.desc': 'Weight for bold text (100-900)',
|
|
'settings.terminal.font.linePadding': 'Line padding',
|
|
'settings.terminal.font.linePadding.desc': 'Additional space between lines (0-10)',
|
|
'settings.terminal.font.emulationType': 'Terminal emulation type',
|
|
'settings.terminal.cursor.style': 'Cursor style',
|
|
'settings.terminal.cursor.style.block': 'Block',
|
|
'settings.terminal.cursor.style.bar': 'Bar',
|
|
'settings.terminal.cursor.style.underline': 'Underline',
|
|
'settings.terminal.cursor.blink': 'Cursor blink',
|
|
'settings.terminal.keyboard.altAsMeta': 'Use Option as Meta key',
|
|
'settings.terminal.keyboard.altAsMeta.desc':
|
|
'Use Option (Alt) as the Meta key instead of for special characters',
|
|
'settings.terminal.keyboard.optionArrowWordJump': 'Option+←/→ jumps by word',
|
|
'settings.terminal.keyboard.optionArrowWordJump.desc':
|
|
'Send Meta-b / Meta-f on Option+Left/Right so the shell moves by word, instead of the default ^[[1;3D / ^[[1;3C',
|
|
'settings.terminal.accessibility.minimumContrastRatio': 'Minimum contrast ratio',
|
|
'settings.terminal.accessibility.minimumContrastRatio.desc':
|
|
'Adjust colors to meet contrast requirements (1 = disabled, 21 = max)',
|
|
'settings.terminal.behavior.rightClick': 'Right-click behavior',
|
|
'settings.terminal.behavior.rightClick.desc': 'Action when right-clicking in terminal',
|
|
'settings.terminal.behavior.rightClick.menu': 'Show menu',
|
|
'settings.terminal.behavior.rightClick.paste': 'Paste',
|
|
'settings.terminal.behavior.rightClick.selectWord': 'Select word',
|
|
'settings.terminal.behavior.copyOnSelect': 'Copy on select',
|
|
'settings.terminal.behavior.copyOnSelect.desc': 'Automatically copy selected text. In tmux/vim with mouse mode, hold Option on macOS or Shift on Windows/Linux to select',
|
|
'settings.terminal.behavior.middleClickPaste': 'Middle-click paste',
|
|
'settings.terminal.behavior.middleClickPaste.desc':
|
|
'Paste clipboard content on middle-click',
|
|
'settings.terminal.behavior.middleClick': 'Middle-click behavior',
|
|
'settings.terminal.behavior.middleClick.desc': 'Action when middle-clicking in terminal',
|
|
'settings.terminal.behavior.middleClick.menu': 'Show menu',
|
|
'settings.terminal.behavior.middleClick.paste': 'Paste',
|
|
'settings.terminal.behavior.middleClick.disabled': 'Do nothing',
|
|
'settings.terminal.behavior.bracketedPaste': 'Bracketed paste mode',
|
|
'settings.terminal.behavior.bracketedPaste.desc':
|
|
'Wrap pasted text with escape sequences so the shell can distinguish paste from typed input. Disable if you see ^[[200~ artifacts.',
|
|
'settings.terminal.behavior.clearWipesScrollback': '`clear` wipes scrollback',
|
|
'settings.terminal.behavior.clearWipesScrollback.desc':
|
|
'Make `clear` also wipe the scrollback buffer (POSIX default). Disable to keep history visible after `clear`.',
|
|
'settings.terminal.behavior.preserveSelectionOnInput': 'Keep selection while typing',
|
|
'settings.terminal.behavior.preserveSelectionOnInput.desc':
|
|
'Don\'t clear mouse-selected text when typing — useful for selecting a path then pasting it after a command prefix like `sz `.',
|
|
'settings.terminal.behavior.forcePromptNewLine': 'Prompt on a new line',
|
|
'settings.terminal.behavior.forcePromptNewLine.desc':
|
|
'When the final line of command output is not terminated by a newline, move the recognized shell prompt to the next visual line.',
|
|
'settings.terminal.behavior.osc52Clipboard': 'OSC-52 clipboard',
|
|
'settings.terminal.behavior.osc52Clipboard.desc':
|
|
'Allow remote programs (tmux, vim, etc.) to access the local clipboard via OSC-52 escape sequences.',
|
|
'settings.terminal.behavior.osc52Clipboard.off': 'Disabled',
|
|
'settings.terminal.behavior.osc52Clipboard.writeOnly': 'Write only',
|
|
'settings.terminal.behavior.osc52Clipboard.readWrite': 'Read & Write',
|
|
'settings.terminal.behavior.osc52Clipboard.prompt': 'Write + Prompt on Read',
|
|
'terminal.osc52.readPrompt.title': 'Clipboard Read Request',
|
|
'terminal.osc52.readPrompt.desc': 'A remote program is requesting to read your clipboard. Allow?',
|
|
'terminal.osc52.readPrompt.allow': 'Allow',
|
|
'terminal.osc52.readPrompt.deny': 'Deny',
|
|
'settings.terminal.behavior.scrollOnInput': 'Scroll on input',
|
|
'settings.terminal.behavior.scrollOnInput.desc': 'Scroll terminal to bottom when typing',
|
|
'settings.terminal.behavior.scrollOnOutput': 'Scroll on output',
|
|
'settings.terminal.behavior.scrollOnOutput.desc':
|
|
'Scroll terminal to bottom when new output arrives',
|
|
'settings.terminal.behavior.scrollOnKeyPress': 'Scroll on key press',
|
|
'settings.terminal.behavior.scrollOnKeyPress.desc':
|
|
'Scroll terminal to bottom when pressing a key (e.g., Enter)',
|
|
'settings.terminal.behavior.scrollOnPaste': 'Scroll on paste',
|
|
'settings.terminal.behavior.scrollOnPaste.desc':
|
|
'Scroll terminal to bottom when pasting text',
|
|
'settings.terminal.behavior.smoothScrolling': 'Smooth scrolling',
|
|
'settings.terminal.behavior.smoothScrolling.desc':
|
|
'Animate terminal viewport scrolling instead of jumping instantly',
|
|
'settings.terminal.behavior.linkModifier': 'Link modifier key',
|
|
'settings.terminal.behavior.linkModifier.desc': 'Hold this key to click on links in terminal',
|
|
'settings.terminal.behavior.linkModifier.none': 'None (click directly)',
|
|
'settings.terminal.behavior.linkModifier.ctrl': 'Ctrl',
|
|
'settings.terminal.behavior.linkModifier.alt': 'Alt / Option',
|
|
'settings.terminal.behavior.linkModifier.meta': 'Cmd / Win',
|
|
'settings.terminal.scrollback.desc': 'Limit number of terminal rows. Set to 0 for no limit.',
|
|
'settings.terminal.scrollback.rows': 'Number of rows *',
|
|
'settings.terminal.section.startupCommand': 'Startup command',
|
|
'settings.terminal.startupCommandDelay.label': 'Startup command delay (ms)',
|
|
'settings.terminal.startupCommandDelay.desc': 'How long to wait after connecting before sending the startup command. Also used between lines when the startup command has multiple lines. Increase for slow connections.',
|
|
'settings.terminal.keywordHighlight.title': 'Keyword highlighting',
|
|
'settings.terminal.keywordHighlight.resetColors': 'Reset to default colors',
|
|
'settings.terminal.keywordHighlight.resetDefaults': 'Reset built-ins to defaults',
|
|
'settings.terminal.keywordHighlight.resetBuiltIn': 'Restore default label and patterns',
|
|
'settings.terminal.keywordHighlight.addCustom': 'Add Custom Rule',
|
|
'settings.terminal.keywordHighlight.editCustom': 'Edit Rule',
|
|
'settings.terminal.keywordHighlight.editBuiltIn': 'Edit Built-in Rule',
|
|
'settings.terminal.keywordHighlight.labelField': 'Label & Color',
|
|
'settings.terminal.keywordHighlight.labelPlaceholder': 'Label (e.g., Down)',
|
|
'settings.terminal.keywordHighlight.patternField': 'Regex Patterns',
|
|
'settings.terminal.keywordHighlight.patternPlaceholder': 'One regex per line (e.g., \\bdown\\b)',
|
|
'settings.terminal.keywordHighlight.patternHint': 'One regex per line. Patterns are matched case-insensitively with the global flag.',
|
|
'settings.terminal.keywordHighlight.invalidPattern': 'Invalid regex pattern',
|
|
'settings.terminal.keywordHighlight.preview': 'Preview',
|
|
'settings.terminal.section.localShell': 'Local Shell',
|
|
'settings.terminal.localShell.shell': 'Shell executable',
|
|
'settings.terminal.localShell.shell.desc': 'Path to the shell executable (e.g., /bin/zsh, pwsh.exe). Leave empty for system default.',
|
|
'settings.terminal.localShell.shell.placeholder': 'System default',
|
|
'settings.terminal.localShell.shell.detected': 'Detected',
|
|
'settings.terminal.localShell.shell.notFound': 'Shell executable not found',
|
|
'settings.terminal.localShell.shell.isDirectory': 'Path is a directory, not an executable',
|
|
'settings.terminal.localShell.shell.default': 'System Default',
|
|
'settings.terminal.localShell.shell.custom': 'Custom...',
|
|
'settings.terminal.localShell.shell.customPath': 'Shell executable path',
|
|
'settings.terminal.localShell.shell.customArgs': 'Launch arguments',
|
|
'settings.terminal.localShell.shell.customArgs.placeholder': 'e.g. --login -i',
|
|
'settings.terminal.localShell.shell.customArgs.desc': 'Arguments passed to the shell. Some shells need them to work — e.g. msys2 bash requires --login -i to load the environment.',
|
|
'settings.terminal.localShell.shell.commonPaths': 'Common paths',
|
|
'settings.terminal.localShell.shell.pathValid': 'Path valid',
|
|
'settings.terminal.localShell.startDir': 'Starting directory',
|
|
'settings.terminal.localShell.startDir.desc': 'Directory to start in when opening a local terminal. Leave empty for home directory.',
|
|
'settings.terminal.localShell.startDir.placeholder': 'Home directory',
|
|
'settings.terminal.localShell.startDir.notFound': 'Directory not found',
|
|
'settings.terminal.localShell.startDir.isFile': 'Path is a file, not a directory',
|
|
'settings.terminal.section.connection': 'Connection',
|
|
'settings.terminal.connection.keepaliveInterval': 'Keepalive Interval',
|
|
'settings.terminal.connection.keepaliveInterval.desc': 'How often (in seconds) to send SSH-level keepalive packets. Set to 0 to disable globally — note that individual hosts can override this in their own settings.',
|
|
'settings.terminal.connection.keepaliveCountMax': 'Max unanswered keepalives',
|
|
'settings.terminal.connection.keepaliveCountMax.desc': 'Unanswered keepalives before the connection is declared dead. Higher values are more forgiving of brief network glitches and SSH servers that respond slowly.',
|
|
'settings.terminal.connection.x11Display': 'X11 display',
|
|
'settings.terminal.connection.x11Display.desc': 'Optional local display address for X11 forwarding. Leave empty to use the system default.',
|
|
'settings.terminal.connection.x11Display.placeholder': 'Auto (:0 or DISPLAY)',
|
|
'settings.terminal.section.serverStats': 'Server Stats (Linux)',
|
|
'settings.terminal.section.systemManager': 'System Manager',
|
|
'settings.terminal.systemManager.processRefreshInterval': 'Process list refresh',
|
|
'settings.terminal.systemManager.processRefreshInterval.desc': 'How often to refresh the process list in the system manager side panel.',
|
|
'settings.terminal.systemManager.tmuxRefreshInterval': 'tmux session refresh',
|
|
'settings.terminal.systemManager.tmuxRefreshInterval.desc': 'How often to refresh the tmux session list.',
|
|
'settings.terminal.systemManager.dockerListRefreshInterval': 'Docker container list refresh',
|
|
'settings.terminal.systemManager.dockerListRefreshInterval.desc': 'How often to refresh the Docker container list.',
|
|
'settings.terminal.systemManager.dockerStatsRefreshInterval': 'Docker stats refresh',
|
|
'settings.terminal.systemManager.dockerStatsRefreshInterval.desc': 'How often to refresh Docker container CPU/memory/network stats.',
|
|
'settings.terminal.serverStats.show': 'Show Server Stats',
|
|
'settings.terminal.serverStats.show.desc': 'Display CPU, memory, and disk usage in the terminal statusbar (Linux servers only).',
|
|
'settings.terminal.serverStats.refreshInterval': 'Refresh Interval',
|
|
'settings.terminal.serverStats.refreshInterval.desc': 'How often to refresh server stats.',
|
|
'settings.terminal.serverStats.seconds': 'seconds',
|
|
|
|
// Settings > Terminal > Rendering
|
|
'settings.terminal.section.rendering': 'Rendering',
|
|
'settings.terminal.rendering.renderer': 'Renderer',
|
|
'settings.terminal.rendering.renderer.desc': 'Choose the terminal rendering technology. Auto will use DOM on low-memory devices. Changes take effect on new terminal sessions.',
|
|
'settings.terminal.rendering.auto': 'Auto',
|
|
|
|
// Settings > Terminal > Workspace Focus Indicator
|
|
'settings.terminal.section.workspaceFocus': 'Workspace Focus Indicator',
|
|
'settings.terminal.workspaceFocus.style': 'Focus indicator style',
|
|
'settings.terminal.workspaceFocus.style.desc': 'How to indicate which pane is focused in split view.',
|
|
'settings.terminal.workspaceFocus.dim': 'Dim unfocused panes',
|
|
'settings.terminal.workspaceFocus.border': 'Border on focused pane',
|
|
|
|
// Settings > Terminal > Autocomplete
|
|
'settings.terminal.section.autocomplete': 'Autocomplete',
|
|
'settings.terminal.autocomplete.enabled': 'Enable autocomplete',
|
|
'settings.terminal.autocomplete.enabled.desc': 'Show command suggestions based on history and command specs as you type.',
|
|
'settings.terminal.autocomplete.ghostText': 'Ghost text',
|
|
'settings.terminal.autocomplete.ghostText.desc': 'Show inline gray suggestion text after the cursor (like fish shell).',
|
|
'settings.terminal.autocomplete.popupMenu': 'Popup menu',
|
|
'settings.terminal.autocomplete.popupMenu.desc': 'Show a floating list of multiple suggestions.',
|
|
|
|
// Settings > Shortcuts
|
|
'settings.shortcuts.section.scheme': 'Hotkey Scheme',
|
|
'settings.shortcuts.scheme.label': 'Keyboard shortcuts',
|
|
'settings.shortcuts.scheme.desc': 'Choose which keyboard layout to use for shortcuts',
|
|
'settings.shortcuts.scheme.disabled': 'Disabled',
|
|
'settings.shortcuts.scheme.mac': 'Mac (Cmd)',
|
|
'settings.shortcuts.scheme.pc': 'PC (Ctrl)',
|
|
'settings.shortcuts.disableTerminalFontZoom.label': 'Disable terminal zoom',
|
|
'settings.shortcuts.disableTerminalFontZoom.desc': 'Turn off terminal font zoom shortcuts, including Cmd/Ctrl + mouse wheel.',
|
|
'settings.shortcuts.shellOnlyTabNumberShortcuts.label': 'Number keys skip pinned tabs',
|
|
'settings.shortcuts.shellOnlyTabNumberShortcuts.desc': 'When enabled, Cmd/Ctrl+[1...9] switches only work tabs (terminals, workspaces, editors), not the pinned Vault or SFTP tabs.',
|
|
'settings.shortcuts.section.custom': 'Custom Shortcuts',
|
|
'settings.shortcuts.resetAll': 'Reset All',
|
|
'settings.shortcuts.recording': 'Press keys...',
|
|
'settings.shortcuts.none': 'None',
|
|
'settings.shortcuts.setDisabled': 'Set to disabled',
|
|
'settings.shortcuts.category.tabs': 'Tabs',
|
|
'settings.shortcuts.category.terminal': 'Terminal',
|
|
'settings.shortcuts.category.navigation': 'Navigation',
|
|
'settings.shortcuts.category.app': 'App',
|
|
'settings.shortcuts.category.sftp': 'SFTP',
|
|
|
|
// Context menus / common actions
|
|
'action.newHost': 'New Host',
|
|
'action.newSubfolder': 'New Subfolder',
|
|
'action.copyPublicKey': 'Copy Public Key',
|
|
'action.keyExport': 'Key Export',
|
|
'action.edit': 'Edit',
|
|
'action.delete': 'Delete',
|
|
'action.duplicate': 'Duplicate',
|
|
'action.open': 'Open',
|
|
'action.copy': 'Copy',
|
|
'action.run': 'Run',
|
|
'action.start': 'Start',
|
|
'action.stop': 'Stop',
|
|
'action.remove': 'Remove',
|
|
'action.convertToHost': 'Convert to Host',
|
|
|
|
// Sync
|
|
'sync.cloudSync': 'Cloud Sync',
|
|
'sync.settings': 'Sync Settings',
|
|
'sync.active': 'Cloud Sync Active',
|
|
'sync.syncing': 'Syncing...',
|
|
'sync.error': 'Sync Error',
|
|
'sync.notConfigured': 'Not Configured',
|
|
'sync.failed': 'Sync failed',
|
|
'sync.connected': 'Connected',
|
|
'sync.syncNow': 'Sync Now',
|
|
'sync.recentActivity': 'Recent activity',
|
|
'sync.history.uploaded': 'Uploaded',
|
|
'sync.history.downloaded': 'Downloaded',
|
|
'sync.history.resolved': 'Resolved',
|
|
'sync.toast.completedMessage': 'Sync completed successfully',
|
|
'sync.toast.errorTitle': 'Sync Error',
|
|
'sync.autoSync.failedTitle': 'Sync failed',
|
|
'sync.autoSync.inspectFailedTitle': 'Sync paused',
|
|
'sync.autoSync.inspectFailedMessage': 'Could not reach the cloud to check for changes. Auto-sync will retry when data changes or the app is restarted.',
|
|
'sync.autoSync.syncedTitle': 'Synced from cloud',
|
|
'sync.autoSync.syncedMessage': 'Your data has been updated from the cloud.',
|
|
'sync.autoSync.noProvider': 'No cloud provider connected. Open Settings → Sync & Cloud to connect one.',
|
|
'sync.autoSync.alreadySyncing': 'Sync is already in progress.',
|
|
'sync.autoSync.restoreInProgress': 'A vault restore is in progress in another window. Please wait for it to finish.',
|
|
'sync.autoSync.interruptedApplyTitle': 'Sync paused — previous restore interrupted',
|
|
'sync.autoSync.interruptedApplyMessage': 'A previous restore did not finish cleanly, so the local vault may be inconsistent. Open Settings → Sync & Cloud → Restore and apply a protective backup before auto-sync resumes.',
|
|
'sync.autoSync.vaultLocked': 'Vault is locked. Open Settings → Sync & Cloud to unlock.',
|
|
'sync.autoSync.conflictDetected': 'Sync conflict detected. Open Settings → Sync & Cloud to resolve.',
|
|
'sync.autoSync.syncFailed': 'Sync failed',
|
|
'sync.autoSync.restoredTitle': 'Vault restored',
|
|
'sync.autoSync.restoredMessage': 'Your vault has been restored from the cloud.',
|
|
'sync.autoSync.keptLocalTitle': 'Kept local vault',
|
|
'sync.autoSync.keptLocalMessage': 'Your empty local vault was kept. Cloud data was not applied.',
|
|
'sync.autoSync.emptyVaultConflict.title': 'Empty Vault Detected',
|
|
'sync.autoSync.emptyVaultConflict.description': 'Your local vault is empty, but the cloud has data. This usually happens after an update or storage reset. What would you like to do?',
|
|
'sync.autoSync.emptyVaultConflict.cloudLabel': 'Cloud',
|
|
'sync.autoSync.emptyVaultConflict.restore': 'Restore from Cloud',
|
|
'sync.autoSync.emptyVaultConflict.restoreDesc': 'Recommended — recover your hosts, keys, and snippets from the cloud backup',
|
|
'sync.autoSync.emptyVaultConflict.keepEmpty': 'Keep Empty',
|
|
'sync.autoSync.emptyVaultConflict.keepEmptyDesc': 'Start fresh with an empty vault',
|
|
'sync.autoSync.emptyVaultConflict.cloudSummary': '{hosts} hosts, {keys} keys, {snippets} snippets, {proxyProfiles} proxies',
|
|
'sync.autoSync.emptyVaultManual': 'Cannot sync: the local vault is empty. Restore from a local backup or enable Force Push in the sync panel first.',
|
|
|
|
'sync.blocked.title': 'Sync paused',
|
|
'sync.blocked.reason.bulkShrink': 'Would delete {lost} of {baseCount} {entityType} from cloud ({percent}% reduction).',
|
|
'sync.blocked.reason.largeShrink': 'Would delete {lost} {entityType} from cloud.',
|
|
'sync.blocked.detail': 'This is usually caused by a degraded local state (keychain failure, partial data load). Restore from a local backup, or force-push if you truly meant to remove these entries.',
|
|
'sync.blocked.restoreButton': 'Restore from local backup',
|
|
'sync.blocked.forcePushButton': 'Force push anyway',
|
|
|
|
'sync.forcePush.title': 'Confirm force push',
|
|
'sync.forcePush.body': 'You are about to remove {lost} {entityType} from the cloud. This cannot be undone. Proceed?',
|
|
'sync.forcePush.confirm': 'Yes, push anyway',
|
|
'sync.forcePush.cancel': 'Cancel',
|
|
|
|
'sync.entityType.hosts': 'hosts',
|
|
'sync.entityType.keys': 'keys',
|
|
'sync.entityType.identities': 'identities',
|
|
'sync.entityType.proxyProfiles': 'proxy profiles',
|
|
'sync.entityType.snippets': 'snippets',
|
|
'sync.entityType.customGroups': 'groups',
|
|
'sync.entityType.snippetPackages': 'snippet packages',
|
|
'sync.entityType.knownHosts': 'known-host entries',
|
|
'sync.entityType.portForwardingRules': 'port-forwarding rules',
|
|
'sync.entityType.groupConfigs': 'group configs',
|
|
|
|
'sync.credentialsUnavailable': 'This device cannot decrypt some saved credentials. Re-enter credentials locally before syncing.',
|
|
'time.never': 'Never',
|
|
'time.justNow': 'Just now',
|
|
'time.minutesAgo': '{minutes}m ago',
|
|
|
|
// Vault navigation
|
|
'vault.nav.hosts': 'Hosts',
|
|
'vault.nav.keychain': 'Keychain',
|
|
'vault.nav.proxies': 'Proxies',
|
|
'vault.nav.portForwarding': 'Port Forwarding',
|
|
'vault.nav.snippets': 'Snippets',
|
|
'vault.nav.knownHosts': 'Known Hosts',
|
|
'vault.nav.logs': 'Logs',
|
|
|
|
'proxyProfiles.action.add': 'Add Proxy',
|
|
'proxyProfiles.search.placeholder': 'Search proxies…',
|
|
'proxyProfiles.section.proxies': 'Proxies',
|
|
'proxyProfiles.count.items': '{count} items',
|
|
'proxyProfiles.empty.title': 'No Proxies',
|
|
'proxyProfiles.empty.desc': 'Create reusable HTTP, SOCKS5, or command proxies and select them from host details.',
|
|
'proxyProfiles.usage': '{count} linked',
|
|
'proxyProfiles.copyName': '{name} Copy',
|
|
'proxyProfiles.panel.newTitle': 'New Proxy',
|
|
'proxyProfiles.field.name': 'Proxy name',
|
|
'proxyProfiles.error.required': 'Name and proxy details are required.',
|
|
'proxyProfiles.error.port': 'Port must be between 1 and 65535.',
|
|
'proxyProfiles.viewMode': 'Proxy view mode',
|
|
'proxyProfiles.delete.title': 'Delete proxy?',
|
|
'proxyProfiles.delete.desc': 'Deleting "{name}" will unlink it from {count} host or group settings.',
|
|
|
|
'vault.groups.title': 'Groups',
|
|
'vault.groups.total': '{count} total',
|
|
'vault.groups.hostsCount': '{count} Hosts',
|
|
'vault.groups.newSubgroup': 'New Subgroup',
|
|
'vault.groups.rename': 'Rename Group',
|
|
'vault.groups.unnamed': 'Unnamed Group',
|
|
'vault.groups.delete': 'Delete Group',
|
|
'vault.groups.createSubfolder': 'Create Subfolder',
|
|
'vault.groups.createRoot': 'Create Root Group',
|
|
'vault.groups.createDialog.desc': 'Create a new group for organizing hosts.',
|
|
'vault.groups.renameDialogTitle': 'Rename Group',
|
|
'vault.groups.renameDialog.desc': 'Rename an existing group.',
|
|
'vault.groups.deleteDialogTitle': 'Delete Group',
|
|
'vault.groups.deleteDialog.desc': 'This will permanently delete the group and move all hosts to the root level.',
|
|
'vault.groups.deleteDialog.managedDesc': 'This is a managed SSH config group. Deleting it will also delete all hosts and unlink from the source file.',
|
|
'vault.groups.deleteDialog.deleteHosts': 'Also delete all hosts in this group',
|
|
'vault.groups.ungrouped': 'Ungrouped',
|
|
'vault.groups.field.name': 'Group Name',
|
|
'vault.groups.placeholder.example': 'e.g. Production',
|
|
'vault.groups.parentLabel': 'Parent',
|
|
'vault.groups.pathLabel': 'Path',
|
|
'vault.groups.settings': 'Group Settings',
|
|
'vault.groups.details': 'Group Details',
|
|
'vault.groups.details.general': 'General',
|
|
'vault.groups.details.ssh': 'SSH',
|
|
'vault.groups.details.telnet': 'Telnet',
|
|
'vault.groups.details.advanced': 'Advanced',
|
|
'vault.groups.details.appearance': 'Appearance',
|
|
'vault.groups.details.mosh': 'Mosh',
|
|
'vault.groups.details.parentGroup': 'Parent Group',
|
|
'vault.groups.details.none': 'None',
|
|
'vault.groups.details.inherited': 'Inherited from group',
|
|
'vault.groups.details.addProtocol': 'Add Protocol',
|
|
'vault.groups.details.removeProtocol': 'Remove Protocol',
|
|
'vault.groups.details.fontFamily': 'Font Family',
|
|
'vault.groups.details.fontSize': 'Font Size',
|
|
'vault.groups.errors.required': 'Group name is required.',
|
|
'vault.groups.errors.invalidChars': "Group name cannot include '/' or '\\\\'.",
|
|
'vault.groups.errors.duplicatePath': 'A group with this name already exists at this location.',
|
|
|
|
'vault.managedSource.unmanage': 'Unmanage',
|
|
'vault.managedSource.unmanageSuccess': 'Successfully unmanaged group',
|
|
|
|
'vault.hosts.header.entries': '{count} entries',
|
|
'vault.hosts.header.live': '{count} live',
|
|
|
|
// Vault hosts header/actions
|
|
'vault.hosts.search.placeholder': 'Find a host or ssh user@hostname / ssh -p 2222 user@hostname...',
|
|
'vault.hosts.connect': 'Connect',
|
|
'vault.view.grid': 'Grid',
|
|
'vault.view.list': 'List',
|
|
'vault.view.tree': 'Tree',
|
|
'vault.tree.expandAll': 'Expand All',
|
|
'vault.tree.collapseAll': 'Collapse All',
|
|
'vault.hosts.newHost': 'New Host',
|
|
'vault.hosts.newGroup': 'New Group',
|
|
'vault.hosts.import': 'Import',
|
|
'vault.hosts.export': 'Export',
|
|
'vault.hosts.export.toast.success': 'Exported {count} hosts to CSV',
|
|
'vault.hosts.export.toast.successWithSkipped': 'Exported {count} hosts to CSV ({skipped} unsupported hosts skipped)',
|
|
'vault.hosts.export.toast.noHosts': 'No hosts to export',
|
|
'vault.hosts.allHosts': 'All hosts',
|
|
'vault.hosts.pinned': 'Pinned',
|
|
'vault.hosts.recentlyConnected': 'Recently Connected',
|
|
'vault.hosts.pinToTop': 'Pin to Top',
|
|
'vault.hosts.unpin': 'Unpin',
|
|
'vault.hosts.copyCredentials': 'Copy Credentials',
|
|
'vault.hosts.copyCredentials.toast.success': 'Credentials copied to clipboard',
|
|
'vault.hosts.copyCredentials.toast.noPassword': 'No password saved for this host',
|
|
'vault.hosts.multiSelect': 'Multi-select',
|
|
'vault.hosts.selected': '{count} selected',
|
|
'vault.hosts.selectAll': 'Select All',
|
|
'vault.hosts.deselectAll': 'Deselect All',
|
|
'vault.hosts.deleteSelected': 'Delete ({count})',
|
|
'vault.hosts.deleteMultiple.success': 'Deleted {count} hosts',
|
|
'vault.hosts.connectSelected': 'Connect ({count})',
|
|
'vault.hosts.connectMultiple.success': 'Connecting {count} hosts',
|
|
'vault.hosts.moveToGroup.success': 'Moved {host} to {group}',
|
|
'vault.hosts.errors.nameRequired': 'Host name is required.',
|
|
'vault.hosts.empty.title': 'Set up your hosts',
|
|
'vault.hosts.empty.desc': 'Save hosts to quickly connect to your servers, VMs, and containers.',
|
|
|
|
};
|