preConvertPlural( $forms, 3 ); // @todo 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 * * @param $word string * @param $case string * * @return string */ 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 } }