Skip to main content
Development

i18n / Localization

Internationalization (i18n) prepares software for multiple languages. Localization (l10n) adapts content, formats and cultural conventions to a specific target region.

Global markets require software that works in different languages and cultures. Internationalization (i18n) and localization (l10n) are the two disciplines that make this possible. i18n provides the technical foundation – e.g. externalizing text and flexible date formats – while l10n handles the actual translation and cultural adaptation for language, currency, privacy law and conventions. Companies that plan i18n from the start save large costs when expanding into new markets.

What is i18n / Localization?

Internationalization (i18n – 18 letters between 'i' and 'n') is the process of designing and building software so it can be adapted to different languages and regions without code changes. This includes: moving all user-visible text into translation files (e.g. JSON, XLIFF), supporting Unicode/UTF-8 for all scripts, flexible date, number and currency formats, and layouts that handle text expansion (e.g. German ~30% longer than English) and right-to-left languages (Arabic, Hebrew). Localization (l10n) is the subsequent process of actually translating and culturally adapting for a specific market – including images, colours, legal text and regional norms. Both processes overlap and should be planned in parallel.

How does i18n / Localization work?

In practice all visible text is moved into key–value files (e.g. de.json, en.json, fr.json). Frameworks like react-intl, next-intl, vue-i18n or Angular i18n load the right language at runtime based on browser locale or user choice. Pluralization, gender forms and interpolation (e.g. 'Hello {name}') are handled via ICU Message Format or similar. Date and number formatting use the browser Intl API or libraries like date-fns and Luxon. Translation management systems (TMS) like Crowdin, Phrase or Lokalise manage translation workflows with translator access, context screenshots and sync with the code repo.

Practical Examples

1

Next.js webshop: An online shop uses next-intl with separate JSON files per language and automatic locale detection for DE, EN, FR and ES.

2

Mobile app with React Native: A travel app uses i18next and react-i18next for 12 languages, including RTL for Arabic and dynamic pluralization.

3

SaaS dashboard: A B2B tool shows numbers, currencies and dates in the correct format per company location (1,234.56 € vs. $1,234.56).

4

E-commerce platform: Product descriptions, T&Cs, privacy and checkout are localized per market, including local payment methods.

5

CMS with multilingual: A headless CMS (Strapi/Contentful) manages content in 8 languages with translation status per article.

Typical Use Cases

Global software launch: New application released in several countries at once

E-commerce expansion: Shop expands into French and Spanish markets with localized product pages

Compliance and law: Legal text (T&Cs, privacy, cookie banner) must be adapted per country

Accessible multilingual: Public and government portals must be multilingual and accessible

Partner portals: B2B platforms serve international partners with their own language and format settings

Advantages and Disadvantages

Advantages

  • Market reach: Enter international markets without rebuilding the software
  • Cost efficiency: Early i18n architecture avoids expensive retrofits
  • User experience: Localized software is perceived as more professional and improves conversion
  • SEO: Multilingual content with hreflang improves visibility in international search
  • Scalability: New languages can be added without code changes – only new translation files

Disadvantages

  • Upfront effort: i18n architecture, externalizing all text and TMS setup take time at project start
  • Text expansion: German and French can be 30–40% longer than English – layouts must be flexible
  • Translation quality: Machine translation alone is rarely enough – native translators with domain knowledge are needed
  • Maintenance: Every new feature must be translated and tested in all languages – effort scales with language count

Frequently Asked Questions about i18n / Localization

What does i18n mean and why the number 18?

i18n is short for 'Internationalization' – the 'i', 18 letters, then 'n'. Similarly l10n is 'Localization' (10 letters between 'l' and 'n'). These abbreviations have been standard in software since the 1980s.

When should I start with i18n?

Ideally from the start. Externalizing text, using UTF-8 and planning flexible layouts cost little extra at the beginning. Retrofitting i18n into an existing app is often very expensive because hard-coded strings and fixed layouts are scattered through the code.

Which tools are there for i18n in React/Next.js?

Popular libraries: next-intl (for Next.js App Router), react-intl (FormatJS, ICU Message Format), i18next with react-i18next (framework-agnostic). For TMS: Crowdin, Phrase or Lokalise – all with GitHub/GitLab integration for syncing translation files.

Related Terms

Want to use i18n / Localization in your project?

We are happy to advise you on i18n / Localization and find the optimal solution for your requirements. Benefit from our experience across over 200 projects.

Next Step

Questions about the topic? We're happy to help.

Our experts are available for in-depth conversations – no strings attached.

30 min strategy call – 100% free & non-binding

What is i18n / Localization? Definition, Benefits & Examples