首页 璞玉游戏攻略 正文

千娇百媚安卓汉化哪个手机版本最给力?比一比就知道怎么选!

大伙儿晚上今天瞎琢磨了一天,总算是把手上一个小玩意儿的汉化给搞定了,过程嘛有点曲折,但结果还行,所以就想着跟大家伙儿唠唠嗑,分享一下我这“千娇百媚安卓汉化”的折腾记录。 起心动念:为啥要干这事儿? 话说回来,为啥要搞汉化?起因也简单。前两天,我淘到一个国外的小众App,功能挺有意思,界面也还算清爽。但这玩意儿,全英文,有些地方用词...

大伙儿晚上今天瞎琢磨了一天,总算是把手上一个小玩意儿的汉化给搞定了,过程嘛有点曲折,但结果还行,所以就想着跟大家伙儿唠唠嗑,分享一下我这“千娇百媚安卓汉化”的折腾记录。

起心动念:为啥要干这事儿?

话说回来,为啥要搞汉化?起因也简单。前两天,我淘到一个国外的小众App,功能挺有意思,界面也还算清爽。但这玩意儿,全英文,有些地方用词还挺绕。我寻思着,这么个好东西,要是能变成中文的,那用起来不就更顺手了嘛而且自己动手丰衣足食,还能学点东西,何乐而不为?于是这个念头一起,就有点收不住了。

准备阶段:磨刀不误砍柴工

干活前,总得先把家伙什备齐了。我以前也零零碎碎接触过一点点,知道大概需要

    小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

  • 一个脑子:这个最重要,不然两眼一抹黑。
  • 一台电脑:这不废话嘛
  • APKTool:这可是个神家伙,反编译、回编译APK全靠它。我特地去下了个最新的,怕旧版有啥坑。
  • 一个好用的文本编辑器:比如Notepad++或者Sublime Text,看代码、改文字都方便,比系统自带的记事本强太多了。
  • 耐心和细心:这个比工具还重要,真的,后面你们就知道了。

对了,还得把那个要汉化的App的APK安装包给弄到手。这个不难,随便找个地方就能下到。

开整!第一步:拆包!

万事俱备,开干!我先把APKTool啥的解压路径里别带中文,这是老经验了,省得后面出幺蛾子。然后打开命令行,定位到APKTool的目录,敲命令:

java -jar * d -f 目标* -o 输出文件夹名

回车一敲,看着命令行里刷刷刷地跑代码,心里还有点小激动。没一会儿,提示成功了。打开那个“输出文件夹名”,嚯,里面的东西可真不少,各种文件夹、smali代码文件,看得我有点眼花。

寻找目标:茫茫人海找文本

接下来就是最关键的一步了——找那些需要翻译的英文字符串。根据我浅薄的经验,这些东西一般都藏在res/values/目录下的文件里。有时候,如果App支持多种语言,还会有values-envalues-fr之类的文件夹。

我一层层点进去,果然在res/values/下面找到了。用我的宝贝Notepad++打开一看,密密麻麻全是这样的格式:

<string name="app_name">Awesome App</string>

<string name="settings_title">Settings</string>

这下目标明确了,就是把这些></string>之间的英文,一句一句给它翻译成咱能看懂的中文。

艰苦卓绝的翻译过程

这绝对是个体力活,也是个细心活。 我就对着屏幕,一行一行地看,一行一行地翻。遇到不确定的词,就打开翻译软件查查,或者结合App的实际界面猜猜意思。这里头有几个坑得注意:

  • 占位符: 有些字符串里有%1$s%d这样的东西,这些是占位符,翻译的时候可千万别给弄丢了,或者改错了,不然程序运行时会出问题。比如 "You have %d new messages",我得翻译成 "您有 %d 条新消息",那个%d得原封不动。
  • HTML标签: 有些字符串里可能还嵌着<b><font color="#FF0000">之类的HTML标签,用来控制文本加粗、变色啥的,这些也得保留。
  • 字符串数组: 有些选项可能是用<string-array>定义的,比如星期几,这个也得对应着翻译。
  • 上下文语境: 有些词在不同地方意思不一样,这就得看它在App里具体是哪个界面的哪个功能,不能想我就是开着手机上原版App,对着界面和代码里的key来回琢磨。

我当时就跟个苦行僧似的,埋头苦干。有时候一个词能纠结半天。最怕的是最怕的是那种硬编码在代码里的字符串!就是说,它不写在里,而是直接写在smali代码里。这种就麻烦了,得去翻smali代码,那玩意儿跟天书似的,我一般看到就头大,尽量不去碰。好在这个App还算规矩,大部分都在xml里。

回编译与签名:让它活过来

吭哧瘪肚翻译了大半天,总算是把里的内容都换成了中文。保存好文件,接下来就是回编译了。还是在命令行里,用APKTool:

java -jar * b 输出文件夹名 -o 新生成的APK名.apk

又是一阵刷刷刷,如果没啥错误提示,一个新的APK文件就躺在目录里了。但是!这个APK还不能直接装! 因为它没签名。安卓系统不认没签名的App。所以还得给它签个名。

签名嘛我用的是一个叫APKSigner的小工具,网上能找到。或者自己生成个密钥库(keystore),然后用Java的jarsigner命令也行。我图省事,直接拖到APKSigner里点一下,它就自动签好了。

激动人心的测试环节

签完名,总算是大功告成了!我赶紧把这个新鲜出炉的汉化版APK传到手机上,卸载掉原来的英文版,然后安装我这个“千娇百媚版”。

屏住呼吸,点击App图标……启动成功!界面出来了!哇!看着那些熟悉的中文,心里那个美!我把App的每个角落都点了一遍,看看有没有翻译错误的地方,有没有因为中文太长导致界面显示不全的地方。果然,发现有几处翻译得不太到位,还有个别地方因为中文比英文长,按钮上的字显示不全了。

没办法,返工! 又回到里,对着那几个地方修改、精简文字。然后再重新回编译、签名、安装、测试……如此反复了几次,总算是把大部分问题都解决了。虽然不敢说完美,但至少用起来是顺眼多了,也亲切多了。

尾声:一点小小的成就感

呼,折腾到总算是把这个实践过程给大伙儿分享完了。整个过程下来,确实挺费神的,尤其是翻译和反复测试那块儿。但当看到App界面变成自己熟悉的中文,那种成就感也是实打实的。这就跟自己动手做个小木工,或者炒个拿手菜一样,虽然累,但心里舒坦。

这回的“千娇百媚安卓汉化”实践,对我来说算是一次挺有意思的经历。以后再遇到啥好用的外文小工具,说不定我还会手痒痒,再来这么一回。好了,今天就先唠到这,希望能给同样爱折腾的朋友们一点点小启发!