Discover the Basics of Localization Testing and Internationalization Testing:
It is increasingly common to come across websites that are available in multiple languages. Businesses all over the world have realized that in order to connect with local audiences and create value, they need to present their products and services in the language that truly resonates with them.
Recommended IPTV Service Providers
- IPTVGREAT – Rating 4.8/5 ( 600+ Reviews )
- IPTVRESALE – Rating 5/5 ( 200+ Reviews )
- IPTVGANG – Rating 4.7/5 ( 1200+ Reviews )
- IPTVUNLOCK – Rating 5/5 ( 65 Reviews )
- IPTVFOLLOW -Rating 5/5 ( 48 Reviews )
- IPTVTOPS – Rating 5/5 ( 43 Reviews )
The process of adapting a product to a different language, region, or locale is known as localization. A localized product opens up new business opportunities and enables growth and expansion.
However, many organizations make the mistake of addressing localization towards the end of the development process or just before the product launch.
In order to successfully localize a product, it is essential to determine whether it has been internationalized.
Feeling a bit confused? Internationalization, or i18n, is the process of designing and developing a product or application in a way that enables it to support multiple languages and locales. This includes accommodating non-western characters, double-byte languages, expanding or contracting text as necessary, displaying Unicode characters, and having a database that supports Unicode characters, among other things.
In this article, we will delve into the details of both localization testing and internationalization testing.
What You Will Learn:
What Is Localization Testing?
Localization, abbreviated as l10n, refers to the process of adapting a product, application, or document content to meet the specific cultural, linguistic, and other requirements of a particular region or locale.
While the term localization often brings to mind the translation of user interface and documentation, it encompasses much more than that.
When localizing an application, the following key areas need to be customized:
- Date and time formats (including numeric formats)
- Currency used
- Keyboard usage
- Sorting, aligning, and collating data
- Color schemes, symbols, and icons
- Text and graphics that may be viewed as sensitive or potentially misinterpreted in a specific culture
- Compliance with diverse legal requirements
The main goal of localization is to make the product look and feel as if it has been specifically created to cater to the needs of the target audience.
Localization is not just about ensuring correct translation of content. It requires thorough technical, visual, and linguistic checks to identify cultural subtleties that may not be immediately apparent.
For example, it involves detecting and rectifying issues related to grammar and context, ensuring the correct use of linguistic terms and sizes, and making sure payment platforms are recognizable and usable.
Localization and internationalization together are often referred to as globalization. Globalization is a broader concept that encompasses both internationalization and localization. Internationalization involves making the application capable of supporting multiple languages and locales, while localization focuses on adapting the application to a specific locale and language.
The following diagram illustrates how localization and internationalization work together to create a globalized software application.
What Is Internationalization?
Internationalization, or i18n, is the process of designing and developing a product, application, or document content in a way that enables it to be easily adapted to any culture, region, or language.
The term i18n is used because there are 18 letters between the “i” and the “n” in the word internationalization.
Internationalization typically involves:
- Designing and developing the application in a way that simplifies the localization and internationalization process. This includes ensuring proper rendering of characters in different languages, handling string concatenation, and using Unicode during development.
- Considering the big picture while developing the application to support bidirectional text and identify languages that may require additional markup in the Document Type Definition (DTD). CSS may also be used to support vertical text or other non-Latin typographic features.
- Ensuring that the code can support local and regional languages and cultural preferences. This involves utilizing predefined localization data and features from existing libraries, such as date and time formats, local calendar holidays, numeric formats, data presentation, sorting, data alignment, and displaying names and addresses based on regional conventions.
- Making sure that localizable elements are separated from the source code, allowing the code to be independent. Localized content can then be loaded based on the user’s preferences.
Internationalization primarily focuses on designing and developing an application in a way that prepares it for localization. It does not necessarily involve the actual translation of language, cultural, or region-specific content. The purpose is to ensure that the application is ready for migration if localization becomes necessary.
The following diagram illustrates the difference between internationalization and localization.
(Click on the image for an enlarged view)
To summarize, here is a table highlighting the differences between localization testing and internationalization testing:
|Localization Testing||Internationalization Testing|
|1. Adaptation of product, application, or document content to meet specific cultural, linguistic, and other requirements of a region or locale||1. Designing and developing a product, application, or document content to enable localization|
|2. Abbreviated as l10n||2. Abbreviated as i18n|
|3. Focuses on online help, GUI context, dialog boxes, error messages, tutorials, manuals, release notes, installation guides, etc.||3. Focuses on compatibility testing, functionality testing, interoperability testing, usability testing, installation testing, and user interface validation testing|
|4. Involves translation to a specific local language||4. Application code is language-independent|
|5. Not limited to the user interface level||5. Involves designing at the core level|
Scope Of Testing
Localization and internationalization testing encompass a wide range of components that need to be thoroughly examined. Major focal points include:
- Unicode text for character encoding support
- Number systems
- Writing directions
- Spelling variants
- Capitalization and sorting rules
- Keyboard shortcuts and layouts
2) Culture and region
- Names and titles
- Government numbers (e.g., Social Security numbers) and passports
- Colors and images
- Telephone numbers, zip codes, and address formats
- Paper sizes
- Weights and measures
- Currency symbols and their positions
3) Dates and Important Events
- Date and time formats
- Calendar types (e.g., Gregorian, Lunar)
- Number formats (decimal separators, digit grouping)
Testing Best Practices For Internationalization Testing
When conducting internationalization testing, it is important to focus on various areas affected by internationalization. To ensure comprehensive test coverage, consider the following critical aspects:
#1) Content Localization
Localized content includes both text and graphics. It involves testing static and dynamic content displayed in the interface. Static content refers to elements like tabs, buttons, labels, and names of web elements, as well as welcome messages, help text, tooltips, etc.
Dynamic content refers to messages displayed when forms are submitted, validation messages for errors or missing mandatory fields, and other user-specific messages. This type of language testing is usually performed by language experts or by verifying the translations against language-specific properties files provided by the client.
Features may vary depending on the region. It is important to ensure that features applicable to a specific region are available and functional, while features irrelevant to a region are appropriately hidden.
#3) Locale/ Cultural Awareness
Locale/cultural awareness involves understanding the differences in date and number formatting used in different regions. This includes calendars, holidays, date and time formatting, currencies, number formatting, addresses, telephone numbers, zip codes, units of measurement, etc.
Data conversion between different encoding formats is also crucial when dealing with different locales. A deep understanding of encoding formats and their conversion is necessary to prevent data loss.
#4) User Interface
The user interface should be tested to ensure its adaptability to different languages. It needs to be able to accommodate text with varying lengths without distorting the layout. For example, the interface should be adjustable to accommodate the greater space required for German text compared to English.
In addition to text adaptation, the user interface needs to be thoroughly reviewed for defects like truncated strings, overlapping or misaligned controls, duplicate hotkeys, and missing translations. All interface elements, including menus, alerts, dialog boxes, images, toolbars, and status bars, should be translated into the respective language.
Rendering testing involves ensuring that all supported scripts are correctly displayed according to the language-specific characters associated with them. Scripts should be executed properly without any errors, and all characters should be displayed correctly in the specified language.
Character rendering includes considerations such as bidirectionality, shaping according to context, reordering, combining characters, word breaks, line breaks, justification, left/right alignment, etc.
#6) File Transfer
If the application involves file transfer operations, it is important to test whether the file transfer interface is localized according to the selected language. Furthermore, the successful and uncompromised transfer of files must be verified.
When working with text files containing Unicode characters, it is essential to specify the correct encoding format to ensure proper reading. Failure to do so may result in unintelligible text.
Database testing for internationalized applications involves ensuring support for Unicode characters. Special data types, such as nchar, nvarchar, and ntext, are available to store Unicode characters. These data types, known as national Unicode data types, function similarly to regular char, varchar, and text data types with some additional characteristics:
- More disk space is needed
- More characters are supported
- The maximum size for nchar and nvarchar is 4000, while for char and varchar it is 8000
Working with these national Unicode data types is the same as working with regular data types. Care should be taken during database migration to ensure proper data type mapping, as incorrect mapping can result in data loss.
Benefits of Internationalization Testing
The benefits of internationalization testing include:
- Expanded international visibility for the product
- Improved product quality, especially when built with internationalization in mind
- Access to a larger global audience
- Comparatively lower expense for launching a product globally
Is Automation Possible?
Testing an internationalized application can be challenging for any organization. Each language supported by the application can multiply the number of test cases required. For organizations that heavily rely on automation, the question arises: Is it feasible to automate testing for a product with such a broad scope and diverse language support?
One solution lies in building and maintaining test scripts that can easily extend to support multiple languages.
If an application is built using internationalization and localization best practices, such as creating a language-independent core version that references language-specific properties files at runtime, automation scripts can be written and executed for the base version, thereby covering all supported languages.
Before starting with automation, it is important to ensure that names or IDs assigned to elements in the application’s windows do not change with language changes. All web elements, such as text fields, radio buttons, dropdowns, checkboxes, hyperlinks, and pop-ups, should have unique IDs or names that are language-independent.
Once it is confirmed that all web elements are not language specific, highly efficient automation scripts can be created for the internationalized application.
This link provides a detailed explanation of how to automate testing for an internationalized application using Selenium WebDriver, a widely used open-source tool.
Localization testing tools:
Localization testing is challenging to perform using only automation tools. However, certain tools excel at automating specific tasks. Here is a list of some valuable tools:
- Automate UI localization using IBM Rational Functional Tester
- .NET application localization tool http://www.redpin.eu
For a comprehensive list of test cases applicable to localization and internationalization testing, please refer to this link.
Testing localization and internationalization is a challenging task that requires a deep understanding of the core development concepts. By following best practices, such as designing for internationalization and maintaining language-independent test scripts, organizations can effectively test internationalized applications.
Localization and internationalization testing present unique opportunities for businesses to expand their reach and cater to global audiences. It is essential to consider these aspects early in the development process and invest adequate time and resources to ensure a successful international launch.
We would love to hear from you! Please share your comments, questions, and experiences with localization, globalization, and internationalization testing.