fix name_case Тулуз-Лотрек

fix Фрэнк
This commit is contained in:
RA 2015-08-26 14:38:28 +03:00
parent 6dea3ed9c7
commit a7ea2f57e0
2 changed files with 14 additions and 5 deletions

View File

@ -612,13 +612,22 @@ class NCLNameCaseCore extends NCL
$cnt=count($cur_words);
foreach ($cur_words as $k=>$cur_word){
$is_norm_rules=true;
$o_ncw=new NCLNameCaseWord($cur_word);
if ( $name_part_letter=='S' && $cnt>1 && $k<$cnt-1 ){
//если первая часть фамилии тоже фамилия, то склоняем по общим правилам
//иначе не склоняется
$o_nc = new NCLNameCaseRu();
$o_nc->detectNamePart( $o_ncw );
$is_norm_rules=( $o_ncw->getNamePart()==$name_part_letter );
$exclusion=array('тулуз');//исключения
$cur_word_=mb_strtolower($cur_word);
if ( !in_array($cur_word_, $exclusion ) ){
$o_nc = new NCLNameCaseRu();
$o_nc->detectNamePart( $o_ncw );
$is_norm_rules=( $o_ncw->getNamePart()=='S' );
}
else {
$is_norm_rules=false;
}
}
$this->setWorkingWord($cur_word);

View File

@ -270,7 +270,7 @@ class NCLNameCaseRu extends NCLNameCaseCore
$this->Rule(501);
return true;
}
if ($this->Last(2, 1) == 'е')
if ($this->Last(2, 1) == 'е' && !in_array($this->Last(3, 1), array('р')))//Лотрек
{
$this->wordForms($this->workingWord, array('ька', 'ьку', 'ька', 'ьком', 'ьке'), 2);
$this->Rule(502);
@ -821,7 +821,7 @@ class NCLNameCaseRu extends NCLNameCaseCore
//Исключения
if ($this->inNames($namepart, array('Лев', 'Яков', 'Вова', 'Маша', 'Ольга', 'Еремей',
'Исак', 'Исаак', 'Ева', 'Ирина', 'Элькин', 'Мерлин', 'Макс', 'Алекс', 'Франц', 'Питер', 'Пауль', 'Вильям', 'Уильям',
'Альфонс', 'Ганс', 'Франс', 'Мариа'/*Альфонс Мариа Муха*/, 'Филиппо', 'Андреа', 'Корнелис',
'Альфонс', 'Ганс', 'Франс', 'Мариа'/*Альфонс Мариа Муха*/, 'Филиппо', 'Андреа', 'Корнелис', 'Фрэнк',
'Бриджет', 'Элизабет', 'Маргарет', 'Джанет'/*женские иностранные*/)))
{
$first+=10;