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': '打开',