How We Localized Our Website In 9 Languages In Under One Week (And You Can Too)

May 18, 2021

We live in a global world. Technologies have reshaped the way we communicate and consume content. Today, we can access valuable information from every corner of the Earth (and even space) in a matter of seconds. For individuals, businesses, and governments, this represents a unique chance to reach a global audience effortlessly. Sharing knowledge, selling products and services, or simply spreading the word about meaningful initiatives can be done in various languages nearly immediately with the help of new tools and straightforward processes. In this post, we will take a look at our recent localization experience and share insights on how you can rapidly and accurately localize your website. Let's get started!

Some of our first interactions with brands happen through their websites. Surprisingly, even businesses claiming to have a "global presence" don't have localization strategies in place. That's not the sort of impression you want to make to your target audience. But impressions aside, avoiding localization can also impact your sales.

Back in 2020, research company Common Sense Advisory (CSA) conducted a survey outlining the effects of localization for B2C and B2B businesses targeting global audiences. The study involved 8,700+ consumers in 29 countries, and it analyzed experiences in their mother tongue versus foreign languages such as English. Results speak for themselves:

  • 40% of customers won't buy in another language;
  • 65% of website users prefer content in their native language;
  • 73% of customers want reviews of products in their language;
  • 65% of website users prefer content in their language;
  • 75% of respondents want product information in their native language.

5 Steps To Localize Any Website

1. Define a localization strategy

With more than 6,500 languages out there, it's only normal to feel overwhelmed when trying to meet the growing demand for multi-language content. That's precisely why the first step to localize your content is to define strategy. Having a clear understanding of what you want to achieve in terms of localization will speed up the entire process.

Simply put, localization strategy refers to the general plan for adapting your content to other markets. Of course, you should do so in a way that's aligned with your brand goals. Localization isn't just about translating words. It's about optimizing how you present information based on language, cultures, social norms, and more. One of the world's most epic localization fails is the KFC China case. When the famous fried chicken chain landed in Beijing, the original slogan "finger-lickin' good" was translated as "eat your fingers off." Needless to say, that didn't quite please Colonel Sanders.

Like many organizations around the world, we first launched our website in English. But since our company assets target multiple geographical areas, we understood localization was a must to properly promote our products and ensure a quality communication flow with all audiences. Your localization strategy should cover the following things:

  • Understand which countries you want to target
  • Identify key differences in culture and social norms with target markets
  • Determine translation guidelines into target markets (tone of voice, designs, etc.)
  • Set roles in the localization process (managers, developers, translators, QA, etc.)
  • Set KPIs to measure localization results (sales, SEO, traffic, etc.)

For us, this translated into the following:

  • We identified our target geographical zones, which covered nine additional languages: Spanish, French, Italian, Korean, Chinese, Japanese, Hindi, Russian, and Turkish.
  • We analyzed our content for potential "trouble points" and consulted with translators before starting with the overall localization process.
  • We created translation guides for translators, indicating key brand messages, suggesting variants for each language, outlining the tone of voice, etc.
  • We clarified the roles of each person involved in the localization process. In our case: Manager, Developer, Translators & QA.
  • We defined localization KPIs: organic traffic, visit duration, SEO ranking keywords.

2. Select & install a localization software

Finding a Translation Management Software

A translation management software (TMS) is essential to speed up the process. These third-party applications are connected to your website and offer your team a single-access platform to collaborate. In other words, a TMS acts as a coordination agent between all parties involved in the localization process. As a general rule, your TMS should include:

API: This enables your development team to quickly integrate the TMS with your website, import locale files, and interact with the data smoothly. Collaboration feature: Let everyone collaborate with the project in real-time and save valuable time. The ability to set collaboration roles and editing rights will protect your project and guarantee higher efficiency. Translation memory: One crucial aspect of quality content is consistency. This feature helps translators consistently use the same terms and avoid different expressions that confuse website visitors.

Before jumping into the details, let's put you in context with our website architecture. uses Strapi — an open-source, fully customizable content management system (CMS) — as a back-end solution. Strapi is a headless CMS, which means it only stores content units, and it does not control how or where content is displayed. For our front-end, we use Nuxt.js.

Our website was launched at the end of 2020. At the time, Strapi didn't offer a feature to handle this important matter. For that reason, we explored various third-party localization platforms such as Crowdin, Smartling, Transifex, and Lokalise. We went with the latter.

Important: If you're working with Strapi now and still haven't initiated your localization process, keep in mind that Strapi v3.6. does already include the Internationalization feature. With it, you can create and manage content in multiple languages and locales.

Connecting Lokalise to Strapi

Strapi fetches translations from Lokalise every ten minutes. The CMS saves these translations into a special content module called Translations. This module consists of a list of key-value pairs — where the key represents a unique identifier for a piece of original content and value hosts the translation. The front-end application can then use these keys.

But let's don't ahead of ourselves. Before using translations for the front-end, we need to upload the original website content to Lokalise. To do so, it's vital to divide content based on its interaction with the CMS (in our case, Strapi). When doing so for Sensorium Corporation's website, we came up with two types: static and dynamic.

As anticipated by these names, static content refers to pieces of content scattered across markup files stored in the website's code repository. In plain English, static content is typically created once and rarely updated. Common examples of this category are page and section headers, minor descriptions, footers, among others.

The second type of content, referred to as dynamic, is the one stored in the CMS. Classic examples include blog posts, team members, press releases, etc.

Wondering why we had to categorize content? Simple. Each of these categories required a slightly different approach when integrating Lokalise.

When it came to static content, we picked the correct translation from the list of languages using the standard Nuxt.js package (nuxt-i18n) since texts are stored in the code. On the contrary, dynamic texts are kept inside the CMS and had to be first fetched by Nuxt.js and only after displayed as-is. To that end, we delegated the translation picking to Strapi.

Static content

To make static texts translatable, we created key-value pairs in a particular file and used that key instead of text inside the website's code. When the website's server is launched, new keys are uploaded to Lokalise. A piece of general advice is to upload only new keys as those previously created might have been somehow modified by the content manager through Lokalise's web interface.

Now, every time a user switches languages, Nuxt.js fetches translations from the CMS model (remember, Strapi regularly fetches all up-to-date translations from Lokalise and saves them in the Translations module). Then, the standard Nuxt.js package replaces texts for all the keys in the website's code.

Dynamic content

The algorithm for dynamic content gets a bit more tricky. When the content manager creates or edits texts on the CMS web interface, the platform (Strapi) analyzes whether localization is needed and, if required, automatically uploads it to Lokalise.

While translators do their job via Lokalise and have no interaction with Strapi, regular fetching ensures that all up-to-date translations are eventually saved to the CMS.

When users switch to a non-original language (other than English in our case), the front-end fetches CMS content for the selected language. Strapi then substitutes translatable parts of CMS content with correct translations and returns it to the front-end and the user.

3. Build a network of translators

Depending on the scale of your localization operations, there are different ways to approach the work with translators: translation agencies, in-house employees, or freelancers.

While hiring a translation agency is still a widely popular method, we believe working directly with professionals is a more sustainable choice. Why? Creating a long-lasting relationship with translators might be a bit harder initially, but it will ensure fluent communication in the future.

In-house employees are a valid option for large-scale operations. Unless you have a constant flow of new content needed in multiple languages, hiring freelance translators is a great option. You can build a relationship at a fraction of the cost of an in-house employee. Platforms such as Freelancer, Fiver, or UpWork are excellent destinations to start your search for reliable and affordable localization professionals.

4. Translate, review, approve & repeat

Using a TMS puts your team one step ahead of the game. Since translators can directly input the texts on the platform, developers have little to no interaction with the process. Managers, proofreaders, and QA can rapidly review and approve new keys, publishing localized content into the website in a matter of minutes.

A key benefit of collaborating under a TMS like Lokalise is that we are able to work with a continuous localization flow. In simple words, this means that localization is structured as a continuous flow of work instead of a sprint. This is primarily due to the fact that the TMS empowers translators and managers, reducing interactions of the IT to upload strings or push them from production to live.

5. Measure the impact of localization

Last but not least, measurement. While some of the tips above can help you implement a sound localization process without breaking the bank, localizing your website or other company assets is a business decision and should not be taken lightly.

One of the great advantages we found in Lokalise is the integrated QA checker. This feature automatically spots potential issues related to language use, layout, and more.

To understand whether your localization is positively impacting your website performance and overall business objectives, here are some everyday things to look at:

  • Organic traffic (quantity)
  • Session duration (time)
  • Number of ranking keywords
  • Conversion rates
  • Multilingual social engagement

The Bottom Line

Proper localization can turn out to be highly beneficial for your organization at levels. As the Internet continues to become a more accessible source of information worldwide, global businesses need to adapt their messages to each community.

As this case study outlines, localization can be easily implemented with ready-made solutions out available. Hopefully, this short guide will inspire you to research the topic and potentially plan your localization at the nearest time.

Stay up to date

*By subscribing to our newsletter, you agree to receive marketing emails from Sensorium.