最近汉化了很多作品,得出了一点经验

来源:互联网 发布:数组是线性结构吗 编辑:程序博客网 时间:2024/04/29 15:53

至于怎样的软件我肯去花时间汉化,当然是和游戏相关了,正所谓兴趣驱动行动,所以一般都是模拟器以及相关工具了。最近汉化了很多工具,三个PC98模拟器(Anex86、NPII、T98-Next),两个NDS辅助工具(NDS Header Viewer、NDSTS),一个实况6的外挂KitServer,想总结一下经验和心得,虽然不是什么高深的理论,但基本能代表我汉化软件的一些经历。

一、工具篇

退壳的工具非常多,因为这主要是根据软件本身的加壳种类来决定的,但有几个几乎可以确定。

探测类:PEiD(其实现在它的插件非常多,也可以用来退壳,非常好用)

静态反汇编:W32Dasm

动态反汇编:OllyDBG

退壳:各大专用退壳软件,比如UPX Shell、ASPdie等等,几乎没有退不了的通用壳,除非是作者自己加壳

综合性本地化平台:Multilizer、Passolo、Localizer

ASCII资源以及其他非标资源工具:点睛(这个作者太强大了),UltraEditor(最原始的工具,但最直接)

各种综合性本地化平台的优缺点描述。

Multilizer:非英语系软件(比如日语和韩语)字符显示为乱字符,但修改还是有用的,只是看不到原来的资源,要参照软件本身来翻译。中文字体不能自动修改为宋体,9号字。字典不能与其他软件公用,而且用的是数据库模式,挺难操作的。

Passolo:没有上述的问题,日文和韩文都能正常显示(我估计其他字符也没问题),字体也能统一修改,但窗体修改功能太简单,不能用数值来修改。

Localizer:对Borland公司的软件编写的软件支持异常强大,碰到过一个日语软件,里面的ASCII资源只能用这个软件来修改charset,别的都显示为乱码。

二、步骤篇

1.用PEiD探测壳的类型,如果能直接显示出编写软件的语言或平台就说明没有加壳(比如Visual C++,Borland C++ Builder,Borland Delphi等等)。

2.退壳,这步说起来就话太长了,不详细展开了,PEiD能显示出软件的加壳类型,只要去Google找就能找到相应的退壳软件,如果找不到可以用PEiD本身的退壳功能,也许会有惊喜。

3.确定先用那个综合化工具来翻译。我之所以说“先用”这个词,是因为有很多软件并不是一个软件就能完美的搞定的,为了提高汉化质量和效率,还是用多个软件吧。比如先用Passolo翻译标准资源,再用Multilizer修改窗体控件的大小以达到美观,最后用Localizer修改charset显示非英语系软件的字符乱码,也许还要用点睛来汉化非标资源(KitServer纯粹得用点睛来汉化)。

4.善后工作。整理一下字典,写一点文档和经验,以便以后翻阅。字典的整理很重要,因为以后该软件升级汉化起来就方便多了(除非该软件彻底重新写过)。

以上的步骤最复杂的应该是第三步的非标准资源的汉化了,因为其不确定性和不稳定性,造成很多人即便汉化了这些资源也无法让软件正常运行或者正常显示需要显示的字符。非标的教程在汉化新世纪的教学区有一些,大家可以参考一下,但并不是所有的情况它都包括了,有些还是需要自己摸索的。

非标的汉化最重要的是备份原软件,这是我吃过很多亏的地方,忘记备份原文件,结果发觉有些字段要改,但只能通过看点睛的txt文件找到地址用UE改了,非常费时间。要不可以用字典的方法,用灵便编辑器,里面的字典功能还是非常好用的。

原创粉丝点击