@@ 265-267 (lines=3) @@ | ||
262 | // $forms[Cases::TVORIT] = $prefix.'ом'; # http://morpher.ru/Russian/Spelling.aspx#sibilant |
|
263 | if (self::isHissingConsonant($last) || (in_array($last, ['ь', 'е', 'ё', 'ю', 'я'], true) && self::isHissingConsonant(S::slice($word, -2, -1))) || $last == 'ц') { |
|
264 | $forms[Cases::TVORIT] = $prefix.'ем'; |
|
265 | } elseif (in_array($last, ['й'/*, 'ч', 'щ'*/], true) || $soft_last) { |
|
266 | $forms[Cases::TVORIT] = $prefix.'ем'; |
|
267 | } else { |
|
268 | $forms[Cases::TVORIT] = $prefix.'ом'; |
|
269 | } |
|
270 |
@@ 225-227 (lines=3) @@ | ||
222 | } |
|
223 | } elseif (in_array($last, ['а'], true)) { // обида, ябеда |
|
224 | $forms[Cases::RODIT] = $prefix; |
|
225 | } elseif (in_array($last, ['я'], true)) { // молния |
|
226 | $forms[Cases::RODIT] = $prefix.'й'; |
|
227 | } elseif (RussianLanguage::isHissingConsonant($last) || ($soft_last && $last != 'й') || in_array(S::slice($word, -2), ['чь', 'сь', 'ть', 'нь'], true)) { |
|
228 | $forms[Cases::RODIT] = $prefix.'ей'; |
|
229 | } elseif ($last == 'й' || S::slice($word, -2) == 'яц') { // месяц |
|
230 | $forms[Cases::RODIT] = $prefix.'ев'; |