Skip to content

Commit

Permalink
+support for composite last names in Russian language
Browse files Browse the repository at this point in the history
  • Loading branch information
wapmorgan committed Aug 9, 2017
1 parent 073072d commit e2e3437
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
8 changes: 8 additions & 0 deletions src/Russian/LastNamesInflection.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,14 @@ public static function isMutable($name, $gender = null)
if ($gender === null) {
$gender = self::detectGender($name);
}
// составная фамилия - разбить на части и проверить по отдельности
if (strpos($name, '-') !== false) {
foreach (explode('-', $name) as $part) {
if (static::isMutable($part, $gender))
return true;
}
return false;
}

if (in_array(S::slice($name, -1), array('а', 'я'))) {
return true;
Expand Down
2 changes: 1 addition & 1 deletion tests/Russian/LastNamesInflectionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public function lastNamesProvider()
// foreign names
['Мартен-Люган', NamesInflection::MALE, 'Мартена-Люгана', 'Мартену-Люгану', 'Мартена-Люгана', 'Мартеном-Люганом', 'о Мартене-Люгане'],
['Копусов-Долинин', NamesInflection::MALE, 'Копусова-Долинина', 'Копусову-Долинину', 'Копусова-Долинина', 'Копусовым-Долининым', 'о Копусове-Долинине'],
// ['Кучера-Бози', NamesInflection::MALE, 'Кучера-Бози', 'Кучере-Бози', 'Кучера-Бози', 'Кучером-Бози', 'о Кучере-Бози'],
['Кучера-Бози', NamesInflection::MALE, 'Кучеры-Бози', 'Кучере-Бози', 'Кучеру-Бози', 'Кучерой-Бози', 'о Кучере-Бози'],
];
}

Expand Down

0 comments on commit e2e3437

Please sign in to comment.