Difference between revisions of "Localization and Internationalization"

reverted spam
(reverted spam)
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 20mg, 803095, 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


comment6, http://www.qbn.com/ViagraForSale/634048/ viagra for sale usa, 73876, http://www.qbn.com/Tadacip/634052/ buy tadacip, 643, http://intensedebate.com/people/Phentermine4 phentermine 37.5, twz, http://www.mmorpg.com/profile.cfm/username/BrandCialis buy brand cialis, qpnier, http://www.mmorpg.com/profile.cfm/username/Proventil proventil inhaler,  =[[[,
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 internationalization.  But usually it encompasses both Internationalization and Localization. It is a process which involves design, implementation and localization.
 
== The Importance of Localization ==
Currently, people who want to use computers must first learn English. In a country with low [[w:Literacy|literacy rates]], this blocks access to [[w:Information technology|information and communications technologies]] (ICTs), especially for the rural poor and women who do not have equal access to education. Even after having learnt English, users must pay hundreds of dollars to license foreign software, or resort to widespread illegal copying of software, in order to gain access to ICTs. In short, access to information technology is one of the keys to development, and localized FOSS applications remain a crucial missing link in communications infrastructure.
 
[[w:Localization|Localization]] brings the following benefits:
 
# Significantly reduces the amount of training necessary to empower end-users to use a computer system.
# Facilitates the introduction of computer technology in [[w:Small and medium enterprises|Small and Medium Enterprises]] (SMEs).
# Opens the way for the development of computer systems for a country's national, provincial and district level administration that will allow civil servants to work entirely in the local language and manage databases of local language names and data.
# Facilitates the decentralization of data at provincial and district levels. The same applies to utility companies (electricity, water, telephone), who will develop local language databases, thereby reducing costs and giving better service to citizens.
# Allows citizens to communicate through e-mail in their own language.
# Empowers local software development companies to work for the administration, the public sector and private companies.
# Provides the local design industry with good fonts.
# Helps universities train more software engineers.
 
The beneficiaries of this multi-stakeholder project are:
# Directly, all local computer users, who will have easier access to the use of computers as they will not have to learn English first.
# Indirectly, through improvements in governance using native computer systems, all local citizens in the quality of their dealings with the administration.
# The local government who will have the opportunity to develop databases and applications in the local language. Sufficient technology and empowered local development companies will be available. The government will also have the tool to coordinate applications among similar administrations (e.g., provinces), so that IT-based improvements in governance can be made at the lowest possible cost.
# The [[w:Software industry|software industry]]. The government's use of standards-compliant computer technology encourages software companies to start developing compatible computer systems that will be used by the different bodies of the administration, thereby creating a stable software industry in the country. Once this expertise is developed (using FOSS), these companies will be empowered to undertake similar projects for foreign companies at extremely competitive prices, facilitating sales beyond the local market.
 
Source: http://en.wikibooks.org/wiki/FOSS_Localization/Introduction


==Culturally Biased wrong Assumptions==
==Culturally Biased wrong Assumptions==