跟大伙儿聊聊我前阵子折腾那个《超级触手君》安卓汉化的事儿。这游戏,挺有意思,但是原版是英文的,玩起来总觉得隔着点不痛快。于是乎,我就寻思着自己动手,给它汉化一下。
一开始我也想着省事,上网搜搜有没有现成的汉化版。结果?要么是些乱七八糟的广告,要么就是版本旧,或者干脆汉化得驴唇不对马嘴,看着比英文还难受。得,求人不如求己,撸起袖子自己干!
哥们儿我摸索了一阵,主要就靠几个家伙事儿:
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
先得有原版的APK安装包。这个我是从一些还算靠谱的第三方市场搞到的,或者有时候朋友也会分享。拿到手,先放电脑里,找个专门的文件夹放免得跟别的弄混了。
然后就轮到Apktool上场了。我一般是打开命令行工具,进到Apktool的目录,然后敲命令。大概就是 `apktool d 游戏名.apk` 这么个意思。比如我这个叫 `*`,那就敲 `apktool d *`。执行完,APK就被拆解成一堆文件夹和文件了,通常会生成一个和APK同名的文件夹。
这是最费劲的一步,也是最关键的一步。拆开之后,游戏里的文本都藏在那些文件里头。大部分情况下,安卓应用的文本都在 `res/values/*` 这个文件里。有时候,如果游戏支持多种语言,可能会有 `res/values-en/*`(英文)、`res/values-jp/*`(日文)这样的文件夹。我就直接在 `values` 文件夹里找 `*`。
打开这个 `*` 文件,里面就是一条条的文本资源,格式一般是这样的:
<string name="app_name">Tentacle Locker</string>
<string name="start_button">Start Game</string>
看到这些英文,心里就有数了。不过特别注意,有些游戏的文本可能不全在 `*` 里,有的可能写在代码(smali文件)里,或者打包在一些特定的资源文件(比如json、lua或者一些自定义格式的文件)里。这种就比较麻烦了。《超级触手君》这个还算友大部分主要的文本都在 `*` 里面能找到。
找到英文就好办了,对着一条条翻译。我也不追求啥信达雅,怎么通俗易懂怎么来,玩游戏嘛自己看得明白最重要。比如 "Start Game" 我就直接翻译成 "开始游戏","Settings" 就翻译成 "设置"。有时候还会加点自己觉得有意思的词,反正自己玩,怎么爽怎么来。注意只改尖括号中间的文本内容,那些 `name="xxx"` 之类的属性可千万别动,动了容易出问题。
翻译的时候,文本编辑器的编码格式要留意,最好保存成UTF-8格式,免得出现乱码。
翻译完了,检查几遍,确保没啥低级错误,保存好 `*` 文件。然后又轮到Apktool了。还是在命令行,这回是打包,命令差不多是 `apktool b 文件夹名 -o 新游戏名.apk`。比如我之前解压出来的文件夹叫 `TentacleLocker`,那我就敲 `apktool b TentacleLocker -o TentacleLocker_*`。这样就会在当前目录生成一个叫 `TentacleLocker_*` 的新APK包了。
打包出来的APK还不能直接装到手机上,会提示安装失败,因为它没签名。这一步也挺重要的。我一般用一个叫 `APKSigner` 的工具,或者直接用Java环境里的 `jarsigner`。需要一个签名密钥,这个可以自己生成,网上教程也多。我之前就生成了一个,一直用着。给新的APK签上名,这样手机才认它是个合法的应用。
简单说下签名的过程:就是找到签名工具,指定你的密钥文件、密钥密码、别名什么的,然后指定要签名的APK文件,执行一下就行了。不签名,前面都白忙活。
签完名,把这个新的 `TentacleLocker_*` 文件传到我的安卓手机上。先卸载掉手机里可能存在的原版游戏,然后安装这个汉化版。安装成功,打开!看到自己翻译的中文界面,那叫一个舒坦!
这时候别光顾着高兴,还得仔细测试一下游戏的各个功能,看看有没有漏翻译的,或者翻译了导致文字显示不全、错位的情况。有时候一个单词翻译长了,界面可能就装不下了。有问题就得回到第三步或者第四步,重新修改文本,再打包、签名、安装测试,直到自己满意为止。
整个过程下来,虽然有点折腾,特别是找文本和反复测试的时候,但看到成果,还是挺有成就感的。而且这游戏,汉化了之后,玩起来确实顺畅多了,不用再对着英文单词猜意思了,尤其是剧情多一点的,体验提升非常大。
基本上我汉化这类小游戏,都是这么个流程。工具和耐心最重要。希望对同样想自己动手的朋友有点启发!今天就先分享到这儿,下次有啥好玩的实践再跟大伙儿唠。