拓冰建站拓冰建站
首页 / 资讯中心 / 正文

SystemInformer 汉化 5 步走:免费系统监控工具中文界面改造完整指南

SystemInformer 汉化 5 步走免费系统监控工具中文界面改造完整指南【免费下载链接】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 汉化指南带你把这款免费开源系统监控工具改成中文界面不用装任何语言包直接修改仓库里的资源文件并重新编译按顺序走完 5 步就能跑通。满屏英文的 SystemInformer问题到底出在哪很多人以为改个系统区域设置就能汉化实际上不行——SystemInformer 的界面文案是编译时打包进程序的它没有独立的语言文件文案分散在两处资源文件.rc存放窗口、菜单、按钮、对话框上控件文字的文件。主程序的在SystemInformer/SystemInformer.rc每个插件在 plugins/ 下各有一份自己的.rc。C 源码部分页签标题、菜单项是代码里写死的字符串例如SystemInformer/mainwnd.c中直接用LProcesses创建了进程页。顺带说一句内核驱动模块 KSystemInformer/ 只负责底层监控没有任何界面文案汉化时不用碰它。所以完整的汉化 改.rc里的语言标识 翻译.rc里的控件文案 翻译.c里的硬编码字符串最后重新编译。汉化总览4 处改动改前改后一张表动手前先对一下这张清单改到哪、漏了哪一目了然改什么改前英文改后中文主程序语言标识SystemInformer.rc、version.rcLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_USLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED插件语言标识plugins/ 下各.rc同上同上.rc里控件文案如LTEXT Processes英文进程.c里硬编码字符串如LProcesses英文进程顺序建议先改语言标识再翻字符串。反过来做的话你很容易漏掉一批控件。另外注意名副其实——语言标识声明成简体中文后文案内容也要同步翻成中文否则系统按中文取资源、显示出来的却是英文排查起来更费劲。动手实操按依赖顺序改 5 处第 1 步改主程序 SystemInformer.rc 与 version.rc 的语言标识先打开SystemInformer/SystemInformer.rc搜索LANGUAGE在第 20 行把它改掉// 改前 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // 改后 LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED再打开同目录的SystemInformer/version.rc第 21 行做同样的修改。这一行告诉 Windows这套资源是简体中文版本编译后系统就按中文区域来取用它们。注意上方#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)这行是资源编译的目标宏保持原样只动LANGUAGE那一行。第 2 步批量处理 plugins/ 下每个插件的 .rc 文件主程序改成中文、插件还是英文界面会很割裂。逐个打开下面这些文件找到LANGUAGE行改成和主程序相同的简体中文标识plugins/DotNetTools/DotNetTools.rcplugins/ExtendedTools/ExtendedTools.rcplugins/ExtendedServices/ExtendedServices.rcplugins/ExtendedNotifications/ExtendedNotifications.rcplugins/HardwareDevices/HardwareDevices.rcplugins/NetworkTools/NetworkTools.rcplugins/OnlineChecks/OnlineChecks.rcplugins/ToolStatus/ToolStatus.rcplugins/WindowExplorer/WindowExplorer.rcplugins/UserNotes/UserNotes.rcplugins/Updater/Updater.rc每个插件目录里还各有一个version.rc同样处理。嫌麻烦可以全局搜索LANG_ENGLISH一次性定位所有遗漏。第 3 步翻译 .rc 资源文件里的界面文案打开SystemInformer/SystemInformer.rc按CtrlF搜LTEXT会看到类似这样的控件定义——这就是界面上标签、按钮文字的直接来源// SystemInformer.rc 第 1145 行示例 LTEXT Processes,IDC_STATIC,7,28,33,8 // 改成 LTEXT 进程,IDC_STATIC,7,28,33,8翻译策略先过进程、服务、网络这几个天天看的页面把控件和对话框标题翻完再补菜单项。建议建一个自己的术语表如 Performance 统一译性能、Handles 统一译句柄避免同一个词在不同页面译法不一。第 4 步处理 .c 源码里写死的英文有些文字根本不经过资源文件。比如SystemInformer/mainwnd.c第 656 行用LProcesses直接建了页签标题SystemInformer/mwpgproc.c里的菜单、SystemInfinder/options.c里的分组名也同理。在SystemInformer/目录全局搜索L加常见英文词逐一替换LProcesses改为L进程LPerformance改为L性能LNetwork改为L网络第 5 步重新编译逐页验证用 Visual Studio 打开SystemInformer/SystemInformer.sln执行重新生成解决方案插件是独立工程在 plugins/ 下逐个生成。启动程序重点检查进程、服务、网络、选项四个页面看有没有残留英文。手动加载一两个插件比如 ToolStatus确认插件界面也是中文。细节打磨让中文界面更像原生翻译只是第一步这几处细节决定它像不像正经中文软件日期时间列表里的时间列格式由源码中的格式字符串决定可按中文习惯调整为年月日顺序改动范围小但各页面会整体跟随值得做一次。数字与单位KB/MB/GB 这类单位保留英文缩写即可数字千分位分隔符跟随系统区域设置一般不用额外改代码。控件宽度英文单词普遍比中文长改短了没问题但换成网络适配器这类长词时把LTEXT后面的宽高参数示例中的33,8适当调大防止文字被裁掉一半。字体Windows 自带中文字体正常不会出现方块字若个别位置出现先重启程序再确认一次多半是编辑中途的临时状态。避坑排错3 个高频问题速查界面乱码或显示方块现象重启后大片文字变成锟斤拷或方框。原因改字符串时把文件保存成了别的编码资源编译器读到的字节对不上。解决检查文件是否被存成了与原来不同的编码——原文件是什么编码就存回什么编码只改文字内容不要手工转码更稳妥的做法是全程用 Visual Studio 或资源编辑器修改。改完编译后仍有英文残留现象主界面基本是中文但某几个标题还是英文。原因漏了.c源码里的硬编码字符串第 4 步或者漏了某个文件的LANGUAGE行。解决把程序跑起来对界面上每个残留英文词在源码里搜L该英文词精确定位改完重新生成。某个插件界面仍是英文现象主程序全中文加载插件后弹出英文对话框。原因该插件的.rc或它的version.rc没改或改完没有单独重新编译这个插件工程。解决回到第 2 步核对对应插件目录单独重新生成该插件再加载验证一次。今天就动手先跑通主程序的第一版汉化别想着一步到位。今天只做第 1、3、5 步改掉两个文件里的LANGUAGE行翻译完主程序.rc重新编译——当天你就能得到一个中文主界面。插件文案和.c里的硬编码字符串之后按页面逐个补齐就好。如果你的翻译想回馈社区流程很简单Fork 一份仓库按上面步骤修改资源文件向主仓库提交一个 PR 即可。现在就可以打开SystemInformer/SystemInformer.rc从第 20 行开始。【免费下载链接】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),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门