Page MenuHomeMiraheze

Language can only be changed with ULS when on a system page
Closed, ResolvedPublic

Description

When changing the language with ULS on an article page, the page refreshes and takes you to the language you previously had set in your global preferences.

2020-11-28_17-46-33.gif (893×963 px, 225 KB)

ULS behaves as expected on system pages, as demonstrated here:

2020-11-28_17-47-19.gif (886×1 px, 199 KB)

Event Timeline

ChipWolf updated the task description. (Show Details)
ChipWolf updated the task description. (Show Details)
Videojeux4 triaged this task as Normal priority.Nov 28 2020, 18:07
Videojeux4 added a project: Extensions.

Just wondering if anyone had a second to look at this, one of our community proposed to remove i18n altogether because our non-english-speaking users are struggling

Hi,

I looked into this (on my own machine but by reproduce the same scenario) and I came to one conclusion: $wgTranslatePageTranslationULS is the imposter.

When a I tried to change the language on (probally) any translatable page, they call /w/index.php?title=Special:MyLanguage/<your_page>&setlang=<language_code> when the config variable is true.

But for a unknown reason, there don't fetch setlang and there ignore it for return on the actual language page without changing the interface lang.

Making the config variable to false resolve the problem because there remove Special:Mylanguage.

This is probally a bug, but if someone else can review it for have a second look (and for found or create a upstream ticket because I don't find one and I am not sure this is intended).

John claimed this task.
John subscribed.

I looked into this (on my own machine but by reproduce the same scenario) and I came to one conclusion: $wgTranslatePageTranslationULS is the imposter.

I concur.

This is probally a bug, but if someone else can review it for have a second look (and for found or create a upstream ticket because I don't find one and I am not sure this is intended).

It does seem like a bug, I presume it is because Translate when $wgTranslatePageTranslationULS is true, it overwrites the function that does the change.

This should be reported upstream to Wikimedia's Phabricator to resolve, the temporary solution would be to disable the PageTranslationULS feature.