@@ 205-207 (lines=3) @@ | ||
202 | // TVORIT |
|
203 | if ($last == 'ь') { |
|
204 | $forms[Cases::TVORIT] = $prefix.'ой'; |
|
205 | } else { |
|
206 | $forms[Cases::TVORIT] = self::chooseVowelAfterConsonant($last, $soft_last, $prefix.'ей', $prefix.'ой'); |
|
207 | } |
|
208 | ||
209 | // if ($last == 'й' || (self::isConsonant($last) && !self::isHissingConsonant($last)) || self::checkLastConsonantSoftness($word)) |
|
210 | // $forms[Cases::TVORIT] = $prefix.'ей'; |
|
@@ 257-259 (lines=3) @@ | ||
254 | // $forms[Cases::TVORIT] = $prefix.'ом'; # http://morpher.ru/Russian/Spelling.aspx#sibilant |
|
255 | if (self::isHissingConsonant($last) || (in_array($last, ['ь', 'е', 'ё', 'ю', 'я']) && self::isHissingConsonant(S::slice($word, -2, -1))) || $last == 'ц') { |
|
256 | $forms[Cases::TVORIT] = $prefix.'ем'; |
|
257 | } elseif (in_array($last, ['й'/*, 'ч', 'щ'*/]) || $soft_last) { |
|
258 | $forms[Cases::TVORIT] = $prefix.'ем'; |
|
259 | } else { |
|
260 | $forms[Cases::TVORIT] = $prefix.'ом'; |
|
261 | } |
|
262 |
@@ 182-184 (lines=3) @@ | ||
179 | $forms[Cases::IMENIT] = $prefix.'и'; |
|
180 | } elseif (in_array($last, ['н', 'ц', 'р', 'т'])) { |
|
181 | $forms[Cases::IMENIT] = $prefix.'ы'; |
|
182 | } else { |
|
183 | $forms[Cases::IMENIT] = self::chooseVowelAfterConsonant($last, $soft_last, $prefix.'я', $prefix.'а'); |
|
184 | } |
|
185 | ||
186 | // RODIT |
|
187 | if (isset(self::$genitiveExceptions[$word])) { |