We are two developers working on small casual/puzzle games. So obviously we don’t have the same localization budget as bigger companies, neither the same needs as for more complex games. Based on this statement, we start to build our own localization strategy. In short: let’s start early and small.

1) Why start early?

Below are some aspects of the localization process. There are highlighting why you should work early on your application localization. By early, we mean at the design stage.

Let’s use styles.xml resources from the beginning. Because some Asian alphabets are too difficult to read when using a bold text style. With styles.xml, you can set the text style to bold for Latin alphabet and to normal for Asian alphabets. You can even increase the readability for Asian markets using a slightly bigger font size for them.

(picture by Jesse Burgheimer)

Use an utility method to display the numbers and the dates correctly in Hindi or Arabic languages. Especially if you plan to implement a leader-board. It is as simple as:

return NumberFormat.getIntegerInstance().format(integerToDisplay);

correctly in Hindi or Arabic languages. Especially if you plan to implement a leader-board. It is as simple as: The text strings don’t have the same length in all languages. It must be taken into account from the beginning at screen layout design stage. In addition, don’t hesitate to implement a custom TextView that manage text auto resize like in this StackOverFlow post, or the native TextView autosize coming with Android 8.0 (API 26).

Avoid text when it can be replaced by some well known icons. For examples: “play”, “rate”, “share”, “next”, “previous” and so on…

Be careful when choosing your games and company names . At minimum, you should simply check with Google translate that the candidate names do not have an odd meaning into one of your targeted languages.

. At minimum, you should simply check with Google translate that the candidate names do not have an odd meaning into one of your targeted languages. In Asia, especially in China, some numbers have strong meanings. So avoid to use numbers into your application name without checking their meaning are appropriate. For example: The numbers 6, 8 and 9 are generally considered to be auspicious (8 sounds like “to prosper”). While 4 and 7 are considered inauspicious (4 is nearly homophonous to the word “death”). Floors 4, 13 and 14 are omitted in some Chinese buildings. (source)

Some icons/symbols could be misinterpreted in some countries. Just avoid them. For example: finger signs, crosses, crescent moon… For instance, we remove all ambiguous abstract symbols from our Connect game:

Don’t insert text into the pictures embedded in your application. The right approach is to separate the picture and the text. Then, on top of the picture, you add programmatically the localized text managed through the strings.xml Android resources. It’s then a lot faster to support a new language or to update the graphics.

In conclusion, if you plan to localize your application (and you should seriously consider it regarding the revenue increase opportunity it represents), we believe you should think about it at the design stage. Otherwise, it could lead to expensive rework.

2) Let’s start small

only few strings

only few languages

doing it ourselves

Usual statements about localization:

We read a lot of interesting articles about localization. But also a lot of advertising articles trying to convince developers there are only two ways to localize, summarized in those statements:

either you pass through an expert company on translation and you will succeed,

or you try to do it yourself and you will fail (yes, some marketing campaigns are based on customer fear).

The way we choose:

Indeed, we believe the truth is somewhere in the middle, and that the localization process can be phased. That’s why we decided to start localizing our games ourselves in few languages. And later, depending on the success of our applications, it might be worth paying for professional translation.

Why this way?

The localization is “only” a way to multiply your revenues. And the success of an application is uncertain at its beginning. So, to ensure our first revenues, we decided to allocate only a small amount of time for the localization, and keep most of our effort on the development itself.

About doing translation by yourself:

When translating yourself, it usually takes a lot of time to reach an acceptable result. It is nonetheless feasible to do it on your own, by limiting the number of Strings to be translated, using some tools and some free online resources (let’s see paragraph 4 below). In addition, some of our good friends from different nationalities reviewed some of our translations. Don’t hesitate to leverage your network, keeping in mind only native speakers can really validate translations.

3) Targeted languages selection and prioritization

We started our first game localization with the most often recommended languages: English, Spanish, Portuguese, Russian, Chinese, French, German, Japanese, Korean. Then we extend to Italian, Polish, Ukrainian, Turkish…

After few weeks, we have translated our first game in 20 languages and its Play Store description in 47 languages. And after few months we started to get interesting data.

As a result, we step back and we localized our second game in only 6 languages so far (English, French, German, Russian, Spanish, Portuguese). We just select the ones that work best for our first trial (either in term of revenue or in term of installations).

4) Free translation resources

And in order to complete this article, here are two localized games: