[Android Software/Hacking General [Developers Only]] SifJar:
OK, so I'm done with translating this I am afraid. The translation of the .smali files is just far too long and laborious a process, especially when I don't really want the launcher that badly. I was doing this more as an experience building exercise, sort to "see if I could", and I now know that I could but it would be a lot of effort. :p Anyway, as promised, here is a tutorial for translating the .smali files, and hence the rest of the launcher.

EDIT: This method is slightly more difficult and laborious than necessary. See my post on the next page for a simpler method which encompasses steps 9+10.

Requirements

Android SDK installed

apktool - https://code.google.com/p/android-apktool/

grep - http://gnuwin32.sourceforge.net/packages/grep.htm

Decent text editor e.g. Notepad++

A few sites linked below

The latest copy of my partial translation (see above)

Guide

1. Setup apktool and grep properly so you can run them from the command line anywhere you want.

2. Open a command line where you have the APK of the launcher.

3. Run this command:

apktool d nine_latitude_3d.apk

4. Navigate into the nine_latitude_3d.apk folder created

5. Navigate into the smali folder inside that one

6. Open a command prompt and use the following command:

grep string *.smali > results.txt

7. Open results.txt in Notepad++. This file will show you which .smali files contain strings, and what those strings are. You're interested in ones which look like this:

const-string v1, "\u6b63\u5728\u4e0b\u8f7d,\u8bf7\u7a0d\u540e..."

8. Open the .smali file containing the first string you found, then use Ctrl+F to find that first string

9. Now you need to convert that string into Chinese. Each Chinese character is represented by a hexadecimal number, seperated by \u. So in the above example, the first character is the hexadecimal number 0x6b63 [0x just indicates this is a hex number, you can ignore this, I just put it there to be more "correct"]. To convert to Chinese, you need the number in decimal. You can convert between hex and decimal here: http://www.statman.info/conversions/hexadecimal.html - copy the hex number into the box and click "to decimal". In this example, it is 27491.

10. You can convert from decimal to Chinese character here: http://www.chinese-tools.com/tools/converter-unichar.html - you need to put &# before each decimal number and ; after each. You can convert more than one at a time. So for my above example string, I would convert each number to decimal and end up with this:

&# 27491;&# 22312;&# 19979;&# 36733,&# 35831;&# 31245;&# 21518

but without the spaces (if I don't put the spaces, the forum automatically converts them to Chinese

(note that when there is a comma between characters, a semi-colon is not necessary)

11. This will give you a Chinese string such as the following:

正在下载,请稍后

Translate this with Google Translate or whatever to get something like this:

Downloading, please wait

12. Back in your .smali file replace the string, so the end result would be something like this:

const-string v1, "Downloading, please wait..."

13. Repeat steps 8-12 for every string found in the first .smali file

14. Repeat steps 8-13 for every .smali file where a string was found

15. Navigate into the first sub folder of the smali folder ("a") and repeat steps 6-14, translating every string

16. Do the same for all the other sub folders of the smali folder

17. Once you have translated every string in every smali file, navigate back out of the smali folder and then back out of the nine_latitude_3d folder

18. Open a command window and type the following:

apktool b nine_latitude_3d nine_latitude_eng.apk

19. Sign nine_latitude_eng.apk

20. Test the APK and hope it works

Like I said, it is very laborious. Considering there are probably at least a few hundred strings, and each takes maybe a minute or two (compared to the strings in the XMLs in \res\layout, which took a few seconds each), it would take many hours to complete the translation.