From 101c3f486343952a732661ee85dbbf1b3f0f231c Mon Sep 17 00:00:00 2001 From: Andriy Chaika Date: Sat, 24 Sep 2011 21:35:43 +0300 Subject: [PATCH] [0.4.1] Small bug FIX --- Library/NCL/NCLNameCaseWord.php | 4 ++-- Library/NCLNameCaseRu.php | 19 ++++++++++++------- Tests/Library/GenderDetectname.php | 2 +- Tests/Library/GenderDetectsirname.php | 2 +- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/Library/NCL/NCLNameCaseWord.php b/Library/NCL/NCLNameCaseWord.php index 217dacd..e7c1019 100644 --- a/Library/NCL/NCLNameCaseWord.php +++ b/Library/NCL/NCLNameCaseWord.php @@ -56,9 +56,9 @@ class NCLNameCaseWord * Содержит информацию о том, какие буквы в слове были большими, а какие мальникими: * - x - маленькая буква * - X - больная буква - * @var string + * @var array */ - private $letterMask = ''; + private $letterMask = array(); /** * Содержит true, если все слово было в верхнем регистре и false, если не было diff --git a/Library/NCLNameCaseRu.php b/Library/NCLNameCaseRu.php index f122afe..edcaa7e 100644 --- a/Library/NCLNameCaseRu.php +++ b/Library/NCLNameCaseRu.php @@ -74,7 +74,7 @@ class NCLNameCaseRu extends NCLNameCaseCore 'л' => 'аилоья', 'м' => 'аип', 'н' => 'ат', - 'о' => 'вдлнпртя', + 'о' => 'вдлнпря', 'п' => 'п', 'р' => 'адикпть', 'с' => 'атуя', @@ -548,8 +548,8 @@ class NCLNameCaseRu extends NCLNameCaseCore $man = 0; //Мужчина $woman = 0; //Женщина -//Попробуем выжать максимум из имени -//Если имя заканчивается на й, то скорее всего мужчина + //Попробуем выжать максимум из имени + //Если имя заканчивается на й, то скорее всего мужчина if ($this->Last(1) == 'й') { $man+=0.9; @@ -601,7 +601,12 @@ class NCLNameCaseRu extends NCLNameCaseCore { $woman+=0.5; } - + + if ($this->inNames($this->workingWord, 'Вова')) + { + $man += 10; + } + $word->setGender($man, $woman); } @@ -766,7 +771,7 @@ class NCLNameCaseRu extends NCLNameCaseCore } //Исключения - if ($this->inNames($namepart, array('Лев', 'Яков', 'Маша', 'Ольга', 'Еремей', 'Исак', 'Исаак', 'Ева', 'Ирина', 'Элькин', 'Мерлин'))) + if ($this->inNames($namepart, array('Лев', 'Яков', 'Вова', 'Маша', 'Ольга', 'Еремей', 'Исак', 'Исаак', 'Ева', 'Ирина', 'Элькин', 'Мерлин'))) { $first+=10; } @@ -857,12 +862,12 @@ class NCLNameCaseRu extends NCLNameCaseCore /** * Фамильные окончания */ - 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; } diff --git a/Tests/Library/GenderDetectname.php b/Tests/Library/GenderDetectname.php index 2914644..48fda7c 100644 --- a/Tests/Library/GenderDetectname.php +++ b/Tests/Library/GenderDetectname.php @@ -1,6 +1,6 @@