diff options
Diffstat (limited to 'languages/classes/LanguageBe_tarask.php')
-rw-r--r-- | languages/classes/LanguageBe_tarask.php | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/languages/classes/LanguageBe_tarask.php b/languages/classes/LanguageBe_tarask.php index 5e168b7e..d2dd4825 100644 --- a/languages/classes/LanguageBe_tarask.php +++ b/languages/classes/LanguageBe_tarask.php @@ -1,5 +1,5 @@ <?php -/** Belarusian in Taraskievica orthography (Беларуская тарашкевіца) +/** Belarusian in Taraškievica orthography (Беларуская тарашкевіца) * * @addtogroup Language * @@ -11,17 +11,32 @@ */ class LanguageBe_tarask extends Language { - function convertPlural( $count, $wordform1, $wordform2, $wordform3, $w4, $w5) { - $count = str_replace ('.', '', $count); + /** + * Plural form transformations + * + * $wordform1 - singular form (for 1, 21, 31, 41...) + * $wordform2 - plural form (for 2, 3, 4, 22, 23, 24, 32, 33, 34...) + * $wordform3 - plural form (for 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25, 26...) + * $wordform4 - plural form for messages without number + */ + + function convertPlural( $count, $forms ) { + if ( !count($forms) ) { return ''; } + $forms = $this->preConvertPlural( $forms, 3 ); + + $count = abs( $count ); + if ( isset($forms[3]) && $count != 1 ) + return $forms[3]; + if ($count > 10 && floor(($count % 100) / 10) == 1) { - return $wordform3; + return $forms[2]; } else { switch ($count % 10) { - case 1: return $wordform1; + case 1: return $forms[0]; case 2: case 3: - case 4: return $wordform2; - default: return $wordform3; + case 4: return $forms[1]; + default: return $forms[2]; } } } |