Page MenuHomePhabricator

Get rid of calling deprecated LanguageConverter methods from Language class (and remove in 1.41)
Closed, ResolvedPublic40 Estimated Story Points

Description

Story

Decoupling core, I want to get rid of using deprecated LanguageConverter related methods from Language class before releasing 1.35 to have possibility hard-deprecate them and remove them from Language class after 1.35 is released.

Context

LanguageConverter, the class that in charge of converting text between Variants was introduced a while ago, but the use of the deprecated method like:

  • ::getVariants();
  • ::getVariantFallbacks( $variant );
  • ::getConvRuleTitle();
  • ::getPreferredVariant();
  • ::getDefaultVariant();
  • ::validateVariant( $variant = null );
  • ::getURLVariant();
  • ::autoConvert( $text, $toVariant = false );
  • ::translate( $text, $variant );
  • ::autoConvertToAllVariants( $text );
  • ::convertTitle( LinkTarget $linkTarget );
  • ::convertNamespace( $index, $variant = null );
  • ::convert( $text );
  • ::convertTo( $text, $variant );
  • ::findVariantLink( &$link, &$nt, $ignoreOtherCond = false );
  • ::getExtraHashOptions();
  • ::guessVariant( $text, $variant );
  • ::markNoConversion( $text, $noParse = false );
  • ::convertCategoryKey( $key );
  • ::updateConversionTable( LinkTarget $linkTarget );
  • ::hasVariants();
  • ::hasVariant( $variant );
  • ::convertHtml( $text );

are still widely spread across the core and extensions.

Below is the link to the original research:
https://docs.google.com/spreadsheets/d/1LXRYn1ThHRlFfdiyrAns2GlyHG0dzyv4kxyafVe4vSM/edit#gid=0

Already NOT in the "Language" class:

::getVariantFallbacks( $variant );
::validateVariant( $variant = null );
::translate( $text, $variant );
::convertTo( $text, $variant );
::guessVariant( $text, $variant );
::markNoConversion( $text, $noParse = false );

Codesearch (with false positives): https://codesearch.wmcloud.org/search/?q=-%3E%5Cs*(getConverter%7CautoConvert%7CautoConvertToAllVariants%7Cconvert%7CconvertNamespace%7ChasVariants%7ChasVariant%7CconvertHtml%7CconvertCategoryKey%7CgetVariants%7CgetPreferredVariant%7CgetDefaultVariant%7CgetURLVariant%7CgetExtraHashOptions%7CgetConvRuleTitle)%5Cs*%5C(&i=nope&files=%5C.php&excludeFiles=&repos=

Expected result:
  • Methods from list above should be call from LanguageConverter class.
  • Methods from the list above should be hard-deprecated for Language class

Details

Show related patches Customize query in gerrit

Event Timeline

@Art-Baltai: Assuming this task is about the MediaWiki-Language-converter code project, hence adding that project tag so other people who don't know or don't care about team tags can also find this task when searching via projects. Please set appropriate project tags when possible. Thanks!

Peter.ovchyn updated the task description. (Show Details)
Peter.ovchyn updated the task description. (Show Details)
Peter.ovchyn renamed this task from Use of LanguageConverter::getVariants, ::getVariant, ::hasVariant, ::hasVariants, ::getPreferredVariant, ::getDefaultVariant, ::getURLVariant, ::findVariantLink to Get rid of using deprecated Language Converter.Jun 11 2020, 9:09 AM
Peter.ovchyn updated the task description. (Show Details)
Peter.ovchyn added a project: Story.
Peter.ovchyn set the point value for this task to 40.
Peter.ovchyn renamed this task from Get rid of using deprecated Language Converter to Get rid of calling deprecated LanguageConverter methods from Language class.Jun 11 2020, 9:55 AM
Peter.ovchyn updated the task description. (Show Details)
Helga_sf triaged this task as Medium priority.Jul 8 2020, 12:14 PM

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

[mediawiki/core@master] Replace deprecated Language::getVariants in WebRequest

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

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

[mediawiki/core@master] Replace deprecated Language::getPreferredVariant in AuthManager

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

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

[mediawiki/core@master] Replace deprecated Language function in generateSitemap.php script

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

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

[mediawiki/core@master] Inject services into SearchFormWidget

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

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

[mediawiki/core@master] search: Replace deprecated Language::autoConvertToAllVariants

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

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

[mediawiki/core@master] Replace deprecated Language::getConverter in CoreParserFunctions

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

Change 709858 merged by jenkins-bot:

[mediawiki/core@master] Replace deprecated Language function in generateSitemap.php script

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

Change 709857 merged by jenkins-bot:

[mediawiki/core@master] Replace deprecated Language::getPreferredVariant in AuthManager

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

Change 709862 merged by jenkins-bot:

[mediawiki/core@master] search: Replace deprecated Language::autoConvertToAllVariants

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

Change 709844 merged by jenkins-bot:

[mediawiki/core@master] Replace deprecated Language::getVariants in WebRequest

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

Change 709860 merged by jenkins-bot:

[mediawiki/core@master] Inject services into SearchFormWidget

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

Change 709863 merged by jenkins-bot:

[mediawiki/core@master] Replace deprecated Language::getConverter in CoreParserFunctions

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

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

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

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

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

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

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

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 872450 merged by jenkins-bot:

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

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

Change 872448 merged by jenkins-bot:

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

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

Change 872449 merged by jenkins-bot:

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

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

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

[mediawiki/libs/LangConv@master] Replace deprecated Language::factory/Language::getConverter

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

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

[mediawiki/extensions/PerPageLanguage@master] Replace deprecated Language::getPreferredVariant

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

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

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

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

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

[mediawiki/extensions/Cargo@master] Replace deprecated Language::autoConvertToAllVariants

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

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

[mediawiki/core@master] maintenance: Replace deprecated Language::(has|get)Variants

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

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

[mediawiki/core@master] tests: Replace deprecated Language::(has|get)Variants

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

Change 885028 merged by jenkins-bot:

[mediawiki/extensions/Cargo@master] Replace deprecated Language::autoConvertToAllVariants

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

Change 885033 merged by jenkins-bot:

[mediawiki/core@master] tests: Replace deprecated Language::(has|get)Variants

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

Change 885030 merged by jenkins-bot:

[mediawiki/core@master] maintenance: Replace deprecated Language::(has|get)Variants

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

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

[mediawiki/core@master] Hard-deprecate language converter function in Language class

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

Change 885005 merged by jenkins-bot:

[mediawiki/extensions/PerPageLanguage@master] Replace deprecated Language::getPreferredVariant

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

Change 885027 merged by jenkins-bot:

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

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

Change 884991 merged by jenkins-bot:

[mediawiki/libs/LangConv@master] Replace deprecated Language::factory/Language::getConverter

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

Change 885874 merged by jenkins-bot:

[mediawiki/core@master] Language: Hard-deprecate language converter functions, deprecated in 1.35

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

Umherirrender renamed this task from Get rid of calling deprecated LanguageConverter methods from Language class to Get rid of calling deprecated LanguageConverter methods from Language class (and remove in 1.41).Mar 2 2023, 9:36 PM
Umherirrender changed the task status from Open to Stalled.
Umherirrender removed roman-stolar as the assignee of this task.
Umherirrender added a subscriber: roman-stolar.
Umherirrender changed the task status from Stalled to Open.Mar 14 2023, 9:34 PM

Change 936685 had a related patch set uploaded (by Fomafix; author: Fomafix):

[mediawiki/core@master] Language: Remove deprecated functions and constants

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

Change 936685 merged by jenkins-bot:

[mediawiki/core@master] Language: Remove deprecated functions and constants

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

Umherirrender removed Umherirrender as the assignee of this task.
Umherirrender subscribed.