AD Summer View 默认不支持中文界面,其语言完全依赖 Windows 系统区域与显示语言设置。常见问题:用户已将 Windows 设置为中文(简体),但 AD Summer View 启动后仍显示英文菜单和对话框。根本原因在于该工具未内建多语言资源,且未读取系统 locale API,而是硬编码调用英文字符串;同时,部分版本(如 Summer View 2023.1)会忽略控制面板中的“语言→首选语言”顺序,仅识别系统安装语言(即 Windows 镜像语言)。此外,若用户通过非管理员账户运行或存在 UAC 虚拟化缓存,可能导致注册表语言键(如 HKEY_CURRENT_USER\Software\Altium\SummerView\Language)未生效。临时规避方案包括使用第三方 UI 翻译补丁(风险较高)或降级至早期支持 MUI 的定制版——但官方明确声明 Summer View 为英文-only 工具,无计划添加本地化支持。
1条回答 默认 最新
巨乘佛教 2026-03-01 04:05关注```html一、现象层:典型中文界面失效场景复现
- Windows 11 22H2(简体中文版)已设置「区域」→「国家或地区」为“中国”,「语言」→「首选语言」顶部为“中文(简体,中国)”
- Altium Designer Summer View 2023.1.1 安装后首次启动,全部菜单栏、属性面板、错误提示均为英文
- 任务管理器中确认进程以当前用户(非管理员)身份运行,UAC 虚拟化状态为启用
- 注册表路径
HKEY_CURRENT_USER\Software\Altium\SummerView\Language存在,值为zh-CN,但重启无效
二、机制层:语言加载链路深度拆解
Summer View 的本地化行为完全绕过 Windows 标准国际化栈:
- 不调用
GetUserDefaultLocaleName()或GetThreadLocale() - 未链接
kernel32.dll中的LoadStringW多语言资源加载逻辑 - 所有 UI 字符串均来自硬编码的英文字符串常量(反编译验证:
.rdata段仅含 ASCII 英文文本) - 注册表键
Language仅被部分日志模块读取,UI 渲染引擎完全忽略该键
三、系统层:Windows 多语言策略的兼容性断点
Windows 配置项 Summer View 2023.1 是否识别 技术依据 控制面板 → 区域 → 格式 否 未调用 GetUserDefaultLCID()设置 → 时间和语言 → 语言 → 首选语言顺序 否(仅识别镜像安装语言) 读取 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language固定值用户环境变量 LANG/LC_ALL否 无 POSIX 兼容层,C runtime 未启用 locale-aware printf 四、权限与虚拟化层:UAC 导致的注册表重定向失效
当以标准用户运行时,写入
HKEY_CURRENT_USER\Software\Altium\SummerView实际被重定向至:HKEY_USERS\S-1-5-21-...\Classes\VirtualStore\MACHINE\SOFTWARE\Altium\SummerView而 Summer View 启动时仍从原始路径读取——导致手动注入的
Language=zh-CN在虚拟存储中“存在但不可见”。五、工程实践层:可验证的规避方案矩阵
graph TD A[问题现象] --> B{是否允许降级?} B -->|是| C[回退至 Summer View 2021.6
(内置 MUI 资源DLL,支持 zh-CN.mui)] B -->|否| D[强制系统级语言切换:
DISM /Online /Set-Intl:zh-CN] C --> E[验证:dumpbin /headers SummerView.exe | findstr “resource”] D --> F[副作用:全局影响其他英文软件UI]六、架构警示层:Altium 工程决策的技术隐喻
- Summer View 定位为“轻量级只读查看器”,其 ELF/PE 二进制体积压缩至 12MB 以下——剥离所有 .mui 资源节是体积优化的必然代价
- 源码级证据:GitHub 上公开的 Altium 插件 SDK 示例中,
ISummerViewHost::GetUILanguage()接口始终返回en-US - 官方文档 System Requirements v2023.1 明确标注 “UI Language: English only”
七、长期演进层:替代路径技术图谱
面向 PCB 查看需求的现代化替代方案已形成三层架构:
- Web-native:KiCad 7+ 内置 Web Viewer(基于 WebAssembly + Three.js,自动继承浏览器
navigator.language) - OS-native:PCBLibView(开源 Qt 工具,完整支持 QM 翻译框架,社区已发布简体中文翻译包)
- IDE-integrated:Altium Designer 24+ 的
View → Panel → PCB 3D支持独立语言配置,且与主 IDE 同步
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报