From 071731f7091d9b5cd6c785f2953e4c129c8b7abe Mon Sep 17 00:00:00 2001 From: Max Semenik Date: Wed, 6 Jan 2010 16:55:01 +0000 Subject: [PATCH] Clean-up for r60598: introduced a global setting for non-existant languages. Needs further integration into Language class, probably even getLanguageNames(), but I don't want to mess with preferences (which also display bogus language codes, btw) or LocalisationCache yet. --- config/Installer.php | 29 ++++------------------------- includes/DefaultSettings.php | 7 +++++++ 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/config/Installer.php b/config/Installer.php index 57e31a58f1..d295f884b8 100644 --- a/config/Installer.php +++ b/config/Installer.php @@ -2118,34 +2118,13 @@ function aField( &$conf, $field, $text, $type = "text", $value = "", $onclick = } function getLanguageList() { - global $wgLanguageNames, $IP; - if( !isset( $wgLanguageNames ) ) { - require_once( "$IP/languages/Names.php" ); - } + global $wgDummyLanguageCodes; $codes = array(); - - // qqq is a dummy "language" for documenting messages, other language codes are legacy/fallback. - $blacklist = array( 'qqq', 'als', 'be-x-old', 'dk', 'fiu-vro', 'iu', 'nb', 'simple', 'tp' ); - - $d = opendir( "../languages/messages" ); - /* In case we are called from the root directory */ - if (!$d) - $d = opendir( "languages/messages"); - while( false !== ($f = readdir( $d ) ) ) { - $m = array(); - if( preg_match( '/Messages([A-Z][a-z_]+)\.php$/', $f, $m ) ) { - $code = str_replace( '_', '-', strtolower( $m[1] ) ); - if( in_array( $code, $blacklist ) ) continue; - if( isset( $wgLanguageNames[$code] ) ) { - $name = wfBCP47( $code ) . ' - ' . $wgLanguageNames[$code]; - } else { - $name = $code; - } - $codes[$code] = $name; - } + foreach ( Language::getLanguageNames() as $code => $name ) { + if( in_array( $code, $wgDummyLanguageCodes ) ) continue; + $codes[$code] = $code . ' - ' . $name; } - closedir( $d ); ksort( $codes ); return $codes; } diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index b4659a87c9..29b83f7ade 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -861,6 +861,13 @@ $wgHideInterlanguageLinks = false; /** List of language names or overrides for default names in Names.php */ $wgExtraLanguageNames = array(); +/** + * List of language codes that don't correspond to an actual language. + * These codes are leftoffs from renames, or other legacy things. + * Also, qqq is a dummy "language" for documenting messages. + */ +$wgDummyLanguageCodes = array( 'qqq', 'als', 'be-x-old', 'dk', 'fiu-vro', 'iu', 'nb', 'simple', 'tp' ); + /** We speak UTF-8 all the time now, unless some oddities happen */ $wgInputEncoding = 'UTF-8'; $wgOutputEncoding = 'UTF-8'; -- 2.20.1