It may seem like the internet is all in English, but that’s not actually the case! Most of us like (and expect) to interact with websites and applications in our first language. We also prefer to shop using our own currency. According to Shopify, 33% of e-commerce shoppers will abandon their cart if their currency is not offered during the sale.
While many people around the world speak English, only about 5% claim it as their mother tongue. That means if you rely on English and a North American perspective to build your digital products, you may have trouble connecting with users in other parts of the world.
So how do you offer the best user experience when you’re ready to expand to other corners of the world? When you’re ready for globalization, you’ll also need internationalization and localization.
Confused? No problem! Let’s start by breaking down the terminology so you can tackle creating a product your users will love, no matter where they live.
Let’s talk about those funny short forms
L10… what?! You may have seen that odd combination of letters and numbers around. What does it mean?
L10N = Localization
I18N = Internationalization
G11N = Globalization
These short forms come from taking the first and the last letter of each of these (very long!) words plus the number of the letters between them.
Easy enough, right? So what do they actually mean?
What is internationalization?
Internationalization means setting your product up during the development and design process so it will operate correctly, no matter where the user is or what language they are using. The process helps prevent serious issues that could cause your program to crash when adding new languages or regional settings.
Internationalization involves several key steps that include:
- Considering how much space text in other languages will need in the design (For example, a German translation can take up to 35% more space than its English source.)
- Enabling Unicode to ensure the product can handle different types of text like bidirectional text, vertical text, and Asian characters
- Separating localized content from source code so it can be pulled out and translated as needed
- Saving strings into separate translation files for each potential language
All these steps help facilitate localization if and when it needs to happen. Historically, companies built apps in their own language. If they decided to market internationally, they’d have to build regional differences into the app later. They’d have to do it for each target language separately, which was complicated, time-consuming, and expensive.
In today’s competitive, global environment, developers realize how important it is to make apps, websites, and software available worldwide, so they incorporate the process into the early stages of development.
What is localization?
Localization comes after internationalization and happens at the user-interface level. Buttons, menus, labels, and any other text within the product must be translated.
Localization involves adapting the software or documentation for a specific locale with specific language and regional features. These all work together so people anywhere can use the product intuitively. You might think this just means translation, but there’s actually quite a lot more involved.
You’ll need to consider other features that vary according to language and location, such as:
- Currency
- Date and time formats
- Units of measurement
- Types of keyboard
- Cultural variations for images and icons
Currency seems like an obvious change you might need to make, but what about symbols and gestures? You might think certain expressions are universally positive, but others might not receive them that way. In Iran, for example, a thumbs-up has a meaning similar to raising a middle finger in North America. Likewise, Brazilians might see the 3-finger-up “A-okay” as rude, so you'll want to consider images or icons accordingly.
A typical localization workflow
Here’s a basic idea of the steps you might go through during localization:
- Internationalization – The developer completes the process and passes the product on to the localizer.
- Extraction – Next, the localizer will extract the necessary files from your product.
- Transfer – Files are then moved to a Translation Management System (TMS), such as Smartling, Lokalise, or Transifex.
- Translation – The TMS will translate the files into the target languages. Real human translators still play a big part in reviewing TMS-translated strings and making adjustments or translating from scratch if the TMS can’t step in.
- Merge – Translated files will be pulled back into your product.
- Build – The version is completed and ready for testing!
- Test – The product will be reviewed for accuracy and tested to make sure the layout, display errors, formatting, and regional settings function as expected. Special attention is paid to making sure texts fit into the components they apply to, that they don’t get cut off or covered up, and that the layout makes sense—for example, if the source language is read left-to-right and the target language is read right-to-left, changes may need to be made to make sure that steps in the flow or pieces that build upon each other are displayed correctly.
Localization can be a slow process if you add new features or content to your product regularly because doing it properly requires several iterations, involving both computers/automated processes and human translators/reviewers. However, a localization platform is helpful because it can efficiently localize, translate, and merge new content, especially where there is repetition. In addition, a TMS like Lokalise can integrate with design tools (e.g., Figma and Sketch), so you can see the impact of different languages right inside your design.
How are internationalization and localization-related?
Internationalization and localization are essential to the development process if you want to launch your product internationally. The primary goal of both processes is globalization or expanding into worldwide markets. If you plan to localize your product, you’ll need to internationalize it first.
Internationalization only needs to happen once. Then, you’ll be able to add additional languages quickly and inexpensively. When both processes are done well, a user in any target country, speaking any language, should feel like the product was built just for them. Isn’t that what globalization is all about?