The terms localization and internationalization are referred to in the same context but do not mean the same. So what exactly are the terms referring to and why do they often get mixed up? What are the main differences between them and what value do they offer?
In this article, we will establish a clear distinction between localization and internationalization. We will also take you through the steps involved in both.
Localization is the process of adapting a product to meet linguistic, cultural, legal, date format and other such requirements of a particular locale or region. Localization will help you sell your product in a new area of the world, with the desired “look and feel.”
The process involves extracting all user-visible constituents of a product and adding locale-specific components along with text translation. Successful localization will help you take your product to the global market, without compromising on the quality.
The term internationalization refers to methodologies and best practices to be followed, when designing or developing a product, to enable easy localization. An internationalized product can be easily and more efficiently localized.
Do not treat internationalization as a separate step in your design or development process, but consider it as a fundamental thought in every stage. It involves following design and development practices that will prepare your product for localization.
Localization vs Internationalization
Internationalization refers to design and development practices to be adhered to for easily adapting a product to multiple locales. It means “preparing” your product for localization. Localization refers to the actual process of adapting a product for a specific locale.
Once your product goes through internationalization, you can perform localization multiple times, for various locales. An internationalized product can be easily localized, without any errors and with minimal overhead.
Globalization - The Common Goal Of Internationalization And Localization
Localization and internationalization have a common goal - globalization. Globalization is the process of developing and marketing multilingual products to people from across the globe.
If you are developing a software application or a website or a mobile app, and if you intend to make it available in multiple locales (or regions), you are trying to “globalize” your product. Internationalization and localization will help you achieve this goal - globalization.
Multilingual, Multicultural and Formatting Requirements
Your multilingual audience is also inherently multicultural. Diversity doesn’t confine to languages and cultural sensitivities alone. Different parts of the world follow different formats for date and time, decimal separators, currency, calendar months, etc. Consider the following examples:
In Germany, they use “,” as decimal separators and “.” as thousand separators. For example, the number 23.240 reads as Twenty-three thousand, two hundred and forty.
Related Post: Add Hreflang Tags to Localize Your Website
The Gregorian months are not the only official calendar months across the globe. There are few countries following different official calendars. For example, the Hijri Calendar is the official calendar in Saudi Arabia.
The images and icons used in your product should also be sensitive to your multicultural audience. Dragons may hold negative connotations in the West, but in the East, they have positive connotations.
“Globalization is a daunting task! However, it doesn’t have to be if you understand and follow best practices for internationalization and then implement localization.”
Numeronyms For Globalization, Localization and Internationalization
The terms globalization, internationalization and localization, are often abbreviated to their respective numeronyms: g11n for globalization, i18n for internationalization and l10n for localization. The numerals (11, 18 and 10) stand for the number of letters between the first and the last letter in each word.
How’s Internationalization Done?
If you are designing software, a website or a mobile app, i18n means creating a user interface that is easy to localize. It involves abstracting all localizable components out of the source code and into files that you can hand over easily for localization.
Application Framework Support
If your application framework supports internationalization, then you should use the features to design and develop your product. Some of the internationalization features to look for in your application framework are:
- Resource Files
- Resource Bundle
- Unicode Support
- Dynamic UI
- APIs (To handle multiple locales)
Designing A Localizable UI
Most of the UI errors in translation are in connection with the text. Translated text may take up less space or more, leading to your design appearing crowded or spread out.
Allow room for expansion or contraction while creating your UI. You should also take into consideration RTL languages like Arabic (right to left text).
It would be ideal to program dynamic UI expansion using features supported by your framework. For example, iOS offers the “Auto Layout” feature, using which your views realign as required for any locale. Similarly, for Android apps, you can use “Fragments” to build dynamic UI.
Externalizing All Locale-Variable Data
One of the essential practices for internationalization is externalizing all user-visible strings to a file, typically referred to as an external resource file. During localization, you will end up with multiple versions of these external resource files, one for every locale.
For example, if you are designing an iOS app, such files, containing localizable strings, are called as the Strings file. You should organize them in locale-specific directories, with one Localizable.strings file for each language you support.
How’s Localization Done?
Your “internationalized” product can be easily “localized.” By adhering to internationalization best practices while developing your product, you should have your resource files (with locale-specific data) readily available in externalized files and appropriate folders.
Extract the resource files, translate them (into every locale you wish to target), merge into your code and finally test your localized product. You are now ready to sell the product in all these regions.
Related Post: How to Localize Your Website The Right Way
Export Resource Files For Translation
Depending on who you choose as your localization partner, you may have to export your resource files into a specific format for translation.
Some companies support a variety of formats, and you may be able to upload your files directly. Other companies may ask for standard XLIFF (XML Localization Interchange File Format) files or similar formats suitable for translation. In such cases, you can use tools to export your resource files into a format supported for localization.
Translate All Locale-Specific Data
It is important that you work with a professional translator who is a native language speaker, familiar with local slang and modern usage of the language.
You can work with translation companies who specialize in localization and can assist you with smooth and hassle-free localization.
Review all translations for linguistic accuracy, quality and other such requirements. While developing your product, you should follow internationalization practices that enforce adding comments for all strings. This practice will make translations accurate and avoid errors.
Merge Localized Data With Code And Test
Import translated resource files into your application and then merge them with your code. Your application is now ready with new translations for all target locales.
Finally, test your product to ensure functional and linguistic acceptance for all localized versions. You should pay attention to layout issues, formatting errors, display, locale-specific settings, etc.
Whenever you add or modify text in your source files, you have to push them through the same localization steps.
To summarize, internationalization and localization are two separate terms, the former referring to methodologies and practices that enable the latter. Together, they create a product that offers great user experience for people from different regions of the world.
Internationalization practices during design and development will help your localization efforts to be fruitful. It will enable localization to truly reflect the native language, culture, regional and legal requirements.