Translating App

This article will cover on how to translate (or modify app strings) any android app project into any language in just one click.

Understanding

All strings are saved and retrieved by Apk from resvaluesstrings.xml upon runtime. So translating an app means actually changing their values.

We reverse engineers faced a lot of trouble while porting a china based ROM (right). One of the tedious job in that is to translate a Chinese language based app into our native English language (or any other).

I’ve seen these issue when hooking themes.apk in 360 OS ported for my device (MY GOD, I didn’t even understand a single word in that app). I remember that day when I manually convert strings into English language, it was still a tedious job since there were almost more than 200 strings.

Since, I don’t want to manually convert it again in future I implemented auto translate feature in ADK itself.

Working Through

  • In ADK, load you Android App project which you want to translate or create a new one.
  • Now from there go to Project > Edit Translation. You will get something like below.

This is an example of a China app which I want to translate into English. Also note, you can also change individual values by double-clicking them.

With the Save button (above left) you can save the values to the xml.

With the Save as button (above left) you can export these changes to a new file (original file will remain untouched).

  • Now coming to main part, I want to translate this into English language, seems pretty time consuming when done manually. So lets fo some auto task.
  • In above right corner you will an icon of translate. Click it an you will get a new window like below

  • Here you’ve to select the original language in which the above strings are written (in my case Chinese). Then select the language in which you want to translate (English in my case).
  • Once done, hit Apply button and wait for the action to be completed. You will see some output like below.

  • Seen, all strings been easily translated. You can use this tool on any language string the thing is you must know in what language the string is written. If you still didn’t have any glimpse about that just go to Google translate and auto detect that language.
  • One important thing, this whole process needs internet connection. Without which all strings would be remain same.
  • Once you get output like above, hit Save button at top (You will get a message like “Values Updated”). This will ensure that all strings are saved.
  • In any case if the strings are not properly translated, ADK will copy the original value there.

 

Leave a comment

Design a site like this with WordPress.com
Get started