1140 lines
63 KiB
TypeScript
1140 lines
63 KiB
TypeScript
|
|
import type { Messages } from '../types';
|
|||
|
|
|
|||
|
|
export const zhTWCoreMessages: Messages = {
|
|||
|
|
// Common
|
|||
|
|
'common.save': '儲存',
|
|||
|
|
'common.cancel': '取消',
|
|||
|
|
'common.close': '關閉',
|
|||
|
|
'common.reset': '重設',
|
|||
|
|
'common.zoomIn': '放大',
|
|||
|
|
'common.zoomOut': '縮小',
|
|||
|
|
'common.settings': '設定',
|
|||
|
|
'common.search': '搜尋',
|
|||
|
|
'common.connect': '連線',
|
|||
|
|
'common.terminal': '終端',
|
|||
|
|
'common.create': '建立',
|
|||
|
|
'common.add': '新增',
|
|||
|
|
'common.rename': '重新命名',
|
|||
|
|
'common.refresh': '重新整理',
|
|||
|
|
'common.continue': '繼續',
|
|||
|
|
'common.enabled': '已啟用',
|
|||
|
|
'common.disabled': '已停用',
|
|||
|
|
'common.unknownError': '未知錯誤',
|
|||
|
|
'common.noResultsFound': '沒有相符結果',
|
|||
|
|
'common.back': '返回',
|
|||
|
|
'common.apply': '套用',
|
|||
|
|
'common.use': '使用',
|
|||
|
|
'common.useGlobal': '跟隨全域',
|
|||
|
|
'common.left': '左側',
|
|||
|
|
'common.right': '右側',
|
|||
|
|
'common.more': '更多',
|
|||
|
|
'toolbar.layout.customize': '自訂工具列',
|
|||
|
|
'toolbar.layout.show': '顯示',
|
|||
|
|
'toolbar.layout.collapse': '摺疊',
|
|||
|
|
'toolbar.layout.hide': '隱藏',
|
|||
|
|
'toolbar.layout.moveEarlier': '前移',
|
|||
|
|
'toolbar.layout.moveLater': '後移',
|
|||
|
|
'toolbar.layout.reset': '恢復預設',
|
|||
|
|
'common.selectAHost': '選擇主機',
|
|||
|
|
'sort.manual': '手動順序',
|
|||
|
|
'sort.az': 'A-z',
|
|||
|
|
'sort.za': 'Z-a',
|
|||
|
|
'sort.newest': '從新到舊',
|
|||
|
|
'sort.oldest': '從舊到新',
|
|||
|
|
'sort.group': '依群組',
|
|||
|
|
'field.label': 'Label',
|
|||
|
|
'field.type': '型別',
|
|||
|
|
'auth.keyType': '型別 {type}',
|
|||
|
|
'auth.showAllKeys': '顯示全部 keys',
|
|||
|
|
|
|||
|
|
// Dialogs / prompts
|
|||
|
|
'confirm.deleteHost': '刪除主機 "{name}"?',
|
|||
|
|
'confirm.deleteIdentity': '刪除身分 "{name}"?',
|
|||
|
|
'confirm.removeProvider': '移除供應商 "{name}"?',
|
|||
|
|
'confirm.closeBusyTerminal.title': '確認關閉',
|
|||
|
|
'confirm.closeBusyTerminal.message': '程序 "{command}" 仍在執行,關閉後會被終止。',
|
|||
|
|
'confirm.closeBusyTerminal.messageWithMore': '程序 "{command}" 及其他 {count} 個正在執行的程序將被終止。',
|
|||
|
|
'confirm.closeBusyTerminal.cancel': '取消',
|
|||
|
|
'confirm.closeBusyTerminal.close': '關閉',
|
|||
|
|
'dialog.createWorkspace.title': '建立工作區',
|
|||
|
|
'dialog.renameWorkspace.title': '重新命名工作區',
|
|||
|
|
'dialog.renameSession.title': '重新命名工作階段',
|
|||
|
|
'field.name': '名稱',
|
|||
|
|
'field.selectHosts': '選擇主機',
|
|||
|
|
'placeholder.workspaceName': '工作區名稱',
|
|||
|
|
'placeholder.sessionName': '工作階段名稱',
|
|||
|
|
'placeholder.searchHosts': '搜尋主機...',
|
|||
|
|
'toast.settingsUnavailable': '目前平台無法開啟設定視窗。',
|
|||
|
|
'credentials.protectionUnavailable.title': '憑證保護不可用',
|
|||
|
|
'credentials.protectionUnavailable.message': '目前裝置無法自動解密已儲存的密碼和金鑰。連線前請重新輸入憑證。',
|
|||
|
|
'credentials.protectionUnavailable.action': '開啟設定',
|
|||
|
|
|
|||
|
|
// App Lock
|
|||
|
|
'appLock.title': 'NetMesh 已鎖定',
|
|||
|
|
'appLock.reason.default': '請輸入鎖定密碼以繼續。',
|
|||
|
|
'appLock.reason.startup': 'NetMesh 會在每次開啟這個視窗時鎖定。',
|
|||
|
|
'appLock.reason.idle': 'NetMesh 已因閒置逾時而鎖定。',
|
|||
|
|
'appLock.reason.manual': 'NetMesh 已被手動鎖定。',
|
|||
|
|
'appLock.passwordLabel': '鎖定密碼',
|
|||
|
|
'appLock.passwordPlaceholder': '輸入密碼以解鎖',
|
|||
|
|
'appLock.unlock': '解鎖',
|
|||
|
|
'appLock.unlocking': '正在解鎖...',
|
|||
|
|
'appLock.usePassword': '改用密碼解鎖',
|
|||
|
|
'appLock.error.emptyPassword': '請輸入鎖定密碼。',
|
|||
|
|
'appLock.error.incorrectPassword': '鎖定密碼不正確。',
|
|||
|
|
'appLock.systemUnlock.unlockWith': '使用 {label} 解鎖',
|
|||
|
|
'appLock.systemUnlock.preparing': '正在準備 {label}...',
|
|||
|
|
'appLock.systemUnlock.verifying': '正在等待 {label}...',
|
|||
|
|
'appLock.systemUnlock.error': '系統解鎖未完成。請改用鎖定密碼繼續。',
|
|||
|
|
'appLock.logoLabel': 'NetMesh',
|
|||
|
|
'appLock.reset.title': '重設應用程式鎖定',
|
|||
|
|
'appLock.reset.description': '這會移除目前的鎖定密碼並關閉應用程式鎖定。之後需要再用時,請到設定裡建立新密碼。',
|
|||
|
|
'appLock.reset.cancel': '取消',
|
|||
|
|
'appLock.reset.confirm': '重設應用程式鎖定',
|
|||
|
|
'appLock.reset.resetting': '正在重設...',
|
|||
|
|
'appLock.reset.error': '無法重設應用程式鎖定,請重試。',
|
|||
|
|
'topTabs.lockApp': '鎖定 NetMesh',
|
|||
|
|
|
|||
|
|
// Settings shell
|
|||
|
|
'settings.title': '設定',
|
|||
|
|
'settings.tab.application': '應用程式',
|
|||
|
|
'settings.tab.appearance': '外觀',
|
|||
|
|
'settings.tab.terminal': '終端',
|
|||
|
|
'settings.tab.shortcuts': '快速鍵',
|
|||
|
|
'settings.tab.ai': 'AI',
|
|||
|
|
'settings.tab.syncCloud': '同步與雲',
|
|||
|
|
'settings.tab.system': '系統',
|
|||
|
|
'settings.search.open': '搜尋設定',
|
|||
|
|
'settings.search.placeholder': '搜尋設定項…',
|
|||
|
|
'settings.search.noResults': '沒有符合的設定項',
|
|||
|
|
'settings.terminal.connection.verifyHostKeys': '驗證 SSH 主機金鑰',
|
|||
|
|
'settings.terminal.connection.verifyHostKeys.desc': '連線到新的或已變化的 SSH 主機金鑰前先詢問。只建議在可信內網中關閉。',
|
|||
|
|
'settings.terminal.section.sidePanel': '側邊欄',
|
|||
|
|
'settings.terminal.sidePanel.autoOpen': '開啟終端時展開側邊欄',
|
|||
|
|
'settings.terminal.sidePanel.autoOpen.desc': '終端連線成功後自動開啟一個側邊欄。',
|
|||
|
|
'settings.terminal.sidePanel.autoOpenPane': '預設側邊欄',
|
|||
|
|
'settings.terminal.sidePanel.autoOpenPane.desc': '選擇優先開啟哪個面板。',
|
|||
|
|
'settings.terminal.sidePanel.pane.sftp': 'SFTP',
|
|||
|
|
'settings.terminal.sidePanel.pane.scripts': '指令碼',
|
|||
|
|
'settings.terminal.sidePanel.pane.history': '歷史',
|
|||
|
|
'settings.terminal.sidePanel.pane.theme': '主題',
|
|||
|
|
'settings.terminal.sidePanel.pane.system': '系統',
|
|||
|
|
'settings.terminal.sidePanel.pane.notes': '筆記',
|
|||
|
|
'settings.terminal.sidePanel.pane.ai': 'AI',
|
|||
|
|
|
|||
|
|
// Settings > System
|
|||
|
|
'settings.system.title': '系統',
|
|||
|
|
'settings.system.description': '系統資訊與臨時檔案管理。',
|
|||
|
|
'settings.system.tempDirectory': '臨時檔案',
|
|||
|
|
'settings.system.location': '位置',
|
|||
|
|
'settings.system.fileCount': '檔案數量',
|
|||
|
|
'settings.system.totalSize': '佔用空間',
|
|||
|
|
'settings.system.openFolder': '開啟資料夾',
|
|||
|
|
'settings.system.refresh': '重新整理',
|
|||
|
|
'settings.system.clearTempFiles': '清理臨時檔案',
|
|||
|
|
'settings.system.clearing': '清理中...',
|
|||
|
|
'settings.system.clearResult': '已刪除 {deleted} 個檔案,{failed} 個失敗。',
|
|||
|
|
'settings.system.tempDirectoryHint': '臨時檔案在使用外部應用程式開啟遠端檔案時建立。SFTP 工作階段關閉時會自動清理。',
|
|||
|
|
'settings.system.credentials.title': '憑證保護',
|
|||
|
|
'settings.system.credentials.status': '狀態',
|
|||
|
|
'settings.system.credentials.checking': '檢查中...',
|
|||
|
|
'settings.system.credentials.available': '可用(系統鑰匙串正常)',
|
|||
|
|
'settings.system.credentials.unavailable': '不可用(無法解密已儲存憑證)',
|
|||
|
|
'settings.system.credentials.unknown': '未知(目前環境不支援)',
|
|||
|
|
'settings.system.credentials.unavailableHint': '在其他使用者或機器上加密的憑證無法在此處解密。請在目前裝置重新輸入並儲存憑證。',
|
|||
|
|
'settings.system.credentials.portabilityHint': '雲同步可跨裝置,因為使用主金鑰加密;本機 safeStorage 加密僅綁定目前系統使用者/裝置。',
|
|||
|
|
|
|||
|
|
// Settings > System > App Lock
|
|||
|
|
'settings.appLock.title': '應用程式鎖定',
|
|||
|
|
'settings.appLock.description': '在 NetMesh 開啟、閒置一段時間或手動鎖定後,要求輸入本機的鎖定密碼。',
|
|||
|
|
'settings.appLock.setupTitle': '設定鎖定密碼',
|
|||
|
|
'settings.appLock.setupDescription': '請在下方建立密碼,儲存後會立即啟用應用程式鎖定。',
|
|||
|
|
'settings.appLock.manageTitle': '應用程式鎖定已就緒',
|
|||
|
|
'settings.appLock.enabledStatus': '已啟用。NetMesh 會在啟動、閒置逾時以及手動鎖定時要求輸入密碼。',
|
|||
|
|
'settings.appLock.disabledStatus': '密碼已儲存,但應用程式鎖定目前為關閉。',
|
|||
|
|
'settings.appLock.disableTitle': '關閉應用程式鎖定',
|
|||
|
|
'settings.appLock.disableDescription': '輸入目前的鎖定密碼即可停止鎖定 NetMesh。已儲存的密碼會一併移除;日後要再啟用必須重新建立新密碼。',
|
|||
|
|
'settings.appLock.disable': '關閉應用程式鎖定',
|
|||
|
|
'settings.appLock.disabling': '正在關閉...',
|
|||
|
|
'settings.appLock.setupPasswordTitle': '建立鎖定密碼',
|
|||
|
|
'settings.appLock.setupPasswordDescription': '這組密碼用來解鎖 NetMesh,日後修改或關閉應用程式鎖定時也會用到。',
|
|||
|
|
'settings.appLock.changePasswordTitle': '修改鎖定密碼',
|
|||
|
|
'settings.appLock.changePasswordDescription': '先輸入目前的鎖定密碼,再設定新密碼。',
|
|||
|
|
'settings.appLock.enable': '啟用應用程式鎖定',
|
|||
|
|
'settings.appLock.enableDesc': '啟動時鎖定,並在達到所選的閒置逾時後鎖定。',
|
|||
|
|
'settings.appLock.timeout': '閒置逾時',
|
|||
|
|
'settings.appLock.timeoutDesc': '閒置時鎖定,關閉到系統匣時也會鎖定。選擇「不自動鎖定」則兩者都不會鎖定。',
|
|||
|
|
'settings.appLock.timeout.0': '不自動鎖定',
|
|||
|
|
'settings.appLock.timeout.1': '1 分鐘',
|
|||
|
|
'settings.appLock.timeout.5': '5 分鐘',
|
|||
|
|
'settings.appLock.timeout.15': '15 分鐘',
|
|||
|
|
'settings.appLock.timeout.30': '30 分鐘',
|
|||
|
|
'settings.appLock.timeout.60': '60 分鐘',
|
|||
|
|
'settings.appLock.systemUnlock.label': '{label} 解鎖',
|
|||
|
|
'settings.appLock.systemUnlock.desc': '在這台裝置上,使用 {label} 作為解鎖 NetMesh 的另一種方式。',
|
|||
|
|
'settings.appLock.systemUnlock.unavailableDesc': '這台裝置目前無法使用 {label}。',
|
|||
|
|
'settings.appLock.systemUnlock.unavailable': '這台裝置目前無法使用系統解鎖。',
|
|||
|
|
'settings.appLock.systemUnlock.locked': '請先解鎖 NetMesh,再變更系統解鎖設定。',
|
|||
|
|
'settings.appLock.systemUnlock.autoPrompt.label': '自動開啟 {label}',
|
|||
|
|
'settings.appLock.systemUnlock.autoPrompt.desc': '當 NetMesh 等待解鎖時,自動顯示 {label} 驗證提示。',
|
|||
|
|
'settings.appLock.currentPassword': '目前密碼',
|
|||
|
|
'settings.appLock.currentPasswordPlaceholder': '停用或更換時需要',
|
|||
|
|
'settings.appLock.currentPasswordForDisablePlaceholder': '用於關閉應用程式鎖定的目前密碼',
|
|||
|
|
'settings.appLock.currentPasswordForChangePlaceholder': '用於修改密碼的目前密碼',
|
|||
|
|
'settings.appLock.newPassword': '新密碼',
|
|||
|
|
'settings.appLock.newPasswordPlaceholder': '設定鎖定密碼',
|
|||
|
|
'settings.appLock.confirmPassword': '確認密碼',
|
|||
|
|
'settings.appLock.confirmPasswordPlaceholder': '再次輸入密碼',
|
|||
|
|
'settings.appLock.savePassword': '設定並啟用',
|
|||
|
|
'settings.appLock.savingPassword': '正在儲存...',
|
|||
|
|
'settings.appLock.passwordSet': '密碼已設定',
|
|||
|
|
'settings.appLock.replacePassword': '更換密碼',
|
|||
|
|
'settings.appLock.enableAfterPassword': '請先設定鎖定密碼,再啟用應用程式鎖定。',
|
|||
|
|
'settings.appLock.localOnlyHint': '僅限本裝置的隱私鎖。不會同步,也不是作業系統層級的安全邊界。',
|
|||
|
|
'settings.appLock.validation.currentRequired': '請輸入目前的鎖定密碼。',
|
|||
|
|
'settings.appLock.validation.newRequired': '請輸入新的鎖定密碼。',
|
|||
|
|
'settings.appLock.validation.confirmRequired': '請確認新的鎖定密碼。',
|
|||
|
|
'settings.appLock.validation.mismatch': '兩次輸入的新密碼不一致。',
|
|||
|
|
'settings.appLock.validation.incorrect': '目前的鎖定密碼不正確。',
|
|||
|
|
|
|||
|
|
// Settings > System > Auto Launch
|
|||
|
|
'settings.autoLaunch.title': '開機自動啟動',
|
|||
|
|
'settings.autoLaunch.enabled': '開機時自動啟動',
|
|||
|
|
'settings.autoLaunch.enabledDesc': '系統啟動時自動執行 NetMesh,並隱藏到系統匣。',
|
|||
|
|
'settings.autoLaunch.unsupportedDesc': '目前平台不支援此功能,或處於開發環境。',
|
|||
|
|
|
|||
|
|
// Settings > System > Network Proxy
|
|||
|
|
'settings.system.networkProxy.title': '網路代理',
|
|||
|
|
'settings.system.networkProxy.description': '用於雲端同步與 AI 服務商的 HTTP(S) 代理。與 SSH 的 ProxyJump / ProxyCommand 設定無關。',
|
|||
|
|
'settings.system.networkProxy.mode': '代理模式',
|
|||
|
|
'settings.system.networkProxy.mode.system': '系統代理',
|
|||
|
|
'settings.system.networkProxy.mode.direct': '直連(不使用代理)',
|
|||
|
|
'settings.system.networkProxy.mode.custom': '自訂代理',
|
|||
|
|
'settings.system.networkProxy.url': '代理位址',
|
|||
|
|
'settings.system.networkProxy.url.placeholder': 'http://127.0.0.1:7890',
|
|||
|
|
'settings.system.networkProxy.url.desc': '支援 http://、https://、socks5:// 的 host:port 位址。代理 URL 中不支援帳號密碼。',
|
|||
|
|
'settings.system.networkProxy.bypass': '略過清單',
|
|||
|
|
'settings.system.networkProxy.bypass.placeholder': '<local>,localhost,127.0.0.1',
|
|||
|
|
'settings.system.networkProxy.bypass.desc': '逗號分隔、不走代理的主機。可用 <local> 表示本機與區域網路名稱。',
|
|||
|
|
'settings.system.networkProxy.hint': '影響 Google Drive / OneDrive / GitHub 同步登入與 AI 服務商請求,不會改變 SSH 連線。',
|
|||
|
|
|
|||
|
|
// Settings > System > Crash Logs
|
|||
|
|
'settings.system.crashLogs.title': '崩潰日誌',
|
|||
|
|
'settings.system.crashLogs.description': '檢視主程序錯誤日誌,協助診斷異常行為。',
|
|||
|
|
'settings.system.crashLogs.noLogs': '未找到崩潰日誌。',
|
|||
|
|
'settings.system.crashLogs.entries': '{count} 條記錄',
|
|||
|
|
'settings.system.crashLogs.clear': '清除所有日誌',
|
|||
|
|
'settings.system.crashLogs.cleared': '已清除 {count} 個日誌檔案。',
|
|||
|
|
'settings.system.crashLogs.source': '來源',
|
|||
|
|
'settings.system.crashLogs.time': '時間',
|
|||
|
|
'settings.system.crashLogs.message': '訊息',
|
|||
|
|
'settings.system.crashLogs.stack': '堆疊追蹤',
|
|||
|
|
'settings.system.crashLogs.hint': '崩潰日誌保留 30 天,超期自動清理。',
|
|||
|
|
'settings.system.crashLogs.collapse': '收起',
|
|||
|
|
'settings.system.crashLogs.expand': '檢視詳情',
|
|||
|
|
|
|||
|
|
// Settings > System > Software Update
|
|||
|
|
'settings.update.title': '軟體更新',
|
|||
|
|
'settings.update.currentVersion': '目前版本',
|
|||
|
|
'settings.update.checkForUpdates': '檢查更新',
|
|||
|
|
'settings.update.checking': '檢查中...',
|
|||
|
|
'settings.update.upToDate': '目前已是最新版本。',
|
|||
|
|
'settings.update.available': '新版本 {version} 已釋出。',
|
|||
|
|
'settings.update.download': '下載更新',
|
|||
|
|
'settings.update.downloading': '正在下載... {percent}%',
|
|||
|
|
'settings.update.readyToInstall': '更新已下載,準備安裝。',
|
|||
|
|
'settings.update.restartNow': '重新啟動並更新',
|
|||
|
|
'settings.update.error': '檢查更新失敗。',
|
|||
|
|
'settings.update.downloadError': '下載失敗。',
|
|||
|
|
'settings.update.manualDownload': '前往 GitHub 下載',
|
|||
|
|
'settings.update.manualDownloadHint': '目前平台不支援自動更新,請前往 GitHub 下載最新版本。',
|
|||
|
|
'settings.update.hint': 'NetMesh 從 GitHub Releases 檢查更新。',
|
|||
|
|
'settings.update.lastCheckedJustNow': '剛剛',
|
|||
|
|
'settings.update.lastCheckedMinutesAgo': '{n} 分鐘前',
|
|||
|
|
'settings.update.lastCheckedHoursAgo': '{n} 小時前',
|
|||
|
|
'settings.update.lastCheckedPrefix': '上次檢查:',
|
|||
|
|
'settings.update.autoUpdateEnabled': '自動更新',
|
|||
|
|
'settings.update.autoUpdateEnabledDesc': '有新版本時自動檢查並下載更新。',
|
|||
|
|
|
|||
|
|
// Settings > Session Restore
|
|||
|
|
'settings.sessionRestore.title': '工作階段恢復',
|
|||
|
|
'settings.sessionRestore.startupLanding': '啟動時開啟',
|
|||
|
|
'settings.sessionRestore.startupLandingDesc': '當沒有可恢復的工作階段時,選擇啟動後進入主機主頁還是直接開啟本機終端。',
|
|||
|
|
'settings.sessionRestore.startupLanding.vault': '主頁(主機)',
|
|||
|
|
'settings.sessionRestore.startupLanding.localTerminal': '本機終端',
|
|||
|
|
'settings.sessionRestore.restorePreviousSession': '恢復上次的分頁和工作區',
|
|||
|
|
'settings.sessionRestore.restorePreviousSessionDesc': '啟動時重新開啟上次的終端分頁和工作區佈局。',
|
|||
|
|
'settings.sessionRestore.restoreTerminalCwd': '恢復終端工作目錄',
|
|||
|
|
'settings.sessionRestore.restoreTerminalCwdDesc': '重新連線恢復的終端時,嘗試回到上次記錄的目錄;失敗時不會阻塞連線。',
|
|||
|
|
'terminal.restore.placeholder.title': '已恢復的工作階段',
|
|||
|
|
'terminal.restore.placeholder.desc': '此終端目前已斷開。準備好後可以重新連線,為這個分頁啟動新的 shell。',
|
|||
|
|
'terminal.restore.placeholder.reconnect': '重新連線',
|
|||
|
|
'terminal.restore.cwdLog': '正在恢復工作目錄:{cwd}',
|
|||
|
|
|
|||
|
|
// Settings > Session Logs
|
|||
|
|
'settings.sessionLogs.title': '工作階段日誌',
|
|||
|
|
'settings.sessionLogs.description': '設定工作階段日誌匯出和自動儲存設定。',
|
|||
|
|
'settings.sessionLogs.autoSave': '自動儲存',
|
|||
|
|
'settings.sessionLogs.enableAutoSave': '啟用自動儲存',
|
|||
|
|
'settings.sessionLogs.enableAutoSaveDesc': '在終端工作階段結束時自動儲存工作階段日誌。',
|
|||
|
|
'settings.sessionLogs.directory': '儲存目錄',
|
|||
|
|
'settings.sessionLogs.noDirectory': '未選擇目錄',
|
|||
|
|
'settings.sessionLogs.browse': '瀏覽',
|
|||
|
|
'settings.sessionLogs.openFolder': '開啟資料夾',
|
|||
|
|
'settings.sessionLogs.directoryHint': '日誌將按主機名組織在子目錄中。',
|
|||
|
|
'settings.sessionLogs.format': '日誌格式',
|
|||
|
|
'settings.sessionLogs.formatDesc': '選擇儲存日誌檔案的格式。',
|
|||
|
|
'settings.sessionLogs.formatTxt': '純文字 (.txt)',
|
|||
|
|
'settings.sessionLogs.formatRaw': '原始格式 (.log)',
|
|||
|
|
'settings.sessionLogs.formatHtml': 'HTML (.html)',
|
|||
|
|
'settings.sessionLogs.timestamps': '新增時間戳',
|
|||
|
|
'settings.sessionLogs.timestampsDesc': '為純文字和 HTML 日誌的每一行新增本機時間。',
|
|||
|
|
'settings.sessionLogs.hint': '工作階段日誌用於記錄終端輸出,便於故障排查和審計。',
|
|||
|
|
'settings.sessionLogs.clearAll': '清空所有日誌',
|
|||
|
|
'settings.sessionLogs.clearAllDesc': '刪除儲存目錄中所有工作階段日誌檔案及主機子目錄。',
|
|||
|
|
'settings.sessionLogs.clearConfirm': '此操作將永久刪除儲存目錄中的所有工作階段日誌檔案,且無法復原,是否繼續?',
|
|||
|
|
|
|||
|
|
// Settings > SSH Debug Logs
|
|||
|
|
'settings.sshDebugLogs.title': 'SSH 除錯日誌',
|
|||
|
|
'settings.sshDebugLogs.enable': '啟用 SSH 除錯日誌',
|
|||
|
|
'settings.sshDebugLogs.enableDesc': '記錄連線、認證、握手、斷開和錯誤原因,不記錄終端輸出。',
|
|||
|
|
'settings.sshDebugLogs.location': '日誌位置',
|
|||
|
|
'settings.sshDebugLogs.status': '狀態',
|
|||
|
|
'settings.sshDebugLogs.statusOn': '已開啟',
|
|||
|
|
'settings.sshDebugLogs.statusOff': '未開啟',
|
|||
|
|
'settings.sshDebugLogs.size': '大小',
|
|||
|
|
'settings.sshDebugLogs.hint': '開啟後,新發起的 SSH 連線會寫入診斷資訊,方便排查堡壘機、認證和異常斷開問題。',
|
|||
|
|
|
|||
|
|
// Settings > Global Hotkey (Quake Mode)
|
|||
|
|
'settings.globalHotkey.title': '全域快速鍵',
|
|||
|
|
'settings.globalHotkey.toggleWindow': '切換視窗',
|
|||
|
|
'settings.globalHotkey.toggleWindowDesc': '按下組合鍵以設定顯示/隱藏視窗的全域快速鍵。',
|
|||
|
|
'settings.globalHotkey.notSet': '未設定',
|
|||
|
|
'settings.globalHotkey.reset': '恢復預設',
|
|||
|
|
'settings.globalHotkey.closeToTray': '關閉時最小化到系統匣',
|
|||
|
|
'settings.globalHotkey.closeToTrayDesc': '啟用後,關閉視窗將最小化到系統匣而不是結束程式。',
|
|||
|
|
'settings.globalHotkey.enabled': '啟用全域快速鍵',
|
|||
|
|
'settings.globalHotkey.enabledDesc': '註冊系統級鍵盤快速鍵。停用後將取消所有全域快速鍵註冊。',
|
|||
|
|
'settings.globalHotkey.hint': '全域快速鍵在系統範圍內工作,可快速顯示或隱藏視窗(下拉式終端風格)。',
|
|||
|
|
|
|||
|
|
// Tray Panel
|
|||
|
|
'tray.openMainWindow': '開啟主視窗',
|
|||
|
|
'tray.sessions': '工作階段',
|
|||
|
|
'tray.portForwarding': '埠轉發',
|
|||
|
|
'tray.status.connected': '已連線',
|
|||
|
|
'tray.status.connecting': '連線中',
|
|||
|
|
'tray.status.disconnected': '已斷開',
|
|||
|
|
'tray.status.active': '已啟用',
|
|||
|
|
'tray.status.inactive': '未啟用',
|
|||
|
|
'tray.status.error': '錯誤',
|
|||
|
|
'tray.status.unknown': '未知',
|
|||
|
|
'tray.recentHosts': '最近連線的主機',
|
|||
|
|
'tray.empty.title': '一切都很安靜',
|
|||
|
|
'tray.empty.subtitle': '去連線個伺服器吧,它們想念你了 🚀',
|
|||
|
|
'tray.quit': '結束 NetMesh',
|
|||
|
|
'tray.closeSession': '關閉工作階段',
|
|||
|
|
|
|||
|
|
// Vault Sidebar
|
|||
|
|
'vault.sidebar.collapse': '收起側邊欄',
|
|||
|
|
'vault.sidebar.expand': '展開側邊欄',
|
|||
|
|
'vault.sidebar.resize': '調整側邊欄寬度',
|
|||
|
|
|
|||
|
|
// Settings > Application
|
|||
|
|
'settings.application.checkUpdates': '檢查更新',
|
|||
|
|
'settings.application.reportProblem': '反饋問題',
|
|||
|
|
'settings.application.reportProblem.subtitle': '產生預填的 GitHub issue',
|
|||
|
|
'settings.application.community': '社群',
|
|||
|
|
'settings.application.community.subtitle': 'GitHub Discussions',
|
|||
|
|
'settings.application.github': 'GitHub',
|
|||
|
|
'settings.application.github.subtitle': '原始碼',
|
|||
|
|
'settings.application.whatsNew': '更新內容',
|
|||
|
|
'settings.application.whatsNew.subtitle': '檢視釋出說明',
|
|||
|
|
'settings.application.openExternal.failedTitle': '無法開啟連結',
|
|||
|
|
'settings.application.openExternal.failedBody': '系統瀏覽器和內建瀏覽器視窗都無法開啟該連結。',
|
|||
|
|
'settings.vault.title': '主機庫',
|
|||
|
|
'settings.vault.showRecentHosts': '顯示最近連線的主機',
|
|||
|
|
'settings.vault.showRecentHostsDesc': '在主機列表頂部顯示最近連線過的主機',
|
|||
|
|
'settings.vault.selectBeforeConnect': '先選取再連線',
|
|||
|
|
'settings.vault.selectBeforeConnectDesc': '點一下選取主機(網格模式會顯示強調色邊框),再點一下才連線;群組同理。預設仍是點一下直接連線。',
|
|||
|
|
'settings.vault.showOnlyUngroupedHostsInRoot': '根目錄只顯示未歸類主機',
|
|||
|
|
'settings.vault.showOnlyUngroupedHostsInRootDesc': '開啟後,主機庫根目錄的主機列表只顯示沒有群組的主機,已歸類的主機請從左側群組進入檢視。',
|
|||
|
|
'settings.vault.showSftpTab': '顯示 SFTP 分頁',
|
|||
|
|
'settings.vault.showSftpTabDesc': '在頂部分頁列顯示獨立的 SFTP 檢視。關閉後可改用工作階段內左側的 SFTP 側欄。',
|
|||
|
|
'settings.vault.showHostTreeSidebar': '顯示主機列表側欄',
|
|||
|
|
'settings.vault.showHostTreeSidebarDesc': '在終端和編輯器分頁顯示主機列表側欄及頂部開關。',
|
|||
|
|
'settings.vault.autoImportSystemKnownHosts': '自動匯入系統 known_hosts',
|
|||
|
|
'settings.vault.autoImportSystemKnownHostsDesc': '開啟主機庫時靜默匯入 OpenSSH known_hosts 中的記錄。關閉後,NetMesh 已知主機與系統信任庫保持獨立;仍可透過「掃描系統」手動匯入。',
|
|||
|
|
'settings.vault.notesFont': '程式碼字型',
|
|||
|
|
'settings.vault.notesFontDesc': '自訂筆記中程式碼區塊與行內程式碼使用的字型',
|
|||
|
|
'settings.vault.notesFontSize': '筆記字級',
|
|||
|
|
'settings.vault.notesFontSizeDesc': '自訂筆記內文字型大小',
|
|||
|
|
'settings.vault.notesCodeFontSize': '程式碼字級',
|
|||
|
|
'settings.vault.notesCodeFontSizeDesc': '自訂筆記中程式碼區塊與行內程式碼的文字大小',
|
|||
|
|
|
|||
|
|
// Update notifications
|
|||
|
|
'update.available.title': '發現新版本',
|
|||
|
|
'update.available.message': '新版本 {version} 已釋出,點選前往下載。',
|
|||
|
|
'update.checking': '正在檢查更新...',
|
|||
|
|
'update.upToDate.title': '已是最新版本',
|
|||
|
|
'update.upToDate.message': '目前版本 ({version}) 已是最新。',
|
|||
|
|
'update.error': '檢查更新失敗',
|
|||
|
|
'update.downloadNow': '立即下載',
|
|||
|
|
'update.viewInSettings': '在設定中檢視',
|
|||
|
|
'update.readyToInstall.title': '更新已就緒',
|
|||
|
|
'update.readyToInstall.message': '版本 {version} 已下載完成,準備安裝。',
|
|||
|
|
'update.restartNow': '立即重新啟動',
|
|||
|
|
'update.downloadFailed.title': '更新失敗',
|
|||
|
|
'update.downloadFailed.message': '下載更新失敗,可前往 GitHub 手動下載。',
|
|||
|
|
'update.needsSave.title': '有未儲存內容',
|
|||
|
|
'update.needsSave.message': '請先儲存已開啟的編輯器,然後再次點選「立即重新啟動」以安裝更新。',
|
|||
|
|
'update.openReleases': '開啟 Releases',
|
|||
|
|
'update.remindLater': '稍後提醒',
|
|||
|
|
'update.skipVersion': '跳過此版本',
|
|||
|
|
|
|||
|
|
// Settings > Appearance
|
|||
|
|
'settings.appearance.uiTheme': '介面主題',
|
|||
|
|
'settings.appearance.theme': '主題',
|
|||
|
|
'settings.appearance.theme.desc': '選擇淺色、深色或跟隨系統設定',
|
|||
|
|
'settings.appearance.theme.light': '淺色',
|
|||
|
|
'settings.appearance.theme.dark': '深色',
|
|||
|
|
'settings.appearance.theme.system': '系統',
|
|||
|
|
'settings.appearance.accentColor': '強調色',
|
|||
|
|
'settings.appearance.customColor': '自訂顏色',
|
|||
|
|
'settings.appearance.accentColor.mode': '使用自訂強調色',
|
|||
|
|
'settings.appearance.accentColor.mode.desc': '覆蓋主題自帶的強調色',
|
|||
|
|
'settings.appearance.accentColor.custom': '自訂強調色',
|
|||
|
|
'settings.appearance.themeColor': '主題色',
|
|||
|
|
'settings.appearance.themeColor.desc': '為淺色與深色主題選擇預設配色',
|
|||
|
|
'settings.appearance.themeColor.light': '淺色主題',
|
|||
|
|
'settings.appearance.themeColor.dark': '深色主題',
|
|||
|
|
'settings.appearance.customCss': '自訂 CSS',
|
|||
|
|
'settings.appearance.customCss.desc':
|
|||
|
|
'使用自訂 CSS 個人化介面,修改會立即生效。',
|
|||
|
|
'settings.appearance.customCss.help.ariaLabel': '自訂 CSS 說明',
|
|||
|
|
'settings.appearance.customCss.help.title': '自訂 CSS 說明',
|
|||
|
|
'settings.appearance.customCss.help.body': `主要 UI 區塊都公開了 \`data-section\` 屬性,供你用 CSS 定位。編輯後會立即生效。
|
|||
|
|
|
|||
|
|
### 如何選擇元素
|
|||
|
|
|
|||
|
|
使用屬性選擇器:
|
|||
|
|
|
|||
|
|
\`\`\`css
|
|||
|
|
[data-section="terminal-side-panel"] {
|
|||
|
|
border: 2px solid #00c851 !important;
|
|||
|
|
border-radius: 6px !important;
|
|||
|
|
}
|
|||
|
|
\`\`\`
|
|||
|
|
|
|||
|
|
部分列 / 窗格還支援 \`[data-selected="true"]\`、\`[data-focused="true"]\` 等狀態掛鉤。
|
|||
|
|
|
|||
|
|
由於 Tailwind 工具類優先順序較高,覆蓋樣式時通常需要使用 \`!important\`。
|
|||
|
|
|
|||
|
|
### 頂部分頁列
|
|||
|
|
|
|||
|
|
- \`top-tabs\`
|
|||
|
|
- \`top-tabs-toolbar-actions\` — 右側選單和工具列
|
|||
|
|
- \`top-tabs-host-tree-toggle\`
|
|||
|
|
- \`top-tabs-quick-switcher-toggle\`
|
|||
|
|
|
|||
|
|
### 保險庫
|
|||
|
|
|
|||
|
|
- \`vault-view\`
|
|||
|
|
- \`vault-sidebar\`
|
|||
|
|
- \`vault-main\`
|
|||
|
|
- \`vault-hosts-header\`
|
|||
|
|
- \`vault-host-list\`
|
|||
|
|
|
|||
|
|
### 終端工作區
|
|||
|
|
|
|||
|
|
- \`terminal-workspace\`
|
|||
|
|
- \`terminal-toolbar\` — 終端操作工具列
|
|||
|
|
- \`terminal-toolbar-menu\` — 終端工具列溢出選單和子選單
|
|||
|
|
- \`terminal-workspace-sidebar\` — Focus 模式終端列表
|
|||
|
|
- \`terminal-host-tree-sidebar\`
|
|||
|
|
- \`terminal-host-tree-sidebar-content\`
|
|||
|
|
- \`terminal-host-tree-sidebar-row\`
|
|||
|
|
- \`terminal-split-pane\`
|
|||
|
|
- \`terminal-split-resizer\`
|
|||
|
|
|
|||
|
|
### 終端側欄
|
|||
|
|
|
|||
|
|
- \`terminal-side-panel\` — SFTP / 指令碼 / 主題 / AI 側欄(僅在開啟時存在)
|
|||
|
|
- \`terminal-side-panel-tabs\`
|
|||
|
|
- \`terminal-side-panel-content\`
|
|||
|
|
|
|||
|
|
### SFTP
|
|||
|
|
|
|||
|
|
- \`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\`
|
|||
|
|
|
|||
|
|
### 詳情 / 工具面板
|
|||
|
|
|
|||
|
|
- \`snippets-panel\`
|
|||
|
|
- \`host-details-panel\`
|
|||
|
|
- \`group-details-panel\`
|
|||
|
|
- \`serial-host-details-panel\`
|
|||
|
|
- \`ai-chat-panel\`
|
|||
|
|
|
|||
|
|
### 範例
|
|||
|
|
|
|||
|
|
放大選單和工具列圖示:
|
|||
|
|
|
|||
|
|
\`\`\`css
|
|||
|
|
[data-section="top-tabs-toolbar-actions"] button > svg,
|
|||
|
|
[data-section="terminal-toolbar"] button > svg,
|
|||
|
|
[data-section="terminal-toolbar-menu"] button > svg,
|
|||
|
|
[data-section="terminal-toolbar"] button [data-plugin-icon-kind="package"] {
|
|||
|
|
width: 20px !important;
|
|||
|
|
height: 20px !important;
|
|||
|
|
}
|
|||
|
|
\`\`\`
|
|||
|
|
|
|||
|
|
隱藏頂部分頁列裡的主機列表開關:
|
|||
|
|
|
|||
|
|
\`\`\`css
|
|||
|
|
[data-section="top-tabs-host-tree-toggle"] {
|
|||
|
|
width: 0 !important;
|
|||
|
|
opacity: 0 !important;
|
|||
|
|
pointer-events: none !important;
|
|||
|
|
}
|
|||
|
|
\`\`\`
|
|||
|
|
|
|||
|
|
修改選取的 SFTP 檔案列:
|
|||
|
|
|
|||
|
|
\`\`\`css
|
|||
|
|
[data-section="terminal-sftp-list-row"][data-selected="true"] {
|
|||
|
|
background-color: #00c851 !important;
|
|||
|
|
color: #001b10 !important;
|
|||
|
|
}
|
|||
|
|
\`\`\`
|
|||
|
|
|
|||
|
|
標示目前聚焦的分割窗格:
|
|||
|
|
|
|||
|
|
\`\`\`css
|
|||
|
|
[data-section="terminal-split-pane"][data-focused="true"] {
|
|||
|
|
outline: 2px solid hsl(var(--primary)) !important;
|
|||
|
|
outline-offset: -2px;
|
|||
|
|
}
|
|||
|
|
\`\`\`
|
|||
|
|
`,
|
|||
|
|
'settings.appearance.customCss.placeholder':
|
|||
|
|
'/* 範例 — 由於 Tailwind 優先順序較高,需要使用 !important */\n\n/* 隱藏頂部分頁列裡的主機列表開關 */\n[data-section="top-tabs-host-tree-toggle"] {\n width: 0 !important;\n opacity: 0 !important;\n pointer-events: none !important;\n}\n\n/* 隱藏開啟快速切換器的加號按鈕 */\n[data-section="top-tabs-quick-switcher-toggle"] {\n display: none !important;\n}\n\n/* SFTP / 操作側欄邊框(關閉側欄後不會殘留) */\n[data-section="terminal-side-panel"] {\n border: 2px solid #00c851 !important;\n border-radius: 6px !important;\n}\n\n/* 修改整個操作側欄背景,而不只是頂部分頁 */\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/* 修改選取的 SFTP 檔案行 */\n[data-section="terminal-sftp-list-row"][data-selected="true"] {\n background-color: #00c851 !important;\n color: #001b10 !important;\n}\n\n/* 加粗分割分割線 */\n[data-section="terminal-split-resizer-bar"] {\n background-color: hsl(var(--primary)) !important;\n transform: scale(2) !important;\n}\n\n/* 標示目前聚焦的分割 */\n[data-section="terminal-split-pane"][data-focused="true"] {\n outline: 2px solid hsl(var(--primary)) !important;\n outline-offset: -2px;\n}\n\n/* 也可在 設定 → 終端 → 工作區聚焦指示 → 聚焦窗格顯示邊框 */',
|
|||
|
|
'settings.appearance.language': '語言',
|
|||
|
|
'settings.appearance.language.desc': '選擇介面語言',
|
|||
|
|
'settings.appearance.uiFont': '介面字型',
|
|||
|
|
'settings.appearance.uiFont.desc': '選擇軟體介面使用的字型',
|
|||
|
|
'settings.appearance.windowOpacity': '視窗透明度',
|
|||
|
|
'settings.appearance.windowOpacity.desc': '調節整個應用程式視窗的透明度,方便疊在其他內容上方。較低時終端文字也會變淡;部分 Linux 桌面環境可能不支援。',
|
|||
|
|
'settings.appearance.appIcon': '應用程式圖示',
|
|||
|
|
'settings.appearance.appIcon.desc': '選擇 Dock/工作列圖示風格,切換應用程式時更容易找到 NetMesh。執行時生效,安裝檔內的圖示不會改變。',
|
|||
|
|
'settings.appearance.appIcon.original': '原始',
|
|||
|
|
'settings.appearance.appIcon.bright': '明亮',
|
|||
|
|
'settings.appearance.appIcon.dark': '深色',
|
|||
|
|
'settings.appearance.appIcon.colorful': '彩色',
|
|||
|
|
'settings.appearance.appIcon.highContrast': '高對比',
|
|||
|
|
'settings.appearance.appIcon.group.classic': '彩色底',
|
|||
|
|
'settings.appearance.appIcon.group.white': '白底',
|
|||
|
|
'settings.appearance.appIcon.group.special': '隱藏款',
|
|||
|
|
'settings.appearance.appIcon.whiteNavy': '白底 · 海軍藍貓',
|
|||
|
|
'settings.appearance.appIcon.whiteSky': '白底 · 天藍貓',
|
|||
|
|
'settings.appearance.appIcon.whiteRose': '白底 · 玫紅貓',
|
|||
|
|
'settings.appearance.appIcon.whiteEmerald': '白底 · 翡翠貓',
|
|||
|
|
'settings.appearance.appIcon.whiteAmber': '白底 · 琥珀貓',
|
|||
|
|
'settings.appearance.appIcon.whiteViolet': '白底 · 紫羅蘭貓',
|
|||
|
|
'settings.appearance.appIcon.rainbow': '彩虹貓',
|
|||
|
|
// Context menus / common actions
|
|||
|
|
'action.newHost': '新增主機',
|
|||
|
|
'action.newSubfolder': '新增資料夾',
|
|||
|
|
'action.copyPublicKey': '複製公鑰',
|
|||
|
|
'action.keyExport': '匯出金鑰',
|
|||
|
|
'action.edit': '編輯',
|
|||
|
|
'action.delete': '刪除',
|
|||
|
|
'action.remove': '移除',
|
|||
|
|
'action.convertToHost': '轉換為主機',
|
|||
|
|
|
|||
|
|
// Sync
|
|||
|
|
'sync.cloudSync': '雲同步',
|
|||
|
|
'sync.settings': '同步設定',
|
|||
|
|
'sync.active': '雲同步已啟用',
|
|||
|
|
'sync.syncing': '正在同步…',
|
|||
|
|
'sync.error': '同步錯誤',
|
|||
|
|
'sync.notConfigured': '未設定',
|
|||
|
|
'sync.failed': '同步失敗',
|
|||
|
|
'sync.connected': '已連線',
|
|||
|
|
'sync.syncNow': '立即同步',
|
|||
|
|
'sync.recentActivity': '最近活動',
|
|||
|
|
'sync.pending': '有待同步的變更',
|
|||
|
|
'sync.history.uploaded': '已 Upload',
|
|||
|
|
'sync.history.downloaded': '已 Download',
|
|||
|
|
'sync.history.resolved': '已處理',
|
|||
|
|
'sync.toast.completedMessage': '同步完成',
|
|||
|
|
'sync.toast.errorTitle': '同步錯誤',
|
|||
|
|
'sync.autoSync.failedTitle': '同步失敗',
|
|||
|
|
'sync.autoSync.inspectFailedTitle': '同步已暫停',
|
|||
|
|
'sync.autoSync.inspectFailedMessage': '無法存取雲端以檢查變更。資料改動或下次啟動時會自動重試。',
|
|||
|
|
'sync.autoSync.syncedTitle': '已從雲端同步',
|
|||
|
|
'sync.autoSync.syncedMessage': '你的資料已從雲端更新。',
|
|||
|
|
'sync.autoSync.noProvider': '未連線雲同步 provider。請開啟 設定 → Sync & Cloud 進行連線。',
|
|||
|
|
'sync.autoSync.alreadySyncing': '同步正在進行中。',
|
|||
|
|
'sync.autoSync.restoreInProgress': '另一個視窗中的本機備份恢復正在進行中,請等待其完成。',
|
|||
|
|
'sync.autoSync.interruptedApplyTitle': '同步已暫停 — 上次恢復未完成',
|
|||
|
|
'sync.autoSync.interruptedApplyMessage': '上次本機恢復過程未正常結束,本機資料可能處於半套用狀態。請開啟「設定 → Sync & Cloud → 恢復」,從保護性備份中恢復後再讓自動同步繼續。',
|
|||
|
|
'sync.autoSync.vaultLocked': 'Vault 處於鎖定狀態。請開啟 設定 → Sync & Cloud 解鎖。',
|
|||
|
|
'sync.autoSync.conflictDetected': '偵測到同步衝突。請開啟 設定 → Sync & Cloud 處理。',
|
|||
|
|
'sync.autoSync.syncFailed': '同步失敗',
|
|||
|
|
'sync.autoSync.restoredTitle': '已恢復',
|
|||
|
|
'sync.autoSync.restoredMessage': '已從雲端恢復主機庫資料。',
|
|||
|
|
'sync.autoSync.keptLocalTitle': '已保留本機資料',
|
|||
|
|
'sync.autoSync.keptLocalMessage': '保留了空的本機主機庫,未套用雲端資料。',
|
|||
|
|
'sync.autoSync.emptyVaultConflict.title': '偵測到空主機庫',
|
|||
|
|
'sync.autoSync.emptyVaultConflict.description': '本機主機庫為空,但雲端有資料。這通常發生在應用程式更新或儲存重設之後。請選擇如何處理:',
|
|||
|
|
'sync.autoSync.emptyVaultConflict.cloudLabel': '雲端',
|
|||
|
|
'sync.autoSync.emptyVaultConflict.restore': '從雲端恢復',
|
|||
|
|
'sync.autoSync.emptyVaultConflict.restoreDesc': '推薦 — 從雲端備份恢復主機、金鑰和程式碼片段',
|
|||
|
|
'sync.autoSync.emptyVaultConflict.keepEmpty': '保持為空',
|
|||
|
|
'sync.autoSync.emptyVaultConflict.keepEmptyDesc': '從頭開始,使用空的主機庫',
|
|||
|
|
'sync.autoSync.emptyVaultConflict.cloudSummary': '{hosts} 台主機,{keys} 個金鑰,{snippets} 個程式碼片段,{notes} 條筆記,{proxyProfiles} 個代理',
|
|||
|
|
'sync.autoSync.emptyVaultManual': '無法同步:本機 vault 為空。請先從本機備份恢復,或在同步面板裡使用"強制推送"。',
|
|||
|
|
|
|||
|
|
'sync.blocked.title': '同步已暫停',
|
|||
|
|
'sync.blocked.reason.bulkShrink': '即將從雲端刪除 {baseCount} 條 {entityType} 中的 {lost} 條(縮減 {percent}%)。',
|
|||
|
|
'sync.blocked.reason.largeShrink': '即將從雲端刪除 {lost} 條 {entityType}。',
|
|||
|
|
'sync.blocked.detail': '通常是本機狀態異常(鑰匙串故障、資料載入不全)導致。請從本機備份恢復,如果確實要刪這些條目請使用強制推送。',
|
|||
|
|
'sync.blocked.restoreButton': '從本機備份恢復',
|
|||
|
|
'sync.blocked.forcePushButton': '強制推送',
|
|||
|
|
|
|||
|
|
'sync.forcePush.title': '確認強制推送',
|
|||
|
|
'sync.forcePush.body': '你將從雲端移除 {lost} 條 {entityType},此操作不可復原。繼續?',
|
|||
|
|
'sync.forcePush.confirm': '確認推送',
|
|||
|
|
'sync.forcePush.cancel': '取消',
|
|||
|
|
|
|||
|
|
'sync.entityType.hosts': '主機',
|
|||
|
|
'sync.entityType.keys': '金鑰',
|
|||
|
|
'sync.entityType.identities': '身分',
|
|||
|
|
'sync.entityType.proxyProfiles': '代理設定',
|
|||
|
|
'sync.entityType.snippets': '程式碼片段',
|
|||
|
|
'sync.entityType.customGroups': '群組',
|
|||
|
|
'sync.entityType.snippetPackages': '片段包',
|
|||
|
|
'sync.entityType.knownHosts': '主機金鑰記錄',
|
|||
|
|
'sync.entityType.portForwardingRules': '埠轉發規則',
|
|||
|
|
'sync.entityType.groupConfigs': '群組設定',
|
|||
|
|
|
|||
|
|
'sync.credentialsUnavailable': '目前裝置無法解密部分已儲存憑證。請先在本機重新輸入憑證後再同步。',
|
|||
|
|
'time.never': '從未',
|
|||
|
|
'time.justNow': '剛剛',
|
|||
|
|
'time.minutesAgo': '{minutes} 分鐘前',
|
|||
|
|
|
|||
|
|
// Vault navigation
|
|||
|
|
'vault.nav.hosts': '主機',
|
|||
|
|
'vault.nav.keychain': '鑰匙串',
|
|||
|
|
'vault.nav.proxies': '代理',
|
|||
|
|
'vault.nav.portForwarding': '埠轉發',
|
|||
|
|
'vault.nav.snippets': '程式碼片段',
|
|||
|
|
'vault.nav.notes': '筆記',
|
|||
|
|
'vault.nav.knownHosts': '已知主機',
|
|||
|
|
'vault.nav.logs': '日誌',
|
|||
|
|
|
|||
|
|
'proxyProfiles.action.add': '新增代理',
|
|||
|
|
'proxyProfiles.search.placeholder': '搜尋代理…',
|
|||
|
|
'proxyProfiles.section.proxies': '代理',
|
|||
|
|
'proxyProfiles.count.items': '{count} 項',
|
|||
|
|
'proxyProfiles.empty.title': '暫無代理',
|
|||
|
|
'proxyProfiles.empty.desc': '建立可重複使用的 HTTP、SOCKS5 或指令代理,然後在主機詳情裡選擇。',
|
|||
|
|
'proxyProfiles.usage': '已關聯 {count} 處',
|
|||
|
|
'proxyProfiles.copyName': '{name} 副本',
|
|||
|
|
'proxyProfiles.panel.newTitle': '新增代理',
|
|||
|
|
'proxyProfiles.field.name': '代理名稱',
|
|||
|
|
'proxyProfiles.error.required': '名稱和代理詳情不能為空。',
|
|||
|
|
'proxyProfiles.error.port': '埠必須在 1 到 65535 之間。',
|
|||
|
|
'proxyProfiles.viewMode': '代理顯示方式',
|
|||
|
|
'proxyProfiles.delete.title': '刪除代理?',
|
|||
|
|
'proxyProfiles.delete.desc': '刪除 "{name}" 會同時從 {count} 個主機或群組設定中解除關聯。',
|
|||
|
|
|
|||
|
|
'vault.groups.title': '群組',
|
|||
|
|
'vault.groups.total': '共 {count} 個',
|
|||
|
|
'vault.groups.hostsCount': '{count} 台主機',
|
|||
|
|
'vault.groups.newSubgroup': '新增子群組',
|
|||
|
|
'vault.groups.rename': '重新命名群組',
|
|||
|
|
'vault.groups.unnamed': '未命名群組',
|
|||
|
|
'vault.groups.delete': '刪除群組',
|
|||
|
|
'vault.groups.createSubfolder': '建立子群組',
|
|||
|
|
'vault.groups.createRoot': '建立根群組',
|
|||
|
|
'vault.groups.createDialog.desc': '建立新的群組用於組織主機。',
|
|||
|
|
'vault.groups.renameDialogTitle': '重新命名群組',
|
|||
|
|
'vault.groups.renameDialog.desc': '重新命名已有群組。',
|
|||
|
|
'vault.groups.deleteDialogTitle': '刪除群組',
|
|||
|
|
'vault.groups.deleteDialog.desc': '這將永久刪除該群組並將所有主機移動到根層級。',
|
|||
|
|
'vault.groups.deleteDialog.managedDesc': '這是一個託管的 SSH config 群組。刪除後將同時刪除所有主機並斷開與原始檔的連線。',
|
|||
|
|
'vault.groups.deleteDialog.deleteHosts': '同時刪除該群組下的所有主機',
|
|||
|
|
'vault.groups.deleteDialog.bulkTitle': '刪除所選群組',
|
|||
|
|
'vault.groups.deleteDialog.bulkDesc': '這將永久刪除所選群組,並把其中的主機移動到根層級。',
|
|||
|
|
'vault.groups.deleteDialog.bulkDeleteHosts': '同時刪除所選群組下的所有主機',
|
|||
|
|
'vault.groups.selectedCount': '已選擇 {count} 個群組',
|
|||
|
|
'vault.groups.deleteMultiple.success': '已刪除 {count} 個所選項目',
|
|||
|
|
'vault.groups.ungrouped': '未群組',
|
|||
|
|
'vault.groups.field.name': '群組名稱',
|
|||
|
|
'vault.groups.placeholder.example': '例如:Production',
|
|||
|
|
'vault.groups.parentLabel': '父級',
|
|||
|
|
'vault.groups.pathLabel': '路徑',
|
|||
|
|
'vault.groups.settings': '群組設定',
|
|||
|
|
'vault.groups.details': '群組詳情',
|
|||
|
|
'vault.groups.details.general': '常規',
|
|||
|
|
'vault.groups.details.ssh': 'SSH',
|
|||
|
|
'vault.groups.details.telnet': 'Telnet',
|
|||
|
|
'vault.groups.details.advanced': '高階',
|
|||
|
|
'vault.groups.details.appearance': '外觀',
|
|||
|
|
'vault.groups.details.mosh': 'Mosh',
|
|||
|
|
'vault.groups.details.parentGroup': '父群組',
|
|||
|
|
'vault.groups.details.none': '無',
|
|||
|
|
'vault.groups.details.inherited': '繼承自群組',
|
|||
|
|
'vault.groups.details.addProtocol': '新增協定',
|
|||
|
|
'vault.groups.details.removeProtocol': '移除協定',
|
|||
|
|
'vault.groups.details.fontFamily': '字型',
|
|||
|
|
'vault.groups.details.fontSize': '字型大小',
|
|||
|
|
'vault.groups.errors.required': '群組名稱不能為空。',
|
|||
|
|
'vault.groups.errors.invalidChars': "群組名稱不能包含 '/' 或 '\\\\'.",
|
|||
|
|
'vault.groups.errors.duplicatePath': '該位置已存在同名群組。',
|
|||
|
|
|
|||
|
|
'vault.deleteConfirm.title': '刪除「{name}」?',
|
|||
|
|
'vault.deleteConfirm.desc': '此操作不可復原。',
|
|||
|
|
'vault.deleteConfirm.packageDesc': '這會刪除程式碼包,包內程式碼片段會保留,並移出該程式碼包。',
|
|||
|
|
'vault.deleteConfirm.noteGroupDesc': '這會刪除資料夾,資料夾內筆記會保留,並移出該資料夾。',
|
|||
|
|
'vault.deleteConfirm.portForwardingDesc': '這會刪除此埠轉發規則。',
|
|||
|
|
|
|||
|
|
'vault.managedSource.unmanage': '取消託管',
|
|||
|
|
'vault.managedSource.unmanageSuccess': '已取消託管群組',
|
|||
|
|
|
|||
|
|
'vault.hosts.header.entries': '{count} 條',
|
|||
|
|
'vault.hosts.header.live': '{count} 個線上',
|
|||
|
|
|
|||
|
|
// Vault hosts header/actions
|
|||
|
|
'vault.hosts.search.placeholder': '查詢主機或 ssh user@hostname / ssh -p 2222 user@hostname…',
|
|||
|
|
'vault.hosts.connect': '連線',
|
|||
|
|
'vault.hosts.openSftp': '開啟 SFTP',
|
|||
|
|
'vault.view.grid': '網格',
|
|||
|
|
'vault.view.list': '列表',
|
|||
|
|
'vault.view.tree': '樹形',
|
|||
|
|
'vault.tree.expandAll': '展開全部',
|
|||
|
|
'vault.tree.collapseAll': '摺疊全部',
|
|||
|
|
'vault.hosts.newHost': '新增主機',
|
|||
|
|
'vault.hosts.newGroup': '新增群組',
|
|||
|
|
'vault.hosts.import': '匯入',
|
|||
|
|
'vault.hosts.export': '匯出',
|
|||
|
|
'vault.hosts.export.toast.success': '已匯出 {count} 個主機到 CSV',
|
|||
|
|
'vault.hosts.export.toast.successWithSkipped': '已匯出 {count} 個主機到 CSV(跳過 {skipped} 個不支援的主機)',
|
|||
|
|
'vault.hosts.export.toast.passphrasesSkipped': '有 {count} 個已儲存的金鑰密碼無法讀取,匯出時已留空',
|
|||
|
|
'vault.hosts.export.toast.noHosts': '沒有主機可匯出',
|
|||
|
|
'vault.hosts.allHosts': '全部主機',
|
|||
|
|
'vault.hosts.pinned': '已置頂',
|
|||
|
|
'vault.hosts.recentlyConnected': '最近連線',
|
|||
|
|
'vault.hosts.pinToTop': '置頂',
|
|||
|
|
'vault.hosts.unpin': '取消置頂',
|
|||
|
|
'vault.hosts.copyCredentials': '複製帳密資訊',
|
|||
|
|
'vault.hosts.copyCredentials.toast.success': '帳密資訊已複製到剪貼簿',
|
|||
|
|
'vault.hosts.copyCredentials.toast.noPassword': '該主機未儲存密碼',
|
|||
|
|
'vault.hosts.multiSelect': '多選',
|
|||
|
|
'vault.hosts.selected': '已選擇 {count} 項',
|
|||
|
|
'vault.hosts.selectedSummary': '已選擇 {hosts} 個主機和 {groups} 個群組',
|
|||
|
|
'vault.hosts.selectAll': '全選',
|
|||
|
|
'vault.hosts.deselectAll': '取消全選',
|
|||
|
|
'vault.hosts.deleteSelected': '刪除 ({count})',
|
|||
|
|
'vault.hosts.deleteMultiple.success': '已刪除 {count} 個主機',
|
|||
|
|
'vault.hosts.connectSelected': '連線 ({count})',
|
|||
|
|
'vault.hosts.connectMultiple.success': '正在連線 {count} 個主機',
|
|||
|
|
'vault.hosts.moveToGroup.success': '已將 {host} 移動到 {group}',
|
|||
|
|
'vault.hosts.errors.nameRequired': '主機名稱不能為空。',
|
|||
|
|
'vault.hosts.empty.title': '設定你的主機',
|
|||
|
|
'vault.hosts.empty.desc': '儲存主機以快速連線到你的伺服器、虛擬機器和容器。',
|
|||
|
|
'deepLink.ssh.invalid': '無效的 ssh:// 連結',
|
|||
|
|
'deepLink.telnet.invalid': '無效的 telnet:// 連結',
|
|||
|
|
'deepLink.jms.invalid': '無效的 JumpServer 連結',
|
|||
|
|
'deepLink.jms.unsupported': '不支援的 JumpServer 協定:{{protocol}}',
|
|||
|
|
|
|||
|
|
// Vault import
|
|||
|
|
'vault.import.title': '新增資料到你的 Vault',
|
|||
|
|
'vault.import.desc': '從常見工具移轉連線資訊。選擇一種格式開始匯入。',
|
|||
|
|
'vault.import.chooseFormat': '選擇檔案格式',
|
|||
|
|
'vault.import.destination.title': '匯入的主機要放到哪裡?',
|
|||
|
|
'vault.import.destination.preserve': '保留原始群組',
|
|||
|
|
'vault.import.destination.existing': '選擇現有群組',
|
|||
|
|
'vault.import.destination.new': '新增群組',
|
|||
|
|
'vault.import.destination.noGroups': '暫無可選群組',
|
|||
|
|
'vault.import.destination.newPlaceholder': '輸入新群組名稱',
|
|||
|
|
'vault.import.destination.settings': '匯入位置',
|
|||
|
|
'vault.import.destination.settingsHint': '設定主機要放到哪個群組',
|
|||
|
|
'vault.import.destination.done': '完成',
|
|||
|
|
'vault.import.securecrt.directoryHint': '請選擇 SecureCRT 的 Sessions 資料夾。',
|
|||
|
|
'vault.import.securecrt.chooseSource': '選擇 SecureCRT 匯入來源。',
|
|||
|
|
'vault.import.securecrt.sourceQuestion': '你想匯入哪些工作階段?',
|
|||
|
|
'vault.import.securecrt.promptTitle': '從 SecureCRT 匯入',
|
|||
|
|
'vault.import.securecrt.promptDesc':
|
|||
|
|
'請選擇 SecureCRT 的 Sessions 資料夾以匯入全部工作階段並保留目錄結構,也可以只匯入單一 .ini 工作階段檔案。',
|
|||
|
|
'vault.import.securecrt.folder': 'Sessions 資料夾',
|
|||
|
|
'vault.import.securecrt.folderDesc': '一次匯入全部工作階段,並保留目錄結構。',
|
|||
|
|
'vault.import.securecrt.file': '單一工作階段檔案',
|
|||
|
|
'vault.import.securecrt.fileDesc': '匯入一個 SecureCRT .ini 工作階段。',
|
|||
|
|
'vault.import.csv.tip': '批次匯入:可使用 CSV 模板填寫後匯入。',
|
|||
|
|
'vault.import.csv.downloadTemplate': '下載 CSV 模板',
|
|||
|
|
'vault.import.toast.start': '正在從 {format} 匯入...',
|
|||
|
|
'vault.import.toast.completedTitle': '匯入完成',
|
|||
|
|
'vault.import.toast.failedTitle': '匯入失敗',
|
|||
|
|
'vault.import.toast.noEntries': '{format} 檔案中沒有可匯入的條目。',
|
|||
|
|
'vault.import.toast.noNewHosts': '從 {format} 沒有匯入到新的主機。',
|
|||
|
|
'vault.import.toast.summary': '已匯入 {count} 個主機(跳過 {skipped},重複 {duplicates})。',
|
|||
|
|
'vault.import.toast.firstIssue': '首個問題:{issue}',
|
|||
|
|
'vault.import.progress.title': '正在匯入主機',
|
|||
|
|
'vault.import.progress.reading': '正在讀取檔案',
|
|||
|
|
'vault.import.progress.parsing': '正在解析主機',
|
|||
|
|
'vault.import.progress.preparing': '正在整理匯入內容',
|
|||
|
|
'vault.import.progress.saving': '正在儲存主機',
|
|||
|
|
'vault.import.progress.complete': '匯入完成',
|
|||
|
|
'vault.import.progress.failed': '匯入失敗',
|
|||
|
|
'vault.import.progress.persistFailed': '匯入的主機無法儲存。請清理本機儲存空間後重試。',
|
|||
|
|
'vault.import.progress.rollbackFailed': '匯入內容無法安全回復,可能仍有部分主機留在倉庫中。請檢查後再重試。',
|
|||
|
|
'vault.import.progress.summary': '已匯入 {count} 台主機;跳過 {skipped} 條;重複 {duplicates} 條。',
|
|||
|
|
'vault.import.progress.keepOpen': '匯入正在背景執行,請保持 NetMesh 開啟。',
|
|||
|
|
'vault.import.progress.fileSummary': '{name} · {count} 個檔案',
|
|||
|
|
'vault.import.progress.fileCount': '已處理 {completed}/{total} 個檔案',
|
|||
|
|
'vault.import.mobaxterm.chooseEncoding': '選擇如何讀取 MobaXterm 檔案。',
|
|||
|
|
'vault.import.mobaxterm.encodingQuestion': '這個檔案使用哪種文字編碼?',
|
|||
|
|
'vault.import.mobaxterm.auto': '自動偵測',
|
|||
|
|
'vault.import.mobaxterm.autoDesc': '建議。能以 UTF-8 讀取時使用 UTF-8,否則使用中文 Windows 編碼。',
|
|||
|
|
'vault.import.mobaxterm.utf8': 'UTF-8',
|
|||
|
|
'vault.import.mobaxterm.utf8Desc': '適用於已儲存或轉換為 UTF-8 的檔案。',
|
|||
|
|
'vault.import.mobaxterm.gb18030': '中文 Windows',
|
|||
|
|
'vault.import.mobaxterm.gb18030Desc': '適用於中文 Windows 上匯出的舊版檔案。',
|
|||
|
|
'vault.import.mobaxterm.masterPassword': '主密碼(選填)',
|
|||
|
|
'vault.import.mobaxterm.masterPasswordPlaceholder': '輸入 MobaXterm 主密碼',
|
|||
|
|
'vault.import.mobaxterm.masterPasswordHint':
|
|||
|
|
'匯入 .mobaconf 或 MobaXterm.ini 中已儲存的密碼時需要填寫。留空則只匯入工作階段。',
|
|||
|
|
'vault.import.sshConfig.chooseMode': '選擇如何匯入你的 SSH config 檔案。',
|
|||
|
|
'vault.import.sshConfig.modeQuestion': '你希望如何匯入?',
|
|||
|
|
'vault.import.sshConfig.importOnly': '僅匯入',
|
|||
|
|
'vault.import.sshConfig.importOnlyDesc': '一次性匯入,修改不會同步回檔案。',
|
|||
|
|
'vault.import.sshConfig.managed': '託管同步',
|
|||
|
|
'vault.import.sshConfig.managedDesc': '保持同步,修改會自動儲存回檔案。',
|
|||
|
|
'vault.import.sshConfig.managedDestinationHint': '託管同步會使用獨立的託管群組;上方目標群組只用於一次性匯入。',
|
|||
|
|
'vault.import.sshConfig.managedGroup': 'ssh config',
|
|||
|
|
'vault.import.sshConfig.managedSuccess': '已匯入 {count} 個主機,檔案已託管。',
|
|||
|
|
'vault.import.sshConfig.alreadyManaged': '該檔案已被託管。',
|
|||
|
|
'vault.import.sshConfig.alreadyManagedDesc': '該檔案已在群組 "{group}" 下託管。如需重新匯入,請先移除現有的託管源。',
|
|||
|
|
'vault.import.sshConfig.noFilePath': '無法託管此檔案。',
|
|||
|
|
'vault.import.sshConfig.noFilePathDesc': '無法確定檔案路徑。託管同步需要存取檔案系統。',
|
|||
|
|
|
|||
|
|
// Known Hosts
|
|||
|
|
'knownHosts.search.placeholder': '搜尋已知主機...',
|
|||
|
|
'knownHosts.action.scanSystem': '掃描系統',
|
|||
|
|
'knownHosts.action.importFile': '匯入檔案',
|
|||
|
|
'knownHosts.action.browseFile': '瀏覽檔案',
|
|||
|
|
'knownHosts.empty.title': '暫無已知主機',
|
|||
|
|
'knownHosts.empty.desc':
|
|||
|
|
'Known Hosts 是你之前連線過的 SSH server。匯入系統的 known_hosts 檔案以開始。',
|
|||
|
|
'knownHosts.results.showingLimited': '顯示 {shown}/{total} 個主機。使用搜索查詢特定主機。',
|
|||
|
|
'knownHosts.toast.scanUnavailable': '目前平台無法掃描系統 known_hosts。',
|
|||
|
|
'knownHosts.toast.scanNoFile': '未找到系統 known_hosts 檔案。',
|
|||
|
|
'knownHosts.toast.scanNoEntries': 'known_hosts 中沒有可用條目。',
|
|||
|
|
'knownHosts.toast.scanImported': '已匯入 {count} 個新主機。',
|
|||
|
|
'knownHosts.toast.scanNoNew': '沒有發現新的主機。',
|
|||
|
|
'knownHosts.toast.scanFailed': '掃描系統 known_hosts 失敗。',
|
|||
|
|
|
|||
|
|
// Port Forwarding
|
|||
|
|
'pf.empty.title': '設定埠轉發規則',
|
|||
|
|
'pf.empty.desc': '儲存埠轉發規則,用於存取資料庫、Web 應用程式等服務。',
|
|||
|
|
'pf.title': '埠轉發規則',
|
|||
|
|
'pf.rulesCount': '{count} 條規則',
|
|||
|
|
'pf.wizard.editTitle': '編輯埠轉發規則',
|
|||
|
|
'pf.wizard.newTitle': '新增埠轉發規則',
|
|||
|
|
'pf.wizard.saveChanges': '儲存修改',
|
|||
|
|
'pf.wizard.done': '完成',
|
|||
|
|
'pf.wizard.continue': '繼續',
|
|||
|
|
'pf.wizard.cancel': '取消',
|
|||
|
|
'pf.wizard.skipWizard': '跳過精靈',
|
|||
|
|
'pf.error.hostNotFound': '未找到主機',
|
|||
|
|
'pf.toast.titleWithLabel': '埠轉發規則: {label}',
|
|||
|
|
'pf.type.local': '本機轉發',
|
|||
|
|
'pf.type.remote': '遠端轉發',
|
|||
|
|
'pf.type.dynamic': '動態轉發',
|
|||
|
|
'pf.type.menu.local': '本機轉發',
|
|||
|
|
'pf.type.menu.remote': '遠端轉發',
|
|||
|
|
'pf.type.menu.dynamic': '動態轉發',
|
|||
|
|
'pf.type.local.desc': '本機轉發讓你像存取本機一樣存取遠端服務埠。',
|
|||
|
|
'pf.type.remote.desc': '遠端轉發在遠端開啟埠,並將連線轉發到本機(目前)主機。',
|
|||
|
|
'pf.type.dynamic.desc': '動態轉發將 NetMesh 作為 SOCKS 代理使用。',
|
|||
|
|
'pf.wizard.type.title': '選擇埠轉發型別:',
|
|||
|
|
'pf.wizard.localConfig.title': '設定本機埠與繫結位址:',
|
|||
|
|
'pf.wizard.localConfig.desc': '該埠會在本機(目前裝置)開啟,並接收流量。',
|
|||
|
|
'pf.wizard.localConfig.localPort': '本機埠 *',
|
|||
|
|
'pf.wizard.bindAddress': '繫結位址',
|
|||
|
|
'pf.wizard.remoteHost.title': '選擇遠端主機:',
|
|||
|
|
'pf.wizard.remoteHost.desc': '選擇要開啟埠的遠端主機。該埠的流量將轉發到目標位址。',
|
|||
|
|
'pf.wizard.remoteConfig.title': '設定埠與繫結位址:',
|
|||
|
|
'pf.wizard.remoteConfig.desc': '將從所選主機的指定埠與網路卡位址轉發流量。',
|
|||
|
|
'pf.wizard.remoteConfig.remotePort': '遠端埠 *',
|
|||
|
|
'pf.wizard.destination.title': '設定目標位址:',
|
|||
|
|
'pf.wizard.destination.desc.local': '輸入你希望透過 tunnel 存取的遠端目標位址。',
|
|||
|
|
'pf.wizard.destination.desc.remote': '要轉發流量到的目標位址與埠。',
|
|||
|
|
'pf.wizard.destination.address': '目標位址 *',
|
|||
|
|
'pf.wizard.destination.addressPlaceholder': '例如:127.0.0.1 或 192.168.1.100',
|
|||
|
|
'pf.wizard.destination.port': '目標埠 *',
|
|||
|
|
'pf.wizard.sshServer.title': '選擇 SSH server:',
|
|||
|
|
'pf.wizard.sshServer.desc.dynamic': '選擇作為 SOCKS proxy 的 SSH server。',
|
|||
|
|
'pf.wizard.sshServer.desc.default': '選擇用於將流量 tunnel 到目標位址的 SSH server。',
|
|||
|
|
'pf.wizard.label.title': '設定 Label:',
|
|||
|
|
'pf.wizard.label.placeholder.dynamic': '例如:SOCKS Proxy',
|
|||
|
|
'pf.wizard.label.placeholder.default': '例如:MySQL Production',
|
|||
|
|
'pf.wizard.label.placeholder.remoteRule': '例如:Remote Rule',
|
|||
|
|
'pf.wizard.placeholders.portExample': '例如:{port}',
|
|||
|
|
|
|||
|
|
// SFTP
|
|||
|
|
'sftp.newFolder': '新增資料夾',
|
|||
|
|
'sftp.newFile': '新增檔案',
|
|||
|
|
'sftp.filter': '篩選',
|
|||
|
|
'sftp.filter.placeholder': '按檔名篩選...',
|
|||
|
|
'sftp.bookmark.add': '收藏此路徑',
|
|||
|
|
'sftp.bookmark.remove': '取消收藏',
|
|||
|
|
'sftp.bookmark.list': '收藏路徑',
|
|||
|
|
'sftp.bookmark.addGlobal': '+全域',
|
|||
|
|
'sftp.bookmark.addGlobalTooltip': '儲存為全域收藏(所有主機共享)',
|
|||
|
|
'sftp.bookmark.empty': '暫無收藏路徑',
|
|||
|
|
'sftp.bookmark.removeConfirm': '刪除收藏 {path}?',
|
|||
|
|
'sftp.bookmark.manage': '管理',
|
|||
|
|
'sftp.bookmark.rename': '重新命名收藏',
|
|||
|
|
'sftp.bookmark.done': '完成',
|
|||
|
|
'sftp.bookmark.moveUp': '上移 {label}',
|
|||
|
|
'sftp.bookmark.moveDown': '下移 {label}',
|
|||
|
|
'sftp.columns.name': '名稱',
|
|||
|
|
'sftp.columns.configure': '選擇顯示的欄位',
|
|||
|
|
'sftp.columns.modified': '修改時間',
|
|||
|
|
'sftp.columns.size': '大小',
|
|||
|
|
'sftp.columns.kind': '型別',
|
|||
|
|
'sftp.columns.owner': '擁有者',
|
|||
|
|
'sftp.columns.actions': '操作',
|
|||
|
|
'sftp.sort.directoriesFirst': '資料夾置頂',
|
|||
|
|
'sftp.emptyDirectory': '空目錄',
|
|||
|
|
'sftp.nav.up': '返回上層',
|
|||
|
|
'sftp.nav.home': '返回主目錄',
|
|||
|
|
'sftp.nav.refresh': '重新整理',
|
|||
|
|
'sftp.upload': '上傳',
|
|||
|
|
'sftp.uploadFiles': '上傳檔案',
|
|||
|
|
'sftp.uploadFolder': '上傳資料夾',
|
|||
|
|
'sftp.dragDropToUpload': '拖曳檔案到這裡上傳',
|
|||
|
|
'sftp.retry': '重試',
|
|||
|
|
'sftp.context.open': '開啟',
|
|||
|
|
'sftp.context.navigateTo': '跳轉到這裡',
|
|||
|
|
'sftp.context.moveTo': '移動到...',
|
|||
|
|
'sftp.context.moveToParent': '移動到上級目錄',
|
|||
|
|
'sftp.moveTo.title': '移動到目錄',
|
|||
|
|
'sftp.moveTo.placeholder': '輸入目標目錄路徑',
|
|||
|
|
'sftp.moveTo.confirm': '移動',
|
|||
|
|
'sftp.moveTo.pathNotFound': '目錄不存在或無法存取',
|
|||
|
|
'sftp.context.download': '下載',
|
|||
|
|
'sftp.context.extract': '解壓到目前目錄',
|
|||
|
|
'sftp.extract.extracting': '正在解壓 {fileName}...',
|
|||
|
|
'sftp.extract.success': '已解壓 {fileName}',
|
|||
|
|
'sftp.extract.error': '解壓 {fileName} 失敗:{error}',
|
|||
|
|
'sftp.context.copyToOtherPane': '複製到另一側',
|
|||
|
|
'sftp.copyToOtherPane.unavailable': '請開啟雙欄 SFTP 檔案管理,並連線目標側後再複製檔案。',
|
|||
|
|
'sftp.copyCurrentPath': '複製目前路徑',
|
|||
|
|
'sftp.copyCurrentPath.success': '已複製目前路徑',
|
|||
|
|
'sftp.copyCurrentPath.error': '無法複製目前路徑',
|
|||
|
|
'sftp.viewMode.label': '檢視模式',
|
|||
|
|
'sftp.viewMode.list': '列表檢視',
|
|||
|
|
'sftp.viewMode.tree': '樹形檢視',
|
|||
|
|
'sftp.viewMode.switchToList': '切換到列表檢視',
|
|||
|
|
'sftp.viewMode.switchToTree': '切換到樹形檢視',
|
|||
|
|
'sftp.listDensity.compact': '緊湊列表',
|
|||
|
|
'sftp.listDensity.comfortable': '寬鬆列表',
|
|||
|
|
'sftp.listDensity.switchToCompact': '切換到緊湊列表',
|
|||
|
|
'sftp.listDensity.switchToComfortable': '切換到寬鬆列表',
|
|||
|
|
'sftp.tree.loadError': '載入目錄失敗',
|
|||
|
|
'sftp.tree.loading': '載入中...',
|
|||
|
|
'sftp.kind.folder': '資料夾',
|
|||
|
|
'sftp.context.rename': '重新命名',
|
|||
|
|
'sftp.context.permissions': '權限',
|
|||
|
|
'sftp.context.delete': '刪除',
|
|||
|
|
'sftp.context.refresh': '重新整理',
|
|||
|
|
'sftp.context.uploadFiles': '上傳檔案...',
|
|||
|
|
'sftp.context.uploadFilesHere': '上傳檔案到這裡...',
|
|||
|
|
'sftp.context.uploadFolder': '上傳資料夾...',
|
|||
|
|
'sftp.context.uploadFolderHere': '上傳資料夾到這裡...',
|
|||
|
|
'sftp.context.downloadSelected': '下載選取項({count})',
|
|||
|
|
'sftp.context.deleteSelected': '刪除選取項({count})',
|
|||
|
|
'sftp.dropFilesHere': '拖曳檔案到這裡',
|
|||
|
|
'sftp.itemsCount': '{count} 個專案',
|
|||
|
|
'sftp.selectedCount': '已選 {count} 個',
|
|||
|
|
'sftp.path.doubleClickToEdit': '雙擊編輯路徑',
|
|||
|
|
'sftp.showHiddenPaths': '隱藏的路徑',
|
|||
|
|
'sftp.task.waiting': '等待中...',
|
|||
|
|
'sftp.transfer.preparing': '準備中...',
|
|||
|
|
'sftp.status.loading': '載入中...',
|
|||
|
|
'sftp.status.uploading': '上傳中...',
|
|||
|
|
'sftp.status.ready': '就緒',
|
|||
|
|
'sftp.transfers': '傳輸',
|
|||
|
|
'sftp.transfers.active': '{count} 個進行中',
|
|||
|
|
'sftp.transfers.clearCompleted': '清除已完成',
|
|||
|
|
'sftp.transfers.calculatingTotal': '正在統計總大小...',
|
|||
|
|
'sftp.transfers.filesCount': '{count} 個檔案',
|
|||
|
|
'sftp.transfers.filesProgress': '{current}/{total} 個檔案',
|
|||
|
|
'sftp.transfers.filesDiscoveredProgress': '已完成 {completed} · 已發現 {discovered}',
|
|||
|
|
'sftp.transfers.expandChildren': '展開檔案',
|
|||
|
|
'sftp.transfers.collapseChildren': '收起檔案',
|
|||
|
|
'sftp.transfers.expandChildList': '展開詳情',
|
|||
|
|
'sftp.transfers.collapseChildList': '收起',
|
|||
|
|
'sftp.transfers.retryAction': '重試',
|
|||
|
|
'sftp.transfers.dismissAction': '移除',
|
|||
|
|
'sftp.transfers.openTargetFolder': '開啟目標目錄',
|
|||
|
|
'sftp.transfers.openTargetFolderError': '無法開啟目標目錄',
|
|||
|
|
'sftp.transfers.copyTargetPath': '複製目標路徑',
|
|||
|
|
'sftp.transfers.copyTargetPathSuccess': '已複製目標路徑',
|
|||
|
|
'sftp.transfers.copyTargetPathError': '無法複製目標路徑',
|
|||
|
|
'sftp.transfers.pathConflict.title': '無法開始傳輸',
|
|||
|
|
'sftp.transfers.pathConflict.paused': '「{name}」已有傳輸工作處於暫停狀態,請先繼續或取消該工作。',
|
|||
|
|
'sftp.transfers.pathConflict.inProgress': '「{name}」已有傳輸工作正在進行中。',
|
|||
|
|
'sftp.transferCenter.title': '檔案傳輸',
|
|||
|
|
'sftp.transferCenter.quitConfirm': '還有 {count} 個檔案傳輸工作未完成。結束後會保留進度,下次開啟時需要手動繼續。確定結束嗎?',
|
|||
|
|
'sftp.transferCenter.phase.scanning': '正在掃描',
|
|||
|
|
'sftp.transferCenter.phase.compressing': '正在壓縮',
|
|||
|
|
'sftp.transferCenter.phase.uploading': '正在上傳',
|
|||
|
|
'sftp.transferCenter.phase.transferring': '傳輸中',
|
|||
|
|
'sftp.transferCenter.phase.extracting': '正在解壓',
|
|||
|
|
'sftp.transferCenter.phase.verifying': '正在驗證',
|
|||
|
|
'sftp.transferCenter.bucket.active': '進行中',
|
|||
|
|
'sftp.transferCenter.bucket.all': '全部',
|
|||
|
|
'sftp.transferCenter.bucket.queued': '排隊中',
|
|||
|
|
'sftp.transferCenter.bucket.paused': '已暫停',
|
|||
|
|
'sftp.transferCenter.bucket.failed': '失敗',
|
|||
|
|
'sftp.transferCenter.bucket.attention': '需要處理',
|
|||
|
|
'sftp.transferCenter.bucket.completed': '已完成',
|
|||
|
|
'sftp.transferCenter.status.pending': '準備中',
|
|||
|
|
'sftp.transferCenter.status.resuming': '正在重新連線並續傳…',
|
|||
|
|
'sftp.transferCenter.status.queued': '排隊中',
|
|||
|
|
'sftp.transferCenter.status.transferring': '傳輸中',
|
|||
|
|
'sftp.transferCenter.status.pausing': '正在暫停',
|
|||
|
|
'sftp.transferCenter.status.paused': '已暫停',
|
|||
|
|
'sftp.transferCenter.status.attention': '需要處理',
|
|||
|
|
'sftp.transferCenter.status.interrupted': '已中斷,請手動繼續',
|
|||
|
|
'sftp.transferCenter.status.completed': '已完成',
|
|||
|
|
'sftp.transferCenter.status.failed': '失敗',
|
|||
|
|
'sftp.transferCenter.status.cancelled': '已取消',
|
|||
|
|
'sftp.transferCenter.background': '背景',
|
|||
|
|
'sftp.transferCenter.pause': '暫停',
|
|||
|
|
'sftp.transferCenter.resume': '繼續',
|
|||
|
|
'sftp.transferCenter.prioritize': '優先傳輸',
|
|||
|
|
'sftp.transferCenter.pauseAll': '全部暫停',
|
|||
|
|
'sftp.transferCenter.resumeAll': '全部繼續',
|
|||
|
|
'sftp.transferCenter.empty': '目前分類沒有傳輸工作',
|
|||
|
|
'sftp.transferCenter.showBackground': '顯示 {count} 個背景工作',
|
|||
|
|
'sftp.transferCenter.hideBackground': '隱藏背景工作',
|
|||
|
|
'sftp.transferCenter.clear': '清除記錄',
|
|||
|
|
'sftp.transferCenter.applyAll': '套用到全部',
|
|||
|
|
'sftp.transfers.resizeNameColumn': '調整檔名列寬',
|
|||
|
|
'sftp.transfers.dragToResize': '拖曳調整高度',
|
|||
|
|
'sftp.goUp': '上一級',
|
|||
|
|
'sftp.goToTerminalCwd': '定位到終端目前目錄',
|
|||
|
|
'sftp.locatePathInTerminal': '定位路徑到終端',
|
|||
|
|
'sftp.followTerminalCwd': '追隨終端目錄',
|
|||
|
|
'sftp.followTerminalCwd.enable': '開啟追隨終端目錄',
|
|||
|
|
'sftp.followTerminalCwd.disable': '關閉追隨終端目錄',
|
|||
|
|
'sftp.encoding.label': '檔名編碼',
|
|||
|
|
'sftp.encoding.auto': '自動',
|
|||
|
|
'sftp.encoding.utf8': 'UTF-8',
|
|||
|
|
'sftp.encoding.gb18030': 'GB18030',
|
|||
|
|
'sftp.goHome': '返回主目錄',
|
|||
|
|
'sftp.goRoot': '回到根目錄',
|
|||
|
|
'sftp.folderName': '資料夾名稱',
|
|||
|
|
'sftp.folderName.placeholder': '輸入資料夾名稱',
|
|||
|
|
'sftp.fileName': '檔案名稱',
|
|||
|
|
'sftp.fileName.placeholder': '輸入檔案名稱',
|
|||
|
|
'sftp.prompt.newFolderName': '新增資料夾名稱?',
|
|||
|
|
'sftp.rename.title': '重新命名',
|
|||
|
|
'sftp.rename.newName': '新名稱',
|
|||
|
|
'sftp.rename.placeholder': '輸入新名稱',
|
|||
|
|
'sftp.confirm.deleteOne': '刪除 "{name}"?',
|
|||
|
|
'sftp.deleteConfirm.single': '刪除 "{name}"?',
|
|||
|
|
'sftp.deleteConfirm.title': '刪除 {count} 個專案?',
|
|||
|
|
'sftp.deleteConfirm.desc': '此操作不可復原,將刪除以下內容:',
|
|||
|
|
'sftp.deleteConfirm.descSingle': '此操作不可復原。',
|
|||
|
|
'sftp.deleteConfirm.host': '主機',
|
|||
|
|
'sftp.deleteConfirm.path': '路徑',
|
|||
|
|
'sftp.error.loadFailed': '載入目錄失敗',
|
|||
|
|
'sftp.error.downloadFailed': '下載失敗',
|
|||
|
|
'sftp.error.uploadFailed': '上傳失敗',
|
|||
|
|
'sftp.error.deleteFailed': '刪除失敗',
|
|||
|
|
'sftp.error.createFolderFailed': '建立資料夾失敗',
|
|||
|
|
'sftp.error.createFileFailed': '建立檔案失敗',
|
|||
|
|
'sftp.error.invalidFileName': '檔名包含非法字元:{chars}',
|
|||
|
|
'sftp.error.reservedName': '此檔名是系統保留名稱',
|
|||
|
|
'sftp.overwrite.title': '檔案已存在',
|
|||
|
|
'sftp.overwrite.desc': '名為"{name}"的檔案已存在。是否要替換它?',
|
|||
|
|
'sftp.overwrite.confirm': '替換',
|
|||
|
|
'sftp.error.renameFailed': '重新命名失敗',
|
|||
|
|
'sftp.picker.title': '選擇主機',
|
|||
|
|
'sftp.picker.desc': '為{side}窗格選擇主機',
|
|||
|
|
'sftp.picker.searchPlaceholder': '搜尋主機...',
|
|||
|
|
'sftp.picker.local.title': '本機檔案系統',
|
|||
|
|
'sftp.picker.local.desc': '瀏覽本機檔案',
|
|||
|
|
'sftp.picker.local.badge': '本機',
|
|||
|
|
'sftp.picker.connected.section': '已連線',
|
|||
|
|
'sftp.picker.connected.badge': '已連線',
|
|||
|
|
'sftp.picker.connected.connecting': '連線中',
|
|||
|
|
'sftp.picker.noMatch': '沒有相符的主機',
|
|||
|
|
'sftp.permissions.title': '編輯權限',
|
|||
|
|
'sftp.permissions.owner': '擁有者',
|
|||
|
|
'sftp.permissions.group': '群組',
|
|||
|
|
'sftp.permissions.others': '其他',
|
|||
|
|
'sftp.permissions.octal': '八進位制',
|
|||
|
|
'sftp.permissions.symbolic': '符號',
|
|||
|
|
'sftp.permissions.success': '權限已更新',
|
|||
|
|
'sftp.permissions.failed': '權限更新失敗',
|
|||
|
|
|
|||
|
|
// Quick Switcher
|
|||
|
|
'qs.search.placeholder': '搜尋主機或分頁',
|
|||
|
|
'qs.jumpTo': '跳轉到',
|
|||
|
|
'qs.localTerminal': '本機終端',
|
|||
|
|
'qs.localShells': '本機 Shell',
|
|||
|
|
'qs.default': '預設',
|
|||
|
|
|
|||
|
|
'settings.tab.plugins': '外掛程式',
|
|||
|
|
'settings.plugins.title': '外掛程式設定',
|
|||
|
|
'settings.plugins.description': '由開發外掛程式提供、經 NetMesh 原生元件驗證的設定。',
|
|||
|
|
'settings.plugins.loading': '正在載入外掛程式設定…',
|
|||
|
|
'settings.plugins.empty': '目前沒有已啟用外掛程式提供設定。',
|
|||
|
|
'settings.plugins.scopeContext': '請在對應的 {scope} 情境中開啟此設定。',
|
|||
|
|
'settings.plugins.pressKeybinding': '請按下組合鍵',
|
|||
|
|
'settings.plugins.validJsonArray': '請輸入有效的 JSON 陣列。',
|
|||
|
|
'settings.plugins.browse': '瀏覽',
|
|||
|
|
'settings.plugins.restartRequired': '需要重新啟動',
|
|||
|
|
'settings.plugins.saving': '正在儲存…',
|
|||
|
|
'settings.plugins.storedSecurely': '已安全儲存',
|
|||
|
|
'settings.plugins.configuredReplacement': '已設定 — 輸入新值以取代',
|
|||
|
|
'settings.plugins.moveItemUp': '將 {label} 的第 {index} 項上移',
|
|||
|
|
'settings.plugins.moveItemDown': '將 {label} 的第 {index} 項下移',
|
|||
|
|
'settings.plugins.addItem': '新增項目',
|
|||
|
|
'settings.plugins.removeItem': '移除項目',
|
|||
|
|
'settings.plugins.scopeTargets': '外掛程式設定範圍',
|
|||
|
|
'settings.plugins.scopeTarget': '{scope} 目標',
|
|||
|
|
'settings.plugins.noScopeTargets': '沒有可用的目標',
|
|||
|
|
'settings.plugins.thisDevice': '此裝置',
|
|||
|
|
'plugins.authentication.description': '請在此 NetMesh 對話框中完成驗證要求。',
|
|||
|
|
'plugins.authentication.value': '值',
|
|||
|
|
'plugins.authentication.password': '密碼',
|
|||
|
|
'plugins.authentication.code': '一次性驗證碼',
|
|||
|
|
'plugins.authentication.deviceCode': '裝置代碼',
|
|||
|
|
'plugins.authentication.openBrowser': '開啟瀏覽器',
|
|||
|
|
'plugins.authentication.invalidUrl': '驗證提供者傳回了不安全或無效的網址。',
|
|||
|
|
'plugins.authentication.responseFailed': '無法送出驗證回應。請重試或取消此要求。',
|
|||
|
|
'plugins.authentication.responseFailedWithMessage': '無法送出驗證回應:{message}。請重試或取消此要求。',
|
|||
|
|
'plugins.authentication.continue': '繼續',
|
|||
|
|
};
|