Sign in to Windows Live ID

Need for Globalization

Businesses are becoming increasingly global every day. By global, we mean, selling products and services to a global audience. With software becoming an indispensable tool to run businesses, it is an imperative that the software used by businesses also are global in nature to remain competitive in the global arena. Globalization also referred as G11N because of the eleven characters between G and N, in the context of software is the act of making of applications usable in more than one country.

The need to globalize software is crucial because the Internet makes it easy to sell your products across the globe to anyone and most of the people surfing the net today are non-English speaking. By an estimate nearly 70% of surfers by the year 2005 will be non-English speakers.

Retrospectively looking at the penetration of Internet in our own country one can make tentative estimates of what the Indian market will be down the line say in a year or two. Most of the users of software and the Internet will be native language speakers. Given the large cultural and linguistic variation of the country, it is important to globalize software applications so they can be sold in the different states across the country. Already there are many Indic variants of popular software products that are being sold.

Microsoft provides support for many Indic languages through the National Language Support (NLS) API. Until now, Bangla and Malayalam were the two languages that are not supported directly on Windows. The new Windows XP service pack 2 provides support for these two Indic languages. This opens a whole new market to Software vendors.

To develop applications that are world ready you require adequate support for software development and conformance to standards. Window XP is an world-ready operating system as are other applications such as Office and Visual Studio. .NET supports development of world ready applications by supporting standards such as Unicode and providing a host of API to work with international, culture-specific, and linguistic issues.

Software globalization involves two processes known as Internationalization and Localization. The subsequent sections of this article explore these.

Internationalization

Internationalization also referred as I18N because of the eighteen characters between I and N, in the context of software is the act of designing software to handle linguistic and cultural variations to avoid engineering overhead at the time development.

Basically, I18N involves separation of language and cultural information from the program source code. Usually programmers, hardcode string literals, currencies, numbers, calendars and the like. If a program that contains these hardcoded artifacts needs to be sold to people of different country and culture, then the entire source code has to be rewritten to change this hardcoded information. A properly internationalized application does not incur this overhead of changing parameters to suit an audience of different culture and country. Introduction of new standards and practices or changes to existing standards may also raise issues in I18N. For example, the adoption of the common euro currency in Europe affects I18N.

An Internationalized application,

  1. Aggregates information that are language and culture specific into external resource files
  2. Enables the user interface (UI) to display different language and cultural information
  3. Makes sure that all de jure and de facto standards for a country or region is supported
  4. Makes sure the characters to display a language or languages of a country or region are supported

The above four points are not exhaustive but they are the most important and basic requirements for internationalizing an application. In practical terms, it is nothing but writing an application in such a way that string literals, currencies, numbers, calendars and the like are not hardcoded but they are picked up at runtime based on country and region settings of the system or according to the preference of the user.

I18n should be integrated in the design process of the application. The major advantage of internationalizing software is because it assists in localizing software, thereby reducing cost of software and time to market.

Every application consists of a code block and data block. The data block contains culture specific data. This data is used by the code block. The information contained within the data block is always used based on a set of rules. These rules vary from country to country. For example, in the United States currency denominations are prefixed with a Dollar ($) symbol and in Europe the same are prefixed with a Euro (€) symbol. In India we require currency to be prefixed using Rupee (Rs) symbol. Therefore these country or region specific rules could pertain to

  • The data format being used for a language, or the character specifications and encodings
  • Date and Time formatting
  • Numeric and Currency formatting
  • Weights and Measurements
  • Rules to sort words of a particular language

Any internationalized application has to be tested for localizability. Localizability is nothing but preparing an application or an application being ready, for localization.

Localization

Localization also referred as L10N because of the ten characters between L and N, in the context of software is the acts of making an internationalized application conform to rules of specific culture or locale.

A Locale denotes a place geographically, however in software terms locale refers to information pertaining to that place. Table 1-1 shows some of the information that Windows stores as part of a locale.

Locale Data

Locale or Locale Data United States India
Country / Region United States India
Language English Hindi, English, Bengali, Malayalam, Urdu, …
Written Scripts Latin Devanagari, Bengali, Malayalam, Perso-Arabic, …
Direction of Text Left to Right Left to Right, Right to Left
Currency Symbol $ Rs, रु, টা, , …
Long Date Format August 04, 2004 04 August 2004, 04 আগস্ট 04 ഓഗസ്ററ് 2004
Short Date Format 08/04/04 04-08-04
Calendar Gregorian Calendar Gregorian Calendar, ...
Default Paper Size US Letter
(81/2 x 11 ins)
A4
(210 x 297 mm)
Decimal Separator . .
List Separator , ,
Thousands Separator , ,

This table shows some categorized locale information for United States and India. As you can see there are more than one de facto standard based on culture and region that appears on the column representing India.

Note:

For a comprehensive list of NLS data set supported by the NLS API, refer MSDN page.

The process of Localization involves translation of UI elements such as strings used in buttons, labels, text messages etc, online help information, documentation, and inclusion of language specific components such as spell checkers etc. Apart from translation one should use the locale information to format and represent data according to the preferences of a particular culture as denoted by its locale.

In windows environment, to localize an application you provide external resource DLLs from which the resource is loaded into memory at runtime by the application. These resources are then used by the application to provide a localized UI to end user.

 ToolKit
Print this articlePrint E-mail
Save this page Save Forum

 Articles


 Discussion Forum

  Post newthread

Partner Profile | Privacy Statement | Why Passport | Testimonials
This site uses Unicode for non-English characters and uses Open Type fonts.
©2003-2007 Microsoft Corporation. All rights reserved.