The world we live in has hundreds of languages written and spoken. For many languages, there are multiple locale variants that are popular around the globe. The same is true within the world of internet and software; people are interacting with each other in more languages than we can imagine.
Here is a list of the major internet languages:
Most countries carry out the main chunk of their trade practices in their native language. People are not readily willing to change from their local language to an internationally accepted language like English. So if we launch our recently developed software product, which is in English, into other locales, the customers there might not prefer it because of the language difference. To combat this, we should localize our products to increase both engagement and revenue from international markets.
Localization is the process of adapting a product or service to a particular language, culture, and desired local “look-and-feel.” Translating the product’s user interface is just one step of the localization process. Resizing dialogs and adding buttons to accommodate longer translated strings is also part of localization.
Take, for example, the number format 1.234. In the US, this number would read as “one – point – two – three -four,” whereas in the Czech Republic, the number would read as “one thousand, two hundred and thirty four.”
A locale defines specific linguistic information and cultural conventions such as character type, collation, format of date and time, currency unit, and messages. There is a locale database for each locale.
This refers to a broad range of engineering and business development processes that are necessary to prepare and launch products and company activities globally. The global engineering activities are composed of internationalization and localization, while the business development activities focus on product management, financial, marketing, and legal aspects.
Internationalization is the process of designing an application so that it can be adapted to various languages and regions without engineering changes. Sometimes the term internationalization is abbreviated as i18n, because there are 18 letters between the first “i” and the last “n.”
Products that are localized to international markets often face domestic competition, which makes it critical for the localized product to blend seamlessly into the native language and cultural landscape. The cost of a localization effort can be significant. Once you have the strings translated and the GUI updated, localization testing should be used to help ensure that the product is successfully migrated to the target market.
A separate test plan is written for localization. It is similar to test plans for English products where localization specific data is added, such as:
Localization testing begins as soon as translated strings appear in the software.
Checklist for L10n testing:
While doing localization testing, we get to test m languages on n number of platforms. Therefore, the total testing efforts would be to test all the English test cases on m*n combinations, which would be too much effort for a localization team.
To solve this problem, the localization team created an optimization plan to find out where to not test. In the optimization plan, we try to leverage testing done on one locale of a similar code page.
Below is an example of an optimization plan where we are not testing on German Windows 8.
|Win8.1 (32/64)||Win7 (32/64)|
|Japanese||Set 1||Set 2|
One example is the garbage characters that show up in the French build of a website:
Another example is the appearance of English data on a French build:
Another example is the currency sign mix-up – this currency should be shown in Euros, not US Dollars.
Another common issue that crops up is hot keys not working on localized builds. We have also found some bugs that caused the UI to not display properly at certain resolutions.
In localization testing, most of the tasks are performed manually as we need to read the text, we need to check the layouts, etc. All of these things require manual intervention because only humans can recognize these things. However, there are still some scenarios where we can use automation, such as:
If the application is built with the practices of internationalization and localization, then there are some property files that are 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 has made it possible to automate internationalized applications, because test scripts are written only for the base version and easily executed for all languages.
The Selenium and Imacro tools can be used for the automation of localization testing.
Explore here for more sample test cases.
This is all about the basics of localization testing. We have tried to capture our experience, best practices, and tips that can help even a beginner to start with localization testing.