Difference between revisions of "Localization and Internationalization"

m
Protected "Localization and Internationalization": Excessive spamming ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))
m (Protected "Localization and Internationalization": Excessive spamming ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite)))
 
(2 intermediate revisions by 2 users not shown)
Line 5: Line 5:
-[[wikipedia:Genesis|Genesis]]
-[[wikipedia:Genesis|Genesis]]


comment6, http://wiki.obgyn.net/account/Escitalopram escitalopram oxalate tablets, 84889, http://wiki.obgyn.net/account/Buspirone buspirone hcl, 2473, http://live.gnome.org/Dorian%20Zyvox zyvox cost,  :PPP, http://www.feedage.com/users/meridia/ buy meridia no prescription,  333461, http://www.formspring.me/Lorazepam lorazepam 1mg tablets,  %-(,
==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.


comment3, http://transworld.net/author/sibutramine buy sibutramine 15mg,  8-[, http://transworld.net/author/clonazepam buy clonazepam online,  1811, http://www.livevideo.com/BuyCymbalta buy cymbalta cheap,  604, http://bham.academia.edu/AdipexWithoutPrescription order adipex without prescription,  :-(((, http://bham.academia.edu/OnlinePharmacyWithoutaPrescription online pharmacy,  bkvgq,
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?


comment6, http://www.livevideo.com/Sildenafil4 sildenafil,  >:-), http://www.livevideo.com/Sildenafil5 sildenafil tablets offers, sthzs, http://bham.academia.edu/AzithromycinWithoutPrescription purchase azithromycin,  6523, http://www.videojug.com/user/pepcid pepcid,  >:-DD, http://www.videojug.com/user/lansoprazole lansoprazole,  qhy,
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.


comment1, http://wiki.obgyn.net/account/Ephedra buy ephedra online, =-OOO, http://wiki.obgyn.net/account/Phendimetrazine buy phendimetrazine, cvnk, http://gravatar.com/cheapcigarettes4 buy cheap cigarettes, 8]], http://www.stanford.edu/group/voxclara/cgi-bin/?q=content/antibiotics-without-prescription antibiotics without prescription, 8-OO, http://www.stanford.edu/group/voxclara/cgi-bin/?q=content/buy-cheap-birth-control-pills-order-birth-control-pills-online-no-prescription birth control pills,  8O,
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.


comment6, http://connect.silive.com/user/tadalafil4/index.html buy tadalafil 20mg, sqghni, http://connect.silive.com/user/vardenafil1/index.html vardenafil 20mg803095, http://www.feedage.com/users/meridia/ buy generic meridia 15mg,  713175, http://cialissuperactive.tumblr.com/ order cialis super active,  grpmu, http://levitranoprescription.tumblr.com/ levitra no prescription, 647,
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
 
==Customized Localization==
Developing multiple versions of the same software for different languages/cultures is known as Customized Localization. Many companies actually do this and it is very expensive to maintain. Any bug fix, feature addition requires replication of the same among all versions. Then all these versions should be tested independently. Definitely this would be a nightmare.
 
==Internationalization==
This is an alternative to customized localization, where the software is made in such a way that it supports all languages all over the world and same version can be sold anywhere in the world.
 
Internationalization is commonly known as I18N(Eye-Eighteen-En) in software industry.Internationalization begins with I and ends with N , and 18 characters in between.
  "Internationalization is not a feature"-Tom McFarland,HP
 
Usually people wont ask for internationalized softwares, but they expect that the software follows their local conventions correctly.
   
'''Gettext'''
* Get text is the tool which is used for runtime internationalisation.
* Internationalisation is achieved in gettext through the following phases:
## Preparing source code for internationalisation
## Extraction process
## Translation Process
## Compilation of translation
## Retrieval of translation
 
==Localization==
The process of adjusting internationalized software to a particular locale is called localization.A common acronym for this term is L10N(10 characters in between L and N). You can think of software internationalization as a prerequisite for localization.
The product is first localized for the market where the software is developed. Through localization, you are creating versions of the softwares without modifying source code or binary. This is achieved through externalization of text messages and locale specific images/bitmaps. People working on localization changes these texts/images according to their local language/conventions.
A very simple example is given below in java(Technical details skipped for simplicity).
 
  public class HelloWorld{
    public static void main(String args[]){
        System.out.println("Hello world")
    }
  }
output: Hello world
In the above code "Hello world" is hard coded. We need to externalize that string for localizing the application. Now see the internationalized code:
  import java.util.*;
  public class HelloWorld{
    public static void main(String args[]){
        ResourceBundle resources;
        try{
          resources=ResourceBundle.getBundle("messages");
          System.out.println(resources.getString("Hello world"));
        }catch(MissingResourceException e){
        //error handling code..
        }
    }
  }
And the resourcebundle messages_ml(ml is the ISO language code for Malayalam) contains the following text:
 
Hello world=ലോകമേ നമസ്കാരം
 
Now the output changes to
 
ലോകമേ നമസ്കാരം
 
 
==Globalization==
The term globalization (G11N) is often used synonymously with internationalizationBut usually it encompasses both Internationalization and Localization. It is a process which involves design, implementation and localization.


== The Importance of Localization ==
== The Importance of Localization ==