In today’s world, fueled by the internet, the boundaries between markets are getting blurred. It has become necessary for companies to develop products that are truly global in nature and work across markets. Developing for a global context allows improved scalability, interoperability, usability and reliability while giving the application a true competitive edge. That being said, there are some elements to be considered in the process of developing a global application, as outlined below.
Key considerations for developing a Globalized application
- The application developed must be sensitive towards the diversity in language, culture, currency, timezone, etc. when it is targeted towards a wider audience.
- It is necessary to modularise the application and separate the code from user interactive messages to avoid redesigning the entire software when it is targeted to support multiple languages.
- Most important of all, it is crucial to perform globalization testing to identify potential issues that might hinder the application from delivering the user experience it was designed for.
Internationalization (I18N) is a practice and a mindset adhered during product development. It aims at enabling the application to be flexible for a different locale or a target market without involving any complex redesign. I18N is about developing a more accommodative application that functions independent of any location specific information. For example, using a broader UTF-8 like format for encoding of characters instead of using a relatively specific encoding format like latin-1. It enables the application to accept a wider range of inputs. I18N is basically about making the software locale-friendly and to support any language or location setting currently available.
Localization (L10N) is the process of adopting the application to one particular language or region, to support inputs specific to the local context. It focuses on usability of the software for a subset of users specific to a language or locality. L10N majorly includes translation of information and text, format of number, currency, dates, etc., Typically, translators and language experts are involved in the process as the vocabulary used in the application has direct impact on user experience.
I18N and L10N form the two layers of globalization. Both are interconnected, but exist at two different levels and require people with different skill sets. If good Internationalization is done, the localization process becomes easier. So it is crucial to exhaustively include all elements in the source code for thorough Internationalization.
Globalization testing involves validating the functioning of application across international language inputs. Internationalization testing and localization testing are two subsets within globalization testing. I18N testing verifies the adaptability of the software for different languages and locations. On the other hand, L10N testing assesses how well the software has adapted to a particular language or region by verifying it against input character sets specific to the region or language. The main purpose of globalization testing is to identify the potential blockages at the design level, that would hinder the application from becoming globally adoptable. Globalization testing also requires the involvement of language experts, which is not one of the core competencies of product companies in general. Hence, it is a good strategy to outsource the testing process. Globalization testing services and localisation testing services are offered by many third party Quality assurance partners. With the expertise and experience in the space, they have set processes and best practices in place.
5 aspects to be considered during globalization testing
- It is really important to involve translators and language experts to verify the vocabulary used in the application. The text and user interactive messages used will have to be verified by switching to all supported languages.This will help in keeping the customer experience consistent across all languages. Linguistic testing to ensure the cultural context of the translation is retained is very important, herein.
- The layout of the components and User interface is highly likely to be altered based on language. Depending on the language chosen, the User interface might have to be changed partially or completely. Testing must ensure the test and UI components are not cluttered or affecting the usability of the application in any way.
- Countries not just operate with different currencies; the way denominations are represented is also different across regions. For example, comma and period are differently used across regions while representing decimals in denominations. So if the application involves handling of currencies, it must be thoroughly tested for any discrepancies in this front.
- Formats of date and time used vary across different parts of the world. The testing process will have to validate the appropriate date format for the test locality targeted. Also, it is important to verify if the application is displaying the correct time according to the timezone of the locality
- Difference in international input types must also be tested in case of applications involving forms asking for user inputs. For example, forms might include fields like phone number, zip code etc. which are represented in different formats in different countries.
Globalization Testing allows the application to effectively leverage the customer base in a newer market. It also brings other benefits like reducing the overall testing and support costs, making the application more flexible and scalable and reducing the time-to-market.
Globalization as a mindset, can never be an afterthought for any business that is planning to establish their presence in a global market. Planning will have to be done much earlier in the development cycle for internalising the necessary practices throughout the development process.