Page MenuHomePhabricator

Review feature: Reference errors are split by user interface language
Open, Needs TriagePublic

Description

Errors in <ref> and <references> tags is currently rendered in the reader's assumed interface language, which might not be the ideal behavior. This task is to review the behavior, fix if necessary, and document on mw:Extension:Cite.

The weird part is that the errors show up in article text or in the References section, both of which are in the content language. Here's what it looks like:

English language reader sees:
https://en.wikipedia.org/wiki/2019%E2%80%9320_Villarreal_CF_season#References

image.png (485×1 px, 148 KB)

Chinese language reader sees:
https://en.wikipedia.org/wiki/2019%E2%80%9320_Villarreal_CF_season?uselang=zh#References

image.png (480×1 px, 161 KB)

Some arguments in favor of UI language errors:

  • The error is most useful to editors. Most editors will have their interface language set correctly. They might have an easier time understanding complex technical points in their interface language.

Some arguments in favor of content language errors:

  • The error messages don't include any UI element labels which might be translated. The only string literals are tag and attribute names, which are constant across UI and content language.
  • Switching languages in article content is not done anywhere else (that I know of). CentralNotice has conflicting precendents.
  • Cache split is slow for the first user from each language. Without a cache split, the content language rendering can be pre-cached for each new revision.
  • Cache split is expensive for the cache, because content is duplicated.

Event Timeline

Change 555075 had a related patch set uploaded (by Awight; owner: Awight):
[mediawiki/extensions/Cite@master] Use messagelocalizer in CiteErrorReporter

https://gerrit.wikimedia.org/r/555075

Change 556351 had a related patch set uploaded (by Awight; owner: Awight):
[mediawiki/extensions/Cite@wmf/1.35.0-wmf.10] Use messagelocalizer in CiteErrorReporter

https://gerrit.wikimedia.org/r/556351

Change 556354 had a related patch set uploaded (by Awight; owner: Awight):
[mediawiki/extensions/Cite@wmf/1.35.0-wmf.8] Use messagelocalizer in CiteErrorReporter

https://gerrit.wikimedia.org/r/556354

Change 555075 merged by jenkins-bot:
[mediawiki/extensions/Cite@master] Use messagelocalizer in CiteErrorReporter

https://gerrit.wikimedia.org/r/555075

Change 556351 merged by jenkins-bot:
[mediawiki/extensions/Cite@wmf/1.35.0-wmf.10] Use messagelocalizer in CiteErrorReporter

https://gerrit.wikimedia.org/r/556351

Change 556354 merged by jenkins-bot:
[mediawiki/extensions/Cite@wmf/1.35.0-wmf.8] Lazily fetch user interface language to prevent cache split

https://gerrit.wikimedia.org/r/556354

Mentioned in SAL (#wikimedia-operations) [2019-12-11T12:54:18Z] <andrew-wmde@deploy1001> Synchronized php-1.35.0-wmf.10/extensions/Cite: SWAT: [[gerrit:556351|Use messagelocalizer in CiteErrorReporter (T239988)]] (duration: 01m 04s)

Change 556372 had a related patch set uploaded (by Awight; owner: Awight):
[mediawiki/extensions/Cite@wmf/1.35.0-wmf.8] Lazily fetch user interface language to prevent cache split (take 2)

https://gerrit.wikimedia.org/r/556372

Change 556372 merged by jenkins-bot:
[mediawiki/extensions/Cite@wmf/1.35.0-wmf.8] Lazily fetch user interface language to prevent cache split (take 2)

https://gerrit.wikimedia.org/r/556372

Mentioned in SAL (#wikimedia-operations) [2019-12-11T19:34:04Z] <awight@deploy1001> Synchronized php-1.35.0-wmf.8/extensions/Cite: SWAT: [[gerrit:556372|Lazily fetch user interface language to prevent cache split (take 2) (T240426, T239988)]] (duration: 00m 40s)