綁定帳號登入

Android 台灣中文網

[教程] Android手機系統語言繁化教學

  [複製連結] 查看: 37759|回覆: 56|好評: 15
eric850130 | 收聽TA | 顯示全部樓層 |閱讀模式
發表於 2012-12-10 15:09

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 eric850130 於 2013-8-14 19:53 編輯

     在下最近剛開始接觸語言繁化的部分以下只是把自己的經驗與各位分享,如果有錯誤還請多多指教!!!並且感謝Peier大的從旁協助與教學
現在在市面上有許多Android的手機都有內建多國語系,然而在國外,多國語系裡的中文時常會被定義為簡體中文,或者手機內根本就都沒有支援繁體中文,而雖然在站內有其他大大分享直接把簡體字改成繁體字的軟體,但是卻只是改字體,手機判讀的語言還是簡體中文,而其他還有在手機中安裝區域設定.apk但那也要手機裡有內建繁體中文字庫才有效果
想要完整的繁體中文化,就必須完整編譯出繁體中文字庫給系統

開始進入主題
(1)首先,要繁化手機,必要的操作有
1.手機已經root,並刷非官方的recovery(一定要!!)2.電腦中要安裝jre與jdk(切記!!兩個都要安裝,看到版上其他大大有說要安裝java但是沒有提到要安裝jdk還是jre)
3.電腦中要安裝apktool
4.電腦中要安裝adb工具(可有可無,在下已經測試過安裝與不安裝都能夠將繁化過的系統程式塞回手機)
5.系統程式的odex檔與apk檔已經合併
(2)
當要開始繁化系統程式前,請先從手機裡把system資料夾複製到電腦apktool資料夾裡面



Screenshot_2012-12-10-13-53-20.png

然後開始反編譯,基本上先將framework-res.apk繁化,雖然沒有一定但是先繁framework-res比較好,因為framework-res.apk是整個Android系統的核心,並且先繁化它在塞回手機,系統語言的選項就會出現繁體中文的選項

7.png


在電腦上點選開始並在搜尋欄打cmd進入命令提示字元,並且打上

cd \apktool    (這行會讓根目錄定向到apktool資料夾裡)
apktool d framework-res.apk (d的意思就是反編譯)
當反編譯完成時,在apktool資料夾裡,會出現一個framework-res的資料夾,裡面就是有要編譯的語言檔,進去後會有一個子資料夾叫做res再進去就會看到一大串資料夾,其中找到資料夾結尾是zh-CN的都複製一個並將結尾改成zh-TW,(切記 只要是zh-rCN結尾的都一定要複製一個改為zh-rTW)進去資料夾有三個xml檔>arrays.xml  plurals.xml  strings.xml 其中最主要的語言包是strings.xml 但是其他兩個也都有文字檔要繁化 只要將三個xml檔都繁化就可以了
但是字串這麼多,還沒繁化完大概手都斷了,因此可以用word來繁化,一開始先用edit pad這個軟體開啟xml檔,把整個字串一字不漏地複製並貼上word

2.png

用word內建的簡轉繁來繁化(這算是偷吃步的方法,雖然很快,但是基本用語還是大陸用語,對用語較敏感的人可能要自己一一手動修改)


(3)繁化完後,就可以開始準備打包了


一樣在cmd裡打上


apktool b framework-res


(注意不用附檔名,因為是要打包資料夾)
當程序跑完後,在原本解編譯的framework-res資料夾裡會出現一個dist的資料夾


8.png


裡面就會有繁化過但還沒簽名的framework-res.apk但是由於Android系統程式會認簽名,因此就算這個framework-res.apk簽名完拉回手機手機也不會讀取它(甚至有磚機的可能~~)


將繁化過的framework-res.apk以壓縮程式開啟


5.png

並且將裡面的arsc檔拉出來,然後在打開原廠無改動過的framework-res.apk把arsc檔拉進去覆蓋即可

(4)再來是要怎麼將修改程式拉回手機,有兩種方法

1.使用adb程式
(此方法較適用於已root但沒刷recovery 與需要大量修改程式的使用者)


手機先關機,並且等待5秒後開機進入recovery
連接上傳輸線至電腦
在cmd上打
cd \adb  (如果你的adb.exe是放在c:\adb)
adb shell  (然後會出現# )
mount -a
cp /sdcard/framework-res.apk /system/app/framework-res.apk  (如果你把systemui.apk放在sdcard的根資料夾)
chmod 644 /system/app/framework-res.apk                             (修改權限為三讀一寫)
chown root.root /system/app/framework-res.apk                      (修改使用者與用戶組為root)

拔掉傳輸線重開機即可

2.直接拉回手機修改
(此方法較適用於單獨修改一個軟體及已root但沿用原廠recovery的使用者)


在電腦端將繁化好的程式丟回手機sd卡的根目錄,並拔掉傳輸線,在用R.E管理器進入sd卡,把繁好的程式丟進system資料夾而framework-res.apk就丟回framework資料夾裡(切記 如果是繁化Android的重要核心程式 絕對不能直接就丟system>app裡),在system資料夾裡,將改好程式修改權限與使用者(三讀一寫與使用者root)重新開機即可(一定要重開機才能確認成果)


Screenshot_2012-12-10-13-53-54.png

Screenshot_2012-12-10-13-54-03.png

(5)注意事項


在繁化系統程式時,除了framework-res.apk以外繁化其他系統程式都必須先把framework-res.apk丟到apktool的資料夾裡然後


java -jar apktool.jar if framework-res.apk   


另外在下在繁化時意外發現,圖片庫這個程式不只需要讀到framework-res.apk還需要手機端framework資料夾裡的另一個程式,由於在下是用聯發科晶片的手機來測試繁化,但是基本上都大同小異


java -jar apktool.jar if mediatek-res.apk (裡面的紅字要看各家公司的配置來決定 像是聯發科晶片就是mediatek-res.apk)


還有,所有要繁化的程式在反編譯前就需要先打java -jar apktool.jar if framework-res.apk   這串了,要不然有些程式會出現錯誤訊息


當遇到編譯或反編譯發生錯誤


6.png

像是這樣 就有可能是在修改xml檔時不小心刪到重要程式碼

以上是在下所學到的編譯方式,如有錯誤歡迎指教與討論


「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 34碎鑽 +30 經驗 +1 幫助 +41 技術 +6 收起 理由
web921 + 1 + 1 非常讃
tamego + 1
trapper + 1 + 1 非常讃
邱愛張 + 1 + 1 非常讃
iamernie8199 + 3 + 1 + 5 + 1 太神啦!!!
edyang99 + 1 + 1 非常讚
koy322 + 1 + 1 非常讚
boboidvtw + 1 土豪我們做朋友吧,我非常仰慕你..
gqi025 + 1 + 1 非常讚
q7a4z1w8s5 + 1 非常讚

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

Peter_Ya | 收聽TA | 顯示全部樓層
發表於 2012-12-10 15:16
這對各位相信有非常大的好處
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

aas54432 | 收聽TA | 顯示全部樓層
發表於 2012-12-10 17:50


不過 morelocale 2 好像比較方便@@"

評分

參與人數 1幫助 +1 收起 理由
lim5515 + 1 讚一個!

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

happygo88 | 收聽TA | 顯示全部樓層
發表於 2012-12-10 21:07
新手上路,
先收藏.

感謝分享.
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

daniel199904 | 收聽TA | 顯示全部樓層
發表於 2012-12-10 22:25
由 手機網頁 發佈
可否直接弄個cwm刷機包刷入
這樣比較快

評分

參與人數 1幫助 +1 收起 理由
lim5515 + 1 讚一個!

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

daniel199904 | 收聽TA | 顯示全部樓層
發表於 2012-12-11 17:08
抱歉
問一個問題
我要繁化的ROM連簡體中文都沒有
我可否直接從有中文(繁體)的ROM中的framework-res.apk拿檔案
在編譯

對了
反編譯可否用WinRAR直接弄啊(解壓縮)

評分

參與人數 1幫助 +1 收起 理由
lim5515 + 1 讚一個!

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

 樓主| eric850130 | 收聽TA | 顯示全部樓層
發表於 2012-12-11 17:59

基本上這樣弄死機的風險很高
除非是官方原廠自己出的rom比較安全
非官方的有可能裡面的架構有些許不同
當手機運行到那個缺陷處瞬間就會當機了

由於apk壓縮包是在linux環境壓縮的,在windows下解壓縮在壓縮回去可能會發生錯誤!!

評分

參與人數 1幫助 +1 收起 理由
lim5515 + 1 讚一個!

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

 樓主| eric850130 | 收聽TA | 顯示全部樓層
發表於 2012-12-11 18:03
daniel199904 發表於 2012-12-10 22:25
可否直接弄個cwm刷機包刷入
這樣比較快

當然刷機包絕對會更快 但是前提是有開發者要支援這支手機的語言繁化像很多冷門機種就沒有什麼開發者想繁化它

評分

參與人數 1幫助 +1 收起 理由
lim5515 + 1 讚一個!

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

 樓主| eric850130 | 收聽TA | 顯示全部樓層
發表於 2012-12-11 18:04
aas54432 發表於 2012-12-10 17:50


不過 morelocale 2 好像比較方便@@"

是沒錯 可是當手機裡沒有繁體中文字庫包時
morelocale 2就等於白裝了...

評分

參與人數 2碎鑽 +1 幫助 +2 技術 +1 收起 理由
lim5515 + 1 讚一個!
aas54432 + 1 + 1 + 1 神馬都是浮雲

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

aas54432 | 收聽TA | 顯示全部樓層
發表於 2012-12-11 18:20
eric850130 發表於 2012-12-11 18:04
是沒錯 可是當手機裡沒有繁體中文字庫包時
morelocale 2就等於白裝了...

暈倒 原來 = =

明年想買 日系手機 他可能沒有繁體中文字庫包

感謝提醒 -3-

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則