Page MenuHomePhabricator

Wikidata diff shows in a different language
Closed, ResolvedPublic

Description

Author: the.anonymouse.wikimedia

Description:
This is also related to Extension:Diff (https://www.mediawiki.org/wiki/Extension:Diff), but I think it's being caused by Wikidata Repo.

In some diffs, Wikidata shows the diff in a different language no matter which language the user interface is set to. For example try this link (notice the intentional uselang=en):
https://www.wikidata.org/w/index.php?title=Q2511165&diff=74940737&oldid=74022613?uselang=en The change as well as the properties being changed are in German instead of English. Also, https://www.wikidata.org/w/index.php?title=Q375550&diff=72741582&oldid=72711136&uselang=en is in Finnish.


Version: unspecified
Severity: normal

Details

Reference
bz55667

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 2:30 AM
bzimport set Reference to bz55667.
bzimport added a subscriber: Unknown Object (MLST).
  • Bug 55509 has been marked as a duplicate of this bug. ***

Copied from the other bug:

https://www.wikidata.org/w/index.php?title=Q142&diff=75815053&oldid=75551467&uselang=qqx

In the example above the localized message for 'label' is displayed as 'תווית'
no matter what language you choose to display the diff in (even qqx).

Some caching somewhere may be to blame..

I don't know if/how this ever worked properly?

In MediaWiki core, the diff body "text" gets cached in memcached without any consideration for language. (there is localisation for the "line number" string, in a somewhat hacky way which happens after diff text is retrieved from cache)

I am not convinced we need full caching, by language, for diffs in all of MediaWiki.

I have split the code [1] that generates the cache key into its own function and deriving DifferenceEngine classes can set the cache key in a different way, as appropriate.

[1] https://gerrit.wikimedia.org/r/#/c/92167/

A follow-up patch would be needed in Wikibase to fix this bug.

Change 92167 had a related patch set uploaded by Aude:
Put get diff body cache key into own function

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

Change 92167 merged by jenkins-bot:
Put get diff body cache key into own function

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

Change 92863 had a related patch set uploaded by Aude:
Split memcached for Wikibase diff view body content by lang

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

Change 92863 merged by jenkins-bot:
Split memcached for Wikibase diff view body content by lang

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