Best practices for web application internationalization

best-practices-app-localizationThe world is at your fingertips. With a smart phone or a web browser you can reach the farthest corners of the globe. And the farthest corners of the globe can now reach your web based application.

When this globalization took off, many expected American cultural domination. Judging from their lack of proper web app internationalization, many developers still do. Reality says otherwise. In decades past, users had to speak English to be tech savvy or explore the wonders of the Internet. Today, users expect localized web applications. They expect them to look good and run smoothly in their own language. Users want to feel prioritized. When you fail to follow these best practices for web application internationalization your international users feel like an afterthought, and you will struggle to regain their trust.

Separate code from content

For many businesses, the first step in web app internationalization is to separate the code from the content. This is good practice on many levels. If you don’t separate code and content, your translators could introduce human errors. Your translators’ software could introduce errors by adding spaces or replacing characters. Worse still, if you translate your web app into 20 languages, you are going to have to update the same code 20 times for every minor change.

Create a web app with a flexible user interface

In web app internationalization, every user base is a princess and there are no ugly stepsisters. You must court them all as if they are your one true love. This means that your app must look its best in every language.

Directionality is important. You want your web app to be intuitive to use, regardless of language. When a user changes from a language that reads left-to-right to one that reads right-to-left, it’s not enough for the text to change direction. Many of your design elements should move as well, or your users might not even understand how to use the app. In this context, you should consider images design elements rather than content. If you have images with a natural directionality, such as flowcharts, you may need to replace them.

Dimensions are a crucial aspect in internationalization. You must always keep other languages in mind when deciding the size of design elements, such as labels or buttons. If you are not careful, you may cut off foreign scripts or diacritic marks.

You must also consider how your web app should handle overflowing design elements. Some developers give translators hard character limits in an attempt to fit localization around their existing user interface. The result is often unintelligible.  Always assume that you’re shaping the interface for the language, not the other way around. Even if the ideal is to have two buttons next to each other, make sure that you have an elegant solution for translations that run out of space.

Much of internationalization is about making your content—usually text—work for different audiences. This too is a design issue. Certain scripts are going to need their own fonts. Even a seemingly standardized font, like Times New Roman, is only designed to look good in extended Latin. Some scripts are going to need greater line height and more white space to be legible.

Make sure your content is localization-ready

Internationalization is the foundation on which localization is built. Before you hire your linguists, your content should be ready for localization.

This means that it should be separate from your code. It means that images shouldn’t contain text, unless you are also localizing the images. Localizing images might mean hiring both linguists and designers. It might also mean preparing high quality layered work files with embedded font and text data.

If you are providing your translators with strings, they should consist of full sentences or contain as much context as possible. Word order can vary greatly between languages, so short strings are a localization liability. If you are introducing variables, you should ensure that all the necessary grammatical information is contained in the variable. This includes articles—words like the or an—and grammatical number—such as the plural-s. Whenever possible, short strings and variables should come with a comment so that your translators understand the context.

Have natives test your web application translation

If you have followed the best practices for web application internationalization, your localized web app should be handsome and ready to go. That said, feedback is an important part of any successful endeavor. Have native speakers test your web app. They will help you iron out any kinks and catch any unintentional cultural insensitivity before your web app goes live.

Internationalization done right both simplifies your localization process and shows your app users that they can trust you to understand them.