According to Google, there are some 57 languages/dialects that are officially supported by stock Android. Of course, since Android is open source, there is nothing to stop a device manufacturer, or cell service provider, or even end user from adding support for new languages/dialects.

Now, just because it is possible, that doesn't mean that it has been done, or at least that it has been done on a scale large enough to make an impact. For example, I would likely not spend my time translating my app for a language that 5 people have manually added to their own devices, however if a manufacturer of devices has decided to add support for an additional language that is now in the hands of some thousands of users, that may be a useful translation to make even though it is not officially supported by the AOSP.

So, is there any way to find this out? Or if not officially, is there any anecdotal evidence out there that this type of thing is going on?

  • I would say CyanogenMod would probably be the best answer for a ROM supporting multiple languages that users can contribute to. Look under "translators" on their changelog, there are 17 languages listed github.com/CyanogenMod/android_vendor_cyanogen/blob/gingerbread/… But in the scope of a developer, I would not bother with the smaller languages. I personally crowd source my languages, so the most popular will certainly get done first (but I have nothing against including other, lesser known languages).
    – Bryan Denny
    Feb 20, 2012 at 19:43
  • @BryanDenny according to that page you linked, the supported languages for CyanogenMod are actually a subset of those supported by Google. I'm looking for the possibility of languages that are NOT on Google's list.
    – Scott W
    Feb 20, 2012 at 20:29
  • @ScottW Yes, but, CM is a compilation of the Android source which means it would (or at least should be) possible to incorporate additional languages. I don't know the exact details because I haven't compiled Android source before, but I would assume it would be similar to developing an app and including a new xml file with all the strings defined in the new language.
    – Bryan Denny
    Feb 21, 2012 at 13:53
  • @BryanDenny yes, it is definitely technically feasible. What I am hoping to discover is whether it has actually been done on any kind of scale that would have an impact on the market. We have been asked to support a specific list of languages, including some that are not on the AOSP list of supported languages. So, I am trying to discover whether there is any real value in supporting languages beyond the AOSP list, or whether it is just a waste of everyone's time and money.
    – Scott W
    Feb 21, 2012 at 14:02

2 Answers 2


From prior experience in building AOSP before, the language strings for all aspects of the system, are stored in xml file, found in the AOSP source framework/base/core/res/res. Inside that directory in the source, there's values-XXX/strings.xml and values-XXX/do-not-translate.xml, where XXX is the ISO country code based on the standard guidelines. This gets built and generated into framework-res.apk found in the ROM's live system under /system/framework.

On an existing ROM, its possible to 'sort of' add translations into it by decompiling it but the effort would not be worth it as the XML data is compiled and "gets lost in translation". I say 'sort of' very loosely, as either the outcome would be it may work or it may not work, but the effort would be big and possibly break existing core Android functionality.

You can most certainly add a language add-on for the keyboards but that's about it.

From the aspect of developers, where localization is concerned, the principle is pretty much the same as in the AOSP source. So if the developer wants to add in French language support, he/she can simply create a values-fr/strings.xml and shove in there, the french translations and so on. Of course, there will be variants such as Canadian French, Swiss French, for example. So their files, would be values-fr-rCA/strings.xml, values-fr-rCH to cite the example.

This is where CM has the most languages support and are in a state-of-flux due to users spotting mis-translations etc.

Only Google provides the core languages - such as Italian, French, German, Spanish, English (both US/UK) to name but a few.


Well, it doesn't really answer my question, but upon further reflection, and without any good information available, we have decided to stick to only the officially supported locale list and to just be careful about how we translate for those locales. For example, we will provide two sets of Spanish translations, ES and US, and will be careful to make the US translations appropriate for the wider Latin American Spanish-speaking audience, rather than being US-specific.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .