About Orest Ivasiv

Passionate software engineer interested in different programming languages, pragmatic approaches and performance boost practices.

Internationalization vs Localization (i18n vs l10n)

I always had a trouble how to explain this subject to other people. That’s why I’ve decided to collect the main definitions (and explanations) of internationalization and localization in one place. W3C explain this concept pretty well:

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.

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).

Let’s paraphrase these definitions based on Apple guides:

  • Internationalization (i18n) is the process of designing and building an application to facilitate localization. The main concern is that application can be adapted to various languages and regions without engineering changes.
  • Localization (l10n) is the cultural and linguistic adaptation of an internationalized application to two or more culturally-distinct markets

The primary task of localization is translating the user interface elements and documentation. Localization involves not only changing the language interaction, but also other relevant changes such as display of numbers, dates, currency, and so on. Other types of data, such as sounds and images, may require localization if they are culturally sensitive. The better internationalized an application is, the easier it is to localize it for a particular language and character encoding scheme. (http://docs.oracle.com/javase/tutorial/i18n/intro/index.html)

Definitions from Mozilla Internationalization & Localization Guidelines:

(a.k.a. Globalization, a.k.a. Enabling)
Designing and developing a software product to function in multiple locales. This process involves identifying the locales that must be supported, designing features which support those locales, and writing code that functions equally well in any of the supported locales.
LocalizationModifying or adapting a software product to fit the requirements of a particular locale. This process includes (but may not be limited to) translating the user interface, documentation and packaging, changing dialog box geometries, customizing features (if necessary), and testing the translated product to ensure that it still works (at least as well as the original).
LocalizabilityThe degree to which a software product can be localized. Localizable products separate data from code, correctly display the target language and function properly after being localized.
i18nAcronym for ‘internationalization’ (‘i’ + 18 letters + ‘n'; lower case i is used to distinguish it from the numeral 1 (one)).
L10nAcronym for ‘localization’ (‘L’ + 10 letters + ‘n'; upper case L is used to distinguish it from the numeral 1 (one)).
L12yAcronym for ‘localizability’ (‘L’ + 12 letters + ‘y'; upper case L is used to distinguish it from the numeral 1 (one)).
LocaleA set of conventions affected or determined by human language and customs, as defined within a particular geo-political region. These conventions include (but are not necessarily limited to) the written language, formats for dates, numbers and currency, sorting orders, etc.
Resource1. Any part of a program which can appear to the user or be changed or configured by the user.
2. Any piece of the program’s data, as opposed to its code.
Core productThe language independent portion of a software product (as distinct from any particular localized version of that product – including the English language version). Sometimes, however, this term is used to refer to the English product as opposed to other localizations.



Reference: Internationalization vs Localization (i18n vs l10n) from our JCG partner Orest Ivasiv at the Knowledge Is Everything blog.

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

JPA Mini Book

Learn how to leverage the power of JPA in order to create robust and flexible Java applications. With this Mini Book, you will get introduced to JPA and smoothly transition to more advanced concepts.

JVM Troubleshooting Guide

The Java virtual machine is really the foundation of any Java EE platform. Learn how to master it with this advanced guide!

Given email address is already subscribed, thank you!
Oops. Something went wrong. Please try again later.
Please provide a valid email address.
Thank you, your sign-up request was successful! Please check your e-mail inbox.
Please complete the CAPTCHA.
Please fill in the required fields.

Leave a Reply

× nine = 45

Java Code Geeks and all content copyright © 2010-2014, Exelixis Media Ltd | Terms of Use | Privacy Policy | Contact
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
Do you want to know how to develop your skillset and become a ...
Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

Get ready to Rock!
You can download the complementary eBooks using the links below: