What is Internationalization (i18n) in Software?
The world of localization is full of different terms with different meanings. Newcomers commonly get overwhelmed when asking what is internationalization (i18n), localization (L10n), globalization (g11n), transcreation, or translation.
This article is all about making internationalization easier to understand while also helping you tell the difference between these various terms. So, without any further ado, let us get right into it!
What is Internationalization/i18n in Software?
When translating a piece of text, you’ll often find that the translation differs in length compared to the original language. For example, “Hi” can be translated to “Konnichiwa (こんにちは)” in Japanese; a word that’s five times lengthier!
Under most circumstances, the length of words and sentences is not an issue. But if you are translating an app, website, or email, you want to make sure that the translated text is not breaking the (UI) User Interface. Τhat’s internationalization in digital content!
i18n is mainly done with developers creating the platform while keeping character length and reading order (Right to left or left to right) for different languages in mind. So, that’s the main process of internationalization.
But it also often includes things such as:
- Date formats
- Support for various characters
- Support for various forms of currency
- Complying with local regulations
- And more, depending on what you are trying to internationalize
Basically, internationalization refers to building and maintaining a platform code-wise that is going to work internationally without any issues. Once that’s done, you can then start thinking about localizing your content and/or product.
Fun fact: “18” in i18n stands for the number of characters between “I” and “n” in “Internationalization”.
Localization VS Internationalization
In contrast to internationalization, localization (L10n) has more to do with content rather than software engineering.
In short, localization is all about taking content and making it more suitable for a specific locale. Hence the name, local-ization.
It’s worth keeping in mind that translation is not the same as localization, but it is a part of it. Generally, you have the option of localizing various types of content, such as:
And more, depending on the product, website, app, or content that you are localizing.
Ideally, internationalization comes before localization, so that you’ll be able to smoothly localize without any issues.
How to Localize Internationalized Software
So, your app and/or website have been internationalized properly and is now ready for localization. Now what?
Localization is a tough and complicated process. Two of the most popular ways to do it are:
- The old-fashioned way of using spreadsheets to manage everything
- Or relying on a Translation Management System
Translation Management Systems, such as Transifex, are often preferred as they offer invaluable features that make localization much easier, faster, while also cutting down on expenses.
Character limits, for example, is a TMS feature that you can use to restrict translators from using more characters than the target UI can handle. Thanks to that, you won’t have to worry about someone ruining the UI then spending extra time trying to locate and fix the issue.
Features like these are but the tip of the iceberg. At its core, a TMS is a centralized content management and team management tool. Think of it like WordPress for bloggers or HubSpot for social media managers and marketers.
That is why a TMS is the first thing to check out if you want to get into localization.
Cloud-based solutions, in particular, such as Transifex Native, are the future. After all, you can use them to automatically make push & pull requests, and take a load off an engineer’s shoulder, among other things.