@@ 208-218 (lines=11) @@ | ||
205 | static::TVORIT => $prefix.'ей', |
|
206 | static::PREDLOJ => $prefix.'и', |
|
207 | ]; |
|
208 | } elseif (S::slice($name, -1) == 'я') { |
|
209 | $prefix = S::name(S::slice($name, 0, -1)); |
|
210 | return [ |
|
211 | static::IMENIT => $prefix . 'я', |
|
212 | static::RODIT => $prefix . 'и', |
|
213 | static::DAT => $prefix . 'е', |
|
214 | static::VINIT => $prefix . 'ю', |
|
215 | static::TVORIT => $prefix . 'ей', |
|
216 | static::PREDLOJ => $prefix . 'е', |
|
217 | ]; |
|
218 | } |
|
219 | ||
220 | if (!in_array($name, static::$immutableNames, true)) { |
|
221 | if ($gender === null) { |
@@ 79-89 (lines=11) @@ | ||
76 | Cases::TVORIT => $name.'ем', |
|
77 | Cases::PREDLOJ => $name.'е', |
|
78 | ); |
|
79 | } elseif (S::slice($name, -2) == 'на') { |
|
80 | $prefix = S::name(S::slice($name, 0, -1)); |
|
81 | return array( |
|
82 | Cases::IMENIT => $prefix.'а', |
|
83 | Cases::RODIT => $prefix.'ы', |
|
84 | Cases::DAT => $prefix.'е', |
|
85 | Cases::VINIT => $prefix.'у', |
|
86 | Cases::TVORIT => $prefix.'ой', |
|
87 | Cases::PREDLOJ => $prefix.'е', |
|
88 | ); |
|
89 | } |
|
90 | ||
91 | // inflect other middle names (foreign) as first names |
|
92 | return FirstNamesInflection::getCases($name, $gender); |