mirror of
https://github.com/shadowsocks/ShadowsocksX-NG.git
synced 2026-10-29 05:33:45 +00:00
1.9 KiB
1.9 KiB
应用语言选择
范围
在设置的「常规」末尾新增语言下拉框,提供自动检测、简体中文、英文。 默认自动检测。保存后下次启动生效,不自动退出或重启应用。 本文件记录本次需求与实现取舍,不作为项目当前状态的持续维护文档。
展示
- 收起时显示所选项的单个名称:自动检测使用当前界面语言,语言项使用自称。
- 展开时显示「自称 · 当前界面语言名称」。重复名称保留。
- 自动检测的固定前缀为
Auto Detect。 - 顺序为自动检测、简体中文、英文。
- 行标题为「语言」/
Language,说明为「下次启动生效」/Takes effect next launch。
| 选项 | 中文界面 | 英文界面 |
|---|---|---|
| 自动检测 | Auto Detect · 自动检测 | Auto Detect · Auto Detect |
| 简体中文 | 简体中文 · 简体中文 | 简体中文 · Simplified Chinese |
| 英文 | English · 英文 | English · English |
偏好与生效
语言选择只影响本应用。显式选择写入应用级 AppleLanguages,自动检测移除该覆盖。
自动检测沿用 macOS 对应用支持语言的匹配;开发语言为简体中文。
不改全局语言、地区格式、代理设置或代理运行状态。
应用现有 SwiftUI 与 Foundation 本地化在下次启动读取同一应用偏好。
本次不迁移既有未本地化文案。
Module 与测试 seam
AppLanguagePreferences 的 Interface 提供当前选择与保存选择。
该 Module 隐藏应用偏好域的读取及语言覆盖的写入。
AppLanguage 提供收起名称与双语菜单名称。
使用系统原生 Picker,独立提供当前值标签。
测试通过上述 Interface 检查缺失偏好、持久化往返、清除覆盖与双语名称。 测试使用进程私有 UserDefaults 域。 启动解析另外通过隔离的小型应用 bundle 验证,覆盖自动检测与显式覆盖。