Localization and Internationalization

Revision as of 00:51, 30 June 2010 by 117.204.96.202 (talk) (Undo revision 9988 by 94.142.134.246 (Talk))

Now the whole earth had one language and few words. And as men migrated from the east, they found a plain in the land of Shinar and settled there. And they said to one another,"Come, let us make bricks, and burn them thoroughly", And they had brick for stone, and bitumen for mortar. Then they said said, "Come, let us build ourselves a city, and a tower with its top in the heavens, and let us make a name for ourselves, lest we be scattered abroad upon the face of the whole earth"

And the Lord came down to see the city and the tower, which the sons of men had built. And the Lord said, "Behold, they are one people, and they have all one language;and this is only the beginning of what they will do; and nothing that they propose to do will now be impossible for them.Come, let us go down, and there confuse their language, that they may not understand one another's speech"...

-Genesis

Introduction

The Software industry started in US,and traditionally software that allows only English input and output has been forced upon global users. This is based on this question from developers: "Why can't they all speak English?". However if a user is given two software products that offer same features, most people would choose one in their native language. Now a days software development centers are concentrated in countries like India, Australia, Mexico and Israel. As software is developed in different parts of world, successful companies believe that it is critical that their software products interact with their users in their native language and local conventions. Monolingual and mono cultural software products are not competitive.

Let us illustrate the problem of monolingual programming practice by an example. Below given is a program to check the valid inputs from a user.

    char c;
    //Get user input
    if((c>='A' && c<='Z') || (c>='a' && c<='z')){
    //Accept the input
    }else{
     //Error Handling
    }

What is the problem with this code? This code is wriiten in the assumption that users are going to input english text and letters are between A to Z. The above code will not work in Danish. Danish alphabet has 3 more letters after Z. This will frustrate Danish users. Now imagine what would happen if a chinese user tried to enter data?

Converting an American software package into a multi-lingual product or "Americanizing" foreign software entails more than translation. A properly localized software package allows the local user to exploit the software's power to do exactly the same things that the original software does for the original user, but according to the local user's own rules and conventions. The local user will not be distracted by imprecise or ambiguous features that can result from inadequate attention to cultural and linguistic differences, nor from the nature of the software and engineering constraints on equipment.

Around the world local conventions exist for number formatting, currency, dates, times, names, addresses, measurement, calendar. Besides local conventions software developer must consider cultural diversity issues related to numbers and colors. In Asian countries white denotes death in general but in western countries it is black. In Latin America death is denoted by purple. In US 13 is considered unlucky, 69 has sexual connotations, and 666 is the sign of the devil. In Hong Kong the number 7 is unlucky, while in India some people consider 7 as lucky number.

Even English is not same across the world. See the following examples:

   US english                      UK english  
    Aluminum                        Aluminium 
    Center                          Centre
    Internationalization            Internationalisation 
    Flavor                          Flavour
    Tire                            Tyre
    Elevator                        Lift
    Hood                            Bonnet
    Mutual Fund                     Unit Trust
    Pavement                        Road
    Sidewalk                        Pavement
    Trunk                           Boot

Mere translation of the strings will not solve the problem. See the following examples.

Here are signs from hotels around the world showing what can happen if you don't have knowledgeable translators:

 Please leave your values at the desk - France
 You are invited to take advantage of the chambermaid- japan
 Ladies are requested not to have children at the bar- Norway

comment5, http://b39.cal.pl/w0Bq673wa buy hydrochlorothiazide 25 mg, jmfwb, http://b39.cal.pl/u4Kh648hk buy lopressor online, 205912, http://live.gnome.org/Dorian%20Zyvox buy zyvox, 503709, http://sciencestage.com/levitra4 acheter levitra generique, 911899, http://sciencestage.com/cialis4 achat cialis 20mg, yzlrm,

comment1, http://www.computer.org/portal/web/tse/forum/-/message_boards/message/2753156 buy antibiotics without prescription, zmoij, http://www.computer.org/portal/web/tse/forum/-/message_boards/message/2734841 where to buy gabapentin, 49063, http://www.qbn.com/Tadacip/634052/ tadacip 20mg, 504, http://videomaker.com/community/forums/profile/ambien buy ambien without rx, 655072, http://videomaker.com/community/forums/profile/valium purchase valium online, pomhnv,

comment6, http://www.computer.org/portal/web/tse/forum/-/message_boards/message/2753156 buy antibiotics without prescription, gjdd, http://www.computer.org/portal/web/tse/forum/-/message_boards/message/2734841 buy gabapentin uk, soin, http://www.qbn.com/Tadacip/634052/ buy tadacip, >:-(((, http://videomaker.com/community/forums/profile/ambien buy ambien without rx, rltca, http://videomaker.com/community/forums/profile/valium purchase valium, =DD,

comment4, http://www.videojug.com/user/pepcid buy pepcid online, lty, http://www.videojug.com/user/lansoprazole buy lansoprazole, frffds, http://www.more.com/user/profile/25700 buy meridia without prescription, 2117, http://wiki.obgyn.net/account/Escitalopram buy escitalopram without prescription, =-PP, http://wiki.obgyn.net/account/Buspirone buspirone, =))),

comment4, http://www.codeplex.com/site/users/view/Female_Viagra female viagra pills, sudcq, http://www.codeplex.com/site/users/view/Avodart buy avodart without prescription,  %-O, http://bham.academia.edu/AzithromycinWithoutPrescription azithromycin without prescription, 04314, http://ru.gravatar.com/sildenafil4 sildenafil over the counter uk, oaoxz, http://en.gravatar.com/soma34 cheap soma online, kwio,

comment4, http://en.kioskea.net/communaute/profil-replica+watches replica watches for sale,  :[[[, http://en.kioskea.net/communaute/profil-breitling+replica+watches cheap breitling replica watches, mddi, http://www.guardian.co.uk/users/Vardenafil vardenafil 20mg tab, ihxel, http://www.threadless.com/profile/1288319/Replica_Handbags replica designer handbags, 052437, http://www.threadless.com/profile/1288326/Replica_Louis_Vuitton_Handbags replica louis vuitton handbags wholesale,  %-[,

comment1, http://videomaker.com/community/forums/profile/reductil reductil 15 mg prices,  %(, http://videomaker.com/community/forums/profile/betnovate buy betnovate scalp application, vwicfp, http://www.formspring.me/Lorazepam buy lorazepam online, 0990, http://www.drawingnow.com/Amoxicillin amoxicillin, 7267, http://www.drawingnow.com/Azithromycin azithromycin, 80056,

comment1, http://students.washington.edu/pnpga/forum/profile.php?id=59 buy reductil slimming pills, 3889, http://www.wirelessrerc.gatech.edu/SOT/sot-wireless-emergency-communication-forum/david-ross-answers-questions-from-the-audience/402014960 buy reductil, >:), http://buyaccutane.blog.igg.com/ buy accutane online canada, >:-))), http://www.airliners.net/profile/zithromax buy zithromax powder, 354907, http://www.airliners.net/profile/doxycycline buy doxycycline canada, dwiwpp,

comment2, http://dvl.mc.maricopa.edu order viagra online, 23475,

comment6, http://www.livevideo.com/Sildenafil4#5512 sildenafil, hvl, http://www.livevideo.com/Sildenafil5#59164 sildenafil tablets 100 mg, udnj, http://www.ad-astra.ro/whoswho/view_profile.php?user_id=2720#10983 cumpara viagra, glebw, http://connect.silive.com/user/tadalafil4/index.html#70501 tadalafil tablets 20 mg, 88518, http://connect.silive.com/user/vardenafil1/index.html#19542 vardenafil hcl 20mg, nvvflv,

comment1, http://www.livevideo.com/Sildenafil4#5512 sildenafil over the counter uk, kkatal, http://www.livevideo.com/Sildenafil5#59164 sildenafil tablets mygra 100, saqsc, http://www.ad-astra.ro/whoswho/view_profile.php?user_id=2720#10983 viagra, 09308, http://connect.silive.com/user/tadalafil4/index.html#70501 tadalafil tablets 10 mg, 0056, http://connect.silive.com/user/vardenafil1/index.html#19542 vardenafil hcl 20mg, 805,

comment3, http://www.livevideo.com/Sildenafil4 sildenafil over the counter, 8P, http://www.livevideo.com/Sildenafil5 sildenafil tablets 100 mg, 8-), http://www.ad-astra.ro/whoswho/view_profile.php?user_id=2720 viagra, vwyqb, http://connect.silive.com/user/tadalafil4/index.html tadalafil tablets 10 mg,  :-PP, http://connect.silive.com/user/vardenafil1/index.html vardenafil 20mg, 361600,

Appendix

ISO codes for languages

Refer http://www.unicode.org/unicode/onlinedat/languages.html

Unicode Ranges

Refer the Unicode charts http://unicode.org/charts/

References

  • Java Internationalization, Andrew Deitsch and David Czarnecki, O'Reilly, First Edition,2001,p 1-15

Related Links

Indian Localization Efforts