**Type of activity:** ??? session
**Main topic:** none
== The problem ==
Interface language selection is only available to registered, logged-in users on Wikimedia projects. This is especially problem for multilingual projects including Wikisource, Wikidata and Commons.
Some wikis use workarounds to simulate this feature, but those do not scale and increase our technical debt.
Language selection (both manual and automatic) has been implemented in #mediawiki-extensions-universallanguageselector and is already in use (both registered and unregistered) by many third party wikis, given it is enabled by default.
This issue has been discussed before, but due to unclear status of ownership (language? editing? reading?) and unclear status of blockers has stalled it. The main issue seems to be making some trade-offs to work within the current caching infrastructure.
There are two directions that allow gradually going towards the ideal end state.
By functionality:
* Enable manual language selection
* Enable automatic language selection
By scope:
* Enable for multilingual wikis
* Enable for all wikis
== Expected outcomes ==
* Look for consensus that this feature is something we want to do.
* Identify remaining blockers (if any) and document them.
* Agree on steps how to get towards the goal.
Input from anyone, but especially from community representatives (for impact, use cases), operations (technical feasibility), performance (user experience) mobile, and even product is helpful for making informed decisions.
== Current status of the discussion ==
* Unclear how to proceed
== Draft proposal ==
# Add support for varying caches by value of `language` cookie.
# Enable manual language selection for multilingual wikis
# Evaluate feasibility of extending based on increase in resource usage and discuss again
The way forward from here could be
# Stop expanding
# Expand to non-multilingual wikis
# Try out automatic language selection on a small multilingual wiki [1]
[1] Possibly using using a different approach than reading the `Accept-Languages` request header in PHP side. For example using JavaScript to suggest a language change if we are confident, that would then set the language cookie and work like manual language selection.
The existing two bugs are:
* {T58464}
* {T5665}