Elegant solution for the problem with separate lists of special pages language files
authorMr. E23 <e23@users.mediawiki.org>
Sun, 1 Feb 2004 22:00:06 +0000 (22:00 +0000)
committerMr. E23 <e23@users.mediawiki.org>
Sun, 1 Feb 2004 22:00:06 +0000 (22:00 +0000)
languages/Language.php

index e2d1e5c..5ba3f88 100644 (file)
@@ -1352,6 +1352,24 @@ amusement.",
 #--------------------------------------------------------------------------
 
 class Language {
 #--------------------------------------------------------------------------
 
 class Language {
+       function Language(){
+               # Copies any missing values in the specified arrays from En to the current language
+               $fillin = array( "wgSysopSpecialPages", "wgValidSpecialPages", "wgDeveloperSpecialPages" );
+               $name = get_class( $this );
+               if( strpos( $name, "language" ) == 0){
+                       $lang = ucfirst( substr( $name, 8 ) );
+                       foreach( $fillin as $arrname ){
+                               $langver = "{$arrname}{$lang}";
+                               $enver = "{$arrname}En";
+                               if( ! isset( $GLOBALS[$langver] ) || ! isset( $GLOBALS[$enver] ))
+                                       continue;
+                               foreach($GLOBALS[$enver] as $spage => $text){
+                                       if( ! isset( $GLOBALS[$langver][$spage] ) )
+                                               $GLOBALS[$langver][$spage] = $text;
+                               }
+                       }
+               }
+       }
 
        function getDefaultUserOptions () {
                global $wgDefaultUserOptionsEn ;
 
        function getDefaultUserOptions () {
                global $wgDefaultUserOptionsEn ;