[0.4.1] /RU11071411/ Исправление правил

This commit is contained in:
Andriy Chaika 2011-07-14 11:46:28 +03:00
parent 5a04b04c25
commit ad1bc79c83

View File

@ -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;
}