preConvertPlural( $forms, 3 ); // FIXME: CLDR defines 4 plural forms instead of 3. Plural for decimals is missing. // http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html 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]; } } } # Convert from the nominative form of a noun to some other case # Invoked with {{GRAMMAR:case|word}} /** * Cases: genitiv, dativ, akuzativ, vokativ, instrumental, lokativ */ function convertGrammar( $word, $case ) { global $wgGrammarForms; if ( isset($wgGrammarForms['bs'][$case][$word]) ) { return $wgGrammarForms['bs'][$case][$word]; } switch ( $case ) { case 'instrumental': # instrumental $word = 's ' . $word; break; case 'lokativ': # locative $word = 'o ' . $word; break; } return $word; # this will return the original value for 'nominativ' (nominative) and all undefined case values } }