昨天琢磨着搞循环支付的汉化,纯粹是因为同事老王抱怨全是洋文看不明白,害他给客户演示时总卡壳。行,那就动手试试,反正闲着也是闲着。
第一步:抓瞎找安装包
直接杀到循环支付的官网,眼都瞅花了才在角落找到安卓的APK下载。版本号得看准了,下错了指不定汉化完就闪退。
第二步:拆包工具翻箱倒柜
找了个老伙计APKTool拆包,结果这工具更新后贼难用,命令行敲得我手酸。整了半天才把安装包扒开,里面一堆smali文件和res文件夹,看得人头皮发麻。
重点在res文件夹:小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
- values文件夹里全是英文字符串,XML格式的
- 各种drawable图片,图标倒不用动
- layout布局文件里也夹着英文
第三步:硬啃翻译骨头
对着*开干,英翻中倒不难,但问题来了:
1. 支付术语头大: “recurring invoice”翻“循环账单”还是“定期发票”?琢磨半天用了“自动续费账单”,感觉更贴地气。
2. 占位符坑死人: 有些句子带%s、%d这种符号,比如“Payment for %s failed”,翻译成“%s的支付失败”时,千万不能动符号位置,挪了就崩!
断断续续搞了仨小时,咖啡喝了两大杯,颈椎病都快犯了。
第四步:打包回填踩大坑
用APKTool打包回编译,啪!直接报错!原来拆包时*文件被改乱了,工具又抽风。折腾了四十分钟才在论坛扒到野路子:把原版安装包里的*直接拽进汉化后的文件夹,再打包,成了!签名完装手机。
实测翻车现场
赶紧打开汉化版APP:
?设置里“Notification Preferences”愣是没翻译! 一查漏了*文件,补上再重打包。
??支付成功页有个动态提示:“Your payment of %s was successful!”, 当时没注意%s在前面,汉化写成了“%s 支付成功!”,结果真付款时显示成“$9.99 支付成功!”…金额符号跑前头了! 又返工改顺序。
最终折腾结果
前后搞了六个多小时,重打包签名5次,最终版装老王手机上了。这货乐坏了,说演示时客户点头都快多了——中文界面确实省了解释的唾沫星子。 支付流程走了一遍,汉化后的按钮和提示没影响功能,自动续费周期设置也看得懂。
突然想到个关键事: 这种第三方汉化包,千万别用在真金白银的生产环境!天知道哪块汉化没弄把支付回调的字符整岔劈了。自己测试玩玩,或者内部演示够用了。真要稳定,还得催官方出中文版!不过嘛自己动手确实比干等强。