fix(shared): i18n coverage and contract updates

- keyPath field no longer tells users to enter a server-side path
- settings.highlight.builtin.* notes, timeout messages in four languages
- prototype-safe dictionary lookup; language as a render-time dependency
- Partial<AppSettings> saveSettings contract, update:stateGet channel
This commit is contained in:
Bill committed 2026-09-20 20:27:03 +08:00
1 parent 23fa566fa9
commit c0342db1e8
16 files changed
+100 -9

No files matched your search

+2
View File
@@ -27,6 +27,7 @@ const main: Record<string, string> = {
'main.sftp.deleteFailed': '刪除失敗: {detail}',
'main.sftp.invalidMode': '權限值無效: {mode}',
'main.sftp.invalidUidGid': 'uid/gid 無效',
'main.sftp.commandTimeout': '命令執行逾時',
'main.sftp.commandExitCode': '指令結束碼 {code}',
'main.sftp.cancelled': '已取消',
@@ -47,6 +48,7 @@ const main: Record<string, string> = {
'main.sysinfo.sessionGone': 'SSH 工作階段不存在或已中斷',
'main.sysinfo.execFailed': 'SSH exec 失敗',
'main.sysinfo.pollTimeout': '監控命令回應逾時',
'main.sysinfo.parseFailed': '解析失敗: {message}',
'main.pty.serviceNotReady': 'SSH 工作階段服務尚未初始化',
'main.pty.missingConnectionId': 'SSH 工作階段缺少 connectionId',
+16
View File
@@ -92,6 +92,11 @@ const settings: Record<string, string> = {
'搭配全域鍵可在任何畫面喚出/隱藏視窗;若註冊失敗(與其他軟體衝突)則不會生效,應用程式也不會報錯。',
'settings.system.shortcutRecording': '請按下組合鍵…',
'settings.system.shortcutPlaceholder': '點擊後按下快速鍵,留空為停用',
'settings.system.shortcutConflict':
'此組合鍵已被應用內快捷鍵佔用(Ctrl+= / Ctrl+- / Ctrl+0 / Ctrl+PgUp / Ctrl+PgDn),請換一個。',
'settings.resetTerminal': '恢復預設終端設定',
'settings.resetTerminalTitle': '恢復預設終端設定?',
'settings.resetTerminalDesc': '字體、游標、渲染與主題等全部終端設定將恢復為預設值。',
'settings.highlight.alert':
'自訂高亮可強化顯示效果,但會略微增加效能負擔。規則依優先順序套用。PS:高亮是在寫入終端時注入顏色,對既有的回捲內容不生效',
'settings.highlight.enabled': '啟用',
@@ -115,6 +120,17 @@ const settings: Record<string, string> = {
'settings.highlight.resetOk': '還原',
'settings.highlight.createTitle': '新增高亮規則',
'settings.highlight.editTitle': '編輯高亮規則',
'settings.highlight.builtin.perm': 'Linux 權限與使用者',
'settings.highlight.builtin.path': 'Linux 檔案路徑',
'settings.highlight.builtin.shellkw': 'Shell 關鍵字與流程',
'settings.highlight.builtin.okstate': '成功狀態',
'settings.highlight.builtin.badstate': '錯誤/警告狀態',
'settings.highlight.builtin.quoted': '字串與引號',
'settings.highlight.builtin.envvar': '環境變數與參數',
'settings.highlight.builtin.ipv4': '網路與 IP 位址',
'settings.highlight.builtin.datetime': '時間與日期',
'settings.highlight.builtin.numbers': '數字與計數',
'settings.highlight.builtin.url': '網址連結',
'settings.theme.accent': '標籤強調色',
'settings.theme.accentDesc': '作用中標籤的邊框、側邊欄指示條與 SSH 徽章的強調顏色',
'settings.theme.customBadge': '自訂',
+3 -1
View File
@@ -11,7 +11,7 @@ const ssh: Record<string, string> = {
'ssh.fields.askPasswordLabel': '連線時詢問密碼',
'ssh.fields.askPasswordHint': '開啟後每次連線彈出對話框輸入密碼,不再使用已儲存的密碼',
'ssh.fields.passwordPlaceholder': '編輯時留空表示保留已儲存的密碼',
'ssh.fields.keyPath': '私鑰路徑(伺服器上的本機私鑰路徑,可留空)',
'ssh.fields.keyPath': '私鑰檔案路徑(本機路徑,可留空)',
'ssh.fields.keyContent': '私鑰內容',
'ssh.fields.keyContentPlaceholder':
'貼上私鑰內容;留空則使用上面的路徑(編輯時留空表示保留已儲存的私鑰)',
@@ -94,6 +94,8 @@ const ssh: Record<string, string> = {
'ssh.file.up': '上一層',
'ssh.file.refresh': '重新整理',
'ssh.file.uploadFile': '上傳檔案',
'ssh.file.overwriteTitle': '覆蓋已存在的檔案?',
'ssh.file.overwriteDesc': '目標目錄已存在同名檔案,上傳將覆蓋其內容。',
'ssh.file.downloadSelected': '下載選取項目',
'ssh.file.permOwner': '權限 / 擁有者',
'ssh.file.open': '開啟',