Localization how-to’s

I’ve gathered couple of good recent how-to’s and blog posts related localization. These are not in any particular order.

Dynamic localization in Silverlight

Dynamic localization is hot topic right now. Recommended reading for Silverlight fans.

jQuery Globalization Plug-in from Microsoft

Great to see Microsoft entering jQuery game as well. This useful plug-in will provide all the necessary data for creating truly global site.  If interested, check also our post regarding CLDR project.

Android localization for beginners

Brief introduction to Android localization. Looks quite simple. (See also our Android market report)

String Localization in C#

Old but still great tutorial how to localize C# software.

Tutorial: iPhone Localization in Xib (Nib) Files
iPhone Tutorial (Part 2): Localizing your iPhone application

Good articles about iPhone localization (see also our iPhone market report).

Localization in JavaScript

Great library to localize JavaScript. We really love this approach so we also added our support.

Lots of Symbian related localization articles

Forum Nokia Wiki contains a lot of localization articles and help regarding Nokia platforms.

How to Localize a World Cup Application

World Cup is here with a plethora of World Cup applications (see here for instance: http://www.symbian-guru.com/welcome/2010/06/symbian-gurus-ultimate-guide-to-the-2010-fifa-worldcup-on-symbian.html or here http://mashable.com/2010/06/10/world-cup-android-apps/). If you would like to global with your application what would you need to take into account? There are 32 countries in the competition and couple of hot favourites to unseat the reigning champion Italy (in the absence of Finnish team also my long time favourite).

Country Languages Comment
Australia English Sorry mate, this is the World Cup not the Ashes
Japan Japanese
Korea DPR Korean
Korea Republic Korean
Algeria Arabic Yes, right-to-left writing is supported too
Cameroon French, English
Côte d’Ivoire French
Ghana English
Nigeria English, (Hausa, Igbo, Yoruba)
South Africa Afrikaans
English (South African English)
Southern Ndebele
Northern Sotho
Southern Sotho
Host country with 11 official languages.
Honduras Spanish
Mexico Spanish
United States English
Argentina Spanish Two words: Lionel Messi
Brazil Portuguese You have 5 already
Chile Spanish
Paraguay Spanish
Uruguay Spanish Stop it, I know what you are thinking
New Zealand English
Denmark Danish
England English
France French What is “handled the ball” in French?
Germany German Whatever you do: avoid the penalties
Greece Greek
Italy Italian
Netherlands Dutch
Portugal Portuguese
Serbia Serbian
Slovakia Slovak
Slovenia Slovene
Spain Spanish Number one favourite
Switzerland Italian, French, German, Romansh

So what if you had a simple web service going live July 11th congratulating the new World Cup winners? How would you make sure that visitor will see the greeting in their own language? By crowdsourcing you your localization of course. See the example project at: http://www.getlocalization.com/WeAreTheChampions

By the way, if you really want to build an app like this go on and sign up to our free beta.

Simple Python command-line client for Get Localization

GLToolkit is very trivial command-line client that gives you opportunity to download/upload localization files from command-line. This is especially useful when you integrate e.g. uploading of master strings with your build/SCM commit process. This means that you’ve always up-to-date master strings in Get Localization server.


Download installation file from Google Code

Additionally you can checkout gltoolkit project from Google Code with this command:

hg clone https://gltoolkit.googlecode.com/hg/ gltoolkit


Upload your project master strings:

pygl.py upload localizationfile.po project-name master [component-name] --username=gluser --password=glpass

Upload specific language files:

pygl.py upload localizationfile_fr.po project-name fr [component-name] --username=gluser --password=glpass
(replace fr with any IANA code)

Download language files:
pygl.py get project-name fr --username=gluser --password=glpass
(replace fr with any IANA code)

Localizing Android applications

Android is currently fastest growing mobile OS. There’s no official numbers of Android geographical distribution but AdMob has released their monthly mobile metrics report with data of Android and iPhone device usage by country. We’ve discussed of iPhone localization in our previous post with older AdMob data so we will update that based on this data as well. However this post is now concentrating on Android.

Android geographical distribution

As we are localization blog, we are interested whether you need to localize your Android applications or not. So lets start by looking the geographical distribution.

Please Note that this data is based on AdMob report that is only measuring how many devices are making requests in their ad network. Due to the fact that AdMob ads are mostly shown in US websites this data is for sure skewed towards US. However I believe the data can give us a good direction.

As expected, United States and China are the biggest countries. Following United Kingdom and France. Distribution is not that highly fragmented as for example on iPhone and Symbian. With just English you can roughly reach 80% of the whole market.  Based on AdMob data, this would mean only 2M+ Android devices you don’t reach. It’s not that much if you also consider how many are willing to install or purchase apps (or even can because of platform fragmentation).

So I guess there’s no need to localize?

Well it depends how you look into this. Android is growing really fast and in coming years especially in Europe and Asia. With localization you can quite easily buy some fan base for your application in those countries. For now, it’s not about growing your market but basically providing good quality apps for your customers in hope of bigger market in the future.

Of course, in case you are Chinese or European developer make sure your app is available in English.

As being said, market is changing rapidly so we will follow these developments closely in the future here in Get Localization Blog as well.