* Updated the message for 'yourvariant' to reflect that it is meant for the language...
authorZheng Zhu <zhengzhu@users.mediawiki.org>
Mon, 20 Sep 2004 01:47:10 +0000 (01:47 +0000)
committerZheng Zhu <zhengzhu@users.mediawiki.org>
Mon, 20 Sep 2004 01:47:10 +0000 (01:47 +0000)
* Updated getPreferredVariant() to return some meaningful default values

languages/Language.php

index 54e8492..60894d6 100644 (file)
@@ -1971,8 +1971,7 @@ class Language {
     # -{text}- in which case no conversion should take place for text
        function convert( $text ) {
 
-        $plang = $this->getPreferredVariant();
-        if(!$plang)
+        if(sizeof($this->getVariants())<2) 
             return $text;
 
                // no conversion if redirecting
@@ -1980,6 +1979,9 @@ class Language {
                        return $text;
                }
 
+
+        $plang = $this->getPreferredVariant();
+
         $tarray = explode("-{", $text);
         $tfirst = array_shift($tarray);
         $text = $this->autoConvert($tfirst);
@@ -2018,9 +2020,24 @@ class Language {
         return array();
     }
 
-    # todo: write general code to get default language variant
+
     function getPreferredVariant() {
-        return false;
+        global $wgUser;
+        
+        // if user logged in, get in from user's preference
+        if($wguser->getID()!=0)
+            return $wgUser->getOption('variant');
+
+        // if we have multiple variants for this langauge, 
+        // pick the first one as default
+        $v=$this->getVariants() ;
+        if(!empty($v))
+            return $v{0};
+
+        // otherwise there should really be just one variant, 
+        // get it from the class name
+        $lang = strtolower(substr(class_name($this), 8));
+        return $lang;
     }
 }