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.
+ # These rules don't cover the whole language.
+ # They are used only for site names.
# join and array_slice instead mb_substr
$ar = array();
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 ) ) == 'ія' ) {
+ if ( 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 ) ) == 'ди' ) {
+ } 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 ) ) == 'ник' ) {
+ } elseif ( join( '', array_slice( $ar[0], -3 ) ) === 'ник' ) {
$word = join( '', array_slice( $ar[0], 0, -3 ) ) . 'ника';
}
break;
- 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 ) ) == 'ія' ) {
+ if ( join( '', array_slice( $ar[0], -2 ) ) === 'ія' ) {
$word = join( '', array_slice( $ar[0], 0, -2 ) ) . 'ію';
}
break;
- case 'instrumental': # орудний відмінок
- # stub
- break;
- case 'prepositional': # місцевий відмінок
- # stub
- break;
}
}
return $word;
*/
function commafy( $_ ) {
if ( !preg_match( '/^\-?\d{1,4}(\.\d+)?$/', $_ ) ) {
- return strrev( (string)preg_replace( '/(\d{3})(?=\d)(?!\d*\.)/', '$1,', strrev( $_ ) ) );
+ return strrev( (string)preg_replace(
+ '/(\d{3})(?=\d)(?!\d*\.)/',
+ '$1,',
+ strrev( $_ )
+ ) );
} else {
return $_;
}