得跟大家唠唠我最近捣鼓的一个小玩意儿——一个安卓的水疗中心小游戏汉化。这事儿说起来不复杂,但过程还挺有意思,也踩了不少坑,所以记录一下,给有同样爱好的朋友们提个醒儿,或者就当看个乐子。
起因是啥?
也简单,我闺女最近迷上了一个叫啥“索菲亚的水疗中心”还是“安宁水疗馆”之类的经营小游戏,就是那种让你打理美容院,给客人做脸、化妆、换造型啥的。游戏本身挺休闲,画面也还行,就是,全英文的。孩子玩起来就老问我:“爸爸,这个是啥意思?”、“这个按钮是干嘛的?”。问多了我也烦,而且有些选项她点错了就得重来,挺影响体验的。
我就寻思,这也不是啥大型游戏,应该能给它汉化一下?以前也零零碎碎接触过一点安卓应用修改的东西,正好手痒痒,就决定动手试试。
说干就干,准备工作
第一步,我先把那游戏的安装包,也就是那个.apk文件给弄到电脑上。这个不难,手机里导出来就行。然后,就得找工具了。我没用啥特专业的,就找了个网上常见的APK反编译工具,能把apk解开,看看里面的玩意儿。
拆包,找文本
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
工具一跑,哗解出来一堆文件。这时候就有点头大了,文件太多,跟个迷宫似的。我主要关注的是那些可能存放文字的地方。一般来说,游戏的文字会放在一些特定的资源文件里,比如这种,或者有些是直接写在代码里,那就麻烦点。运气还行,这个小游戏大部分文本还真就在类似xml
或者一些json
格式的文件里。
我耐着性子,一个文件夹一个文件夹地翻,用文本编辑器打开看。看到一堆英文字符串,比如什么“Welcome to the Spa!”、“Choose lipstick color:”、“Facial Treatment”之类的,心里就有数了,八九不离十就是这儿了。
翻译,替换,这是个细致活儿
找到文本之后,接下来就是翻译了。这游戏的文本量不大,估计也就几百上千句,但有些句子还挺口语化的,得结合游戏场景去理解。我没全靠机翻,机翻出来的东西有时候生硬得很。就一句句对着游戏界面,尽量翻得自然一点,符合咱们中国人的说话习惯。
比如有些“Makeover complete!”,我不能直接翻成“改造完成!”,听着像装修,我就改成了“造型完成!”或者“焕然一新!”之类的。还有些描述化妆品的词,什么眼影膏、染发剂,也得找准对应的中文说法。
翻译完了,就得把这些中文文本替换掉原来的英文。这里有个坑,就是编码问题。必须得保证保存的时候用的是UTF-8编码,不然游戏里显示出来可能就是一堆乱码。还有就是,有些文本长度不能差太多,不然可能会导致界面显示错位。这个我小心翼翼地调整了好几次。
处理字体,关键一步
文本替换完了,我以为大功告成了,就兴冲冲地把修改后的文件重新打包成apk,安装到手机上。结果一打开,傻眼了!好多中文字都显示成了方块“□□□”。
这就是典型的字体问题了。原版游戏内置的英文字体,肯定是不支持那么多中文字符的。我就去网上找了个通用的中文字体文件(比如ttf格式的),然后想办法替换掉游戏里原来的字体文件。这个过程也挺折腾,得找到游戏加载字体的具体位置,有时候文件名还得改成跟原来的一样。
打包,签名,测试
字体问题解决后,再次打包。打包好的apk还不能直接安装,因为它是未签名的,或者说签名变了,系统不认。所以还得用签名工具给它签个名。签完名,总算是能顺利安装了。
打开游戏,界面上清清楚楚地显示着我翻译的中文,从欢迎语到各种道具说明,都变成了亲切的方块字。我闺女在旁边看着,高兴得直拍手。
一点小感想
整个过程下来,花了我大概一个周末的零碎时间。虽然只是个小游戏,但从拆包、找文本、翻译、处理字体到成功运行,每一步都挺有成就感的。感觉就像自己动手给一件旧玩具翻新了一样。
现在很多游戏都有官方中文了,但偶尔遇到这种只有外文又特别想玩(或者家人想玩)的,自己动手汉化一下,也是一种乐趣。前提是这游戏不涉及啥复杂的加密或者联网验证,不然我这点三脚猫功夫可就搞不定了。
好了,今天的实践分享就到这儿。虽然不是啥高深技术,但整个过程还是挺有意思的。希望对大家有点启发!