Type of activity: Unconference 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 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.
See also:
Similar feature requests:
- T58464: Allow anonymous users to change interface language on Wikimedia wikis with ULS
- T161517: Allow anonymous users to change interface language on Commons with ULS
- T149419: Interface language selection for unregistered users on Wikimedia projects
- T134592: Allow setting the UI to a language other than English for anonymous users
Discussion of the technical background, Varnish caching: T233609: [SPIKE 4hrs] What is technically feasible in terms of logged-in/logged-out users?