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. Effective translation management system supports the localization process by maintaining consistency.
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.
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.
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 software 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.
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.
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!”);.
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. What is localization?
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.
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.
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.
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.
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. In some cases, business translations are enough to convey the message.
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.
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.
The International SEO Checklist: Go Global Without Growth Pains
International SEO is just SEO set on difficulty level: hard. Pick the wrong URL structure? Rebuild everything from scratch. Misunderstand local search behavior? Watch your content strategy crumble. Skip proper hreflang implementation? Google shows Hindi content to German users. The brands winning at international SEO don’t simply wing it. They follow a systematic approach to handle market research, technical setup, localization, and more. That’s why we created th
All You Need to Know About Vendor Management in Localization
You decided to open your product for the world to discover. Congratulations! Translation is one of the next steps to open the doors of the global marketplace. One problem: you do not have an in-house translator team, and now is neither the time nor the priority to hire them. One solution: connect with vendors who will assist you in your localization projects. One better solution: discover vendor management in loc
5 Best Translation Management Systems to Make Projects Easy
The traditional translation management system (TMS) is dead. It doesn’t support the many moving parts of the multilingual content lifecycle, such as managing linguistic assets and syncing with design systems to integrating with codebases, automating QA, and coordinating stakeholders across functions. Modern TMS solutions go far beyond translation. They bring together translators, developers, marketers, and designers under one roof. But with dozens of transla