教你如何让Android手机外语APP汉化

来源: 本站小编 2015/01/21 10:56

首先要了解一下Android应用的APK文件的结构。细心的同学在日常使用过程中可能会发现,右击apk文件会出现诸如“使用WinRAR打开”的选项。其实,这是因为apk实际就是采用的zip格式对主体文件的一个压缩包。打开压缩包,你会看到apk文件中井然有序的文件及文件夹结构(图1)。

Android手机外语APP汉化的方法

lib:包含了程序运行所需要的库(Linux的库文件是so)。

META-INF:软件如果想安装,必须要签名,这个文件夹便保存了签名的证书。

res:保存了app的控件布局、图片和所需要的资源文件。

AndroidManifest.xml:它决定了app可以运行在什么版本上,调用了哪些函数和app的权限。

classes.dex:app的核心文件,保存了app的大多数代码。

resources.arsc:保存了app的一些字符串资源。

除了前两个,后面四个文件是每个apk所必备的。

另外,汉化有风险,请大家在操作前,一定要做好备份。

【解题方法】

了解了结构,下面就来进行实际操作。不过开始之前要准备一下JAVA环境。Android的大多数程序都是基于JAVA的,所以部署好JRE环境是Android下任何操作的基础。其实很简单,只需要到http://www.java.com按照提示下载安装JRE环境即可。另外准备好一个待汉化的APK文件。

方法一:巧用工具轻松汉化

第一个方法要借助工具AndroidResEdit来完成。启动AndroidResEdit 1.5,直接将APK文件拖入程序界面内,展开res(资源)文件夹,选择Resource.arsc,就会出现右边的一大堆字符串。

此时不要惊慌,点击“文件→导出字典→大写字母开头词条”(图2),这样我们便得到了一个字典文件。

Android手机外语APP汉化的方法

接着打开字典文件,会发现格式均为“字符串|”的形式(图3),我们只需将汉化过的字符串填写在“|”的后面并保存即可。

Android手机外语APP汉化的方法

再次进入AndroidResEdit,按下Ctrl+R快捷键导入字典,字符串的汉化便出现了。

若此时发现有忘记汉化的字符串,可以直接在下面的框中输入翻译并点击汉化即可(图4)。

Android手机外语APP汉化的方法

翻译完成后点击“保存文件”,程序即会自动打包apk文件并签名,为同目录下的“xxxx-汉化签名版.apk”,直接拷贝到Android手机上就可以安装使用啦。

方法二:反编译程序后的汉化

上面的方法虽然简单,不过细心的你会发现有一些字符串没有翻译到。这是因为字符串并不全在Resources.arsc中,还有一部分存在Classes.dex中。Classes.dex本是代码的编译文件,但有些习惯不好的开发者会直接把字符串写在代码中。这时候的汉化,我们就需要Apkdb及UltraEdit(或者Notepad++)来协助了。

安装好Apkdb后,右击apk文件(不能是中文名),选择“使用APKDB反编译”项,弹出窗口后按1并回车(图5),即会在APK文件目录下生成与APK文件同名的目录,这便是APK文件的源代码。

Android手机外语APP汉化的方法

资源文件汉化

打开反编译得到的目录,进入\res\values文件夹,会发现一堆xml文件(图6)。打开其中的Strings.xml,其中都是“<string name="xxxxx">字符串</string>”这样的字符,注意一定要保持<string name="xxxxx">和</string>不变,只翻译中间的字符串(图7)。翻译完成,在res目录下新建values-zh-rCN文件夹,这是告诉系统当系统语言是中文时则使用这个语言文件。
Android手机外语APP汉化的方法

Android手机外语APP汉化的方法

Smali文件汉化

返回根目录,查看AndroidManifest.xml,找到形如“<manifest android:versionCode="13" android:versionName="1.1.2" package="uk.co.opticiancms.wifiprobe"”(图8)的一行,记下Package后面的字符串。然后再回到反编译得到的文件夹中的Smali文件夹,依次进入Package中以“.”为分隔的文件夹,比如本例依次进入uk、co、opticiancms、wifiprobe文件夹。因为只有这个类中的代码才是作者自己编写的,其他修改有可能导致程序错误。

Android手机外语APP汉化的方法

打开一个Smali文件,你会发现你基本什么都看不懂。不要害怕,搜索“const-string”,找到形如“const-string vX”的字串,其后为待汉化的字符串(图9)。翻译时要保持这种格式,不能丢失双引号,仅翻译双引号里的内容就行了。

Android手机外语APP汉化的方法

当汉化完成后,右击文件夹,选择“使用APKDB回编译”,再次按1并回车,程序即会自动编译并在源码目录下生成“已编译-xxxxx”文件夹。只需要将其中的apk文件安装至手机即可享用自己翻译的软件啦。

小提示:

不是所有的字符串都要汉化,一般来说,只有开头为大写字母的字符串才需要汉化。如果后边带有$1、$2之类的符号的文件一般也不需要汉化。

另外,有些不是纯文本,而是图片形式的文字,这需要通过图像软件编辑图像,相对就更复杂点了,这里暂且略去。

本文来自于【系统之家www.xp85.com

猜你喜欢

新闻资讯

装机必备

生活服务

现代都市人很多起床第一件事就是拿手机看最新的新闻资讯,看看今天最新的资讯内容,现在手机上各种新闻客户端有很多,如果今日头条,腾讯新闻,凤凰新闻,网易新闻等。

进入专区

安卓装机必备,一站式必装应用大全,为您精选好用的手机必装应用,自动为您推荐当下热门、好用的软件。安装精品应用更加方便快捷!

  • 必剪app 必剪
  • 饭团看书app 饭团看书
  • 饭团探书app 饭团探书
  • 卡通相机app 卡通相机
  • 盲盒大玩家app 盲盒大玩家
  • 多多计算器安卓版 多多计算器
  • 嘿市app 嘿市
  • 头像空间app 头像空间
进入专区

生活服务分类聚集的大量我们生活中平常用的软件,只要你想得到的基本通通有,欢迎使用!

  • 垃圾分类大师安卓版 垃圾分类大师
  • 标准商标查询安卓版 标准商标查询
  •  医学三基题库安卓版 医学三基题库
  • 天天看港剧安卓版 天天看港剧
  • 趣伴安卓版 趣伴
  • 日本换乘安卓版 日本换乘
  • 蘑菇影视安卓版 蘑菇影视
  • 影院通电影票安卓版 影院通电影票
进入专区

用户评论

全部
//wap教程