[Galaxy S II HD LTE Android Development] xenitu:
Hi, Installing a language to this phone is a little bit painful. Because the language files are not included in the firmware. But it is not impossible. I translated my phone (Both gingerbread and ICS) to Turkish successfully. It is not %100 but it works.

You should remember that in this procedure you will translate almost each application in the /system/app folder. And you should translate framework-res.apk and tw-framework-res apk for full translation. But the framwork-res.apk and the twframework-res.apk are a bit risky. I tried e few times and I end up with a nonbooting phone. So I am not translating them anymore :D.

For the translation, your device must be rooted. The procedure I use is like as follows.

1. I pull all the apks from my phone. Using the command

adb shell
pull /system/app /s2hd_orgapks

You can change /s2hd_orgapks wiht your choice. It creates a folder named hd2orgapks and gets everything in the phones /system/app to this folder.

2. Find a similar phone. I used my fathers (it was my previous phone) Galaxy S2. This device should have a similar version of Android. If you are going to translate for Gingerbread, than this should be Gingerbread, if ICS, than ICS. And use the same code above to pull all the applications (apk) of this device (SGS2 in my situation). Use another folder like sgs2_apks.

Alternatively you can download a similar firmware from sammoblile.com and decompress that firmware for the apks having language files. You should use a program called diskinternals if you are running windows like me.

3. Also pull framework-res.apk and twframework-res.apk from your S2HD.

4. Now google for apktool. Download apktool and and extract them in a folder on your hard drive. And copy framework-res.apk and twframework-res.apk to this folder.

5. Lets say you will translate settings.apk. Copy settings.apk from S2 HD and S2 to the folder of apktool. Rename the settings.apk of S2, lets say settings2.apk

6. Now run the codes below for setting up the environment.

apktool if framework-res.apk
apktool if twframework-res.apk

This should be done only once. But you can run this code as many times as you want. No problem.

7. Decompress settings.apk and settings2.apk

apktool d settings.apk
apktool d settings2.apk

8. Now you should see two folders in your apktool folder named Settings and Settings2. Both will have assets and res folder. Now with in the Settings folder. Move to the res folder. There are several folders. For translation we will use values-xx folders. Now there are some values and values-xx folders. xx represent the language/country code. Now copy values-en-rUS folder and paste it on the same folder. And rename it with the corresponding language you will translate to. In my situation I rename it as values-tr

9. You will see three xml files in this folder (values-tr). arrays.xml, plurals.xml, and strings.xml. Sometimes for different apks only have strings.xml. Depending on the apk. Anyway you also have the same folder and files in the Settings2 folder.

DO NOT JUST COPY THESE FILES FROM SETTINGS2 TO SETTINGS.

Use the strings.xml in Settings2 folder to translate the values of strings.xml (and other xmls) in Settings folder. You can use notepad++, excel or another tool to copy/move the corresponding values. Be careful that the line number of the original strings.xml should not be altered. It must be same.

10. After finishing translation run the code in your apktool folder.

apktool b Settings

11. After the command finishes successfully you have two new folders in Settings folder: build and dist. Move to the build folder and apk folder inside it.

12. Now use 7zip (do not use winrar) open settings.apk located in your apktool folder. Do not extract only open.

13. Copy the resources.arsc file (drag and drop into 7zip window) to the 7zip. Confirm overwrite. And close the 7zip.

14. Copy the modified settings.apk to your phone.

15. On your phone use a file explorer (I use es file manager) to copy the modified settings.apk to your devices /system/app folder. Confirm overwrite.

16. Reboot your phone.

17. Download and install morelocale2 from google play. Select your language from morelocale2.

18. Now open settings. Now you will see the settings in your language.

Make the same changes to the apks you want. And you will have a translated rom in your language.

I have successfully translated the following apks into Turkish language.

CallSettings.apk

Camera.apk

ClockPackage.apk

Contacts.apk

Gallery3D.apk

KT_Cm_ex.apk (Wifi application)

Phone.apk

SecBrowser_KTT.apk

Settings.apk

SettingsProvider.apk

SystemUI.apk

TouchWiz30Launcher.apk