今天就跟大家伙儿唠唠我最近瞎折腾的一个事儿——给安卓应用做汉化。也不是啥新鲜技术,就是感觉现在好多工具都太“智能”了,反而让人忘了最基本的操作。我就想着“回归本源”,用最原始的法子试试水。
事情是这样的,前几天我在网上瞎逛,发现一个小工具App,功能挺对我胃口的,就是那种能解决特定小问题,但又不怎么占地方的。唯一美中不足的,就是整个界面都是英文。我这英语水平也就那么回事儿,磕磕绊绊能看懂,但用起来总觉得不得劲,不爽利。
当时就琢磨,这玩意儿要是中文的该多市面上找了一圈,也没见着有汉化版的。求人不如求己,干脆,我自己动手给它“中文化”一下得了!
要做汉化,总得有工具。我想着“回归本源”,就没去找那些一键汉化的傻瓜软件,而是祭出了几个老伙计:
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
东西不多,但都是核心。准备妥当,开干!
第一步:反编译APK
我先把那个英文版的APK文件下到电脑上,然后打开命令行,切换到APKTool所在的目录。输入命令,大概是这个意思:apktool d *
(这里“*”就是那个英文App的文件名)。
回车一敲,屏幕上就开始刷刷刷地跑代码,等了一小会儿,就在APK文件旁边生成了一个同名的文件夹。打开一看,里面就是App的各种资源文件和代码的反编译结果了。
第二步:找到并翻译文本资源
这一步是核心中的核心。安卓App的文字内容,大部分都放在res/values/
目录下的文件里。有些App可能还有或者其他自定义的XML文件也存着文字。
我就直接奔着去了。用Notepad++打开它,嚯,密密麻麻全是英文句子,夹杂着一些<string name="xxxx">English text here</string>
这样的标签。
接下来就是体力活儿了。我把那些>
和</string>
之间的英文,一条一条地复制出来,然后用翻译软件辅助一下,再结合上下文自己润色润色,改成中文。特别注意,那些%s
、%d
、%1$s
之类的占位符可千万不能动,那是程序动态填内容的地方,动了就可能出错了。
有些词儿直译过来很别扭,我还得琢磨怎么说才更符合咱们中国人的语言习惯。比如一个“Settings”,直译是“设置们”,肯定不行,得改成“设置”。这个过程挺费神的,但也挺有意思,像是在给App重新“穿衣服”。
除了,我还检查了其他可能存放文本的XML文件,确保没有遗漏。
第三步:回编译APK
所有文本都翻译替换好之后,保存文件。然后回到命令行,还是在APKTool的目录下,输入命令,大概是这个意思:apktool b a
(这里的“a”就是之前反编译出来的那个文件夹的名字)。
又是刷刷刷一阵代码,如果没啥错误,它就会在原来的文件夹里生成一个dist
目录,里面就躺着一个新生成的APK文件。这个文件就是包含了我们中文翻译的版本了。
第四步:给APK签名
这时候生成的APK还不能直接安装,因为它没有签名,或者说用的是调试签名,手机系统不认。所以得用签名工具给它签个名。
我打开那个小巧的APK签名器,选择刚才回编译生成的APK文件,然后点一下“签名”。很快,一个新的、已签名的APK文件就出来了,一般文件名会带个_signed
之类的标记。
第五步:安装测试
万事俱备,只欠东风!我把这个签好名的APK文件传到手机上,卸载掉原来的英文版(如果有装的话),然后安装我这个汉化版。
安装成功!打开App,映入眼帘的果然是亲切的中文界面。我挨个功能点点看,检查有没有翻译不准确、显示不全或者因为修改导致程序崩溃的地方。
你还别说,大部分地方都挺完美的。有几处因为中文比英文长,导致显示有点挤,或者超出了按钮范围。针对这些问题,我又回到第二步,稍微调整了一下译文,让它更精炼一些,或者干脆在XML布局文件里稍微调整下控件大小(这个就稍微进阶一点了,新手可以先不管)。
如此反复修改、回编译、签名、测试了几次,总算是把这个小工具App完美汉化了。
整个过程下来,虽然有点繁琐,特别是翻译那一步,挺考验耐心。但当我最终在手机上看到自己亲手汉化的App流畅运行时,那种成就感,别提多带劲了!
这种“回归本源”的汉化方式,能让你更清楚地了解一个App的内部结构,知道那些文字是从哪里来的,怎么修改的。虽然现在有很多方便的工具,但偶尔这样手动操作一把,感觉还是挺不一样的。
好了,今天的分享就到这儿。如果你也对某个英文App“看着不爽”,不妨也试试这个法子,自己动手,丰衣足食嘛