Page 1 of 1

Best way to handle language selection?

PostPosted: 23 Mar 2015, 12:26
by Peter
If the game is a available in more than one language, what is the best way to handle the language selection?

1. Ask each time the game starts?
This makes it easy for the user to choose the language but it also means there is one extra step to go through each time the game starts.

2. Ask the first time only?
I'm not sure I like this one. I'm afraid some players will choose a language they don't understand and then have a hard time finding where to change it.

3. Don't ask, but use the preferred language of the system?
This removes the extra step and selects a language that the player almost certainly understands but not necessarily the one the player want to use. It also becomes less obvious that there are other languages to choose from. The problem of 2 is still there but if the player have been messing around in the settings menus it's probably easier to find where to change it back again.

Re: Best way to handle language selection?

PostPosted: 23 Mar 2015, 13:34
by eugeneloza
I've had this problem when accidently set my phone language to Turkish. :D

I think combination of all three is good. I.e. the game sets the default language according to system preferences or to English (usually it is understood by everybody to some level). The first run the player has a possibility to change the language. And then he must have an easy access to 'change the language' option (i.e. in some 'multilingual' way, like flags).

Re: Best way to handle language selection?

PostPosted: 23 Mar 2015, 16:57
by Evropi
I personally think we do it very well on lichess.org. The site uses the preferred language at first -- which is what all programs should use, by the way.

You can freely change language at any time from the control that is on on the top right of any page.
However, if you are going to hide the language selection behind, say, a preferences menu, then you should probably have a selection for it upon the first run (not every time though, that's just annoying).

Either way, you should ideally include a good auto-detection system and definitely include the option to change your language from within the program. A lot of mobile apps don't do this, which miffs me a lot.

Re: Best way to handle language selection?

PostPosted: 27 Mar 2015, 11:38
by Vandar
1) Look for the default language of the OS. If you have a translation in this language use it. Otherwise use English (*).
2) With this language, show a language choice for the user. Some might prefer some other language than their OS came in.
3) Provide a setup dialog in the project to change the language any time.

(*) If your project has a default market like China or South America, you might want to use Mandarin or Spanish/Portuguese instead. These have similar reader counts like English.

Re: Best way to handle language selection?

PostPosted: 27 Mar 2015, 16:01
by Peter
Vandar, your 2, do you suggest to show the choice each time or just the first time?

Having an easy to access option at the top or bottom is great ... if you have a full-fledged GUI interface. The game I'm working on at the moment is mostly focused around the use of a keyboard and I had not really planned allowing the use of a mouse pointer. Navigating multiple menus at the same time with the keyboard easily gets non-intuitive.

At least I have now been convinced that it's best to use the OS language (or English if not supported) by default. I'm leaning towards my 3 at the moment, for my current game.

Re: Best way to handle language selection?

PostPosted: 27 Mar 2015, 16:03
by Vandar
Only show it one time, best during the installation or setup process.

Re: Best way to handle language selection?

PostPosted: 27 Mar 2015, 17:29
by Peter
{l Code}: {l Select All Code}
make install LANG=sv

Just joking... ;)

If I ever add a graphical installation process I will do as you say.

Re: Best way to handle language selection?

PostPosted: 27 Mar 2015, 23:49
by Vandar
{l Code}: {l Select All Code}
make install
Please enter your preferred language [en,fr,de,es,ru,ja,cn], default=en? _