From ad1bc79c83c7596c35aa799a155116eff584525b Mon Sep 17 00:00:00 2001 From: Andriy Chaika Date: Thu, 14 Jul 2011 11:46:28 +0300 Subject: [PATCH] =?UTF-8?q?[0.4.1]=20/RU11071411/=20=D0=98=D1=81=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Library/NCL.NameCase.ru.php | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/Library/NCL.NameCase.ru.php b/Library/NCL.NameCase.ru.php index eb42ceb..ddf4546 100644 --- a/Library/NCL.NameCase.ru.php +++ b/Library/NCL.NameCase.ru.php @@ -26,7 +26,7 @@ class NCLNameCaseRu extends NCLNameCaseCore * Версия языкового файла * @var string */ - protected $languageBuild = '11071222'; + protected $languageBuild = '11071411'; /** * Количество падежей в языке @@ -121,7 +121,7 @@ class NCLNameCaseRu extends NCLNameCaseCore { if ($this->Last(1) == "а") { - if ($this->Last(2, 1) <> 'к') + if (!$this->in($this->Last(2, 1), 'кшгх')) { $this->wordForms($this->workingWord, array('ы', 'е', 'у', 'ой', 'е'), 1); $this->Rule(301); @@ -270,7 +270,7 @@ class NCLNameCaseRu extends NCLNameCaseCore $this->Rule(701); return true; } - elseif ($this->in($this->Last(2, 1), 'хк')) + elseif ($this->in($this->Last(2, 1), 'хкг')) { $this->wordForms($this->workingWord, array('и', 'е', 'у', 'ой', 'е'), 1); $this->Rule(702); @@ -628,7 +628,12 @@ class NCLNameCaseRu extends NCLNameCaseCore { $father+=3; } - + + if ($this->in($this->Last(2), array('ик', 'ша'))) + { + $first+=0.5; + } + //Похоже на имя if ($this->in($this->Last(3), array('тин', 'тын'))) { @@ -636,18 +641,22 @@ class NCLNameCaseRu extends NCLNameCaseCore } //Исключения - if ($this->inNames($namepart, array('Лев', 'Яков', 'Мальвина', 'Антонина', 'Альбина', 'Агриппина', 'Каллиник', 'Маша', 'Ольга', 'Еремей', 'Фаина', 'Лазарь', 'Екатерина', 'Карина', 'Марина', 'Валентина', 'Кристина', 'Исак', 'Исаак', 'Валентин', 'Константин', 'Мартин', 'Устин', 'Калина', 'Аделина', 'Алина', 'Ангелина', 'Галина', 'Каролина', 'Павлина', 'Полина', 'Элина', 'Мина', 'Нина', 'Ева', 'Ирина', 'Элькин', 'Мерлин'))) + if ($this->inNames($namepart, array('Лев', 'Яков', 'Мальвина', 'Антонина', 'Альбина', 'Агриппина', 'Каллиник', 'Маша', 'Ольга', 'Еремей', 'Фаина', 'Лазарь', 'Карина', 'Марина', 'Валентина', 'Исак', 'Исаак', 'Валентин', 'Константин', 'Мартин', 'Устин', 'Калина', 'Аделина', 'Алина', 'Ангелина', 'Галина', 'Каролина', 'Павлина', 'Полина', 'Элина', 'Мина', 'Нина', 'Ева', 'Ирина', 'Элькин', 'Мерлин'))) + { + $first+=10; + } + + if($this->in($this->Last(7),array('атерина', 'ристина'))) { $first+=10; } - //похоже на фамилию - if ($this->in($this->Last(2), array('ов', 'ин', 'ев', 'ёв', 'ый', 'ын', 'ой', 'ко', 'ук', 'як', 'ца', 'их', 'ик', 'ун', 'ок', 'ша', 'ая', 'га', 'ёк', 'аш', 'ив', 'юк', 'ус', 'це', 'ак', 'бр', 'яр', 'де', 'ых', 'уз', 'ах', 'рг', 'ец', 'юр', 'ич', 'ро'))) + if ($this->in($this->Last(2), array('ов', 'ин', 'ев', 'ёв', 'ый', 'ын', 'ой', 'ко', 'ук', 'як', 'ца', 'их', 'ун', 'ок', 'ая', 'га', 'ёк', 'аш', 'ив', 'юк', 'ус', 'це', 'ак', 'бр', 'яр', 'де', 'ых', 'уз', 'ах', 'рг', 'ец', 'юр', 'ич', 'ро', 'ло', 'ть', 'ль', 'ли', 'ур'))) { $second+=0.4; } - if ($this->in($this->Last(3), array('ова', 'ева', 'ёва', 'ына', 'тых', 'рик', 'вач', 'аха', 'шен', 'мей', 'арь', 'вка', 'шир', 'бан', 'тин', 'чий', 'ина', 'гай', 'кий', 'бей', 'чан', 'ган'))) + if ($this->in($this->Last(3), array('ова', 'ева', 'ёва', 'ына', 'тых', 'рик', 'вач', 'аха', 'шен', 'мей', 'арь', 'вка', 'шир', 'бан', 'тин', 'чий', 'ина', 'гай', 'кий', 'бей', 'чан', 'ган', 'ник', 'ким', 'бян', 'кан'))) { $second+=0.4; }