React Component Library: Develop a Multilingual App

Posted by Zain Sajjad on November 18, 2019

GSD

The vast majority of the world population doesn't speak English. In fact, just over 1/7th of the world speaks the language. Two solid reasons why developing a multilingual app is critical to success when designing an app that reaches a broad audience. If you want to serve a global audience, you must create an app that makes switching languages simple, easy, and stress-free for the user while also not sacrificing excellent web design or, worse still, relying on Google Translate. 

However, creating an excellent multilingual app requires significant time, effort, and resources and usually the assistance of a specialist translator. There are many factors that go into creating a globally targeted app, and gathering all the information and resources to do so is tricky. 

Thankfully, we’ve simplified what you need to develop a multilingual app. In this article, we'll discover how to create an outstanding multilingual app, what the benefits are, and how the React component library provides all you need to achieve it. We have a lot to get through, so let's dive in. 

What is a multilingual app?

In short, a multilingual application refers to an app or website available in several languages. It means the entire website, from the design to the content and features, can adapt manually or automatically to suit the language preferences of the individual user. With a multilingual application, you create a better user experience for significantly more people and tap into a vast audience base.

Why do you need a multilingual app?

Other than creating an excellent user experience for all users globally and expanding your audience, there are many reasons why a multilingual app could be worthwhile. Whether you're an international enterprise or a local business targeting local users, we live in an increasingly multicultural world, so having an application adapted to different languages helps you serve a wider audience better, regardless of language or culture. 

According to WeGlot, 73% of customers prefer to purchase from a site that provides information in their own language. In addition, language-optimized apps provide a better user experience, reduce churn and abandonments while simultaneously increasing trust. 

This leads to an awesome snowball effect of reaching more happy users and, best of all, more conversions and sales. Let’s dive into those benefits in more detail. 

See how Butter's simple content API works with your React app

Benefits of a multilingual app

Creating a multilingual app in 2023 is a highly lucrative method of growing your business, increasing sales, reaching more people, and developing something with more downloads and higher usage rates. Here are the fantastic benefits you’ll gain from your multilingual app. 

Reach a larger user base

Did you know about 75% of the global population doesn’t speak English at all? So if your application only targets the remaining 25%, you miss out on huge revenue potential. But developing a multilingual app allows you to tap into a more extensive user base. Many users worldwide have the same goals, hopes, dreams, and fears as your customer personas; only you’re yet to connect with because of location and an application that doesn’t allow for other languages and accommodate cultural differences. 

When it comes to a website or app, language is a fantastic method of nurturing long-term customers and increasing conversions. In contrast, it can have an adverse effect, creating a usage barrier and leading to high bounce rates. A well-developed multilingual app allows users anywhere to connect with your app. 

Reduce bounce rates

While marketing campaigns and SEO strategies are great, if users find your application difficult or annoying to use due to a lack of language options, it renders those campaigns useless.  Not to mention the frustrating user experience and high bounce rates. In addition, if you rely solely on automated software or Google translate, you expose yourself to imprecise translations and confusion. This software often leaves out crucial details and creates an incredibly frustrating user experience. 

Earn your customers’ trust

Not only does your multilingual app help create a better experience, but it also does wonders for earning and retaining your customer's trust. According to a CSA study, if a potential customer can't read it, they won't buy it, simple as that. The study also suggested that 72% of people surveyed were more likely to buy when something was produced in their native language. In addition, it shows high effort and professionalism when users interact with your brand. 

Why use React for building multilingual apps?

React has all the components required to create a fantastic multilingual app. Typically, there are two methods of constructing a multilingual app using React.Js. 

Mobile Settings - The most popular method of developing a multilingual app is coding GPS functionality into your application. This method allows you to change the default language based on the user’s location. For example, if you use a website in the United States, it will appear in English. But visiting the same website in Brazil and the page will automatically display in Portuguese. This enhances user experience but can also be frustrating for those using your app from multiple locations, such as when traveling.

Default Language - Alternatively, you can allow users to set their language. While you'll still have a default language, users can select their preferred language via a simple, easy-to-use menu using icons and flags in the top corner of the homepage, for example. Now we know what a multilingual app can do, what are the best React components for building one? 

Because you can choose between components of all languages, you can easily choose what you need to create your app in any given language, following either one of the two structures on React. Let's dive into the best React components to help you build your multilingual app. 

Best React components for multilingual apps

Personalized content, push notifications, offline content, and instant updates are just some of the advantages of apps today. Mobile applications provide a great user experience, and developers often use React (and, in many cases, a React CMS) to quickly build these apps across different platforms.

React offers different libraries and already-written components to add internationalization to the apps. Significantly reducing time and costs for the developers, these international libraries allow the app to function and be supported in any language around the world. 

While there are many international libraries to choose from, we have analyzed the top 4 React Component Libraries.

React-intl:

Developed on top of FormatJS with the backing of Yahoo, React-intl is the most popular library for the internationalization of React applications. It is built upon JavaScript Intl built-ins and industry-wide i18n standards. From a syntax perspective, it mimics the ICU Message syntax that is widely used in PHP & Java as well. Library provides React components and an API to format dates, numbers, and strings, including pluralization and handling translations. Being the first in React’s i18n arena it enjoys the wide adoption & large community.

React-i18next:

Developed on top on i18n, react-i18next has a philosophy very similar to ReactJS; Learn once - translate everywhere. i18n community has developed a lot of integrations to use it with many frontend frameworks and languages. It has a wide variety of plugins and utils to provide some out-of-the-box solutions around the internationalization of apps. Some of these are a plugin to detect user's language, loading & caching translations that might be handy for large-scale apps. For translation files, i18next gives you the option to separate translations into multiple files and load them on demand. For small apps, you can have a single translation file to keep things simple. There are many modules built for and around i18next: from extracting translations from your code over bundling translations using webpack to converting gettext, CSV, and RESX to JSON.

React-intl-universal:

react-intl-universal was developed by Alibaba Group and has all the goods of react-intl available along with the support of using it in Vanilla JS. Alibaba feels the basic issue with react-intl is it can be applied only in view layer such as React.Component along with few others

@lingui/react:

React wrapper of LinguiJS, is the smallest of all i18n libraries available today for react applications. Like react-intl it uses ICU messages syntax that makes it easier to adopt in applications already built using other libraries. On top of all goods of react-intl, it supports rich-text messages and provides macros to support messages in Vanilla JS i.e outside of React components. It also has a powerful CLI tool to manage all of your translation workflows.

Challenges to building a multilingual app

While there are some fantastic benefits to developing a multilingual app, the process isn’t without challenges. Here are the biggest hurdles to overcome when developing your app. 

Correctly translate the content

One of the most considerable obstacles developers must overcome is correctly translating content, as there is much more to language translation than meets the eye. For example, cultural differences, idioms, etiquette, and values change drastically between countries that speak the same language. 

In addition, you'll need to choose between machine translation and human translation, both of which have their own pros and cons. While many sophisticated algorithms produce high-quality translations, this software is still not to the same standard as expert human translators. Machines lack the creativity of humans, so choosing automated software won't achieve the same results as hiring an expert. However, finding a translator proficient in multiple languages is tricky, costly, and time-consuming. 

Add the date and time correctly 

Language preferences come with various time and date format preferences, so the way in which a date is displayed or the preferred time display differs from country to country. For instance, DD/MM/YYYY is common in the UK, while in North America it’s (MM/DD/YY). 

This means you’ll have to accommodate the multiple time zones and date formats when developing each language. You can correctly add dates and times for multiple locations and formats by avoiding hardcode and creating specific codes for each location. This is also true of symbols, currencies, and measurement units.  

Adapt designs to the target language

Another huge obstacle to developing a multilingual app is adapting designs around translations. For example, Japanese, Arabic, Korean, Finnish, and German have significantly more words than English. In most cases, you’ll need to alter the design of a page or interface to allow for more characters and use icons and images more culturally appropriate for the target language audience. 

Avoiding concatenations when programming is the best practice for developing multilingual apps.  With many languages containing more words than English, translated pages can take up significantly more space on a page. So that beautifully looking box widget and carefully curated border will need adapting to accommodate the increase. 

Best practices for building a multilingual app

With plenty of challenges to overcome when building your multilingual app, there are some best practices you must follow to ensure the finished product is outstanding. 

Conduct appropriate audience research

The goal here is to Identify target languages and locales. Conducting thorough research will give you valuable insights into the unique cultures of particular locations; here, you'll learn which types of people are interested in your app, unique cultural aspects, and phrases unique to specific areas/cities. This knowledge puts you in a formidable position to create a highly effective well-resonating page. 

Know the target language’s culture

While changing designs and copy into another language is one thing, something often overlooked is the cultural changes within regions and countries. Colors and images evoke different emotions and feelings in different cultures. For example, many large global brands adapt their designs depending on the country they are based in, as colors evoke vastly different meanings across cultures. While you will want to keep colors and designs the same to align with brand consistency, these meanings must be considered when adapting pages. So understanding any target language's unique culture is essential to maximizing how effective your translations are. 

Use local expressions and language patterns for app marketing

Using local language expressions changes drastically from city to city. For example, some phrases may be said in one town, whereas the same term wouldn't make sense in another. Knowing the language inside out and the culture means you better relate to specific audiences and create a highly personalized user experience. 

This is where the creative human mind is prevalent over automated translations. Here you can use creativity to integrate expressions into your app interface or use them in website banners to truly resonate with a specific group of people—a potent form of marketing. Using local expressions considers how locals speak the language and make it feel like the interface has been designed specifically for them. 

Consider visual element adaptation 

We’ve already touched on how you'll need to change your designs for different languages. But this is one of the more critical aspects of designing an app that looks amazing. Many of your visual elements must be chopped and changed accordingly. For example, that clean bordered box with the icon next to it could have text spilling over the border and now look terrible. 

In addition, many icons and images represent different connotations in different parts of the world. For example, in the United States and Europe, many e-commerce websites use the shopping basket icon as the items to purchase area. However, in Asia, many users prefer a shopping bag icon. A tiny, seemingly insignificant detail, but one that adds to adds significant meaning to your app's user experience. 

Create cohesive branding guidelines 

Because you’ll need to change many design elements and parts of your application, it’s easy to lose consistency within your designs. You’ll need to create and document a style guide to stick to when translating all your pages. This way, you can keep things consistent and professional throughout all pages, no matter which language they are displayed in. 

Test & review your app at all stages 

The importance of testing goes without saying. As with all development processes, you must test your app before applying it. Ensure the copy can be read as intended, and the designs look sharp and align appropriately with your brand guidelines and adjusted designs. 

Don’t gardcode 

Hard coding can lead to headaches and complications when working with translators and editing code later on. One of the biggest mistakes you can make regarding your multilingual app code is using text embedded into the code. For example, dates, times, currencies, measurement units and symbols are used and interpreted differently across the globe, so instead of hardcode; you must use localized strings to cover the variations. 

In addition, if you have a hardcode in multiple areas within a system, you must remember where it is should you need to make changes! It is also vital to store all the words and language on your website separately, outside your main code. This way, you eliminate the risk of changing something incorrectly or misinterpretation by the translator. 

See how Butter's simple content API works with your React app

How to launch a multilingual app (step-by-step) 

Decide between human and machine translation

This will largely depend on your budget and project scope. You save time, money, and effort with machine translation, but the results will be average at best. Whereas if you spend the extra money hiring a translation expert, you get incredible, well-translated copy complete with all the local phrases and expressions to truly resonate with your audience. 

Use the whole locale

Using a language range rather than a direct translation means you support date formats, alternative spellings and city-based language differences. There are many tiny differences between different locales within any given language. These differences can change meanings so they are crucial to consider during the development process. For example, there are many spelling differences between American, British, Australian, and Canadian English, with words like “color” changing to “colour” and the use of Oxford commas. 

Don't concatenate

All languages have unique principles and rules, so avoid using concatenations and strings. Concatenations don't always translate perfectly, so programmed in this way can cause headaches when the new target language is constructed differently. 

Plan your UX/UI for localization

While language is one thing, allowing for extra text when translating, you'll also need to consider the change in size between more appropriate icons and images. So when planning your UX/UI, you must allow for changes, extra room, and more culturally relevant elements. While you’ll want to be consistent with your branding, this could mean your pages differ significantly between and even within certain languages. 

Always be testing

Only publish your app or page after thorough testing. Seeing how the new text fits into the design, reads well, and is culturally appropriate are all vital considerations before going live. In addition to the technical side of your testing, it’s equally important to conduct audience testing. While your app may be technically brilliant, users may interact with it differently from how you predicted. Monitoring how your audience interacts with the app will allow you to continuously develop and refine the experience. 

Multilingual apps done right

There are some great websites and apps which have achieved outstanding multilingual experiences. Here are some of the best examples we’ve found. 

Ubersuggest 

SEO expert Niel Patel's website Ubersuggest is a rare example of a multilingual application in use. Whenever you log onto the website, the user interfaces automatically change based on the IP address of the user.  While this could frustrate some users when using from a different country, for a website with a large global audience, this type of multilingual setting is a no-brainer. 

Cakemail 

The email marketing platform, Cakemail is another excellent example of a multilingual website in use. The Montreal-based business utilized its two main target audience languages beautifully on the site. While there are only two language options available, it is seamless to switch between English and French on any blog or web page. 

Ikea 

For a company as large and as continent-spanning as Ikea, serving a multilingual audience is critical, and so the Swedish furniture giants have prioritized this across their site. Ikea displays different photos based on the preferences of the audience in a particular country. For example, in Sweden, the designs are super minimalistic, whereas, on the UK version of the site, the image displayed on the homepage is more geared toward the Ikea shopping experience. 

Closing thoughts 

Numerous factors go into creating awesome multilingual apps, but the payoff is more than worth it in the long run. If you’re a developer or business owner who wants to make this type of resource reach a broad audience and genuinely grow your audience, a multilingual app isn’t an added luxury but an essential one. 

While there are many steps, carefully considering each, planning, and tackling each one at a time help you create an incredibly comprehensive, inclusive app with all languages covered. An app anyone can use anywhere and help create a positive snowball effect of reaching more users, a great user experience, and ultimately, more conversions.

If you want to learn more about how to make an android app multilingual or create a multi-language app for IOS, please contact us today and discover how React library can help create your dream multilingual app. 

If you work with large-scale projects, here's a great React best practices guide I wrote.

Some other popular React articles on our blog:

Make sure you receive the latest React articles straight to your inbox.
    
Zain Sajjad

Zain is a Senior Frontend Engineer at Peekaboo Guru. He is passionate about anything and everything React, React Native, JavaScript & Mobile Machine Learning.

ButterCMS is the #1 rated Headless CMS

Related articles

Don’t miss a single post

Get our latest articles, stay updated!