The biggest hurdle in writing mobile applications for Asian markets, in particular, is providing multi-lingual support. From hunting down people for translations to acquiring phones that actually support a big, diverse set of languages in common use in Asian countries, it is an all-round big challenge for mobile application developers. It is almost frustrating to the point of throwing in the towel, but if you want to tap into the markets, making headway, especially since Asian markets tend to be more competitive than any others, you have to persist and expend serious effort. There is also no question of demonstrating your product in English to potential customers in Asian markets — they would always want the product translated into whichever language they speak and read, and if you do give a demo of the English version of your product, by the time you have a localised version ready to market and sell, some smart aleck would already have bootlegged your idea, developed a localised version and sold it. That alone is a troublesome drawback when marketing your products to Asian markets. Therefore, as a rule of thumb when diving into Asian markets: Have a localised version of your product ready and fully tested before going in.
I am falling off on a tangent. I wanted to talk about multi-lingual support on the Symbian emulator. The symbian emulator by default is in English. For testing and debugging a multi-lingual application, you would naturally want the emulator to be converted into whichever language you are testing your application on. Once inside the emulator, you will find that there is support to change the writing language to any from a large set of languages available. However, if you do that, you would notice that the emulator crashes with a panic. This happened when I tried to switch writing language to Chinese. I cannot say if the panic is reproducible for other languages as well.
Even if you can change the writing language to any language that works well on the emulator, it isn’t sufficient. In order to test multi-lingual applications, you have to convert the emulator to look and work exactly how a mobile phone would for someone who can only understand, say, Chinese. How do you do that? If you look under Program Files > S60 Developer Tools > 3rd Edition SDK > 1.1 MR > Languages, you will see few links to languages to which you can switch the emulator. Unfortunately, clicking on any does nothing. It is possible the options are fixed in recent releases of the SDK. But if they are broken on yours, here is a way to change the language of the emulator.
You must have javaw.exe in your system PATH. If not, you will have to explicitly give out the complete absolute path to the javaw.exe binary. On the windows command shell, jump to the \Epoch32\tools\ecmt\ directory (which can be found inside where ever you’ve installed the SDK on your system), and run the following command:
C:\Symbian\9.1\S60_3rd_MR\Epoc32\tools\ecmt>javaw -classpath unzip.jar;plugins/general.jar;lib/log4j-1.2.8.jar -Dsource=language -Ddestination=..\..\.. -Dlanguage=en_us -Dplatform=winscw com.nokia.epdt.zip.ZipManager
C:\Symbian\91.\S60_3rd_MR\ is where I have the Symbian SDK installed on my system. I also have javaw in my PATH, thus eliminating the need to put down the absolute path to the binary.
Pay close attention to the -Dlanguage=en_us argument. This is the value you have to change to suit your requirement. If, for example, you have to switch the emulator to Chinese language, you will have to change “en_us” to “zh_cn“.
Look inside the \Epoch32\tools\ecmt\language for information on which language packs come with the SDK by default.
Always remember to change the language back to English after you are done with testing your localised application.
Before I close this off, I would like to give credit to this post on Nokia Developer Forums from where I picked this solution.