刚开始,这趟浑水我是怎么趟进去的
大家知道,就爱折腾点别人不爱碰的东西。不是专业的,就是凭着一股子热爱。前段时间,群里头有人在聊《平行救赎》这个游戏,日文原版,剧情是真带劲,大家都说可惜手机上没有中文版,玩起来费劲。我就寻思了,这么好的东西,不汉化出来给兄弟们体验一下,那不是浪费吗?
说干就干,我拍了拍键盘,告诉自己,这周六日就砸进去了。我当时想得可简单了,不就是个APK包吗?流程我熟:解包,翻文件,改文本,封回去,齐活。结果真上手了才知道,哪有那么容易,每一步都是坑。
我先是找到了游戏的APK安装包,这第一步就费了点劲,官方渠道是肯定没有的,是托关系在国外一个论坛扒下来的。
摸索工具链:从零开始找刀枪
是工具。一开始我下载了那个大家都说的APKTool,想着扒开外壳看看里面。结果一扔进去,报错!各种环境问题,JDK版本不对,路径不对,搞了我整整半天。我直接恼火了,关了电脑,跑出去抽了根烟,冷静了一下。
回来后我换了个思路。既然硬解包不行,那就不去硬碰硬地解包整个系统文件,而是直接盯上了资源文件。我翻找了几个汉化圈的国外论坛,找到了一个专门针对Unity引擎资源提取的工具(因为这游戏大概率是Unity打包的,这是我的经验判断)。下载下来,我试着拖进去APK文件。等了一晚上,CPU都快冒烟了,终于把AssetBundle文件给抠出来了。那一刻,我感觉自己迈过了第一道鬼门关。
文本抽取与地狱般的翻译过程
文本都在那些乱七八糟的`.txt`或者`.json`文件里,文件名都是天书。我一个个打开,找到那些密密麻麻的日文。这工作量,我一看就头皮发麻。原计划是机翻一下再人工润色,结果机翻效果烂得跟屎一样,很多语气完全不对,玩起来肯定出戏。
所以我硬着头皮,把文本复制出来,整理成一个巨大的Excel表格。然后我请教了一个懂日文的朋友,求他帮忙把关键对话和人名先翻译了。剩下的那些边角料,我才用机器翻译,然后自己一句句地抠,修饰,力求能接地气,让兄弟们玩得舒服。
- 最烦人的部分: 编码问题。我把文本改完,存回去,结果游戏里显示的全是方块或者乱码。折腾了不下十次,把头发都快抓秃了,才搞明白是UTF-8带BOM和不带BOM的问题。每次保存,都要小心翼翼,生怕哪个细节没处理导致白干。
- 排版噩梦: 文本长度限制。汉字比日文占地方。我得把一些长句子缩短,删掉一些不必要的描述,确保对话框能装得下,不会溢出屏幕,不然体验感就废了。这逼着我在翻译的时候,必须精简再精简。
重新打包与测试:心惊胆战的临门一脚
文本全部替换完之后,就是重新封装。我用回了那个我一开始嫌弃的APKTool,这回设置好了环境参数,也不知道是不是运气居然一次就成功了。我生成了新的APK包,用我的证书给它签了个名(不然安卓系统不让装)。
然后战战兢兢地安装到模拟器上,点击启动。等了五秒,屏幕一亮,中文界面出来了!当时我激动得差点跳起来,那种成就感,比我上次公司项目上线还强烈。毕竟这玩意儿是实打实地一个人啃下来的。
但是,测试是逃不掉的。我跑了几个关键场景,发现文字显示没问题,但有个别地方的贴图(比如技能名称)是写死在图片里的,还没来得及抠出来换。我只能先放着,记下来,这算是第一版汉化的小瑕疵。虽然不完美,过程也极其折磨人,但这总算能让大家顺顺当当地把剧情看下来,我的任务也算是完成了大半。我得再整理整理,把这个汉化包分享出去,让更多兄弟少走弯路。