分享

软件汉化 去广告教程 从此和E文说拜拜 MOTO XT720/XT711讨论区 折腾手机论...

 沙漠之邹 2012-09-07
闲话少说,本教程力图用最简洁最通俗的语言教会大家汉化软件,不需要你懂JAVA等计算机语言,只要你会用有道、谷歌翻译等工具,你就会汉化!

下面说些做汉化前要知道的东西,现在安卓软件汉化主要分为两种:


一、强制汉化,主要用汉化狂人、AndroidResEdit等工具对resources.arsc文件直接汉化,这种汉化方式虽然容易上手,但也容易出问题。


二、Apktool汉化,相比于第一种更为强大、灵活,不仅可以对语言包进行汉化,还可以添加或精简语言包,汉化过程只对语言包进行修改,这样汉化的软件不容易出现问题。

下面就以第二种汉化方式(APKtool汉化)为例教大家汉化。


汉化前的准备工作

安装JAVA,下载地址:
http://www./zh_CN/ 点击免费下载后安装,安装都用默认的,不需要配置环境变量等,安装完重启。测试JAVA有没有安装成功方法:开始—运行—输入“CMD”回车—输入 java -version (java后有个空格)后按回车键:如果显示结果如下,表示安装成功:


下载工具:所要到的工具我都打包好了
1.rar.apk(4.88 MB, 下载次数: 173)
2.rar.apk (4.78 MB, 下载次数: 191)

记得把后缀.apk去了再解压,注意:论坛的文件下载时可能会乱码,如果乱码,请把下载后的文件名改为1.rar和2.rar再解压。解压后会得到一个APKtool文件夹。里面主要有两个软件:
1、 APKtool(对软件进行解包和打包)
2、 Notepad++ (对语言包进行汉化用)




汉化的过程

简要过程:解包(反编译)软件→对语言包进行汉化→打包(编译)→签名。

详细过程:

安装好JAVA,并把解压得到的APKtool文件夹复制到D盘(记得要是D盘哦,不然里面我做好的”添加中文语言包.bat"批处理会用不了,等以后大家熟练了就可以自己修改了),然后入D:/APKtool文件夹,所有的文件如下图,注意有的文件是隐藏的哦:(教程中所有的图片点击可放大



先安装Notepad++,安装后运行,安下面的图片设置中文:(如果发现运行不了,请下载Microsoft .NET Framework 2.0点我下载

.





下面以汉化BKTaskmanager.apk为例,下载:
把BKTaskmanager.apk下载好放到APKtool文件夹内,先运行“导入framework.bat这步只要运行一次就行了,以后都不用了

再运行反编译.bat 开始解包:



解包完成后会在APKtool文件夹上生成“反编译”和“原程序”文件夹,软件自动把BKTaskmanager.apk移动到了“原程序”文件夹,并且在“反编译”文件夹下生成和BKTaskmanager.apk同名的文件夹。如图:



进入APKtool\反编译\_BKTaskmanager.apk\res 目录,如图:




其中以“values”开关的文件夹都是语言包,如上图一共有11个语言包。我们只要知道两个语言包就可以了,values是代表英文语言包,values-zh-rCN是代表中文语言包,如果是台湾的同胞还要知道一个“values-zh-rTW中文繁体语言包”。从上面的图中可以知道并没有values-zh-rCN中文语言包,所以我们要添加一个中文语言包。同时也可以把别的国家的语言包删除了。(说明一下,系统会根据你手机系统的语言自动选择语言包的)

返回APKtool文件夹,运行“添加中文语言包.bat”之后会在res文件夹下自动添加好了中文的语言包“values-zh-rCN",进入values-zh-rCN文件夹,有两个文件 arrays.xmlstrings.xml。(这两个文件实际是从values文件夹复制过来的)

我们要汉化的就是这两个文件,有的软件可能会没有arrays.xml文件,那样就只汉化strings.xml就可以了。


用Notepad++打开strings.xml,如图



我们只需要把<string name=xxxx>和</string>之前的英文翻译成中文就可以了,如图:



汉化前要注意了,先看看文件格式的格式,如图:



如果默认就是“以UTF-8无BOM格式编码"那就不用管,如果默认是”以ANSI格式编码“那就要点击下面的”转为UTF-8无BOM格式编码

arrays.xml文件的汉化也类似,就是把<item>和</item>之间的英语汉化,如图


汉化后:



汉化完后记得保存。

另外,还有的词可能不在语言包里的,例如你汉化完后打开软件发现还有某些词语还是英文,那么就要用Notepad++搜索出来汉化了,假如(我是说假如哦)你发现有个单词”setting"还没有汉化。那么就在Notepad++里按ctrl+F打开搜索框。定位到如图所示



点全部查找后,下面会出现很多和“setting"有关的词条了,如图:



这么多文件怎么才找到哪个才是要汉化的呢?

能汉化的词条前面都会有一个 const-string v例如const-string v1, "Settings"那么我们只要把Setting改为”设置“保存就可以了
记得前面没有const-string v的不要乱修改哦

有时你会发现有很多条const-string v1, "settings" 不知道要汉化哪一个,这个就要靠感觉去尝试了,一般要汉化的单词都是以大写字母开头的。
===================================================================================

全部汉化完后就保存,再返回APKtool文件夹,运行打包签名.bat ,之后会自动打包你汉化好的文件并新建一个“重编译并签名”的文件夹。同时也把打包好的软件签名移动到“重编译并签名”的文件夹下。



到此,软件的汉化工作就完成了,把软件放到手机上安装运行看看?已经汉化好了吧?不过还有个讨厌的广告是吗?好,下面开始讲去广告教程。








去广告教程

去广告主要有两种方式:

第一种,去除软件联网的权限,这种方法最为简单快捷,但只能针对不需要联网的软件

第二种,修改广告源,去除广告界面。
-----------------------------------------------------------------------------------------------------------------------------------------------

先讲第一种,还是以BKTaskmanager.apk为例

打开APKtool\反编译\_BKTaskmanager.apk文件夹,里面有个用AndroidManifest.xml文件,再用Notepad++打开AndroidManifest.xml,如图:


只要把里面的这一行“ <uses-permission android:name="android.permission.INTERNET" />”删除就可以了,也就是说软件已经没有了联网的权限了,间接的把广告去了。不过这种方法有可能会出现下图的情况:



原来广告的地方会变成上图所示的,所以如果是这样,那就要用到第二种方式了。

用了第一种出现上面的情况再用第二种的记得把<uses-permission android:name="android.permission.INTERNET" />”这句还原。再进行第二种方式。

--------------------------------------------------------------------------------------------------------------------------------------------

第二种方式

1,搜索广告源
广告源有下面几种:
googlesyndication.com
admob.com(目前主要的广告源)
gstatic.com(目前主要的广告源)

我们不确定他用了哪几种,所以我们要一种一种搜索
还是用Notepad++
先搜索
“admob.com” 如图:




搜索到的结果:(注意了,广告源都是一条网址)


找到有网址的那些结果,双击就可以修改了,我这里建议修改时只添加一个数字使网址失效就可以了(修改的越少越不容易出错)。修改好记得保存

再搜索gstatic.com得到:



修改方法一样,添加一个数字让网址失效。

那个广告界面怎么办?先不管。
把上面修改好的文件保存再运行打包签名.bat,然后把签名好的软件复制到手机安装看看



广告没了,连出错的那个提示也没了,这也是为什么我在第一步结束的时候叫大家把<uses-permission android:name="android.permission.INTERNET" />”这句还原的原因。

这个软件的汉化和去广告就到这里了。目前大部分软件都可以用这种方法去广告。

有的时候进行到上面那步了还是会有个广告界面的,那么就要修改广告界面了,还是以上面的软件为例。

用Notepad++搜索 .ads.


找到有layout文件夹的搜索结果,如图



修改后的结果:



保存后打包签名就可以了,总的汉化+去广告教程就到这里了。
===================================================================================

常出现的问题和要注意的地方(整理中,不断更新中。。。)
------------------------------------------------------------------------
1.在解包软件时如果出现下面的情况:


那说明软件的文件名有问题,APKtool识别不了某些文字,只要把软件名改成简单一点的,例如1.apk等就可以了
-----------------------------------------------------------------------------
2.有时候在精简语言包之后,打包软件时发出现如图的情况:



这说明精简的语言包里有一个语句被public.xml定义好了的,但你精简后public.xml找不到了,所以会出错。解决方法:
打开values文件夹下的public.xml文件,看上图,中间XML:后面的数字是747—756,那么我们就找到public.xml文件
中的747—756行,如图:


我们只需要把这十行删除就可以了。删除后保存再打包。
-----------------------------------------------------------------------------



汉化的过程熟能生巧,软件在不断的更新,汉化的方法和遇到的新问题都在不断的变化,本教程不能把你变成高手,因为很多问题是字面说不清楚的,需要要自己不断去探索并寻找解决方法,这样你才能向更高的领域迈进。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多