Internationalization and Localization 101

Author: Glory Leung
Reviewer: uTest

Introduction: So, what is Internationalization or localization?  It is the way computer software adapts to different languages and regional differences.  How do they differ?  Internationalization is the designing of software applications so that it can be adapted to different languages and regions in the world without engineering changes.  Localization is adapting internationalized software by adding locale-specific components and translating text.  The term localization is often abbreviated as L10n and Internationalization is, you guessed it, i18n.  I’ll repeat again, Internationalization is preparing products for potential use everywhere, whereas localization is adding features for use in a specific locale.  Wait a minute, what is Globalization?  Globalization is a term created by Microsoft, IBM and Sun Microsystems to combine both Internationalization and Localization together.  It’s abbreviated as g11n and often known as NLS (National Language Support or Native Language Support).

internationalization.png

Excerpted from the book ".NET Internationalization," ISBN 0321341384, Copyright 2006. Written permission from Addison-Wesley is required for all other uses. Copyright © 2006 Addison-Wesley. All rights reserved.

Why do we need it?  Business and customer bases are usually global.  There is a demand to meet the criteria of the countries your software will be sold to.  Commercially, the benefit from localization is access to more and more markets.  But, there is a downfall which is budgetary commitments from the management of the company.  This is because the main focus is usually on the native language (English) and less emphasis is given to other languages.

Focal points of Internationalization and localization efforts?

  • Language -  
    • Computer encoded text – One of the most common ways to know if a product is ready to be localized is the use of Unicode.  This allows the system to support a wide range of character encoding issues
    • Different Number systems – Some countries use a different method in counting that is different from the usual 1, 2, 3 system English uses.
    • Writing direction – Some are left to right (German, English, French), some are right to left (Arabic and other Middle Eastern countries)
    • Spelling variants where the same language is spoken (tomato vs tomatoe, Localization vs Localisation, colour vs color)
    • Capitalization rules, sorting rules can be different as well
    • Input – keyboard shortcuts and keyboard layouts may be different
  • Culture –
    • Images and colors:  issues of comprehensibility and cultural acceptance
    • Names and titles
    • Government assigned numbers (Social Security number is USA, SIN in Canada) and passports
    • Telephone numbers, addresses, postal codes
    • Currencies (symbols, position of currency markers)
    • Weights and measures
    • Paper sizes (though not as common)
  • Writing conventions
    • Date and time formats, calendar uses (Georgian vs Lunar, etc)
    • Time Zones (usually internationalized products use UTC time)
    • Number format (decimal separators, digit groupings)

 Possible difficulties faced?  Longer development cycles.  While it may seem easy on paper to do it (“Google can do it in a flash!!”), it really isn’t.  Actually it’s often harder to maintain as the software get larger.    There is a huge challenge to maintain parallel versions of text throughout the life of the product.  For example, for each new line of text you add that is displayed to the user, the appropriate translated text must be in the system as well.  Adding a new language to a product is usually a gold mine of bugs for a tester!!  Keep that in mind. J

I hope the above gives you a brief introduction to what i18N and L10N is.  Demand for this has increased greatly as customers continually demand a product that can be used in the countries that they are located in.

utest Help Taxonomy:

Thanks for contacting uTest