As discussed in #791, internationalization is currently only available through browser settings. This creates problems especially for those who use the site in a language that is ill-supported and who would rather be using it in (e.g.) English without changing their overall browser settings.
It should be possible for visitors to override the browser settings on a site-specific basis, ie just for openlibrary.org. This should not require an account, so needs to work on a cookie basis, although having a user preference setting for logged in users would also be useful.
The language selection dialog should use the name of the language in its own language, ie Deutsch, 螘位位畏谓喂魏维, English, Espa帽ol, Fran莽ais, so that users can recognize it easily. The default should be set from the browser settings, if available.
The initial set of languages is: 膶e拧tina (cs), Deutsch (de), English (en), Espa帽ol (es), Fran莽ais (fr), 喟む眴喟侧眮喟椸眮 (te). The default for any unsupported language is English.
Language selection widget placement should be someplace prominent in the header or footer, perhaps upper right corner for users not logged in and on the user preference menu for those that are logged in.
@guyjeangilles
Please tag as "Affects UI"
This is an obvious first step towards #791. Without knowing what language to render, i18n goes nowhere. @justcomplaining is quite right: browser settings are not a substitute for allowing the patron an explicit choice. That is why good multilingual websites put up that selection in a prominent place, either on the menu bar, e.g.
https://www.europeana.eu/portal/en/TEL.html
or on the splash page, e.g.
https://www.wikipedia.org/
since people can create accounts, it would be beneficial for a person to say which language they'd like to see the site in.
@justcomplaining The issue with browser settings is that they may use something like Google Translate that will just translate 1 language on a page. The issue is when there's multiple languages on a page, which Open Library has. So all the other languages won't be translated. The only way to resolve on the user end is to go to google translate or change the translate language option to read the others.
I've added additional detail to the issue to describe what needs to be done.
@tfmorris where? I would like to read it.
@BrittanyBunk He edited my original description.
Hello, may I be assigned to this? I've worked on a solution (cookie based) and I'd like to open a PR.