Getting your Android app into the hands of an 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 for your app to arrive in local app stores like Niantic had to 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 a .xml format, in something called ‘string files’. Each language has by default, one of these. Users who change the language of an app essentially send a request 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 hosted on the master server and need to be distributed to all copies of an 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 later.
Transporting Android .xml files from your master server to a translation provider can be automated.
Think of this as an encapsulation that solves a huge problem – no more non-developers poking around in your code repositories to make edits to content and messing everything up.
Without using an l10n methodology or third-party provider, you will have to rely on manual labor to get the .xml back and forth, all the while hoping that your marketing or product people can “read code” and actually use a text editor other than Word 97’; – or alternatively, 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 can still 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 technically works. I’ll tell you why translation for apps, translation of SaaS, startups and software in general, is such a pain in the…code.
You have to consider a whole host of 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 to alleviate the Monday scrum.
– Language checks required to make the translation feel both native and cool.
– Both technical and operational continuous integration compatibility
– Finding a translation provider who knows the necessary languages, your industry, and doesn’t cost a fortune
– Actual delivery, negotiations and payments for the translation service
– Finding a way to explain to translators why they shouldn’t translate the Keys in your .xml
– Finding a way to explain to translators what Keys and Strings actually are
– Capabilities to avoid sending the .xml and rather just copy/paste the content, then map it back together?
– How to budget this?
– Human translation? Consideration of incorporating some machine translation tech?
Text United gets all that out of the way. Look at the graph above. 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 reduce the cost because they’re not a translation agency. Once they deliver the translation, I’ll be notified and our Android app will be automatically updated with the latest content.
You can ask Carlos to edit the file there and translate it into Spanish. We should save around $100 by doing some of the translation work ourselves. Cool right? There’s a demo of the website editor interface here that you can check out.
See what I did there? How’s that for keeping the foxes out of the hen house?
And yes, there’s a translation API, too.
Formal Aspects of Android App l10n
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 in to Text United and dump the files inside. If you add your product people as users, they’ll be notified when the translated files are ready and it’s time to pay.