do forum mình còn rất nhiều anh em còn lạ lẩm với món này nên mình post bài này mong là sẻ có ích cho anh em trong việc add thêm ngôn ngữ việt nam vào ĐT android, do làm 1 bài hướng dẫn mất khá nhiều thời gian mình kham không nổi nên mình mượn tạm 1 bài (sưu tầm)mà mình thấy cũng rất chi tiết và đầy đủ cho anh em tham khảo làm nhé
Bắt đầu:
I - Công cụ cần có:
1. java JDK Java SE Development Kit 7 - Downloads | Oracle Technology Network | Oracle
2. Apktool 1.5 có sẵn if và file Command Prompt.bat gõ lệnh apktool_1.5.1
3. ADB command tool Download Taxi.com - Downloading adb - adb.rar
4. Notepad++ hoặc Ultra edit. Notepad++ v6.2.3
5. Driver đầy đủ kết nối trơn tru với điện thoại.
6. Dịch tự động Dichtudong_tedofu
II- Với máy điện thoại
1. Android đã Root luôn bật chế độ usb debuging
2. Đã cài phần mềm Root Explore + Allow (grant) super user
III- Chuẩn bị file apk để làm việc
1. Cắm máy chế độ usb debuging
2. Bật Adb.bat gõ từng dòng lệnh rồi enter
adb devices
adb pull /system/framework framework
adb pull /system/app app
Sẽ có 2 thư mục framework+app -> muốn full tv thì dịch hầu như hết các apk. Còn muốn tiếng Việt đủ dùng chúng ta cần dịch các apk sau: framework.res, twframework-res, settings, systemUI, launcher, phone, contacts,
3. Đăng ký resource ->quan trọng chỉ if file apk có trong thư mục framework chứ ko if file trong app.
+ Vào thư mục framework thấy file nào có đuôi apk-> copy hết vào thư mục apktool
Chạy Command Prompt.bat lệnh chung là:
apktool if ***.apk
với ***= tên từng file apk rồi. (trong bộ apktool sẵn có file bat để if rồi)
VD:
apktool if framework-res.apk
apktool if twframework-res.apk
apktool if lge-res.apk
apktool if miui-res.apk
IV- Tiến hành.
1. Decode (xả)
apktool d ***.apk
=> Sẽ được folder tên giống như apk vậy khác là ko có đuôi apk thôi.
apktool d framework-res.apk
-> được folder framework-res ->
+ Để có “Tiếng Việt” trong cài đặt ta tiến hành add tv vào file framework-res.apk
2. Dịch xml
Mục đích chính là dịch các dòng màu đen trong cấu trúc xml như ví dụ dưới đây.
<string name="app_name">Message</string>
<string name="no_title">No title</string>
<string name="exceeded_memory_title">Memory full</string>
Sau khi dịch
<string name="app_name">Nhắn tin</string>
<string name="no_title">Không có tiêu đề</string>
<string name="exceeded_memory_title">Bộ nhớ đầy</string>
Có nhiều cách để bạn dịch xml ta sử dụng công cụ hỗ trợ APK TRÁNS WIZARD
Các bạn cần có bộ từ điển cho nó.
Cách rút từ điển dịch tự động (XEM Ở ĐÂY)
Sau khi các bạn Rút được từ điển csv hãy dùng nó để dịch các apk từ điển phải có tên DictionaryEnVi.csv mới load được. Trong bộ trên đã có sẵn bộ từ điển nho nhỏ giúp các bạn trải nghiệm
Ví dụ dịch LGBrowser.apk
a) Sau khi Decode = apktool -> folder LGBrowser
b) Cắt nó cho vào folder Apk Translation Wizard/ projects/
c) Làm theo hình dưới từ số 1 đến 4. (chọn Dict->load Dict->Read XML->Translate)
+ Quá trình dịch rất nhanh, nếu còn phần màu vàng ở phần dịch bên dưới các bạn xem chữ ở Original rồi dịch sang bên Translated. Copy paste dịch google cũng được.
+ Dịch thêm xong nhấn nút Add Translation lưu vào từ điển cho đỡ phí công dịch thêm.
d) Tắt chương trình đi rồi làm lại từ 1-5
Kiểm tra xem Write XML đã thành công chưa ta vào thư mục
projects/tên_apk/res/values-vi-rVN (với framework-res)
hoặc values-vi (app khác)
Mở xml = notepad++ xem thử ->dịch thêm cho full thì làm luôn trên notepad++
3. So sánh chỉnh sửa file string.xml
Dùng plugin compare trong notepad++ (xem bài này) hoặc phần mềm so nào đó như “Compare it” để so xml gốc (trong values) với xml đã dịch (trong values-vi hoặc values-vi-rVN)
Mẹo: Notepad++ > Plugin> Compare > Chỉ tích ở Inogre Spacing và Detect moves
Không so sánh file string.xml có dung lượng lớn bằng plugin compare vì dễ bị treo notepad++.
Lưu ý quan trọng:
+ Khi dịch bằng Apk Translation Wizard các dòng sẽ lệch nhau nên phải chỉnh cho giống với gốc.
<string name="duplicate_file_name_confirm">"\"%1$s\" The file already exists.
Do you want to overwrite the existing?"</string>
thì dịch cũng phải nằm ở 2 dòng như thế và chú ý có ngoặc kép:
<string name="duplicate_file_name_confirm">"\"%1$s\" Tệp đã tồn tại.
Bạn có muốn ghi đè lên không?"</string>
Cuối cùng mở file xml = Microsoft Word để xem còn lỗi gì không nhé.
4. Compile (Đóng gói):
Đưa folder hoàn thành ở bước 2 trở về folder apktool. Lệnh compile chung là
apktool b ***
(*** là tên thư mục mà ta đã xả ở bước 1 nhé)
- Nếu trôi chảy sẽ thấy dòng cuối cùng: Building apk file…
- Mở file apk gốc bằng 7zip hoặc winrar
- Sau đó vào thư mục apktool/***/build/apk/ kéo file resource.arsc thay thế nó.
Apktool báo rất rõ nên các bạn chú ý vào dòng log build mà tìm dòng lỗi.
5. Đưa file trở lại phone
- Copy file apk đã thay resource ở trên -> thẻ nhớ hoặc bộ nhớ trong
- Thao tác bằng cách giữ tay 1 lát vào file apk
- Mở root explore -> vào thẻ nhớ -> copy apk vào /system/ (nếu không paste được thì nhấn Mount R/W trên cùng bên phải -> R/O)
+ Chọn Permission -> đánh dấu rồi OK
+ Move vào thư mục framework hoặc app tùy theo apk nhé -> có hỏi replace thì yes
- Nhấn nút nguồn reboot ngay để tránh FC và hưởng thụ thành quả của mình.
chúc anh em thành công