Localization vs Internationalization
It is rare that a product or service would only need to be localized to just one language for one region. This is where internationalization comes in. An internationalized product design is one that can accommodate any localized content. It 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 at a later stage. Characters in non-western, double-byte languages having the ability to expand as in European languages and contract as in Asian languages, Unicode characters display, and a database that supports Unicode characters are all examples of internationalization design. Internationalization is also written i18n, where 18 is the number of letters between i and n in the word internationalization.
Many companies make the mistake of adopting localization towards the end of the development process or just before the product launch. To combat this, we first need a localization strategy.
To prepare for localization testing, it is advised to first start with localizability testing. The purpose of localizability testing is to verify that the UI of the program being tested can be easily translated to any target language without re-engineering or making code modifications. In other words, it is a test for the readiness of internationalization. Since localizability bugs must be fixed in the code of the application, they ought to be uncovered at the earliest stage of development. If you did that, you can avoid having to fix bugs for every language version at a later point. There are, however, still bugs that are visible only after localization has begun.
After this preliminary step of localizability testing, you are to proceed to the actual localization testing. The main focus of localization testing is to ensure that the product is ready for a particular language of a region. Functional testing on the native-language build should already be completed with all functionality related defects identified and removed. Afterward, localization testing should focus on several areas according to language prioritization. The first priority involves items often altered during localization, such as the UI and content files. The second area consists of culture, language, and country-specific items such as configurable components: region defaults, default language, language-specific, and region-specific functionality: default spelling checkers, speech engines, availability of drivers for local hardware, and so on. Other areas of localization testing should include basic functionality tests; setup, upgrade and uninstall tests that are run in the localized environment. Finally, application, hardware, and platform compatibility tests should be done according to the product’s target region.
Localization testing is performed to verify the quality of a product for a specific culture or locale. A locale defines specific linguistic information and cultural conventions such as character type, collation, date and time formats, currency unit, and messages. Localization testing is performed only on the local version of the product to ensure the application can be used in that specific region without problems. The following are the main areas of localization testing:
- User Interface and Content Files
- Language/copy context
- Platform compatibility