My open source (GNU-GPLv3) Android application has internationalization done the Android way, with strings.xml files.

The community has many people from many countries, and they are willing to contribute/improve translations using a collaborative website.

There is Launchpad but it only supports the gettext format so we would have to use scripts, not very convenient.

What website is convenient for translating open source Android applications? Anybody must be able to start contributing without any sort of prior approval.

Ideally open source, preferably free for open source projects.


Not being a developer, I can only speak from a "translation helper's point of view". I helped on some Android app projects using the Crowdin platform, and found it quite useful:

  • free for open-source projects
  • requires an account on both ends (app dev and developers)
  • possibility to notify "committed translators" (who "joined" your project) of a new version / work to be done
  • web interface to do the work (so translators only need a web-browser)
  • relatively comfortable to work with (for translators; again, I cannot speak for the developer's point of view)
  • Supports XML and many other formats

I don't remember anymore if "new translators" need to be approved (or even invited) by the project owner.

Testing Interface
Screenshots (source: Crowdin; click images for larger variants)

It even gives all participants the possibility to keep track of the progress. For the developer, this can give a clue concerning which languages to point out as "fully supported" in the app description. Further, "members" can rate the quality of translations, thus making it easier for the dev to pick the right of multiple variants.

Translation progress Proof-Reading and voting
Translation progress, Quality ensurance (source: Crowdin; click images for larger variants)

If you want to see more details on what's offered/included and how it works, you might wish to visit their introductionary tour.


Another simple to use and currently free solution is available here: Translations

The advantage of this solution is that you can create screenshots using a desktop program. This desktop program can also automatically find and mark the translatable text in the screenshots. This way the screenshots will be displayed when the translators translate your app:

A single translation

So the translator immediately knows the context in which the translation is used. Up to five screenshots can be displayed for each translation, which is useful if the same text is used in multiple screens.

For the translator it is easier to type on a desktop computer than on a phone. Using this website the translator can simply enter the translation into the text field and then press the TAB key to jump to the next text field. In this moment, the translation is automatically saved.

First the needed translations are displayed and afterward the finished ones. So the translator just needs to enter translations and press TAB until he hits a finished translation. You can try it yourself using an example project here: Example Project

Only the project admin needs to sign up (here). The translators will just get a link that contains everything (the project, the language and their authentication).

Additional features are

  • Buttons to change the sort order of the translations
  • A search field to show only phrases and translations with a certain text
  • Support for simple strings, string arrays and plurals.

The website is clean and simple but was developed together with some translators that are satisfied and like it this way.

I am still working on further developing this website, which is why it is marked as beta. However I have already used it for a project and it worked fine.


There is a much more convenient tool than a website Nativer mobile app designed for exactly what you want: Android app community localization. It’s a full translation environment running as an Android app.

If your Android app internationalization was done the Android way, all you have to do is to build the Nativer SDK into your app. Through the SDK, Nativer app provides an interface for translators to edit the language resource strings.

Translators can immediately check the translation as they can switch between the translation screen of Nativer app and the target app.

  • free for open source projects
  • Android app to do the translation
  • in context translation
  • easy registration for translators
  • supports any language as long as Android supports character set

Nativer SDK info and registration here.

Target app before translation Strings of target app in Nativer Selecting from existing translations Translation result on target app screen

  • Interesting approach! If I understand well, I go to a screen in my app, then switch to your app and I will be able to see all strings of that screen? Am I right? – Nicolas Raoul Mar 12 '14 at 6:27
  • My app is GNU-GPL so I can not include any proprietary parts in it (not even for libraries). This means I can distribute Nativer-enabled versions of my app to translators only if the Nativer embedded library is open source itself. Is it? (only the part embedded in my app, the real Nativer app itself can be proprietary) – Nicolas Raoul Mar 12 '14 at 6:36
  • You right. The SDK - which is trying to be minimal in functionality - enables us the manipulate the language resources. You can set at integration time on which language the SDK does nothing (maybe already translated languages), all the other case the SDK looks for new lanugages resources. These resources can be build and added with our Nativer app - as you see on the screenshots. On the open source licencing piece - let me come back later I need to check this. – Petervi Mar 12 '14 at 15:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.