@@ 282-284 (lines=3) @@ | ||
279 | // $forms[Cases::TVORIT] = $prefix.'ом'; # http://morpher.ru/Russian/Spelling.aspx#sibilant |
|
280 | if (static::isHissingConsonant($last) || (in_array($last, ['ь', 'е', 'ё', 'ю', 'я'], true) && static::isHissingConsonant(S::slice($word, -2, -1))) || $last == 'ц') { |
|
281 | $forms[Cases::TVORIT] = $prefix.'ем'; |
|
282 | } elseif (in_array($last, ['й'/*, 'ч', 'щ'*/], true) || $soft_last) { |
|
283 | $forms[Cases::TVORIT] = $prefix.'ем'; |
|
284 | } else { |
|
285 | $forms[Cases::TVORIT] = $prefix.'ом'; |
|
286 | } |
|
287 |
@@ 243-245 (lines=3) @@ | ||
240 | } |
|
241 | } elseif (in_array($last, ['а'], true)) { // обида, ябеда |
|
242 | $forms[Cases::RODIT] = $prefix; |
|
243 | } elseif (in_array($last, ['я'], true)) { // молния |
|
244 | $forms[Cases::RODIT] = $prefix.'й'; |
|
245 | } elseif (RussianLanguage::isHissingConsonant($last) || ($soft_last && $last != 'й') || in_array(S::slice($word, -2), ['чь', 'сь', 'ть', 'нь'], true)) { |
|
246 | $forms[Cases::RODIT] = $prefix.'ей'; |
|
247 | } elseif ($last == 'й' || S::slice($word, -2) == 'яц') { // месяц |
|
248 | $forms[Cases::RODIT] = $prefix.'ев'; |