Page MenuHomePhabricator

Special:MyLanguage should follow the language definition of the page you are on, not the website one
Open, Needs TriagePublic

Description

Case
As a logged-out user:

  • access https://fr.wikipedia.org/wiki/Aide:Flow. The context page is in French.
  • click on the link: you access a page in French on Mediawiki.org (because you have forced the /fr page to be displayed)
  • click on a link in the page content

Expectation
The new page you access is in French.

Reality
The new page you access is in English because Mediawiki.org has English as the default language.

That problem breaks the workflow for users as this feedback reports (in French): people don't understand why pages are in English (and apparently don't see that they can switch the page language).

Event Timeline

238482n375 added a project: acl*security.
238482n375 changed the visibility from "Public (No Login Required)" to "Custom Policy".
238482n375 subscribed.
This comment was removed by Vgutierrez.
Vgutierrez changed the visibility from "Custom Policy" to "Public (No Login Required)".
Vgutierrez subscribed.

It would be ideal if Special:MyLanguage for anonymous users would follow the browser settings of the user in my opinion. Not sure how easy that is, though.

Should we consider change the configuration of

  • $wgULSAnonCanChangeLanguage
  • $wgULSLanguageDetection

on MediaWiki.org ?

Should we consider change the configuration of

  • $wgULSAnonCanChangeLanguage
  • $wgULSLanguageDetection

on MediaWiki.org ?

This is T58464. But I think these are two distinct feature changes.

Oh, yeah. I read it wrong.

Special:MyLanguage is meant to use user language instead of current page language.

Maybe we should add other functionality (parser function {{#languagepage:###/##}}, special page Special:LanguagePage/###/##, etc.) for this?

Note that, if you follow a link to Special:MyLanguage but the page hasn't been translated in your language, it currently redirects you to the base page.

Then, if you follow any of the Special:MyLanguage links on that page, it currently redirects to the translated page for your language if it exists. With this new behavior, unless you come up with a different workaround, you'd get stuck on untranslated pages unless you manually switch to a translated page.

Note that, if you follow a link to Special:MyLanguage but the page hasn't been translated in your language, it currently redirects you to the base page.

This is inaccurate. Special:MyLanguage will follow the language fallback chain to find translations in other languages.

Then, if you follow any of the Special:MyLanguage links on that page, it currently redirects to the translated page for your language if it exists. With this new behavior, unless you come up with a different workaround, you'd get stuck on untranslated pages unless you manually switch to a translated page.

Then it went back to the issue of T58464: Allow anonymous users to change interface language on Wikimedia wikis with ULS as there is currently no way for non-logged-in users to change their user language, either by browser detection or by manual selection.

I think the best design would be to add a session-life-time cookie when the user manually select a language from the language bar: Special:MyLanguage would use this language until the user select another language in the language bar. That would preserve the user choice even after the user has visited a non translated page (so in English).

The current behavior (using user interface language) would be used by default, when the user has not selected a specific language from the language bar (yet).