http://www.mediawiki.org/wiki/Special:Code/MediaWiki/60736

Revision: 60736
Author:   maxsem
Date:     2010-01-06 16:55:01 +0000 (Wed, 06 Jan 2010)

Log Message:
-----------
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.

Modified Paths:
--------------
    trunk/phase3/config/Installer.php
    trunk/phase3/includes/DefaultSettings.php

Modified: trunk/phase3/config/Installer.php
===================================================================
--- trunk/phase3/config/Installer.php   2010-01-06 16:00:46 UTC (rev 60735)
+++ trunk/phase3/config/Installer.php   2010-01-06 16:55:01 UTC (rev 60736)
@@ -2118,34 +2118,13 @@
 }
 
 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;
 }

Modified: trunk/phase3/includes/DefaultSettings.php
===================================================================
--- trunk/phase3/includes/DefaultSettings.php   2010-01-06 16:00:46 UTC (rev 
60735)
+++ trunk/phase3/includes/DefaultSettings.php   2010-01-06 16:55:01 UTC (rev 
60736)
@@ -861,6 +861,13 @@
 /** 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';



_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to