|
@@ 271-281 (lines=11) @@
|
| 268 |
|
static::TVORIT => RussianLanguage::isHissingConsonant(S::slice($name, -1)) || S::slice($name, -1) == 'ц' ? $prefix.'ем' : $prefix.'ом', |
| 269 |
|
static::PREDLOJ => $prefix.'е', |
| 270 |
|
]; |
| 271 |
|
} elseif (S::slice($name, -1) == 'ь' && static::isConsonant(S::slice($name, -2, -1))) { // soft consonant |
| 272 |
|
$prefix = S::name(S::slice($name, 0, -1)); |
| 273 |
|
return [ |
| 274 |
|
static::IMENIT => $prefix.'ь', |
| 275 |
|
static::RODIT => $prefix.'я', |
| 276 |
|
static::DAT => $prefix.'ю', |
| 277 |
|
static::VINIT => $prefix.'я', |
| 278 |
|
static::TVORIT => $prefix.'ем', |
| 279 |
|
static::PREDLOJ => $prefix.'е', |
| 280 |
|
]; |
| 281 |
|
} elseif (in_array(S::slice($name, -2), ['ай', 'ей', 'ой', 'уй', 'яй', 'юй', 'ий'], true)) { |
| 282 |
|
$prefix = S::name(S::slice($name, 0, -1)); |
| 283 |
|
$postfix = S::slice($name, -2) == 'ий' ? 'и' : 'е'; |
| 284 |
|
return [ |
|
@@ 348-358 (lines=11) @@
|
| 345 |
|
static::PREDLOJ => $prefix.'е', |
| 346 |
|
]; |
| 347 |
|
} |
| 348 |
|
} elseif (S::slice($name, -1) == 'ь' && static::isConsonant(S::slice($name, -2, -1))) { |
| 349 |
|
$prefix = S::name(S::slice($name, 0, -1)); |
| 350 |
|
return [ |
| 351 |
|
static::IMENIT => $prefix.'ь', |
| 352 |
|
static::RODIT => $prefix.'и', |
| 353 |
|
static::DAT => $prefix.'и', |
| 354 |
|
static::VINIT => $prefix.'ь', |
| 355 |
|
static::TVORIT => $prefix.'ью', |
| 356 |
|
static::PREDLOJ => $prefix.'и', |
| 357 |
|
]; |
| 358 |
|
} elseif (RussianLanguage::isHissingConsonant(S::slice($name, -1))) { |
| 359 |
|
$prefix = S::name($name); |
| 360 |
|
return [ |
| 361 |
|
static::IMENIT => $prefix, |