就是闲不住。前阵子看上一个国外的手机工具应用,功能是真牛,把生产力拉满了,但唯一的毛病就是,界面全英文,而且用词那个专业,光看帮助文档就得耗掉我半小时。我当时就想,这么好的东西,要是能变成中文多问了一圈,没人做,也没人愿意花这个时间。得,老毛病犯了,自己动手,丰衣足食。
第一件事:把安装包扒拉下来
你搞汉化,得有源文件。我1找了个能抓取安装包的工具,把手机上跑得好好的那个英文App的安装文件(就是那个APK文件)给弄到电脑上。这第一步看起来简单,但有些应用会搞一些花里胡哨的加密或者拆分,让我折腾了半天。还这个工具比较规矩,就是个标准的单文件。
拿到文件后,下一步就是要把它“脱光”。我找了个常用的反编译工具,直接对准它,啪地一下就把它拆成了一堆文件夹和代码文件。这时候看到的,基本上就是应用的骨架了。文件一打开,密密麻麻的XML文件、资源文件、还有一堆看不懂的Smali代码,看得人真是一头雾水。
第二件事:像警察一样搜查文本
汉化最核心的是找到那些显示在屏幕上的英文。我知道,安卓应用里,大部分界面上的字,都藏在一个叫的文件里。我心想这还不简单?直接在反编译出来的一堆文件里搜索这个名字。
结果?我高估了国外开发者的良心。这个应用的文件结构乱七八糟,它根本就没用标准的,而是把文字打散藏在了好几个资源包里,甚至有一部分,是直接写死在了代码里头的!这下真叫人抓狂。
我没辙,只能换了个笨办法。用文本编辑器,全局搜索那些我认识的,关键的英文单词和短语。比如“Settings”、“Confirm”、“Save”这些高频词。每找到一个,我就得记下它在哪个文件、哪一行。这个过程就像大海捞针,得盯着几百个文件,眼睛都快看花了。
第三件事:开始动手替换与测试
等我把主要的几百条文本都定位完了,真正的体力活就来了——翻译和替换。可不能直接用翻译软件一键糊弄上去,那样出来的东西没人看得懂。我得结合语境,一条一条地翻译成接地气的中文。光是“Sync”这个词,我就得根据它出现的位置,琢磨是该翻译成“同步”、“校准”,还是“更新”。
替换的时候,又遇到新的麻烦了。
- 字符长度问题:英文单词短,中文意思表达丰富但占地方。我把“Select Profile”翻译成“选择用户配置”,中文比英文长了一大截。
- 界面溢出:替换完后,我发现很多按钮上的字都装不下,直接溢出到屏幕外面去了,或者和旁边的图标重叠了。
没办法,只能边翻译边调整用词,尽量精简,保证在界面上不至于太难看。有些地方实在躲不过去,我甚至得去动一些布局文件(就是那些XML文件),手动把按钮拉宽一点,这个操作风险贼大,稍微动错一个数字,应用可能就直接奔溃了。
第四件事:重新组装和收尾
等所有的文本都替换完了,排版也做了基本的修整,接下来就是把这堆零碎的文件重新打包成一个新的APK安装包。这需要用到反编译工具的反向操作。
但是光打包还不行,安卓系统很聪明,它会检查应用有没有被修改过。所以一步,也是最关键的一步,就是给这个新包重新签名。我用了一个专门的签名工具,给它盖了个“章”,让安卓系统相信这个应用是合法的。
然后,心惊胆战地把它安装到手机上。第一次安装,没崩,谢天谢地。打开一看,首页是中文了!但点进深层菜单,又蹦出几个英文字。没办法,继续回炉,重复第二、三、四步。
整个过程,我来来回回折腾了有五六次,终于把绝大部分界面都变成了我们看得懂的中文。虽然过程辛苦,但当我看到那个原本高大上的英文应用,在我的手机上老老实实地显示着简体中文,那种成就感,真是太棒了。跨界汉化这事儿,虽然技术含量不高,但真是个细致活儿,得有耐心。实践记录分享给大家,希望能给想自己动手的朋友一点启发!