Home / Solutions / EffectiveSoft Blog
Request for quote

How to Design an App That Looks Perfect in Any Language

How to Design an App That Looks Perfect in Any Language

English is believed to be a "lingua franca", and over 400 million people use it as a mother tongue while another 400 million people speak it as their second language. That is why the IT industry has chosen English as a unified language for numerous software solutions development. But let's be honest. People would rather use an application in their native language, no matter how well they know English. Even if you have a stunning app designed in English, but there is not a perfect one but in the end-users' native language, they will definitely choose the second option. To be competitive on the market it is wise to develop a solution that supports at least several languages. Here are the most valuable aspects that play an essential role in multi-language application development.

Internationalization and Localization

These processes are crucial in multi-language app design. Internationalization helps to build a framework for supporting several languages. Localization, in its turn, makes the system support a particular locale. An accurate choice of the infrastructure and tools for the solution lets the developers localize and adapt the solution to any language. Let's see how localization and internalization occur.


UI gets much attention during the development process while the users judge the application primarily by its appearance - interface. It is necessary to start the UI design for a multi-lingual solution with the identification of all its parts that may be localized.

  1. Design the app that accommodates with various fonts and text lengths. For example, developers avoid fixed length constraints and allow resizing when it comes to mobile apps.
  2. Make the user interface look perfect in any language. IBM gives useful tips how to count the additional space to rely on while translating from English. In order to avoid space and volume mistakes, consider the following requirements:
    • the usage of narrow columns
    • text on pictures
    • font's compatibility with the languages
    • embedding UI-elements into sentences
  3. Adapt colors on the basis of cultural peculiarities because colors have different meanings in some countries. If necessary, change culture-specific images and place them in separate resources.
  4. It is also a good idea to use flags that symbolize countries where these languages are spoken.

Flags symbolize countries
source: razerzone.com

But there is a problem. There are a lot of countries with similar official languages like Portugal and Brazil or with more than one language like Canada or Switzerland.

Technical Aspects

Choose the development technology carefully. For example, today Java is widely used for multi-language apps development. For mobile apps development it is a good idea to use globalization APIs to display such data as time, dates, currencies and numeric values.

Separate the code from the text. If you develop a mobile app, for example, keep the string files you want to localize in the res/values folder.

Make default language identification easy. Every modern solution chooses the language according to the language of the device. Another question is the choice of the language which differs from the system's. There are several approaches how to solve this problem. See how Apple offers the developers with language identification.

Multi-language Solution Testing

Before launching the solution should be tested from the linguistic and localization points of view. To check all the necessary aspects it is better to engage native specialists. The most important things to test are:

Important Factors to Bear in Mind

There are several things to consider when it comes to a multi-language solution.

When choosing between automatic and professional translation it is better to give priority to professional translators. Automatic translators should not be used because it is impossible to translate idiomatic expressions or play on words correctly without understanding the sense and context. Misunderstanding will not bring additional points to the app’s usability. A professional native speaker that possesses your expertise is the best option.

It is also very important to choose an appropriate font. It is especially significant for the languages with non-Latin alphabet. The main idea is to make the font compatible with all the languages of the solution.

There are some tools that provide fonts for non-Latin languages, e.g. urwpp.de. It is vital to use different fonts for languages with different word length or at least take it into account during the translation. Chinese or Japanese characters are complex and have many smaller details that must be large enough to be visible.

Language Questions

Let's take a closer look at language issues. The more users the solution counts on, the sharper is the language issue. The structure of the language requires much attention. If the languages are European, it would be easier to adapt an app to any of them.

European-style Languages

Most of the European languages share similar alphabets and are written in a left-to right format.
But there are still nuances. Some languages have a far more complex morphology system than others. For example, the word "vehicle" (7 letters) in English sounds like "Bewegungsmittel" (15 letters) in German. The so-called ‘text-swell’ takes place and makes the localization process more difficult and time-consuming due to the space restrictions.

Right-to-left and Vertically Written Languages

There are several languages with right-to-left and bidirectional text support, e.g. Arabic, Hebrew or Farsi. It relates not only to the content. People also scan pages from right to left. There are also languages like Chinese, Japanese or Korean that are written from right to left in vertical lines. People need a solution that is able to meet these requirements.

For websites use RTL layouts support. It allows mirroring and provides great experience for all the users whether their script is left-to-right or right-to left. DuoLingo uses Sass with bidirectional layouts.

Bidirectional layouts
source: duolingo.com

Use the dir="rtl" attribute to set the text direction. It is supported by the majority of browsers. HTML looks like:

<body dir="rtl">

Not only the text but also all the sidebars, images, scroll bars should be mirrored. All these transformations should be reflected in the incline code by embedding RTL snippets.

Business Issues

Before starting to design a solution, it is wise to consider which markets you are going to enter. That is why create the app that initially supports the language of the target audience. Otherwise, the solution will not be popular making the presence on the country's market ineffective.

Creating software products not only in English but also in the languages that are not widely spoken will give you the competitive advantage. It is a great step forward that helps to win the competitors, which do not bother to expand the language options.
As you see, there are a lot of difficulties to cope with on the way to creating a perfect multi-language solution. There are a lot of technical and linguistic factors to bear in mind while developing a solution that supports several languages. Numerous tools for app design today give the opportunity even for small businesses enter new markets with the localized versions of the products. Providing the end users with the possibility to have the solution in their native language will open new markets and multiply the number of happy clientele.

February 7, 2018

Leave a Reply

Your email address will not be published. Required fields are marked *