libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.06k stars 1.81k forks source link

[Feature Request] Move the Language selection, show percentages, add help translate informations… #10513

Open WeedyWeedSmoker opened 4 years ago

WeedyWeedSmoker commented 4 years ago

Description

I think we could move the Language selection to the bottom of the main menu (or at least at the first level of the settings menu), this can be toggled off in the User Interface > Views settings…

mainmenu

Inside, we could show the percentage of the translation advancement next to each language…

langselect

What about a menu option at the bottom that shows informations on How to help translate?

langselect2

(Those are the actual percentage taken from Crowdin…)

What would you think, @twinaphex ? @hizzlekizzle ? @jdgleaver ?


Also, these are screenshots from the last version on macOS… Arabic doesn't show up correctly, neither many characters in Chinese Simplified and Chinese Traditional, do you know why?

jdgleaver commented 4 years ago

@WeedyWeedSmoker

I think we could move the Language selection to the bottom of the main menu (or at least at the first level of the settings menu), this can be toggled off in the User Interface > Views settings…

This is a very good idea. If no one else objects, I'd be happy to move the entry and add the show/hide option.

Inside, we could show the percentage of the translation advancement next to each language…

I like this too. A couple of things, though:

What about a menu option at the bottom that shows informations on How to help translate?

Not sure about this one... On the code side, it's a bit cumbersome to mix options + info items in a single drop-down list (i.e. quite a lot of work for a single non-standard entry!). Also, I imagine it would need to point the user to a web link - since RetroArch can't open a link directly, I don't know how useful this would be...

Also, these are screenshots from the last version on macOS… Arabic doesn't show up correctly, neither many characters in Chinese Simplified and Chinese Traditional, do you know why?

Ah, looks like Ozone's font doesn't have full Unicode coverage...

Selecting fonts is a tricky business (licences, file size, etc.), and any changes would need group consensus. This one's not in my remit! Probably worth opening a separate issue for this.

im4potato commented 4 years ago

@jdgleaver I don't necessarily object, because I understand the value of making the language settings more accessible. But part of what I'd like to work on is removing duplicate and poorly organized settings. I'd like to make the User Interface setting closer to the top and make language accessible there. This might be subjective, but I'd like to get as many things as I can out of the Main Menu section and into Settings. Main Menu should be reserved for very high level items, and I'm not sure Language belongs there. Like I said, I'm not necessarily opposed, but I feel like an overall menu reorganization could help alleviate this problem.

jdgleaver commented 4 years ago

@im-4-potato That's a fair point. But I think the issue that WeedyWeedSmoker highlights here is that a non-English speaker currently has a hard time finding the option to change languages - and unless it's at the top level, this will always be an issue. I don't know what the best solution would be...

I agree with having a clean main menu (I always hide almost everything anyway...)

WeedyWeedSmoker commented 4 years ago

I think language is a very high level item… I mean, look at games too! (Crash title screen here…)

crash

Besides, I completely agree the settings are in a huge need of a big revamping, or at least have all the more important settings in one place…

jdgleaver commented 4 years ago

That's a very compelling argument :)

If high profile games put language at the top level, it's certainly something we should take seriously.

WeedyWeedSmoker commented 4 years ago

@jdgleaver How hard would it be to make a text-only entry for How to help translate like in the help menu ?

Or just add the entry to the help menu…


  • How do we obtain the translation percentages? This would need to be 'baked in' somehow - maybe a script that could update a define or something in each translation file, each time they are updated...?

@guoyunhe Do you know if Crowdin makes it possible for the advancement percentages to be automatically saved to a file?

guoyunhe commented 4 years ago

@WeedyWeedSmoker it is very easy to do in the python script, just need to curl fetch the web page and use some regular expression to parse the percentage. Will update it PR #10358

guoyunhe commented 4 years ago

RetroArch always uses assets font even if it lacks coverage to your language. I usually change font settings to Droid Sans Fallback to render Chinese correctly. Noto CJK fonts doesn't seem to work with RetroArch on my system.

WeedyWeedSmoker commented 4 years ago

@jdgleaver Could it be possible to use a system font then ? All major OS have unicode fonts by default… Or at least have an option to easily select a system font to use as the display font ? (Ozone uses a secondary font for titles that is using a bold variant, that may be annoying…)


If not, we should definitely add unicode characters for Arabic and full Chinese to the Inter UI font (by merging it with Arabic and Chinese fonts if possible)…

im4potato commented 4 years ago

@jdgleaver @WeedyWeedSmoker What about expanding on the idea of the "Start Screen" to fix this issue? Currently, it's completely useless, but it sets the precedent for a screen that only appears the first time RetroArch is started. We could remove that little popup and instead show the Language settings, and because English is the default selection this wouldn't even require extra button presses to dismiss it compared to now. It would also present the various languages without the user needing to open any menus, as well as avoid the clutter of adding another menu item.

WeedyWeedSmoker commented 4 years ago

@im-4-potato That's a very interesting idea, as you usually only set the language once…

jdgleaver commented 4 years ago

@WeedyWeedSmoker

I see the updated header with translation percentages - that's just fine (thanks @guoyunhe!) When it gets merged, I can certainly use that

How hard would it be to make a text-only entry for How to help translate like in the help menu ? Or just add the entry to the help menu…

A text-only entry is no problem - it's grouping it in the list of available languages that's annoying (needs a somewhat unreasonable amount of work)

Adding it to the help menu would be quite easy - but it does it belong there? I mean, it's not a 'help' item - it's a 'how to help'...

Could it be possible to use a system font then ? All major OS have unicode fonts by default… Or at least have an option to easily select a system font to use as the display font ? (Ozone uses a secondary font for titles that is using a bold variant, that may be annoying…) If not, we should definitely add unicode characters for Arabic and full Chinese to the Inter UI font (by merging it with Arabic and Chinese fonts if possible)…

We can only ever use fonts that we provide, and this is an issue that varies with menu driver (since they all use different fonts, with different Unicode coverage...)

So extra glyphs could be added to Ozone and Material UI's fonts, but there are licencing issues, and file size issues, and who knows what else...

As I said, this should be raised as a separate issue, since it's a 'bigger' thing than a few menu changes, and would need input from the group as a whole.

@im-4-potato

What about expanding on the idea of the "Start Screen" to fix this issue? Currently, it's completely useless, but it sets the precedent for a screen that only appears the first time RetroArch is started. We could remove that little popup and instead show the Language settings, and because English is the default selection this wouldn't even require extra button presses to dismiss it compared to now. It would also present the various languages without the user needing to open any menus, as well as avoid the clutter of adding another menu item.

We've needed a 'proper' start screen for a long time - and this is tied up with a heap of other issues (e.g. allowing the user to select different types of default settings profiles based on technical competence, allowing menu driver selection, having a simple slideshow of first run tips, etc.)

This would indeed get rid of the language selection problem :)

I don't have time to work on this at the moment, however - but if you want to have a go, it would be a great feature.