mirror of
https://github.com/retailcrm/NameCaseLib.git
synced 2024-12-05 03:16:06 +03:00
[0.4.1] /RU11072716/ распознавание имени, фамилии
This commit is contained in:
parent
3a2d34feae
commit
dd3b304fa6
@ -28,18 +28,17 @@ require_once NCL_DIR . '/NCLNameCaseWord.php';
|
|||||||
*/
|
*/
|
||||||
class NCLNameCaseCore extends NCL
|
class NCLNameCaseCore extends NCL
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Версия библиотеки
|
* Версия библиотеки
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $version = '0.4.1';
|
protected $version = '0.4.1';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Версия языкового файла
|
* Версия языкового файла
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $languageBuild = '0';
|
protected $languageBuild = '0';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Готовность системы:
|
* Готовность системы:
|
||||||
* - Все слова идентифицированы (известо к какой части ФИО относится слово)
|
* - Все слова идентифицированы (известо к какой части ФИО относится слово)
|
||||||
@ -144,6 +143,14 @@ class NCLNameCaseCore extends NCL
|
|||||||
$this->workindLastCache = array();
|
$this->workindLastCache = array();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Если не нужно склонять слово, делает результат таким же как и именительный падеж
|
||||||
|
*/
|
||||||
|
protected function makeResultTheSame()
|
||||||
|
{
|
||||||
|
$this->lastResult = array_fill(0, $this->CaseCount, $this->workingWord);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Если <var>$stopAfter</var> = 0, тогда вырезает $length последних букв с текущего слова (<var>$this->workingWord</var>)
|
* Если <var>$stopAfter</var> = 0, тогда вырезает $length последних букв с текущего слова (<var>$this->workingWord</var>)
|
||||||
* Если нет, тогда вырезает <var>$stopAfter</var> букв начиная от <var>$length</var> с конца
|
* Если нет, тогда вырезает <var>$stopAfter</var> букв начиная от <var>$length</var> с конца
|
||||||
@ -989,7 +996,7 @@ class NCLNameCaseCore extends NCL
|
|||||||
{
|
{
|
||||||
$this->setGender($gender);
|
$this->setGender($gender);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->getFormatted($caseNum, $format);
|
return $this->getFormatted($caseNum, $format);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1106,7 +1113,7 @@ class NCLNameCaseCore extends NCL
|
|||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Возвращает версию библиотеки
|
* Возвращает версию библиотеки
|
||||||
* @return string версия библиотеки
|
* @return string версия библиотеки
|
||||||
@ -1115,7 +1122,7 @@ class NCLNameCaseCore extends NCL
|
|||||||
{
|
{
|
||||||
return $this->version;
|
return $this->version;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Возвращает версию использованого языкового файла
|
* Возвращает версию использованого языкового файла
|
||||||
* @return string версия языкового файла
|
* @return string версия языкового файла
|
||||||
|
@ -220,12 +220,18 @@ class NCLNameCaseRu extends NCLNameCaseCore
|
|||||||
$this->Rule(403);
|
$this->Rule(403);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
elseif(!$this->in($this->Last(2, 1), $this->vowels))
|
||||||
{
|
{
|
||||||
$this->wordForms($this->workingWord, array('ого', 'ому', 'ого', 'им', 'ом'), 2);
|
$this->wordForms($this->workingWord, array('ого', 'ому', 'ого', 'им', 'ом'), 2);
|
||||||
$this->Rule(404);
|
$this->Rule(404);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->makeResultTheSame();
|
||||||
|
$this->Rule(405);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -341,7 +347,7 @@ class NCLNameCaseRu extends NCLNameCaseCore
|
|||||||
if ($this->in($this->Last(3), $this->ovo) or $this->in($this->Last(2), $this->ih))
|
if ($this->in($this->Last(3), $this->ovo) or $this->in($this->Last(2), $this->ih))
|
||||||
{
|
{
|
||||||
$this->Rule(8);
|
$this->Rule(8);
|
||||||
$this->lastResult = array_fill(0, $this->CaseCount, $this->workingWord);
|
$this->makeResultTheSame();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user