Ever downloaded a mobile app or used a tool that didn’t quite make sense in your language? That’s where software localization comes in.
Software localization is not just about translating words. It’s about adapting your software so it feels natural, relevant, and easy to use for people across different cultures and languages. That’s how you effectively reach new customers.
In this guide, we’ll walk you through 10 best practices for successful software localization, and share examples to show how the right approach can make all the difference for your users.
💫 Get inspired: This guide includes not only the best software localization practices, but also examples from Google, AirBnb, and Dropbox. These tech giants have set the bar high, which gives software localization experts like yourself an opportunity to learn and be creative as you localize.
What is software localization?
Software localization adapts the internationalized software into other languages and regions. It can include the cultural and country-specific aspects of different languages, such as:
Example
Here’s what localization looks like in action. Let’s use dates as an example.
The United States signed the Declaration of Independence on July 4, 1776, or 07/04/1776.
That’s how the abbreviation would be written in the U.S., anyway.
But in the U.K, you’d read:
The United States signed the Declaration of Independence on 04/07/1776.
We’re still talking about July 4 in this example, just from a different date formatting perspective.
Implementing software localization requires a repeatable, solid process you can use to ensure that no matter how many languages you want to operate in, you’ll be able to do it easily and efficiently.
3 different ways to localize your software
The process of localizing your software can be approached in three different ways:
- The traditional waterfall model
- The agile methodology
- Continuous localization model
Each approach has its own advantages and challenges. Choosing the right one largely depends on your project’s specific requirements and goals.
1. Waterfall model
Waterfall localization takes place at a specific time in the software development cycle–either at the very end (a post-release method) or during a specific period (the string freeze method).
Once the translated text is completed by the service provider, the software strings are manually uploaded back into the application for merging and publishing.
Benefits |
Challenges |
Fast time-to-market in your source language, as localization starts after the product is launched |
|
2. Agile localization
Agile localization syncs the localization process with the development process so that they are both operating simultaneously. New and modified strings are automatically detected and delivered whenever they are ready for merging and publishing.
Benefits |
Challenges |
More efficiency and flexibility when it comes to your localization workflow |
More complex and can require dedicated localization engineers |
3. Continuous localization
Continuous localization is a step closer to making localization automated and seamless. While similar to agile, it fully integrates with the CI/CD method that companies use to frequently deliver software to customers.
Here’s the main difference, according to Miguel Sepulveda, Global Localization Manager at King:
“In continuous localization, the content is always ready for a release. In agile localization, the content is not always ready to be released–we need to wait until the sprint is completed.”
Benefits |
Challenges |
|
Potentially longer time to launch as localization is integrated in the product development phase |
10 Software localization best practices
Localizing your product can be a complex process, but if you keep these ten things in mind, it will become a lot easier.
❗Important note: This list is by no means comprehensive—these guidelines cover the basics to help you get set up.
1. Use separate resource files
Files with hard-coded localizable elements are a nightmare to handle, so you’ll need to start by identifying all localizable text and creating a separate file for each language you need your software to be available in. This makes localization much easier to manage.
Use file formats like JSON, ARB, YAML, XLIFF, Android Resources, or Apple strings. The choice of format depends on the programming language or framework you use.
Keep your translation content clean by nesting strings to logically group each set of translations. Also, give each string a clear name that describes what it refers to and where it goes. For example, “Primary CTA” is more helpful than “Abc”.
💡Pro tip: Create a naming convention that makes the most sense to your team. Then, use a tool like Lokalise that supports import/export functionalities for translation files in any format.
2. Manage your code to handle multiple languages
After separating your files, you should start adding placeholders in your source code.
A placeholder allows for the insertion of dynamic content, such as a character, word, or string of characters.
The exact placeholder used varies based on the technology and coding language you’re using. It tells your application that it should show the correct translation for the chosen language rather than a specific word. It looks something like this:
Along with using these placeholders, you’ll also want to avoid concatenated strings because word order and syntax vary by language, and this can make parsing difficult.
Also, make sure that you’re providing comments and context wherever you can so that your translators can understand where in the UI a given string appears and how, since this impacts the final meaning.
💡Pro tip: Use universal placeholders. This allows you to import/export your content in different file formats by converting placeholders into the format you need. Also, use a TMS that allows you to insert placeholders and, where possible, that the linguist can ideally work around.
3. Build in space as language length will change
Different languages take up different amounts of space on a page. So, you should always assume that text will grow or shrink.
For example, translating English to German can cause text to expand by up to 35%. English to Swedish, on the other hand, can contract text by up to 35%. If you’re translating into Asian languages like Chinese, Japanese, or Korean, you’ll also see vertical expansion from English.
Before you start to code, think through how different languages impact space during the design phase and save yourself headaches down the road.
Translating text first and then optimizing the UI in all languages will help you see how designs change based on the target language, helping you avoid design breaks and localization errors.
💡Pro tip: Build with flexibility in mind to ensure that your design can accommodate different translations. Check out how you can do that in Lokalise using the Figma, Sketch, and Adobe XD plugins.
4. Check that images and symbols make sense
Similarly, in the design phase, you’ll want to make sure the images are inclusive and appropriate for various markets.
In the U.S., for example, the waving hand emoji is a common way to say hello or make your text appear friendly. But in Mainland China, that symbol means breaking off a friendship — the opposite of what you probably want to convey.
You’ll want to check all of your images and illustrations, not only for potential offensive trip-ups in other target markets, but also for meaningless or confusing symbols.
5. Understand and accommodate design preferences
Understanding design preferences allows product teams to tailor their software to specific cultural and regional preferences.
Unsurprisingly, different markets have varying preferences for design styles and aesthetics.
For example, some markets may prefer minimalist designs that focus on white space and clean lines, while others may prefer more elaborate designs that incorporate more detailed information and visuals.
Example of the Starbucks website in Japan
In Japan, consumers often prefer more detailed and cluttered designs (Starbucks website on the right) that provide a wealth of information upfront, as it helps them make more informed purchasing decisions.
Western designs, on the other hand, tend to favor more minimalist and simplistic designs (Starbucks website on the left), which prioritize ease of use and readability.
Knowing how design differs from one new market to another, helps software localization teams create designs that are more appealing to local users.
6. Plan with locale in mind
Thinking about language is a great first step, but as you expand into more international markets, locale becomes more important.
Some languages may be similar, but that doesn’t mean the culture is the same. Even in English, words, phrases, and spellings may be different if you’re in the United States, Canada, the U.K, and Australia.
Think about this scenario: you specify “fr” for French as your language code but don’t take into consideration regional differences between francophone countries. What if you want to display different content to customers in Canada and Belgium?
💡Pro tip: When creating your language files and determining which languages to translate into, be as specific as possible with locale. Take French for example:
- fr-FR: French as spoken in France
- fr-CA: Canadian French
- fr-BE: Belgian French
- fr-CH: Swiss French
All of these locales will have slightly different ways of speaking, different cultural expressions, and different ways of approaching your product. This is why you need to combine globalization and localization to engage your target audience.
7. Create a style guide
In terms of terminology management, a glossary and style guide are key components of the language assets that you need to build to ensure your messaging and brand stay consistent across every market.
That’s how you build consistent brand awareness. Creating a style guide and maintaining a glossary allows your linguists to work fast while maintaining quality.
In your style guide, make sure to include:
- Branding, like product names or terminology
- Tone, especially formality and voice instructions
- Audience information, such as persona research or your value propositions
- Grammar, where applicable
If you’re working with an LSP or language partner, they should collaborate with you to create detailed glossaries and style guides to ensure consistency of terminology, style, and voice and incorporate target audience information. Check out how to build a glossary in Lokalise.
8. Use a software localization tool
You’ve seen how using a software localization tool or a translation management system (TMS) can help you easily move through the above steps.
Broadly speaking, a TMS is designed to support management of the entire workflow.
It helps to organize the localization workflow, track the progress, and reduce manual tasks via automation. While each is best-suited to a specific use case, they generally include three main components:
- Computer-assisted translation (CAT) tools
- Workflow automation tools
- Project/team management and reporting
Check out how using Lokalise makes software localization “works like magic” for Confirm, a science-backed performance review platform:
📚 Further reading: If you would like to better understand the main features a modern TMS should have in each of the above categories, take a look at this post.
9. Provide context for localizable strings
Developers should make sure that all text is properly defined and labeled in a way that makes sense for those who translate it. This means including information about where and how a string appears in the user interface, as well as what it does.
Providing this contextual information can help translators understand the nuances of each language more quickly and accurately, which leads to better quality of translated content.
For example, if you have a string that reads “cancel,” knowing whether this refers to canceling an order or canceling an appointment will make all the difference in terms of accuracy.
And remember–nuances in language may not be obvious from a single word alone.
10. Leverage translation memory
Translation memory is a database that stores previous translations and can be used to save time and money. For example, if you have a string that reads “Thank you,” translation memory can detect if the same string has been previously translated and suggest the same translation. This can save time and money by eliminating the need to re-translate the same string.
Companies that have set the bar high for software localization
Google has a team of dedicated localization experts, whose mission is to create a diverse user experience that fits every language and every culture.
Spread over more than 30 countries, they make sure that all Google products are fun and easy to use in 70+ languages—and sound natural to people everywhere, including in lesser-known languages such as Welsh and Basque.
Airbnb
At Airbnb, localization is a key ingredient in championing their mission of belonging anywhere. Recently, they expanded their innovative translation technology to include reviews. Now, guests can easily scroll automatically translated reviews in their preferred language without having to click on each individual translation, which saves time and minimizes misinterpretations.
Dropbox
Dropbox’s localization team translates the Dropbox experience for everyone to enjoy—it now supports 20 languages across 180 countries worldwide. According to Localization Project Manager Melissa Wheeler, they do that by “translating everything user-facing at Dropbox into other languages”.
Software localization for beginners in 3 steps
Getting started with software localization is like Pandora’s box. Unintentional oversights typically result in an unflattering flow that either makes or breaks one tool’s launch in a global market.
So, how can you achieve successful software localization in just 3 steps?
Step 1: Set up source files
Source text is usually stored in version control repositories like Azure Repos, GitHub, GitLab or Bitbucket.
Below are three ways to set up your source files with Lokalise:
- Pull files from GitHub and create pull requests from Lokalise
- Pull files from Bitbucket and create pull requests from Lokalise
- Pull files from GitLab and create pull requests from Lokalise
Another common development method is CLI v2, which is used by engineers who prefer using the tool. CLI tool is a wrapper for the API and can be used to upload files with a single command line:
lokalise2 file download –token <token> –project-id <project_id> –format xml –dest PATH/TO/PROJECT/locale
Once in the source repository, you’ll be able to automate key extraction and values, while mapping out relevant language translations for each key.
Step 2: Perform translation
Software localization depends on the quality of translations. You’ll need to find the right high-quality solution for your project, which will depend on the complexity of your content, your translation and localization budget, time, and other factors.
Here are some options that Lokalise offers:
- Invite in-house translators to contribute
- Hire language translators directly within Lokalise
- Use machine translations (Google Translate, Microsoft Translate, and DeepL)
- Translate with AI using context
- Do automatic checks and easily organize quality assurance
If you have complex projects that require translation certifications for a specific industry or language subject-matter expertise, Lokalise can also introduce you to one of our reputable language service partners.
Step 3: Deliver localized versions of your software
Lastly, you’ll need to transform your software project considering different cultural nuances. Cultural adaptation tackles technical obstacles. For example, you’ll have the ability to remove the number 4 (which connotes death in Japan) from text and replace it with a bullet point representation.
To verify localization at a cultural level and streamline your workflow, there are heaps of tools in Lokalise that can help–including those that will help you manage each project with ease or review translated content in context.
Something that is of great importance in software localization is translating with design in mind. This is where integrations with design tools such as Figma, Adobe XD, and Sketch come in handy.
Curious to learn more? Watch this webinar about design-stage localization.
Try Lokalise for software localization
Lokalise is an all-in-one localization platform created with software localization in mind. You can check our Developers Hub to learn more about how we can help you launch your product globally.
Sing up for Lokalise today–it’s completely free for 14 days, no credit card required.
FAQs about software localization
What is software localization?
Software localization is the process of adapting software to meet the language, cultural, and functional needs of specific regions. This includes translating text, customizing interfaces, and adjusting features to ensure the software feels intuitive for local users.
Why is software localization important?
Software localization is crucial for businesses expanding globally. It helps create software that resonates with diverse audiences, improving user satisfaction, driving adoption, and increasing retention.
What are the challenges of software localization?
Challenges of software localization include managing cultural differences, handling technical complexities, working within budget and time constraints, and maintaining consistency across multiple language versions. Strong collaboration is important to overcoming these obstacles.