* fixed js2 fileexist checking related to rewrite of special upload page in r57868
[lhc/web/wiklou.git] / languages / classes / LanguageSr.php
index cac82ce..48a4cb7 100644 (file)
@@ -92,7 +92,7 @@ class SrConverter extends LanguageConverter {
         *     names as they were
         *   - do not try to find variants for usernames
         */
-       function findVariantLink( &$link, &$nt, $forTemplate = false ) {
+       function findVariantLink( &$link, &$nt, $ignoreOtherCond = false ) {
                // check for user namespace
                if(is_object($nt)){
                        $ns = $nt->getNamespace();
@@ -101,7 +101,7 @@ class SrConverter extends LanguageConverter {
                }
 
                $oldlink=$link;
-               parent::findVariantLink( $link, $nt, $forTemplate );
+               parent::findVariantLink( $link, $nt, $ignoreOtherCond );
                if($this->getPreferredVariant()==$this->mMainLanguageCode)
                        $link=$oldlink;
        }
@@ -183,4 +183,27 @@ class LanguageSr extends LanguageSr_ec {
                $this->mConverter = new SrConverter($this, 'sr', $variants, $variantfallbacks, $marker, $flags);
                $wgHooks['ArticleSaveComplete'][] = $this->mConverter;
        }
+
+       function convertPlural( $count, $forms ) {
+               if ( !count($forms) ) { return ''; }
+
+               //if no number with word, then use $form[0] for singular and $form[1] for plural or zero
+               if( count($forms) === 2 ) return $count == 1 ? $forms[0] : $forms[1];
+
+               // FIXME: CLDR defines 4 plural forms. Form with decimals missing.
+               // See http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html#ru
+               $forms = $this->preConvertPlural( $forms, 3 );
+
+               if ($count > 10 && floor(($count % 100) / 10) == 1) {
+                       return $forms[2];
+               } else {
+                       switch ($count % 10) {
+                               case 1:  return $forms[0];
+                               case 2:
+                               case 3:
+                               case 4:  return $forms[1];
+                               default: return $forms[2];
+                       }
+               }
+       }
 }