What is Internationalisation (i18n) and Localisation (l10n)?

Date : 18th April 2026

Summary: Combinedly, to add a language translation functionality to a program. Separately, Internationalisation: To make a program capable of handling translation. Localisation: Provide translations.

Generally, we use the words "Internationalisation" and "Localisation" interchangeably to represent translation functionality.

However, there is a difference between these two words.

Combined, it is true that "Internationalisation and Localisation" mean adding translation functionality to a program.

However Separately,

"Internationalisation" (i18n) means making a program capable of adapting a translation, "Localisation" (l10n) means providing the translations.

For example, in Laravel, when we write

PHP

We are doing internationalisation (i18n). By wrapping content inside __(), we are adding Internationalisation (i18n) functionality to a website.

And when we provide translation .json files, we are doing localisation (l10n).

For example

lang/en.json
lang/hi.json

So adding translation is a 2-step process. 1) Make the program capable of supporting translation (i18n) and 2) provide translations to a program (l10n).

Google has such translation functionality.

Benefit:

It allows user visit your website more conveniently, as he/she is seeing content in the language he/she is understand.

Why the word 'i18n'?:

Because there are 18 characters between the characters 'I' and 'N' in the word "Internationalisation".

Why the word 'l10n'?:

Because there are 10 characters between the characters 'L' and 'N' in the word "Localisation".

If you have any questions, feel free to ask.