Tutorials

Beginner’s guide to internationalization (i18n)

Ilya Krukowski,Updated on May 29, 2025·6 min read
internationalization_vs_localization

Ever wondered how apps and websites can show up in different languages with just a few clicks? That’s the magic of internationalization, or “i18n” for short (because there are 18 letters between “i” and “n” in the word).

It’s all about setting things up behind the scenes, so your product can easily switch languages, adapt to regional preferences, and feel local—no matter where your users are. In software internationalization, this means creating a product that can handle diverse languages, date formats, currencies, and cultural preferences without needing major changes to its core code.

In this beginner’s guide to internationalization (i18n), you'll learn what internationalization is all about and why it’s important for businesses aiming to grow globally. We’ll also cover real-world examples to make internationalization easy to understand.

🤓 Guide for non-tech audience: This internationalization guide is written with the non-tech audience in mind. By the end of the article, you’ll have a good idea of the importance of internationalization, especially in the context of making a software product globally accessible.

What is internationalization (i18n)?

null

Internationalization, often abbreviated as “i18n,” is the process of designing and developing a product—such as software, a website, or an app—so that it can easily be adapted for various languages, regions, and cultural differences. In software i18n, the goal is to build the product's foundation to handle diverse languages, date formats, currencies, and cultural preferences seamlessly.

The goal is to prepare the product to be “localization-ready”. This means it can support various languages, date formats, currencies, and cultural preferences without needing major changes to the underlying code.

You can think of it as setting up the foundation of a house in a way that allows different types of furniture to fit–without having to renovate the structure each time.

📝Key takeaway: Internationalization ensures the product’s framework is flexible enough to accommodate changes for different countries. This makes future adaptations smoother and more cost-effective.

Is internationalization the same as localization?

null

Although they sound similar, internationalization and localization are not the same.

Internationalization (i18n) is the process of designing and developing a product to be adaptable for various languages and cultural settings. It involves preparing the software or website so it can support multiple languages (including more complex ones, like left-to-right), date formats, currencies, and cultural preferences. 

Localization (l10n) is the next step, where the product is customized for a specific target market or region. This involves:

  • Translating text into the local language
  • Adapting visuals
  • Formatting dates and numbers according to local conventions
  • Making sure the content meets any regional legal requirements

Simply put, localized versions of the product to make it feel right for users in a specific region. Internationalization is the technical preparation of the product that enables localization.

💡Learn about internationalization from a real-life example: Lucca is a company based in France that offers a suite of HR software. Thanks to a well-thought-out internationalization process, the company managed to shorten new language release time by 8x, and finally launch new languages that they’ve been delaying for years.

No, internationalization in higher education has nothing to do with i18n in the context of preparing software for localization.

In higher education, it refers to incorporating a global perspective into the institution's activities–be it teaching, research, or campus life. This includes things like study abroad programs, recruiting international students, and collaborating with international partners. It's about broadening the educational experience to include diverse cultural perspectives.

Who is responsible for internationalization (i18n)?

null

Internationalization is typically the responsibility of developers and software engineers. They prepare the product’s code and design to support target languages and cultural settings. 

When developers make the product flexible from the start, they lay the groundwork for others. Then, translators and designers can easily adapt the product for specific foreign markets later on, during the localization phase.

Let’s say a team is developing a mobile app that displays weather information. During the internationalization phase, the developers will make sure the app is ready to handle foreign languages, date formats, and temperature units that are used across various countries.

For example, developers will take care of things like:

  • Make it easy for the text to be translated without changing the source code
  • Allow both Celsius and Fahrenheit to be shown, depending on the user’s region
  • Format dates to display as “MM/DD/YYYY” for the United States and “DD/MM/YYYY” for Europe
  • Design the layout to adjust for different text lengths

Once internationalization is complete, the localization team can translate the user interface, adjust the units of measurement, and make other necessary tweaks.

What is an example of internationalization (i18n)?

Let’s say you’re internationalizing the user interface of a software application, and you need to set up the keys for a welcome message that appears to users across different countries. For now, the software will be sold in English and Spanish.

If the key is “title”, the English version would be “Welcome!”, and the Spanish would be “¡Bienvenidos!”

null

So, when coding the dashboard language, internationalization would look like this:

confirm(t(title)); instead of confirm(“Welcome!”); or confirm(“¡Bienvenidos!”);.

On top of that, you'll need to enable cultural formatting, including number formats and systems, time zones, personal information, and text formatting.

What are the benefits of internationalization (i18n)?

Even if your app or website is currently designed for an English-speaking audience, internationalization (i18n) prepares you to expand smoothly into new markets later. Like we explained above: you’re laying the groundwork upfront, and this makes it easier to support different languages, cultures, and formats in the future.

The main benefits include:

  • Cost savings: When you plan for i18n early on, it reduces the time and money spent on adapting your product later (see more on optimizing localization costs)

     
  • Better user experience: A properly internationalized app feels local to users, no matter where they are

     
  • Faster market entry: When you're ready to expand, you can localize quickly without major changes

As you can see, it’s all about future-proofing and ensuring your product stays scalable.

What are some examples of companies that implemented i18n successfully?

When you think about apps that go global, some companies really nail it with i18n.

Take Airbnb, for example. If you’ve ever used it abroad, you’ll notice it supports tons of languages and even lets you pay in your local currency. They’ve designed the app so it feels natural no matter where you are, from adjusting date formats to language-specific details.

Or look at Netflix—they’ve gone beyond just offering subtitle translations and dubbing. The app itself is available in multiple languages, and they even tweak content recommendations based on your region. It feels like they’ve thought of everything to give you a localized experience.

There's also Spotify, which adapts its app to local tastes by offering playlists and lyrics in various languages. The interface is designed to handle various character sets, allowing you to enjoy your music seamlessly, wherever you are.

Internationalize once, translate continuously

Even if you start your business with the intention of serving a local market, you never know when you’d might choose to expand internationally. That’s why internationalization makes so much sense.

When you internationalize your product from the start, you’re building a flexible foundation that can support growth in any direction, and that gives you an absolute advantage when you decide to expand. It’s like setting up your software to speak multiple languages even before you know which ones you'll need.

Once this groundwork is in place, expanding into international markets becomes a matter of simply translating content and adjusting small details—without having to revisit the source code or core design.

If you liked this article, we’d invite you to check out other articles on the Lokalise blog. For years now, we’ve been the go-to resource for everything related to translation and localization, and we hope you’ll enjoy exploring our resources.

Tutorials

Author

1517544791599.jpg

Lead of content, SDK/integrations dev

Ilya is a lead of content/documentation/onboarding at Lokalise, an IT tutor and author, web developer, and ex-Microsoft/Cisco specialist. His primary programming languages are Ruby, JavaScript, Python, and Elixir. He enjoys coding, teaching people and learning new things. In his free time he writes educational posts, participates in OpenSource projects, goes in for sports and plays music.

Lokalise api and webhooks illustration

Building an AI-powered translation flow using Lokalise API and webhooks

Managing translations in a growing product can quickly become repetitive and error-prone, especially when dealing with frequent content updates or multiple languages. Lokalise helps automate this process, and with the right setup you can build a full AI-powered translation pipeline that runs with minimal manual input. In this guide, you’ll learn how to: Upload translation files to Lokalise automaticallyCreate AI-based translation tasksUse webhooks to downloa

Updated on July 22, 2025·Ilya Krukowski
vercel

Build a smooth translation pipeline with Lokalise and Vercel

Internationalization can sometimes feel like a massive headache. Juggling multiple JSON files, keeping translations in sync, and redeploying every time you tweak a string… What if you could offload most of that grunt work to a modern toolchain and let your CI/CD do the heavy lifting? In this guide, we’ll wire up a Next.js 15 project hosted on Vercel. It will load translation files on demand f

Updated on August 13, 2025·Ilya Krukowski
Hero GitHub

Hands‑on guide to GitHub Actions for Lokalise translation sync: A deep dive

In this tutorial, we’ll set up GitHub Actions to manage translation files using Lokalise: no manual uploads or downloads, no reinventing a bicycle. Instead of relying on the Lokalise GitHub app, we’ll use open-source GitHub Actions. These let you push and pull translation files directly via the API in an automated way. You’ll learn how to: Push translation files from your repo to LokalisePull translated content back and open pull requests automaticallyWork w

Updated on August 4, 2025·Ilya Krukowski

Stop wasting time with manual localization tasks.

Launch global products days from now.

  • Lokalise_Arduino_logo_28732514bb (1).svg
  • mastercard_logo2.svg
  • 1273-Starbucks_logo.svg
  • 1277_Withings_logo_826d84320d (1).svg
  • Revolut_logo2.svg
  • hyuindai_logo2.svg