From 9db190c7e736ec8d063187d4241b59feaf7dc2d1 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Wed, 22 Jun 2011 11:28:20 +0200 Subject: update to MediaWiki 1.17.0 --- languages/classes/LanguageUk.php | 75 ++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 38 deletions(-) (limited to 'languages/classes/LanguageUk.php') diff --git a/languages/classes/LanguageUk.php b/languages/classes/LanguageUk.php index 4b1dfde5..6c0cf8da 100644 --- a/languages/classes/LanguageUk.php +++ b/languages/classes/LanguageUk.php @@ -9,67 +9,67 @@ class LanguageUk extends Language { # Invoked with {{grammar:case|word}} function convertGrammar( $word, $case ) { global $wgGrammarForms; - if ( isset($wgGrammarForms['uk'][$case][$word]) ) { + if ( isset( $wgGrammarForms['uk'][$case][$word] ) ) { return $wgGrammarForms['uk'][$case][$word]; } # These rules are not perfect, but they are currently only used for site names so it doesn't # matter if they are wrong sometimes. Just add a special case for your site name if necessary. - #join and array_slice instead mb_substr + # join and array_slice instead mb_substr $ar = array(); preg_match_all( '/./us', $word, $ar ); - if (!preg_match("/[a-zA-Z_]/us", $word)) + if ( !preg_match( "/[a-zA-Z_]/us", $word ) ) switch ( $case ) { - case 'genitive': #родовий відмінок - if ((join('',array_slice($ar[0],-4))=='вікі') || (join('',array_slice($ar[0],-4))=='Вікі')) - {} - elseif (join('',array_slice($ar[0],-1))=='ь') - $word = join('',array_slice($ar[0],0,-1)).'я'; - elseif (join('',array_slice($ar[0],-2))=='ія') - $word=join('',array_slice($ar[0],0,-2)).'ії'; - elseif (join('',array_slice($ar[0],-2))=='ка') - $word=join('',array_slice($ar[0],0,-2)).'ки'; - elseif (join('',array_slice($ar[0],-2))=='ти') - $word=join('',array_slice($ar[0],0,-2)).'тей'; - elseif (join('',array_slice($ar[0],-2))=='ди') - $word=join('',array_slice($ar[0],0,-2)).'дів'; - elseif (join('',array_slice($ar[0],-3))=='ник') - $word=join('',array_slice($ar[0],0,-3)).'ника'; + case 'genitive': # родовий відмінок + if ( ( join( '', array_slice( $ar[0], -4 ) ) == 'вікі' ) || ( join( '', array_slice( $ar[0], -4 ) ) == 'Вікі' ) ) + { } + elseif ( join( '', array_slice( $ar[0], -1 ) ) == 'ь' ) + $word = join( '', array_slice( $ar[0], 0, -1 ) ) . 'я'; + elseif ( join( '', array_slice( $ar[0], -2 ) ) == 'ія' ) + $word = join( '', array_slice( $ar[0], 0, -2 ) ) . 'ії'; + elseif ( join( '', array_slice( $ar[0], -2 ) ) == 'ка' ) + $word = join( '', array_slice( $ar[0], 0, -2 ) ) . 'ки'; + elseif ( join( '', array_slice( $ar[0], -2 ) ) == 'ти' ) + $word = join( '', array_slice( $ar[0], 0, -2 ) ) . 'тей'; + elseif ( join( '', array_slice( $ar[0], -2 ) ) == 'ди' ) + $word = join( '', array_slice( $ar[0], 0, -2 ) ) . 'дів'; + elseif ( join( '', array_slice( $ar[0], -3 ) ) == 'ник' ) + $word = join( '', array_slice( $ar[0], 0, -3 ) ) . 'ника'; break; - case 'dative': #давальний відмінок - #stub + case 'dative': # давальний відмінок + # stub break; - case 'accusative': #знахідний відмінок - if ((join('',array_slice($ar[0],-4))=='вікі') || (join('',array_slice($ar[0],-4))=='Вікі')) - {} - elseif (join('',array_slice($ar[0],-2))=='ія') - $word=join('',array_slice($ar[0],0,-2)).'ію'; + case 'accusative': # знахідний відмінок + if ( ( join( '', array_slice( $ar[0], -4 ) ) == 'вікі' ) || ( join( '', array_slice( $ar[0], -4 ) ) == 'Вікі' ) ) + { } + elseif ( join( '', array_slice( $ar[0], -2 ) ) == 'ія' ) + $word = join( '', array_slice( $ar[0], 0, -2 ) ) . 'ію'; break; - case 'instrumental': #орудний відмінок - #stub + case 'instrumental': # орудний відмінок + # stub break; - case 'prepositional': #місцевий відмінок - #stub + case 'prepositional': # місцевий відмінок + # stub break; } return $word; } function convertPlural( $count, $forms ) { - if ( !count($forms) ) { return ''; } + 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]; + // 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 for decimals is missing/ // See http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html#uk $forms = $this->preConvertPlural( $forms, 3 ); - if ($count > 10 && floor(($count % 100) / 10) == 1) { + if ( $count > 10 && floor( ( $count % 100 ) / 10 ) == 1 ) { return $forms[2]; } else { - switch ($count % 10) { + switch ( $count % 10 ) { case 1: return $forms[0]; case 2: case 3: @@ -82,10 +82,9 @@ class LanguageUk extends Language { /* * Ukrainian numeric format is "12 345,67" but "1234,56" */ - - function commafy($_) { - if (!preg_match('/^\d{1,4}$/',$_)) { - return strrev((string)preg_replace('/(\d{3})(?=\d)(?!\d*\.)/','$1,',strrev($_))); + function commafy( $_ ) { + if ( !preg_match( '/^\-?\d{1,4}(\.\d+)?$/', $_ ) ) { + return strrev( (string)preg_replace( '/(\d{3})(?=\d)(?!\d*\.)/', '$1,', strrev( $_ ) ) ); } else { return $_; } -- cgit v1.2.2