@@ 502-512 (lines=11) @@ | ||
499 | self::TVORIT => RussianLanguage::isHissingConsonant(S::slice($name, -1)) || S::slice($name, -1) == 'ц' ? $prefix.'ем' : $prefix.'ом', |
|
500 | self::PREDLOJ => $prefix.'е', |
|
501 | ); |
|
502 | } elseif (S::slice($name, -1) == 'ь' && self::isConsonant(S::slice($name, -2, -1))) { // soft consonant |
|
503 | $prefix = S::name(S::slice($name, 0, -1)); |
|
504 | return array( |
|
505 | self::IMENIT => $prefix.'ь', |
|
506 | self::RODIT => $prefix.'я', |
|
507 | self::DAT => $prefix.'ю', |
|
508 | self::VINIT => $prefix.'я', |
|
509 | self::TVORIT => $prefix.'ем', |
|
510 | self::PREDLOJ => $prefix.'е', |
|
511 | ); |
|
512 | } elseif (in_array(S::slice($name, -2), array('ай', 'ей', 'ой', 'уй', 'яй', 'юй', 'ий'))) { |
|
513 | $prefix = S::name(S::slice($name, 0, -1)); |
|
514 | $postfix = S::slice($name, -2) == 'ий' ? 'и' : 'е'; |
|
515 | return array( |
|
@@ 574-584 (lines=11) @@ | ||
571 | self::PREDLOJ => $prefix.'е', |
|
572 | ); |
|
573 | } |
|
574 | } elseif (S::slice($name, -1) == 'ь' && self::isConsonant(S::slice($name, -2, -1))) { |
|
575 | $prefix = S::name(S::slice($name, 0, -1)); |
|
576 | return array( |
|
577 | self::IMENIT => $prefix.'ь', |
|
578 | self::RODIT => $prefix.'и', |
|
579 | self::DAT => $prefix.'и', |
|
580 | self::VINIT => $prefix.'ь', |
|
581 | self::TVORIT => $prefix.'ью', |
|
582 | self::PREDLOJ => $prefix.'и', |
|
583 | ); |
|
584 | } elseif (RussianLanguage::isHissingConsonant(S::slice($name, -1))) { |
|
585 | $prefix = S::name($name); |
|
586 | return array( |
|
587 | self::IMENIT => $prefix, |
@@ 163-174 (lines=12) @@ | ||
160 | self::TVORIT => $prefix.'ым', |
|
161 | self::PREDLOJ => $prefix.'ом', |
|
162 | ); |
|
163 | } elseif (S::slice($name, -1) == 'а') { |
|
164 | // Москва, Рига |
|
165 | $prefix = S::name(S::slice($name, 0, -1)); |
|
166 | return array( |
|
167 | self::IMENIT => $prefix.'а', |
|
168 | self::RODIT => $prefix.(self::isVelarConsonant(S::slice($name, -2, -1)) ? 'и' : 'ы'), |
|
169 | self::DAT => $prefix.'е', |
|
170 | self::VINIT => $prefix.'у', |
|
171 | self::TVORIT => $prefix.'ой', |
|
172 | self::PREDLOJ => $prefix.'е', |
|
173 | ); |
|
174 | } elseif (S::slice($name, -1) == 'я') { |
|
175 | // Азия |
|
176 | $prefix = S::name(S::slice($name, 0, -1)); |
|
177 | return array( |
@@ 186-196 (lines=11) @@ | ||
183 | self::TVORIT => $prefix.'ей', |
|
184 | self::PREDLOJ => $prefix.'е' |
|
185 | ); |
|
186 | } elseif (S::slice($name, -1) == 'а') { |
|
187 | $prefix = S::name(S::slice($name, 0, -1)); |
|
188 | return array( |
|
189 | self::IMENIT => S::name($name), |
|
190 | self::RODIT => $prefix.(self::isDeafConsonant(S::slice($name, -2, -1)) ? 'и' : 'ы'), |
|
191 | self::DAT => $prefix.'е', |
|
192 | self::VINIT => $prefix.'у', |
|
193 | self::TVORIT => $prefix.'ой', |
|
194 | self::PREDLOJ => $prefix.'е' |
|
195 | ); |
|
196 | } elseif (self::isConsonant(S::slice($name, -1)) && S::slice($name, -2) != 'ых') { |
|
197 | $prefix = S::name($name); |
|
198 | return array( |
|
199 | self::IMENIT => S::name($name), |