Nowadays, most software is designed for thousands of users around the world. The need to satisfy multinational users is called Globalization. Let’s see what it means.
What does Globalization mean?
First of all, it’s important to clarify both localization and internationalization terms.
Internationalization (sometimes written as I18N) refers to the process of designing an application to facilitate localization. On the other hand, localization (often written as L10N) involves adapting cultural and linguistic elements of an internationalized application to two or more culturally-distinct markets.
Here is a more detailed description:
Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes. Localization is the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text.
When we talk about ‘Globalization‘, we’re referring to the combination of internationalization and localization.
Which are the globalization steps?
The internationalization and localization process could be divided in two phases. As the chart above shows, Phase 1 (internationalization) includes the planning and preparation stages for a product which is built by design to support global markets. In order to ease the subsequent adaptation of the product, all cultural references should be removed. If this content is not separated during this phase, it must be fixed during localization, causing waste of time, stress and expense to the project. Regarding Phase 2 (localization), it encompasses the adaptation of the product for a particular locale using regional spellings and idioms specific to a culture (writing systems, written characters, icons, images and colors, dates, times, weights, measures and currencies).
At the end, each phase concludes with an extensive and thorough testing and quality assurance process to ensure the product works properly and meets the client’s quality expectations.
Main points of internationalization and localization to take into account are the following:
3. Conventions and formats
Testing a Globalized Software
Before starting, I always recommend setting as many environments as languages you need to test. Suppose someone is working on a website that needs to be translated into French, Spanish, German, and Chinese languages. A good choice is to create many virtual machines and adapt them to the requirements of each language by installing the appropriate MUI (Multilingual User Interface) pack, its current location, default keyboard layout and regional currency/date format. By establishing these International Testing environments, you’ll be able to emulate the same conditions as the end user has.
I would like to mention that, due to its nature, there are no many tools to help us to automate the testing effort. However, we can use others that could make the work easier (e.g.: Lingoport’s Globalyzer, W3C Internationalization Checker and Fake language testing. Please, see Useful tools section below for further details).
The key is to keep the focus mainly on systems of numerals. Currency, date and time formats are the most common issues and the ones that will require greater efforts from the tester. Special care is needed here; is not the same $ 1,000 than $ 1.000. When system fails to recognize the decimal separator or the digit grouping symbol, a big problem arises.
Imagine the impact that your business would suffer if one thousand is confused with one dollar or if an important date, e.g. July 4th (07/04) is confused with April 7th (04/07).
Another important step is to ensure all phrases are grammatically correct and readable. In some cases, there is a tendency to translate word by word and not the complete sentence. This causes the translation to be inappropriate leaving the sentence without sense.
Moreover, internationalization testing should cover the UI (menus, buttons, labels, fonts, dialog boxes, images) aside from the spacing requirements introduced by translation. For example, German or Korean words occupy more space than English words so buttons and labels should have a larger width to accommodate for longer text in these languages.
It should also cover data storage which includes files and databases. In the case of files, a good practice is to set a compatible encoding and avoid the default encoding. Furthermore, databases should support Unicode characters to allow special characters like the ones that Russian language use.
Summing up, both Internationalization and localization involve a great effort and occurs as a fundamental step in the design and development flow, rather than as an afterthought that can often involve awkward and expensive re-engineering. However, it is an essential process in such a globalized world.
– http://www.lingoport.com/globalyzer – Lingoport’s Globalyzer is a tool which does static code analysis to identify internalization issues and help mitigate them.
– http://validator.w3.org/i18n-checker/ – W3C Internationalization Checker performs various tests on a Web Page to determine its level of internationalization-friendliness. It also summarizes key internationalization information about a page, such as character encoding and language declarations.
– http://www.snowcrest.net/donnelly/piglatin.html – Fake language testing uses software translators to catch the translation and localization issues early. This also ensures that switching between languages works properly and correct messages are picked up from proper directories that have the translated messages. Fake language testing helps in identifying the issues proactively before the product is localized.
December 03 / 2019
November 26 / 2019
November 20 / 2019
December 03 / 2019
As the saying goes, “culture eats strategy for breakfast”. But for fast growing companies, how do you maintain your culture? How do you avoid losing it, as you bring...Read post