Use LanguageNameUtils constants instead of strings

Change-Id: I8521d00675008da0d7c8c768ab75352212653c66
This commit is contained in:
Alexander Vorwerk 2021-12-05 21:03:21 +01:00
parent 3f08cd753a
commit 3aa5b6643b
12 changed files with 34 additions and 19 deletions

View file

@ -143,7 +143,10 @@ class ApiSetPageLanguage extends ApiBase {
'lang' => [
ApiBase::PARAM_TYPE => array_merge(
[ 'default' ],
array_keys( $this->languageNameUtils->getLanguageNames( null, 'mwfile' ) )
array_keys( $this->languageNameUtils->getLanguageNames(
LanguageNameUtils::AUTONYMS,
LanguageNameUtils::SUPPORTED
) )
),
ApiBase::PARAM_REQUIRED => true,
],

View file

@ -1347,7 +1347,7 @@ class MessageCache implements LoggerAwareInterface {
* Mainly used after a mass rebuild
*/
public function clear() {
$langs = $this->languageNameUtils->getLanguageNames( null, 'mw' );
$langs = $this->languageNameUtils->getLanguageNames();
foreach ( array_keys( $langs ) as $code ) {
$this->wanCache->touchCheckKey( $this->getCheckKey( $code ) );
}
@ -1365,7 +1365,11 @@ class MessageCache implements LoggerAwareInterface {
}
$lang = array_pop( $pieces );
if ( !$this->languageNameUtils->getLanguageName( $lang, null, 'mw' ) ) {
if ( !$this->languageNameUtils->getLanguageName(
$lang,
LanguageNameUtils::AUTONYMS,
LanguageNameUtils::DEFINED
) ) {
return [ $key, $this->contLangCode ];
}

View file

@ -26,7 +26,7 @@ class HTMLSelectLanguageField extends HTMLSelectField {
$languages = MediaWikiServices::getInstance()
->getLanguageNameUtils()
->getLanguageNames( null, 'mw' );
->getLanguageNames();
// Make sure the site language is in the list;
// a custom language code might not have a defined name…

View file

@ -21,6 +21,7 @@
* @ingroup Installer
*/
use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\MediaWikiServices;
/**
@ -523,7 +524,7 @@ class WebInstaller extends Installer {
$mwLanguages = MediaWikiServices::getInstance()
->getLanguageNameUtils()
->getLanguageNames( null, 'mwfile' );
->getLanguageNames( LanguageNameUtils::AUTONYMS, LanguageNameUtils::SUPPORTED );
$headerLanguages = array_keys( $wgRequest->getAcceptLang() );
foreach ( $headerLanguages as $lang ) {

View file

@ -19,6 +19,7 @@
* @ingroup Installer
*/
use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\MediaWikiServices;
class WebInstallerLanguage extends WebInstallerPage {
@ -34,7 +35,7 @@ class WebInstallerLanguage extends WebInstallerPage {
$languages = MediaWikiServices::getInstance()
->getLanguageNameUtils()
->getLanguageNames( null, 'mwfile' );
->getLanguageNames( LanguageNameUtils::AUTONYMS, LanguageNameUtils::SUPPORTED );
$lifetime = intval( ini_get( 'session.gc_maxlifetime' ) );
if ( !$lifetime ) {
$lifetime = 1440; // PHP default
@ -109,7 +110,7 @@ class WebInstallerLanguage extends WebInstallerPage {
$languages = MediaWikiServices::getInstance()
->getLanguageNameUtils()
->getLanguageNames( null, 'mwfile' );
->getLanguageNames( LanguageNameUtils::AUTONYMS, LanguageNameUtils::SUPPORTED );
foreach ( $languages as $code => $lang ) {
$select->addOption( "$code - $lang", $code );
}

View file

@ -852,16 +852,16 @@ class Language {
* Use LanguageNameUtils::AUTONYMS for autonyms (native names)
* @param string $include One of:
* LanguageNameUtils::AUTONYMS all available languages
* 'mw' only if the language is defined in MediaWiki
* or wgExtraLanguageNames (default)
* LanguageNameUtils::SUPPORTED only if the language is in 'mw' *and*
* has a message file
* LanguageNameUtils::DEFINED only if the language is defined in
* MediaWiki or wgExtraLanguageNames (default)
* LanguageNameUtils::SUPPORTED only if the language is in
* LanguageNameUtils::DEFINED *and* has a message file
* @return array Language code => language name (sorted by key)
* @since 1.20
*/
public static function fetchLanguageNames(
$inLanguage = LanguageNameUtils::AUTONYMS,
$include = 'mw'
$include = LanguageNameUtils::DEFINED
) {
return MediaWikiServices::getInstance()->getLanguageNameUtils()
->getLanguageNames( $inLanguage, $include );

View file

@ -510,7 +510,10 @@ class DefaultPreferencesFactory implements PreferencesFactory {
'section' => 'personal/info',
];
$languages = $this->languageNameUtils->getLanguageNames( null, 'mwfile' );
$languages = $this->languageNameUtils->getLanguageNames(
LanguageNameUtils::AUTONYMS,
LanguageNameUtils::SUPPORTED
);
$languageCode = $this->options->get( 'LanguageCode' );
if ( !array_key_exists( $languageCode, $languages ) ) {
$languages[$languageCode] = $languageCode;

View file

@ -116,7 +116,7 @@ class SpecialPageLanguage extends FormSpecialPage {
// Building a language selector
$userLang = $this->getLanguage()->getCode();
$languages = $this->languageNameUtils->getLanguageNames( $userLang, 'mwfile' );
$languages = $this->languageNameUtils->getLanguageNames( $userLang, LanguageNameUtils::SUPPORTED );
$options = [];
foreach ( $languages as $code => $name ) {
$options["$code - $name"] = $code;

View file

@ -20,6 +20,7 @@
* @file
*/
use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\MediaWikiServices;
/**
@ -210,7 +211,7 @@ class Xml {
) {
global $wgLanguageCode;
$include = $customisedOnly ? 'mwfile' : 'mw';
$include = $customisedOnly ? LanguageNameUtils::SUPPORTED : LanguageNameUtils::DEFINED;
$languages = MediaWikiServices::getInstance()
->getLanguageNameUtils()
->getLanguageNames( $inLanguage, $include );

View file

@ -21,6 +21,7 @@
* @ingroup MaintenanceLanguage
*/
use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\MediaWikiServices;
require_once __DIR__ . '/../Maintenance.php';
@ -50,7 +51,7 @@ class LangMemUsage extends Maintenance {
$languages = array_keys(
MediaWikiServices::getInstance()
->getLanguageNameUtils()
->getLanguageNames( null, 'mwfile' )
->getLanguageNames( LanguageNameUtils::AUTONYMS, LanguageNameUtils::SUPPORTED )
);
sort( $languages );

View file

@ -30,6 +30,7 @@
*/
use MediaWiki\Config\ServiceOptions;
use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
@ -134,7 +135,7 @@ class RebuildLocalisationCache extends Maintenance {
$allCodes = array_keys( $services
->getLanguageNameUtils()
->getLanguageNames( null, 'mwfile' ) );
->getLanguageNames( LanguageNameUtils::AUTONYMS, LanguageNameUtils::SUPPORTED ) );
if ( $this->hasOption( 'lang' ) ) {
# Validate requested languages
$codes = array_intersect( $allCodes,

View file

@ -325,10 +325,10 @@ trait LanguageNameUtilsTestTrait {
return [
[],
[ AUTONYMS ],
[ AUTONYMS, 'mw' ],
[ AUTONYMS, DEFINED ],
[ AUTONYMS, ALL ],
[ AUTONYMS, SUPPORTED ],
[ 'he', 'mw' ],
[ 'he', DEFINED ],
[ 'he', ALL ],
[ 'he', SUPPORTED ],
];