实用文库汇编之软件汉化教程(完整版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*实用文库汇编之软件汉化
全教程*
初识资源
『资源简介』
软件界面上的各种文字、图像、图标等,在编程的时候根据特定的格式分门别类地存放在软件里面,这些特定的格式就叫“资源”(Resource)。
软件资源分为标准资源和非标准资源(简称非标),标准资源通常可以通过PE类资源查看工具(如:PE Explorer、ResScope 等)可视化查看编辑(VB除外),而非标目前还无法实现可视化预览。
特别注意的是VB 程序资源比较特殊,上述分类概念不适用,但汉化人一般把VB 窗体汉化器等提取的窗体资源称为标准资源,而通过点睛字符替换器提取的VB 字串、Unicode 字串和ASCII 字串均称为非标。
常见的标准资源通常有Bitmap(位图)、Menu(菜单)、Dialog(对话框)、String(字符串)、RCData(RC-数据)、Cursor(光标)、Accelerator(加速器)、Icon(图标)、Version(版本)、Toolbar(工具栏)、Form(窗体),其中RC-data多见于Delphi程序中,Form多见于VB程序中。
非标资源主要包括ASCII字串、Unicode字串两大类。
标准资源汉化后,在软件界面或调用信息时显示、但又不出现在上述标准资源中的字串多数属于非标资源。
『汉化资源分布』
由于编写软件所使用的编程工具不同,软件中的汉化资源发布位置也不尽相同,常见如下:
1. VC 类标准资源由Microsoft Visual C++ 编写,汉化资源一般分布于Menu、Dialog、String 等;
2.Delphi 类标准资源由Borland Delphi 编写,汉化资源一般分布在Rcdata 和String 中;
3.VB 类标准资源由Microsoft Visual Basic 编写,汉化资源一般出现在Form 窗体中;
3.非标资源Unicode 字串和ASCII 字串,后者又可细分为VB 字串、Delphi 字串和其他ASCII 字串。
非标资源不出现标准资源中,需要专门的工具才能提取到。
4.语言文件一类特殊的文件,扩展名随作者定,多数为文本格式,常见的文件类型有*.ini、*.lng、*.dll,语言文件根据不同软件,分布的位置不定,有的在安装目录根目录下,有的语言文件夹中(如:language、Lang、Lan等)。
详见本人2006年写的这篇文章:::581-1145890624
『学习任务』
汉化目标:请列出示例文件中的资源类型及汉化资源分布
下载示例文件
『参考答案』
001的标准资源有Bitmap、Dialog、String、Icon、Version,非标资源只含ASCII字串,汉化资源发布:标准资源集中于Dialog、String和Version 中,可用Sisulizer或Passolo 等工具汉化,非标为ASCII字串,可用点睛字符替换器或CXA提取汉化。
002为语言文件,在Language 文件夹下,扩展名为lng,文本格式,可以用Passolo 自定义解析规则汉化。
003为VB 程序,标准资源在VB窗体中,非标资源为VB 字串,可用VBLocalize 汉化。
004为Delph i程序,标准资源主要集中于RC-data和Version中,但Dialog 需要修改字体属性;非标为Delphi 字串。
汉化工具
『汉化工具简介』
软件汉化就是使用专门工具对外文版的软件资源进行读取、翻译、修改、回写等一系列
处理,使软件的菜单、对话框、提示等用户界面显示为中文,而程序的内核和功能保持不变的过程,完整的汉化大致要经过侦壳、脱壳、预处理、翻译、编译、测试、修正、发布8个步骤。
这里的专门工具就是狭义上的汉化工具,特指标准资源和非标资源汉化工具,如Passolo、Sisulizer、点睛字符替换器等。
广义上的汉化工具指汉化流程中用到的各类工具软件,可谓五花八门。
熟练应用各类的汉化工具是汉化人学习汉化的基本技能之一。
汉化工具选用原则大体上如下:
1).根据使用目的有针对性地选用工具;
2).最好带字典功能,提高汉化翻译效率;
3).同类工具软件,由个人使用习惯选择使用。
『学习任务』
实训目标:请将列出下面汉化工具的主要用途及特点(乱序排列)
(1)Radialix (2)UltraEdit (3)Athena-A (4)Resscope (5)UPXShell
(6)NSIS (7)StringManager (8)Passlo (9)AutoFontSet (10)Sisulizer
(11)灵便汉化编辑器(12)VBLocalize (13)FreeRes (14)PE-scan (15)DictionaryHelper
(16)ExeinfoPE (17)点睛字符替换器(18)ResHacker (19)INNO setup (20)Fantasy Editor
(21)PEiD (22)CodeFusion (23)UniversalExtractor (25)ImportREC
(26)PatchMaker (27)FixRes (28)GetVBRes (29)CXA (30)ArmaG3ddon
『参考答案』
(1)Radialix-主汉化工具,可以汉化标准资源和非标资源,但目前稳定性有待完善;
(2)UltraEdit -16 进制编辑器,用于非标汉化辅助工具;
(3)Athena-A -海子开发的非标汉化工具,特色是具有挪移字符串和字典提取等功能。
(4)Resscope -标准资源辅助工具,用于标准资源后期修正;
(5)UPXShell -UPX 加壳与脱壳工具;
(6)NSIS -安装包制作工具;
(7)StringManager -非标汉化工具;
(8)Passlo -主汉化工具,汉化标准资源,特点是拥有强大的自定义解析规则;
(9)AutoFontSet -非标字串字体修改工具
(10)Sisulizer -主汉化工具,汉化软件标准资源
(11)灵便汉化编辑器-非标汉化辅助工具,与点睛字符替换器是个经典的组合;
(12)VBLocalize -VB 汉化主程序,可以汉化VB的标准资源和非标字串;
(13)FreeRes -资源处理工具,强制释放软件中可编辑的资源;
(14)PE-scan -侦/脱壳工具,可以脱一下常见的壳(低版本);
(15)DictionaryHelper -字典转换工具,支持常见几种工具的字典文件互相转换;
(16)ExeinfoPE -侦壳工具
(17)点睛字符替换器-非标字串主汉化工具,可以与灵便汉化编辑器配合使用;
(18)ResHacker -资源查看、修改、反编译软件,标准资源汉化辅助工具,但不支持Delphi程序;
(19)INNO setup -安装包制作工具,功能强大;
(20)Fantasy Editor -字典转换工具,支持多种字典文件互相转换;
(21)PEiD -最常用的侦壳工具
(22)CodeFusion -补丁制作工具
(23)UniversalExtractor -万能解包工具
(25)ImportREC -导入表修复工具,用于软件汉化资源修复;
(26)PatchMaker -补丁制作工具
(27)FixRes -资源处理工具
(28)GetVBRes -VB 标准资源汉化工具
(29)CXA -非标资源主汉化工具,与点睛功能相似,各有所长;
(30)ArmaG3ddon -穿山甲壳的自动脱壳工具;
加壳与脱壳
植物有壳,动物有壳,软件亦然。
常见的三种壳:压缩壳、保护壳、捆绑壳。
壳的用途:(1)保护版权信息-不让别人随便更改作者版权信息;(2)减小程序体积-方便存储、传输、使用;(3)黑客界给木马等软件加壳,主要为躲避杀毒软件。
常见的加壳工具:
常见的脱壳工具:
常用的侦壳工具:PEiD、StudPE、PEscan、ExEinfo PE等
『学习任务』
汉化目标:使用合适脱壳机将三款示例软件脱壳。
下载示例文件
『操作流程』
1.使用PEiD 侦壳,可知示例三款软件加壳分别为
001sample 加壳为UPX0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
002sample 加壳为PECompact 2.x -> Jeremy Collake
003sample 加壳为ASPack2.12 -> Alexey Solodovnikov
2.对于UPX 壳,推荐使用“UPX静态脱壳机”,直接将已加壳程序拖入下图的红色虚线
框位置,蓝色虚线框显示脱壳状态:
3.对于PECompact 2.x 壳,推荐使用“RL!dePeCompact 2.x”,“Browse”选择待脱壳文件
后,“Unpack”即可。
4.对于ASPack 壳,推荐使用Kill 的ASPack 脱壳机,“打开”选择文件后,“脱壳”即
可:
标准资源汉化Passolo篇
『Passolo 简介』
Passolo 是目前世界上最流行的软件本地化专业工具之一。
它支持众多文件格式,包括可执行程序文件、资源文件和基于XML 的文件。
文本可以被翻译为多种语言,包括亚洲语系(Unicode 码)以及书写方式为从右向左的语言,比如希伯来语和阿拉伯语。
Passolo 包含多种所见即所得(WYSIWYG)编辑器来处理软件的用户界面,包括对话框、菜单、位图、图标和指针编辑器。
用户界面的处理非常安全,绝对不会意外删除或者改变现有的元素或结构。
官方网站:
使用Passolo 汉化软件标准资源三步曲:
1).方案设置
2).创建翻译字串列表
3).生成目标文件
『学习任务』
汉化目标:请用Passolo 汉化示例软件的标准资源。
、
『操作流程』
显示被隐藏内容
1.三步曲之一-方案设置,即设置方案属性,包括源文件、目标语言属性等
(1)“添加源文件”,Passolo自动选择合适的解析器解析待汉化的程序,如果解析器选择不当,可手动调整,其他源文件属性如下图所示:
(2).“添加语言”即添加目标语言,简体中文(代码页为936),字体属性为“宋体,9(磅)”。
注意字符集(Charset)如果不是中文的GB2312,请点“选择”后在弹出对话框选择Chinese_GB2312字符集,此选项关系着由Delphi 编写程序的语系问题,标准资源乱码问题可能源自于此。
2.三步由之二-创建翻译字串列表,即创建英中对照字串列表,把菜单、对话框等资源中的对照字串一一列出。
(1).在创建翻译字串列表前,可以目标语言栏点鼠标右键“字串列表设置”,可以修改目标文件的名称和路径。
对于Delphi编写的程序,目标文件名后的扩展名为chs,而不是exe,故需要在chs后添加“.exe”。
(2).在目标语言栏,双击即可创建翻译字串列表,此时弹出是否创建窗口,按下“是”按钮。
(3).翻译字串。
翻译的目标字串长度如长于原始字串时,一般可无视超长问题,直接翻译。
汉化翻译过程中,遇到控件问题,可以随时调整,当选定控件周围出现六个方块点时,即可通过鼠标左键拖动操作。
如果控件调整不当,可以位次通过“布局”-“重置位置”-“选定的控件”操作恢复到原始位置。
对于不需要翻译的字串,可以点鼠标右键,直接点击“验证翻译”排除不译;对于不确定的翻译字串,可以设置不同状态,是如设为“复审”状态等。
3.三步曲之三-生成目标文件。
全部翻译完成后,可以点击“字串列表”-“生成目标文件”弹出“生成目标”窗口。
当生成目标文件完成后,信息窗口会给出相应的提示,通过链接即可汉化生成的目标文件,测试即可。
标准资源汉化之Sisulizer篇
『Sisulizer 简介』
Sisulizer 是一款软件本地化工具,能提供对绝大多数应用程序的良好支持,还支持对各种源代码文件、网页的本地化。
使用Sisulizer 汉化标准资源三步曲:
1).扫描(Scan)-根据工程向导添加待汉化程序,Sisulizer自动扫描程序并定位所有的文本;
2).翻译(Translate)-使用Sisulizer 的可视化编辑器翻译文本,同时可以调整窗体的字体和控件属性;
3).构建(Build)-构建选定语言文件,创建本地化版本。
sisulizer 的官方网址:
『学习任务』
汉化目标:使用Sisulizer 汉化示例软件的标准资源(PS:非标(unicode)已汉化) 下载示例文件
『操作流程』
1.运行Sisulizer,“文件”-“新建”弹出工程向导,依次选择“本地化一个或多个文件”-“源文件(即选择待汉化的文件)”-“文件类型”(Sisulizer自动识别,如果识别不正确,请手动选择)-“本地化的资源”(默认)-“Windows 二进制文件”(默认)-“选择语言”(中文,简体),最后点击“完成”。
2.三步曲之一-扫描步骤1完成后,Sisulizer 自动扫描待汉化的文件,并在窗口左侧上方列出资源;右侧上方为资源预览窗口,可以实时预览窗体和菜单等资源;预览窗口的下方为翻译工作区,文本对照翻译可直接“中文,简体”栏下方输入;最下方是状态栏,可以实时显示当作汉化操作的提示信息。
3.三步曲之二-翻译选择需汉化翻译的资源,在翻译区直接翻译,如本示例软件的“对话框”资源,在翻译区“中文,简体”栏输入“Calculate”的中文翻译“计算”,依此类推完成翻译。
汉化过程中,如有一些控件不足,还可以手动调整(控件周围显示6个黑点时即可调整)。
注意:快捷键翻译成中文需用半角括号,且括号内及前后不需添加空格,如“&F ile”的正确翻译法为“文件(&F)”。
全部翻译完成后,需要调整窗体的字体,因为Sisulizer默认把窗体的字体属性排除不考虑。
“工程”-“编辑源”-源文件,弹出“Windows 二进制源”窗口,在“排除类型”标签把“字体”前的钩选去除。
返回Sisulizer主界面,此时翻译区多了“字体”选项,选择窗体的字体标签,在“中文,简体”栏选择相应的字体名称和大小即可。
汉化软件默认规定使用9磅(12像素)的宋体作为参考标准。
当然,如果要将所有的字体都设置为“宋体,9磅”,可以在前面的“Windows 二进制源”窗口选择“字体”标签,在“改变”下拉列表选择“总是”,并将“被使用的字体”编辑修改为“宋体,9磅”。
4.三步曲之三-构建标准资源全部汉化完成,点击菜单“工程”-“构建选定的语言”-目标文件
5.生成的目标文件在源文件的zh(zh即简体中文)子目录下,测试即可....
非标汉化之点睛篇
『非标简介』
标准资源汉化后,在软件界面或调用信息时显示、但又不出现在上述标准资源中的字串多数属于非标资源。
非标资源主要包括ASCII 字串和Unicode 字串两大类,其中VB 字串、Delphi 字串又是ASCII 字串中比较特殊的两类字串。
非标资源无法进行可视化汉化操作,需要专门工具提取后替换回写到程序中。
非标的主汉化工具有“点睛字符替换器”(简称“点睛”)、CXA、Athena-A、StringManager,辅助工具有“灵便汉化编辑器”、LoveString等,其中“点睛字符替换器+灵便汉化编辑器”是汉化非的经典组合。
『点睛简介』
点睛字符替换器(OverNimble Localize Plus)主要用于非标准资源的汉化,其主要特点有:支持多种编译程序的字符串及文本格式的字符串等的提取及替换;支持字典处理功能,方便版本升级;支持多语言版。
灵便汉化编辑器,用于辅助非标汉化,主要特点:支持“导出/导入”功能;内置字典处理器,方便利用字典升级翻译;可以根据状态分组显示字串便于复查,也可以按编码排序字
串。
Raindy 注:点睛仅限于提取PE 文件和文本文件,有时候点睛会漏提或提取不到字串,此时可以通过CXA 弥补不足或UltraEdit来补漏。
『学习任务』
汉化目标:使用“点睛+灵便”组合汉化示例软件的非标资源(PS:标准资源已汉化) 下载示例文件(软件与CXA的示例软件相同,但汉化结果有所区别)
『操作流程』
显示被隐藏内容
1.运行点睛,在“选项”设置参数,将灵便汉化编辑器的主程序设置为“点睛”的外部编辑器,建议将ACSCII和Unicode 的最大字符数设置大此,其他参数可使用默认值。
Raindy注:灵便主程序名称因版本而异,本版0.16b1为lxHHED.exe)。
2.点睛默认查找ASCII字串,在下图的“...”按钮中添加程序文件,对照文件名由点睛字符生成,扩展名的“a”说明是ASCII字串,点击“查找ASCII”按钮自动查找程序文件中的ASCII字串。
3.查找结束后,弹出“查找结束!”对话框,“确定”。
点“外部编辑器”即可打开灵便汉化编辑器,在字串查看器,可以将不需要翻译的字串状态标记为“不译”,排除在翻译范围。
标记完毕,可以在菜单栏“查看”-“按状态分组”或直接按F5快捷键,将不同状态的字串区分开来。
4.翻译字符串,注意翻译字串长度不要超过原始字串长度,灵便右下角给出了字串度长度值,前者为原字串长度,后者为翻译字串长度。
5.翻译完成后,保存文件,返回点睛主界面,选择“替换”菜单-“替换字串”,点睛默认选择00填充。
如果个人程序00填充出错,可选择“多余补空格”选项,即使用20填充。
选择完毕,按下“替换字串”按钮,点睛字符将翻译字串替换掉原始字串并完成回写操作。
当替换完成后,会自动弹出“替换成功”的提示,并自动生成bak的备份文件。
如果替换不当,可以通过备份文件重新操作,直接成功!
6.此时,可以测试替换ASCII字串后的程序是否正常,包括程序和界面显示。
7.下图中的“移除选定文件”后多余位图被自动截断不显示,即第5步中的0x00填充的结果。
可以与。
非标汉化之CXA 篇
『非标简介』
汉化标准资源后,在软件界面或调用信息时显示,但又不出现在String、Rcdata 等标准资源中的字串多数属于非标资源,非标资源无法进行可视化汉化操作,需要专门工具提取后替换回写到程序中。
『CXA 简介』
CXA 是一款简单易用的字符串抓取替换工具,可以把英文程序中非标准资源的ASCII 和Unicode 字符迅速查找出来并经过翻译成可生成中文程序。
CXA 在功能上,不输于点睛字符器替换器(简称点睛),点睛限于提取PE 文件和文本文件,而CXA则不限,两者各有优缺点,通常点睛漏提的字串或无法提取的字串可以通过CXA 弥补不足。
『学习任务』
汉化目标:使用CXA 汉化示例软件的非标资源(PS:标准资源已汉化)
下载示例文件
『操作流程』
显示被隐藏内容
1.运行CXA,设置CXA 参数,CXA 默认使用Windows 自带的记事本为编辑器,可以根据个人习惯设置编辑工具,其他建议使用默认参数:
2.通过“浏览”载入待汉化的程序,方式根据非标类型选择,本例软件为VC++ 编写(非VB或Delphi),为ASCII字串,故“方式”标签处选择“ASCII(全部)”,“自动翻译”强烈建议不要使用,因为容易翻译不该翻译的内容导致非标汉化过度。
步骤1设置完毕,“确定”跳转到到“步骤2”:
3.点击“编辑原始英文文本文件”打开Webtool.exe.asc 文件(提取后未翻译),根据经验移除一些无用的字串,如图示的文件头等信息即可删除,完毕保存文件,“确定”转到“步骤4 ”:
4.编辑翻译文件Webtool.exe.tra ,在CXA中以三行显示,第一行为行数标记,第二行为原始字串,第三行为待翻译字串,我们要做的就是翻译第三行的字串,注意字串翻译后的长度不要超过原始长度!
5.完整编辑翻译文件后,保存,返回步骤4,进行替换操作,选择填补方式后“确定”。
注意在CXA 中填补方式使用0x20填充,即以空格填补翻译后字串小于原始长度留下的空位置,而不推荐使用0x00填充,因为容易造成字串截断损坏导致程序异常。
CXA 默认使用0x20填充,而点睛默认使用0x00填充,这是两者的不同之一。
6.提示是否更改程序字体,“是”,CXA回写翻译字串后自动转换成中文程序,此时,可以“把新程序改名为应用程序”(即将汉化后的程序名称用原程序名称命名,而同时原程序名称会自动添加.old 标记)
此时即可测试汉化程序
7.下图中的“移除选定文件”后仍有许多空位置,即第5步中的0x20填充的结果;换成0x00填充,则空位置被自动截断不显示,更为美观。
在保证程序正常运行的前提下,可以尝试使用0x00填充。