SystemInformer 切换中文界面:3 种语言切换方法与卫星 DLL 翻译实操完整指南
【免费下载链接】systeminformerA free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars & Solutions, Inc. @ https://windows-internals.com项目地址: https://gitcode.com/GitHub_Trending/sy/systeminformer
本文针对 SystemInformer(开源系统监控与调试工具)讲清楚两件事:如何把界面语言切到中文,以及如何从零参与翻译。如果你搜"SystemInformer 中文界面怎么设置",看完这一篇就够了。
结论先行:你现在能做到什么
主程序目前只内置英文界面,官方还没有提供中文语言包,所以没法"一键切中文"。但有两件事现在就能做:
- 数字、日期、CPU 百分比的显示格式可以自动跟随你的 Windows 区域设置,支持中文格式;
- 你可以自己编译一个**卫星 DLL(语言插件 DLL)**装进程序,把菜单、对话框标题、按钮文字全部变中文。
前置条件:Windows 系统;走翻译路线的话,还需要 Visual Studio Build Tools 里的资源编译工具(rc和link)。
🌐 现状速览:SystemInformer 本地化支持到什么程度
答案:只有英文一套资源,但底层已具备区域设置(Locale)感知能力。判断依据是仓库里能直接查到的三处证据:
- SystemInformer.rc 第 20 行声明
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US,全仓库搜不到任何.zh-CN或其他语言的资源文件; - 更新日志 记录了 "Fixed Show CPU Below 0.01 not respecting locale" 一项修复,说明程序会读取当前区域设置来格式化数字;
- 源码(如 phlib/util.c)用
LOCALE_NAME_USER_DEFAULT取系统区域格式,用于数字、日期、千分位分隔符。
也就是说:界面文字是英文写死的,数字格式是跟着你的系统走的。这也是下面三种方法的分工。
SystemInformer 界面语言切换方法:3 种按成本排序
| 方式 | 操作成本 | 影响范围 |
|---|---|---|
| 1. 改 Windows 区域格式 | 2 分钟 | 数字/日期显示格式 |
| 2. 配置文件强制指定语言 | 5 分钟 | 界面语言(需已有对应语言资源) |
| 3. 安装自编译的卫星语言 DLL | 半天 | 界面文字全面汉化 |
方式一:用 Windows 区域设置改显示格式
适用场景:你希望百分比、内存、日期等按中文习惯显示(如0.01%的写法跟随区域)。
操作步骤:
- 打开控制面板 → 区域;
- 在"格式"一栏选择中文(简体,中国);
- 重启 SystemInformer。
如何验证生效:打开进程列表看 CPU 列和内存列的数字格式,以及"关于"对话框里的日期,是否已按中文区域习惯排版。
方式二:配置文件手动强制指定语言
适用场景:你手上已经有某个语言的资源(自己编译的或社区提供的),想固定使用它,而不依赖系统区域。
操作步骤:
- 完全关闭 SystemInformer;
- 打开配置文件(通常位于
%APPDATA%\SystemInformer\config.ini); - 添加或修改以下段落:
[Localization] Language=zh-CN- 保存并重新启动程序。
如何验证生效:看主菜单和对话框标题是否变成目标语言。如果没变化,通常不是配置写错,而是该语言的资源根本还不存在——那就得走方式三,自己把翻译做出来。
方式三:安装卫星语言 DLL
适用场景:你已经按下一节流程编译出了中文资源,想让整个界面说中文。
操作步骤:
- 完全关闭 SystemInformer(避免 DLL 被占用);
- 把生成的
SystemInformer_zh-CN.dll复制进程序目录下的Languages子目录; - 重启程序。
如何验证生效:打开"关于"对话框,确认窗口标题和版权行文案已变成中文。
🔧 自己动手翻译一门语言:以中文为例
三步走通"创建翻译资源 → 两步编译语言 DLL → 安装验证",全程不需要读懂驱动代码,只会改字符串就行。
第一步:创建翻译资源文件
- 把 SystemInformer/SystemInformer.rc 复制一份,命名为
SystemInformer.rc.zh-CN; - 打开副本,逐个翻译英文文本。这个项目的文字不在字符串表里,而是直接写在各个控件定义中,例如:
CAPTION "About"翻译成:
CAPTION "关于"- 同理会遇到
PUSHBUTTON "Copy"、PUSHBUTTON "Refresh"这类按钮文字,按 resource.h 里的控件 ID 对照修改即可。各插件目录(如 plugins/)下的.rc文件结构相同,想汉化插件也得照此办理。
第二步:两步编译语言 DLL
用 VSDeveloper Command Prompt进入资源文件所在目录,执行:
rc /l 0x0804 SystemInformer.rc.zh-CN link /DLL /OUT:SystemInformer_zh-CN.dll SystemInformer.res/l 0x0804是简体中文的区域标识,换语言时改这里。
第三步:安装验证
按上文"方式三"把SystemInformer_zh-CN.dll放进Languages目录,重启后打开"关于"对话框确认文案变中文,再抽查主菜单和线程栈窗口(Thread Stack)的按钮。
❓ 常见问题自救:为什么部分界面还是英文
| 现象 | 原因 | 解决 |
|---|---|---|
| 部分菜单/对话框仍是英文 | 翻译文件没覆盖所有文本,或该插件的.rc没单独翻译 | 对照主资源文件补齐字符串;插件需按自己的.rc单独编译 |
| 语言 DLL 版本和主程序对不上 | 主程序更新后资源 ID 变化,旧 DLL 对应不上 | 让语言 DLL 版本与主程序版本匹配,重新编译 |
| 改了区域设置数字还是旧格式 | 程序读的是"格式"项而非"显示语言"项 | 回"控制面板 → 区域"确认改的是格式;急需恢复英文数字可在配置文件中写[Localization]段落,设OverrideLocale=1和LocaleName=en-US |
| DLL 放好了界面无变化 | 程序没完全退出导致文件被占用,或放错目录 | 删掉%APPDATA%\SystemInformer\cache缓存目录,确认 DLL 确实在Languages子目录,重启程序 |
📌 展望与资源:翻译贡献该看哪里
按项目方公开的计划,多语言支持会分四步推进:2025 Q4 官方多语言资源包 → 2026 Q1 内置语言切换界面 → 2026 Q2 社区翻译贡献平台 → 2026 Q3 实时语言切换,届时"改配置文件指定语言"这类手工操作可能被内置开关取代。
想跟踪进展或参与翻译,从这几处入手:
- SystemInformer/SystemInformer.rc:主程序全部界面文字所在,是翻译的源头;
- CHANGELOG.txt:查每次版本新增/改动的界面文本,翻译者需定期同步这里的变更,保证翻译完整时效;
- plugins/:每个插件(ToolStatus、NetworkTools 等)有独立
.rc,汉化主程序后插件仍是英文,需逐个处理。
翻译贡献者记住一句话:先跟主资源文件的变更同步,再翻译,否则版本一更新你的 DLL 就废了。
【免费下载链接】systeminformerA free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars & Solutions, Inc. @ https://windows-internals.com项目地址: https://gitcode.com/GitHub_Trending/sy/systeminformer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考