- Home /
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!
Answer by Dacke · Jun 27, 2014 at 11:29 AM
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]...
Answer by StarCmd · May 10, 2015 at 06:46 PM
Also you can read http://forum.unity3d.com/threads/add-multiple-language-support-to-your-unity-projects.206271/
Answer by FLASHDENMARK · Feb 08, 2012 at 08:08 PM
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.
Thanks. Is it possible to make something automatically like: if the app is on US market, it will display English And if it's on Spanish market, it will display Spanish?
Great suggestion. I think that will work rather well. Just having a menu with an "Options," section will allow the player to switch between Spanish and English. You could even have a pop up at the start of the game for the end user to select their language. Save that option in PlayerPrefs, check if they have a PlayerPref option set, and if they do, don't ask the question again. Relatively simple. Good luck with it!
You can get the system language with Application.systemLanguage. However the translations have to be done manually... Even Google translate which is one of the best automatic translators out there, is horrible :D
If i would consider implementing multi-language support, it should be easily extendable for more languages. The main problems are: In some languages the same content has a way different size and it can break your layout. Also some languages require special fonts. Storing the content seperately is always a good idea. That way you can give that file to someone who's going to translate all the stuff for you.
edit: If you plan to use Application.systemLanguage you should still offer a menu to change the language. I have most of my games in german, but i play them mostly in english since the translation is really bad from time to time ;) So use the systemLanguage to set the language initially.
This is nonsense. The app should localize itself based on what the system setting is.
I don't know if this is a joke cause this is the worse implementation of languages.
Answer by $$anonymous$$ · Jun 15, 2012 at 01:00 PM
The best solution I found: http://u3d.as/content/rodrigo-barros/my-menu
:D You didn't found it... it's your solution :P
Anyway, looks promising, but some examples would be great. You would basically would buy a pig in a poke ;)
Yes, you catch me :). Anyway you can found an video tutorial in unitynoobs.blogspot.com and a video showing the my$$anonymous$$enu system running on iphone.
Answer by Tuboy-Thers · Sep 14, 2013 at 06:29 AM
Hey guys, this is how to make a multilanguage system, nice explained everything and also shown how to use : https://www.youtube.com/watch?v=Py09NvybaXc :)
Your answer
