Page MenuHomePhabricator

Stop using deprecated Language static methods in Wikibase extensions
Closed, ResolvedPublic

Description

Most of Language’s static methods (::factory, ::fetchLanguageName, etc.) were deprecated in MediaWiki 1.34 or 1.35.
We should stop using them, and migrate to their replacement services (LanguageFactory, LanguageNameUtils, etc.), ideally with proper dependency injection.

I could put a list of affected methods here, but I think the few non-deprecated public static methods that Language still has are probably not used by Wikibase anyways, so it seems simpler to codesearch Language:: and work through that whole list (except Language::class).

This should be done in all of our extensions

  • Wikibase
  • Cognate
  • WikibaseLexeme
  • PropertySuggestor
  • EntitySchema
  • WikibaseQualityConstraints
  • ArticlePlaceholder
  • Wikidata.org
  • WikimediaBadges
  • InterwikiSorting

Acceptance Criteria:

  • Don't use deprecated Language methods (use replacement services with DI)

Event Timeline

Change 621010 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/Wikibase@master] Inject LanguageNameUtils into MetaContentLanguages

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

Change 621010 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Inject LanguageNameUtils into MetaContentLanguages

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

Addshore set Due Date to Jun 30 2021, 11:00 PM.Jan 22 2021, 11:44 PM
Addshore removed Due Date.
Addshore renamed this task from Stop using deprecated Language static methods in Wikibase to Stop using deprecated Language static methods in Wikibase extensions.Feb 23 2021, 1:32 PM
Addshore updated the task description. (Show Details)
Addshore removed a project: Wikidata-Campsite.
Addshore subscribed.

Prioritized very low, so removing from Wikidata-Campsite

Change 864799 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/WikibaseQualityConstraints@master] Inject LanguageNameUtils into ViolationMessageRenderer(Factory)

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

Change 864799 merged by jenkins-bot:

[mediawiki/extensions/WikibaseQualityConstraints@master] Inject LanguageNameUtils into ViolationMessageRenderer(Factory)

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

Change 872445 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/WikibaseLexeme@master] Replace deprecated Language::factory

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

Change 872447 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/WikibaseQualityConstraints@master] Replace deprecated Language::factory

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

Change 872450 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Wikibase@master] Replace deprecated Language::getConverter

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

Change 872447 merged by jenkins-bot:

[mediawiki/extensions/WikibaseQualityConstraints@master] tests: Replace deprecated Language::factory

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

Change 872450 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Replace deprecated Language::getConverter

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

Change 872445 merged by jenkins-bot:

[mediawiki/extensions/WikibaseLexeme@master] Replace deprecated Language::factory

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

Change 872989 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Wikibase@master] Inject language services into MediaWikiLanguageDirectionalityLookup

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

Change 872989 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Inject language services into MediaWikiLanguageDirectionalityLookup

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

Lucas_Werkmeister_WMDE claimed this task.

I think the last bits of this actually got done in Replace deprecated Language::factory (T325986), I don’t see any deprecated calls in git grep -F Language:: anymore.