今天得空,就来捣鼓一下这个Socrates安卓汉化的事儿。之前一直想弄,主要是有些APP它就是没中文,用起来老别扭了。我这台主力机是红米K60 Pro,代号就是Socrates,目前跑的是澎湃OS,基于安卓14的。所以这回实践,主要就是拿它开刀。
准备工作
你得让手机听话。开发者选项必须打开,里边的USB调试也得勾上。这都是老生常谈了,不细说。然后在电脑上,我准备了几个小工具,主要是用来解包、打包APK文件的,还有就是文本编辑工具,用来翻译那些字符串。对了,还得确保手机驱动在电脑上装好了,不然连不上也是白搭。
我还特意找了个没中文的小工具APP练手,免得一上来就搞系统级别的,万一搞坏了,我这主力机可就麻烦了。先从简单的开始嘛一步一个脚印。
开始动手
第一步,我先把那个目标APP的安装包,也就是APK文件,从手机里提取到电脑上。这很简单,用文件管理器就能搞定。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
就用上了我准备的APK反编译工具。我用的是比较顺手的一款,这里就不点名了,反正能把APK拆开就行。运行工具,选择APK文件,点一下反编译,等个几分钟,APK就被拆成一堆文件夹和文件了。
重点来了:找文本!
一般来说,APP的文本都藏在res/values/
这个文件夹下面,文件名通常是。如果APP支持多种语言,那就会有类似values-en
(英文)、values-fr
(法文)这样的文件夹。咱们的目标就是要创建一个values-zh-rCN
(简体中文)的文件夹,或者直接修改values/*
(如果它默认是英文且没有其他语言选项)。
我打开那个,里面密密麻麻全是英文。比如:
<string name="app_name">Cool Tool</string>
<string name="settings">Settings</string>
<string name="exit_message">Are you sure you want to exit?</string>
看到这些,就好办了。我用文本编辑工具,把这些英文一个个替换成中文。比如上面那几条,我就改成:
<string name="app_name">酷工具</string>
<string name="settings">设置</string>
<string name="exit_message">确定要退出吗?</string>
这个过程挺枯燥的,尤其是文本量大的时候,简直是体力活。我还得注意,有些字符串里面有%s
或者%1$d
这样的占位符,这些可不能动,翻译的时候得原样保留,不然程序运行时会出错。
回编译与签名
所有文本都翻译(或者说,我认为重要的都翻译)完毕后,就该把这些修改过的文件重新打包成APK了。还是用那个反编译工具,它一般也带回编译功能。选择刚才解包出来的文件夹,点一下回编译。
顺利的话,很快就能生成一个新的APK文件。但是,这个APK还不能直接安装到手机上,因为它没有签名,或者说用的是调试签名,Socrates系统不认(或者会警告)。
所以下一步就是给这个新生成的APK签名。我用的是另一个专门的签名小工具,导入APK,选择一个签名证书(没有的话工具一般可以生成一个),然后签名。搞定!
安装测试
一步,把这个签好名、汉化过的APK文件传到我的红米K60 Pro上。先卸载掉原来的英文版APP,然后安装我这个汉化版。
安装成功!我迫不及待地打开APP,界面果然变成中文了!“Settings”变成了“设置”,“Exit”变成了“退出”,用起来顺眼多了。我又把各个角落都点了一遍,看看有没有漏掉的或者翻译不当的地方。
一次成功是比较理想的。有时候回编译会出错,可能是某个XML文件格式被我改错了,或者编码有问题。有时候签名后安装失败,可能是签名方式不对。这些都得慢慢排查。我还遇到过有些APP的文本藏得比较深,不在常规的里,那就得更费劲地去找了。
一点小结
给安卓APP做汉化,主要就是耐心和细心。工具都是现成的,流程也比较固定。这回在我的Socrates(红米K60 Pro)上实践了一下,虽然只是个小APP,但也算是把整个流程跑通了。以后再遇到想汉化的东西,心里就有底了。澎湃OS对这类修改过的APP兼容性也还行,没出啥幺蛾子。
这回的实践记录就到这里,希望能给同样喜欢折腾的朋友一点小小的参考。自己动手,丰衣足食嘛