前两天公司接了个新项目,老板直接甩给我:“赶紧把这安卓app汉化搞定,下周上线!”我心说行,坐到工位上就开干。
一上来就踩了大坑
我打开Android Studio,点开工程文件,扫了眼*。妈呀,里面全是英文,硬着头皮手动翻译了几句中文,编译一遍。App一跑,界面闪退,日志弹出红字:“Resource not found”。我骂了句坑爹,原来有地方引用的key和翻译文本对不上号。急吼吼翻源码找错,搞了一下午,眼都花了。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
后来加班调代码,老婆打电话催回家吃饭,我糊弄两句“快了快了”,压根没动弹。那天晚上熬到凌晨两点,饿得前胸贴后背,想起来冰箱里就剩半个馒头,啃了两口继续查资料。Stack Overflow上翻烂了,终于发现漏了几个备选资源文件夹,得手动补全values-zh文件夹里的内容。
第二波问题更恶心
翻译总算对齐了,我打包APK测一把,用户界面显示中文了,但点某个按钮就崩溃。日志提示:“编码错误,非法字符”。我挠头,心想这破事儿咋没完没了。仔细检查,原来同事之前加的新功能里用了特殊符号,编码设成ASCII了。我骂咧咧改回UTF-8,结果gradle编译失败,报兼容性问题。
没办法,我拉了个小会,喊上团队里管测试的哥们儿。他扒拉两下键盘说:“你那gradle插件太旧,升个级试试。”我半信半疑更新了插件版本,编译通了,但真机上跑起来,中文还是乱码。我气得差点砸键盘——原来系统语言设置没改,光app改了顶屁用。
关键解决方案来了:
- 第一,统一编码用UTF-8,在*里加一行config
- 第二,资源文件夹全量校对,别漏zh-rCN
- 第三,测试前必改真机系统语言,省得白忙活
搞定后反手总结教训
折腾三天三夜,app总算上线了,客户反馈还行。我瘫椅子上咕咚咕咚灌凉水,心想这活儿干得真憋屈。老板还夸:“效率高!”我心里吐槽高你个头,差点把家都搭进去。上周孩子学校开家长会,我因为调bug迟到半小时,被老师白眼儿。
以后这种活儿真得提早点准备,别等临期才搞。用工具自动化检查翻译,比手动瞎摸强一百倍。公司要是给点预算买个现成汉化平台,大伙儿都轻松,何必跟代码死磕。