45 # These rules don't cover the whole language.
46 # They are used only for site names.
48 # join and array_slice instead mb_substr
50 preg_match_all(
'/./us', $word, $ar );
51 if ( !preg_match(
"/[a-zA-Z_]/us", $word ) ) {
53 case 'genitive': # родовий відмінок
54 if ( implode(
'', array_slice( $ar[0], -2 ) ) ===
'ія' ) {
55 $word = implode(
'', array_slice( $ar[0], 0, -2 ) ) .
'ії';
56 } elseif ( implode(
'', array_slice( $ar[0], -2 ) ) ===
'ти' ) {
57 $word = implode(
'', array_slice( $ar[0], 0, -2 ) ) .
'т';
58 } elseif ( implode(
'', array_slice( $ar[0], -2 ) ) ===
'ди' ) {
59 $word = implode(
'', array_slice( $ar[0], 0, -2 ) ) .
'дів';
60 } elseif ( implode(
'', array_slice( $ar[0], -3 ) ) ===
'ник' ) {
61 $word = implode(
'', array_slice( $ar[0], 0, -3 ) ) .
'ника';
64 case 'accusative': # знахідний відмінок
65 if ( implode(
'', array_slice( $ar[0], -2 ) ) ===
'ія' ) {
66 $word = implode(
'', array_slice( $ar[0], 0, -2 ) ) .
'ію';