How to translate an Android app?

Android l10n

Getting your Android app into the hands of the international audience requires a deep understanding of three areas: formal, technical and operational. After this 7 minute read you won’t have to keep half the world waiting on your app to arrive in local app stores, unlike Niantic did with its PokemonGo launch.

Technical aspects of Android app l10n

The basic architecture of content is stored in .xml files.

Android content models are stored in .xml format, in what are called string files. Each language has one by default. Users who change the language of your app are making it call for a specific .xml that loads the content inside the mobile platform’s WebView. Think of the WebView as of the app running in full screen to get the gist of it.

Developers can create or edit these .xml files though convenient localization string loading macros provided by Android’s Software Development Kit. It’s safe that way, as content editing does not touch the app’s code.

These .xml files are on the master server and need to be distributed to all instances of your app, to every mobile device, during every update. This distribution can be managed and versioned effectively through the use of systems like GitHub or Bitbucket, but for now, just remember that this option is on the table. We’ll get back to this.

Transporting Android .xml files from your master server to a translation provider can be automated.

Think of this as of encapsulation that solves a huge problem – no more non-developers poking around in your code repositories to make edits on content, that mess everything up.

Without using a l10n methodology or 3rd party provider you will have to rely on manual labour to get the .xml back and forth, hope that your marketing or product people can „read code” and actually use a text editor other than Word 97’; or you could risk giving them repository access and training them with GitHub…or…read on

Operational aspects of Android app l10n

We’ve built Text United as a fence that development moguls can’t pass, yet still can use to do their bidding while you sit back, relax and get back to programming your neural networks (the fun stuff!).

Before I explain how this will technically work I’ll tell you why translation for apps, translation of saas, startups, software in general, is such a pain in the…code.

You have to consider unpredictable variables!

Word lengths that may mess up the UI.
– Typography that often won’t look sexy in different alphabets, let’s say, Japanese.
– Translators missing deadlines planned for the Monday scrum.
– Language checks required to make the translation feel native and cool.
Continuous integration compatibility both technical and operational
– Finding a translation provider who knows languages, your industry, and doesn’t cost a fortune
– Actual delivery, negotiations and payments for the translation service
– A way to explain to translators why they shouldn’t translate the Keys in your .xml
– A way to explain to translators what are Keys and Strings
– Capabilities to maybe avoid sending the .xml and rather just copy/paste the content, then map it back somehow?
– How about a privacy policy and NDA?
– How to budget this?
– Do people translate? Maybe use some machine translation tech?

Headache yet?

Text United gets all that out of the way. Look at the graph. It plugs in straight into your versioning system. You authorize file access to the .xml and presto – you now have a login-protected GUI to give to your product people to handle the translation. Your work is done.

Tell them this:


Log on to this Text United page. Inside there’s a file that you have to translate. Text United will allow you to choose all languages for human translation, set a deadline and automatically decrease the cost because they’re not a translation agency. Once they deliver the translation I’ll be notified and automatically will update our Android app with the latest content.


You can ask Carlos to edit the file there and translate it into Spanish. We should save about a $100 by doing some of the translating by ourselves. Cool right? There’s a demo of the website editor interface here that you can check.

Your programmer

See what I did there? How’s that for keeping the wolves out of the hen house?

And yes, there’s a translation API, too.

Formal aspects of Android app l10n

Consider local policies (can be checked through a Google search) requiring you to have your Terms and Conditions along with Privacy Policy translated.

Consider Android Marketplace content translation requirements. As a rule of thumb if you plan to launch in any country that doesn’t speak English, make sure to translate your content and screenshots. No headache here – just log onto Text United and dump the files inside. If you add your product people as users they’ll be notified when the translation comes in and it’s time to pay.



Written By:

As a marketer by trade and product designer by heart, Blazej focuses on easy inclusion of translation tech in international expansion of businesses.

Add a Comment

Your email address will not be published. Required fields are marked *