2026/9/11 2:59:10

SystemInformer 中文界面怎么改?从 .rc 资源文件到语言切换的完整路径

SystemInformer 中文界面怎么改?从 .rc 资源文件到语言切换的完整路径 SystemInformer 中文界面怎么改从 .rc 资源文件到语言切换的完整路径【免费下载链接】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满屏英文进程列表、内存标签、属性页连右键菜单都是英文。想查一下句柄在哪里却得先背下 Handles 的拼写。能不能换成中文答案是能但得自己动手改。SystemInformer 的多语言支持藏在资源文件里改对地方SystemInformer 界面中文就不是梦。一个被英文界面卡住的真实场景你双击启动 SystemInformer窗口刷出来Processes、Threads、Memory……每一项都认识连起来却不知道点哪里。找进程属性里的环境页得靠翻译软件逐句对。问题就一个SystemInformer 能不能显示中文界面能改改完整个 SystemInformer 中文界面就能读得懂了。三分钟看懂语言是怎么塞进程序的Windows 程序的界面文字存在资源文件.rc里资源文件就像软件的翻译备忘录备忘录上贴了哪种语言程序就能显示哪种语言。备忘录的语言标签由LANGUAGE指令指定。主程序的标签贴在这里SystemInformer/version.rc 第 21 行LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US标签一贴程序运行时按这个语言 ID 去备忘录里取字符串。SystemInformer 判断该取哪种语言的逻辑在 phlib/util.cif (NT_SUCCESS(NtQueryDefaultUILanguage(languageId))) return languageId;也就是说程序会先问操作系统要默认 UI 语言但备忘录里只有英文条目问出来也得回落到英文。动手改把界面变成中文的完整路径⚠️ 以下步骤都是在你自己的本地副本里操作仓库是只读的。先拿到代码git clone https://gitcode.com/GitHub_Trending/sy/systeminformer cd systeminformer1. 复制并改语言标识把主程序资源文件复制一份作为中文底稿再把语言标签从美式英语改成简体中文cp SystemInformer/version.rc SystemInformer/version_zh.rc在version_zh.rc里改这一行diff 形式- LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED同时把文件里所有字符串值翻译成中文。各插件同理比如 plugins/HardwareDevices/HardwareDevices.rc 第 19 行也有同样的LANGUAGE标签插件想中文化就得逐个改。2. 多语言编译用 CMake 配置编译。构建脚本在 CMakeLists.txtrc 文件由 Windows 资源编译器RC.exe处理改完标签重新编译即可mkdir build cd build cmake -DCMAKE_TOOLCHAIN_FILE../cmake/toolchain/msvc-amd64.cmake .. cmake --build . --config Release编译输出在bin/下SystemInformer 和插件 DLL 都会带上新的语言资源。3. 配置默认语言想让中文成为默认还要动语言判断逻辑。phlib/include/settings.h 所在的 phlib 负责全局设置语言回退值写在 phlib/util.c 的PhGetUserDefaultUILanguage里查不到系统值时返回LANG_ENGLISH。在本地副本中把回退值改成return MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED);重新编译程序找不到系统 UI 语言时就会落到中文。至此 SystemInformer 修改语言的工作完成重启程序生效。如果版本已经支持多语言设置面板里怎么选如果你拿到的是社区已构建好的多语言版本不用改代码点五下就行菜单栏点 Options选择 Settings 打开设置对话框切到 Interface 选项卡在 Language 下拉框选 Chinese (Simplified)点 OK重启 SystemInformer 生效注意当前仓库的 SystemInformer/options.c 和 SystemInformer/settings.c 里没有 Language 设置项这条路只对包含多语言资源的构建版有效。想给社区翻译从这里开始给 SystemInformer 本地化贡献翻译三步走翻译 .rc 资源字符串在本地副本改各模块version.rc/ 插件.rc的文本并改LANGUAGE标签按 CONTRIBUTING.md 的规范提交 PR自查翻译完整性用 phlib/verify.c 的验证逻辑检查版本信息字段确认没有漏译的字符串。每条翻译都对应一个字符串 ID漏一个界面就混一个英文词提交前自己跑一遍程序对照检查。接下来会发生什么本地化方向仓库里目前有据可查的只有这些CHANGELOG.txt 记录过一次区域格式相关修复Fixed Show CPU Below 0.01 not respecting locale说明数字显示已开始按系统区域格式化语言读取依赖 phlib/util.c 的NtQueryDefaultUILanguage查询系统 UI 语言一变取值路径就跟着变为将来动态切换留了接口动态语言切换、语言包自动更新目前没有任何已确认的规划记录仓库所有.rc文件仍只有LANG_ENGLISH一种语言条目。想先看到中文最现实的路径还是本文第 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创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考