SystemInformer 汉化指南:3 步把系统监控工具改成中文界面
【免费下载链接】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 想排查卡顿进程,满屏英文看得头晕?这款免费的 Windows 系统监控工具功能很强,但默认界面只有英文。这篇 SystemInformer 汉化教程带你 3 步完成主程序和插件的中文本地化,全程只动两个类型的文件,改完重新编译就能看到效果。
准备与前置检查:3 步核对语言相关文件
开始动手前,先在自己的电脑上把仓库拉到本地(下面的所有"修改"都发生在你自己的本地副本里):
git clone https://gitcode.com/GitHub_Trending/sy/systeminformer你需要的环境:Windows + Visual Studio(能打开 SystemInformer.sln 即可),界面本地化不需要驱动开发环境。
关键文件位置(都在项目根目录下,按模块划分):
- SystemInformer/SystemInformer.rc:主程序资源文件,第 20 行是语言标识
- SystemInformer/version.rc:版本信息资源文件,第 21 行同样有语言标识
- SystemInformer/mwpgproc.c:进程页代码,界面文字大多直接写在 .c 源码里
- plugins/:插件目录,每个插件子目录里都有自己的
.rc资源文件和version.rc - SystemInformer/settings.c:界面显示相关的设置代码
核心操作流程:3 步完成中文语言切换
第 1 步:切换主程序的语言标识
- 去哪里看:SystemInformer/SystemInformer.rc 第 20 行和 SystemInformer/version.rc 第 21 行,目前都写着
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US。 - 改什么:把这行替换为简体中文标识。
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED- 改完会发生什么:资源编译器会把这批资源标记为"中文(简体)",当你的 Windows 区域设置是中文时,系统会优先加载这份中文资源,程序版本号、帮助等元信息也随之变为中文区域。
第 2 步:翻译界面字符串
- 去哪里看:这个项目的界面文字不是集中在一个翻译表里,而是以宽字符串字面量(C 代码里
L"..."这种带 L 前缀的字符串)的形式分散在各处。典型例子在 SystemInformer/mwpgproc.c 第 104 行,进程页菜单的标题就写成了L"Processes"。 - 改什么:在你的本地副本里全局搜索
L"Processes"这类英文文本,把要汉化界面的部分替换成中文,例如:
menu = PhCreateEMenuItem(0, 0, L"进程", NULL, NULL);- 改完会发生什么:重新编译后,对应的菜单、按钮和列标题直接显示中文;没改到的地方保持英文,所以可以按需分批翻译,不必一次改完。
第 3 步:同步插件的语言文件
- 去哪里看:在本地副本的根目录全局搜索
LANG_ENGLISH。本项目里每个插件的.rc与version.rc都还是英文标识,比如 plugins/DotNetTools/DotNetTools.rc、plugins/ExtendedTools/ExtendedTools.rc、plugins/NetworkTools/NetworkTools.rc、plugins/OnlineChecks/OnlineChecks.rc,以及 tools/peview/peview.rc 等配套工具。 - 改什么:按第 1 步同样的方式,把这些文件里的语言行批量替换成简体中文标识。
- 改完会发生什么:重新编译后,各插件页面、对话框和更新提示的语言属性与主程序一致,中文区域下加载时不再"半英半中"。
进阶定制:让中文界面更顺手
术语统一。先建一张小术语表再动手:进程(Process)、模块(Module)、句柄(Handle)、内存(Memory)。用全局搜索按词替换,可以避免同一概念在不同页面被翻成"程序/任务"两种叫法。
布局与列宽。中文通常比英文短,菜单被截断的问题反而变少;但固定宽度的控件要留意,列宽管理逻辑在 SystemInformer/colmgr.c 附近,改完中文后重点检查进程列和内存页有没有挤压或过宽。
显示格式。日期、数字、内存单位的格式化散布在 SystemInformer/settings.c 及format相关代码中,可按中文习惯调整日期顺序和单位写法,改完在进程页的创建时间列验证一下即可。
常见问题自查清单
- 改了还是英文:资源是在编译时才打进可执行文件的,确认你已经重新编译并替换了旧的可执行文件;同时检查
version.rc是否漏改(只改主.rc会导致语言属性不一致)。 - 中文显示乱码或方块:多半是文件编码问题。
.rc和.c文件请保存为 UTF-8(带 BOM),Visual Studio 的资源编译对混用编码很敏感;用正确的编码重新打开文件再编译一次。 - 插件页面仍是英文:语言标识和文字内容是两件事——只改
.rc只改变了"这份资源是什么语言",文字本身还是要去插件的.c源码里逐个替换。 - 驱动加载失败、数据不全:内核组件在 KSystemInformer/,需要 WDK 和驱动签名才能加载。纯界面汉化可以先不管驱动,程序仍能启动,只是部分实时数据页会受限。
写在最后
到这里,你已经掌握了 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),仅供参考