7 Steps to Localization and Internationalization Testing

How to do Localization and Internationalization Testing ?

Internationalization and localization  are means of adapting computer software to different languages, regional differences and technical requirements of a target market.

What is Localization  ?

Localization is the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text. Localization, which is many a times performed multiple times, for different locales, uses the infrastructure or flexibility provided by internationalization.  A localized product may create more business opportunities and cater for growth and expansion.

What is Localization Testing?

We need to translate the product UI and some initial settings to make it suitable for another region. This is what exactly Localization does. While performing Localization testing we need to check the quality of a product's localization for a particular target culture/locale. Localization testing is based on the results of globalization testing, that verifies the functional support for that particular culture/locale. Localization testing should be executed only on the localized version of the product. 

How to Perform Localization  testing ?

What are the areas of attention while we localize any application?

  • It is vital to consider the following areas when performing Localization testing :
  • Areas affected by localization, as application UI and content
  • Date and time formats (including numeric formats)
  • Culture/locale-specific, language-specific, and region-specific areas
  • Keyboard usage
  • Aligning, Sorting and collating data
  • Colors schemes, symbols and icons
  • Text and graphics which, in a given culture, have a chance to be viewed as sensitive or misinterpreted.
  • Currency used
  • Diverse legal requirements

What is Globalization ?

Localization and internationalization together are called as globalization. 

What is Internationalization ? 

Where Internationalization makes the application support multiple languages/locales on the other hand Localization is making the application support one particular locale and language.
In other words we can say Internationalization is the process of designing and developing a product, application or document content such that it enables localization for any given culture, region, or language. Internationalization is also written i18n, where 18 is the number of letters between I and n in the word internationalization.
With the figure below we can better understand how this works.

Scope of Testing

There are 3 Major focal points that we should consider for localization and internationalization testing

1) Language

  • Unicode text to cater to character encoding
  • Number systems
  • Capitalization and sorting rules
  • Keyboard shortcuts and layouts
  • Writing directions
  • Spelling variants

2) Culture and region

  • Names and titles
  • Government numbers (Social Security number is USA) and passports
  • Colors and images
  • Weights and measures
  • Currency symbol and currency market position
  • Telephone numbers, zip codes, Address formats
  • Paper sizes 

3) Dates and important Events

  • Date and time formats
  • Number formats (decimal separators, grouping of digits etc.)
  • Calendar types (Gregorian, Lunar etc.) 

What are the best practices for  Internationalization Testing ?

Various areas are impacted when an application is internationalized. In order to ensure complete testing coverage, we need to concentrate our testing on following important aspects.  

1) Content localization

Localized content includes graphics as well as text. Static and dynamic content displayed in the interface. Static contents like Tabs, buttons, labels and nomenclatures of web elements, Welcome message, help text, tool tip etc.
Dynamic contents like the message displayed when a form is filled, validation message in case of errors or mandatory field not populate other user specific messages etc. This kind of language testing is done by either language experts or is verified against language specific properties file sent by the client which contains English to another language word meaning mappings.

2) Feature based

Depending on the region some features are available and some are not. Testers need to ensure the feature is hidden for the region to whom it is not applicable and should be displayed and functional for the regional users to whom it is applicable. 

3) Locale/ Culture awareness

Locale/ Cultural awareness includes understanding the difference between Dates and number formatting used in various regions. This includes Calendar differences, holidays and festivals, Date formatting, time formatting, Currency, Number formatting, address, telephone numbers, zip codes or no zip codes, units of measurements etc.
Since we are dealing with different locale data conversion from one encoding format to other must happen. Very good understanding of encoding formats and converting to and from a format is crucial as it can also result in data loss.

4) User Interface

User interface should be tested for adaptability to all language content. It should change accordingly to accommodate text with larger lengths without distorting the alignment.
Some language specific text takes more space than others, so interface should be able to adapt to this change without getting distorted. For Example, German text takes more space to convey the same information in comparison to English. Hence, interface should be adaptable.
We need to test user interface of an application to ensure it contains no defects like truncated strings, overlapping or misaligned controls, duplicate hotkeys, etc. Also, everything needs to be translated in the respective language.
This includes the following:
  • Menus in menu bar
  • Prompt, alert and warning message
  • Dialog boxes (titles, buttons and help messages)
  • Images
  • Toolbars (tool tip for tools in Tool bar)
  • Status info in Status bar

5) Rendering

It is important to check whether all the supported scripts are correctly displayed according to the language specific characters associated with them. When viewing a page in a specific language the scripts should get properly executed i.e. no script error should be displayed as well all the characters should be displayed in the specific language.
Various characteristics of character rendering include bi-direction, shaping as per context, reordering and combining characters. Others include word break, line break, formatting like a justification or left/right alignment etc.

6) File transfer

If the application includes a file transfer operation, we need to test whether a file transfer interface is localized according to the language selected. File is getting transferred successfully or not and transferred file is not corrupted.
It is important to specify the encoding format while reading a file that contains Unicode characters. Default encoding is UTF-8, when nothing is specified. Text files which are saved in encoding format UTF-16 when read using UTF -8 will display unintelligible text. Hence encoding plays a very important role in file transfers.

7) Database

Database testing for internationalized application will consist of support of Unicode characters in the database. Special data types are available for this purpose. Data types like nchar, nvarchar and ntext are defined by SQL server that helps store Unicode characters.
The n prefix stands for National Unicode data types. These n prefixed data types are used in the same way as the original char, varchar and text data types. The only difference is n prefix data type also support the following:
  • More disk space is needed
  • More characters are supported
  • Maximum size of nchar and nvarchar is 4000 but for char and varchar is 8000
Working with N-prefix data types is same as regular ones. Care must be taken during database migration. Proper data types should be mapped during migration or data will get lost.
Benefits of Internationalization Testing 
  • International visibility to the product
  • Increase in product quality, if built to support internationalization
  • Reach to larger audience around the globe
  • Product released globally with comparatively lesser expense