月之境安卓汉化的血泪史
很多人问我,这么老的《月之境》PC版早就有人汉化了,干嘛非要自己折腾个安卓版?图啥?一开始我就是闲得慌,想躺床上玩。我手上有个老哥给的日文版,但我又懒得开电脑,一拍大腿,就决定自己搞一个移动端版本出来。
动手搞起来,是文件获取。这游戏毕竟有些年头了,用的引擎很老。我花了一下午在网上各种找工具、试方法,才勉强把PC版的文件都给扒了下来。尤其是那些加密的脚本文件,我硬是用半残的解包器,对着报错信息一行行地试,才把核心文本内容给拽出来。
寻找翻译与编码地狱
脚本是有了,但里面全是日文。我得把现有的中文翻译塞进去。幸好以前有人做好了一版PC汉化,我跑去找了那个汉化组的老哥,把文本文件想方设法要了过来。
问题就来了,PC和安卓在处理字符编码上完全不是一回事。我遇到的坑主要有三个:
- 文本乱码: PC汉化用的编码格式塞进安卓的框架里,立马就乱成一锅粥,满屏幕都是问号方块。我必须手工转换,用脚本批量处理,但每次总有几个特殊字符给我捣乱。
- 字体替换: 原版日文字体肯定不能用,我得塞进去一个中文字体包,还得确保这个包够小,不然APK体积直接爆炸。光是选字体、压缩字体,我就折腾了好几个晚上。
- 脚本注入: 这才是最磨人的。我逐个检查,把中文翻译的位置和日文原文的长度对齐,一不小心多一个空格或者少一个换行,游戏运行到那里就直接闪退。
文本问题算是解决了,我赶紧打包成APK,安装到测试机上,结果画面让我直接骂出声。
UI布局的折磨与坚持
文本是中文了,但界面完全是错位的。按钮压根按不到,对话框只显示了一半。因为PC版的分辨率和手机不一样,所有UI元素的位置都是写死的。我必须回过头去改UI布局文件,把那些分辨率写死的地方全抠出来,一个个对着安卓屏幕去校正。光是调整对话框的尺寸和选项按钮的位置,就搞了我快两天。我简直就是个数字裁缝,拿着坐标数据在那边缝缝补补。
你肯定想问,我为啥这么有空去搞这种吃力不讨好的项目?
说起来你可能不信。那段时间我手头一个大项目,需要等北方某个政府机构的审批文件。他们效率慢得跟蜗牛一样,说好三天出结果,硬是拖了我快两周,就是不给盖章。我每天啥事也干不了,就只能对着电话干等。
等得我心烦意乱,就想着找点能“立刻见效”的事干。本来想出门钓鱼,结果那天忽然开始下暴雨。没办法,我就决定在家里把这汉化给弄完。那段时间我每天早上八点起来,不是写工作代码,而是给游戏对齐对话框、调整字体大小。我当时就想,要是不搞这个汉化,这两周时间不就白白浪费了。
直到我把最终成品APK发给群里老哥们炫耀的时候,那个姗姗来迟的审批电话才打进来。你看,有时候,搞点看起来没用的折腾,反而能让你的等待变得有意义。