Global preferences allow to set some properties (such as language) for all wikis, reducing the effort needed for users that use more than one wiki. In T196314, it was identified that for a user with a global preference for their language, ULS would fail silently if the user attempts to use it to change the language.
Based on the [[ https://www.mediawiki.org/wiki/Extension:GlobalPreferences/API | Global preferences APIs ]], we want to allow users to change the local language for the wiki while letting them know that changing it globally is possible.
If the user has not set the global preference for the display language, the ULS behaviour should be as usual.
If the user has previously set a global preference for a display language the following behaviour is expected:
- **Opening the ULS will show a display language the language currently applied to the UI, respecting the global preference and local overrides.** Users can set their global preference for Spanish to be the display language except for German Wikipedia where english is preferred. In those cases, opening the ULS should show Spanish as the selected option for all wikis except German Wikipedia.
- **Changing the display language changes or creates a local override.** changing the display language on the ULS should have only effect on the local wiki. If the selected language is different from the global preference, a local override will be created (or updated if it already exists).
- **Inform about the local scope of the change.**After changing the language, a message will be shown to the user: "Language changed for this wiki. Check [your global preferences] to apply changes to all wikis.". A [[ https://www.mediawiki.org/wiki/Bubble_notifications | bubble notification ]] will be used and the link will point to Special:GlobalPreferences. This message will replace the usual message that is shown after changing the language (i.e., depending on whether global preferences are used, one or the other message will be shown, but not both).
The mockups below illustrate the interaction:
|{F24048134}|{F24048151}|
___
Related ticket: {T196314}