今天得空,就来聊聊我前段时间折腾《异世界勇者》这游戏的汉化过程。这游戏,我看介绍说,叫《异世界勇者》,大小嘛差不多260多兆,最新版本好像是6.1.8,是个角色扮演类的。主角听说是只哥布林,还挺有意思的,需要培养勇者去冒险。
准备工作与初步尝试
就喜欢瞎鼓捣。看到这游戏画风不错,但只有外文,玩起来总觉得隔着点于是寻思着,自己动手汉化试试看。我先是去网上扒拉了个最新版的APK安装包,就是那个266MB左右的。下回来之后,第一步当然是解包。
我用的就是常见的APK反编译工具,直接把APK文件给它拆开。这一拆,哗出来一堆文件和文件夹。老规矩,先看assets
文件夹和res
文件夹,这两个地方通常是放资源文件的大户。
寻找文本与翻译替换
打开assets
文件夹,里面东西还真不少。我挨个翻了翻,发现一些.json
或者.xml
格式的文件,打开一看,里面果然有不少英文或者日文的文本。这些就是游戏里的对话、物品介绍、任务说明之类的。找到目标就好办了!
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
接下来就是苦力活了——翻译。我把这些文本复制出来,一部分自己硬着头皮翻译,一部分借助翻译工具。这里得注意,机翻出来的东西有时候不通顺,还得自己润色一下,尽量让它符合游戏里的语境。
翻译完了,就得替换回去。把翻译好的中文文本,小心翼翼地覆盖掉原来的外文文本。这里特别要注意文件的编码格式,一般都是UTF-8,搞错了就会显示乱码,那可就白忙活了。
除了assets
文件夹,res
文件夹里的values
目录(或者values-en
, values-ja
之类的)下的文件也是重点关照对象。这里面通常放的是界面上的一些固定文本。处理方法跟上面差不多,找到,翻译,替换。
处理字体与图片(如果需要)
有时候,光翻译文本还不够。如果游戏用的字体不支持中文,或者只支持少量中文字,那显示出来就会是口口口或者干脆不显示。这就得找个合适的、支持中文的字体文件(比如.ttf
格式的),替换掉游戏原来的字体文件。字体文件一般也在assets
里,或者有时候游戏会自己指定路径。
更麻烦的是图片里有文字。比如一些按钮上的图,或者一些教学引导图。这种就得用P图软件,把图片里的外文P掉,再写上中文。这个工作量就比较大了,我这回遇到的还图片文字不多,就简单处理了几个关键的。
回编译与签名测试
所有文本和可能的资源都替换好之后,就该把拆开的APK重新打包回去了。还是用之前的那个反编译工具,执行回编译命令。顺利的话,就能生成一个新的APK文件。
但是!这个新生成的APK还不能直接安装,因为它没有签名。安卓系统不允许安装未签名的应用。还得给它签个名。网上找个APK签名工具,或者用Java的keytool
和jarsigner
命令自己生成证书再签名,都行。
签完名,总算是大功告成(理论上)。把这个汉化后的APK安装到手机上(或者模拟器里),启动游戏,开始测试!
反复调试与最终完善
测试是个细致活。得点点点,玩玩玩,看看各个界面的中文显示是否正常,有没有乱码,有没有文字超框,有没有因为文本长度变化导致的显示问题。剧情对话也要过一遍,看看翻译是否通顺,有没有漏翻的。
我第一次打包测试的时候,就发现有几处文本还是英文,回头一查,原来是藏在其他类型的文件里,或者甚至是硬编码在代码里的。这种就比较头疼了,硬编码的如果要改,就得去动smali
代码,那难度就上去了。我这回主要是处理资源文件里的文本,太深的就先放过了。
还有就是,有时候替换了文本,一运行游戏就闪退。这通常是修改的时候不小心破坏了文件结构,或者编码没对。那就得重新检查,对比修改前后的文件,找出问题所在。
就这样,反复地修改、打包、签名、安装、测试,折腾了好几天。遇到问题就上网查资料,或者去一些汉化论坛看看有没有人遇到类似情况。过程虽然有点枯燥,但每次解决一个问题,看到游戏界面上的中文越来越多,心里还是挺有成就感的。
总算是把大部分能找到的文本都汉化了,玩起来顺畅多了。虽然可能还有些小瑕疵,或者有些藏得特别深的文本没动,但自己用嘛也够了。纯属手痒,也算是给自己找点乐子,顺便记录下这个过程,万一以后又想折腾别的游戏。