[Scummvm-devel] Improving translation support in ScummVM

Thierry Crozat criezy at scummvm.org
Thu Jun 24 00:25:58 CEST 2010


Hi all,

The introduction of translations is a great step forward, but with it some issues have crept up. I am looking for ideas or suggestions on how to solve some of these.

The first one is the language selection in the GUI. The current list of language locale (e.g. ru_RU, de_DE, fr_FR) is not very user friendly. I can work on changing this, but before that we need to decide what we want to see in the GUI.
* Can we drop the country and just list language names (e.g. "Russian", "German", "French") or do we want to accept translations in the same language but different countries (e.g. "French (France)" and "French (Canada)")? I would be in favor of displaying only the language.
* In which language should we display the language string? Always in english (e.g. "English", "French", "German") or in the native language for that string (e.g. "English", "Français", "Deutsch")? Maybe we would have an issue with the later as it means we might need characters that are not supported by the encoding of the currently set languages (e.g. the 'ç' character for french or the cyrillic characters for Russian). Maybe we can suppose everybody will know english just well enough to find the language he wants if the list is in english. 

Second issue: the layout is too tight and static and sometime we have to jump through hoops to find a translation that fits in the current layout (and this can result in an approximative translation). For example the current width for option labels (110 pixels in the modern theme if I understood it correctly) make it difficult to find a correct translation for some of the option labels. I can think of several ways to fix that:
* slightly modify the modern theme so that it gives a bit more place to option labels. The current theme was obviously tweaked to work well with english, but does not work so well with other languages. But this look like hiding the dirt under the carpet. In the end the problem will still be there.
* make a more dynamic layout where the size of labels is not hardcoded but defined at runtime depending on the text to display (similar to the Qt QLayout mechanism). Is that possible with the current layout system in ScummVM? But then we would also probably need a grid layout to make the options properly aligned without fixing the width of the option labels.
* support language dependent versions of the same theme. We could for example provide a version of the scummmodern themes (or other themes) tweaked for the language of a translation. For example if there is a scummmodern.zip and scummmodern_fr_FR.zip files in the theme path, it would only list ScummVM Modern theme once but used one or the user depending on the selected languages (in that case the scummmodern_fr_FR.zip one for french and scummmodern.zip for all other languages).

Other suggestions are welcome.

Also have you noticed other outstanding issues with the translation support (other than non latin1 font support)?

Thierry



More information about the Scummvm-devel mailing list