LISA Home page [© 2010 • ISSN 1420-3693 • www.localization.org]
© 2010 SMP Marketing • ISSN 1420-3693 • www.localization.org

In this issue…


Piecing the Puzzle
Internationalization, Localization and Globalization

Anne Chudobiak

In this article, written during an internship at Pretty Objects Computer Inc., Anne Chudobiak provides a handy overview of many of the issues that need to be tackled in producing localizable and localized products, plus a glossary of basic industry terms.


Software publishers cannot afford to ignore the burgeoning potential of foreign markets. The expansion of the Asian, Latin American, Arabic and Indian markets goes hand in hand with a growing demand for multilingual and multicultural applications. This widening of scope has led to new practices in product development and, as a result, to new terminology. Notably, internationalization, localization and globalization, terms referring to different steps in the creation of world-ready products, have become buzzwords. Often used, less rarely defined, these terms can be confusing. How exactly do they fit together and what connection do they have to translation?

Internationalization

Internationalization precedes localization in the globalization process. Essentially, internationalization is the art of engineering culturally and technically neutral software. [1] This process ensures that software developed in one language for one locale has cross-market potential. For example, an internationalized product developed in American English is equipped to deal with any number of linguistic, cultural, or technical issues that localization into other languages or dialects may raise. [2]

Internationalized software is generic in terms of code, text and design, as well as flexible in architecture. Developers separate text and design elements (elements that can be customized to meet the varying needs of target markets) from source code, and store it in accessible resource files. [3]

Since the expectations of different markets are in no way limited to language, internationalization entails more than making text available for translation. [4] A product that reads in another language but "feels" like English has been poorly internationalized. [5]

This process is best understood by looking at the aspects of code that can and should be internationalized to better accommodate foreign markets.

Scripts

Internationalized software supports encoding of the world's major scripts, the Cyrillic alphabet, Chinese characters, the Latin alphabet, etc. This requirement is not as straightforward as it seems. A lot of early applications were developed using ASCII (American Standard Code for Information Interchange), a code that could only handle a limited number of languages. [6] A truly international code allows for the multi-byte characters of Asian languages, the bi-directionality of Arabic and the accented characters of Polish, French, Spanish, etc. [7]

Word length

Word length varies greatly from one language to another. In general, words are shorter in English and code must provide for longer translations. [4] An "ADD" button should be elastic enough to accommodate a longer equivalent (for example, the French "AJOUTER").

Dates, time, numbers and currency formats

Dates, time, numbers and currency formats are not hard-coded in internationalized software. [4] Such information is either stored in a resource file for future localization or is, by default, provided by the end user's operating system.

Why? The Gregorian calendar, for instance, although widely used in the West, is not followed by everyone. [8] Date formats also vary from place to place: 11/5/99 means November 5, 1999 in the United States but May 11 elsewhere; in Japan, the year precedes the month and the day.

World-ready applications use the internationally understood 24-hour clock: 14:00 rather than 2 p.m. [9]

Numbers, also subject to cultural differences, can not be hard-coded. The symbol used to represent the decimal differs from place to place, sometimes a '.', sometimes a ','. [8]

Internationalized software also allows for notation of different currency. It is, however, never a good idea to use abbreviations, CDN instead of Canadian. [10] Not all languages abbreviate and those that can do not necessarily abbreviate in the same way.

Terminology

The terminology used in international applications is chosen for its simplicity, clarity and neutrality. [11] Bare-bones text, for all it may lack stylistically, is easier to translate. Careful word choice early on in the development process greatly facilitates product localization.

This involves avoiding acronyms, any idiomatic expressions, and ambiguous words with multiple meanings as well as slang. Humor is to be used with caution. It rarely translates well and is often culturally specific. [10]

Sort order

Sort order (e.g., A-Z) is not hard-coded in internationalized software. Some languages are not ordered alphabetically, but according to brush strokes. [4]

Error messages

Developers of world-ready applications structure variable messages so that they will translate easily. Internationalized error messages do not contain hard-coded articles. For example, "the" can be translated in various ways, depending on the nature of the noun it qualifies. It is preferable to avoid articles altogether, structuring messages as equations ("Server = Unavailable") rather than as sentences ("The server is unavailable.") [4]

Images versus characters

Bitmaps and toolbar icons should not contain letters, but internationally understood images. [10] Using "B" to represent bold in an English application only creates more work during the localization process, since the initial will probably vary from language to language. [11]

Images

Obviously an American product festooned with images of footballs and the Statue of Liberty has very little cross-cultural appeal. What is less apparent is that an image as seemingly basic as a mailbox with a raised flag to indicate that the user has mail is just as problematic. Mailboxes with flags are specific to the North American context, whereas an envelope is an internationally understood image. [8] Images should be easily understood by a culturally diverse audience, not an easy feat.

Registration and order forms

Since not all countries are divided into regions resembling states or provinces, users should be asked their country and then, if applicable, their region. Phone number forms have to account for international numbers. [8]

Extensability [12]

Not even the most seasoned developer can predict all the requirements of each target market. Software architectures must be flexible enough to accommodate unforeseen demands. [11] Ideally, end users should have the option of further customizing products at run-time to better meet their needs.

Localization

At this stage in the globalization process, software is adapted to the language and culture of a specific market. [11] Like internationalization, localization transcends translation. [1] Text, composed of character strings, is not the only component subject to change. Images, colors, sounds, geographic references, time zones, examples, user interface elements, formats and even dialects may be altered to suit the tastes of a particular locale. Ideally, the end user should believe the product was initially developed in his or her language and with his or her culture in mind. The application should appear to be domestic.

Software is internationalized and localized at design time, and sometimes localized at run-time. [13] A product should undergo internationalization once and localization each time it is introduced to a new market. Properly internationalized software is relatively easy to localize. Unfortunately, many companies do not have the foresight to design world-ready applications and run into innumerable problems during localization. [13]

The extent to which a product is localized depends on the needs of each locale as well as time and budgetary constraints. A product can be partially or fully localized. [14]

Globalization

Globalization is the creation of world-ready products. It encompasses both internationalization and localization. [15] Whereas internationalization is the engineering of a generic product, localization is the tailoring of software to meet the specific demands of a target market. When combined, these two processes ensure that an application has global appeal and utility and allow companies to take on international markets.

Software globalization works best when it is integral to core development, not as an afterthought. [4] This process reduces costs and time-to-market, and expands a product's market potential.

Conclusion

Internationalization, localization and globalization are different steps in the process of engineering software for world markets. Although translation can play a role in this process, it is far from being the only consideration. Software, like any other product, must be adapted to suit the cultural tastes and technical requirements as well as the linguistic needs of each locale.

Glossary

ASCII
Acronym for American Standard Code for Information Interchange, a 7-bit code consisting of 128 characters (letters, digits and symbols), each represented by a number. In an ASCII file, text is stored as a sequence of numbers. For example, A is coded as 1000001. [16] [17] [18] [19]
bitmap
Commonly used computer-readable image made up of dots mapped onto a grid. Bitmaps are notoriously difficult to rescale. Var. bit map, bit-map, BMP. [20] [21] [22]
character string
Sequence or array of alphanumeric characters, for example H, E, L, L, O. [23] [24]
design time
Duration of the building of an application in a development environment. At design time, and sometimes at run-time, it is possible to create and modify objects. [25] [26]
end-user
Eventual consumer of a finished application. Var. end user. [27]
globalization
Process of creating world-ready products, such as software or websites. [15] Var. globalization, g11n.
hard-coding
Addition of the generic, non-locale specific features of an application to the main body of code. Hard-coded features are harder to localize than those stored in more accessible resource files. Var. hard coding. [28] [29]
internationalization
Process of engineering culturally and technically neutral software. [1] Var. internationalization, i18n.
locale
Features, for example sort order, keyboard layout, date, time, number and currency formats, of the user's environment that vary from language to language, from place to place and from culture to culture. [30]
localization
Process of customizing an application to meet the specific needs of a target market. [11] Var. localization, l10n.
run-time
Time during which an application is in operation. At run-time, an application interacts as it would with an end-user. [25] [26]
script
Writing system used by one or more languages, for example, the Cyrillic or Latin alphabet. Syn. alphabet. [27] [30]
resource file
Central file containing the locale-specific features of an application, for example, text, icons, images, colors, etc. Unlike hard code, resource files are accessible and can be easily modified. [29]

[1] "LISA FAQs", http://www.lisa.unige.ch/info_faqs.html LISA Administration, Switzerland. Page consulted May 25, 1999.

[2] Adam Jones, "Introduction to Localization", http://www.simultrans.com/Seminars/Previous/Seminar199903_/seminar199903_.htm SimulTrans Localization Seminar Series, March 1999.

[3] "Localization - Programming Tools", http://www.japanworks.com/local_issues/program_tools.html The JapanWorks Co., 1998.

[4] Sjoert Ebben and Gwyneth Marshall, "The Localization Process: Globalizing Your Code and Localizing Your Site", http://msdn.microsoft.com/workshop/management/intl/locprocess.asp Microsoft Corporation, April 21, 1999.

[5] Angela Viesse, "Localization: Done right, it's part of the spec, not an afterthought", http://www.microsoft.com/backstage/column_3.htm Microsoft Corporation, December 1, 1998.

[6] "Character Encoding", http://babel.alis.com:8080/codage/index.ht Alis Technologies Inc., 1996.

[7] James Whittle, "ITP Frequently Asked Questions: So that's what you mean...", http://www.itp.ie/english/frequently_asked_questions.html#3 ITP. Page consulted May 28, 1999.

[8] Tapani Tuominen, "Going Global: Not for the Halfhearted", http://msdn.microsoft.com/workshop/management/intl/internatln.asp Originally published in the Site Builder Network Magazine, Microsoft Corporation, January 8, 1998.

[9] "Common Desktop Environment: Internationalization Programmer's Guide", http://journal.law.ufl.edu/usr/share/doclib/online/DOCS/HTML/COSEPRGD/DOCU_003.HTM Page consulted May 28, 1999.

[10] "Globalization Tips", http://www.iarchitect.com/htglobal.htm Isys Information Architects Inc., 1997.

[11] Tom Shapiro, "A Critical Ingredient in Your International Success", http://www.bottom-up.com/localization/pl-feb99-ingredient.shtml Bottom Up, February, 1999.

[12] Brian Beck, "I18N: Programming 'World-Ready' Java", http://sunsite.compapp.dcu.ie/IJUG/javaone/transcripts/i18npro.html JavaOne Conference, 1997.

[13] Barry Caplan, "A vertical approach to localization", http://www.simultrans.com/Seminars/Previous/Seminar199902/seminar199902.htm SimulTrans Localization Seminar Series, February 1999.

[14] Tom Shapiro, "Selective Localization: Determining What to Localize and When", http://www.swexport.com/swexport/tom-shapiro1.htm The Software Export Guide. Page consulted June 7, 1999.

[15] Mimi Obinata, "Creating World Ready Products", http://suncom.bilkent.edu.tr/developers/devnews/fall97/worldready.html Sun Microsystems, Inc., 1994-97.

[16] "ASCII American Standard Code for Information Interchange", http://www.cnet.com/Resources/Info/Glossary/Terms/ascii.html CENT Glossary. Page consulted on June 8, 1999.

[17] "ASCII American Standard Code for Information Interchange", http://www.oreilly.com/reference/dictionary/terms/A/American_Standard_Code_for_Information_Interchange.htm O'Reilly & Associates, 1996.

[18] "A Binary Code for Representation of Text Data", http://192.138.83.207/ascii.html Page consulted June 8, 1999.

[19] "American Standard Code for Information Interchange ASCII", http://www.poptel.org.uk/mante/glossary/g2.htm Mante. Page consulted June 8, 1999.

[20] Gayle Pounds, "Bitmap (Raster) vs Vector Graphics", http://people.delphi.com/janruh/krafts/raster.txt February 13, 1999.

[21] Rowan Wilson, "Bitmap Graphics", http://www.chwilson.demon.co.uk/bitmap.html 1998.

[22] "bitmap (or bit map)", http://www.whatis.com/bitmap.htm whatis?com, 1996-9.

[23] "AIX Version 4.3 Glossary", http://nim.cit.cornell.edu/usr/share/man/info/en_US/a_doc_lib/aixuser/glossary/C.htm AIX. Page consulted June 8, 1999.

[24] "Character String", http://linux.itam.cas.cz/adabas.manual/refora/ror6eng5.htm Adabad D Reference/Oracle. Page consulted June 8, 1999.

[25] "design time", http://msdn.microsoft.com/LIBRARY/DEVPRODS/VS6/VB/HTML/RDDEFDESIGNTIME.HTM Microsoft Corporation, 1997.

[26] "run time", http://www.hexagon.net/iishelp/Msadc/docs/adcdef01_12.htm Microsoft Corporation, 1997.

[27] Frederick C. Mish, ed. Merriam-Webster's Collegiate Dictionary, 10th ed., Springfield, Massachusetts, Merriam-Webster, 1998.

[28] "Isolating Localizable Resources", http://msdn.microsoft.com/library/books/techlang/devintl/D3/S24B1_d1.HTM Microsoft Corporation, 1998.

[29] "Using Resource Files", http://vbarchives.hypermart.net/KnowledgeBase/KBResource001.htm Visual Basic. Page consulted June 8, 1999.

[30] Nadine Kano, Developing International Software, Redmond, Washingtom, Microsoft Press, 1995.


Anne Chudobiak
2-5576 Jeanne Mance
Montreal, Quebec
Canada
H2V 4K6
E-mail:a.chudobiak@sympatico.ca




Contents


LISA Business Data

LISA Publications Catalog

Industry Insights Reports

Best Practice Guides

Surveys

QA Model

Forum Summaries and Presentations

LISA Globalization Consulting Network

Webinars and TouchPoint Advisory Calls


Join LISA

Subscribe


Upcoming Events

LISA Forum USA
(Foster City, California, April 13–16, 2010)

LISA@Chinasoft Fair
(Chengdu, China)

LISA Forum Asia
(Suzhou, June 28–July 1, 2010)

LISA Forum Europe
(Budapest, October, 2010)

LISA Forum India
(New Delhi, December, 2010)


Open StandardsTBXTMX

Terminology SIG

Job and CV Postings