How to make a game in multi-languages version?

I would like to make a game in different languages so that I will be able to put it on APP STORE in different regions.
So how is it normally made in Unity3D? Are you make it in totally different Projects?
Or, If I like to integrate these all versions into one single project, any hints about how to make it?
Thank you very much!

int lang = 0;

//Insert in array number of langages and number of words in array

string[,] names = new string[4, 4] {

{"New Game","Score","Options","Exit"}, //English  

{ "Nova Igra", "Poeni", "Opcije", "Izađi" }, //Serbian  

{ "新游戏","点","选项","退出" }, //Chinese  

{ "Новая игра", "Очки", "Параметры", "Выход" } //Russian

};

//for New Game button

if(GUI.Button (new Rect(0,0,100,50), names[lang,0]…

//for Score button

if(GUI.Button (new Rect(0,0,100,50), names[lang,1]…

Also you can read http://forum.unity3d.com/threads/add-multiple-language-support-to-your-unity-projects.206271/

Why don’t you ask the user what language he prefers and then do something like this:

if(English)
    //Draw GUIs and stuff in English
else if(Spanish)
    //Draw GUIs and stuff in Spanish. 

Very simple system, but It gets the job done.

The best solution I found: http://u3d.as/content/rodrigo-barros/my-menu

Hey guys, this is how to make a multilanguage system, nice explained everything and also shown how to use : CMB™ Unity3D Programming Tutorial - Multilanguage - YouTube :slight_smile:

You could also define the GUI strings as arrays.
Like:

private int lang = 0;
private string[] Open = {"Open","Open","Öffnen","Åbn","açık

dosya",“Открыть
файл”};

Then in OnGUI function use the array elements for selected language:

if(GUI.Button (new Rect(2,22,72,32), Open[lang]...

If you search asset store, you can find this great package I use myself. It’s crossplatform, designed for the new ui, almost fully automated and uses XML just like Android’s strings.xml:
https://www.assetstore.unity3d.com/#!/content/48673

Hi,

I use this super simple class for all my projects:
I18n.cs

I developed a component to easily manage translations in unity applications.
key features are:

  • No coding required
  • Easy to get startet (1-5 Mins)
  • Get started for free
  • Make changes on your translations after your game has been released
  • Automatic translate to any language

A documentation can be found here.

The Beta-Asset can be downloaded here.

Support is given via Email or on our Discordserver

The best idea would be to use the Unity localization package, since it’s a native solution to manage translations for your project. Once you start, it might take you a while to copy-paste translations, so I’d suggest using a combination of a localization software+Unity loc. package. Just because you can invite translators to your localization project in a separate tool and then just pull translations using this integration.


Here’s an article on how you can use this combo to make your game multi-language with Unity localization package. I hope this helps.