大伙儿晚上今天得空,就寻思着把我手头一个用了挺久,但一直没中文的老安卓应用给拾掇拾掇,让它也接接地气儿。这应用,功能挺专一的,就是界面一直是英文,用着总归有点别扭。开发者估计早就不维护了,想找个官方中文版是没戏了,只能咱自己动手了。
准备工作
家伙事儿得备齐。咱干这活,离不开大名鼎鼎的 APKTool。这玩意儿可是反编译和回编译APK的一把好手,没它可不行。然后,我还准备了个文本编辑器,我个人习惯用 Notepad++,当然用别的比如 VS Code 之类的也行,主要是方便查看和修改那些文本文件。对了,还得有个签名工具,后面打包好了要用,我一般用 APKSigner,或者有时候也直接用Java环境里的 `jarsigner`。
开始动手
万事俱备,开整!
-
第一步:拆包
我先把那款“徐娘半老”的APK文件(就叫它 `old_*` )拷贝到我电脑的工作目录里。然后打开命令行,切换到这个目录,输入命令:
apktool d old_*
。敲回车,等着它跑完。跑完之后,就会在当前目录下生成一个和APK同名的文件夹,比如 `old_app`,里面就是这个应用被拆开后的各种零碎,包括资源文件、smali代码啥的。 -
第二步:找文字
这应用比较老,所以文字资源一般都还比较规矩。我直接就进了 `old_app/res/` 目录,这里面通常会有一个 `values` 文件夹,运气好的话,可能还有 `values-en` (英文)、`values-zh` (中文,虽然这个老应用没有) 之类的。咱主要的目标就是 `values/*` 这个文件。有时候,如果应用默认就是英文,那英文的字符串可能直接就在 `values/*` 里面。
我用Notepad++打开这个 `*`,果然,里面密密麻麻都是这种格式:
<string name="app_name">Old App Name</string>
<string name="settings_title">Settings</string>
<string name="about_us">About Us</string>
看到这些,心里就有底了。
-
第三步:翻译替换
接下来就是苦力活了。我把这些英文的文本一条一条地复制出来,然后用翻译工具(我一般用网页版的,哪个顺手用哪个)翻译成中文。但是,机翻的玩意儿,大伙儿也知道,有时候不太靠谱,所以我还得自己再润色润色,尽量让它读起来通顺自然,符合咱中国人的说话习惯。比如 "Settings",机翻可能是“设置”,这个没问题;但有些词组,直译过来就怪怪的,得自己琢磨。
特别注意: 有些字符串里面会有占位符,比如 `%s`、`%d` 或者 `%1$s` 这种,这些可千万别给翻译没了或者改错了,不然程序跑起来要出问题的。还有些换行符 `\n` 也得保留原样。
我就这么一行一行地对着翻译、替换。遇到比较长的,或者不太确定的,就先跳过,或者做个标记,免得卡住。
-
第四步:回编译
把 `*` 里的英文都改成中文之后,保存文件。然后,我又回到命令行,还是在工作目录下,输入命令:
apktool b old_app
(注意,这里的 `old_app` 是之前解压出来的文件夹名,不是APK文件名)。顺利的话,它会开始重新打包。打包好的APK文件会生成在 `old_app/dist/` 目录里面,文件名通常就是 `old_*`。
-
第五步:签名
回编译出来的APK还不能直接安装到手机上,因为它没有签名,系统不认。这时候就轮到 APKSigner 上场了。我打开签名工具,选择刚才生成的那个APK文件,然后用我自己的测试签名给它签一下。这一步很快,几秒钟就搞定了。如果你用 `jarsigner`,那命令会稍微复杂点,但效果是一样的。
-
第六步:安装测试
签名完毕,我把这个新的APK文件传到我的安卓测试机上,然后点击安装。因为是自己签名的,系统可能会提示有风险啥的,忽略掉,继续安装。
安装成功后,赶紧打开看看!不错,主界面大部分都变成中文了,看着舒服多了。我又点开设置、关于等页面,仔仔细细检查了一遍。大部分都正常显示了中文。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
遇到的小插曲
过程也不是一帆风顺的。毕竟是“徐娘半老”的应用了,总会有点小脾气。
比如,我发现有个按钮上的文字死活没变。我回去翻 `*`,发现对应的条目确实翻译了。后来我猜,这几个字可能是直接写在布局文件里,甚至是图片资源。对于这种,如果影响不大,我也就懒得去深究了,毕竟咱主要目的是汉化常用界面。
还有一次,我手快,不小心把一个字符串里的 `<` 符号直接打成了 `<`,结果回编译的时候就报错,说是XML格式错误。还好APKTool的报错信息还算明确,我回去检查了一下,改过来就好了。改这些XML文件的时候,一定要细心,特别是那些特殊字符。
总结
折腾了大半天,看着自己手机上那熟悉的图标,点进去是亲切的中文界面,那感觉还是挺爽的。虽然这应用“徐娘半老”了,但经过这么一打扮,用起来顺手多了不是?就像那句老话说的,“徐娘半老,风韵犹存”,汉化之后,这老应用又焕发了第二春!
好了,今天的实践分享就到这儿。希望能给有同样想法的朋友一点启发。自己动手,丰衣足食嘛下次再有啥好玩的实践,再来跟大伙儿唠唠。