判断资源的位置和资源类型
伟乾(汉化新世纪)
现在软件开发工具很多,编译出来的软件的资源类型也是各种各样。用一种方法、一个工具来汉化不同类型的软件是不现实的。我们必须根据不同的资源类型,采用不同的方法进行汉化。 (一)资源的类型 通常软件中需要汉化的资源,是放在.exe和.dll格式的文件中,有些软件的资源放在专门的语言文件中,一般都是文本文件,扩展名五花八们,随作者喜欢。 个别软件的资源,作者在编译时就隐藏起来,根本无法找到。碰到这样的软件,除了反编译,没有别的方法了,不过这种情况比较罕见。找到需要汉化的资源位置后,还需查清楚资源的类型。 从汉化的角度看,资源的类型可分为 6种: ①VC类标准资源(包括Menu、Dialog、String、message table资源); ②Delphi类标准资源(Rcdata资源); ③非标准的Unicode字符(主要是一些VB编译的程序,程序的Unicode字符不出现在Menu、Dialog、String等资源中,有少数VC、Delphi编译的程序含有少量这样的字符); ④非标准的Ascii字符(指的是不出现在String、Rcdata等资源中Ascii字符); ⑤语言文件(一般指包含语言资源的文本文件,扩展名多由作者随意取); ⑥其它(包括Batmap资源中的文字等等)。 这里的资源分类,纯粹是从汉化的角度,所谓的标准资源,只是我们汉化起来比较方便而已:-) 下面,我们通过具体的软件汉化实战讲解如何判断资源的位置和类型。 准备工具:eXeScope 5.12 或 Resource Hacker 2.4.0.2 Hex WorkShop 3.02 由于大多数软件的资源都放在exe或dll文件中,我们查找资源一般都是先看看在exe\dll文件中是否存在需要汉化的资源和资源的具体类型:-) 我们可以使用exe资源查看修改软件:eXeScope 或 Resource Hacker ,将软件目录的所有的exe dll文件打开,一一查看里面的资源,看看是否有我们需要汉化的资源(Nenu、Dialog、String或Rcdata等)。
(1) 实战一:判断程序 Opera 的资源 运行eXescope,选择菜单"文件|打开"或工具栏的打开按钮,出现"打开"对话框,在"搜索"标签项选择Opera程序的目录,Opera目录的所有exe、dll文件和子目录都显示了。(如图 1)
一一选择当前目录和子目录所有的exe、dll文件打开,查看是否有需要汉化的资源。我们首先选择打开文件 "Opeay32.dll",在eXeScope的信息列表窗口显示"Opeay32.dll"的文件头、导入、导出等信息,没有汉化需要的资源(resourse)信息(如图 2),表明在这个文件中没有我们要找到东西,pass。
打开下一个文件"Opera.exe",在信息列表窗口显示有"Resource"资源项。单击"Resource"资源项左边的标志 + ,显示文件"Opera.exe"的具体资源项。其中 Menu、Dialog、String和Rcdata 属于前面说过的第 1、2类资源。(如图 3)
查看这几个资源的具体内容,单击"Menu"资源左边的标志 + ,出现很多子项。单击选择任一子项,在eXeScope右边的信息显示窗口显示这"Menu"子项的资源内容(如图 4)。我们现在证实了这个文件里有我们需要汉化的资源,你可以直接在这里修改汉化,也可以使用其它汉化工具汉化。
按照以上方法,继续把其它的exe,dll文件打开,区分那些有资源的,那些没有资源的。我们另建一个目录,把需要汉化的文件全部复制过去,就可以进行下一步的汉化工作了。 我们举的例子Opera,是标准的VC资源,里面的rcdata资源非常简单,与标准的delphi资源里面的rcdata资源差别很大。下面,我们再举一个标准的delphi资源例子。
(2) 实战二:判断程序 browsermaster 的资源 打开文件"bmstrj.exe",显示只有String、Rcdata资源项,而没有Menu、Dialog资源项。这个就是典型的delphi/c++Build编译程序的资源特点,需要汉化的资源主要在Rcdata中。选择具体Rcdata子项,在信息显示窗口显示具体Rcdata子项(窗体)的内容(如图 5)。同样,可以在这里修改汉化,也可以用其它汉化工具汉化。
注意:1.有时使用eXeScope打开文件时,会出现以下的错误信息(如图 6)。可能程序正运行或文件设了只读属性,此时关闭该程序或把该文件去掉只读属性即可!
2.打开文件正常,可以看到具体的资源项和资源子项,但单击资源子项,想查看子项的内容时,出现这样的信息窗口(如图7),无法查看资源子项内容。这是因为文件使用了一些压缩加壳软件加密过,这就需要对文件进行解压脱壳处理后,才能汉化。这样的程序很多,如Acdsee,Winxfile等等。
(3) 实战三:判断程序 Vopt99 的资源
Vopt99是用VB编译的程序,资源类型与上面两个例子不同。我们打开Vopt99目录的exe,dll文件,都找不到menu、Dialog、 String或Rcdata之类的资源。(如图 8)
在Vopt99的运行界面(如图 9),记下&Defrag 和 Files and Folders 两个字符串。你一定奇怪:菜单显示的是Defrag,为何在前面加一个'&'?这是Windows标准菜单的一种默认的快捷方式,你看到Defrag菜单的D字母下面有下划线,表示用户同时按下Alt和带下划线的字母时,就可以选择相应的菜单项。表现在资源字符中,就是在字母前面加“&”。
使用16进制编辑软件 Hex WorkShop 打开Vopt程序的主文件Vopt99.exe,选择菜单“编辑|查找”,出现“查找”对话框,在类型标签选择“文本字符串”,值标签填写“&Defrag”,选项标签选择“ASCII 字符串”,按“确定”。(如图 10)
程序找到一个“&Defrag”字符串,高亮显示。按“F3”继续查找下一个,我们找到两个“&Defrag”字符串。(如图11,图12)
分别选改这两个字符串为“&Defra1”“&Defra2”,保存。运行Vopt99程序,会看到修改后的效果,证实这两个字符串是需要汉化的资源。(如图 13)
按以上方法,搜索字符串“Files and Folders ”,没有找到字符串。我们在选项标签改选择Unicode 字符串,按“确定”按钮。(如图 14)
程序找到一个“Files and Folders ”字符串,高亮显示。按“F3”继续查找下一个,文件只有这个字符。(如图 15)
注意:1.在Vopt99这个例子中,需要汉化的资源有“非标准的Unicode字符”和“ASCII 字符”两种; 2.一般查找文件的汉化资源,发现没有①VC类标准资源(包括Menu、Dialog、String资源)和②Delphi类标准资源(Rcdata资源),只需要使用Hex WorkShop 打开程序的主文件,查找有没有界面出现的字符,而不用一一打开所有的exe和 dll文件,因为一般程序的“非标准的Unicode字符”和“ASCII 字符”都在主文件中。 3.汉化时,发现有些程序VC类标准资源和Delphi类标准资源这两类都进行了汉化,运行时还是有英文出现,这是因为文件里存在少量的“ASCII 字符”资源需要汉化,个别情况下,是因为存在少量的“非标准的Unicode字符”资源需要汉化。
(4) 实战四:判断程序 CompuPic 的资源 我们首先看看程序CompuPic是否是第 1或 2种资源,用 eXeScope打开程序CompuPic目录的文件,只发现有一个Dialog子项(如图 16)。但这个程序不可能只有这点资源,一定还有其它资源类型。
运行CompuPic程序(如图 17),选取菜单出现的字符串,我们这次选取复杂一点的“D&isconnect Network Drive”。使用16进制编辑软件 Hex WorkShop 打开CompuPic程序的主文件,查找“D&isconnect Network Drive”。在选项标签不论选择Unicode 字符串或ASCII 字符,都没有找到字符串“D&isconnect Network Drive”。打开其它exe,dll文件,结果都一样,没有找到字符串“D&isconnect Network Drive”。说明这个程序存在其它的资源类型,我们继续找。
这里可使用Windows的查找功能,选择“开始|查找|文件或文件夹”。(如图 18)
出现“查找对话框”后,在“包含文字”标签下填写“D&isconnect Network Drive”,搜索标签选择CompuPic所在的目录,注意“包含子文件夹”标签要选定,按“开始查找”。发现在子目录ENGLISH中 main.msg文件包含这个字符串(如图 19)。打开这个文件,发现是文本格式的文件,就是我们前面说的第⑤中资源类型:语言文件。
(5) 其它资源类型
有些软件的英文字符比较特别,不是出现在以上的几种资源类型中,而是在图片中。对于VC编译的程序来说,是存在Bitmap 资源中。如程序Ember的工具栏按钮(如图 20),Remove IT99的其中一个界面(如图 21)
对于delphi编译的程序来说,这种图片资源是内嵌在Rcdata子资源项中的,eXeScope程序是无法看到和修改这种资源类型的,只能用另一汉化工具 Language localizator 查看和修改。 程序winace的sfxlib.dll文件的资源比较特别(如图 22),有个SFX资源项,SFX的资源子项导出来,再用 eXeScope打开(如图 23),可以看到好像一般的exe文件的资源。汉化时,我们先导出来,汉化后再导进去。这个程序的SFX资源子项都用 Petite压缩程序加了密,首先需要脱壳后,才能进行汉化。
一般来说,汉化的资源就是以上这几种,只要你按照以上方法,一般都可以找到需要汉化的资源。不过我不能保证你一定能找到需要汉化的资源,因为有些程序编译时,就对资源进行了处理,将资源隐藏起来,根本无法用上述方法找到。
疑难解答: ①有朋友问,如果软件的文件很多,用eXeScope一个个打开,你想要了我的老命?有没有简便的方法? 其实迅速排除无关的文件的方法还是有的,你运行程序,然后打开程序的目录,选择全部文件,删除。程序正在调用的文件,是无法删除的,我们有时就是这样做某某程序的精简版。不过这个方法不太保险,在少数情况下,某些程序暂时没有调用的文件被删除,造成某些功能丧失,也使某些汉化资源遗漏。 还有一种方法,可以快速找到某些汉化的资源在那个(些)文件中。如果资源类型是VC标准资源格式的菜单、对话框、字符串、信息表,我们可以使用 PASS Resource Finder 工具,可以在指定目录中查找含有指定字符串的资源的文件,是在进行汉化之前用来定位资源所在的辅助汉化工具。如果是delphi标准格式的汉化资源,上述方法无能为力。因为Radata资源是 ASCII字符,所以我们可以使用上文说的“使用Windows的查找功能”查找文本资源的方法,在指定目录查找含有指定字符串的资源的文件。
②有汉化人问:汉化某个软件,主要的界面、对话框都汉化了,发现运行时还是有少数英文字符,我按照你说的上述方法查找,把程序目录里的文件都打开检查,排除是非标准的unicode、ascii字符或文本文件。 出现这种情况,在排除汉化人遗漏了ascii、unicode等原因。我们都知道,程序安装时,有时会往注册表、windows的system目录下放文件或写东西。有时候,某些个别汉化资源就在这些地方,你可以到这些地方找找。有一些软件的安装后,会往系统的右键菜单添加命令,这些命令菜单的汉化资源的文件,往往在system目录里。
我们找到资源、了解了资源的类型,就可以使用不同的汉化工具进行汉化了。汉化并不是很困难的事情,需要的是你的认真态度、“咬文嚼字”的细心、耐心与责任心!仅此而已……在以后的教程中,我们将由简入深,系统讲解汉化知识。为了使更多的计算机用户掌握这门技术,我们把长期收集汉化教学资料和自己汉化心得重新总结,将通过大量的实例,以步步为营、手把手的教学方式,让读者轻松快速地掌握软件汉化的技术和基本技巧。在本教学中引用了大量的他人的成果。本教学目前正在制作中。也欢迎你提出自己的建议和看法(weiqian@21cn.com ),共同完善。如有错误欢迎指正!有关软件你可以到我们的总站--汉化新世纪下载
|
相关推荐
QMpare(QM 语言文件本地化软件) QMpare 是一款非常好用的 QT 编程语言编译的 QM 语言文件本地化软件,它界面简洁实用,可以直接打开 QM 文件并编辑其中的字符串,支持字符串的搜索、导出和导入,支持旧文件升级和从...
Sisulizer Enterprise Edition 是一款软件本地化(也就是中文汉化)以增加收入的工具。Sisulizer方便地为你的软件提供多种语言支持,三个步骤进行本地化:扫描应用程序和定位文本;使用Sisulizer可视化编辑工具翻译...
radialix-软件本地化工具-使用教程.pdfradialix-软件本地化工具-使用教程.pdfradialix-软件本地化工具-使用教程.pdfradialix-软件本地化工具-使用教程.pdfradialix-软件本地化工具-使用教程.pdf
Passolo 是一款功能强大的软件本地化工具,它支持以 Visual C 、Borland C 及 Delphi 语言编写的软件(.exe、.dll、.ocx)的本地化。以往针对这两种不同语言编写的软件,我们大多是需要分别使用 Visual Localize 和 ...
一款可以帮助用户进行软件本地化处理的开发工具,这款软件能够直接将各种不同国家的外语软件汉化成中文软件。并且我们还可以通过Sisulizer 4免费版来获取到多种语言支持,从而让不同国家的用户都可以直接进行使用,...
个人简单的对sisulizer本地化软件的功能,步骤的简单介绍
Radialix是比较强大的软件本地化工具,支持以 VC++、Delphi、.Net 等语言编写的软件、以及 INI 格式文本文件的本地化。尤其是它具有非标资源的本地化功能、以及可以设置更多的资源属性。
eXeScope_小巧但功能极其强大的本地化工具 汉化工具,可以替换资源,更换图标,可以修改菜单。
DXperience 9.1.5 简体汉化,本地化,Skins(winform)使用见说明
Passolo 是一款功著名的、功能强大的软件本地化工具。如果您想要专业或者业余此事汉化工作,那么你不得不试试这个工具。
Sisulizer可广泛的应用于服务器数据库的本地化,提供多种语言支持,通过使用我们提供的命令行工具,用户可以在其软件开发过程中集成Sisulizer的功能。不仅支持汉化英文软件,也支持其他外语软件汉化成中文界面。也...
本教程分5个目录帮助大家学习搭建本地化Midjourney(Stable Diffusion) 目录: 1. 搭建自己的AI网站 2. 模型下载安装 3. 汉化插件下载安装 4. 生成模拟真人图片 4.1 生成模拟真人图片 4.2 不同风格图片生成 4.3 ...
非常好用的老牌软件本地化工具,使用简单,适合大部分软件的菜单汉化或者本地化!
Sisulizer是一款软件本地化(也就是汉化工具)以增加收入的工具。Sisulizer方便地为你的软件提供多种语言支持,三个步骤进行本地化:扫描应用程序和定位文本;使用Sisulizer可视化编辑工具翻译文本;创建本地化软件...
2、Restorator可用来软件本地化、自定义、设计改进。 3、Restorator 也是一个非常好的软件汉化工具,对 Delphi 和C程序的支持尤为突出。 界面介绍: 资源树: 将文件从windows资源管理器或文件浏览器中拖放到此区域...
SDL Passolo 2015是一款软件本地化翻译工具,能够本地化使用VC/VB/C /JAVA/DELPHI等程序编写的软件,支持多种数据库文件及脚本文件,软件界面设置简洁实用且性能稳定,即使是新用户不需要专门的学习也能够快速上手...
Restorator可以用来作翻译、本地化、定制化、设计改进及开发。该软件有一个直观的用户界面,拥有完整的文档及示例和提示,并且可以通过讨论论坛及电子邮件进行技术支持。 本程序仅供学习使用,因用户使用本程序所...
版本6.3.6。使用更简单,dll文件添加至工程即可实现汉化。 相当专业的汉化了,术语参考至Windows、Office、Visual Studio等专业大型软件和fosoyo的V6.2.4本地化 <br/>内附详细使用方法和例子。
是一款专业的编程软件,exescope 汉化版小巧但功能极其强大的本地化工具,exescope可以直接修改 VC++ 及 DELPHI 编制的 PE 格式文件的资源,包括菜单、对话框、字符串和位图等,也可与其它本地化工具配合使用。
另外该sisulizer方便地为你的软件提供多种语言支持,三个步骤进行本地化:扫描应用程序和定位文本;使用Sisulizer可视化编辑工具翻译文本;创建本地化软件版本。 sisulizer 4功能介绍 -用户只需