mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-30 15:15:24 +00:00
* fix(sso): send the PKCE verifier for GitHub login (#1534) * fix(remote-desktop): clip cursor overflow without disabling zoom (#1535) * test(remote-desktop): preserve sessions beyond one hour (#1536) * fix(hosts): expose controls for overflowing editor tabs (#1537) * fix(hosts): expose controls for overflowing editor tabs * test(hosts): mock resize observation in admin panel tests * fix(status): skip TCP probes while host sessions are active (#1538) * fix(database): batch session activity persistence (#1539) * docs(api): describe cookie and API key authentication (#1540) * fix(snippets): repair missing note column on SQLite upgrades (#1541) * fix(docker): retain stored SSH credential association (#1543) * fix(file-manager): render transfer toasts without plugin hooks (#1546) * feat(hosts): keep compact row actions inline (#1547) * fix(auth): allow retrying unavailable second-factor interfaces (#1549) * fix(auth): reject unresolved legacy identity provisioning (#1550) * fix(desktop): ship the plugin SDK inside Mac App Store builds (#1551) * fix(tmux): pass full session info to the terminal's session picker (#1552) The tmux.sessions service reduced detected sessions to bare names, but the picker reads session.name, so every entry rendered blank and selecting one sent an empty name, which created a new session instead of attaching. * fix(ssh): read force keyboard-interactive as a boolean when resolving hosts (#1553) The column holds the text "true"/"false", and the resolver passed it through as-is. The string "false" is truthy, so the password provider treated every saved host as forced keyboard-interactive and left the password out. Jump hops are built straight from the resolved host, so a password hop whose server doesn't offer keyboard-interactive failed with "All configured authentication methods failed". * fix(database): batch database saves for bulk host writes (#1554) * fix(database): yield to the event loop between database saves Each SQLite save serializes and encrypts the whole database into new buffers, which V8 only releases once the event loop turns. Boot migrations and bulk host import write plugin settings per host and per key in an awaited loop, so hundreds of full copies piled up and the container ran out of memory. * fix(database): save once per bulk host write instead of once per row On SQLite every repository write force-saves the whole database. Boot plugin data migrations, host defaults materialization and the bulk host routes write one row per host per setting, so they serialized and encrypted the full database hundreds of times in a row. DatabaseSaveTrigger.batched wraps a function so force saves made while it runs collapse into a single save when it finishes. Nested scopes fold into the outer one, and work that outlives its scope saves normally. * feat(hosts): add instance-wide predefined tag suggestions (#1548) * feat(hosts): add shared predefined tag suggestions * style(hosts): format tag catalog routes * test(database): advance fake timers past the save yield (#1555) * fix(i18n): complete Simplified Chinese core and plugin translations (#1542) * fix(i18n): complete Chinese onboarding and navigation labels * fix(i18n): translate remaining Chinese core and plugin interfaces * fix(i18n): translate host editor tab overflow controls * fix(i18n): use consistent Chinese fleet terminology * fix(i18n): localize hardcoded controls and plugin views * fix(i18n): translate built-in homepage widget catalog * test(homepage): follow translated timezone placeholder * fix(i18n): translate plugin-provided homepage widgets * fix(i18n): localize feature settings section titles * fix: 2.8 oidc accounts unable to sign in after upgrading (#1381) * fix: plugins losing the saved ssh login when copying a host (#1391) * fix: fleets, proxmox and automations not getting the host sudo password * fix: host imports running a defaults pass and metrics restart per host (#1384) * fix: high cpu from status probes and full database saves on every sample (#1300) * fix: user data export freezing the server (#1393) * fix: op:// secret references rejected as ssh keys on credentials (#1394) * fix: slow file deletes from the trash lookups on every delete (#1390) * fix: add openapi docs and error handling to host tag routes * test: compare download stream buffers directly so it stops timing out * chore: drop em dash from host row comment * chore: update release notes for 2.9.1 * fix: restore space to add host tags and redesign predefined tags editor * fix: host key silently accepted when the host is missing from the database (#1397) * fix: clearer host login failed status label and fix its translations (#1396) * chore: add host key and status label fixes to release notes * fix: sso and ldap provider dialogs overflowing the screen and using mismatched toggles * chore: increment ver * fix(audit): store plugin entries with no acting user as a null user_id (#1556) Plugin audit entries written outside a request used the literal "system" as user_id. That column references users.id, so the insert was refused (Postgres logs it as an FK violation) and the entry was silently dropped. Write null instead and keep "system" / plugin:<id> in username. * chore: add sso/ldap dialog and audit log fixes to release notes * fix: tunnels and host settings missing from shared hosts on desktop * fix: remote desktop logins missing from shared hosts on desktop * fix: simplify host status to online/offline and keep it live without a refresh * chore: sync Crowdin translations for 2.9.1 --------- Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com>
375 lines
15 KiB
JSON
375 lines
15 KiB
JSON
{
|
|
"remoteDesktop": {
|
|
"connecting": "正在連線至 {{type}} 工作階段…",
|
|
"checkingGuacd": "正在檢查遠端桌面服務...",
|
|
"requestingToken": "Requesting {{type}} connection token...",
|
|
"openingSession": "正在開啟 {{type}} 會話...",
|
|
"negotiating": "Negotiating {{type}} handshake...",
|
|
"sessionReady": "{{type}} 會話已準備就緒",
|
|
"connectionError": "連線錯誤",
|
|
"connectionFailed": "連線失敗",
|
|
"failedToConnect": "無法取得連線權杖",
|
|
"hostNotFound": "找不到主機",
|
|
"noHostSelected": "未選擇主機",
|
|
"reconnect": "重新連線",
|
|
"retry": "重試",
|
|
"guacdUnavailable": "遠端桌面服務 (guacd) 無法使用。請確保 guacd 正在執行且可存取,並已在管理員設定中正確設定。",
|
|
"credentialPromptTitle": "輸入 RDP 憑證",
|
|
"credentialPromptDescription": "此主機設定為在連線時提示輸入憑證。這些憑證僅用於當前會話,不會被儲存。",
|
|
"connect": "連線",
|
|
"ctrlAltDel": "Ctrl+Alt+Del",
|
|
"files": {
|
|
"title": "磁碟機檔案",
|
|
"parent": "父目錄",
|
|
"refresh": "重新整理",
|
|
"empty": "此資料夾為空",
|
|
"listFailed": "讀取此資料夾失敗",
|
|
"download": "下載",
|
|
"downloadFailed": "下載失敗 {{name}}",
|
|
"upload": "上傳文件",
|
|
"uploading": "正在上傳 {{name}}...",
|
|
"uploaded": "已上傳 {{name}}",
|
|
"uploadFailed": "上傳失敗 {{name}}",
|
|
"uploadDisabled": "此連線已停用上傳功能",
|
|
"driveUnavailable": "上傳檔案前啟用 RDP 磁碟機重定向",
|
|
"driveNotWritable": "guacd 無法寫入磁碟機資料夾。請檢查 GUACD_DRIVE_PATH(或主機磁碟機路徑)及其權限。",
|
|
"dropToUpload": "拖放檔案即可上傳"
|
|
},
|
|
"toolbar": {
|
|
"ctrlAltDel": "Ctrl+Alt+Del",
|
|
"winL": "Win+L (鎖定螢幕)",
|
|
"winKey": "Windows 鍵",
|
|
"superL": "Super+L(鎖定畫面)",
|
|
"superKey": "超級鑰匙",
|
|
"super": "極佳的",
|
|
"cmdL": "Cmd+L(鎖定畫面)",
|
|
"cmdKey": "命令鍵",
|
|
"cmd": "命令",
|
|
"ctrl": "Ctrl",
|
|
"alt": "Alt",
|
|
"shift": "Shift",
|
|
"win": "Win",
|
|
"stickyActive": "{{key}} (已鎖定 - 點擊釋放)",
|
|
"stickyInactive": "{{key}} (點擊鎖定)",
|
|
"esc": "Escape",
|
|
"tab": "Tab",
|
|
"home": "Home",
|
|
"end": "End",
|
|
"pageUp": "Page Up",
|
|
"pageDown": "Page Down",
|
|
"arrowUp": "上箭頭",
|
|
"arrowDown": "下箭頭",
|
|
"arrowLeft": "左箭頭",
|
|
"arrowRight": "右箭頭",
|
|
"fnToggle": "功能鍵",
|
|
"reconnect": "重新連線工作階段",
|
|
"collapse": "收合工具列",
|
|
"expand": "展開工具列",
|
|
"dragHandle": "拖曳以重新定位",
|
|
"hide": "本次會話期間隱藏。若要永久停用,請開啟「主機設定」→「一般」→「連線工具列」。",
|
|
"zoomIn": "放大",
|
|
"zoomOut": "縮小",
|
|
"resetZoom": "重置縮放",
|
|
"fitToScreen": "適應螢幕",
|
|
"switchToTrackpad": "切換到觸控板模式(拖曳移動遊標,點擊點擊)",
|
|
"switchToTouch": "切換到觸控模式(直接點擊你想點擊的地方)"
|
|
},
|
|
"disabled": "遠端桌面已關閉。管理員可以在“設定”中啟用它。"
|
|
},
|
|
"hosts": {
|
|
"nativeRdpOpened": "在 Windows 遠端桌面中開啟",
|
|
"nativeRdpFailed": "無法開啟 Windows 遠端桌面",
|
|
"openNativeRdp": "在 Windows 遠端桌面中開啟",
|
|
"guac": {
|
|
"toolbar": "工具列",
|
|
"connection": "連線",
|
|
"authentication": "驗證",
|
|
"storedCredential": "已儲存的憑證",
|
|
"authMethod": "驗證方法",
|
|
"authTypeDirect": "直接",
|
|
"authTypeCredential": "憑證",
|
|
"authTypeNone": "取消全選",
|
|
"authTypeNoneDesc": "不會儲存任何憑證。每次連線時,系統都會提示您輸入使用者名稱和密碼;這些資訊不會被儲存。",
|
|
"selectCredential": "選取憑證…",
|
|
"connectionSettings": "連線設定",
|
|
"displaySettings": "顯示設定",
|
|
"audioSettings": "音訊設定",
|
|
"rdpPerformance": "RDP 效能",
|
|
"deviceRedirection": "裝置重新導向",
|
|
"session": "工作階段",
|
|
"gateway": "閘道",
|
|
"remoteApp": "RemoteApp",
|
|
"clipboard": "剪貼簿",
|
|
"sessionRecording": "工作階段錄製",
|
|
"wakeOnLan": "Wake-on-LAN",
|
|
"vncSettings": "VNC 設定",
|
|
"terminalSettings": "終端機設定",
|
|
"rdpPort": "RDP 連接埠",
|
|
"username": "使用者名稱",
|
|
"password": "密碼",
|
|
"passwordSaved": "密碼已儲存,輸入即可更改",
|
|
"domain": "網域",
|
|
"securityMode": "安全模式",
|
|
"width": "寬度",
|
|
"height": "高度",
|
|
"dpi": "DPI",
|
|
"clientName": "用戶端名稱",
|
|
"initialProgram": "初始程式",
|
|
"serverLayout": "伺服器鍵盤配置",
|
|
"timezone": "時區",
|
|
"loadBalanceInfo": "負載平衡資訊 / Cookie",
|
|
"loadBalanceInfoDesc": "用於 RDS 伺服器陣列負載平衡的 RD 連線代理 Cookie (例如 tsv://MS Terminal Services Plugin.1.CollectionName)",
|
|
"guacdProxy": "guacd 代理",
|
|
"guacdHostname": "guacd 主機",
|
|
"guacdHostnamePlaceholder": "全域預設",
|
|
"guacdPort": "guacd 連接埠",
|
|
"guacdProxyDesc": "覆寫此連線的全域 guacd 執行個體。留空以使用全域設定的 guacd。",
|
|
"gatewayHostname": "閘道主機名稱",
|
|
"gatewayPort": "閘道連接埠",
|
|
"gatewayUsername": "閘道使用者名稱",
|
|
"gatewayPassword": "閘道密碼",
|
|
"gatewayDomain": "閘道網域",
|
|
"remoteAppProgram": "RemoteApp 程式",
|
|
"workingDirectory": "工作目錄",
|
|
"arguments": "引數",
|
|
"normalizeLineEndings": "正規化行尾符號",
|
|
"macAddress": "MAC 位址",
|
|
"broadcastAddress": "廣播位址",
|
|
"udpPort": "UDP 連接埠",
|
|
"waitTimeS": "等待時間 (秒)",
|
|
"driveName": "磁碟機名稱",
|
|
"drivePath": "磁碟機路徑",
|
|
"ignoreCertificate": "忽略憑證",
|
|
"ignoreCertificateDesc": "允許連線至使用自行簽署憑證的主機",
|
|
"forceLossless": "強制無損",
|
|
"forceLosslessDesc": "強制使用無損影像編碼(品質較高,頻寬需求較大)",
|
|
"disableAudio": "停用音訊",
|
|
"disableAudioDesc": "將遠端工作階段的音訊全部靜音",
|
|
"enableAudioInput": "啟用音訊輸入(麥克風)",
|
|
"enableAudioInputDesc": "將本機麥克風轉送至遠端工作階段",
|
|
"wallpaper": "桌面背景",
|
|
"wallpaperDesc": "顯示桌面背景(停用可提升效能)",
|
|
"theming": "佈景主題",
|
|
"themingDesc": "啟用視覺主題與樣式",
|
|
"fontSmoothing": "字型平滑處理",
|
|
"fontSmoothingDesc": "啟用 ClearType 字型轉譯",
|
|
"fullWindowDrag": "全視窗拖曳",
|
|
"fullWindowDragDesc": "拖曳時顯示視窗內容",
|
|
"desktopComposition": "桌面合成",
|
|
"desktopCompositionDesc": "啟用 Aero 玻璃效果",
|
|
"menuAnimations": "選單動畫",
|
|
"menuAnimationsDesc": "啟用選單淡入淡出及滑動動畫",
|
|
"disableBitmapCaching": "停用點陣圖快取",
|
|
"disableBitmapCachingDesc": "關閉點陣圖快取(可能有助於解決顯示問題)",
|
|
"disableOffscreenCaching": "停用螢幕外快取",
|
|
"disableOffscreenCachingDesc": "關閉螢幕外快取",
|
|
"disableGlyphCaching": "停用字符快取",
|
|
"disableGlyphCachingDesc": "關閉字符快取",
|
|
"enableGfx": "啟用 GFX",
|
|
"enableGfxDesc": "使用 RemoteFX 圖形管線",
|
|
"enablePrinting": "啟用列印功能",
|
|
"enablePrintingDesc": "將本機印表機重新導向至遠端工作階段",
|
|
"enableDriveRedirection": "啟用磁碟機重新導向",
|
|
"enableDriveRedirectionDesc": "在遠端工作階段中將本機資料夾對應為磁碟機",
|
|
"createDrivePath": "建立磁碟機路徑",
|
|
"createDrivePathDesc": "如果資料夾不存在則自動建立",
|
|
"disableDownload": "停用下載",
|
|
"disableDownloadDesc": "防止從遠端工作階段下載檔案",
|
|
"disableUpload": "停用上傳",
|
|
"disableUploadDesc": "防止將檔案上傳至遠端工作階段",
|
|
"enableTouch": "啟用觸控",
|
|
"enableTouchDesc": "啟用觸控輸入轉送",
|
|
"consoleSession": "主控台工作階段",
|
|
"consoleSessionDesc": "連線至主控台 (工作階段 0) 而非新工作階段",
|
|
"sendWolPacket": "傳送 WOL 封包",
|
|
"sendWolPacketDesc": "在連線前傳送魔術封包以喚醒此主機",
|
|
"disableCopy": "停用複製",
|
|
"disableCopyDesc": "防止從遠端工作階段複製文字",
|
|
"disablePaste": "停用貼上",
|
|
"disablePasteDesc": "防止將文字貼上至遠端工作階段",
|
|
"createPathIfMissing": "若路徑不存在則建立",
|
|
"createPathIfMissingDesc": "自動建立錄製目錄",
|
|
"excludeOutput": "排除輸出",
|
|
"excludeOutputDesc": "不錄製螢幕輸出 (僅中繼資料)",
|
|
"excludeMouse": "排除滑鼠",
|
|
"excludeMouseDesc": "不錄製滑鼠移動",
|
|
"includeKeystrokes": "包含按鍵輸入",
|
|
"includeKeystrokesDesc": "除了螢幕輸出外,也錄製原始按鍵輸入",
|
|
"vncPort": "VNC 連接埠",
|
|
"vncPassword": "VNC 密碼",
|
|
"vncUsernameOptional": "使用者名稱 (選用)",
|
|
"vncLeaveBlank": "若不需要則留空",
|
|
"cursorMode": "游標模式",
|
|
"swapRedBlue": "交換紅/藍",
|
|
"swapRedBlueDesc": "交換紅色與藍色色版 (修正某些色彩問題)",
|
|
"readOnly": "唯讀",
|
|
"readOnlyDesc": "僅檢視遠端螢幕,不傳送任何輸入",
|
|
"telnetPort": "Telnet 連接埠",
|
|
"terminalType": "終端機類型",
|
|
"fontName": "字型名稱",
|
|
"fontSize": "字型大小",
|
|
"colorScheme": "色彩配置",
|
|
"backspaceKey": "退格鍵",
|
|
"colorDepth": "色彩深度",
|
|
"resizeMethod": "調整尺寸方法",
|
|
"driveNamePlaceholder": "特米克斯大道",
|
|
"options": {
|
|
"any": "Any",
|
|
"auto": "Auto",
|
|
"nlaExtended": "NLA Extended",
|
|
"color8": "8-bit",
|
|
"color16": "16-bit",
|
|
"color24": "24-bit",
|
|
"color32": "32-bit",
|
|
"displayUpdate": "Display Update",
|
|
"reconnect": "Reconnect",
|
|
"preserve": "Preserve",
|
|
"unix": "Unix (LF)",
|
|
"windows": "Windows (CRLF)",
|
|
"local": "Local",
|
|
"remote": "Remote",
|
|
"failsafe": "failsafe",
|
|
"blackOnWhite": "Black on White",
|
|
"whiteOnBlack": "White on Black",
|
|
"grayOnBlack": "Gray on Black",
|
|
"greenOnBlack": "Green on Black"
|
|
}
|
|
},
|
|
"remoteDesktop": "遠端桌面",
|
|
"tabRdp": "RDP",
|
|
"tabVnc": "VNC",
|
|
"tabTelnet": "Telnet",
|
|
"virtualNetwork": "虛擬網路",
|
|
"unencryptedShell": "未加密殼層",
|
|
"remoteDesktopNotes": "筆記",
|
|
"userDefaultsNote": "如果您的設定保持不變,請遵循主機預設設定。",
|
|
"connectionOriginNote": "在桌面應用程式中,RDP、VNC 和 Telnet 會使用遠端伺服器,除非主機設定為「此設備」。 「此設備」需要 guacd 代理,即此電腦可以存取的代理。您可以在遠端桌面設定中設定 guacd 代理,也可以為每個主機單獨設定。",
|
|
"docsLink": "檢視文件",
|
|
"connectionOriginGuacamoleNote": "RDP、VNC 和 Telnet 預設使用遠端伺服器,除非您選擇“此設備”,這需要一台機器可以存取的 guacd 伺服器。您可以在 guacd URL 設定中設置,也可以在 guacd 代理中為每個主機單獨設定。"
|
|
},
|
|
"onboarding": {
|
|
"feature_desktop": "遠端桌面",
|
|
"feature_desktop_desc": "像 SSH 一樣,在同一個標籤頁中開啟 RDP、VNC 和 Telnet 會話。"
|
|
},
|
|
"settings": {
|
|
"user": {
|
|
"colorDepth": {
|
|
"label": "色彩深度",
|
|
"description": "用於那些保留預設設定的 RDP 主機。"
|
|
},
|
|
"resizeMethod": {
|
|
"label": "調整尺寸方法",
|
|
"description": "遠端螢幕如何跟隨視窗大小變化。"
|
|
},
|
|
"resizeDisplayUpdate": "顯示更新",
|
|
"resizeReconnect": "重新連線",
|
|
"inherit": "繼承",
|
|
"on": "開啟",
|
|
"off": "關閉",
|
|
"forceLossless": {
|
|
"label": "強制無損",
|
|
"description": "強制使用無損影像編碼(品質較高,頻寬需求較大)"
|
|
},
|
|
"enableWallpaper": {
|
|
"label": "桌面背景",
|
|
"description": "顯示桌面背景(停用可提升效能)"
|
|
},
|
|
"enableFontSmoothing": {
|
|
"label": "字型平滑處理",
|
|
"description": "啟用 ClearType 字型轉譯"
|
|
},
|
|
"enableDesktopComposition": {
|
|
"label": "桌面合成",
|
|
"description": "啟用 Aero 玻璃效果"
|
|
},
|
|
"disableAudio": {
|
|
"label": "停用音訊",
|
|
"description": "將遠端工作階段的音訊全部靜音"
|
|
},
|
|
"enablePrinting": {
|
|
"label": "啟用列印功能",
|
|
"description": "將本機印表機重新導向至遠端工作階段"
|
|
},
|
|
"enableDrive": {
|
|
"label": "啟用磁碟機重新導向",
|
|
"description": "在遠端工作階段中將本機資料夾對應為磁碟機"
|
|
},
|
|
"disableCopy": {
|
|
"label": "停用複製",
|
|
"description": "防止從遠端工作階段複製文字"
|
|
},
|
|
"disablePaste": {
|
|
"label": "停用貼上",
|
|
"description": "防止將文字貼上至遠端工作階段"
|
|
},
|
|
"group": "遠端桌面預設設定",
|
|
"colorDepth16": "16 位元",
|
|
"colorDepth24": "24 位元",
|
|
"colorDepth32": "32 位元"
|
|
},
|
|
"admin": {
|
|
"enabled": {
|
|
"label": "啟用遠端桌面",
|
|
"description": "允許透過 guacd 連接 RDP、VNC 和 Telnet。"
|
|
},
|
|
"guacdUrl": {
|
|
"label": "guacd URL",
|
|
"description": "guacd 監聽的位置,格式為 host:port。 GUACD_URL、GUACD_HOST 和 GUACD_PORT 環境變數會覆寫此設定。",
|
|
"placeholder": "guacd:4822"
|
|
}
|
|
},
|
|
"host": {
|
|
"enableRdp": {
|
|
"label": "RDP"
|
|
},
|
|
"enableVnc": {
|
|
"label": "VNC"
|
|
},
|
|
"enableTelnet": {
|
|
"label": "Telnet"
|
|
},
|
|
"rdpPort": {
|
|
"label": "RDP埠"
|
|
},
|
|
"vncPort": {
|
|
"label": "VNC埠"
|
|
},
|
|
"telnetPort": {
|
|
"label": "Telnet連接埠"
|
|
},
|
|
"rdpSecurity": {
|
|
"label": "RDP 安全模式"
|
|
},
|
|
"rdpIgnoreCert": {
|
|
"label": "忽略證書錯誤"
|
|
},
|
|
"guacamoleConfig": {
|
|
"label": "guacd 設定"
|
|
},
|
|
"enableToolbar": {
|
|
"label": "遠端桌面工具列",
|
|
"description": "在 RDP、VNC 和 Telnet 會話中顯示工具列。"
|
|
},
|
|
"displayGroup": "展示",
|
|
"displayDefaultsTab": "遠端桌面"
|
|
}
|
|
},
|
|
"palette": {
|
|
"connectRdp": "使用 RDP 連接",
|
|
"connectVnc": "透過 VNC 連接",
|
|
"connectTelnet": "使用 Telnet 連接"
|
|
},
|
|
"permissions": {
|
|
"sessions": {
|
|
"title": "共用遠端桌面會話",
|
|
"description": "允許會話共用和協作房間向其他人顯示此使用者的 RDP、VNC 和 Telnet 會話。"
|
|
}
|
|
},
|
|
"errors": {
|
|
"remoteServerRequired": "需要遠端伺服器。請在「設定」中連接遠端伺服器以使用此連線類型。"
|
|
},
|
|
"plugin": {
|
|
"name": "Remote Desktop"
|
|
}
|
|
}
|