L10n and i18n are abbreviations for rather long words Localization and Internationalization. All over the world they’ve been used by teams responsible for those two subjects, and so on they were abbreviated to just containt first and last letter, with count of letters between them.
You can write it in pseudo code as:
12 "L" + length("ocalizatio") + "n" => "L10n";"I" + length("nternationalizatio") + "n" => "i18n";
Localization (often referred as localisation) term is used to describe all processes that makes your solution ‘local’-specific for users in different country. W3C describes it as:
Localization refers to the adaptation of a product, application or document content to meet the language, cultural and other requirements of a specific target market (a locale).
So as ‘local’-specific I mean every nuance that’s understood and applicable to only people from that one specific country. It can include date formatting, timezone or even search results (vide Google search results in China).
Did you know that even first day of the week can be different? For America it will be Sunday, Europe will start week on Monday and in Middle East it’ll be Saturday.
Internationalization(often reffered as internationalisation) is the process to make your application world-wide ready. So it can be for example creating global gateway for your website which can send users to their localized websites or just preparing code and database to handle currency depending on users region. Let’s again refer to W3C definition:
Definitions of internationalization vary. This is a high-level working definition for use with W3C Internationalization Activity material. Some people use other terms, such as globalization to refer to the same concept.
Internationalization is the design and development of a product, application or document content that enables easy localization for target audiences that vary in culture, region, or language.
So i18n is more abstract term which is all about making your code ready for some locale-specific or global-ready adaptations.
So What Is The Difference?
If you’re working on i18n, you’ll be thinking about global process, so your solution will be applicable to many different countries. You’ll need to design your database schema to handle time in some universal reference format, your templates will be ready for handling different languages written left-to-right (LTR) or right-to-left (RTL).
L10n will be almost always split into one-country contexts, so you’ll need to identify what’s the basic currency in country or how to format it. You’ll need to answer question what texts or symbols can be misinterpretated in given culture. Hopefully date, collation and other formatting concerns will be handled by specific libraries which i’ll surely analyze somewhere in next posts.
To sum up: i18n, as a process, enables L10n support for many countries.
That’s just first of my posts. Please leave a comment or drop me a message if you like or dislike it. Your feedback is invaluable!