ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

SystemInformer中文界面4步搞定

SystemInformer中文界面4步搞定 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打开 SystemInformer满屏是英文菜单和列标题。想让界面变成中文发现 Options 下没有语言项——当前版本没有运行时切换界面语言完全由编译进程序的资源文件决定。但中文版本可以自己做。下面从源码讲起一步步搭出一个全中文界面。获取源码定位资源文件先拿到 SystemInformer 源码clone 仓库即可。界面文字不在 .c 文件里而散落在 .rc 资源文件中主程序SystemInformer.rc版本信息version.rc每个插件各有一份例如硬件设备插件用 HardwareDevices.rc翻译工作量 主程序 各插件逐个处理。新建中文资源节.rc 文件按语言分节每节用预处理条件隔开目前整份文件只有一个英文节。基于 SystemInformer.rc 创建副本保存为中文构建用的新文件不要动原文件。在新副本里把末尾的英文节整体复制成独立新节改掉条件和语言标识- #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) - LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #if defined(AFX_TARG_ZHS) LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIEDZHS 是资源编译器对简体中文的标识。编译时只有目标语言是中文才走这个节否则照旧编译英文节。 只把原节的 LANGUAGE 一行改掉是不行的必须新增独立节否则英文节不被编译整个工程会构建失败。翻译界面字符串新节结构与英文节一一对应文字集中在三处CAPTION窗口标题按钮、复选框、标签等控件文字STRINGTABLE字符串表逐条替换引号里的英文即可。注意字符串 IDIDC_XXX 这类一个都别改只动引号内文字改了 ID 控件会对不上。⚠️ 资源编译器对引号配对很敏感。每条字符串开头结尾的必须成对行尾逗号别漏这是构建报错的多数来源。重新构建启用中文把新 rc 文件放入构建目录替换原文件再整体重编用 Visual Studio 打开 SystemInformer.sln或用 CMake 配置构建都行。插件 dll 是独立资源要跟着主程序一个个重编漏掉的插件会保持英文。验证生效排查回退英文跑起来后看三处主菜单Options、Help、各对话框标题、列表列头都该是中文了。仍显示英文时检查 Windows 侧资源加载机制是按系统首选语言顺序自动取匹配的节。进设置 → 时间和语言 → 语言和区域把简体中文挪到列表顶部再重启程序。原理速览程序里其实没有任何语言开关逻辑。启动时 Windows 资源机制先查用户默认 UI 语言 ID再去程序内取对应语言的资源节if (NT_SUCCESS(NtQueryDefaultUILanguage(languageId))) return languageId;这段查询在 util.c。程序里没有中文资源节时只能回退英文——这就是没语言选项和不能切换同时成立的原因。绕开常见报错rc 报意外的标记检查新节开头的条件行、LANGUAGE 行以及结尾#endif是否完整。一半中文一半英文主程序与插件是不同资源文件未翻译的插件保持英文需逐个补齐。想要不重编就切换当前版本不支持。编译时同时保留英文和中文两节靠切换系统首选语言来换界面是现阶段唯一的办法。参与翻译把 .rc 文件里的字符串翻译好按 CONTRIBUTING.md 的流程提 PR 即可社区审核后合并。收尾构建一遍搞定菜单、对话框、列头从此全中文。【免费下载链接】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),仅供参考
返回列表