26 if ( isset( $grammarForms[
'tyv'][$case][$word] ) ) {
27 return $grammarForms[
'tyv'][$case][$word];
31 $allVowels = [
"е",
"и",
"э",
"ө",
"ү",
"а",
"ё",
"о",
"у",
"ы",
"ю",
"я" ];
32 $frontVowels = [
"е",
"и",
"э",
"ө",
"ү" ];
33 $backVowels = [
"а",
"ё",
"о",
"у",
"ы",
"ю",
"я" ];
34 $unroundFrontVowels = [
"е",
"и",
"э" ];
35 $roundFrontVowels = [
"ө",
"ү" ];
36 $unroundBackVowels = [
"а",
"ы",
"я" ];
37 $roundBackVowels = [
"ё",
"о",
"у",
"ю" ];
38 $unvoicedPhonemes = [
"т",
"п",
"с",
"ш",
"к",
"ч",
"х" ];
39 $directiveUnvoicedStems = [
"т",
"п",
"с",
"ш",
"к",
"ч",
"х",
"л",
"м",
"н",
"ң" ];
40 $directiveVoicedStems = [
"д",
"б",
"з",
"ж",
"г",
"р",
"й" ];
43 $ar = mb_str_split( $word, 1 );
46 $wordEnding = end( $ar );
49 $wordLastVowel =
null;
50 for ( $i = count( $ar ); $i--; ) {
51 if ( in_array( $ar[$i], $allVowels,
true ) ) {
52 $wordLastVowel = $ar[$i];
60 if ( in_array( $wordEnding, $unvoicedPhonemes ) ) {
61 if ( in_array( $wordLastVowel, $roundFrontVowels ) ) {
63 } elseif ( in_array( $wordLastVowel, $unroundFrontVowels ) ) {
65 } elseif ( in_array( $wordLastVowel, $roundBackVowels ) ) {
67 } elseif ( in_array( $wordLastVowel, $unroundBackVowels ) ) {
70 } elseif ( $wordEnding ===
"л" ) {
71 if ( in_array( $wordLastVowel, $roundFrontVowels ) ) {
73 } elseif ( in_array( $wordLastVowel, $unroundFrontVowels ) ) {
75 } elseif ( in_array( $wordLastVowel, $roundBackVowels ) ) {
77 } elseif ( in_array( $wordLastVowel, $unroundBackVowels ) ) {
81 if ( in_array( $wordLastVowel, $roundFrontVowels ) ) {
83 } elseif ( in_array( $wordLastVowel, $unroundFrontVowels ) ) {
85 } elseif ( in_array( $wordLastVowel, $roundBackVowels ) ) {
87 } elseif ( in_array( $wordLastVowel, $unroundBackVowels ) ) {
94 if ( in_array( $wordEnding, $unvoicedPhonemes ) ) {
95 if ( in_array( $wordLastVowel, $frontVowels ) ) {
97 } elseif ( in_array( $wordLastVowel, $backVowels ) ) {
101 if ( in_array( $wordLastVowel, $frontVowels ) ) {
103 } elseif ( in_array( $wordLastVowel, $backVowels ) ) {
110 if ( in_array( $wordEnding, $unvoicedPhonemes ) ) {
111 if ( in_array( $wordLastVowel, $roundFrontVowels ) ) {
113 } elseif ( in_array( $wordLastVowel, $unroundFrontVowels ) ) {
115 } elseif ( in_array( $wordLastVowel, $roundBackVowels ) ) {
117 } elseif ( in_array( $wordLastVowel, $unroundBackVowels ) ) {
120 } elseif ( $wordEnding ===
"л" ) {
121 if ( in_array( $wordLastVowel, $roundFrontVowels ) ) {
123 } elseif ( in_array( $wordLastVowel, $unroundFrontVowels ) ) {
125 } elseif ( in_array( $wordLastVowel, $roundBackVowels ) ) {
127 } elseif ( in_array( $wordLastVowel, $unroundBackVowels ) ) {
131 if ( in_array( $wordLastVowel, $roundFrontVowels ) ) {
133 } elseif ( in_array( $wordLastVowel, $unroundFrontVowels ) ) {
135 } elseif ( in_array( $wordLastVowel, $roundBackVowels ) ) {
137 } elseif ( in_array( $wordLastVowel, $unroundBackVowels ) ) {
144 if ( in_array( $wordEnding, $unvoicedPhonemes ) ) {
145 if ( in_array( $wordLastVowel, $frontVowels ) ) {
147 } elseif ( in_array( $wordLastVowel, $backVowels ) ) {
151 if ( in_array( $wordLastVowel, $frontVowels ) ) {
153 } elseif ( in_array( $wordLastVowel, $backVowels ) ) {
160 if ( in_array( $wordEnding, $unvoicedPhonemes ) ) {
161 if ( in_array( $wordLastVowel, $frontVowels ) ) {
163 } elseif ( in_array( $wordLastVowel, $backVowels ) ) {
167 if ( in_array( $wordLastVowel, $frontVowels ) ) {
169 } elseif ( in_array( $wordLastVowel, $backVowels ) ) {
176 if ( in_array( $wordEnding, $directiveVoicedStems ) ) {
178 } elseif ( in_array( $wordEnding, $directiveUnvoicedStems ) ) {
184 if ( in_array( $wordEnding, $unvoicedPhonemes ) ) {
185 if ( in_array( $wordLastVowel, $roundFrontVowels ) ) {
187 } elseif ( in_array( $wordLastVowel, $unroundFrontVowels ) ) {
189 } elseif ( in_array( $wordLastVowel, $roundBackVowels ) ) {
191 } elseif ( in_array( $wordLastVowel, $unroundBackVowels ) ) {
195 if ( in_array( $wordLastVowel, $roundFrontVowels ) ) {
197 } elseif ( in_array( $wordLastVowel, $unroundFrontVowels ) ) {
199 } elseif ( in_array( $wordLastVowel, $roundBackVowels ) ) {
201 } elseif ( in_array( $wordLastVowel, $unroundBackVowels ) ) {