| @@ 226-228 (lines=3) @@ | ||
| 223 | } |
|
| 224 | } elseif (in_array($last, ['а'], true)) { // обида, ябеда |
|
| 225 | $forms[Cases::RODIT] = $prefix; |
|
| 226 | } elseif (in_array($last, ['я'], true)) { // молния |
|
| 227 | $forms[Cases::RODIT] = $prefix.'й'; |
|
| 228 | } elseif (RussianLanguage::isHissingConsonant($last) || ($soft_last && $last != 'й') || in_array(S::slice($word, -2), ['чь', 'сь', 'ть', 'нь', 'дь'], true)) { |
|
| 229 | $forms[Cases::RODIT] = $prefix.'ей'; |
|
| 230 | } elseif ($last == 'й' || S::slice($word, -2) == 'яц') { // месяц |
|
| 231 | $forms[Cases::RODIT] = $prefix.'ев'; |
|
| @@ 334-336 (lines=3) @@ | ||
| 331 | || (in_array($last, ['ь', 'е', 'ё', 'ю', 'я'], true) && static::isHissingConsonant(S::slice($word, -2, -1))) |
|
| 332 | || ($last === 'ц' && S::slice($word, -2) !== 'ец')) { |
|
| 333 | $forms[Cases::TVORIT] = $prefix.'ем'; |
|
| 334 | } elseif (in_array($last, ['й'/*, 'ч', 'щ'*/], true) || $soft_last) { |
|
| 335 | $forms[Cases::TVORIT] = $prefix.'ем'; |
|
| 336 | } else { |
|
| 337 | $forms[Cases::TVORIT] = $prefix.'ом'; |
|
| 338 | } |
|
| 339 | ||