SystemInformer 汉化完整指南:4 步把免费系统监控工具改成中文界面
【免费下载链接】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
半夜某个进程突然把 CPU 吃满,你打开 SystemInformer——这款免费的系统资源监控与调试工具——准备排查。可进程列表里的表头 "Working Set"、"Committed"、"Privileged Time" 全是英文,一个都看不懂,排查直接卡住。好消息是:SystemInformer 汉化没有技术门槛,改对几个文件就行。下面这条从"定位文件"到"细节打磨"的开源工具本地化教程,照着做一遍就能让界面说中文。
动手前:先摸清要改哪些文件
汉化一个桌面工具,核心就是找到"文字都藏在哪里"。这个项目的文字分两处存放:
- .rc 资源文件(就是存放界面文字的地方,用记事本就能打开):每个对话框的标题、按钮、标签文字都在里面;
- 部分 .c 源码文件:少数文字直接写死在代码里,后面会讲。
主程序的入口文件是 SystemInformer/SystemInformer.rc,共 2600 多行,菜单、对话框、列头都在这里。另外两个不能漏:
| 文件 | 作用 |
|---|---|
| SystemInformer/version.rc | 版本信息的语言与文字 |
| plugins/ 下各插件的 .rc | 每个插件界面独立,如 plugins/DotNetTools/DotNetTools.rc、plugins/HardwareDevices/HardwareDevices.rc |
想快速确认没漏文件?在源码目录全局搜索LANGUAGE LANG_,搜出来的 .rc 就是要处理的清单——主程序 2 个,插件若干。
主战场:核心改动流程
改语言标识的最快步骤
打开 SystemInformer/SystemInformer.rc 第 20 行,找到:
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US把它换成中文标识:
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIEDversion.rc 和每个插件的 .rc 里都有同样的行,逐个改掉。这一步告诉系统"这个程序的界面语言是简体中文"。
界面字符串批量翻译方法
资源文件里,文字都写在引号里。以进程属性对话框为例(第 104 行起):
CAPTION "General" PUSHBUTTON "Terminate",IDC_TERMINATE,197,218,50,14 GROUPBOX "Process",IDC_PROCESS,7,112,246,142翻译规则很简单:只改引号里的英文,ID、坐标、宽度这些数字一律不动。常用词对照:General→常规、Modules→模块、Threads→线程、Handles→句柄、Environment→环境变量、Terminate→结束。建议全文搜索引号内容,从上往下过一遍,同名按钮保持同一种译法。
源码里写死的英文怎么办
少数文字不在 .rc 里,而是硬编码在 .c 文件中。比如进程页签的英文名就写在 SystemInformer/mainwnd.c:
PhMwpCreateInternalPage(L"Processes", 0, ...);把L"Processes"改成L"进程"即可。这类文字量少,用全文搜索定位英文句子逐个替换。
重新编译,让改动落地
如果本地还没有源码,先取一份(仓库只读,改完的成果以 PR 形式交回去):
git clone https://gitcode.com/GitHub_Trending/sy/systeminformer用 Visual Studio 打开根目录的 SystemInformer.sln 编译主程序;插件在 plugins/Plugins.sln 里单独编译。构建约定可参考项目自带的 HACKING.md。
改完怎么确认生效
编译产物替换旧程序后,按这个顺序验收,两分钟走完:
- 主界面:菜单栏和进程列表表头应显示中文;
- 对话框:右键任一进程打开属性页,各页签名应是"常规/模块/线程"等中文;
- 插件:打开一两个插件的功能页,确认插件 .rc 的改动也生效了——这是最容易漏查的部分;
- 版本信息:打开"关于"对话框,核对 version.rc 的文字。
四项都过关,汉化才算真正落地。
别急着收工:让你返工的坑
汉化后界面变乱码
这是最常见的返工原因。.rc 文件默认按系统 ANSI 代码页解析,如果你用 UTF-8 保存了含中文的 .rc,编译出来就是方框乱码。处理办法:把改过中文的 .rc 用"ANSI(简体中文/GBK)"编码保存,或者编译时对 rc 加/u参数按 UTF-16 处理。二选一,别混着来。
有的地方还是英文
两个原因:一是文字硬编码在 .c 源码里(参考上面第 3 步),你只改了 .rc;二是改了插件的 .rc 但只重编了主程序,插件没重新编译。用全局搜索把残留英文再扫一遍能省不少事。
按钮文字被截断或重叠
中文字符是等宽的,四个汉字比 "View" 宽得多。发现某个按钮文字显示不全,就回到 .rc 里找到对应控件,把宽度参数(控件行里的倒数第二个数字)加大几格再重新编译。
再细一点:体验打磨
基础汉化通过后,有三处可以让体验更接近原生中文软件:
- 字体:.rc 里每段
FONT 8, "MS Shell Dlg"声明的是界面字体,可改成Microsoft YaHei UI,中文渲染更清爽; - 日期格式:进程"启动时间"等日期由代码格式化,可调整输出为"年月日"习惯顺序;
- 列宽:中文表头比英文长,给 CPU、内存等列适当加宽,避免截断。
这三点都是锦上添花,不影响主功能,可以最后再做。
交给社区:提交你的翻译
SystemInformer 是开源项目,社区很欢迎语言贡献。流程不复杂:
- Fork 仓库并拉一个分支,比如
localize-zh-cn; - 按本文流程完成翻译,本地跑通验收清单;
- 建一张术语表(进程、句柄、工作集、已提交内存……),保证同一概念全文同译;
- 提交 PR,附上改动说明,方便维护者审查。
翻译会随版本更新过时,提交时注明对应的版本号,能帮后来者省不少排查功夫。
收尾
到这里,一台满是英文的 SystemInformer 已经被你改得说中文了:定位文件 → 改语言标识 → 翻译字符串 → 验收 → 避坑 → 打磨,四步走完全程。系统资源监控和排查,从此不用在英文术语前停下来猜。
如果这份汉化教程帮到了你,不妨把没翻完的术语表交给社区一起完善,让你的翻译进入下一个官方版本 🚀
【免费下载链接】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),仅供参考