Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 關於電腦軟件教程 >> 教你如何讓Android手機外語APP漢化

教你如何讓Android手機外語APP漢化

日期:2017/2/10 15:13:29      編輯:關於電腦軟件教程
首先要了解一下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

Copyright © Windows教程網 All Rights Reserved