|
@@ 211-213 (lines=3) @@
|
| 208 |
|
// exceptions |
| 209 |
|
if (in_array($word, static::$neuterExceptions, true)) { |
| 210 |
|
$forms[Cases::RODIT] = $prefix.'ей'; |
| 211 |
|
} elseif (S::slice($word, -2, -1) == 'и') { |
| 212 |
|
$forms[Cases::RODIT] = $prefix.'й'; |
| 213 |
|
} else { |
| 214 |
|
$forms[Cases::RODIT] = $prefix; |
| 215 |
|
} |
| 216 |
|
} elseif (S::slice($word, -2) == 'ка' && S::slice($word, -3, -2) !== 'и') { // words ending with -ка: чашка, вилка, ложка, тарелка, копейка, батарейка, аптека |
|
@@ 230-232 (lines=3) @@
|
| 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.'ев'; |
| 232 |
|
} else { // (static::isConsonant($last) && !RussianLanguage::isHissingConsonant($last)) |
| 233 |
|
$forms[Cases::RODIT] = $prefix.'ов'; |
| 234 |
|
} |
| 235 |
|
|