|
In this issue…
Piecing the Puzzle
Internationalization, Localization and Globalization
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? InternationalizationInternationalization 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. ScriptsInternationalized 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 lengthWord 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 formatsDates, 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. TerminologyThe 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 orderSort 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 messagesDevelopers 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 charactersBitmaps 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] ImagesObviously 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 formsSince 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. LocalizationAt 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] GlobalizationGlobalization 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. ConclusionInternationalization, 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
[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
|
LISA Business Data Forum Summaries and Presentations LISA Globalization Consulting Network Webinars and TouchPoint Advisory Calls LISA Forum USA LISA@Chinasoft Fair LISA Forum Asia LISA Forum Europe LISA Forum India Open Standards • TBX • TMX |
||