Internationalization vs. localization (i18n vs l10n)

Internationalization vs. localization (i18n vs l10n): What’s the difference?

While Internationalization and localization are often used interchangeably, they actually refer to two different processes. Internationalization involves building software in a way that allows you to adapt it to various languages and cultures, while localization is the process of actually adapting software to a specific language or culture. 

So it’s not a question of one vs. the other. Internationalization and localization are just as important as each other in software localization.

In this blog post, we’ll take a closer look at the differences between the meanings of both internationalization (i18n) and localization (l10n), why they’re important to create a truly global product, and how they work together.

Start internationalizing your code

Automatically detect and extract hardcoded strings all at once with i18n ally.

Free plugin

To learn more, jump to internationalization vs. localization. Pressed for time? Read this 5-point summary:

  • Internationalization (i18n) is the process of designing and developing software or products that can be adapted to different languages and cultures, while localization (l10n) is the process of adapting a product or content for a specific locale or market. 
  • Internationalization involves designing products with language and cultural differences in mind, such as using Unicode character encoding, avoiding hard-coded text, and leaving enough space for text expansion.
  • Localization involves translating, adapting, and customizing a product to meet the specific linguistic, cultural, and regulatory requirements of a particular market, such as using local date and time formats, currencies, and units of measurement. 
  • Internationalization is usually done first, before localization, as it lays the foundation for adapting a product to different languages and cultures. 
  • Internationalization and localization are important for businesses that want to expand their reach globally, as they allow companies to provide a more personalized and relevant experience to their customers in different regions.

    Internationalization vs. localization

    To develop software for a global audience, there are two critical phases: internationalization and localization

    First up, what is internationalization? 

    Internationalization is called i18n (because of the number of letters between “i” and “n”) and involves designing and developing your software or mobile application so it can be adapted and localized to different cultures, regions, and languages.  It’s typically done by software developers and engineers.

    A blackboard with the word "Internationalization" written in big letters with chalk. A line between "I" and "N" is drawn and the number of characters between them is counted, which is 18. Finally, the letters in between "I" and "N" are replaced with "18". So the end result is "I18N"
    Why i18n?

    A simple way to think about it is neutralizing code, content, and design so that, down the road, it’ll be easier to adapt your product to additional cultures without having to completely re-engineer it.

    If you’re starting from scratch then internationalization helps you build your software or mobile application product with future markets and languages in mind. Instead of hardcoding each individual language, internationalization prepares your codebase to receive different configurations based on your target language(s). It replaces code with key placeholders that — when localized — automatically retrieve each target language without requiring fundamental engineering changes.

    Essentially, this step lays the groundwork for software to be tailored to the needs of different target markets.

    Without internationalization, it would be hard and time-consuming to adapt or localize software to different regions and languages.

    Even if your initial product design and launch is for an English-speaking audience, internationalization allows you to support other languages and cultures if you do decide to expand to additional markets in the future. 

    An image showing a robot saying 'hello world' and then wearing different traditional outfits for different countries, while saying 'hello world' in German, French, Arabic, and Japanese. This represents how internationalization works, where a software or application is designed to adapt to different languages, cultures, and regions.
    How internationalization works

    Internationalization is typically a one-time cost. So the more languages and cultures a product is localized to, the greater the return on investment for internationalization. 

    Internationalization (i18n) Example

    Let’s say you’re internationalizing the dashboard of a software application, and you need to set up the keys for a welcome message. 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!”

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

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

    An illustration of a welcome page in a moble app, showing how each language-specific version retrieves data from the 'title' key so that the correct language displays. in this case, Welcome and Bienvenidos.
    Setting up keys for a welcome message in different languages

    This same process would also work for locale-specific time formats, date formats, currency, and other components.

    Instead of coding the software for each specific language, the internationalization process replaces that code with keys — this not only makes for easy localization, but it also neutralizes the code and adapts it for various languages you may introduce in the future.

    In addition to creating placeholder keys, internationalization involves some other best practices:

    • Enabling cultural formatting, including number formats and systems, time zones, personal information, and text formatting
    • Organizing your source code
    • Optimizing for your code language (at Lokalise, we support all major code languages and frameworks, including Python, Vue, Java, and Rails)

    What is localization?

    While internationalization lays the groundwork for adapting products to various cultures and languages, localization takes it a step further. Localization involves translating and adapting the content and design of your software, mobile app, or website for international audiences

    Also known as l10n, localization is typically carried out by translators who work on the user-facing components of software or mobile applications.

    However, localization is not just about translating languages. It also involves customizing elements like time and date formats, currency, accounting standards, culturally appropriate images, symbols, and hand gestures, as well as spelling and other locale-specific components. 

    Here’s an example of localization 

    Let’s take the example of localizing a product for the Arabic market. Arabic is a right-to-left (RTL) language, which means that not only do you need to translate the content, you also need to re-design the interface. 

    While localizing your product for Arabic, you discover your internationalization team failed to implement the correct code to allow for both left-to-right (LTR) and RTL designs. Making it impossible to correctly display RTL text. Developers will need to allocate additional resources and time to correct the issue, resulting in delays to the product release. 

    When engineering teams know that word order changes, page direction is reversed, and special characters have to be handled differently in some languages, they are able to internationalize code the right way from the get-go, making localization a lot smoother.

    An illustration of an app showing left-to-right, right-to-left, and top-to-bottom text for Latin, Arabic, and Japanese.
    How text is read in different languages.

    Localization (l10n) Process: Adapting Software for Specific Markets

    Localization comes after the internationalization phase. However, localization is rarely straightforward. During localization, it’s not uncommon to discover words, phrases, or user interface (UI) elements that were incorrectly internationalized during the initial phase. This can require additional development work to ensure that the product is fully adapted and tailored to the target market. 

    To make the localization process more efficient, you should:

    • Create separate resource files for each language, which store all the text outside of the code for your product. This allows you to import and export information without harming your code. 
    • Naming conventions can help translation management systems like Lokalise to pull the correct translation for each code string. You can learn more about the wide variety of file formats that Lokalise accepts to help you streamline the localization process.
    • Another useful step in localization is pseudolocalization, which involves “testing” the space that different languages will occupy in your final design. This allows you to understand the expansion, contraction, or vertical space needed without actually having to conduct a translation.
    The user interface of the psuedolocalization feature in a translation management tool. Showing how you can increase text length y 35 % to cater to other languages, in this case German. The CTA for 'Add to cart' is a lot shorter in English than in German, which translates to 'In den Einkaufswagen'
    How the pseudolocalization feature in Lokalise works

    Did you know that an English to German translation can expand the text by up to 35% Pseudolocalization allows you to take this into consideration as you build the initial code and design your product. 

    At Lokalise, we integrate with tools like Figma and Sketch so you can see how your designs will change throughout the localization process.

    Internationalization vs. localization: Both are important!

    While internationalization and localization are two very different processes, they do share a common goal: globalization (g11n), which is when businesses expand their international influence or operations into new markets. 

    Both internationalization and localization play an important role in optimizing your software or mobile application for different locales and different countries. By combining the two — and using a translation management system like Lokalise — you can make it easier to build and transform software so that it’s ready for release in target markets.  Have you already internationalized your code? If yes, then move onto the next phase: localization. Try Lokalise for free for 14 days.

    FAQs

    What is the difference between internationalization and localization?

    Internationalization is the process of designing and developing software or applications to be accessible and adaptable to different languages, cultures, and regions. Localization is the process of adapting software or applications to meet the language, cultural, and other requirements of a specific target market or locale. While internationalization creates a framework that supports multiple languages and regions, localization involves customizing the software or application for a specific target market or region.

    When should I use internationalization vs localization?

    Internationalization should be implemented during the design and development phase of a software or application to ensure that it can support multiple languages, regions, and cultures. Localization should be used when you are ready to adapt your product to a specific market or locale. The timing of these processes will depend on your business goals and target audience.

    Talk to one of our localization specialists

    Book a call with one of our localization specialists and get a tailored consultation that can guide you on your localization path.

    Get a demo

    Related posts

    Learn something new every two weeks

    Get the latest in localization delivered straight to your inbox.

    Related articles
    Localization made easy. Why wait?