wiki.techinc.nl/languages/classes/LanguageBs.php
Siebrand Mazeland 2cab477f44 * (bug 14165, bug 14294) Wikimedia specific configuration in convertGrammar() for 13 localisations (be, be-tarask, bs, cs, dsb, ga, gsw, hsb, hu, lv, rmy, sk, sl) removed. The settings have been put in extension WikimediaMessages. For be, be-tarask, bs, dsb, hsb some duplicates (1=1) were removed. Patch for Czech by Danny B.
* Also put the wgGrammarForms from the Wikimedia configuration in here, so everything is in one place. Bonus with this setup is that there will be a little less work for Wikimedia shell operators, as the wgGrammarForms configuration is now accessible to i18n committers.
* Header for WikimediaMessages.php, and add myself to extension credits.

WARNING to Wikimedia shell operators: the whole section "wgGrammarForms" in InitialiseSettings.php.html should be remove after updating to this version. It will most probably overrule all settings in WikimediaMessages because of "'default' => array()"
2008-08-10 18:32:10 +00:00

47 lines
1.1 KiB
PHP

<?php
/** Bosnian (bosanski)
*
* @ingroup Language
*/
class LanguageBs extends Language {
function convertPlural( $count, $forms ) {
if ( !count($forms) ) { return ''; }
$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];
}
}
}
# 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
}
}