Skip to main content

What is i18n (Internationalization)?

Glossary image
Internationalization i18n

Internationalization, commonly abbreviated as i18n (the letter "i", eighteen letters, then "n"), is the process of designing and building software so that it can be adapted to different languages, scripts, and regional conventions without requiring changes to the underlying source code. The abbreviation itself follows the same logic as l10n for localization: counting the letters between the first and last character of the word.

The distinction between internationalization and its close relative, localization (l10n), is important to understand. Internationalization is the engineering work done upfront - structuring an application so that text, dates, currencies, and other locale-sensitive content are separated from the code itself. Localization is the subsequent process of actually translating and adapting that content for a specific market. You internationalize once; you localize many times.

In practice, internationalizing a web application involves several layers of consideration. At the most fundamental level, the application must be able to handle text in any language, which means adopting a character encoding standard capable of representing the full range of human writing systems. Unicode, and its most common web encoding UTF-8, is the universal standard that makes this possible, covering everything from Latin alphabets to Arabic, Chinese, Hebrew, and beyond.

Beyond character encoding, a properly internationalized application externalizes all user-facing strings into resource files or translation catalogs, rather than hardcoding text directly in templates or components. This separation allows translators to work on content independently without touching code. The application also needs to account for text directionality, since languages like Arabic and Hebrew read right-to-left, requiring layouts that can mirror themselves. Date formats, number separators, currency symbols, and plural rules also vary significantly between locales and must be handled dynamically rather than assumed.

For web developers, frameworks and platforms typically provide built-in i18n support or well-established libraries. JavaScript ecosystems offer tools such as react-intl, vue-i18n, and the native Intl API, which handles locale-aware formatting of numbers, dates, and strings directly in the browser. On the server side, content management systems and backend frameworks generally include their own internationalization layers.

From an SEO perspective, internationalization is also a prerequisite for effective multilingual search optimization. Search engines need clear signals about which language and region a page targets, typically communicated through hreflang attributes, locale-specific URL structures, and properly encoded content. A site that has been internationalized correctly provides the technical foundation for those signals to work as intended.

Investing in internationalization early in a project is significantly less costly than retrofitting it later. When an application is built with locale-awareness from the start, expanding to new markets becomes a matter of adding translations and regional configurations rather than refactoring core architecture.

Have a question?

Get in touch if you'd like to learn more about this topic.

Contact Us