How to: correct android localization in Unity

October 24th, 2016

There are many ways in which you can handle the localization of an android game built in Unity. However, not all implementations will have the desired positive influence on ASO.

The Unity Asset Store counts many plugins that can be used for the localization of a game. Many of these plugins do provide a cross platform solution, having one downside: Google may not able to automatically detect the supported languages.

While this downside may sound negligible, it is far from good for your ASO as in the eyes of Google your game does not provide localization at all.

Luckily, there is an easy solution that lets Google detect the supported languages while still having the benefits of using a cross platform. It only requires letting Google believe that the standard android localization mechanism is used.

In short, it suffices having a dummy ‘string.xml’ file placed in the correct android resources folders. A default ‘string.xml’ language file example is provided below:

<!--?xml version="1.0" encoding="utf-8"?-->
<resources>
     <string name="app_name">MyAppName</string>
</resources>

This language file should be placed in the default language resources folder as well as in any language specific resources folder, as illustrated below.

The resources folder for the default language is:

Assets/Plugins/Android/res/values

Resource folders for other supported languages are ending in a 2-letter suffix for that language. Example folder names are:

Assets/Plugins/Android/res/values-de
Assets/Plugins/Android/res/values-en
Assets/Plugins/Android/res/values-fr

This simple trick will allow Google to automatically detect the supported languages, resulting in a better ASO. For further reading you can have a look at the android developer guide that provides you more extensive documentation on how to localize an android app.

let's connect