起因:受够了半吊子的英文界面
这个叫“旋律”的安卓音乐制作软件,懂的人都知道,它功能是真强,音色库牛得不行。但它就是不给你好好做中文界面。我每次打开,光是找个效果器,都得连蒙带猜,跟玩解密游戏似的。官方社区里,国外的用户一直催官方,催了好几年,人家就是没动静。我这脾气就上来了,等不及了,索性自己动手。
实践开始:先拆再说
既然要汉化,得把它的“身体”搞到手。我想办法拿到了原版的安装包(APK)。一开始我琢磨着,不就是替换文字嘛多简单的事。我找了个很流行的手机端修改器,直接打开那个APK。结果一看,里面密密麻麻全是代码和看不懂的配置,压根找不到能改字的地方。第一次尝试,失败!
我意识到,不能用小工具糊弄事。我换到了电脑上,下载了一套所谓的“逆向工具”,名字听着唬人,就是个拆包、打包的工具链。我把安装包扔进去,工具哗一顿跑,把文件全拆散了。这下更乱了,上万个文件,我头都大了,完全不知道文字信息藏在哪。
深入摸索:找到字符串的老窝
我沿着文件结构,开始一个一个文件夹翻。安卓程序的文字信息肯定得有个存放的地方。
- 我先排除了所有图片和音效文件。
- 然后排除了那些Java代码编译出来的DEX文件。
- 最终,我摸索到了那个叫
res(资源)的文件夹,里面有个values。
好家伙,文字全在里面,是那种叫XML的文件格式。我打开一看,里面全是string name和英文内容。这些就是我要翻译的目标!
核心难题:翻译与重新打包
翻译是体力活。我一个人干不过来,就拉了几个懂音乐制作的朋友,大家分头把几千条英文句子搬到翻译软件里,再一句一句校对,然后贴回XML文件里。这过程极其痛苦,因为很多音乐术语,翻译软件根本不明白,得靠人工修正。
等所有文件都改完,我信心满满地准备打包。结果,又卡住了!
我用逆向工具里的那个打包功能,一运行,工具就提示签名校验失败。我当时就懵了,文字都翻译好了,怎么不能用?我查了半天论坛,才明白:安卓系统对任何被修改过的应用都很警惕,私自改动了文件,系统就不认它了,必须重新进行“签名”。
我花了半天时间,折腾了一个新的“签名工具”,给这个被我改得面目全非的安装包盖了个新章。然后提心吊胆地安装到我的测试机上。
冲刺:界面适配与最终成功
新的应用图标出现在桌面上,我点开,中文界面出来了!成功了!
但是还没高兴够,新的问题又来了:有些地方翻译的字太长了,比如“Insert an External Effects Processor”我翻译成了“插入一个外部效果处理模块”。结果这行字太长,直接把界面的按钮挤变形了,非常难看。我不得不又回去,把所有过长的中文描述,用更精炼、更口语化的词语代替。
这个修改适配的过程,比翻译本身更耗费心力。我来来回回,对着手机屏幕微调了快两天。直到所有界面都美观且不溢出,这个汉化版才算真正完成。看着这个完全中文的专业软件在手里跑起来,成就感爆棚。我终于可以高效地在手机上编曲了。实践证明,只要想做,就没有搞不定的。