为什么要自己动手搞定这个汉化包
我一开始真没打算碰这玩意儿。谁没事儿会去折腾一个老早以前的日本游戏,还是安卓平台的,听着就头疼。但我这个人就是有股犟劲儿,特别是在看到网上那些所谓的“完美汉化版”之后,那毛病真的太多了。
我为啥知道这些?因为我前段时间在家休息,腿摔了,动不了,只能抱着平板瞎折腾。正好之前听人提过这个游戏,就想着找个能玩的版本。结果?找了三四个资源,要么是机翻得狗屁不通,要么就是进游戏就闪退,更离谱的是,有一个版本连对话框都显示不全,字体糊成一团,完全没法看。这把我气坏了,与其靠别人,不如自己想办法搞定。反正闲着也是闲着,就当给自己找点事儿干了。
从零开始:找到原始包和汉化文本
既然决定要干,那就要从根儿上抓起。得找到一个干净、没被乱改过的原版安卓安装包(就是那个APK文件)。这个找起来费了点劲,因为大部分资源站都喜欢把自己的垃圾广告和乱七八糟的补丁塞进去。我足足花了半天时间,才在一个非常不起眼的国外论坛上,找到了一个据说是最原始的版本,抓下来,确认MD5值没问题,心里才算踏实。
第一步,拆包。我找了一个专门用来把安卓包扒开的软件,把这个APK文件扔进去。这个过程就是把里面的各种资源文件、脚本文件、图片文件全都倒腾出来。这游戏是个很老的游戏引擎做的,结构倒是意外地简单,脚本文件都在一个特定的文件夹里,名字还挺规矩,一看就知道是文本数据。
第二步,找翻译源头。光有脚本没用,我得有能填进去的中文。我搜罗了一圈,发现早就有人在PC端把这个游戏的文本内容给汉化完了。虽然是针对PC版的,但文本内容肯定是一样的。我把PC版导出的那一大堆文本文件也找来了,接下来就是最机械、最费眼力的活儿:对比和替换。
- 找到安卓脚本文件里对应的日文句子。
- 在PC汉化文本里找到这句日文对应的中文翻译。
- 用中文替换掉日文。
听着简单,做起来简直要人命。这游戏文本量大得吓人,我对着屏幕看了两天,眼睛都快冒火了。而且因为是老游戏,很多编码格式都不统一,替换的时候稍微不注意,就会出现乱码或者方块字。
编码的噩梦和字体的拉扯
真正让我抓狂的是编码问题。
我把几千行的中文文本硬塞进去了,兴冲冲地开始封包,准备安装测试。结果一运行,傻眼了。游戏是能跑,但是所有对话的地方,中文都显示成了一堆问号或者黑色的方块。我当时心想,我的天呐,白干了!
我赶紧又把包拆开,仔细研究了一下这个老引擎是怎么调用字体的。我发现它根本不支持我用的那种现代中文字体编码,它只认识一个特定格式的字体文件。解决办法只有两个:要么魔改它的引擎代码(这个难度太大,我搞不定),要么就是强行替换它的字体资源。
我找了一个能把字体文件扒出来、重新打包的工具。我把游戏自带的那个日文字体文件抓出来,找到一个笔画比较少的、能支持GBK编码的开源中文字体。然后,我把这个中文字体改了个名字,硬塞回去,告诉游戏:“这个就是你原来的那个日文字体,你给我老老实实用它显示!”
折腾了三四个小时,终于搞定了字体。第二次封包测试,这回成功了!中文字能显示了,虽然看起来有点粗糙,但至少是能看懂的中文了。正当我准备松一口气的时候,新的问题来了:
文本溢出。
很多中文句子比日文句子长得多,一行显示不下,直接超出了对话框的边界,甚至跑到屏幕外面去了。这就逼着我返回去,把那些超长的句子挨个检查,要么进行二次润色,把它缩短;要么手动在脚本里加“换行符”,把一句话拆成两行。这又花了我大半天的时间。
终于收工:一个能用的成品
前前后后大概折腾了四天,我的作息都乱了,白天睡觉,晚上就对着电脑屏幕抠字眼。但我是真把这个盗撮学園的安卓汉化版给弄出来了。没有闪退,没有乱码,文字虽然有点挤,但至少是完整的、可以流畅玩下去的。
把这个修修补补的成品再重新打包成一个全新的APK文件,运行了一遍最终的流程测试,确定所有分支和对话都没有问题后,我才算彻底放手。看着自己搞定的东西,那种满足感是实打实的。虽然只是个小小的汉化,但从零开始,克服编码和字体这些狗皮倒灶的问题,感觉比我搞定一个大项目还踏实。
我把这个自己弄好的版本发给了几个当时也在找资源的朋友,他们一试,都说比网上那些“毒包”强太多了。我告诉他们,这都是自己亲手一个字一个字对出来的,比那些机翻的强一百倍。这就是自己动手实践的意义,费劲是费劲,但成果是实打实的。