走进汉化新时代

2014-10-11 17:50
中国信息技术教育 2014年19期
关键词:汉化中文版语音

从上世纪80年代有了汉字操作系统后,即有了软件汉化的需求,但直到本世纪初,电脑的大量普及,才掀起软件汉化的浪潮。当时电脑在各行各业逐渐普及,同时电脑大量进入家庭,全国掀起了学习电脑的热潮。但中国软件行业还不够成熟,以美国为中心的英文软件普遍流行,大批英语水平不高而又如饥似渴的人们对中文软件的需要逐渐催生了软件汉化这一行业。

从DOS时代开始,到Windows时代,又到移动操作系统,软件汉化也走进了一个新的时代。

● 怀旧篇:DOS时代的软件汉化

刘宗凡:现在使用电脑的人们,大概想象不出在字符界面下学习和使用电脑是何等情形。正是DOS这样的命令行方式的操作系统,成就了一批批的电脑高手和优秀程序员。

因为ASSIC码的限制,DOS时代的显示器上,只能显示有限的字符。聪明的中国人利用扩展ASSIC码,实现了对汉字编码的记录,并通过技术手段,实现了在屏幕上输出和显示汉字。然而,无论是利用汉字输入法输入汉字,还是在屏幕上显示汉字,都需要汉字操作系统的支持。CCDOS(长城汉字系统)、UCDOS(希望汉字系统)、TW213(天汇汉字系统)等优秀的汉字操作系统至今仍令人难忘,它们几乎成了那时装机必备的系统,否则,连中文的文字处理都无法进行。

邱元阳:刚参加工作时,因为要辅导学生学习FoxBASE数据库,而学生的英语水平都比较差,英文软件的提示信息都不容易看懂,于是决定找一下FoxBASE的中文版。但是在卖光盘的地方根本找不到中文版,而且也被告知这个软件根本不存在中文版,但是网上可以找到不完整的汉化版。因为当时没有上网条件,为了学生学习方便,决定自己动手汉化英文版的FoxBASE+。主要工具就是PCTools,DOS时代大名鼎鼎的工具软件,软件汉化就是利用它的磁盘编辑功能,在UCDOS环境下直接修改FoxBASE+主程序和“覆盖文件”中的提示信息。

这是一项很艰苦的工作,不仅要逐字逐句地翻译,还要区分哪些是字串信息,哪些是程序代码,稍有不慎,修改后的程序就无法运行。最要命的是,汉化后的字符数,必须与英文原文长度完全相等!这就使得翻译后的中文有时非常简省、别扭,有时又添加了许多空格。历时一个月后,终于完成了这一浩大的工程,而意外的收获却是,对FoxBASE+的程序结构和数据处理方式也有了很深的了解,为后来自学C语言程序设计提前打下了基础。

几年之后,学校终于具备拨号上网的条件了,终于从网上找到了比较完美的FoxBASE+汉化版,的确比自己汉化的那个丑陋的版本好很多。

金琦:采用这种方法汉化的程序,仍然要依赖汉字操作系统,如果在西方语言环境下运行,就会显示乱码,这是汉化无法克服的。而正宗的中文版的软件,绝大部分也只是在中文DOS下能够正常显示和运行,有些则是先作判断,如果是中文环境,有中文字库存在,就显示中文,否则就显示英文界面,类似于多语言版本。做得较好的中文软件,采用直接写屏技术,则能直接在西文环境下显示汉字。在程序设计中,往往是自带一个小字库来实现西文环境中显示中文。而这些方法,在汉化过程中是无法使用的。

DOS已经离我们远去,一去不回,但曾经在其中学习和奋斗的经历,却仍值得回味和纪念。

● 普及篇:Windows软件的汉化

刘宗凡:Windows下软件的汉化,可用的方法和工具非常多,我们以检测文件Hash值及MD5等的英文小软件Hash为例,来看看Windows软件的汉化过程。准备好程序文件hash.exe(http://keir.net/download/hash.zip)、侦壳工具PEiD(http://rj.baidu.com/soft/detail/23407.html?ald)、汉化工具Passolo(http://www.pc6.com/softview/SoftView_12505.html),开始动工。

1.程序侦壳。在汉化软件前,必须对加壳的软件进行脱壳。给程序加壳是一种常见行为,加壳分为三种:压缩壳、保护壳、捆绑壳。压缩壳主要是为减小程序体积,方便程序的存储、传输、使用;保护壳主要用于保护版权信息,不让别人随便更改作者版权信息;而捆绑壳是黑客常用的,主要为捆绑特定程序并躲避杀毒软件查杀。当然,有些软件还会多次加壳,使得破解会变得困难一些。

而要正确进行脱壳,需先进行侦壳。所谓“侦壳”,就是利用工具软件对软件进行探测,了解它是用了什么工具进行加壳的。常用的侦壳工具有PEiD、StudPE、PEscan、ExEinfo PE等。打开PEiD,单击“File”菜单后的带省略号的按钮,选择源程序hash.exe,在下方的文本框中显示“Microsoft Visual C++ 6.0”,说明这个程序没有加壳,是使用Visual C++编写的(如图1)。我们可以用Passolo来汉化这个软件。

2.打开Passolo,单击菜单“文件—新建—方案”,在弹出的窗口的“名称”后输入方案名称,单击“位置”后的“打开”按钮,选择方案保存的位置。再单击“添加源文件”,选择要汉化的程序文件hash.exe,单击“确定”,将弹出源列表的“属性”窗口,不用修改,直接单击“确定”。单击“目标语言”页面,单击“添加语言”,在弹出的“语言”窗口中默认的是“中文(简体/中国)”。两次单击“确定”(如上页图2),进入方案窗口。

在“方案”下显示了源程序(英语)和目标程序(中文),双击中文行显示翻译列表尚未创建。单击“是”,创建列表。

3.单击菜单“查看—显示资源”,Passolo工作窗口中上面会显示源软件的界面(如图3)。

图3

我们可以在中间窗口中选中要翻译的词条,然后在“中文(简体/中国)”处单击,就可以将这个词条翻译成中文。也可以在资源窗口中选中要翻译的对象,然后在右下角属性窗口中的“文本”下面白色的位置对英文进行翻译。注意,在原来的按钮或菜单上的文本如果有“&”符号,表示后面的字母是快捷键,在翻译时要另外加上快捷键。比如原来的“&Browse...”,我们可以翻译成“浏览(&B)…”。endprint

逐条将各个词条翻译成相应的中文。如果有英文没有把握,可以借助有道词典、金山词霸等软件进行查询。

4.单击菜单“字串列表—生成目标文件”,在“生成目标”窗口中点击“确定”,在项目文件夹下将生成一个名为“chs”的文件夹,里面就是我们的汉化结果(如图4)。打开两个文件对比一下,是不是汉化以后的界面看起来更亲切?

金琦:Windows下程序和软件的汉化,难点是非标准资源的汉化。非标资源无法进行可视化汉化操作,需要用专门工具提取后替换回写到程序中。

非标准资源的主汉化工具有“点睛字符替换器”(简称“点睛”)、CXA、Athena-A、StringManager,辅助工具有“灵便汉化编辑器”、LoveString等,其中“点睛字符替换器+灵便汉化编辑器”是汉化非标的经典组合。CXA是一款简单易用的字符串抓取替换工具,可以把英文程序中非标准资源的ASCII和Unicode字符迅速查找出来并经过翻译生成中文程序。点睛漏提的字串或无法提取的字串可以通过CXA或UltraEdit弥补不足。

邱元阳:在有些时候,我们希望使用的软件是汉化版的,但是能够找到的教程却是以英文版软件来讲授的,这在CG和视频处理领域经常见到。为了对照着教程进行学习,这时可能会希望有一种中英对照的汉化结果,于是就有了所谓的双语菜单,如Maya2012的双语菜单(如图5)。双语菜单是一种特殊的汉化结果,不仅适合英语版的中文教程对照学习,也适合中英文版本的过渡使用,以及对专业词语的熟悉和掌握。

图5

● 新潮篇:Android程序汉化

刘宗凡:Android平台是一个开放的平台,其安装包APK也是一个开放的格式,其实就是一个Zip格式的压缩包,可以用WinRAR打开。汉化的基本过程就是将APK内的资源文件Resources.arsc中的字段、Drawable文件夹内的图片以及XML进行汉化。有的APP有多国语言,只要汉化英文就行了。安卓软件按汉化方式分为强制汉化与嵌入式汉化两种。

1.强制汉化类似于资源汉化,将APK压缩包中所有英文字串、英文图片修改为中文,汉化结果仅适合中文用户。强制汉化普遍使用的软件是汉化浪子,软件直接提取APK里面的语言文件进行汉化,汉化速度很快,缺点是出错率比较高,而且不适用于较多APK同时进行。

2.嵌入式汉化可以理解为添加语言包,我们通常使用APKtool这个软件来完成汉化。APKtool比较灵活,可以进行语言汉化、图片精简等,而且更新软件也比较快速,用APKtool工具配合一些常用的小工具,可以解决各种问题。APKtool对整个APK完全反编译,是嵌入式汉化的必备软件之一,同时还可以用它进行强制汉化。

金琦:下面以对任务管理类应用Advanced Task Killer Free.apk的汉化为例,来看看强制汉化的具体过程:

1.安装Java集成环境。Android的启动是从Linux的init来启动的,然后启动到zygote进程,就真正开始初始化Java Virtual Machine(Java虚拟机)。所以需要安装一个Java集成环境,便于程序调试。

2.建立工作文件夹。如图6所示,先建立一个文件夹,并且将APK里所有文件解压到里面,可以看到resources.arsc、META-INF、res文件夹及classes.dex、AndroidManifest.xml、asssets等文件。需要动刀的是resources.arsc、classes.dex和res文件夹里的*.xml文件。如果有Png等格式的图形文件,就要祭出Photoshop等图形图像处理软件,将图片上的英文字串改成中文。

3.汉化Resources.arsc文件。打开AndroidResEdit,把resources.arsc文件直接拖拽进去。可以看到,在原始资源栏中列出了所有英文词条。在某一词条上双击,在弹出的对话框中输入翻译后的内容,确定后即可完成该词条的汉化。如果遇到不太了解的英文,可以借助Google在线翻译进行汉化(如图7)。依次将所有词条翻译汉化后,点击文件菜单中的保存文件,就可以用它来替换原Resources.arsc文件了。

注意:文件路径以及以http://开头的网址是不需要汉化的;有些两个单词写在一起的是不需要汉化的;带有特殊符号如下划线等的,是软件参数、目录名称、文件名称等,不需要修改,像%s%、d%这类格式化输出的参数也不要去汉化;只需要翻译以大写字母开头的词条,以小写字母开头的不需要翻译。

4.汉化.xml文件。在解压的主文件夹下面,有一个AndroidManifest.xml文件,这是系统下的主xml文件。把它拖到AndroidResEdit打开。然后,打开res文件夹,把里面的xml文件逐个地拖拽到AndroidResEdit里面,寻找需要汉化的语句或者单词(如图8)。最后,找到settings.xml这个文件,打开。像这个文件,只要改一句就行了。

5.汉化classes.dex文件。classes.dex这个文件是所有汉化步骤中最繁琐的,有些地方汉化错误还可能导致整个汉化过程功亏一篑。

(1)解包classes.dex。Classex.dex要用dex解包工具解包,解包后会得到classes名字的文件包。Win7系统下Xtemp文件夹(解包工具)可以放在任意位置,把classes.dex文件拖拽到dex.bat上,出现黑色程序运行框,按“1”解包。XP系统下必须在C盘根目录下创建一个名为android的文件夹,Xtemp放到该文件夹下,即C:\android\Xtemp,把classes.dex文件拖拽到undex.bat上,自动解包。

(2)打开Notepad++文件,把名为classes的文件夹拖拽进去,可以得到很多文件。利用软件的“文件查找”功能,在各个文件中查找软件界面上没有完成汉化的英文单词。当然,我们可能会找到很多结果,这就需要根据经验去判断哪些需要汉化了。一个原则是尽可能小心汉化,以避免棋错一着满盘皆输的结果。汉化保存以后,回到C:\Android\Xtemp目录下。endprint

6.签名。打开META-INF文件夹,把CERT.RSA和CERT.SF两个文件删掉,只剩下MANIFEST.MF文件。然后把所有文件压缩回汉化前的程序文件里。打开AndroidResEdit找到签名两个字,打开。选择要签名的文件,点确认,就完成了所有汉化工作。

刘宗凡:其他移动操作系统程序的汉化,与Android平台类似,如iOS系统下的应用程序,也可以在Windows下解包汉化,在下文的游戏汉化中会提到。

● 挑战篇:游戏汉化

邱元阳:游戏汉化是经常见到而又难度较高的汉化过程。这里说的游戏不是指那些桌面小游戏,因为小游戏跟普通程序没有区别。游戏的汉化一般是指那些比较大的游戏的汉化。这些游戏,追求华丽的界面,多样的表现形式,突出的媒体效果,往往是影、音、画俱全。

多数时候,游戏中非标准资源较多,汉化难度较大,而且有些游戏用的是自己特有的引擎,在资源调用上也与常用软件不同。比如文本内容,可能根本就找不到在什么地方,有的即使找到了文本,汉化后也不能正常显示。

刘宗凡:游戏汉化用到的工具,有CrystalTile2、汉化探针等,也会经常用到16进制编辑器,甚至ASM等汇编工具。如果是游戏机中的程序,汉化时还会用到文本导出导入工具(Script Extractor、Script Insertor),字模工具(FontTile、字模精灵组合器),以及差值搜索工具(Relativeful Search)等。

对于汉化的方法,大部分是做成汉化补丁,也有的是做成游戏外挂的方式。这方面的交流网站,有3DM、游侠网、猛犸汉化网等。

邱元阳:游戏与常用软件还有一个不同的地方,就是除了文字信息,还有语音信息,都是语言障碍。因此,对游戏的汉化,有时不仅需要进行文字汉化,还需要进行语音汉化。比如常见的联网射击游戏CS,其“中文版”就是一种汉化作品,不仅对文件进行了汉化,对语音也进行了汉化。这样的游戏,语音文件容易提取和替换,因而对语音的汉化并不复杂,甚至会有各种搞笑的语音版本可选。

但有些游戏的汉化难度就比较大,语音的汉化更是复杂。比如常见的即时战略游戏《红色警戒》(RA2),至今也没有真正的中文版,常见的“中文版”都是一些游戏MOD形式,相当于游戏的二次开发。RA2的经典MOD版本“共和国之辉”,就常常被看作中文版,其实也是不完整的汉化,文字信息只有部分是中文显示,并且是繁体中文,因为字库所限,输入中文时可正常显示的汉字也很有限。RA2的语音也不是单独的资源文件,而是根植于程序之中,其中不仅有英语语音,还有俄语等其他语言,进行替换的难度非常大,虽然可以见到这方面的技术讨论,但至今也没有人完成它的语音汉化。

刘宗凡:除了PC上的游戏,市场上还有家用游戏机,游戏机上英文游戏的汉化,需要用具有Debug功能的模拟器,分析并寻找字库文件的位置,并进行扩容,再根据字库做出码表,然后用CrystalTile等工具软件载入码表并翻译文本,最后修改字库为新文本字库。一般过程为:找到游戏Rom中的码表,即字符对照表→按照码表将Rom中的文本导出来保存为文本文件→进行文本翻译→找到Rom中的字库,用中文字体替换→为中文字体重做码表→根据新码表将中文写回Rom→更新指针表并测试。

邱元阳:游戏除了PC和游戏机上的游戏程序,手游也正在流行。手机和平板游戏的汉化,取决于手机和平板使用的操作系统。Android系统下游戏汉化,可以参考前文Android程序的汉化来进行,苹果系统iOS下的游戏与此类似,在Windows下进行汉化时需要一些工具软件,如ifunboxs、itools、plist Editor for windows、fixpngWindows、texturepacker等。iOS游戏程序是后缀为ipa的文件,其实它也是一个Zip压缩包,可以用WinRAR解压拆包。

拆包之后,寻找游戏的相关资源文件,如图片、文本等。注意iOS游戏中的.png图片不是标准PNG格式,需要用前述工具转换。PVR格式图片可以使用texturepacker转换成.png图片,最后都用图片处理工具修改其中的文字为中文。文本资源大都存放在.strings和.plist后缀的文件里,一般位于名为*.lproj的文件夹中。这些文本不能用记事本来编辑,因为它是二进制格式的xml文件,可以使用plist Editor for windows来编辑,修改string字段即可,不要修改key字段。

相关资源汉化后,可以使用ifunboxs或者itools直接把文件替换到安装好的游戏目录里,或者用WinRAR更新ipa文件包,然后再安装测试。

游戏的汉化是比较复杂的过程,常常需要一定的反汇编能力。每种游戏的编程环境、开发引擎、程序结构都各不相同,有的游戏很复杂,汉化难度也很大,如《红色警戒》;有的游戏虽然复杂,但汉化起来却不难,如《魔兽争霸》,用地图编辑器打开,就能一项项手工翻译;还有的游戏是支持多语言的,如《我的世界》,其游戏、插件、MOD都有语言文件可以直接修改。很多游戏,都没有多语言版本,而由于游戏本身的原因,不同游戏有不同的汉化和处理方法,没有统一的可以参考的模式,依靠的是软件工程经验和编程能力,因此对游戏的汉化是一个很大的挑战。

● 展望篇:走进汉化新时代

刘宗凡:汉化软件虽然给我们留下了美好的印象,对我们使用电脑提供了极大的帮助,但随着时代的发展,软件汉化只能成为昙花一现的产业。

由于国际软件厂商对中国市场越来越重视,现在绝大多数流行软件都会有官方中文版。比如Photoshop、Flash、3DMax、Dreamweaver、CorelDRAW等大型图形图像处理、动画网页制作软件,WinRAR、ACDSee等小型工具软件,Microsoft Visual Studio等开发工具包……都有官方中文版存在,自然不需要再进行汉化。而国内软件行业也逐渐成熟,中文工具已经基本上能满足人们日常生活的需要,国产软件已经覆盖了绝大多数领域,使得软件汉化失去了良好的土壤。

金琦:随着电脑的普及,电脑使用者逐渐分化成两类:普通用户和专业用户。普通用户对电脑要求简单,或者把电脑用来娱乐,如浏览网页、欣赏视频、音乐、玩游戏等;或者用来完成工作,如文字、表格处理、数据加工统计等,可以说常用的软件就那么十来款,没有机会去接触那些英语软件。而专业用户,如CG制作、IOS、单片机编程、大型数据库如Oracle等维护……这些使用者一般都具备比较高的专业素养和英语水平,能熟练操作英语软件,也不需要汉化。而介于专业和普通用户之间的可以称之为“半专业”的用户,或者在长期使用电脑的过程中掌握了一些常用的专业英语,或者可以借助有道词典、金山词霸等词典软件“即用即翻译”,对汉化软件也不太依赖。

刘宗凡:从现实的角度来看,汉化软件也已经走向没落,如从各大下载网站的装机必备软件或者下载榜中,汉化软件都难觅踪迹。而专门提供汉化软件的比较大规模的网站,现在也只剩下“汉化新世纪”一家。

当然,汉化软件也不会完全消失。一些小众而有特色的或专业领域的英语软件,就会长期有汉化版本存在。比如音乐发烧友,就会选择使用Foobar汉化版来欣赏音乐而不是使用千千静听(百度音乐);而用Cpu_Z汉化版来测试硬件,显然比鲁大师有更多拥护者;在某些领领域,如音频编辑软件GoldWave、FTP工具CuteFTP、PDF转换Word工具pdf2word等汉化软件,因其某些方面独特的功能,一直能在我们的电脑中占有一席之地。另外,即使我们能看懂英语软件,但汉化以后还是会让我们觉得使用起来更亲切。

汉化软件在安卓系统中可能会更普遍,因为国内安卓软件产业还不是很成熟,很多热门应用都是来自外国。汉化的另一个重点是游戏,因为政策或盗版的原因,很多优秀的游戏都没有中文版,对我们了解游戏剧情、流程形成了很大的障碍,所以游戏的汉化肯定会长期存在。在软件这个森林里,汉化软件就是一朵路边的小花,虽然不起眼,但正是有它们的点缀,才形成了丰富多彩的春天。endprint

6.签名。打开META-INF文件夹,把CERT.RSA和CERT.SF两个文件删掉,只剩下MANIFEST.MF文件。然后把所有文件压缩回汉化前的程序文件里。打开AndroidResEdit找到签名两个字,打开。选择要签名的文件,点确认,就完成了所有汉化工作。

刘宗凡:其他移动操作系统程序的汉化,与Android平台类似,如iOS系统下的应用程序,也可以在Windows下解包汉化,在下文的游戏汉化中会提到。

● 挑战篇:游戏汉化

邱元阳:游戏汉化是经常见到而又难度较高的汉化过程。这里说的游戏不是指那些桌面小游戏,因为小游戏跟普通程序没有区别。游戏的汉化一般是指那些比较大的游戏的汉化。这些游戏,追求华丽的界面,多样的表现形式,突出的媒体效果,往往是影、音、画俱全。

多数时候,游戏中非标准资源较多,汉化难度较大,而且有些游戏用的是自己特有的引擎,在资源调用上也与常用软件不同。比如文本内容,可能根本就找不到在什么地方,有的即使找到了文本,汉化后也不能正常显示。

刘宗凡:游戏汉化用到的工具,有CrystalTile2、汉化探针等,也会经常用到16进制编辑器,甚至ASM等汇编工具。如果是游戏机中的程序,汉化时还会用到文本导出导入工具(Script Extractor、Script Insertor),字模工具(FontTile、字模精灵组合器),以及差值搜索工具(Relativeful Search)等。

对于汉化的方法,大部分是做成汉化补丁,也有的是做成游戏外挂的方式。这方面的交流网站,有3DM、游侠网、猛犸汉化网等。

邱元阳:游戏与常用软件还有一个不同的地方,就是除了文字信息,还有语音信息,都是语言障碍。因此,对游戏的汉化,有时不仅需要进行文字汉化,还需要进行语音汉化。比如常见的联网射击游戏CS,其“中文版”就是一种汉化作品,不仅对文件进行了汉化,对语音也进行了汉化。这样的游戏,语音文件容易提取和替换,因而对语音的汉化并不复杂,甚至会有各种搞笑的语音版本可选。

但有些游戏的汉化难度就比较大,语音的汉化更是复杂。比如常见的即时战略游戏《红色警戒》(RA2),至今也没有真正的中文版,常见的“中文版”都是一些游戏MOD形式,相当于游戏的二次开发。RA2的经典MOD版本“共和国之辉”,就常常被看作中文版,其实也是不完整的汉化,文字信息只有部分是中文显示,并且是繁体中文,因为字库所限,输入中文时可正常显示的汉字也很有限。RA2的语音也不是单独的资源文件,而是根植于程序之中,其中不仅有英语语音,还有俄语等其他语言,进行替换的难度非常大,虽然可以见到这方面的技术讨论,但至今也没有人完成它的语音汉化。

刘宗凡:除了PC上的游戏,市场上还有家用游戏机,游戏机上英文游戏的汉化,需要用具有Debug功能的模拟器,分析并寻找字库文件的位置,并进行扩容,再根据字库做出码表,然后用CrystalTile等工具软件载入码表并翻译文本,最后修改字库为新文本字库。一般过程为:找到游戏Rom中的码表,即字符对照表→按照码表将Rom中的文本导出来保存为文本文件→进行文本翻译→找到Rom中的字库,用中文字体替换→为中文字体重做码表→根据新码表将中文写回Rom→更新指针表并测试。

邱元阳:游戏除了PC和游戏机上的游戏程序,手游也正在流行。手机和平板游戏的汉化,取决于手机和平板使用的操作系统。Android系统下游戏汉化,可以参考前文Android程序的汉化来进行,苹果系统iOS下的游戏与此类似,在Windows下进行汉化时需要一些工具软件,如ifunboxs、itools、plist Editor for windows、fixpngWindows、texturepacker等。iOS游戏程序是后缀为ipa的文件,其实它也是一个Zip压缩包,可以用WinRAR解压拆包。

拆包之后,寻找游戏的相关资源文件,如图片、文本等。注意iOS游戏中的.png图片不是标准PNG格式,需要用前述工具转换。PVR格式图片可以使用texturepacker转换成.png图片,最后都用图片处理工具修改其中的文字为中文。文本资源大都存放在.strings和.plist后缀的文件里,一般位于名为*.lproj的文件夹中。这些文本不能用记事本来编辑,因为它是二进制格式的xml文件,可以使用plist Editor for windows来编辑,修改string字段即可,不要修改key字段。

相关资源汉化后,可以使用ifunboxs或者itools直接把文件替换到安装好的游戏目录里,或者用WinRAR更新ipa文件包,然后再安装测试。

游戏的汉化是比较复杂的过程,常常需要一定的反汇编能力。每种游戏的编程环境、开发引擎、程序结构都各不相同,有的游戏很复杂,汉化难度也很大,如《红色警戒》;有的游戏虽然复杂,但汉化起来却不难,如《魔兽争霸》,用地图编辑器打开,就能一项项手工翻译;还有的游戏是支持多语言的,如《我的世界》,其游戏、插件、MOD都有语言文件可以直接修改。很多游戏,都没有多语言版本,而由于游戏本身的原因,不同游戏有不同的汉化和处理方法,没有统一的可以参考的模式,依靠的是软件工程经验和编程能力,因此对游戏的汉化是一个很大的挑战。

● 展望篇:走进汉化新时代

刘宗凡:汉化软件虽然给我们留下了美好的印象,对我们使用电脑提供了极大的帮助,但随着时代的发展,软件汉化只能成为昙花一现的产业。

由于国际软件厂商对中国市场越来越重视,现在绝大多数流行软件都会有官方中文版。比如Photoshop、Flash、3DMax、Dreamweaver、CorelDRAW等大型图形图像处理、动画网页制作软件,WinRAR、ACDSee等小型工具软件,Microsoft Visual Studio等开发工具包……都有官方中文版存在,自然不需要再进行汉化。而国内软件行业也逐渐成熟,中文工具已经基本上能满足人们日常生活的需要,国产软件已经覆盖了绝大多数领域,使得软件汉化失去了良好的土壤。

金琦:随着电脑的普及,电脑使用者逐渐分化成两类:普通用户和专业用户。普通用户对电脑要求简单,或者把电脑用来娱乐,如浏览网页、欣赏视频、音乐、玩游戏等;或者用来完成工作,如文字、表格处理、数据加工统计等,可以说常用的软件就那么十来款,没有机会去接触那些英语软件。而专业用户,如CG制作、IOS、单片机编程、大型数据库如Oracle等维护……这些使用者一般都具备比较高的专业素养和英语水平,能熟练操作英语软件,也不需要汉化。而介于专业和普通用户之间的可以称之为“半专业”的用户,或者在长期使用电脑的过程中掌握了一些常用的专业英语,或者可以借助有道词典、金山词霸等词典软件“即用即翻译”,对汉化软件也不太依赖。

刘宗凡:从现实的角度来看,汉化软件也已经走向没落,如从各大下载网站的装机必备软件或者下载榜中,汉化软件都难觅踪迹。而专门提供汉化软件的比较大规模的网站,现在也只剩下“汉化新世纪”一家。

当然,汉化软件也不会完全消失。一些小众而有特色的或专业领域的英语软件,就会长期有汉化版本存在。比如音乐发烧友,就会选择使用Foobar汉化版来欣赏音乐而不是使用千千静听(百度音乐);而用Cpu_Z汉化版来测试硬件,显然比鲁大师有更多拥护者;在某些领领域,如音频编辑软件GoldWave、FTP工具CuteFTP、PDF转换Word工具pdf2word等汉化软件,因其某些方面独特的功能,一直能在我们的电脑中占有一席之地。另外,即使我们能看懂英语软件,但汉化以后还是会让我们觉得使用起来更亲切。

汉化软件在安卓系统中可能会更普遍,因为国内安卓软件产业还不是很成熟,很多热门应用都是来自外国。汉化的另一个重点是游戏,因为政策或盗版的原因,很多优秀的游戏都没有中文版,对我们了解游戏剧情、流程形成了很大的障碍,所以游戏的汉化肯定会长期存在。在软件这个森林里,汉化软件就是一朵路边的小花,虽然不起眼,但正是有它们的点缀,才形成了丰富多彩的春天。endprint

6.签名。打开META-INF文件夹,把CERT.RSA和CERT.SF两个文件删掉,只剩下MANIFEST.MF文件。然后把所有文件压缩回汉化前的程序文件里。打开AndroidResEdit找到签名两个字,打开。选择要签名的文件,点确认,就完成了所有汉化工作。

刘宗凡:其他移动操作系统程序的汉化,与Android平台类似,如iOS系统下的应用程序,也可以在Windows下解包汉化,在下文的游戏汉化中会提到。

● 挑战篇:游戏汉化

邱元阳:游戏汉化是经常见到而又难度较高的汉化过程。这里说的游戏不是指那些桌面小游戏,因为小游戏跟普通程序没有区别。游戏的汉化一般是指那些比较大的游戏的汉化。这些游戏,追求华丽的界面,多样的表现形式,突出的媒体效果,往往是影、音、画俱全。

多数时候,游戏中非标准资源较多,汉化难度较大,而且有些游戏用的是自己特有的引擎,在资源调用上也与常用软件不同。比如文本内容,可能根本就找不到在什么地方,有的即使找到了文本,汉化后也不能正常显示。

刘宗凡:游戏汉化用到的工具,有CrystalTile2、汉化探针等,也会经常用到16进制编辑器,甚至ASM等汇编工具。如果是游戏机中的程序,汉化时还会用到文本导出导入工具(Script Extractor、Script Insertor),字模工具(FontTile、字模精灵组合器),以及差值搜索工具(Relativeful Search)等。

对于汉化的方法,大部分是做成汉化补丁,也有的是做成游戏外挂的方式。这方面的交流网站,有3DM、游侠网、猛犸汉化网等。

邱元阳:游戏与常用软件还有一个不同的地方,就是除了文字信息,还有语音信息,都是语言障碍。因此,对游戏的汉化,有时不仅需要进行文字汉化,还需要进行语音汉化。比如常见的联网射击游戏CS,其“中文版”就是一种汉化作品,不仅对文件进行了汉化,对语音也进行了汉化。这样的游戏,语音文件容易提取和替换,因而对语音的汉化并不复杂,甚至会有各种搞笑的语音版本可选。

但有些游戏的汉化难度就比较大,语音的汉化更是复杂。比如常见的即时战略游戏《红色警戒》(RA2),至今也没有真正的中文版,常见的“中文版”都是一些游戏MOD形式,相当于游戏的二次开发。RA2的经典MOD版本“共和国之辉”,就常常被看作中文版,其实也是不完整的汉化,文字信息只有部分是中文显示,并且是繁体中文,因为字库所限,输入中文时可正常显示的汉字也很有限。RA2的语音也不是单独的资源文件,而是根植于程序之中,其中不仅有英语语音,还有俄语等其他语言,进行替换的难度非常大,虽然可以见到这方面的技术讨论,但至今也没有人完成它的语音汉化。

刘宗凡:除了PC上的游戏,市场上还有家用游戏机,游戏机上英文游戏的汉化,需要用具有Debug功能的模拟器,分析并寻找字库文件的位置,并进行扩容,再根据字库做出码表,然后用CrystalTile等工具软件载入码表并翻译文本,最后修改字库为新文本字库。一般过程为:找到游戏Rom中的码表,即字符对照表→按照码表将Rom中的文本导出来保存为文本文件→进行文本翻译→找到Rom中的字库,用中文字体替换→为中文字体重做码表→根据新码表将中文写回Rom→更新指针表并测试。

邱元阳:游戏除了PC和游戏机上的游戏程序,手游也正在流行。手机和平板游戏的汉化,取决于手机和平板使用的操作系统。Android系统下游戏汉化,可以参考前文Android程序的汉化来进行,苹果系统iOS下的游戏与此类似,在Windows下进行汉化时需要一些工具软件,如ifunboxs、itools、plist Editor for windows、fixpngWindows、texturepacker等。iOS游戏程序是后缀为ipa的文件,其实它也是一个Zip压缩包,可以用WinRAR解压拆包。

拆包之后,寻找游戏的相关资源文件,如图片、文本等。注意iOS游戏中的.png图片不是标准PNG格式,需要用前述工具转换。PVR格式图片可以使用texturepacker转换成.png图片,最后都用图片处理工具修改其中的文字为中文。文本资源大都存放在.strings和.plist后缀的文件里,一般位于名为*.lproj的文件夹中。这些文本不能用记事本来编辑,因为它是二进制格式的xml文件,可以使用plist Editor for windows来编辑,修改string字段即可,不要修改key字段。

相关资源汉化后,可以使用ifunboxs或者itools直接把文件替换到安装好的游戏目录里,或者用WinRAR更新ipa文件包,然后再安装测试。

游戏的汉化是比较复杂的过程,常常需要一定的反汇编能力。每种游戏的编程环境、开发引擎、程序结构都各不相同,有的游戏很复杂,汉化难度也很大,如《红色警戒》;有的游戏虽然复杂,但汉化起来却不难,如《魔兽争霸》,用地图编辑器打开,就能一项项手工翻译;还有的游戏是支持多语言的,如《我的世界》,其游戏、插件、MOD都有语言文件可以直接修改。很多游戏,都没有多语言版本,而由于游戏本身的原因,不同游戏有不同的汉化和处理方法,没有统一的可以参考的模式,依靠的是软件工程经验和编程能力,因此对游戏的汉化是一个很大的挑战。

● 展望篇:走进汉化新时代

刘宗凡:汉化软件虽然给我们留下了美好的印象,对我们使用电脑提供了极大的帮助,但随着时代的发展,软件汉化只能成为昙花一现的产业。

由于国际软件厂商对中国市场越来越重视,现在绝大多数流行软件都会有官方中文版。比如Photoshop、Flash、3DMax、Dreamweaver、CorelDRAW等大型图形图像处理、动画网页制作软件,WinRAR、ACDSee等小型工具软件,Microsoft Visual Studio等开发工具包……都有官方中文版存在,自然不需要再进行汉化。而国内软件行业也逐渐成熟,中文工具已经基本上能满足人们日常生活的需要,国产软件已经覆盖了绝大多数领域,使得软件汉化失去了良好的土壤。

金琦:随着电脑的普及,电脑使用者逐渐分化成两类:普通用户和专业用户。普通用户对电脑要求简单,或者把电脑用来娱乐,如浏览网页、欣赏视频、音乐、玩游戏等;或者用来完成工作,如文字、表格处理、数据加工统计等,可以说常用的软件就那么十来款,没有机会去接触那些英语软件。而专业用户,如CG制作、IOS、单片机编程、大型数据库如Oracle等维护……这些使用者一般都具备比较高的专业素养和英语水平,能熟练操作英语软件,也不需要汉化。而介于专业和普通用户之间的可以称之为“半专业”的用户,或者在长期使用电脑的过程中掌握了一些常用的专业英语,或者可以借助有道词典、金山词霸等词典软件“即用即翻译”,对汉化软件也不太依赖。

刘宗凡:从现实的角度来看,汉化软件也已经走向没落,如从各大下载网站的装机必备软件或者下载榜中,汉化软件都难觅踪迹。而专门提供汉化软件的比较大规模的网站,现在也只剩下“汉化新世纪”一家。

当然,汉化软件也不会完全消失。一些小众而有特色的或专业领域的英语软件,就会长期有汉化版本存在。比如音乐发烧友,就会选择使用Foobar汉化版来欣赏音乐而不是使用千千静听(百度音乐);而用Cpu_Z汉化版来测试硬件,显然比鲁大师有更多拥护者;在某些领领域,如音频编辑软件GoldWave、FTP工具CuteFTP、PDF转换Word工具pdf2word等汉化软件,因其某些方面独特的功能,一直能在我们的电脑中占有一席之地。另外,即使我们能看懂英语软件,但汉化以后还是会让我们觉得使用起来更亲切。

汉化软件在安卓系统中可能会更普遍,因为国内安卓软件产业还不是很成熟,很多热门应用都是来自外国。汉化的另一个重点是游戏,因为政策或盗版的原因,很多优秀的游戏都没有中文版,对我们了解游戏剧情、流程形成了很大的障碍,所以游戏的汉化肯定会长期存在。在软件这个森林里,汉化软件就是一朵路边的小花,虽然不起眼,但正是有它们的点缀,才形成了丰富多彩的春天。endprint

猜你喜欢
汉化中文版语音
老年人口腔健康自我效能量表的汉化及信效度检验
《数学年刊A辑》(中文版)征稿简则
《数学年刊A辑》(中文版)征稿简则
《数学年刊A辑》(中文版)征稿简则
基于语料库的清末民初日源外来词汉化研究
《数学年刊A辑》(中文版)征稿简则
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……