What is Localization Testing and Internationalization Testing (Simple Guide)

Learn What is Localization Testing and Internationalization Testing:

It is very common to find websites that are now available in multiple languages. Global brands have now recognized that the only way to connect and create value is by introducing their business to locals in the language that is truly local.

This process of adapting a product to a different language, region and locale are called localization. A localized product creates more business opportunities and caters for growth and expansion.

However, many organizations make the mistake of adapting localization towards the end of the development process or just before the product launch.

Localization testing and Internationalization Testing

In order to localize a product, it is very important to find out if it is internationalized.

Confused? An internationalized Product/application design is the one that can accommodate localized content such as characters in non-western letters, double-byte languages, an ability for text to expand as in European languages and contract as in Asian languages, display Unicode characters and have a database that supports Unicode characters etc.

We will discuss both localization and internationalization in detail here.

What Is Localization Testing?

Localization is defined as making a product, application or document content adaptable to meet the cultural, lingual and other requirements of a specific region or a locale.

Localization is abbreviated as l10n, where 10 is the number of letters between l and n. When a thought of localization, what comes to mind is that the user interface and documentation of an application are in a specific language or locale. But localization is more than just that.

When localizing an application, the following important areas are to be customized:

  • Date and time formats (including numeric formats)
  • Currency used
  • Keyboard usage
  • Sorting, aligning and collating data
  • Colors schemes, symbols, and icons
  • Text and graphics which, in a given culture, may be viewed as sensitive or can be misinterpreted.
  • Diverse legal requirements

The main aim of localization is to make the product look and feel such that, to the target audience, it looks like it is specially created to meet their needs.


Recommended Tool:

#1) Digivante

DIGIVANTE New Logo

If you’re working in global markets, it’s essential that your website or app is customized to local audiences so that your brand is well-received.

But localization isn’t just about checking that translated content is literally correct and uses the local dialect. Colours, data formats, currencies, and payment platforms are just a few of the areas that need to be tested.

Their global community of expert testers can run fast, thorough testing on your sites and apps so you know exactly what you need to do to optimize the local experience.


Localization and internationalization are together referred to as globalization. Globalization is at a broader level. Internationalization is making the application such that it supports multiple languages/locales. Localization is making an application support a particular locale and language.

The following figure will help you understand how localization and internationalization together make a globalized a software application.

Globalization process

What Is Internationalization?

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 me and n in the word internationalization.

Internationalization typically entails:

  1. Designing and developing the application such that it simplifies the deployment of localization and internationalization of the application. This includes taking care of proper rendering of characters in various languages, string concatenation etc. which can be done by using Unicode during development
  2. Taking care of the big picture while developing the application in order to support bidirectional text or for identifying languages we need to add markup in out DTD. Also, we use CSS, to support vertical text or other non-Latin typographic features.
  3. The code should be able to support local and regional language and also other cultural preferences. This involves using predefined localization data and features from existing libraries. Date time formats, local calendar holidays, numeric formats, data presentation, sorting, data alignment, name and address displaying format etc.
  4. Making localizable elements separate from the source code so that code is independent. And then as per the user’s requirement, localized content can be loaded based on their preferences.

Internationalization basically consists of design and development of an application to make it ready for localization. It is not necessary that language, culture and region-related translation takes place. It is to make an application ready for migration at a later stage if, localization is to take place.

The following diagram will help explain the difference between nationalization and internationalization.

(Click on the image for enlarged view)

globalization testing

[image source]

Let’s summarize the difference between localization and internationalization in the below table:

Localization TestingInternationalization Testing
1. Localization is defined as making a product, application or document content adaptable to meet the cultural, lingual and other requirements of a specific region or a locale.1. Internationalization is the process of designing and developing a product, application or document content such that it enables localization.
2. Localization is referred as l10n2. Internationalization is referred as i18n
3. Localization focuses on online help, GUI context, dialog boxes, error messages, read me/ tutorials, user manuals, release notes, installation guide etc.3. Internationalization focuses on compatibility testing, functionality testing, interoperability testing, usability testing, installation testing, user interface validation testing.
4. Localization itself means a specific local language for any given region4. Application code is independent of language
5. Localization is not at user interface level5. Internationalization is at design level

Scope Of Testing

Major focal points to be considered for localization and internationalization testing are as follows:

1) Language

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

2) Culture and region

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

3) Dates and Important Events

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

Testing Best Practices For Testing Internationalization

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, tooltip 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

The 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 the interface should be able to adapt to this change without getting distorted. For Example, the German text takes more space to convey the same information in comparison to English. Hence, an interface should be adaptable.

We need to test the 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 the menu bar
  • Prompt, alert and warning message
  • Dialog boxes (titles, buttons and help messages)
  • Images
  • Toolbars (tooltip for tools in Toolbar)
  • 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, formattings 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. The 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. The 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.

Then 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
  • The 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 to migration or data will get lost.

Benefits of Internationalization Testing

  1. International visibility to the product
  2. Increase in product quality, if built to support internationalization
  3. Reach to a larger audience around the globe
  4. Product released globally with the comparatively lesser expense

Is Automation Possible?

Testing an internationalized application is always a challenge for the organization. Each language that the application supports, could multiply the number of test cases required for testing. If the organization uses automation extensively, could automation scripts be built and maintained for a product with such large scope and type?

What is really needed to address this issue is to build, test scripts that could be extended easily to support multiple languages.

As discussed above, if the application is built using the practices of I18N and L10N to create a non-language sensitive core version, in which properties file, is used to address language requirements. The application reads from the respective properties file at run-time to render it in the selected language. In this way, the basic version of an application is only one, which has the ability to change the language of the user interface when required.

This made it possible to automate the internationalized application, as test scripts are written only for the base version and easily executed for all languages.

Before starting with automation, we need to confirm that the names or IDs assigned to all the elements in the windows do not change with the change in the language. All the objects on the webpage like text fields, radio buttons, dropdowns, checkboxes, hyperlinks, pop-ups, list boxes etc. should have a unique id (like name or ID) should be independent of language.

If we are certain that all the web elements are not language specific, then we can create an extremely efficient automation script for an internationalized application.

This link will help you understand, how to automate internationalized application using the most popular open source tool i.e. selenium web-driver.

Localization testing tools:
It’s hard to perform Localization testing only using any automation tool. There are some tools which can automate some of the tasks very well. Here is the list:

Test Cases

Please refer to this link to learn about test cases applicable for localization and internationalization testing.

Conclusion

Testing Localization and Internalization is a challenge and a thorough understanding of its development concepts is important to test it efficiently.

Also writing and maintaining automation test scripts for internationalized software is not tedious as the script written to automate testing of the base version of the application can be used to test any supported language.

Please write to us below to let us know your comments, questions, and experiences with localization/globalization/internationalization testing.

Recommended Reading

13 thoughts on “What is Localization Testing and Internationalization Testing (Simple Guide)”

  1. Localization automation is little bit tricky, many automation tools are available in market which supports localization verification. One is Coded UI automation tool, integrated with Visual Studio (Premium and Ultimate). We can use resource file concept or by using XML files. For localization automation is one time effort but its ROI is really high %.

    Reply
  2. new to this type of testing. thanks for sharing. got one more topic to learn 🙂

    Reply
  3. Appreciate the efforts put to write this article in such a detail yet wish such simplicity. GOOD WORK DONE.

    Reply
  4. It would be great if you can share one example of something in the market and is used quite often by people where this testing is performed.

    Explaining with an example always help to remember

    Reply
  5. This is great article
    highly appreciate for the sharing the knowledge.
    Internationalization and localization is the new things to learn for us.
    now waiting for the project where i can apply this knowledge.

    Reply
  6. Hi Guys,

    Thanks for reading my article and giving awesome comments.

    Thanks Aniket, Thanks Sarfaraz and Thanks Robin for the appreciation. I am glad to know that you liked the article and found it easy and useful.

    Reply
  7. Very GOOD WORK DONE HERE AND VERY CLEAR UNERSTANDING

    Reply
  8. Hi Afshan,

    Thank you so much . Your article is so simple to understand. which you said , Aim of localization.Like that we think this article is specially created for us.

    Reply
  9. woah love the detailed best practices.

    Thanks for sharing

    Reply
  10. The link to test cases is not working. Can you please make it available ?
    Thanks,

    Reply
  11. Dear Partner,

    This is Woods from Transee Translation Company based in China. We are a professional translation and localization company with 20 years experience.

    I’m writing this email to see whether your esteemed company would be interested in working with us.

    Our projects expertise in:
    1. Data annotation in English (1.9 million cases);
    2. Native voice recording in France, German, Italian (5 million sentences);
    3. Translation of documents in the Science and Data field (3.6 million words);
    4. Translation of patents, contracts and annual financial reports;
    5. Localization (software, websites, apps, etc.);
    6. Interpretation;
    7. Transcription (300+ hours over 3 months, involving Covid-19 speeches, interviews, online meetings, etc.)
    8. Client located in more than 60 countries, such as Microsoft, Siemens, Huawei etc.
    9. Over 100 different language combinations;

    We offer services in over 170 language pairs, and have more than 80 in-house editors and proofreaders, 200+ contracted and qualified linguists and 5000+ certified freelancers who are available to complete your urgent or high volume projects at short notice and with high quality.

    If you are interested in our services, please kindly feel free to contact me.

    I look forward to hearing from you.

    Kind regards,

    Woods

    Reply
  12. Hi thanks for this article. Very helpful. I observed though that the link for Test Cases is not working. Will appreciate if it can be accessed to or if there is another article about it for reference.

    Reply
  13. … where 18 is the number of letters between me and n in the word internationalization.
    Should be ‘i and n’, not ‘me and n’.
    Thanks for the material.

    Reply

Leave a Comment