
简介Restorator 2009是一款专业的软件汉化与本地化工具面向需要汉化Windows程序的个人用户及本地化团队尤其适合没有编程背景、但希望直接修改软件界面文字与资源文件的人群。工具可深入处理EXE、DLL等程序资源直观编辑菜单、对话框、字符串、图标及位图等元素显著降低汉化门槛。压缩包为RAR格式大小约3MB轻便小巧便于快速获取与部署目前已有201人浏览学习。该工具支持字符串与图像资源编辑、对话框窗体布局调整、快速搜索与批量替换、多版本对比、自动编码识别、编辑预览以及翻译导出导入等操作汉化能力覆盖全面。无论是个人独立完成软件界面汉化还是团队协作推进本地化项目借助该工具都能梳理出从分析源文件、翻译文本到保存测试与生成汉化版本的完整思路适用于工具软件、行业应用等多种Windows程序的本地化场景。1. 为什么 Restorator 2009 这个老牌汉化工具到现在还能打做汉化这么多年工具换了一茬又一茬但 Restorator 2009 一直留在我的汉化工具箱里。它解决的事很具体把一个 EXE 或 DLL 里写死的英文界面在不改程序逻辑的前提下翻成中文。字符串、菜单、对话框、版本信息都能在这个工具里直接改、直接保存、直接跑起来看效果。适合谁接单的个人汉化者、刚入门的汉化组新人、还有想把自己小工具做成双语版却不想碰代码的开发者。它有个别家比不了的体验所见即所得的对话框编辑你拖一拖控件、改一改 caption效果立刻摆在眼前。这个年头愿意碰资源编辑器的人不多但真正需要它的时候你大概率绕不开这个老伙计。2. 把目标程序装进 Restorator 2009资源树、资源类型与编辑前的准备2.1 打开程序前的两张“后悔药”副本与 ZIP 备份汉化这一行第一条铁律不是技术是备份。Restorator 2009 打开目标 EXE 时通常会询问是否保留一个 ZIP 格式的备份包把原始文件打包进去。我从来都不跳过这一步哪怕目标程序只有几百 KB。原因很简单汉化过程中你可能会改坏对话框、改崩版本信息或者手滑把某个资源 ID 删了这时没有原版兜底整晚都别想睡踏实。具体操作流程我一般这么做先把要被汉化的 EXE 或 DLL 复制到工作目录不要直接去改 Program Files 里的原文件。权限问题、杀软拦截问题都出在这。用 Restorator 2009 打开工作目录里的副本弹窗提示创建备份时选“是”。确认左侧资源树能正常展开。如果打开后资源树是空的或者只看到一个“壳”节点说明目标程序加壳了先脱壳再进来。这里有个判断资源能不能改的经验能正常看到 String Table、Dialog、Menu 这些分支说明 PE 资源段没有被压缩或加密。如果只有零星的二进制块那就不要硬改后面第 5 章会讲怎么绕。备份还有一个容易被忽略的用途对比。汉化到一半你忘了原文是什么展开 ZIP 里的原版文件把同一个资源抽出来对着看比凭记忆猜省事得多。2.2 认识资源树字符串表、对话框、菜单、版本信息各自在哪Restorator 2009 的界面左边是一棵资源树右边是当前选中资源的编辑区域。对第一次用的人来说这棵树看着像天书但对做过一次汉化的人来讲树里的每个分支都对应一类要翻的内容。下面这张表是这几类资源在汉化中各自扮演的角色资源类型汉化时要改什么常见坑String Table程序运行时动态读取的文本比如提示信息、错误内容容易漏翻、容易动到占位符Dialog窗口上的按钮、标签、编辑框、复选框文字变长后控件挤成一团Menu菜单栏和右键菜单里的每一项快捷键“F”处理不好Version右键文件属性里看到的公司名、产品名、描述某些字段不能动动了影响安装识别Icon / Bitmap图标和位图通常不用翻偶尔有带文字的位图要重做打开 String Table 后右侧通常会把字符串列成表格一行是一个 ID一行是一种语言。直接双击要翻译的那一格就能把英文替换成中文。Dialog 分支在资源树里往往对应多个窗口一个程序可能带了十几个对话框。双击任何一个右侧就会渲染出窗口预览控件位置、大小、文字一目了然。做汉化的时候我习惯先把对话框全部过一遍心里有数哪些窗口是给用户看的、哪些是隐藏的配置窗口。Menu 分支的编辑方式和资源树类似左侧展开每一个菜单项右侧属性里能看到 Caption 字段也就是菜单上显示的文字。这里要注意很多程序把菜单文字和状态栏提示文字放在同一个字符串资源里只改了 Caption 不看提示会导致鼠标悬停时弹的还是英文。2.3 汉化前的语言判断1033、2052 和“到底要翻哪一份”有一个前置问题容易被新手忽略目标程序是不是多语言版本。在资源树里选中 String Table 或 Dialog 时留意编辑器里的语言列。常见的语言标识有 1033英语-美国、2052简体中文、1042韩语等。如果程序自带多种语言你需要确定用户最终会以哪种语言运行然后只翻对应的那份资源。这个判断做错会白费力气。比如某个软件默认读英文语言包你辛辛苦苦把 2052 的中文资源翻译成了另一套中文启动后界面纹丝不动。正确的做法是先查一下程序配置、注册表或 ini 文件里写的是哪个语言 ID再动手翻对应的资源。如果不确定就把所有语言条目都打开看一遍找到真正出现在界面上的那一条。另外提醒一句Restorator 2009 显示的字符串有些是 ANSI 编码、有些是 UTF-16。这两种编码在编辑器里肉眼几乎区别不出来但保存后会直接影响程序读取。拿不准的时候尽量保持资源原有编码不变只替换文字内容不要顺手转换编码格式。3. 开始动手字符串表与菜单的汉化步骤3.1 字符串表翻译逐条替换和全局搜索定位字符串表是汉化的大头。程序运行时的提示、状态栏信息、错误框文字大部分都藏在 String Table 里。Restorator 2009 里翻译字符串表的操作很直接在资源树中选择目标语言的 String Table。在右侧表格里找到原文那一列双击进入编辑状态。输入中文后按回车确认程序会自动处理好其他列不要手动去动 ID 和语言号。一条翻译完顺手按下方向键光标移到下一条配合翻译。实际操作中最大的问题不是输入而是找。一个程序动辄几百上千条字符串一条一条翻过去不现实。我一般先用工具栏里的搜索功能输入某个记忆中的英文关键词直接跳到对应资源。比如想找“Unable to open file”只搜“Unable”就能定位。搜索时要注意部分字符串里带了格式化占位符例如“Failed to load %s”中的“%s”。汉化时占位符必须原样保留因为程序运行时会往这个位置填充文件名或路径。你把它删了程序要么崩溃要么显示一个空位。有一个容易被忽略的小规则英文里带“”的字符串比如“File”这个“”是用来标识菜单快捷键的翻译后要改成中文加括号的形式比如“文件(F)”。直接翻译成“文件”会丢掉快捷键用户用键盘就按不出菜单了翻译成“文件”则保存时加速键会错位常见做法是把“”保留在括号里的快捷键字母前。3.2 菜单翻译Captin 与状态栏提示分开处理菜单资源和字符串表不太一样它更像一棵树。在 Restorator 2009 里选中 Menu 分支展开后会看到 File、Edit、View 这些根节点每个根节点下面还有子菜单。双击某个菜单项右侧属性面板会列出 Caption 字段也就是菜单上显示的文字。改菜单文字我在实际操作中会同时改两处一处是 Caption另一处是该菜单项对应的状态栏提示字符串。有不少程序在菜单项被选中时窗口底部会显示一行英文说明这个提示存的是 String Table 里的某个 ID。只改 Caption 不改提示界面就会出现“中文菜单配英文说明”的割裂感。要找到这个关联可以在菜单项属性里看 Prompt 或 Message 字段它会指向字符串表里的某个 ID去那张表里找到对应条目一起翻译。菜单里还有一个特殊的文字分隔符。有些菜单项之间有一条灰色横线那不是文字而是菜单资源里的“separator”类型千万不要试图翻译它。在 Restorator 2009 里分隔符会显示成独立的资源节点常见做法是不去碰它。3.3 版本信息不是所有字段都适合翻译Version 资源很容易被忽略但它是用户在资源管理器里右键文件属性时首先看到的东西。汉化版本信息时公司名、产品名、文件描述这次字段通常值得翻但 FileVersion 和 ProductVersion 这两个字段代表版本号程序或者安装脚本会拿去跟预期值比对翻成中文会导致校验失败不建议碰。还有一类字段是版权声明比如“Copyright 2009 Example Corp.”。这行文字翻译后往往显得不伦不类而且某些商业软件把这个字段写到了安装包的校验逻辑里。我一般的做法是保留原文字只翻 FileDescription让用户一眼看懂这个文件是干嘛的就行。版本信息编辑器在右侧是一个字段列表一行一个字段名一行一个值。修改后保存时Restorator 通常会问你要不要保持 Unicode 编码这个直接确认即可。如果你发现保存后属性里的中文变成乱码多半是版本信息资源本身的编码格式和你输入的字符集不一致回到编辑状态把字符集设成简体中文GB2312后重新输入。4. 对话框资源汉化与布局调整别让中文挤成一团4.1 控件宽度与对齐把按钮和静态文本重新摆正对话框汉化有一个绕不开的麻烦同样一句含义英文五个单词中文要十二个字。按钮“Cancel”改成“取消”还好说一个“Browse...”改成“浏览...”就得加宽按钮否则文字显示不全甚至被截断。Restorator 2009 的对话框编辑器是所见即所得模式这是它比很多其他工具舒服的重要原因——你可以直接拖拽控件边缘来改变宽度不用懂坐标计算。调整控件的实际操作在资源树里选中某个 Dialog右侧出现窗口预览。单击要调整的控件它四周会出现选中框直接拖拽控件的边缘可以拉伸宽度。如果要精确控制在右侧属性面板里找到 Width 和 Height 字段直接输入数值。按住 Ctrl 键同时单击多个控件可以一起选中然后右键选择对齐方式让一排按钮顶部对齐、间距一致。这里有一个值得养成的习惯每改完一个对话框就手动跑一遍“变长测试”。所谓变长测试是把所有按钮文字都按最终翻译结果填进去然后目测那条最长的文案是否会超出控件边界。超出边界时先加宽对应控件而不是缩小字号。缩小字号会引发连锁问题后面第 4.2 节会讲到。对话框里还有一种情况静态文本Static Text的右边往往还有别的控件加宽文本控件时要注意别盖住旁边的编辑框。碰到这种布局优先往左边扩展或者把静态文本的“自动换行”属性打开让文字占两行而不是超宽一行。4.2 字体与字符集为什么中文显示成方块比起按钮宽窄更让汉化新手头疼的是“方块字”。对话框里凡是中文的位置全部显示成一个个方框这个问题十有八九出在字体设置上。Windows 对话框在设计时通常会指定一种西文字体比如“MS Shell Dlg”或“Tahoma”这些字体本身不含中文字形程序在中文系统里如果不做字体映射就绘出了占位方块。在 Restorator 2009 里修复这个问题的操作很简单选中对话框资源在右侧属性里找到 Font 相关字段。把字体名改成“宋体”或“微软雅黑”具体选哪个视目标程序的界面风格而定。把字符集Charset设为“GB2312_CHARSET”或“DEFAULT_CHARSET”。保存后重新预览方块字应该会恢复正常。需要特别说明的是对话框字体是统一定义的对话框里所有控件共用一套字体设置你不需要也通常无法逐个控件改字体。有些人以为某个按钮的字体要单独调结果在属性面板里找不到字体选项其实调对话框的字体设置就行。这里有个真实翻车经验我有一段时间图省事把字体名直接设成了“Arial”。那是一个中英文混排的对话框结果英文正常、中文全部变成方块。因为 Arial 本身不含中文字形。后来我固定改成“宋体”几乎不再出问题。现代软件想要视觉效果好一点可以直接设为“Microsoft YaHei”但在老旧的程序里微软雅黑在非 DPI 感知窗口上容易发虚宋体最稳。4.3 自定义资源与二进制资源胆子小就别乱碰除了标准的字符串、对话框、菜单还有些程序会把文本存放在自定义资源里资源类型名可能是 RCDATA、UAB、DFM也可能是厂商自己起的名字。这些资源在 Restorator 2009 的资源树里显示为一个陌生的节点双击后右侧出现的是二进制或十六进制数据而不是规整的文字表格。面对这种资源我能给出的第一建议是不碰。但如果确认某个窗口上的文字来自这里比如 Delphi 写的程序那么操作流程一般是在资源树里右键这个自定义资源选择导出到文件。用十六进制编辑器打开导出的文件找出可见字符串。在原位置用相同长度的新字符串替换或者借助工具对源文件做偏移量汉化。在 Restorator 里右键该资源节点选择导入把改好的文件导回去。这种方式改起来风险极大一个字长不对整个窗口加载时就可能崩溃。我自己只在不得不做的时候才走这条路而且每次都会先用 ZIP 备份改完立刻试运行。如果你发现一个程序的自定义资源特别多或者资源树打开后根本没法预览建议直接换方案放弃改文件改做外挂汉化或语言包式汉化效果更好也不伤原程序。4.4 保存的选择直接保存、另存副本和测试运行改完一批字符串、调整完对话框后保存也分几个档位。Restorator 2009 里常用的保存方式有三种直接保存到当前打开的文件、另存为新文件、以及通过“运行”功能先看效果再保存。我个人的顺序是先在 Restorator 里用它的运行功能把宿主程序拉起快速看一眼改完的对话框和字符串表是否正常然后再另存到测试目录最后一步才把文件放到真实安装目录里。直接保存到原文件是最省事但最危险的方式。一个无意的保存可能把资源表重新排列导致程序原有逻辑找不到资源。另存为新文件是最稳妥的做法汉化版单独放一个文件原版始终躺在边上出了问题一秒钟找回。记住测试目录里的汉化文件跑通了再考虑替代原文件永远不要在 Program Files 里直接保存。5. 汉化避坑与常见问题排查我保存过 5 次的翻车记录5.1 汉化后程序无法启动自校验与资源改动冲突现象汉化版一运行就弹“文件已被修改”或直接闪退原版一切正常。原因这类程序自带完整性校验启动时会重新计算文件校验码或数字签名。Restorator 2009 改的是 PE 资源段资源段变化会导致校验值对不上程序拒绝启动。解决先确认是不是这种自校验机制。简单验证方法用 Restorator 打开文件只改一个字符串表条目保存后立刻运行。如果这时候就崩基本可以断定有校验。应对思路有两条一条是找程序是否有专门的校验开关或配置文件可以关闭另一条是放弃直接修改 EXE 的方式改用外挂汉化或注入式汉化不动原文件从外部加载翻译资源。不要试图去修复校验值那是一个补一个漏的局面。5.2 中文变成菱形方块或“口”字现象翻译后对话框上中文全是方块或者字符串表里看着正常、运行时乱码。原因两类一类是对话框字体不包含中文字形另一类是把字符串写进了错误的编码页。第一种更常见因为对话框字体默认可能是西文字体第二种则是保存时改变了编码程序读取时解码错位。解决对话框里的方块按前文第 4.2 节的方法把字体改成“宋体”或“微软雅黑”字符集设为 GB2312_CHARSET。字符串表的乱码检查原资源的语言标识和编码样式尽量保持和原程序一致。不要去 Unicode 和 ANSI 之间来回切换每一次切换都可能是损失内容的坑。5.3 “S”和“\n”神秘失踪现象汉化后菜单快捷键按不出来原来提示两行文字的字符串变成了一行。原因把英文“Save”翻成“保存”时手滑把“”删了或者把原文里的“\n”换行符当成了两个普通字符给清除掉。这些控制符号在字符串表里是程序读取指令不是展示文字。解决在 Restorator 2009 里输入中文时保留原有的控制符位置。“F”这种快捷键提示通常写成“文件(F)”放在菜单或按钮标题里“\n”换行符原样抄在翻译文本里对应位置。翻译完再逐个检查凡是原文里带着“”或“\n”的条目译文里必须有等价的符号。5.4 对话框控件叠成一团或超出窗口边界现象汉化后窗口打开几个控件互相覆盖按钮高矮不齐甚至超出窗口外缘。原因没调整控件宽度只改了文字。中文变长后按钮没有自动伸缩文字溢出多个控件原本间距紧凑现在文字的左右两边超出控件区域视觉上就像叠在一起。解决回对话框编辑器把文字超长的按钮拉宽、把静态文本框加宽然后重新做一次对齐。别偷懒只拖一两个要把整个窗口里受影响的一整行控件一起重排。预览一遍再保存预览时尤其注意静态文本和按钮之间的间距常规做法是留 4 到 8 个像素的呼吸空间不用太密。5.5 多语言程序翻错资源包界面纹丝不动现象翻完了所有资源启动程序发现界面还是英文。原因程序实际加载的不是你翻译的那个语言分支。很多程序在配置文件中指定了语言代码而 Restorator 2009 的资源树里同时存在多个语言的同类资源你翻了 1033 英语分支但程序运行时读的是 2052 中文分支。还有一种情况程序读取的是外置语言文件在安装目录的 Languages 或 locale 子目录EXE 里面的资源只是默认值改了也没用。解决先用 Process Monitor 之类的工具看程序启动时读了哪些文件或者翻一下程序根目录的 ini/conf 配置确认语言来源。如果文本来自外部语言文件就转而汉化那个文件。如果确实是配置指定语言把配置里的语言标识改成你翻译的那个分支。最稳妥的排查方式是逐个备份、逐个改、每次只改一个分支保存后运行看结果。6. 收尾验证三遍检查法和一个可复用的汉化小习惯翻译完、保存好不等于汉化完成。我收尾前固定跑三遍检查第一遍重新打开汉化副本把 String Table 从上到下扫一遍看有没有漏翻的条目、有没有忘记保留的占位符同时把 Dialog、Menu、Version 三个分支也展开看一眼确认每个节点都处理过。第二遍逐个打开对话框预览重点检查按钮宽度、字体显示、中文是否截断。第三遍关闭 Restorator直接运行汉化后的程序把主窗口、设置窗、关于框、所有弹窗和右键菜单整个走一遍。这一步通常能发现前两遍发现不了的问题比如窗口拉伸后文字重叠、某个字符串加载时崩出错误提示。有一个习惯我在做多个版本的汉化时特别受用建一个 Excel 词条表把原文、译文、出现资源位置三列记下来。字符串表改过一轮之后后续版本发布时新程序里大部分字符串没变直接对着词条表批量查找、回填效率比重新翻译高一倍。这个表中途会有一些翻译得不贴切的词回头翻第二个版本时顺手修正比在资源树里翻来翻去靠谱得多。我最后悔的一单就是当年把一个对话框字体从“MS Shell Dlg”换成了“Arial”整屏方块字交到客户手上连夜道歉重新出包。从那以后我每次打开对话框资源第一眼先看字体和字符集截图存进词条表里然后才动文字。汉化这件事急不得也乱不得。希望帮到你。本文还有配套的精品资源点击获取