大伙儿晚上今天瞎折腾了一天,总算把手头这个事儿给搞利索了,想着跟大伙儿分享分享。不是啥高深玩意儿,就是个安卓应用的汉化,名字嘛说出来还怪不好意思的,叫《我的美熟继母》。咳咳,别想歪了,我就是纯粹从技术角度出发,觉得有意思,就动手试试。
事情是这样的,前两天在一个国外的安卓爱好者论坛瞎逛,看到有人分享了这么个东西,还是英文版的。就好琢磨这些,尤其是一些比较小众的,没官方中文的App或者小游戏。寻思着,反正闲着也是闲着,不如拿来练练手,看看能不能给它本地化一下,弄成咱看得懂的中文。
第一步,当然是把它的安装包给弄下来。 这个就不细说了,反正就是找到了那个apk文件。然后,我就开始琢磨怎么把它“打开”。安卓的apk文件,说白了,很多时候就像一个压缩包。我试着用解压缩软件瞅了瞅,果然,里面的文件结构一下子就清晰了。
主要的准备工作就是找工具。我以前也零星搞过一些小的汉化,知道大概需要基本上就是:
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
对了,还得有个安卓模拟器或者一个不常用的安卓手机,方便测试汉化后的效果。
准备妥当,我就开始正式动手了。用那个APK工具把安装包给解开。 解开之后,会出来一堆文件夹和文件。咱的目标是找到那些包含文字信息的文件。一般来说,这些文本会放在类似res/values/*
这样的文件里,或者是一些其他的.xml
、.json
甚至.txt
文件里。
我一层一层地翻,果然,在assets
文件夹和res
文件夹里找到了一些疑似目标。特别是,打开一看,里面全是<string name="xxxx">English text here</string>
这样的格式。这下就好办了,咱要做的,就是把里面的“English text here”替换成中文。
接下来就是枯燥但关键的翻译工作了。 我把这些文本文件一个个用Notepad++打开,挨个儿翻译。这玩意儿的文本量说大不大,说小不小,主要是些界面按钮、提示信息之类的。有些词还有些就得结合上下文猜猜是啥意思。毕竟这名字听起来就有点那里面的用语也得琢磨一下怎么翻才“信达雅”,哈哈,开个玩笑,就是尽量让它通顺自然。
翻译的时候,有几点得注意:
%s
、%d
这样的占位符,或者\n
这样的换行符,这些都得保留原样,不然程序会出错。我吭哧吭哧翻译了大半天,眼睛都快看花了。有些图片里也嵌了英文,那个就比较麻烦,得用PS之类的工具去改图,这回我偷了个懒,图片里的文字就先没动,先把主要的文本给汉化了。
所有文本文件都翻译完毕,保存然后就是用APK工具把修改后的文件重新打包成一个新的apk安装包。 打包过程一般会自动签名,不然手机不让装。如果工具没自动签,还得自己手动签一下名,这个稍微麻烦点,不过现在的工具都挺智能的。
新的apk出来了,我赶紧把它装到我的备用测试机上。心情有点小激动,又有点小忐忑,不知道能不能成功。安装、打开……界面果然变成中文的了!大部分按钮和提示都正常显示了中文。那一刻,还是挺有成就感的。
问题也来了。果然有些地方因为中文文本比英文长,显示不全,或者换行很难看。于是我又回到文本文件里,对这些地方的翻译进行微调, 尽量缩减字数,或者换种说法,让它能在有限的空间内显示完整。这个过程反复了好几次,调整、打包、安装、测试,再调整……
还有就是,有些地方可能藏得比较深,第一次没找到,或者有些文本是动态生成的,这个就比较头疼了。不过这回这个《我的美熟继母》App结构还算简单,主要的文本都在那几个xml文件里,没遇到太刁钻的情况。
经过一番折腾,基本上百分之九十的文本都成功汉化了。 那些嵌在图片里的英文,我就先放过了,毕竟主要目的是体验一下这个汉化流程。看着自己动手修改后的中文界面,心里美滋滋的。
通过这回实践,感觉对安卓应用的结构又熟悉了一点。虽然这个App的名字有点……特别,但技术是无辜的嘛哈哈。主要还是享受这种自己动手丰衣足食,把一个外文东西变成母语的乐趣。
安卓汉化这活儿,入门不难,但想做得完美,还是挺考验耐心和细心的。得懂点英文,会用工具,还得有反复测试修改的毅力。今天就分享到这儿,算是一次小小的实践记录。希望对同样喜欢瞎折腾的朋友有点启发。晚安!