diff --git a/src/Russian/LastNamesInflection.php b/src/Russian/LastNamesInflection.php index 0463e5e..2a82806 100644 --- a/src/Russian/LastNamesInflection.php +++ b/src/Russian/LastNamesInflection.php @@ -191,7 +191,8 @@ public static function getCases($name, $gender = null) $prefix = S::name(S::slice($name, 0, -1)); return [ static::IMENIT => S::name($name), - static::RODIT => $prefix.(static::isDeafConsonant(S::slice($name, -2, -1)) ? 'и' : 'ы'), + static::RODIT => $prefix.(static::isDeafConsonant(S::slice($name, -2, -1)) || S::slice($name, -2) + == 'га' ? 'и' : 'ы'), static::DAT => $prefix.'е', static::VINIT => $prefix.'у', static::TVORIT => $prefix.'ой', diff --git a/tests/Russian/LastNamesInflectionTest.php b/tests/Russian/LastNamesInflectionTest.php index 619f096..c7d1f91 100644 --- a/tests/Russian/LastNamesInflectionTest.php +++ b/tests/Russian/LastNamesInflectionTest.php @@ -56,6 +56,7 @@ public function lastNamesProvider() ['Толстой', NamesInflection::MALE, 'Толстого', 'Толстому', 'Толстого', 'Толстым', 'Толстом'], ['Стальной', NamesInflection::MALE, 'Стального', 'Стальному', 'Стального', 'Стальным', 'Стальном'], ['Жареный', NamesInflection::MALE, 'Жареного', 'Жареному', 'Жареного', 'Жареным', 'Жареном'], + ['Прожога', NamesInflection::MALE, 'Прожоги', 'Прожоге', 'Прожогу', 'Прожогой', 'Прожоге'], ['Смирнова', NamesInflection::FEMALE, 'Смирновой', 'Смирновой', 'Смирнову', 'Смирновой', 'Смирновой'], ['Кромская', NamesInflection::FEMALE, 'Кромской', 'Кромской', 'Кромскую', 'Кромской', 'Кромской'],