Page MenuHomePhabricator

uselang= parameter does not persist on edit submission, or after clicking "In other languages" box and clicking "Create account": Page is in English
Closed, ResolvedPublic

Description

When browsing meta.wikimedia in Arabic and then clicked on create account page . the user will be redirected to the English version of meta.wikimedia even though the page create account page in Arabic exist but it's not linked or listed in language bar.

Event Timeline

Ghassanmas renamed this task from Translating the meta.wikimedia create account page to Arabic to Listing/Linking the meta.wikimedia create account page in Arabic.May 17 2016, 2:53 PM
Ghassanmas updated the task description. (Show Details)

Doesn't this need to be done through on-wiki edits?

The page is non editable . or only administrators can edit it. I think it's a protected page.

Then it needs to be arranged by asking admins on-wiki. Individual wiki edit requests shouldn't be in Phabricator

Alright, How can I reach the admins of [[ meta.wikimedia.org | meta.wikimedia.org ]] ?

As elaborated, this problem needs to be solved on-wiki, hence closing this Phabricator task.

The pages I am requesting to be edited is non-editable. It has no editable symbol. it's a special page.

Hence, refer to Special Pages

(I have not the slightest idea how #languagelinks on SpecialUserLogin.php gets populated exactly. :( )

@Ghassanmas: What are the complete list of steps to reproduce the problem? Do I need to set my browser's preferences to prefer Arabic over e.g. English?
Asking as if I go to https://meta.wikimedia.org/ and I am not logged in and I prefer English in my browser's setting, when clicking "English" in the upper toolbar, I get "Log in to select a different language for menus." Hence I am not sure what "When browsing meta.wikimedia in Arabic" exactly means. Are you logged in already and go for some reason to the "Create Account" page? If yes I'd love to understand the reason. :) Thanks!

@Aklapper

So I was trying to reproduce the issue, I found that the issue isn't only for the Arabic language, the issue also reproduced for french and Spanish, that what I've tested so for.

Here are the steps to reproduce the issue:

  1. Go to meta.wikimedia.org then scroll down to the end.
  2. In the "in other language" box select for example Arabic, or French, you will be directed to Arabic Meta or French Meta
  3. Now suppose your are Arabic or French native and you wan't to create, you click on "إنشاء حساب" or "Créer un compte", which appeasers on top right of the page.
  4. The problem is you will be redirected to the English default create account Page.
  5. If you are a french native you would select french language from the create account even though you should be automatically redirected to the french version, but if you are Arabic native you wouldn't see Arabic language listed even though it exists.

I think I just discovered the cause of the bug, we have this parameter in the link "uselang" , so it's value define the language of page, e.g for french its "uselang=fr", Arabic "uselang=ar". the problem is when requesting create account page it's parameter isn't filled correctly, so the user is redirected to the English page "default".

  1. Go to meta.wikimedia.org then scroll down to the end.
  2. In the "in other language" box select for example Arabic, or French, you will be directed to Arabic Meta or French Meta

@Ghassanmas: I fail to reproduce with these steps. The links on the meta.wm.org frontpage go to the specific language Wikipedia sites in my case.
See screenshot (with the target link displayed at the bottom):

Screenshot.png (575×768 px, 87 KB)

Or is this about https://meta.wikimedia.org/wiki/Special:CreateAccount instead, when not being logged in?
But if that is the case, I do not see any "In other languages" in the sidebar, but only a line "Language: Deutsch | Ελληνικά | English | Esperanto | Español | Suomi | Français | Italiano | 日本語 | Македонски | Nederlands | Polski | Português | Русский | 中文" on top instead.

@Aklapper

There is two "in other language" in meta.wikimedia.org

The long bar on the left side of the page and the square box at the bottom of the page. I meant the the box in the bottom, you were trying to reproduce the bug by selecting the box in the left. As I can see the box in the left redirected to the corresponding Wikipedia page of the language not the meta.

There is two "in other language" in meta.wikimedia.org
The long bar on the left side of the page and the square box at the bottom of the page. I meant the the box in the bottom

I don't see such a box. :( Do you have a screenshot?

Argh. I'm stupid. Sorry!

Not being logged in, the "Créer un compte" on https://meta.wikimedia.org/w/index.php?title=Accueil&uselang=fr links to
https://meta.wikimedia.org/w/index.php?title=Special:CreateAccount&returnto=Accueil&returntoquery=uselang%3Dfr
and that page is in English due both a missing & and encoding of = as %3D.
The link should be
https://meta.wikimedia.org/w/index.php?title=Special:CreateAccount&returnto=Accueil&returntoquery=&uselang=fr
instead.

Good catch!

Aklapper renamed this task from Listing/Linking the meta.wikimedia create account page in Arabic to Link targets in "In other languages" box on meta.wikimedia.org are in English (due to incorrect HTML encoding and missing ampersand).Jun 10 2016, 5:54 PM
Aklapper renamed this task from Link targets in "In other languages" box on meta.wikimedia.org are in English (due to incorrect HTML encoding and missing ampersand) to After clicking "In other languages" box on meta and clicking "Create account", page is in English (due to incorrect HTML encoding and missing ampersand).

This is the way uselang= works; it's nothing to do with URL encoding. The parameter you are seeing in the URL is instead the "returntoquery" parameter, which tells the create account page where to redirect the user after completing the account creation process. It is correctly encoded for its purposes.

Really the same issue as T155097: uselang not sent on edit submission.

TTO renamed this task from After clicking "In other languages" box on meta and clicking "Create account", page is in English (due to incorrect HTML encoding and missing ampersand) to uselang= parameter does not persist after clicking "In other languages" box on meta and clicking "Create account" - page is in English.Jan 21 2017, 10:24 PM
TTO updated the task description. (Show Details)
Aklapper renamed this task from uselang= parameter does not persist after clicking "In other languages" box on meta and clicking "Create account" - page is in English to uselang= parameter does not persist on edit submission, or after clicking "In other languages" box and clicking "Create account": Page is in English.Feb 22 2017, 12:41 PM
Aklapper removed Ghassanmas as the assignee of this task.
Aklapper added projects: MediaWiki-General, I18n.
Aklapper added subscribers: Chicocvenancio, He7d3r.

Since the tasks where merged, let me bring my comments:

I was trying to use &uselang=qqx method to check a few spamblacklist error messages. However, the uselang is not preserved after an edit submission, reverting to site default language.
In fact it seems to me the parameter is not sent on edit submission.

It does not persist as well on send thanks action. I was trying to discover what message was the one given after the send thanks action and luckly found it through translatewiki. (MediaWiki:Thanks-thanked-notice).
Uselang=qqx, however, proved useless.

matmarex subscribed.

It looks like this was fixed for Special:CreateAccount at some point. The uselang= parameter is now preserved after form submission on that page.