├── Tests
├── AutoTest
│ └── Endings
│ │ ├── .gitignore
│ │ ├── EndingsCompiler.php
│ │ └── BatchTester.php
├── TestGenerator
│ ├── uagenerator
│ │ ├── girlfather.txt
│ │ ├── boyfather.txt
│ │ ├── loadDB.php
│ │ ├── testFromDB.php
│ │ ├── girlFatherDB.php
│ │ ├── girlSecondDB.php
│ │ ├── manFatherDB.php
│ │ ├── manSecondDB.php
│ │ ├── saveme.php
│ │ ├── savegirls.php
│ │ ├── girlname.txt
│ │ ├── boyname.txt
│ │ ├── boysecond.txt
│ │ └── girlsecond.txt
│ ├── Template
│ │ ├── NCLNameCaseCrazyTest.test
│ │ ├── NameSplit.test
│ │ ├── GenderGenname.test
│ │ ├── GenderGensirname.test
│ │ ├── NCLNameCaseRuTestNamesboy.test
│ │ ├── NCLNameCaseRuTestNamesgirl.test
│ │ ├── NCLNameCaseRuTestFatherboy.test
│ │ ├── NCLNameCaseRuTestFathergirl.test
│ │ ├── NCLNameCaseRuTestSirnamesboy.test
│ │ ├── NCLNameCaseRuTestSirnamesgirl.test
│ │ ├── GenderGenBoth.test
│ │ ├── NCLNameCaseRuTest.main
│ │ └── NCLNameCaseUaTest.main
│ ├── NamesAll
│ │ ├── importDB.php
│ │ ├── girlfather.txt
│ │ ├── boyfather.txt
│ │ ├── compile2.php
│ │ ├── compile.php
│ │ ├── girlname.txt
│ │ └── boyname.txt
│ ├── YandexLoader.php
│ ├── GenderDetector.generator.php.php
│ ├── GenderDetector.both.php.php
│ ├── nameSplit.generator.php.php
│ ├── UAnameSplit.generator.php.php
│ ├── UAGenderDetector.generator.php.php
│ ├── UAGenderDetector.both.php.php
│ ├── CrazyNCLNameCaseUAGenerator.php
│ ├── NCLNameCaseRuTest.generator.php
│ └── NCLNameCaseUAGenerator.php
├── debug.php
└── Library
│ ├── CrazyTestFathergirl.php
│ ├── NCLNameCaseUaTestFathergirl.php
│ ├── CrazyTestFatherboy.php
│ ├── NameSplitUAfather.php
│ ├── NCLNameCaseUaTestFatherboy.php
│ └── CoreMethodsTest.php
├── AUTHORS
├── Tutorial
├── lesson4.php
├── lesson5.2.php
├── lesson2.php
├── lesson6.php
├── lesson7.php
├── lesson5.3.php
├── lesson1.php
├── lesson3.php
└── lesson5.1.php
├── Docs
├── blank.html
├── media
│ ├── banner.css
│ └── stylesheet.css
├── errors.html
├── packages.html
├── index.html
├── classtrees_NameCaseLib.html
├── classtrees_default.html
├── default
│ ├── _NCL---NCL.php.html
│ ├── _NCL---NCLNameCaseInterface.php.html
│ ├── _NCL---NCLStr.php.html
│ ├── _NCL---NCLNameCaseWord.php.html
│ ├── _NCL.NameCase.ru.php.html
│ ├── _NCL.NameCase.ua.php.html
│ ├── _NCL---NCLNameCaseCore.php.html
│ └── NCL.html
├── NameCaseLib
│ ├── _NCL---NCLStr.php.html
│ ├── _NCL---NCLNameCaseInterface.php.html
│ ├── _NCL---NCL.php.html
│ ├── _NCL---NCLNameCaseWord.php.html
│ ├── _NCL.NameCase.ru.php.html
│ ├── _NCL.NameCase.ua.php.html
│ ├── _NCL---NCLNameCaseCore.php.html
│ └── NCL.html
├── li_NameCaseLib.html
└── li_default.html
├── MIT-LICENSE
├── README.md
└── Library
└── NCL
├── NCL.php
├── NCLStr.php
└── NCLNameCaseWord.php
/Tests/AutoTest/Endings/.gitignore:
--------------------------------------------------------------------------------
1 | *.txt
2 | compiled/
3 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/girlfather.txt:
--------------------------------------------------------------------------------
1 | Василівна
2 | Антонівна
3 | Яківна
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/boyfather.txt:
--------------------------------------------------------------------------------
1 | Олександрович
2 | Миколайович
3 | Кузьмич
4 | Петрович
5 | Ілліч
--------------------------------------------------------------------------------
/AUTHORS:
--------------------------------------------------------------------------------
1 | Core developer
2 | * Andriy Chaika (andriy@chaika.in.ua)
3 | * Rabotyahoff (https://github.com/Rabotyahoff)
4 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/Template/NCLNameCaseCrazyTest.test:
--------------------------------------------------------------------------------
1 |
2 | public function testCrazy{% id %}()
3 | {
4 | $this->assertEquals(explode(',','{% OK %}'), $this->object->q('{% name %}'));
5 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/Template/NameSplit.test:
--------------------------------------------------------------------------------
1 |
2 | public function testSplDetect{% id %}()
3 | {
4 | $this->assertEquals('{% gender %}-{% name %}', trim($this->object->getFullNameFormat('{% name %}')).'-{% name %}');
5 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/Template/GenderGenname.test:
--------------------------------------------------------------------------------
1 |
2 | public function testGenDetect{% id %}()
3 | {
4 | $this->object->setFirstName('{% name %}');
5 | $this->assertEquals('{% gender %}-{% name %}', $this->object->genderAutoDetect().'-{% name %}');
6 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/Template/GenderGensirname.test:
--------------------------------------------------------------------------------
1 |
2 | public function testGenDetect{% id %}()
3 | {
4 | $this->object->setSecondName('{% name %}');
5 | $this->assertEquals('{% gender %}-{% name %}', $this->object->genderAutoDetect().'-{% name %}');
6 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/Template/NCLNameCaseRuTestNamesboy.test:
--------------------------------------------------------------------------------
1 |
2 | public function testNameMan{% id %}()
3 | {
4 | $this->object->setFirstName('{% first %}');
5 | $this->object->setGender(1);
6 |
7 | $this->assertEquals(explode(',','{% firstOK %}'), $this->object->getFirstNameCase());
8 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/Template/NCLNameCaseRuTestNamesgirl.test:
--------------------------------------------------------------------------------
1 |
2 | public function testNameWoman{% id %}()
3 | {
4 | $this->object->setFirstName('{% first %}');
5 | $this->object->setGender(2);
6 |
7 | $this->assertEquals(explode(',','{% firstOK %}'), $this->object->getFirstNameCase());
8 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/Template/NCLNameCaseRuTestFatherboy.test:
--------------------------------------------------------------------------------
1 |
2 | public function testFatherMan{% id %}()
3 | {
4 | $this->object->setFatherName('{% father %}');
5 | $this->object->setGender(1);
6 |
7 | $this->assertEquals(explode(',','{% fatherOK %}'), $this->object->getFatherNameCase());
8 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/Template/NCLNameCaseRuTestFathergirl.test:
--------------------------------------------------------------------------------
1 |
2 | public function testFatherWoman{% id %}()
3 | {
4 | $this->object->setFatherName('{% father %}');
5 | $this->object->setGender(2);
6 |
7 | $this->assertEquals(explode(',','{% fatherOK %}'), $this->object->getFatherNameCase());
8 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/Template/NCLNameCaseRuTestSirnamesboy.test:
--------------------------------------------------------------------------------
1 |
2 | public function testManSirname{% id %}()
3 | {
4 | $this->object->setSecondName('{% second %}');
5 | $this->object->setGender(1);
6 |
7 | $this->assertEquals(explode(',','{% secondOK %}'), $this->object->getSecondNameCase());
8 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/Template/NCLNameCaseRuTestSirnamesgirl.test:
--------------------------------------------------------------------------------
1 |
2 | public function testWomanSirname{% id %}()
3 | {
4 | $this->object->setSecondName('{% second %}');
5 | $this->object->setGender(2);
6 |
7 | $this->assertEquals(explode(',','{% secondOK %}'), $this->object->getSecondNameCase());
8 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/Template/GenderGenBoth.test:
--------------------------------------------------------------------------------
1 |
2 | public function testGenDetect{% id %}()
3 | {
4 | $this->object->setFirstName('{% name %}');
5 | $this->object->setSecondName('{% sname %}');
6 | $this->assertEquals('{% gender %}-{% name %} {% sname %}', $this->object->genderAutoDetect().'-{% name %} {% sname %}');
7 | }
--------------------------------------------------------------------------------
/Tutorial/lesson4.php:
--------------------------------------------------------------------------------
1 | q("АНДРЕЙ НИКОЛАЕВИЧ", NCL::$RODITLN)."\n";
7 | echo $nc->q("королёв Никита ПЕТРОВИЧ", NCL::$RODITLN)."\n";
8 | echo $nc->q("ПороСЁнОК ПёТР", NCL::$RODITLN)."\n";
9 | ?>
10 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/loadDB.php:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/Docs/blank.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Generated Documentation
4 |
5 |
6 |
7 |
8 |
Generated Documentation
9 | Welcome to NameCaseLib!
10 |
11 | This documentation was generated by phpDocumentor v1.4.3
12 |
13 |
--------------------------------------------------------------------------------
/Tests/debug.php:
--------------------------------------------------------------------------------
1 | q("Швець Антон"));
8 | //var_dump($ob->getWordsArray());
9 |
10 | print_r($ob->fullReset()->setFullName("Афросинин", "Павел", "Илларионович")->getFormatted(null, "N F S"));
11 |
12 | //echo $ob->getFullNameFormat("Мая");
13 | //echo $ob->genderDetect("Іванцов Микола Микита Андрій Петро Михайлович Миколайович Антонівна");
14 | //echo $ob->getSecondNameRule();
15 | ?>
16 |
--------------------------------------------------------------------------------
/Docs/media/banner.css:
--------------------------------------------------------------------------------
1 | body
2 | {
3 | background-color: #CCCCFF;
4 | margin: 0px;
5 | padding: 0px;
6 | }
7 |
8 | /* Banner (top bar) classes */
9 |
10 | .banner { }
11 |
12 | .banner-menu
13 | {
14 | clear: both;
15 | padding: .5em;
16 | border-top: 2px solid #6666AA;
17 | }
18 |
19 | .banner-title
20 | {
21 | text-align: right;
22 | font-size: 20pt;
23 | font-weight: bold;
24 | margin: .2em;
25 | }
26 |
27 | .package-selector
28 | {
29 | background-color: #AAAADD;
30 | border: 1px solid black;
31 | color: yellow;
32 | }
33 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/NamesAll/importDB.php:
--------------------------------------------------------------------------------
1 |
21 |
--------------------------------------------------------------------------------
/Tutorial/lesson5.2.php:
--------------------------------------------------------------------------------
1 | qFatherName("Николаевич", NCL::$DATELN)."\n";
10 |
11 | /**
12 | * Если не указать падеж, получим массив со всеми падежами.
13 | */
14 | print_r($nc->qFirstName("Андрей"));
15 |
16 | /**
17 | * В ситувациях, когда не возможно определить пол, его полезно указать.
18 | */
19 | echo $nc->qSecondName("Касюк", NCL::$DATELN, NCL::$MAN)."\n";
20 | ?>
21 |
--------------------------------------------------------------------------------
/Tutorial/lesson2.php:
--------------------------------------------------------------------------------
1 | q('Андрей Николаевич', NCL::$RODITLN)."\n";
10 |
11 | /**
12 | * Указываем падеж украинской константой
13 | */
14 | echo $nc->q('Андрей Николаевич', NCL::$UaRodovyi)."\n";
15 |
16 | /**
17 | * Явно не указываем пол
18 | */
19 | print_r($nc->q('Иващук'));
20 |
21 | /**
22 | * Указываем мужской пол
23 | */
24 | print_r($nc->q('Иващук', null, NCL::$MAN));
25 | ?>
26 |
--------------------------------------------------------------------------------
/Tutorial/lesson6.php:
--------------------------------------------------------------------------------
1 | getFullNameFormat($person).' - '.$person."\n";
15 | }
16 | /**
17 | * Результат выполнения:
18 | * N F - Андрей Николаевич
19 | * N - Ирина
20 | * S N F - Ефиопский Аркадий Василевич
21 | * N F - Мария Николаевна
22 | * S N - Розумовский Илья
23 | */
24 | ?>
25 |
--------------------------------------------------------------------------------
/Tutorial/lesson7.php:
--------------------------------------------------------------------------------
1 | q($name);
12 |
13 | /**
14 | * Получаем массив объектов типа NCLNameCaseWord
15 | */
16 | $words = $nc->getWordsArray();
17 |
18 |
19 | foreach ($words as $word)
20 | {
21 | /**
22 | * Выводим тип каждого слова на экран
23 | */
24 | echo $word->getNamePart().' '.$word->getNameCase(NCL::$TVORITELN)."\n";
25 | }
26 |
27 | /**
28 | * Получаем:
29 | * S Ефиопским
30 | * N Аркадием
31 | * F Василевичем
32 | */
33 | ?>
34 |
--------------------------------------------------------------------------------
/Tutorial/lesson5.3.php:
--------------------------------------------------------------------------------
1 | fullReset()->setFirstName("Андрей")->setFatherName("Николаевич")->getFormatted(NCL::$RODITLN, "N F")."\n";
10 |
11 | /**
12 | * Заканчиваются методы вызовом метода getFormatted(), который возвращает искомую строку
13 | */
14 | print_r($nc->fullReset()->setFullName("Афросинин", "Павел", "Илларионович")->getFormatted(null, "N F S"));
15 |
16 | /**
17 | * Начинаются все цепочки с вызова метода fullReset();
18 | */
19 | echo $nc->fullReset()->setSecondName("Романчук")->setGender(NCL::$MAN)->getFormatted(NCL::$DATELN);
20 | ?>
21 |
--------------------------------------------------------------------------------
/Docs/errors.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | phpDocumentor Parser Errors and Warnings
7 |
8 |
9 |
10 |
11 | Post-parsing
12 |
13 | Documentation generated on Sat, 09 Jul 2011 17:55:20 +0300 by phpDocumentor 1.4.3
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/NamesAll/girlfather.txt:
--------------------------------------------------------------------------------
1 | Александровна
2 | Алексеевна
3 | Анатольевна
4 | Андреевна
5 | Антоновна
6 | Аркадьевна
7 | Богдановна
8 | Борисовна
9 | Валентиновна
10 | Валерьевна
11 | Васильевна
12 | Викторовна
13 | Владимировна
14 | Владиславовна
15 | Вячеславовна
16 | Генадиевна
17 | Георгиевна
18 | Григорьевна
19 | Даниловна
20 | Дмитриевна
21 | Евгеньевна
22 | Егоровна
23 | Ефимовна
24 | Ивановна
25 | Игоревна
26 | Ильинична
27 | Кирилловна
28 | Константиновна
29 | Леонидовна
30 | Львовна
31 | Максимовна
32 | Михайловна
33 | Николаевна
34 | Олеговна
35 | Павловна
36 | Петровна
37 | Робертовна
38 | Романовна
39 | Семеновна
40 | Сергеевна
41 | Степановна
42 | Станиславовна
43 | Тарасовна
44 | Федоровна
45 | Феликсовна
46 | Филипповна
47 | Эдуардовна
48 | Юрьевна
49 | Яковлевна
--------------------------------------------------------------------------------
/Tutorial/lesson1.php:
--------------------------------------------------------------------------------
1 | q("Андрей Николаевич"));
17 |
18 | /**
19 | * Подключаем другой язык
20 | */
21 | require '../Library/NCL.NameCase.ua.php';
22 | /**
23 | * Создаем объект класса.
24 | * Теперь библиотека готова к работе
25 | */
26 | $nc = new NCLNameCaseUa();
27 | /**
28 | * Производим склонения и выводим результат на экран
29 | */
30 | print_r($nc->q("Андрій Миколайович"));
31 | ?>
--------------------------------------------------------------------------------
/Tests/TestGenerator/NamesAll/boyfather.txt:
--------------------------------------------------------------------------------
1 | Александрович
2 | Алексеевич
3 | Анатольевич
4 | Андреевич
5 | Антонович
6 | Аркадьевич
7 | Богданович
8 | Борисович
9 | Валентинович
10 | Валерьевич
11 | Васильевич
12 | Викторович
13 | Владимирович
14 | Вячеславович
15 | Генадиевич
16 | Георгиевич
17 | Григорьевич
18 | Данилович
19 | Дмитриевич
20 | Евгеньевич
21 | Егорович
22 | Ефимович
23 | Иванович
24 | Игоревич
25 | Ильич
26 | Иосифович
27 | Кириллович
28 | Константинович
29 | Леонидович
30 | Львович
31 | Максимович
32 | Матвеевич
33 | Михайлович
34 | Николаевич
35 | Олегович
36 | Павлович
37 | Петрович
38 | Платонович
39 | Робертович
40 | Романович
41 | Семенович
42 | Сергеевич
43 | Степанович
44 | Станиславович
45 | Тарасович
46 | Тимофеевич
47 | Федорович
48 | Феликсович
49 | Филиппович
50 | Эдуардович
51 | Юрьевич
52 | Яковлевич
53 | Ярославочвич
--------------------------------------------------------------------------------
/Tests/TestGenerator/Template/NCLNameCaseRuTest.main:
--------------------------------------------------------------------------------
1 | object = new NCLNameCaseRu;
21 | }
22 |
23 | /**
24 | * Tears down the fixture, for example, closes a network connection.
25 | * This method is called after a test is executed.
26 | */
27 | protected function tearDown()
28 | {
29 |
30 | }
31 |
32 | {% tests %}
33 |
34 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/Template/NCLNameCaseUaTest.main:
--------------------------------------------------------------------------------
1 | object = new NCLNameCaseUa;
21 | }
22 |
23 | /**
24 | * Tears down the fixture, for example, closes a network connection.
25 | * This method is called after a test is executed.
26 | */
27 | protected function tearDown()
28 | {
29 |
30 | }
31 |
32 | {% tests %}
33 |
34 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/YandexLoader.php:
--------------------------------------------------------------------------------
1 | (.*?)<\/inflection>#ie", $content, $matches);
16 | foreach ($matches[1] as $key => $value)
17 | {
18 | $matches[1][$key] = trim($value);
19 | }
20 | return implode("#", $matches[1]);
21 | }
22 |
23 | $names = file("Names/girl_full.txt");
24 | $r = fopen("Names/girl_full_result.txt", "w");
25 | foreach ($names as $key => $value)
26 | {
27 | $nn = get_text($value);
28 | fwrite($r, $nn . "\n");
29 | }
30 | fclose($r);
31 | ?>
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/testFromDB.php:
--------------------------------------------------------------------------------
1 | qFirstName($row['name'], null, 2))!=$row['nameCase'])
16 | {
17 | $t.= "{$row['name']} ";
18 | $t.= "".
19 | implode(' ', $nc->qFirstName($row['name'], null, 2))
20 | ." ";
21 | }
22 |
23 | }
24 | echo $t;
25 | ?>
26 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/girlFatherDB.php:
--------------------------------------------------------------------------------
1 | qFatherName($row['name'], null, 2))!=$row['nameCase'])
16 | {
17 | $t.= "{$row['name']} ";
18 | $t.= "".
19 | implode(' ', $nc->qFatherName($row['name'], null, 2))
20 | ." ";
21 | }
22 |
23 | }
24 | echo $t;
25 | ?>
26 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/girlSecondDB.php:
--------------------------------------------------------------------------------
1 | qSecondName($row['name'], null, 2))!=$row['nameCase'])
16 | {
17 | $t.= "{$row['name']} ";
18 | $t.= "".
19 | implode(' ', $nc->qSecondName($row['name'], null, 2))
20 | ." ";
21 | }
22 |
23 | }
24 | echo $t;
25 | ?>
26 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/manFatherDB.php:
--------------------------------------------------------------------------------
1 | qFatherName($row['name'], null, 1))!=$row['nameCase'])
16 | {
17 | $t.= "{$row['name']} ";
18 | $t.= "".
19 | implode(' ', $nc->qFatherName($row['name'], null, 1))
20 | ." ";
21 | }
22 |
23 | }
24 | echo $t;
25 | ?>
26 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/manSecondDB.php:
--------------------------------------------------------------------------------
1 | qSecondName($row['name'], null, 1))!=$row['nameCase'])
16 | {
17 | $t.= "{$row['name']} ";
18 | $t.= "".
19 | implode(' ', $nc->qSecondName($row['name'], null, 1))
20 | ." ";
21 | }
22 |
23 | }
24 | echo $t;
25 | ?>
26 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/NamesAll/compile2.php:
--------------------------------------------------------------------------------
1 | $countsirname)
22 | {
23 | $full=cl($sirnames[rand(0,($countsirname-1))]);
24 | }
25 | else
26 | {
27 | $full=cl($sirnames[$i]);
28 | }
29 | $full.=' ';
30 | if ($cur>$countname)
31 | {
32 | $full.=cl($names[rand(0,($countname-1))]);
33 | }
34 | else
35 | {
36 | $full.=cl($names[$i]);
37 | }
38 | $res[]=$full;
39 | }
40 | print_r(implode("\n", $res));
41 | file_put_contents('../Names/'.$type."_SF.txt", implode("\n", $res));
42 | ?>
43 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/saveme.php:
--------------------------------------------------------------------------------
1 | $method($row['name'], null, ($type=='girl' ? 2 : 1)));
27 | mysql_query("UPDATE {$tablename} SET nameCase='{$res}' WHERE id={$id}");
28 | ?>
29 |
--------------------------------------------------------------------------------
/Docs/packages.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
NameCaseLib
14 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 | Generated Documentation
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | Frame Alert
20 | This document is designed to be viewed using the frames feature.
21 | If you see this message, you are using a non-frame-capable web client.
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Tutorial/lesson3.php:
--------------------------------------------------------------------------------
1 | genderDetect($person);
19 |
20 | /**
21 | * Выводим приветствие
22 | */
23 | echo "Мы хотим предложить " . $nc->q($person, NCL::$DATELN) . " наши новые товары из категорий:
24 | ";
25 |
26 | /**
27 | * В зависимости от пола предлагаем разные товары
28 | */
29 | if ($gender == NCL::$MAN)
30 | {
31 | echo "Рыбалка и охота
32 | Электроника
33 | Инструменты для дома ";
34 | }
35 | else
36 | {
37 | echo "Книги о кулинарии
38 | Косметика
39 | Дом и семья ";
40 | }
41 | echo " ";
42 | ?>
43 |
--------------------------------------------------------------------------------
/Tests/AutoTest/Endings/EndingsCompiler.php:
--------------------------------------------------------------------------------
1 | template = file_get_contents($this->sourceFile);
20 | $this->mode = $mode;
21 | }
22 |
23 | private function save()
24 | {
25 | file_put_contents($this->destination, $this->compiled);
26 | }
27 |
28 | public function compile($text = '')
29 | {
30 | if($text)
31 | {
32 | $text = ", '".$text."'";
33 | }
34 |
35 | $this->compiled = str_replace('/*{'.$this->mode.'}*/', $text , $this->template);
36 | //$this->compiled = $this->template;
37 | $this->save();
38 |
39 | }
40 | }
41 |
42 | ?>
43 |
--------------------------------------------------------------------------------
/Tutorial/lesson5.1.php:
--------------------------------------------------------------------------------
1 | qFullName("Иванов", "Фёдор", "Ильич", null, NCL::$TVORITELN)."\n"; //Ивановым Фёдором Ильичом
10 |
11 | /**
12 | * В формате не обязательно использовать все слова
13 | */
14 | echo $nc->qFullName("Иванов", "Фёдор", "Ильич", NCL::$MAN, NCL::$TVORITELN, "N F")."\n"; //Фёдором Ильичом
15 |
16 | /**
17 | * Можно указать формат и не указывать пол человека
18 | */
19 | echo $nc->qFullName("Иванов", "Фёдор", "Ильич", null, NCL::$TVORITELN, "S N")."\n"; //Ивановым Фёдором
20 |
21 | /**
22 | * Можно указать все параметры
23 | */
24 | echo $nc->qFullName("Иванов", "Фёдор", "Ильич", NCL::$MAN, NCL::$TVORITELN, "S N F")."\n"; //Ивановым Фёдором Ильичом
25 |
26 | /**
27 | * В строке-формате могут присутствовать любые символы
28 | */
29 | echo $nc->qFullName("Иванов", "Фёдор", "Ильич", NCL::$MAN, NCL::$TVORITELN, "Фамилия: S, Имя: N, Отчество: F")."\n"; //Фамилия: Ивановым, Имя: Фёдором, Отчество: Ильичом
30 | ?>
31 |
--------------------------------------------------------------------------------
/MIT-LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2011 Andriy Chaika, http://namecaselib.com/
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/Tests/TestGenerator/NamesAll/compile.php:
--------------------------------------------------------------------------------
1 | $countsirname)
24 | {
25 | $full=cl($sirnames[rand(0,($countsirname-1))]);
26 | }
27 | else
28 | {
29 | $full=cl($sirnames[$i]);
30 | }
31 | $full.=' ';
32 | if ($cur>$countname)
33 | {
34 | $full.=cl($names[rand(0,($countname-1))]);
35 | }
36 | else
37 | {
38 | $full.=cl($names[$i]);
39 | }
40 | $full.=' ';
41 | if ($cur>$countfather)
42 | {
43 | $full.=cl($fathers[rand(0,($countfather-1))]);
44 | }
45 | else
46 | {
47 | $full.=cl($fathers[$i]);
48 | }
49 | $res[]=$full;
50 | }
51 | print_r(implode("\n", $res));
52 | file_put_contents('../Names/'.$type."_full.txt", implode("\n", $res));
53 | ?>
54 |
--------------------------------------------------------------------------------
/Docs/classtrees_NameCaseLib.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | Root class NCL
17 |
23 |
24 | Root class NCLNameCaseWord
25 |
27 |
28 | Root class NCLStr
29 |
31 |
32 |
33 | Documentation generated on Sat, 09 Jul 2011 17:55:17 +0300 by phpDocumentor 1.4.3
34 |
35 |
36 |
--------------------------------------------------------------------------------
/Tests/Library/CrazyTestFathergirl.php:
--------------------------------------------------------------------------------
1 | object = new NCLNameCaseUa;
21 | }
22 |
23 | /**
24 | * Tears down the fixture, for example, closes a network connection.
25 | * This method is called after a test is executed.
26 | */
27 | protected function tearDown()
28 | {
29 |
30 | }
31 |
32 |
33 | public function testCrazy0()
34 | {
35 | $this->assertEquals(explode(',','Василівна,Василівни,Василівні,Василівну,Василівною,Василівні,Василівно'), $this->object->q('Василівна'));
36 | }
37 | public function testCrazy1()
38 | {
39 | $this->assertEquals(explode(',','Антонівна,Антонівни,Антонівні,Антонівну,Антонівною,Антонівні,Антонівно'), $this->object->q('Антонівна'));
40 | }
41 | public function testCrazy2()
42 | {
43 | $this->assertEquals(explode(',','Яківна,Яківни,Яківні,Яківну,Яківною,Яківні,Яківно'), $this->object->q('Яківна'));
44 | }
45 |
46 | }
--------------------------------------------------------------------------------
/Docs/classtrees_default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | Root interface NCLNameCaseInterface
17 |
19 |
20 | Root class NCL
21 |
27 |
28 | Root class NCLNameCaseWord
29 |
31 |
32 | Root class NCLStr
33 |
35 |
36 |
37 | Documentation generated on Wed, 06 Jul 2011 13:46:15 +0300 by phpDocumentor 1.4.3
38 |
39 |
40 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # NameCaseLib
2 | NameCaseLib — библиотека PHP5, предназначенная для автоматического склонения ФИО в русском и украинском языках. Уникальная особенность состоит в том, что библиотека содержит одинаковые методы для работы с ФИО на русском и украинском языках.
3 |
4 | ## Инструкция
5 | - Демонстрация работы - http://namecaselib.com/case/
6 | - Документация - http://namecaselib.com/book/
7 |
8 | ## 0.4.1 (2016-11-23)
9 | - Rules updates (5 years of work)
10 | - Any pull requests with the new rules updates will be merged now
11 |
12 | ## 0.4 (2011-07-09)
13 | - Полная переработка кода
14 | - Создание для каждого слова класса NCLNameCaseWord
15 | - Правила для склонения имен и фамилий объединены
16 | - Множество исправлений правил
17 | - Полная переработка ядра системы
18 | - Добавлена поддержка работы с разными регистрами слов
19 |
20 | ## 0.3 (2011-07-02)
21 | - Добавлен украинский язык
22 | - Все функции склонения работают одинаково для русского и украинского языков
23 | - Создан класс с общими функциями
24 | - Украинский язык может склонять в «кличний відмінок»
25 |
26 | ## 0.1.2 (2011-05-05)
27 | - Написана функция поиска имени, фамилии, отчества в строке.
28 | - Добавлена функция быстрого склонения NCLNameCaseRu::q(), которая принимает обязательный параметр ФИО в любом формате и возвращает строку в нужно падеже.
29 |
30 | ## 0.1.1 (2011-05-03)
31 | - Написана функция определения пола NCLNameCaseRu::GenderAutoDetect() — отлично справляется с парами Имя Фамилия, по моим тестам дает 100% прохождение тестов (2000 пар имен и фамилий). Если указано отчество, пол определяет без проблем. Для просто имен вероятность правильного определения больше 98,5%. Для просто фамилий — больше 96%.
32 |
33 | ## 0.1.0 (2011-05-01)
34 | - Первая версия библиотеки
35 |
--------------------------------------------------------------------------------
/Tests/Library/NCLNameCaseUaTestFathergirl.php:
--------------------------------------------------------------------------------
1 | object = new NCLNameCaseUa;
21 | }
22 |
23 | /**
24 | * Tears down the fixture, for example, closes a network connection.
25 | * This method is called after a test is executed.
26 | */
27 | protected function tearDown()
28 | {
29 |
30 | }
31 |
32 |
33 | public function testFatherWoman0()
34 | {
35 | $this->object->setFatherName('Василівна');
36 | $this->object->setGender(2);
37 |
38 | $this->assertEquals(explode(',','Василівна,Василівни,Василівні,Василівну,Василівною,Василівні,Василівно'), $this->object->getFatherNameCase());
39 | }
40 | public function testFatherWoman1()
41 | {
42 | $this->object->setFatherName('Антонівна');
43 | $this->object->setGender(2);
44 |
45 | $this->assertEquals(explode(',','Антонівна,Антонівни,Антонівні,Антонівну,Антонівною,Антонівні,Антонівно'), $this->object->getFatherNameCase());
46 | }
47 | public function testFatherWoman2()
48 | {
49 | $this->object->setFatherName('Яківна');
50 | $this->object->setGender(2);
51 |
52 | $this->assertEquals(explode(',','Яківна,Яківни,Яківні,Яківну,Яківною,Яківні,Яківно'), $this->object->getFatherNameCase());
53 | }
54 |
55 | }
--------------------------------------------------------------------------------
/Tests/Library/CrazyTestFatherboy.php:
--------------------------------------------------------------------------------
1 | object = new NCLNameCaseUa;
21 | }
22 |
23 | /**
24 | * Tears down the fixture, for example, closes a network connection.
25 | * This method is called after a test is executed.
26 | */
27 | protected function tearDown()
28 | {
29 |
30 | }
31 |
32 |
33 | public function testCrazy0()
34 | {
35 | $this->assertEquals(explode(',','Олександрович,Олександровича,Олександровичу,Олександровича,Олександровичем,Олександровичу,Олександровичу'), $this->object->q('Олександрович'));
36 | }
37 | public function testCrazy1()
38 | {
39 | $this->assertEquals(explode(',','Миколайович,Миколайовича,Миколайовичу,Миколайовича,Миколайовичем,Миколайовичу,Миколайовичу'), $this->object->q('Миколайович'));
40 | }
41 | public function testCrazy2()
42 | {
43 | $this->assertEquals(explode(',','Кузьмич,Кузьмича,Кузьмичу,Кузьмича,Кузьмичем,Кузьмичу,Кузьмичу'), $this->object->q('Кузьмич'));
44 | }
45 | public function testCrazy3()
46 | {
47 | $this->assertEquals(explode(',','Петрович,Петровича,Петровичу,Петровича,Петровичем,Петровичу,Петровичу'), $this->object->q('Петрович'));
48 | }
49 | public function testCrazy4()
50 | {
51 | $this->assertEquals(explode(',','Ілліч,Ілліча,Іллічу,Ілліча,Іллічем,Іллічу,Іллічу'), $this->object->q('Ілліч'));
52 | }
53 |
54 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/NamesAll/girlname.txt:
--------------------------------------------------------------------------------
1 | Августа
2 | Авдотья
3 | Аврелия
4 | Агния
5 | Аграфена
6 | Агриппина
7 | Аделаида
8 | Аделина
9 | Азиза
10 | Аида
11 | Александра
12 | Алина
13 | Алиса
14 | Алла
15 | Алсу
16 | Альбина
17 | Алёна
18 | Анастасия
19 | Ангелина
20 | Анжелика
21 | Анисия
22 | Анисья
23 | Анна
24 | Антонина
25 | Анушка
26 | Аполлинария
27 | Аполлония
28 | Арна
29 | Асель
30 | Аурика
31 | Аэлита
32 | Беата
33 | Божена
34 | Валентина
35 | Варвара
36 | Василиса
37 | Вера
38 | Вероника
39 | Виктория
40 | Виолетта
41 | Владислава
42 | Галина
43 | Геннадия
44 | Глафира
45 | Дария
46 | Дарья
47 | Диана
48 | Ева
49 | Евгения
50 | Евдокия
51 | Евфросиния
52 | Екатерина
53 | Елена
54 | Елизавета
55 | Жанна
56 | Зинаида
57 | Зоя
58 | Зульфия
59 | Изабелла
60 | Иляна
61 | Инна
62 | Иоанна
63 | Иулия
64 | Иуния
65 | Камола
66 | Карина
67 | Каролина
68 | Кира
69 | Клара
70 | Клеопатра
71 | Клотильда
72 | Констанция
73 | Консуэло
74 | Корнелия
75 | Кристина
76 | Ксения
77 | Лада
78 | Лариса
79 | Лейла
80 | Леся
81 | Ливия
82 | Любовь
83 | Людмила
84 | Майя
85 | Мальвина
86 | Марианна
87 | Марина
88 | Матильда
89 | Мафтуха
90 | Маша
91 | Мелания
92 | Милена
93 | Мэри
94 | Надежда
95 | Наталия
96 | Нина
97 | Нинель
98 | Нона
99 | Нонна
100 | Оксана
101 | Октавия
102 | Олеся
103 | Ольга
104 | Павлина
105 | Пелагея
106 | Полина
107 | Прасковья
108 | Рада
109 | Раиса
110 | Ребекка
111 | Ревекка
112 | Розалия
113 | Розарио
114 | Сара
115 | Светлана
116 | Снежана
117 | Стелла
118 | Степанида
119 | Стефания
120 | Суламифь
121 | Таисия
122 | Тамара
123 | Татьяна
124 | Улла
125 | Ульрика
126 | Ульяна
127 | Урсула
128 | Фаина
129 | Фатима
130 | Феба
131 | Феодора
132 | Филлида
133 | Фрида
134 | Фёкла
135 | Шарлотта
136 | Шейла
137 | Шона
138 | Элеонора
139 | Элина
140 | Эльвира
141 | Эми
142 | Юлианна
143 | Юлия
144 | Юния
145 | Ярослава
146 |
--------------------------------------------------------------------------------
/Docs/default/_NCL---NCL.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCL.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL/NCL.php
13 |
14 |
15 |
16 |
Description
17 |
18 |
Description |
19 |
Classes
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
Classes
30 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | NCL
43 |
44 |
45 | Класс, который содержит основные константы библиотеки:
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 | Documentation generated on Wed, 06 Jul 2011 13:46:17 +0300 by phpDocumentor 1.4.3
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Docs/default/_NCL---NCLNameCaseInterface.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCLNameCaseInterface.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL/NCLNameCaseInterface.php
13 |
14 |
15 |
16 |
Description
17 |
18 |
Description |
19 |
Classes
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
Classes
30 |
34 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 | Documentation generated on Wed, 06 Jul 2011 13:46:17 +0300 by phpDocumentor 1.4.3
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Docs/default/_NCL---NCLStr.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCLStr.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL/NCLStr.php
13 |
14 |
15 |
16 |
Description
17 |
18 |
Description |
19 |
Classes
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
Classes
30 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | NCLStr
43 |
44 |
45 | Класс содержит функции для работы со строками, которые используются в NCLNameCaseLib
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 | Documentation generated on Wed, 06 Jul 2011 13:46:18 +0300 by phpDocumentor 1.4.3
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Docs/default/_NCL---NCLNameCaseWord.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCLNameCaseWord.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL/NCLNameCaseWord.php
13 |
14 |
15 |
16 |
Description
17 |
18 |
Description |
19 |
Classes
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
Classes
30 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | NCLNameCaseWord
43 |
44 |
45 | NCLNameCaseWord - класс, который служит для хранения всей информации о каждом слове
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 | Documentation generated on Wed, 06 Jul 2011 13:46:18 +0300 by phpDocumentor 1.4.3
58 |
59 |
60 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/savegirls.php:
--------------------------------------------------------------------------------
1 | qSecondName($row['name'], null, 2))!=$row['nameCase'])
31 | // {
32 | // $t.= "{$row['name']} ";
33 | // $t.= "".
34 | // implode(' ', $nc->qSecondName($row['name'], null, 2))
35 | // ." ";
36 | // }
37 | $LastSymbol = mb_substr($row['name'], -1, 1, 'utf-8');
38 | $TwoLast = mb_substr($row['name'], -2, 2, 'utf-8');
39 | if($TwoLast=='ко' or in($LastSymbol, 'бвгджзйклмнпрстфхцчшщіь'))
40 | {
41 | $res=implode('#', array($row['name'],$row['name'],$row['name'],$row['name'],$row['name'],$row['name'],$row['name']));
42 | mysql_query("UPDATE {$tablename} SET nameCase='{$res}' WHERE id={$row['id']}");
43 | }
44 | }
45 | //$t='';
46 | //$row = mysql_fetch_array($all);
47 | //$method = 'qFirstName';
48 | //if($val=='father')
49 | //{
50 | // $method = 'qFatherName';
51 | //}
52 | //if($val=='second')
53 | //{
54 | // $method = 'qSecondName';
55 | //}
56 | //$res = implode('#', $nc->$method($row['name'], null, ($type=='girl' ? 2 : 1)));
57 | //mysql_query("UPDATE {$tablename} SET nameCase='{$res}' WHERE id={$id}");
58 | ?>
59 |
--------------------------------------------------------------------------------
/Tests/Library/NameSplitUAfather.php:
--------------------------------------------------------------------------------
1 | object = new NCLNameCaseUa;
21 | }
22 |
23 | /**
24 | * Tears down the fixture, for example, closes a network connection.
25 | * This method is called after a test is executed.
26 | */
27 | protected function tearDown()
28 | {
29 |
30 | }
31 |
32 |
33 | public function testSplDetect0()
34 | {
35 | $this->assertEquals('F-Олександрович', trim($this->object->getFullNameFormat('Олександрович')).'-Олександрович');
36 | }
37 | public function testSplDetect1()
38 | {
39 | $this->assertEquals('F-Миколайович', trim($this->object->getFullNameFormat('Миколайович')).'-Миколайович');
40 | }
41 | public function testSplDetect2()
42 | {
43 | $this->assertEquals('F-Кузьмич', trim($this->object->getFullNameFormat('Кузьмич')).'-Кузьмич');
44 | }
45 | public function testSplDetect3()
46 | {
47 | $this->assertEquals('F-Петрович', trim($this->object->getFullNameFormat('Петрович')).'-Петрович');
48 | }
49 | public function testSplDetect4()
50 | {
51 | $this->assertEquals('F-Ілліч', trim($this->object->getFullNameFormat('Ілліч')).'-Ілліч');
52 | }
53 | public function testSplDetect5()
54 | {
55 | $this->assertEquals('F-Василівна', trim($this->object->getFullNameFormat('Василівна')).'-Василівна');
56 | }
57 | public function testSplDetect6()
58 | {
59 | $this->assertEquals('F-Антонівна', trim($this->object->getFullNameFormat('Антонівна')).'-Антонівна');
60 | }
61 | public function testSplDetect7()
62 | {
63 | $this->assertEquals('F-Яківна', trim($this->object->getFullNameFormat('Яківна')).'-Яківна');
64 | }
65 |
66 | }
--------------------------------------------------------------------------------
/Docs/NameCaseLib/_NCL---NCLStr.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCLStr.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL/NCLStr.php
13 |
14 |
15 |
16 |
Description
17 |
18 |
Description |
19 |
Classes
20 |
21 |
28 |
29 |
30 |
31 |
32 |
Classes
33 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | NCLStr
46 |
47 |
48 | Класс содержит функции для работы со строками, которые используются в NCLNameCaseLib
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | Documentation generated on Sat, 09 Jul 2011 17:55:20 +0300 by phpDocumentor 1.4.3
61 |
62 |
63 |
--------------------------------------------------------------------------------
/Docs/NameCaseLib/_NCL---NCLNameCaseInterface.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCLNameCaseInterface.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL/NCLNameCaseInterface.php
13 |
14 |
15 |
16 |
Description
17 |
18 |
Description |
19 |
Classes
20 |
21 |
28 |
29 |
30 |
31 |
32 |
Classes
33 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | NCLNameCaseInterface
46 |
47 |
48 | Интерфейс для русского и украинского языка
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | Documentation generated on Thu, 07 Jul 2011 00:01:02 +0300 by phpDocumentor 1.4.3
61 |
62 |
63 |
--------------------------------------------------------------------------------
/Docs/NameCaseLib/_NCL---NCL.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCL.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL/NCL.php
13 |
14 |
15 |
16 |
Description
17 |
18 |
Description |
19 |
Classes
20 |
21 |
28 |
29 |
30 |
31 |
32 |
Classes
33 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | NCL
46 |
47 |
48 | Класс, который содержит основные константы библиотеки: индексы мужского и женского пола индексы всех падежей
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | Documentation generated on Sat, 09 Jul 2011 17:55:19 +0300 by phpDocumentor 1.4.3
61 |
62 |
63 |
--------------------------------------------------------------------------------
/Docs/NameCaseLib/_NCL---NCLNameCaseWord.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCLNameCaseWord.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL/NCLNameCaseWord.php
13 |
14 |
15 |
16 |
Description
17 |
18 |
Description |
19 |
Classes
20 |
21 |
28 |
29 |
30 |
31 |
32 |
Classes
33 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | NCLNameCaseWord
46 |
47 |
48 | NCLNameCaseWord - класс, который служит для хранения всей информации о каждом слове
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | Documentation generated on Sat, 09 Jul 2011 17:55:20 +0300 by phpDocumentor 1.4.3
61 |
62 |
63 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/GenderDetector.generator.php.php:
--------------------------------------------------------------------------------
1 | resultArr[]=file('Names/boy_full_result.txt');
21 | //$this->resultArr[]=file('Names/girl_full_result.txt');
22 | }
23 |
24 | public function generate($fname)
25 | {
26 | $this->maintemplate = file_get_contents('Template/NCLNameCaseRuTest.main');
27 | $this->testtemplate = file_get_contents('Template/GenderGen'.$fname.'.test');
28 | $this->resultArrB=file('NamesAll/boy'.$fname.'.txt');
29 | $this->resultArrG=file('NamesAll/girl'.$fname.'.txt');
30 | $this->count=0;
31 | $this->gender=1;
32 | //foreach ($this->resultArr as $key=>$value)
33 | //{
34 | //$this->gender=$key+1;
35 | foreach ($this->resultArrB as $id=>$name)
36 | {
37 | $this->generateTest(trim($name));
38 | }
39 | $this->gender=2;
40 | //foreach ($this->resultArr as $key=>$value)
41 | //{
42 | //$this->gender=$key+1;
43 | foreach ($this->resultArrG as $id=>$name)
44 | {
45 | $this->generateTest(trim($name));
46 | }
47 | //}
48 | $res=str_replace('{% tests %}', $this->tests, $this->maintemplate);
49 | $res=str_replace('{% name %}', $fname, $res);
50 | file_put_contents('../Library/GenderDetect'.$fname.'.php',$res);
51 | }
52 |
53 | private function generateTest($name)
54 | {
55 | $tpl=$this->testtemplate;
56 | $tpl=str_replace('{% id %}', $this->count, $tpl);
57 | $tpl=str_replace('{% name %}', $name, $tpl);
58 | $tpl=str_replace('{% gender %}', $this->gender, $tpl);
59 |
60 | $this->tests.=$tpl;
61 | $this->count++;
62 | }
63 |
64 |
65 | }
66 |
67 |
68 | $p= new TestGenerator;
69 | $p->generate('name');
70 | $p= new TestGenerator;
71 | $p->generate('sirname');
72 |
73 | ?>
74 |
--------------------------------------------------------------------------------
/Library/NCL/NCL.php:
--------------------------------------------------------------------------------
1 |
13 | * @version 0.4.1
14 | * @package NameCaseLib
15 | */
16 | class NCL
17 | {
18 | /**
19 | * Мужской пол
20 | * @static integer
21 | */
22 | static $MAN = 1;
23 |
24 | /**
25 | * Женский пол
26 | * @static integer
27 | */
28 | static $WOMAN = 2;
29 |
30 | /**
31 | * Именительный падеж
32 | * @static integer
33 | */
34 | static $IMENITLN = 0;
35 |
36 | /**
37 | * Родительный падеж
38 | * @static integer
39 | */
40 | static $RODITLN = 1;
41 |
42 | /**
43 | * Дательный падеж
44 | * @static integer
45 | */
46 | static $DATELN = 2;
47 |
48 | /**
49 | * Винительный падеж
50 | * @static integer
51 | */
52 | static $VINITELN = 3;
53 |
54 | /**
55 | * Творительный падеж
56 | * @static integer
57 | */
58 | static $TVORITELN = 4;
59 |
60 | /**
61 | * Предложный падеж
62 | * @static integer
63 | */
64 | static $PREDLOGN = 5;
65 |
66 | /**
67 | * Назвиний відмінок
68 | * @static integer
69 | */
70 | static $UaNazyvnyi = 0;
71 |
72 | /**
73 | * Родовий відмінок
74 | * @static integer
75 | */
76 | static $UaRodovyi = 1;
77 |
78 | /**
79 | * Давальний відмінок
80 | * @static integer
81 | */
82 | static $UaDavalnyi = 2;
83 |
84 | /**
85 | * Знахідний відмінок
86 | * @static integer
87 | */
88 | static $UaZnahidnyi = 3;
89 |
90 | /**
91 | * Орудний відмінок
92 | * @static integer
93 | */
94 | static $UaOrudnyi = 4;
95 |
96 | /**
97 | * Місцевий відмінок
98 | * @static integer
99 | */
100 | static $UaMiszevyi = 5;
101 |
102 | /**
103 | * Кличний відмінок
104 | * @static integer
105 | */
106 | static $UaKlychnyi = 6;
107 |
108 | }
109 |
110 | ?>
111 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/GenderDetector.both.php.php:
--------------------------------------------------------------------------------
1 | resultArr[]=file('Names/boy_full_result.txt');
21 | //$this->resultArr[]=file('Names/girl_full_result.txt');
22 | }
23 |
24 | public function generate($fname)
25 | {
26 | $this->maintemplate = file_get_contents('Template/NCLNameCaseRuTest.main');
27 | $this->testtemplate = file_get_contents('Template/GenderGen'.$fname.'.test');
28 | $this->resultArrB=file('Names/boy_SF.txt');
29 | $this->resultArrG=file('Names/girl_SF.txt');
30 | $this->count=0;
31 | $this->gender=1;
32 | //foreach ($this->resultArr as $key=>$value)
33 | //{
34 | //$this->gender=$key+1;
35 | foreach ($this->resultArrB as $id=>$name)
36 | {
37 | $t=explode(' ', trim($name));
38 | $this->generateTest(trim($t[0]),trim($t[1]));
39 | }
40 | $this->gender=2;
41 | //foreach ($this->resultArr as $key=>$value)
42 | //{
43 | //$this->gender=$key+1;
44 | foreach ($this->resultArrG as $id=>$name)
45 | {
46 | $t=explode(' ', trim($name));
47 | $this->generateTest(trim($t[0]),trim($t[1]));
48 | }
49 | //}
50 | $res=str_replace('{% tests %}', $this->tests, $this->maintemplate);
51 | $res=str_replace('{% name %}', $fname, $res);
52 | file_put_contents('../Library/GenderDetect'.$fname.'.php',$res);
53 | }
54 |
55 | private function generateTest($sname, $fname)
56 | {
57 | $tpl=$this->testtemplate;
58 | $tpl=str_replace('{% id %}', $this->count, $tpl);
59 | $tpl=str_replace('{% name %}', $fname, $tpl);
60 | $tpl=str_replace('{% sname %}', $sname, $tpl);
61 | $tpl=str_replace('{% gender %}', $this->gender, $tpl);
62 |
63 | $this->tests.=$tpl;
64 | $this->count++;
65 | }
66 |
67 |
68 | }
69 |
70 |
71 | $p= new TestGenerator;
72 | $p->generate('Both');
73 |
74 |
75 | ?>
76 |
--------------------------------------------------------------------------------
/Tests/Library/NCLNameCaseUaTestFatherboy.php:
--------------------------------------------------------------------------------
1 | object = new NCLNameCaseUa;
21 | }
22 |
23 | /**
24 | * Tears down the fixture, for example, closes a network connection.
25 | * This method is called after a test is executed.
26 | */
27 | protected function tearDown()
28 | {
29 |
30 | }
31 |
32 |
33 | public function testFatherMan0()
34 | {
35 | $this->object->setFatherName('Олександрович');
36 | $this->object->setGender(1);
37 |
38 | $this->assertEquals(explode(',','Олександрович,Олександровича,Олександровичу,Олександровича,Олександровичем,Олександровичу,Олександровичу'), $this->object->getFatherNameCase());
39 | }
40 | public function testFatherMan1()
41 | {
42 | $this->object->setFatherName('Миколайович');
43 | $this->object->setGender(1);
44 |
45 | $this->assertEquals(explode(',','Миколайович,Миколайовича,Миколайовичу,Миколайовича,Миколайовичем,Миколайовичу,Миколайовичу'), $this->object->getFatherNameCase());
46 | }
47 | public function testFatherMan2()
48 | {
49 | $this->object->setFatherName('Кузьмич');
50 | $this->object->setGender(1);
51 |
52 | $this->assertEquals(explode(',','Кузьмич,Кузьмича,Кузьмичу,Кузьмича,Кузьмичем,Кузьмичу,Кузьмичу'), $this->object->getFatherNameCase());
53 | }
54 | public function testFatherMan3()
55 | {
56 | $this->object->setFatherName('Петрович');
57 | $this->object->setGender(1);
58 |
59 | $this->assertEquals(explode(',','Петрович,Петровича,Петровичу,Петровича,Петровичем,Петровичу,Петровичу'), $this->object->getFatherNameCase());
60 | }
61 | public function testFatherMan4()
62 | {
63 | $this->object->setFatherName('Ілліч');
64 | $this->object->setGender(1);
65 |
66 | $this->assertEquals(explode(',','Ілліч,Ілліча,Іллічу,Ілліча,Іллічем,Іллічу,Іллічу'), $this->object->getFatherNameCase());
67 | }
68 |
69 | }
--------------------------------------------------------------------------------
/Tests/TestGenerator/nameSplit.generator.php.php:
--------------------------------------------------------------------------------
1 | resultArr[]=file('Names/boy_full_result.txt');
20 | //$this->resultArr[]=file('Names/girl_full_result.txt');
21 | }
22 |
23 | public function generate($fname)
24 | {
25 | $this->maintemplate = file_get_contents('Template/NCLNameCaseRuTest.main');
26 | $this->testtemplate = file_get_contents('Template/NameSplit.test');
27 | $this->resultArrB=file('NamesAll/boy'.$fname.'.txt');
28 | $this->resultArrG=file('NamesAll/girl'.$fname.'.txt');
29 | $this->count=0;
30 | if ($fname=='name')
31 | $this->gender='N';
32 | elseif($fname=='sirname')
33 | $this->gender='S';
34 | else
35 | {
36 | $this->gender='F';
37 | }
38 | //foreach ($this->resultArr as $key=>$value)
39 | //{
40 | //$this->gender=$key+1;
41 | foreach ($this->resultArrB as $id=>$name)
42 | {
43 | $this->generateTest(trim($name));
44 | }
45 | //foreach ($this->resultArr as $key=>$value)
46 | //{
47 | //$this->gender=$key+1;
48 | foreach ($this->resultArrG as $id=>$name)
49 | {
50 | $this->generateTest(trim($name));
51 | }
52 | //}
53 | $res=str_replace('{% tests %}', $this->tests, $this->maintemplate);
54 | $res=str_replace('{% name %}', $fname, $res);
55 | file_put_contents('../Library/NameSplit'.$fname.'.php',$res);
56 | }
57 |
58 | private function generateTest($name)
59 | {
60 | $tpl=$this->testtemplate;
61 | $tpl=str_replace('{% id %}', $this->count, $tpl);
62 | $tpl=str_replace('{% name %}', $name, $tpl);
63 | $tpl=str_replace('{% gender %}', $this->gender, $tpl);
64 |
65 | $this->tests.=$tpl;
66 | $this->count++;
67 | }
68 |
69 |
70 | }
71 |
72 |
73 | $p= new TestGenerator;
74 | $p->generate('name');
75 | $p= new TestGenerator;
76 | $p->generate('sirname');
77 | $p= new TestGenerator;
78 | $p->generate('father');
79 | ?>
80 |
--------------------------------------------------------------------------------
/Docs/li_NameCaseLib.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | NameCaseLib
12 |
42 | phpDocumentor v 1.4.3
43 |
44 |
--------------------------------------------------------------------------------
/Docs/li_default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | default
12 |
45 | phpDocumentor v 1.4.3
46 |
47 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/UAnameSplit.generator.php.php:
--------------------------------------------------------------------------------
1 | maintemplate = file_get_contents('Template/NCLNameCaseUaTest.main');
35 | $this->testtemplate = file_get_contents('Template/NameSplit.test');
36 |
37 | $this->count = 0;
38 | if ($fname == 'name')
39 | {
40 | $this->gender = 'N';
41 | $tableName = 'names';
42 | }
43 | elseif ($fname == 'sirname')
44 | {
45 | $this->gender = 'S';
46 | $tableName = 'second';
47 | }
48 | else
49 | {
50 | $this->gender = 'F';
51 | $tableName = 'father';
52 | }
53 |
54 | $names = array_merge($this->getList('boy', $tableName), $this->getList('girl', $tableName));
55 |
56 |
57 | //foreach ($this->resultArr as $key=>$value)
58 | //{
59 | //$this->gender=$key+1;
60 | foreach ($names as $id => $name)
61 | {
62 | $this->generateTest(trim($name));
63 | }
64 | //foreach ($this->resultArr as $key=>$value)
65 | //{
66 | //$this->gender=$key+1;
67 | // foreach ($this->resultArrG as $id => $name)
68 | // {
69 | // $this->generateTest(trim($name));
70 | // }
71 | //}
72 | $res = str_replace('{% tests %}', $this->tests, $this->maintemplate);
73 | $res = str_replace('{% name %}', $fname, $res);
74 | file_put_contents('../Library/NameSplitUA' . $fname . '.php', $res);
75 | }
76 |
77 | private function generateTest($name)
78 | {
79 | $tpl = $this->testtemplate;
80 | $tpl = str_replace('{% id %}', $this->count, $tpl);
81 | $tpl = str_replace('{% name %}', $name, $tpl);
82 | $tpl = str_replace('{% gender %}', $this->gender, $tpl);
83 |
84 | $this->tests.=$tpl;
85 | $this->count++;
86 | }
87 |
88 | }
89 |
90 | $p = new TestGenerator;
91 | $p->generate('name');
92 | $p = new TestGenerator;
93 | $p->generate('sirname');
94 | $p = new TestGenerator;
95 | $p->generate('father');
96 | ?>
97 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/UAGenderDetector.generator.php.php:
--------------------------------------------------------------------------------
1 | resultArr[]=file('Names/boy_full_result.txt');
20 | //$this->resultArr[]=file('Names/girl_full_result.txt');
21 | }
22 |
23 | public function generate($fname)
24 | {
25 | $this->maintemplate = file_get_contents('Template/NCLNameCaseUaTest.main');
26 | $this->testtemplate = file_get_contents('Template/GenderGen' . $fname . '.test');
27 | // $this->resultArrB=file('NamesAll/boy'.$fname.'.txt');
28 | // $this->resultArrG=file('NamesAll/girl'.$fname.'.txt');
29 | $this->count = 0;
30 |
31 |
32 | $fnewname = $fname;
33 | if ($fnewname == 'sirname')
34 | {
35 | $fnewname = 'second';
36 | }
37 | else
38 | {
39 | $fnewname = 'names';
40 | }
41 |
42 |
43 | $this->gender = 1;
44 | $this->dbTable = 'boy' . strtolower($fnewname);
45 | $this->resultArr = mysql_query("SELECT * FROM {$this->dbTable}");
46 | //foreach ($this->resultArr as $key=>$value)
47 | //{
48 | //$this->gender=$key+1;
49 | while ($row = mysql_fetch_array($this->resultArr))
50 | {
51 | $this->generateTest(trim($row['name']));
52 | }
53 |
54 | $this->dbTable = 'girl' . strtolower($fnewname);
55 | $this->gender = 2;
56 | $this->resultArr = mysql_query("SELECT * FROM {$this->dbTable}");
57 | //foreach ($this->resultArr as $key=>$value)
58 | //{
59 | //$this->gender=$key+1;
60 | while ($row = mysql_fetch_array($this->resultArr))
61 | {
62 | $this->generateTest(trim($row['name']));
63 | }
64 | //}
65 | $res = str_replace('{% tests %}', $this->tests, $this->maintemplate);
66 | $res = str_replace('{% name %}', $fname, $res);
67 | file_put_contents('../Library/GenderDetectUA' . $fname . '.php', $res);
68 | }
69 |
70 | private function generateTest($name)
71 | {
72 | $tpl = $this->testtemplate;
73 | $tpl = str_replace('{% id %}', $this->count, $tpl);
74 | $tpl = str_replace('{% name %}', $name, $tpl);
75 | $tpl = str_replace('{% gender %}', $this->gender, $tpl);
76 |
77 | $this->tests.=$tpl;
78 | $this->count++;
79 | }
80 |
81 | }
82 |
83 | $p = new TestGenerator;
84 | $p->generate('name');
85 | $p = new TestGenerator;
86 | $p->generate('sirname');
87 | ?>
88 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/UAGenderDetector.both.php.php:
--------------------------------------------------------------------------------
1 | resultArr[]=file('Names/boy_full_result.txt');
23 | //$this->resultArr[]=file('Names/girl_full_result.txt');
24 | }
25 |
26 | private function make($gender)
27 | {
28 | $res = mysql_query("SELECT * FROM {$gender}second");
29 | $secondArr = array();
30 | while($row = mysql_fetch_assoc($res))
31 | {
32 | $secondArr[] = $row['name'];
33 | }
34 | $res = mysql_query("SELECT * FROM {$gender}names");
35 | $firstArr = array();
36 | while($row = mysql_fetch_assoc($res))
37 | {
38 | $firstArr[] = $row['name'];
39 | }
40 |
41 | $countFirst = count($firstArr);
42 | $countSecond = count($secondArr);
43 |
44 | $max = max(array($countFirst, $countSecond));
45 |
46 | $result = array();
47 |
48 | for($i=0; $i<$max; $i++)
49 | {
50 | $indexFirst = $i % $countFirst;
51 | $indexSecond = $i % $countSecond;
52 |
53 | $this->generateTest($secondArr[$indexSecond],$firstArr[$indexFirst]);
54 | }
55 |
56 | return $result;
57 | }
58 |
59 | public function generate()
60 | {
61 | $this->maintemplate = file_get_contents('Template/NCLNameCaseUaTest.main');
62 | $this->testtemplate = file_get_contents('Template/GenderGenBoth.test');
63 |
64 | $this->count=0;
65 |
66 |
67 | $this->gender = 1;
68 | $this->make('boy');
69 |
70 |
71 | $this->gender = 2;
72 | $this->make('girl');
73 |
74 |
75 | $res=str_replace('{% tests %}', $this->tests, $this->maintemplate);
76 | file_put_contents('../Library/GenderDetectUABoth.php',$res);
77 | }
78 |
79 | private function generateTest($sname, $fname)
80 | {
81 | $tpl=$this->testtemplate;
82 | $tpl=str_replace('{% id %}', $this->count, $tpl);
83 | $tpl=str_replace('{% name %}', $fname, $tpl);
84 | $tpl=str_replace('{% sname %}', $sname, $tpl);
85 | $tpl=str_replace('{% gender %}', $this->gender, $tpl);
86 |
87 | $this->tests.=$tpl;
88 | $this->count++;
89 | }
90 |
91 |
92 | }
93 |
94 |
95 | $p= new TestGenerator;
96 | $p->generate('Both');
97 |
98 |
99 | ?>
100 |
--------------------------------------------------------------------------------
/Docs/default/_NCL.NameCase.ru.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCL.NameCase.ru.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL.NameCase.ru.php
13 |
14 |
15 |
16 |
Description
17 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
Classes
31 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | NCLNameCaseRu
45 |
46 |
47 | Класс, который содержит основные константы библиотеки:
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
Includes
57 |
62 |
63 |
64 |
65 |
66 |
67 |
68 | require_once
69 | (dirname(__FILE__).'/NCL/NCLNameCaseCore.php' )
70 | (line 13 )
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 | Documentation generated on Wed, 06 Jul 2011 13:46:15 +0300 by phpDocumentor 1.4.3
85 |
86 |
87 |
--------------------------------------------------------------------------------
/Docs/NameCaseLib/_NCL.NameCase.ru.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCL.NameCase.ru.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL.NameCase.ru.php
13 |
14 |
15 |
16 |
Description
17 |
22 |
29 |
30 |
31 |
32 |
33 |
Classes
34 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 | NCLNameCaseRu
48 |
49 |
50 | NCL NameCase Russian Language
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
Includes
60 |
65 |
66 |
67 |
68 |
69 |
70 |
71 | require_once
72 | (dirname(__FILE__).'/NCL/NCLNameCaseCore.php' )
73 | (line 10 )
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 | Documentation generated on Sat, 09 Jul 2011 17:55:17 +0300 by phpDocumentor 1.4.3
88 |
89 |
90 |
--------------------------------------------------------------------------------
/Docs/NameCaseLib/_NCL.NameCase.ua.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCL.NameCase.ua.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL.NameCase.ua.php
13 |
14 |
15 |
16 |
Description
17 |
22 |
29 |
30 |
31 |
32 |
33 |
Classes
34 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 | NCLNameCaseUa
48 |
49 |
50 | NCL NameCase Ukranian Language
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
Includes
60 |
65 |
66 |
67 |
68 |
69 |
70 |
71 | require_once
72 | (dirname(__FILE__).'/NCL/NCLNameCaseCore.php' )
73 | (line 10 )
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 | Documentation generated on Sat, 09 Jul 2011 17:55:18 +0300 by phpDocumentor 1.4.3
88 |
89 |
90 |
--------------------------------------------------------------------------------
/Tests/AutoTest/Endings/BatchTester.php:
--------------------------------------------------------------------------------
1 | compiler = new EndingsCompiler($mode);
25 | $this->mode = $mode;
26 | $this->compiler->compile();
27 |
28 | $this->epsilon = $this->runTest();
29 | }
30 |
31 | public function testText($ending)
32 | {
33 | $this->compiler->compile($ending);
34 |
35 | return $this->runTest();
36 | }
37 |
38 | public function runTest()
39 | {
40 | exec("phpunit compiled/Test.php", $output);
41 |
42 | preg_match_all('#Tests: ([\d]+), Assertions: ([\d]+), Failures: ([\d]+).#is', $output[count($output) - 1], $found);
43 | $tests = (float) $found[2][0];
44 | $bad = (float) $found[3][0];
45 |
46 | return (1 - ($bad / $tests));
47 | }
48 |
49 | }
50 |
51 | $direction = "sirname"; //sirname
52 |
53 | for ($num = 2; $num <= 4; $num++)
54 | {
55 | $good = array();
56 | $bad = array();
57 | $mode = 'endings_'.$direction . $num;
58 | echo "\n===========\n{$mode}\n===========\n";
59 | $tester = new BatchTester($mode, $direction);
60 |
61 | $epsilon = $tester->epsilon;
62 |
63 | $endings = file($mode . '.txt');
64 |
65 |
66 | $old = array();
67 | foreach ($endings as $ending)
68 | {
69 | if (mb_substr(trim($ending), 0, 1, 'utf-8') != '#')
70 | {
71 | $persent = $tester->testText(trim($ending));
72 | echo trim($ending) . " - " . $persent . "\n";
73 |
74 | if ($persent >= $epsilon)
75 | {
76 | $good[] = trim($ending);
77 | }
78 | else
79 | {
80 | $bad[] = trim($ending);
81 | }
82 | }
83 | else
84 | {
85 | $old[] = $ending;
86 | }
87 | }
88 |
89 |
90 | $content = implode('', $old);
91 | if ($good)
92 | {
93 | echo "\nGOOD \n";
94 | echo ", '" . implode("', '", $good) . "'";
95 | }
96 | if ($bad)
97 | {
98 | echo "\nBAD \n";
99 | echo implode(" ", $bad);
100 | $content .= '#'.implode("\n#", $bad);
101 | }
102 | //file_put_contens($mode . '.txt', '#'.implode("\n#", $bad));
103 | file_put_contents($mode . '.txt', $content);
104 | }
105 | echo "\n\n";
106 | ?>
107 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/CrazyNCLNameCaseUAGenerator.php:
--------------------------------------------------------------------------------
1 | resultArr[]=file('Names/boy_full_result.txt');
19 | //$this->resultArr[]=file('Names/girl_full_result.txt');
20 | }
21 |
22 | public function generate($fname, $gender)
23 | {
24 | $this->maintemplate = file_get_contents('Template/NCLNameCaseUaTest.main');
25 | $this->testtemplate = file_get_contents('Template/NCLNameCaseCrazyTest.test');
26 | //$this->resultArr=file('Names/'.$gender.'_full_result.txt');
27 | $this->count = 0;
28 | $fnewname = $fname;
29 | if ($fnewname == 'Sirnames')
30 | {
31 | $fnewname = 'second';
32 | }
33 | if ($gender == 'boy')
34 | {
35 | $this->gender = 1;
36 | $this->dbTable = 'boy' . strtolower($fnewname);
37 | }
38 | else
39 | {
40 | $this->gender = 2;
41 | $this->dbTable = 'girl' . strtolower($fnewname);
42 | }
43 | $this->resultArr = mysql_query("SELECT * FROM {$this->dbTable}");
44 | //foreach ($this->resultArr as $key=>$value)
45 | //{
46 | //$this->gender=$key+1;
47 | $all = array();
48 | while ($row = mysql_fetch_assoc($this->resultArr))
49 | {
50 | //$tmpnames=explode("#",trim(str_replace('ё','е',$name)));
51 |
52 | $firstRes = array();
53 | $secondRes = array();
54 | $fatherRes = array();
55 | $secondRes = $fatherRes = $firstRes = explode('#', $row['nameCase']);
56 | if ($row['nameCase'])
57 | {
58 | $this->generateTest($firstRes);
59 | }
60 | }
61 | //}
62 | $res = str_replace('{% tests %}', $this->tests, $this->maintemplate);
63 | $res = str_replace('{% name %}', $fname, $res);
64 | file_put_contents('../Library/CrazyTest' . $fname . $gender . '.php', $res);
65 | }
66 |
67 | private function generateTest($firstRes)
68 | {
69 | $tpl = $this->testtemplate;
70 | $tpl = str_replace('{% id %}', $this->count, $tpl);
71 |
72 | $tpl = str_replace('{% name %}', $firstRes[0], $tpl);
73 | $tpl = str_replace('{% OK %}', implode(',', $firstRes), $tpl);
74 |
75 | $this->tests.=$tpl;
76 | $this->count++;
77 | }
78 |
79 | }
80 |
81 | $p = new TestGeneratorDB;
82 | $p->generate('Names', 'boy');
83 | $p = new TestGeneratorDB;
84 | $p->generate('Names', 'girl');
85 |
86 | $p = new TestGeneratorDB;
87 | $p->generate('Father', 'boy');
88 | $p = new TestGeneratorDB;
89 | $p->generate('Father', 'girl');
90 |
91 | $p = new TestGeneratorDB;
92 | $p->generate('Sirnames', 'boy');
93 | $p = new TestGeneratorDB;
94 | $p->generate('Sirnames', 'girl');
95 | ?>
--------------------------------------------------------------------------------
/Tests/TestGenerator/NamesAll/boyname.txt:
--------------------------------------------------------------------------------
1 | Авдей
2 | Аверьян
3 | Адам
4 | Адриан
5 | Аксён
6 | Александр
7 | Алексей
8 | Анатолий
9 | Аркадий
10 | Арсен
11 | Арсений
12 | Артём
13 | Артемий
14 | Артур
15 | Архип
16 | Афанас
17 | Афанасий
18 | Андрей
19 | Анисим
20 | Антип
21 | Антон
22 | Ануфрий
23 | Бенедикт
24 | Богдан
25 | Борис
26 | Борислав
27 | Бронислав
28 | Вадим
29 | Валентин
30 | Валерий
31 | Валериан
32 | Валерьян
33 | Василий
34 | Венедикт
35 | Викентий
36 | Виктор
37 | Вилен
38 | Вилор
39 | Виталий
40 | Владилен
41 | Владимир
42 | Владислав
43 | Владлен
44 | Влас
45 | Всеволод
46 | Вячеслав
47 | Гавриил
48 | Гаврила
49 | Геннадий
50 | Георгий
51 | Герасим
52 | Герман
53 | Гертруд
54 | Глеб
55 | Гордей
56 | Григорий
57 | Гурий
58 | Давид
59 | Давыд
60 | Даниил
61 | Данила
62 | Демид
63 | Демьян
64 | Денис
65 | Димитрий
66 | Дмитрий
67 | Дорофей
68 | Евгений
69 | Евдоким
70 | Евсей
71 | Евдоким
72 | Евстафий
73 | Евстигней
74 | Егор
75 | Елизар
76 | Елисей
77 | Емельян
78 | Еремей
79 | Ермил
80 | Ермолай
81 | Ерофей
82 | Ефим
83 | Ефимий
84 | Ефрем
85 | Жан
86 | Захар
87 | Захарий
88 | Зиновий
89 | Иван
90 | Игнат
91 | Игнатий
92 | Игорь
93 | Измаил
94 | Изот
95 | Иларион
96 | Илья
97 | Ильяс
98 | Иосип
99 | Иосиф
100 | Исаак
101 | Исак
102 | Исидор
103 | Искандер
104 | Казимир
105 | Калина
106 | Каллиник
107 | Каллистрат
108 | Капитон
109 | Карп
110 | Касьян
111 | Кирей
112 | Кирила
113 | Кирилл
114 | Клим
115 | Климент
116 | Климентий
117 | Кондрат
118 | Кондратий
119 | Конон
120 | Константин
121 | Корней
122 | Корнелий
123 | Ксенофонт
124 | Кузьма
125 | Куприян
126 | Лаврентий
127 | Лазарь
128 | Лев
129 | Левон
130 | Леонид
131 | Леон
132 | Леонтий
133 | Лука
134 | Лукьян
135 | Людвиг
136 | Макар
137 | Максим
138 | Марат
139 | Марк
140 | Маркел
141 | Мартин
142 | Мартын
143 | Мефодий
144 | Мина
145 | Минай
146 | Мирон
147 | Митрофан
148 | Михаил
149 | Михей
150 | Модест
151 | Моисей
152 | Мокей
153 | Мстислав
154 | Назар
155 | Наркис
156 | Нарцис
157 | Наум
158 | Нейл
159 | Нестер
160 | Нестор
161 | Нефёд
162 | Никандр
163 | Никанор
164 | Никита
165 | Никифор
166 | Никодим
167 | Николай
168 | Никон
169 | Нил
170 | Олег
171 | Онисим
172 | Онуфрий
173 | Орест
174 | Осип
175 | Остап
176 | Отто
177 | Павел
178 | Панкрат
179 | Панкратий
180 | Пантелей
181 | Пантелеймон
182 | Парфён
183 | Парфений
184 | Пётр
185 | Пимен
186 | Платон
187 | Полиграф
188 | Поликарп
189 | Порфир
190 | Порфирий
191 | Потап
192 | Прокоп
193 | Прокопий
194 | Прокофий
195 | Прохор
196 | Роберт
197 | Родион
198 | Роман
199 | Ростислав
200 | Руслан
201 | Савастей
202 | Савва
203 | Савватий
204 | Савелий
205 | Самсон
206 | Святослав
207 | Семён
208 | Серафим
209 | Сергей
210 | Сергий
211 | Сидор
212 | Созон
213 | Созонт
214 | Спиридон
215 | Станислав
216 | Степан
217 | Тарас
218 | Теймураз
219 | Терентий
220 | Тимофей
221 | Тимур
222 | Тихон
223 | Трифон
224 | Трофим
225 | Устин
226 | Фадей
227 | Федот
228 | Феликс
229 | Фёдор
230 | Федосий
231 | Феодосий
232 | Феоктист
233 | Феофан
234 | Филат
235 | Филимон
236 | Филипп
237 | Фока
238 | Фома
239 | Фрол
240 | Харитон
241 | Харлам
242 | Харламп
243 | Харлампий
244 | Чеслав
245 | Эдгар
246 | Эдгард
247 | Эдуард
248 | Юлиан
249 | Юлий
250 | Юрий
251 | Яков
252 | Ярослав
253 | Ян
--------------------------------------------------------------------------------
/Tests/TestGenerator/NCLNameCaseRuTest.generator.php:
--------------------------------------------------------------------------------
1 | resultArr[]=file('Names/boy_full_result.txt');
20 | //$this->resultArr[]=file('Names/girl_full_result.txt');
21 | }
22 |
23 | public function generate($fname, $gender)
24 | {
25 | $this->maintemplate = file_get_contents('Template/NCLNameCaseRuTest.main');
26 | $this->testtemplate = file_get_contents('Template/NCLNameCaseRuTest'.$fname.$gender.'.test');
27 | $this->resultArr=file('Names/'.$gender.'_full_result.txt');
28 | $this->count=0;
29 | if ($gender=='boy')
30 | {
31 | $this->gender=1;
32 | }
33 | else
34 | {
35 | $this->gender=2;
36 | }
37 | //foreach ($this->resultArr as $key=>$value)
38 | //{
39 | //$this->gender=$key+1;
40 | foreach ($this->resultArr as $id=>$name)
41 | {
42 | $tmpnames=explode("#",trim(str_replace('ё','е',$name)));
43 | $firstRes=array();
44 | $secondRes=array();
45 | $fatherRes=array();
46 | $c=count($tmpnames);
47 | for ($i=0;$i<$c; $i++)
48 | {
49 | $cur=explode(" ",trim($tmpnames[$i]));
50 | $firstRes[]=trim($cur[1]);
51 | $secondRes[]=trim($cur[0]);
52 | $fatherRes[]=trim($cur[2]);
53 | }
54 | $this->generateTest($firstRes, $secondRes, $fatherRes);
55 | }
56 | //}
57 | $res=str_replace('{% tests %}', $this->tests, $this->maintemplate);
58 | $res=str_replace('{% name %}', $fname, $res);
59 | file_put_contents('../Library/NCLNameCaseRuTest'.$fname.$gender.'.php',$res);
60 | }
61 |
62 | private function generateTest($firstRes, $secondRes, $fatherRes)
63 | {
64 | $tpl=$this->testtemplate;
65 | $tpl=str_replace('{% id %}', $this->count, $tpl);
66 | $tpl=str_replace('{% second %}', $secondRes[0], $tpl);
67 | $tpl=str_replace('{% first %}', $firstRes[0], $tpl);
68 | $tpl=str_replace('{% father %}', $fatherRes[0], $tpl);
69 | $tpl=str_replace('{% gender %}', $this->gender, $tpl);
70 | $tpl=str_replace('{% firstOK %}', implode(',',$firstRes), $tpl);
71 | $tpl=str_replace('{% secondOK %}', implode(',',$secondRes), $tpl);
72 | $tpl=str_replace('{% fatherOK %}', implode(',',$fatherRes), $tpl);
73 | $this->tests.=$tpl;
74 | $this->count++;
75 | }
76 |
77 |
78 | }
79 |
80 |
81 | $p= new TestGenerator;
82 | $p->generate('Names', 'boy');
83 | $p= new TestGenerator;
84 | $p->generate('Names', 'girl');
85 | $p= new TestGenerator;
86 | $p->generate('Sirnames', 'girl');
87 | $p= new TestGenerator;
88 | $p->generate('Sirnames', 'boy');
89 | $p= new TestGenerator;
90 | $p->generate('Father', 'girl');
91 | $p= new TestGenerator;
92 | $p->generate('Father', 'boy');
93 |
94 | ?>
95 |
--------------------------------------------------------------------------------
/Docs/default/_NCL.NameCase.ua.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCL.NameCase.ua.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL.NameCase.ua.php
13 |
14 |
15 |
16 |
Description
17 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
Classes
31 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | NCLNameCaseUa
45 |
46 |
47 | Класс, который содержит основные константы библиотеки:
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
Includes
57 |
62 |
63 |
64 |
65 |
66 |
67 |
68 | require_once
69 | (dirname(__FILE__).'/NCL/NCLNameCaseCore.php' )
70 | (line 15 )
71 |
72 |
73 |
74 |
75 |
NCL NameCase Ukranian Language
76 |
Украинские правила склонений ФИО. Правила определения пола человека по ФИО для украинского языка Система разделения фамилий имен и отчеств для украинского языка
77 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 | Documentation generated on Wed, 06 Jul 2011 13:46:16 +0300 by phpDocumentor 1.4.3
92 |
93 |
94 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/NCLNameCaseUAGenerator.php:
--------------------------------------------------------------------------------
1 | resultArr[]=file('Names/boy_full_result.txt');
19 | //$this->resultArr[]=file('Names/girl_full_result.txt');
20 | }
21 |
22 | public function generate($fname, $gender)
23 | {
24 | $this->maintemplate = file_get_contents('Template/NCLNameCaseUaTest.main');
25 | $this->testtemplate = file_get_contents('Template/NCLNameCaseRuTest' . $fname . $gender . '.test');
26 | //$this->resultArr=file('Names/'.$gender.'_full_result.txt');
27 | $this->count = 0;
28 | $fnewname = $fname;
29 | if ($fnewname == 'Sirnames')
30 | {
31 | $fnewname = 'second';
32 | }
33 | if ($gender == 'boy')
34 | {
35 | $this->gender = 1;
36 | $this->dbTable = 'boy' . strtolower($fnewname);
37 | }
38 | else
39 | {
40 | $this->gender = 2;
41 | $this->dbTable = 'girl' . strtolower($fnewname);
42 | }
43 | $this->resultArr = mysql_query("SELECT * FROM {$this->dbTable}");
44 | //foreach ($this->resultArr as $key=>$value)
45 | //{
46 | //$this->gender=$key+1;
47 | $all = array();
48 | while ($row = mysql_fetch_assoc($this->resultArr))
49 | {
50 | //$tmpnames=explode("#",trim(str_replace('ё','е',$name)));
51 |
52 | $firstRes = array();
53 | $secondRes = array();
54 | $fatherRes = array();
55 | $secondRes = $fatherRes = $firstRes = explode('#', $row['nameCase']);
56 | if ($row['nameCase'])
57 | {
58 | $this->generateTest($firstRes, $secondRes, $fatherRes);
59 | }
60 | }
61 | //}
62 | $res = str_replace('{% tests %}', $this->tests, $this->maintemplate);
63 | $res = str_replace('{% name %}', $fname, $res);
64 | file_put_contents('../Library/NCLNameCaseUaTest' . $fname . $gender . '.php', $res);
65 | }
66 |
67 | private function generateTest($firstRes, $secondRes, $fatherRes)
68 | {
69 | $tpl = $this->testtemplate;
70 | $tpl = str_replace('{% id %}', $this->count, $tpl);
71 | $tpl = str_replace('{% second %}', $secondRes[0], $tpl);
72 | $tpl = str_replace('{% first %}', $firstRes[0], $tpl);
73 | $tpl = str_replace('{% father %}', $fatherRes[0], $tpl);
74 | $tpl = str_replace('{% gender %}', $this->gender, $tpl);
75 | $tpl = str_replace('{% firstOK %}', implode(',', $firstRes), $tpl);
76 | $tpl = str_replace('{% secondOK %}', implode(',', $secondRes), $tpl);
77 | $tpl = str_replace('{% fatherOK %}', implode(',', $fatherRes), $tpl);
78 | $this->tests.=$tpl;
79 | $this->count++;
80 | }
81 |
82 | }
83 |
84 | $p = new TestGeneratorDB;
85 | $p->generate('Names', 'boy');
86 | $p = new TestGeneratorDB;
87 | $p->generate('Names', 'girl');
88 |
89 | $p = new TestGeneratorDB;
90 | $p->generate('Father', 'boy');
91 | $p = new TestGeneratorDB;
92 | $p->generate('Father', 'girl');
93 |
94 | $p = new TestGeneratorDB;
95 | $p->generate('Sirnames', 'boy');
96 | $p = new TestGeneratorDB;
97 | $p->generate('Sirnames', 'girl');
98 | ?>
--------------------------------------------------------------------------------
/Tests/Library/CoreMethodsTest.php:
--------------------------------------------------------------------------------
1 | object = new NCLNameCaseRu;
20 | }
21 |
22 | /**
23 | * Tears down the fixture, for example, closes a network connection.
24 | * This method is called after a test is executed.
25 | */
26 | protected function tearDown()
27 | {
28 |
29 | }
30 |
31 | public function test1()
32 | {
33 | $this->object->setFirstName('Николай');
34 | $this->object->setGender(NCLNameCaseRu::$MAN);
35 | $this->assertEquals('Николаем', $this->object->getFirstNameCase(NCLNameCaseRu::$TVORITELN));
36 | }
37 |
38 | public function test2()
39 | {
40 | $this->object->setSecondName('Касюк');
41 | $this->object->setGender(1);
42 | $this->assertEquals('Касюка', $this->object->getSecondNameCase(1));
43 | }
44 |
45 | public function test3()
46 | {
47 | $this->object->setFatherName('Николаевич');
48 | $this->assertEquals('Николаевичу', $this->object->getFatherNameCase(NCLNameCaseRu::$DATELN));
49 | }
50 |
51 | public function test4()
52 | {
53 | $this->object->setName('Николай');
54 | $this->object->setGender(NCLNameCaseRu::$MAN);
55 | $this->assertEquals('Николаем', $this->object->getFirstNameCase(NCLNameCaseRu::$TVORITELN));
56 | }
57 |
58 | public function test5()
59 | {
60 | $this->object->setSirname('Касюк');
61 | $this->object->setGender(1);
62 | $this->assertEquals('Касюка', $this->object->getSecondNameCase(1));
63 | }
64 |
65 | public function test6()
66 | {
67 | $this->object->setLastName('Касюк');
68 | $this->object->setGender(1);
69 | $this->assertEquals('Касюка', $this->object->getSecondNameCase(1));
70 | }
71 |
72 | public function test7()
73 | {
74 | $this->object->setFullName('Гайка', 'Руслана', 'Петровна');
75 | $this->object->setGender(NCLNameCaseRu::$WOMAN);
76 | $this->assertEquals('Гайки-Русланы-Петровны', $this->object->getFormatted(NCLNameCaseRu::$RODITLN, "S-N-F"));
77 | }
78 |
79 | public function test8()
80 | {
81 | $this->object->setFullName('Гайка', 'Руслана', 'Петровна');
82 | $this->object->setGender(NCLNameCaseRu::$WOMAN);
83 | $this->assertEquals('Гайки-Русланы-Петровны', $this->object->getFormatted(NCLNameCaseRu::$RODITLN, "S-N-F"));
84 | }
85 |
86 | public function test9()
87 | {
88 | $this->assertEquals(explode(',','Андрей,Андрея,Андрею,Андрея,Андреем,Андрее'), $this->object->qFirstName('Андрей', -3, 1));
89 | }
90 |
91 | public function test10()
92 | {
93 | $this->assertEquals(explode(',','Чайка,Чайки,Чайке,Чайку,Чайкой,Чайке'), $this->object->qSecondName('Чайка', 15, 1));
94 | }
95 |
96 |
97 |
98 | public function test11()
99 | {
100 | $this->assertEquals(explode(',','Николаевич,Николаевича,Николаевичу,Николаевича,Николаевичем,Николаевиче'), $this->object->qFatherName('Николаевич', 15, 1));
101 | }
102 |
103 | public function test12()
104 | {
105 | $this->assertEquals('на Чайке Андрее Николаевиче красивая рубашка', $this->object->qFullName("Чайка", 'Андрей', 'Николаевич', 1, 5, "на S N F красивая рубашка"));
106 | }
107 |
108 | public function test13()
109 | {
110 | $this->assertEquals('комментария', $this->object->qFirstName('комментарий',NCLNameCaseRu::$RODITLN , NCLNameCaseRu::$MAN));
111 | }
112 | }
--------------------------------------------------------------------------------
/Library/NCL/NCLStr.php:
--------------------------------------------------------------------------------
1 |
11 | * @version 0.4.1
12 | * @package NameCaseLib
13 | */
14 | class NCLStr
15 | {
16 | /**
17 | * Кодировка, в котороя работает система
18 | * @var string
19 | */
20 | static $charset = 'utf-8';
21 |
22 | /**
23 | * Получить подстроку из строки
24 | * @param string $str строка
25 | * @param int $start начало подстроки
26 | * @param int $length длина подстроки
27 | * @return int подстрока
28 | */
29 | static function substr($str, $start, $length=null)
30 | {
31 | return mb_substr($str, $start, $length, NCLStr::$charset);
32 | }
33 |
34 | /**
35 | * Поиск подстроки в строке
36 | * @param string $haystack строка, в которой искать
37 | * @param string $needle подстрока, которую нужно найти
38 | * @param int $offset начало поиска
39 | * @return int позиция подстроки в строке
40 | */
41 | static function strpos($haystack, $needle, $offset = 0)
42 | {
43 | return mb_strpos($haystack, $needle, $offset, NCLStr::$charset);
44 | }
45 |
46 | /**
47 | * Определение длины строки
48 | * @param string $str строка
49 | * @return int длина строки
50 | */
51 | static function strlen($str)
52 | {
53 | return mb_strlen($str, NCLStr::$charset);
54 | }
55 |
56 | /**
57 | * Переводит строку в нижний регистр
58 | * @param string $str строка
59 | * @return string строка в нижнем регистре
60 | */
61 | static function strtolower($str)
62 | {
63 | return mb_strtolower($str, NCLStr::$charset);
64 | }
65 |
66 | /**
67 | * Переводит строку в верхний регистр
68 | * @param string $str строка
69 | * @return string строка в верхнем регистре
70 | */
71 | static function strtoupper($str)
72 | {
73 | return mb_strtoupper($str, NCLStr::$charset);
74 | }
75 |
76 | /**
77 | * Поиск подстроки в строке справа
78 | * @param string $haystack строка, в которой искать
79 | * @param string $needle подстрока, которую нужно найти
80 | * @param int $offset начало поиска
81 | * @return int позиция подстроки в строке
82 | */
83 | static function strrpos($haystack, $needle, $offset=null)
84 | {
85 | return mb_strrpos($haystack, $needle, $offset, NCLStr::$charset);
86 | }
87 |
88 | /**
89 | * Проверяет в нижнем ли регистре находится строка
90 | * @param string $phrase строка
91 | * @return bool в нижнем ли регистре строка
92 | */
93 | static function isLowerCase($phrase)
94 | {
95 | return ($phrase == NCLStr::strtolower($phrase));
96 | }
97 |
98 | /**
99 | * Проверяет в верхнем ли регистре находится строка
100 | * @param string $phrase строка
101 | * @return bool в верхнем ли регистре строка
102 | */
103 | static function isUpperCase($phrase)
104 | {
105 | return ($phrase == NCLStr::strtoupper($phrase));
106 | }
107 |
108 | /**
109 | * Превращает строку в массив букв
110 | * @param string $phrase строка
111 | * @return array массив букв
112 | */
113 | static function splitLetters($phrase)
114 | {
115 | $resultArr = array();
116 | $stop = NCLStr::strlen($phrase);
117 | for ($idx = 0; $idx < $stop; $idx++)
118 | {
119 | $resultArr[] = NCLStr::substr($phrase, $idx, 1);
120 | }
121 | return $resultArr;
122 | }
123 |
124 | /**
125 | * Соединяет массив букв в строку
126 | * @param array $lettersArr массив букв
127 | * @return string строка
128 | */
129 | static function connectLetters($lettersArr)
130 | {
131 | return implode('', $lettersArr);
132 | }
133 |
134 | /**
135 | * Разбивает строку на части использую шаблон
136 | * @param string $pattern шаблон разбития
137 | * @param string $string строка, которую нужно разбить
138 | * @return array разбитый массив
139 | */
140 | static function explode($pattern, $string)
141 | {
142 | return mb_split($pattern, $string);
143 | }
144 | }
145 |
146 | ?>
147 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/girlname.txt:
--------------------------------------------------------------------------------
1 | Августа
2 | Аврелія
3 | Аврора
4 | Агнія
5 | Агрипина
6 | Ада
7 | Аделаїда
8 | Адріана
9 | Аза
10 | Азалія
11 | Аліна
12 | Аліса
13 | Алла
14 | Альбертина
15 | Альбіна
16 | Альвіна
17 | Анастасія
18 | Ангеліна
19 | Анжела
20 | Антоніна
21 | Анфіса
22 | Аріадна
23 | Арсена
24 | Ася
25 | Афіна
26 | Афродіта
27 | Бажана
28 | Берегиня
29 | Біловида
30 | Біломира
31 | Білослава
32 | Біляна
33 | Благиня
34 | Благовида
35 | Благовіра
36 | Благовіста
37 | Благослава
38 | Богдана
39 | Боговіра
40 | Боговіста
41 | Богодара
42 | Боголіпа
43 | Боголюба
44 | Богосвята
45 | Богумила
46 | Богумира
47 | Богуслава
48 | Божедана
49 | Божедара
50 | Божемила
51 | Божена
52 | Божиця
53 | Болеслава
54 | Борислава
55 | Боронислава
56 | Братолюба
57 | Братомила
58 | Брячислава
59 | Будана
60 | Будимира
61 | Будислава
62 | Богумила
63 | Ведана
64 | Велимира
65 | Вербава
66 | Верхуслава
67 | Веселина
68 | Веселка
69 | Весна
70 | Вишена
71 | Вишеслава
72 | Вишня
73 | Віра
74 | Віродана
75 | Віродара
76 | Вірослава
77 | Віста
78 | Вістуна
79 | Вітана
80 | Влада
81 | Владислава
82 | Власта
83 | Вогнедара
84 | Вогняна
85 | Волелюба
86 | Володимира
87 | Волошка
88 | Воля
89 | Всеволода
90 | Вселюба
91 | Всемира
92 | Всеслава
93 | В’ячеслава
94 | Гаїна
95 | Гатусила
96 | Гарнослава
97 | Голубка
98 | Горигляда
99 | Горислава
100 | Городислава
101 | Гострозора
102 | Градислава
103 | Гранислава
104 | Гремислава
105 | Далібора
106 | Дана
107 | Дарина
108 | Дзвенимира
109 | Дзвенислава
110 | Дзвінка
111 | Діяна
112 | Добринка
113 | Добровіста
114 | Доброгніва
115 | Добролюба
116 | Добромила
117 | Добромира
118 | Доброніга
119 | Доброслава
120 | Долина
121 | Доля
122 | Домаха
123 | Доморада
124 | Дружелюба
125 | Жадана
126 | Ждана
127 | Живосила
128 | Живослава
129 | Житомира
130 | Життєлюба
131 | Забава
132 | Звенигора
133 | Звенислава
134 | Звонимира
135 | Зірка
136 | Злата
137 | Златомира
138 | Златоуста
139 | Золотодана
140 | Зорегляда
141 | Зореслава
142 | Зорина
143 | Зоря
144 | Зоряна
145 | Казка
146 | Калина
147 | Квітка
148 | Колодара
149 | Красава
150 | Красимира
151 | Красновида
152 | Краснолика
153 | Красуня
154 | Купава
155 | Лада
156 | Ладислава
157 | Ладомила
158 | Ладомира
159 | Левина
160 | Лель
161 | Леля
162 | Леся
163 | Либідь
164 | Лілея
165 | Лоліта
166 | Любава
167 | Любаня
168 | Любислава
169 | Любов
170 | Любомила
171 | Любомира
172 | Люборада
173 | Людмила
174 | Людомила
175 | Любослава
176 | Льоля
177 | Мавка
178 | Магадара
179 | Маїна
180 | Маківка
181 | Малуня
182 | Малуша
183 | Мальва
184 | Марута
185 | Мая
186 | Медорада
187 | Мечислава
188 | Милана
189 | Милована
190 | Миловида
191 | Милодара
192 | Милослава
193 | Мирана
194 | Миробога
195 | Миролюба
196 | Мирослава
197 | Млада
198 | Мокрина
199 | Мстислава
200 | Мудролюба
201 | Надія
202 | Найда
203 | Найдена
204 | Наслава
205 | Немира
206 | Нігослава
207 | Незабудка
208 | Огняна
209 | Оримира
210 | Орина
211 | Орислава
212 | Орися
213 | Оріяна
214 | Орогоста
215 | Острозора
216 | Остромира
217 | Осмомисла
218 | Остромова
219 | Пава
220 | Палажка
221 | Палазга
222 | Перелюба
223 | Перемила
224 | Перемисла
225 | Півонія
226 | Позвізда
227 | Полеза
228 | Поляна
229 | Потішана
230 | Предслава
231 | Рада
232 | Радана
233 | Радимира
234 | Радогоста
235 | Радомира
236 | Радослава
237 | Рідна
238 | Рогволода
239 | Рогніда
240 | Родослава
241 | Рожана
242 | Роксолана
243 | Ромашка
244 | Росава
245 | Росина
246 | Ростислава
247 | Ростичара
248 | Ростуня
249 | Рудана
250 | Ружа
251 | Русана
252 | Русудана
253 | Русява
254 | Русявка
255 | Рута
256 | Світана
257 | Світлана
258 | Світовида
259 | Світогора
260 | Світодара
261 | Світозара
262 | Світолика
263 | Світолюба
264 | Світослава
265 | Світояра
266 | Свободана
267 | Святогора
268 | Святолюба
269 | Святослава
270 | Силата
271 | Силолюба
272 | Силослава
273 | Синезора
274 | Синьоока
275 | Сіверина
276 | Слава
277 | Славина
278 | Славолюба
279 | Славомила
280 | Сміяна
281 | Сніжана
282 | Сніжинка
283 | Собіслава
284 | Соловія
285 | Сологуба
286 | Сонцевида
287 | Сонцедара
288 | Сонцелика
289 | Сонцеслава
290 | Ссанимира
291 | Станислава
292 | Судимира
293 | Судислава
294 | Татолюба
295 | Твердислава
296 | Твердогоста
297 | Творимира
298 | Творислава
299 | Толигніва
300 | Тонкостана
301 | Трояна
302 | Хвала
303 | Хвалибого
304 | Хвалимира
305 | Хвалина
306 | Хорошка
307 | Хорошуня
308 | Хотимра
309 | Хотяна
310 | Хранимира
311 | Худана
312 | Цвітана
313 | Чайка
314 | Чарівна
315 | Чарівниця
316 | Чаруна
317 | Чеслава
318 | Ява
319 | Яворина
320 | Ялина
321 | Ярина
322 | Яромила
323 | Яромира
324 | Ярослава
325 | Ясна
326 | Ясновида
327 | Ясногора
328 | Яснолика
329 | Яснослава
330 |
--------------------------------------------------------------------------------
/Docs/NameCaseLib/_NCL---NCLNameCaseCore.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCLNameCaseCore.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL/NCLNameCaseCore.php
13 |
14 |
15 |
16 |
Description
17 |
23 |
30 |
31 |
32 |
33 |
34 |
Classes
35 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 | NCLNameCaseCore
50 |
51 |
52 | NCL NameCase Core
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
Includes
62 |
68 |
69 |
70 |
71 |
72 |
73 |
74 | require_once
75 | (NCL_DIR.'/NCL.php' )
76 | (line 15 )
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 | require_once
89 | (NCL_DIR.'/NCLNameCaseWord.php' )
90 | (line 17 )
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 | require_once
103 | (NCL_DIR.'/NCLStr.php' )
104 | (line 16 )
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
Constants
117 |
123 |
124 |
125 |
126 |
127 |
128 |
129 | NCL_DIR = dirname(__FILE__)
130 | (line 12 )
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 | Documentation generated on Sat, 09 Jul 2011 17:55:19 +0300 by phpDocumentor 1.4.3
145 |
146 |
147 |
--------------------------------------------------------------------------------
/Docs/default/_NCL---NCLNameCaseCore.php.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs for page NCLNameCaseCore.php
7 |
8 |
9 |
10 |
11 |
12 |
/NCL/NCLNameCaseCore.php
13 |
14 |
15 |
16 |
Description
17 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
Classes
32 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 | NCLNameCaseCore
47 |
48 |
49 | Класс, который содержит основные константы библиотеки:
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
Includes
59 |
65 |
66 |
67 |
68 |
69 |
70 |
71 | require_once
72 | (NCL_DIR.'/NCL.php' )
73 | (line 8 )
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 | require_once
86 | (NCL_DIR.'/NCLStr.php' )
87 | (line 9 )
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 | require_once
100 | (NCL_DIR.'/NCLNameCaseInterface.php' )
101 | (line 10 )
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 | require_once
114 | (NCL_DIR.'/NCLNameCaseWord.php' )
115 | (line 11 )
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
Constants
128 |
134 |
135 |
136 |
137 |
138 |
139 |
140 | NCL_DIR = dirname(__FILE__)
141 | (line 5 )
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 | Documentation generated on Wed, 06 Jul 2011 13:46:17 +0300 by phpDocumentor 1.4.3
156 |
157 |
158 |
--------------------------------------------------------------------------------
/Docs/media/stylesheet.css:
--------------------------------------------------------------------------------
1 | a { color: #336699; text-decoration: none; }
2 | a:hover { color: #6699CC; text-decoration: underline; }
3 | a:active { color: #6699CC; text-decoration: underline; }
4 |
5 | body { background : #FFFFFF; }
6 | body, table { font-family: Georgia, Times New Roman, Times, serif; font-size: 10pt }
7 | p, li { line-height: 140% }
8 | a img { border: 0px; }
9 | dd { margin-left: 0px; padding-left: 1em; }
10 |
11 | /* Page layout/boxes */
12 |
13 | .info-box {}
14 | .info-box-title { margin: 1em 0em 0em 0em; padding: .25em; font-weight: normal; font-size: 14pt; border: 2px solid #999999; background-color: #CCCCFF }
15 | .info-box-body { border: 1px solid #999999; padding: .5em; }
16 | .nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; }
17 |
18 | .oddrow { background-color: #F8F8F8; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em}
19 | .evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em}
20 |
21 | .page-body { max-width: 800px; margin: auto; }
22 | .tree dl { margin: 0px }
23 |
24 | /* Index formatting classes */
25 |
26 | .index-item-body { margin-top: .5em; margin-bottom: .5em}
27 | .index-item-description { margin-top: .25em }
28 | .index-item-details { font-weight: normal; font-style: italic; font-size: 8pt }
29 | .index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em}
30 | .index-letter-title { font-size: 12pt; font-weight: bold }
31 | .index-letter-menu { text-align: center; margin: 1em }
32 | .index-letter { font-size: 12pt }
33 |
34 | /* Docbook classes */
35 |
36 | .description {}
37 | .short-description { font-weight: bold; color: #666666; }
38 | .tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; }
39 | .parameters { padding-left: 0em; margin-left: 3em; font-style: italic; list-style-type: square; }
40 | .redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; }
41 | .package { }
42 | .package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black }
43 | .package-details { font-size: 85%; }
44 | .sub-package { font-weight: bold; font-size: 120% }
45 | .tutorial { border-width: thin; border-color: #0066ff }
46 | .tutorial-nav-box { width: 100%; border: 1px solid #999999; background-color: #F8F8F8; }
47 | .nav-button-disabled { color: #999999; }
48 | .nav-button:active,
49 | .nav-button:focus,
50 | .nav-button:hover { background-color: #DDDDDD; outline: 1px solid #999999; text-decoration: none }
51 | .folder-title { font-style: italic }
52 |
53 | /* Generic formatting */
54 |
55 | .field { font-weight: bold; }
56 | .detail { font-size: 8pt; }
57 | .notes { font-style: italic; font-size: 8pt; }
58 | .separator { background-color: #999999; height: 2px; }
59 | .warning { color: #FF6600; }
60 | .disabled { font-style: italic; color: #999999; }
61 |
62 | /* Code elements */
63 |
64 | .line-number { }
65 |
66 | .class-table { width: 100%; }
67 | .class-table-header { border-bottom: 1px dotted #666666; text-align: left}
68 | .class-name { color: #000000; font-weight: bold; }
69 |
70 | .method-summary { padding-left: 1em; font-size: 8pt }
71 | .method-header { }
72 | .method-definition { margin-bottom: .3em }
73 | .method-title { font-weight: bold; }
74 | .method-name { font-weight: bold; }
75 | .method-signature { font-size: 85%; color: #666666; margin: .5em 0em }
76 | .method-result { font-style: italic; }
77 |
78 | .var-summary { padding-left: 1em; font-size: 8pt; }
79 | .var-header { }
80 | .var-title { margin-bottom: .3em }
81 | .var-type { font-style: italic; }
82 | .var-name { font-weight: bold; }
83 | .var-default {}
84 | .var-description { font-weight: normal; color: #000000; }
85 |
86 | .include-title { }
87 | .include-type { font-style: italic; }
88 | .include-name { font-weight: bold; }
89 |
90 | .const-title { }
91 | .const-name { font-weight: bold; }
92 |
93 | /* Syntax highlighting */
94 |
95 | .src-code { border: 1px solid #336699; padding: 1em; background-color: #EEEEEE; }
96 | .src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; }
97 |
98 | .src-comm { color: green; }
99 | .src-id { }
100 | .src-inc { color: #0000FF; }
101 | .src-key { color: #0000FF; }
102 | .src-num { color: #CC0000; }
103 | .src-str { color: #66cccc; }
104 | .src-sym { font-weight: bold; }
105 | .src-var { }
106 |
107 | .src-php { font-weight: bold; }
108 |
109 | .src-doc { color: #009999 }
110 | .src-doc-close-template { color: #0000FF }
111 | .src-doc-coretag { color: #0099FF; font-weight: bold }
112 | .src-doc-inlinetag { color: #0099FF }
113 | .src-doc-internal { color: #6699cc }
114 | .src-doc-tag { color: #0080CC }
115 | .src-doc-template { color: #0000FF }
116 | .src-doc-type { font-style: italic }
117 | .src-doc-var { font-style: italic }
118 |
119 | .tute-tag { color: #009999 }
120 | .tute-attribute-name { color: #0000FF }
121 | .tute-attribute-value { color: #0099FF }
122 | .tute-entity { font-weight: bold; }
123 | .tute-comment { font-style: italic }
124 | .tute-inline-tag { color: #636311; font-weight: bold }
125 |
126 | /* tutorial */
127 |
128 | .authors { }
129 | .author { font-style: italic; font-weight: bold }
130 | .author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal }
131 | .example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; }
132 | *[class="example"] { line-height : 0.5em }
133 | .listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; }
134 | *[class="listing"] { line-height : 0.5em }
135 | .release-info { font-size: 85%; font-style: italic; margin: 1em 0em }
136 | .ref-title-box { }
137 | .ref-title { }
138 | .ref-purpose { font-style: italic; color: #666666 }
139 | .ref-synopsis { }
140 | .title { font-weight: bold; margin: 1em 0em 0em 0em; padding: .25em; border: 2px solid #999999; background-color: #CCCCFF }
141 | .cmd-synopsis { margin: 1em 0em }
142 | .cmd-title { font-weight: bold }
143 | .toc { margin-left: 2em; padding-left: 0em }
144 |
145 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/boyname.txt:
--------------------------------------------------------------------------------
1 | Аарон
2 | Абакум
3 | Абрам
4 | Августин
5 | Авесалом
6 | Авксентій
7 | Аврелій
8 | Автоном
9 | Адам
10 | Адріян
11 | Адріан
12 | Азар
13 | Алевтин
14 | Альберт
15 | Амвросій
16 | Амнон
17 | Амос
18 | Анастас
19 | Анастасій
20 | Андрій
21 | Антоній
22 | Антон
23 | Анісій
24 | Аркадій
25 | Арсен
26 | Арсеній
27 | Артем
28 | Архип
29 | Артем
30 | Атанас
31 | Аскольд
32 | Бажан
33 | Біловид
34 | Білогост
35 | Біломир
36 | Білослав
37 | Білотур
38 | Білян
39 | Благовид
40 | Благовіст
41 | Благодар
42 | Благодат
43 | Благомир
44 | Благослав
45 | Богдан
46 | Боговір
47 | Боговіст
48 | Богодар
49 | Боголад
50 | Боголіп
51 | Боголюб
52 | Богород
53 | Богосвят
54 | Богумил
55 | Богумир
56 | Богуслав
57 | Бож
58 | Божан
59 | Божедар
60 | Божейко
61 | Божемир
62 | Божен
63 | Божко
64 | Болеслав
65 | Боримир
66 | Боримисл
67 | Борис
68 | Борислав
69 | Боян
70 | Братан
71 | Бративой
72 | Братимир
73 | Братислав
74 | Братко
75 | Братомил
76 | Братослав
77 | Брячислав
78 | Боронислав
79 | Будивид
80 | Будивой
81 | Будимил
82 | Будимир
83 | Будислав
84 | Буймир
85 | Буйтур
86 | Буревій
87 | Буревіст
88 | Василь
89 | Ведан
90 | Велемир
91 | Велемудр
92 | Велет
93 | Величар
94 | Величко
95 | Вербан
96 | Вернидуб
97 | Вернислав
98 | Веселан
99 | Витомир
100 | Вишата
101 | Вишезор
102 | Вишеслав
103 | Вір
104 | Віродан
105 | Віродар
106 | Вірослав
107 | Віст
108 | Вістан
109 | Вітан
110 | Вітомир
111 | Вітрян
112 | Влад
113 | Владислав
114 | Власт
115 | Вогнедар
116 | Вогнян
117 | Водограй
118 | Водотрав
119 | Воїслав
120 | Волелюб
121 | Володар
122 | Володимир
123 | Володислав
124 | Воля
125 | Воротислав
126 | Вратан
127 | Вратислав
128 | Всевлад
129 | Всеволод
130 | Вселюб
131 | Вселюд
132 | Всеслав
133 | В'ячеслав
134 | Гарнослав
135 | Гатусил
136 | Гатуслав
137 | Гервасій
138 | Гладко
139 | Гліб
140 | Годомир
141 | Голубко
142 | Горун
143 | Гордій
144 | Гордислав
145 | Гордогост
146 | Гордодум
147 | Гордомисл
148 | Гордослав
149 | Гордята
150 | Горигляд
151 | Горимир
152 | Горимисл
153 | Горисвіт
154 | Горислав
155 | Горицвіт
156 | Гостомисл
157 | Гострозір
158 | Гостята
159 | Градимир
160 | Градислав
161 | Гранислав
162 | Грива
163 | Григорій
164 | Гремислав
165 | Грозан
166 | Громовик
167 | Гуляйвітер
168 | Густомисл
169 | Далемил
170 | Далемир
171 | Далібор
172 | Дан
173 | Данило
174 | Данко
175 | Дантур
176 | Дар
177 | Дарій
178 | Дарибог
179 | Даромир
180 | Держикрай
181 | Держислав
182 | Дибач
183 | Дивозір
184 | Дій
185 | Добрибій
186 | Добривод
187 | Добрик
188 | Добрило
189 | Добриня
190 | Добрисвіт
191 | Добровіст
192 | Доброгост
193 | Добродум
194 | Добролик
195 | Добролюб
196 | Добромил
197 | Добромир
198 | Добромисл
199 | Доброслав
200 | Доморад
201 | Домослав
202 | Дорогобуг
203 | Дорогомир
204 | Дорогомисл
205 | Дорогосил
206 | Дорогочин
207 | Драган
208 | Дружелюб
209 | Жадан
210 | Ждан
211 | Живорід
212 | Живосил
213 | Живослав
214 | Житомир
215 | Життєлюб
216 | Збоїслав
217 | Зборислав
218 | Звенигор
219 | Звенимир
220 | Звенислав
221 | Здоровега
222 | Земислав
223 | Зеновій
224 | Зіновій
225 | Зиновій
226 | Злат
227 | Златомир
228 | Златоус
229 | Златодан
230 | Злотан
231 | Злотодан
232 | Зорегляд
233 | Зоремир
234 | Зорепад
235 | Зореслав
236 | Зорян
237 | Ізяслав
238 | Ігор
239 | Іван
240 | Квітан
241 | Києслав
242 | Кий
243 | Кирило
244 | Киян
245 | Княжослав
246 | Корній
247 | Колодар
248 | Колодій
249 | Косак
250 | Красун
251 | Крилач
252 | Куйбіда
253 | Курило
254 | Лад
255 | Ладимир
256 | Ладислав
257 | Ладолюб
258 | Ладомир
259 | Лев
260 | Левко
261 | Листвич
262 | Ліпослав
263 | Лоліт
264 | Лук'ян
265 | Любим
266 | Любовир
267 | Любодар
268 | Любозар
269 | Любомил
270 | Любомир
271 | Любомисл
272 | Любомудр
273 | Любослав
274 | Людомил
275 | Людомир
276 | Людислав
277 | Лютобор
278 | Лютомисл
279 | Магадар
280 | Магамир
281 | Магаслав
282 | Маркіян
283 | Май
284 | Мал
285 | Малик
286 | Маломир
287 | Марко
288 | Мар'ян
289 | Медомир
290 | Межамир
291 | Мечислав
292 | Мизамир
293 | Милан
294 | Милован
295 | Милодар
296 | Милодух
297 | Милослав
298 | Мир
299 | Миробог
300 | Мирогост
301 | Миролюб
302 | Мирослав
303 | Мовчан
304 | Молибог
305 | Мстибог
306 | Мстивой
307 | Мстислав
308 | Мудролюб
309 | Нагнибіда
310 | Надій
311 | Найден
312 | Наслав
313 | Недан
314 | Немир
315 | Непобор
316 | Нігослав
317 | Назар
318 | Одинець
319 | Олег
320 | Олександр
321 | Олексій
322 | Олесь
323 | Олелько
324 | Орел
325 | Орест
326 | Орь
327 | Оримир
328 | Осмомисл
329 | Острозор
330 | Остромир
331 | Остромов
332 | Охрім
333 | Павло
334 | Первушко
335 | Перелюб
336 | Перемил
337 | Перемисл
338 | Пересвіт
339 | Переяслав
340 | Першик
341 | Подолян
342 | Позвізд
343 | Полель
344 | Полян
345 | Пребислав
346 | Предислав
347 | Пугач
348 | Путило
349 | Путята
350 | Рава
351 | Рад
352 | Радечко
353 | Радивой
354 | Радило
355 | Радим
356 | Радимир
357 | Радислав
358 | Радко
359 | Радован
360 | Радогост
361 | Радомир
362 | Радомисл
363 | Радослав
364 | Ратибор
365 | Ратимир
366 | Ратислав
367 | Ревун
368 | Рід
369 | Рогволод
370 | Родан
371 | Родослав
372 | Рожден
373 | Розум
374 | Роксолан
375 | Роман
376 | Ростислав
377 | Ростичар
378 | Ростун
379 | Рудан
380 | Рус
381 | Руслан
382 | Русудан
383 | Сармат
384 | Сварг
385 | Сват
386 | Світ
387 | Світлан
388 | Світлогор
389 | Світогор
390 | Світовид
391 | Світодар
392 | Світозар
393 | Світокол
394 | Світолик
395 | Світолюб
396 | Світомир
397 | Світослав
398 | Світояр
399 | Свободан
400 | Святовид
401 | Святогор
402 | Святолюб
403 | Святополк
404 | Святослав
405 | Семибор
406 | Семирад
407 | Сердитко
408 | Сила
409 | Силолюб
410 | Силослав
411 | Синьоок
412 | Скол
413 | Слава
414 | Славобор
415 | Славолюб
416 | Славомир
417 | Славута
418 | Снага
419 | Сніжан
420 | Сновид
421 | Снозір
422 | Собібор
423 | Собімир
424 | Собіслав
425 | Сокіл
426 | Соловей
427 | Сологуб
428 | Сонцевид
429 | Сонцедар
430 | Сонцелик
431 | Спас
432 | Станимир
433 | Станіслав
434 | Стародум
435 | Степан
436 | Стефаній
437 | Стожар
438 | Стоймир
439 | Стоян
440 | Судивой
441 | Судимир
442 | Судислав
443 | Сурма
444 | Тарас
445 | Татолюб
446 | Татомир
447 | Твердигост
448 | Твердислав
449 | Творилад
450 | Творимир
451 | Творислав
452 | Тихомир
453 | Тихон
454 | Толигнів
455 | Толислав
456 | Тригост
457 | Троян
458 | Триріг
459 | Тур
460 | Турбог
461 | Турбрід
462 | Уличан
463 | Ус
464 | Хвала
465 | Хвалибог
466 | Хвалимир
467 | Ходота
468 | Хорив
469 | Хорошко
470 | Хорошун
471 | Хотибор
472 | Хотимир
473 | Хотян
474 | Хранимир
475 | Худан
476 | Царко
477 | Цвітан
478 | Чара
479 | Чернин
480 | Чеслав
481 | Чесмил
482 | Честислав
483 | Чорновіл
484 | Чорнота
485 | Чорнотур
486 | Щастибог
487 | Щастислав
488 | Щедрогост
489 | Щек
490 | Юрій
491 | Юлій
492 | Ява
493 | Явір
494 | Яволод
495 | Яр
496 | Ярема
497 | Ярило
498 | Яровид
499 | Яровит
500 | Яромил
501 | Яромир
502 | Яромисл
503 | Ярополк
504 | Яросвіт
505 | Ярослав
506 | Ярош
507 | Яртур
508 | Ярчик
509 | Ясен
510 | Ясновид
511 | Ясногор
512 | Яснозір
513 | Яснолик
514 |
--------------------------------------------------------------------------------
/Library/NCL/NCLNameCaseWord.php:
--------------------------------------------------------------------------------
1 |
11 | * @version 0.4.1
12 | * @package NameCaseLib
13 | */
14 | class NCLNameCaseWord
15 | {
16 |
17 | /**
18 | * Слово в нижнем регистре, которое хранится в об’єкте класса
19 | * @var string
20 | */
21 | private $word = '';
22 |
23 | /**
24 | * Оригинальное слово
25 | * @var string
26 | */
27 | private $word_orig = '';
28 |
29 | /**
30 | * Тип текущей записи (Фамилия/Имя/Отчество)
31 | * - N - ім’я
32 | * - S - прізвище
33 | * - F - по-батькові
34 | * @var string
35 | */
36 | private $namePart = null;
37 |
38 | /**
39 | * Вероятность того, что текущей слово относится к мужскому полу
40 | * @var int
41 | */
42 | private $genderMan = 0;
43 |
44 | /**
45 | * Вероятность того, что текущей слово относится к женскому полу
46 | * @var int
47 | */
48 | private $genderWoman = 0;
49 |
50 | /**
51 | * Окончательное решение, к какому полу относится слово
52 | * - 0 - не определено
53 | * - NCL::$MAN - мужской пол
54 | * - NCL::$WOMAN - женский пол
55 | * @var int
56 | */
57 | private $genderSolved = 0;
58 |
59 | /**
60 | * Маска больших букв в слове.
61 | *
62 | * Содержит информацию о том, какие буквы в слове были большими, а какие мальникими:
63 | * - x - маленькая буква
64 | * - X - больная буква
65 | * @var array
66 | */
67 | private $letterMask = array();
68 |
69 | /**
70 | * Содержит true, если все слово было в верхнем регистре и false, если не было
71 | * @var bool
72 | */
73 | private $isUpperCase = false;
74 |
75 | /**
76 | * Массив содержит все падежи слова, полученые после склонения текущего слова
77 | * @var array
78 | */
79 | private $NameCases = array();
80 |
81 | /**
82 | * Номер правила, по которому было произведено склонение текущего слова
83 | * @var int
84 | */
85 | private $rule = 0;
86 |
87 | /**
88 | * Создание нового обьекта со словом $word
89 | * @param string $word слово
90 | */
91 | public function __construct($word)
92 | {
93 | $this->word_orig=$word;
94 | $this->generateMask($word);
95 | $this->word = NCLStr::strtolower($word);
96 | }
97 |
98 | /**
99 | * Генерирует маску, которая содержит информацию о том, какие буквы в слове были большими, а какие маленькими:
100 | * - x - маленькая буква
101 | * - X - больная буква
102 | * @param string $word слово, для которого генерировать маску
103 | */
104 | private function generateMask($word)
105 | {
106 | $letters = NCLStr::splitLetters($word);
107 | $mask = array();
108 | $this->isUpperCase = true;
109 | foreach ($letters as $letter)
110 | {
111 | if (NCLStr::isLowerCase($letter))
112 | {
113 | $mask[] = 'x';
114 | $this->isUpperCase = false;
115 | }
116 | else
117 | {
118 | $mask[] = 'X';
119 | }
120 | }
121 | $this->letterMask = $mask;
122 | }
123 |
124 | /**
125 | * Возвращает все падежи слова в начальную маску:
126 | * - x - маленькая буква
127 | * - X - больная буква
128 | */
129 | private function returnMask()
130 | {
131 | if ($this->isUpperCase)
132 | {
133 | foreach ($this->NameCases as $index => $case)
134 | {
135 | $this->NameCases[$index] = NCLStr::strtoupper($this->NameCases[$index]);
136 | }
137 | }
138 | else
139 | {
140 | $splitedMask = $this->letterMask;
141 | $maskLength = count($splitedMask);
142 | foreach ($this->NameCases as $index => $case)
143 | {
144 | $caseLength = NCLStr::strlen($case);
145 |
146 | $max = min(array($caseLength, $maskLength));
147 | $this->NameCases[$index] = '';
148 | for ($letterIndex = 0; $letterIndex < $max; $letterIndex++)
149 | {
150 | $letter = NCLStr::substr($case, $letterIndex, 1);
151 | if ($splitedMask[$letterIndex] == 'X')
152 | {
153 | $letter = NCLStr::strtoupper($letter);
154 | }
155 | $this->NameCases[$index] .= $letter;
156 | }
157 | $this->NameCases[$index] .= NCLStr::substr($case, $max, $caseLength-$maskLength);
158 | }
159 | }
160 | }
161 |
162 | /**
163 | * Сохраняет результат склонения текущего слова
164 | * @param array $nameCases массив со всеми падежами
165 | */
166 | public function setNameCases($nameCases, $is_return_mask=true)
167 | {
168 | $this->NameCases = $nameCases;
169 | if ($is_return_mask) $this->returnMask();
170 | }
171 |
172 | /**
173 | * Возвращает массив со всеми падежами текущего слова
174 | * @return array массив со всеми падежами
175 | */
176 | public function getNameCases()
177 | {
178 | return $this->NameCases;
179 | }
180 |
181 | /**
182 | * Возвращает строку с нужным падежом текущего слова
183 | * @param int $number нужный падеж
184 | * @return string строка с нужным падежом текущего слова
185 | */
186 | public function getNameCase($number)
187 | {
188 | if(isset($this->NameCases[$number]))
189 | {
190 | return $this->NameCases[$number];
191 | }
192 | return false;
193 | }
194 |
195 | /**
196 | * Расчитывает и возвращает пол текущего слова
197 | * @return int пол текущего слова
198 | */
199 | public function gender()
200 | {
201 | if (!$this->genderSolved)
202 | {
203 | if ($this->genderMan >= $this->genderWoman)
204 | {
205 | $this->genderSolved = NCL::$MAN;
206 | }
207 | else
208 | {
209 | $this->genderSolved = NCL::$WOMAN;
210 | }
211 | }
212 | return $this->genderSolved;
213 | }
214 |
215 | /**
216 | * Устанавливает вероятности того, что даное слово является мужчиной или женщиной
217 | * @param int $man вероятность того, что слово мужчина
218 | * @param int $woman верятность того, что слово женщина
219 | */
220 | public function setGender($man, $woman)
221 | {
222 | $this->genderMan = $man;
223 | $this->genderWoman = $woman;
224 | }
225 |
226 | /**
227 | * Окончательно устанавливает пол человека
228 | * - 0 - не определено
229 | * - NCL::$MAN - мужчина
230 | * - NCL::$WOMAN - женщина
231 | * @param int $gender пол человека
232 | */
233 | public function setTrueGender($gender)
234 | {
235 | $this->genderSolved = $gender;
236 | }
237 |
238 | /**
239 | * Возвращает массив вероятности того, что даное слово является мужчиной или женщиной
240 | * @return array массив вероятностей
241 | */
242 | public function getGender()
243 | {
244 | return array(NCL::$MAN => $this->genderMan, NCL::$WOMAN => $this->genderWoman);
245 | }
246 |
247 | /**
248 | * Устанавливает тип текущего слова
249 | * Тип слова:
250 | * - S - Фамилия
251 | * - N - Имя
252 | * - F - Отчество
253 | * @param string $namePart тип слова
254 | */
255 | public function setNamePart($namePart)
256 | {
257 | $this->namePart = $namePart;
258 | }
259 |
260 | /**
261 | * Возвращает тип текущего слова
262 | * Тип слова:
263 | * - S - Фамилия
264 | * - N - Имя
265 | * - F - Отчество
266 | * @return string $namePart тип слова
267 | */
268 | public function getNamePart()
269 | {
270 | return $this->namePart;
271 | }
272 |
273 | /**
274 | * Возвращает текущее слово.
275 | * @return string текущее слово
276 | */
277 | public function getWord()
278 | {
279 | return $this->word;
280 | }
281 |
282 | /**
283 | * Возвращает текущее оригинальное слово.
284 | * @return string текущее слово
285 | */
286 | public function getWordOrig()
287 | {
288 | return $this->word_orig;
289 | }
290 |
291 | /**
292 | * Если уже был расчитан пол для всех слов системы, тогда каждому слову предается окончательное
293 | * решение. Эта функция определяет было ли принято окончательное решение.
294 | * @return bool было ли принято окончательное решение по поводу пола текущего слова
295 | */
296 | public function isGenderSolved()
297 | {
298 | return ($this->genderSolved ? true : false);
299 | }
300 |
301 | /**
302 | * Устанавливает номер правила по которому склонялось текущее слово.
303 | * @param int $ruleID номер правила
304 | */
305 | public function setRule($ruleID)
306 | {
307 | $this->rule = $ruleID;
308 | }
309 | }
310 |
311 | ?>
312 |
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/boysecond.txt:
--------------------------------------------------------------------------------
1 | Єрмоленко
2 | Єсипенко
3 | Іванів
4 | Іваненко
5 | Іванченко
6 | Іванчук
7 | Іванюк
8 | Івахненко
9 | Івашко
10 | Іващенко
11 | Івченко
12 | Іллєнко
13 | Іловайські
14 | Ільницький
15 | Ільченко
16 | Іщенко
17 | Абраменко
18 | Абрамчук
19 | Адамчук
20 | Акуленко
21 | Алексєєнко
22 | Алексійчук
23 | Андрієнко
24 | Андрійчук
25 | Андрейко
26 | Андрусів
27 | Андрушків
28 | Андрущенко
29 | Анищенко
30 | Антонюк
31 | Арсенич
32 | Артюх
33 | Атаманчук
34 | Біла
35 | Білас
36 | Білий
37 | Білодід
38 | Білоус
39 | Баб'юк
40 | Бабійчук
41 | Бабак
42 | Бабчук
43 | Багмут
44 | Багрій
45 | Бадлак
46 | Бажан
47 | Балтача
48 | Бандура
49 | Баран
50 | Баранець
51 | Барановський
52 | Баранюк
53 | Батюк
54 | Бачинський
55 | Бебешко
56 | Бевзенко
57 | Безбородьки
58 | Березовчук
59 | Блонські
60 | Божик
61 | Божко
62 | Бойко
63 | Бойцун
64 | Бойчак
65 | Бойчишин
66 | Бойчук
67 | Бондар
68 | Бондаренко
69 | Бондарчук
70 | Борисенко
71 | Борисикевич
72 | Братусь
73 | Букатевич
74 | Бурбан
75 | Бурячок
76 | Бутейко
77 | Бутенко
78 | Бутник
79 | Бутовичі
80 | Бухало
81 | Візерські
82 | Василашко
83 | Василенко
84 | Васильченко
85 | Васильчук
86 | Васкул
87 | Васьковичі
88 | Вахній
89 | Ващенко-Захарченко
90 | Вдовиченко
91 | Величко
92 | Величковські
93 | Вертипорох
94 | Верхола
95 | Винокур
96 | Висоцькі
97 | Вишневецькі
98 | Влох
99 | Воблий
100 | Вовк
101 | Возняк
102 | Войнаровські
103 | Волох
104 | Волошин
105 | Волощук
106 | Вороновський
107 | Гаврилів
108 | Гавриленко
109 | Гаврилюк
110 | Галенковські
111 | Гальченко
112 | Гамалія
113 | Ганицький
114 | Гарань
115 | Гармаш
116 | Гасай
117 | Гасюк
118 | Герасименко
119 | Геращенко
120 | Герцик
121 | Герцики
122 | Гладченко
123 | Глоба
124 | Гнідичі
125 | Гнатюк
126 | Гоголі
127 | Гоголь
128 | Годунок
129 | Головатий
130 | Головко
131 | Голуб
132 | Голубничий
133 | Гольшанські
134 | Гонта
135 | Гончар
136 | Гончаренко
137 | Гончаров
138 | Горбаль
139 | Гордієнко
140 | Гординські
141 | Гошовські
142 | Гошовський
143 | Грінченко
144 | Грабович
145 | Грабовський
146 | Григоренко
147 | Григорович
148 | Григорович-Барський
149 | Григорчук
150 | Грицак
151 | Гриценко
152 | Гришко
153 | Громики
154 | Гудзій
155 | Гудзь
156 | Гуменюк
157 | Гунько
158 | Діденко
159 | Даниленко
160 | Даньків
161 | Данькевич
162 | Дараган
163 | Дашкевич
164 | Дем'яненко
165 | Дем'янчук
166 | Денисенко
167 | Джус
168 | Дзюба
169 | Дикань
170 | Дмитерко
171 | Довженко
172 | Домонтовичі
173 | Дорош
174 | Дорошенко
175 | Доценко
176 | Дочинець
177 | Драгоманови
178 | Дудко
179 | Дунін-Борковські
180 | Дяків
181 | Дяченко
182 | Ейбоженко
183 | Жайворон
184 | Жаліло
185 | Ждановичі
186 | Жежерін
187 | Желєзняк
188 | Железняк
189 | Жилко
190 | Жирко
191 | Жук
192 | Жупанський
193 | Жураківські
194 | Зінов'єв
195 | Заєць
196 | Забашта
197 | Заболотний
198 | Завальнюк
199 | Закревські
200 | Закусило
201 | Залізняк
202 | Заруба
203 | Засядько
204 | Захаренко
205 | Захарчук
206 | Заяць
207 | Заячківський
208 | Збаразькі
209 | Зленко
210 | Значко-Яворські
211 | Золотаренко
212 | Кабачок
213 | Каганець
214 | Калашники
215 | Калинович
216 | Кандиби
217 | Карашевичі
218 | Кармалюк
219 | Карпенко
220 | Кириленко
221 | Кисилі
222 | Китастий
223 | Кицай
224 | Клименко
225 | Климчук
226 | Кмета
227 | Книш
228 | Ковалів
229 | Коваленко
230 | Коваль
231 | Ковальчик
232 | Ковальчук
233 | Кованько
234 | Ковтун
235 | Козаченко
236 | Козачинський
237 | Козачок
238 | Козубенко
239 | Колесник
240 | Колодій
241 | Колодний
242 | Коломієць
243 | Комар
244 | Кондратюк
245 | Кониські
246 | Корецький
247 | Корж
248 | Корнійчук
249 | Коробка
250 | Королюк
251 | Короткевич
252 | Корпанюк
253 | Корчак
254 | Корчинський
255 | Косенко
256 | Костенко
257 | Коструба
258 | Костюк
259 | Котляр
260 | Котляревський
261 | Кравців
262 | Кравченко
263 | Кравчук
264 | Красовський
265 | Криворучко
266 | Крикуненко
267 | Крупські
268 | Кузьмінський
269 | Кулиняк
270 | Кульчицький
271 | Купчинський
272 | Курцевичі
273 | Кухаренко
274 | Куц
275 | Куценко
276 | Кучер
277 | Кучеренко
278 | Кушнір
279 | Лаба
280 | Лаврін
281 | Лаврик
282 | Лавриненко
283 | Лазаревські
284 | Лазарчук
285 | Лазорко
286 | Лашкевичі
287 | Левицький
288 | Левковські
289 | Левченко
290 | Леонтовичі
291 | Лесів
292 | Лесевичі
293 | Лисенко
294 | Литвин
295 | Литвиненко
296 | Литвинов
297 | Литовченко
298 | Лозина-Лозинський
299 | Лопатинський
300 | Лук'яненко
301 | Лукашевичі
302 | Лукомський
303 | Луценко
304 | Людкевич
305 | Ляшенко
306 | Ляшенко
307 | Мірошниченко
308 | Мірчук
309 | Міщенко
310 | Мазаракі
311 | Мазепи
312 | Мазур
313 | Макаренко
314 | Максименко
315 | Маланчук
316 | Малаховські
317 | Малишко
318 | Малкович
319 | Мамчур
320 | Маркевич
321 | Маркевичі
322 | Мартиненко
323 | Мартоси
324 | Марунчак
325 | Марценюк
326 | Марченко
327 | Марчук
328 | Масоха
329 | Матвієнко
330 | Матюшенко
331 | Маценко
332 | Мацюк
333 | Мельник
334 | Мельниченко
335 | Мельничук
336 | Микитенко
337 | Микитин
338 | Милорадовичі
339 | Мирон
340 | Михайленко
341 | Михайличенко
342 | Михайлюк
343 | Мицик
344 | Мовчан
345 | Могили
346 | Модзалевські
347 | Моргун
348 | Мороз
349 | Мосендзи
350 | Москаленко
351 | Москаль
352 | Мошак
353 | Муратова
354 | Мусієнко
355 | Назаренко
356 | Наливайко
357 | Нащинські
358 | Негребецький
359 | Непорожній
360 | Нестеренко
361 | Нечай
362 | Нечипоренко
363 | Оберемченко
364 | Овчаренко
365 | Ограновичі
366 | Олійник
367 | Олексієнко
368 | Омельченко
369 | Омельчук
370 | Онищенко
371 | Онопенко
372 | Опанасенко
373 | Орлики
374 | Осадчук
375 | Осика
376 | Остапенко
377 | Остроградський
378 | Острозькі
379 | Півторак
380 | Підопригора
381 | Павленко
382 | Павлюк
383 | Павлюченко
384 | Пазенко
385 | Паламарчук
386 | Панас
387 | Панасюк
388 | Паньківський
389 | Пархоменко
390 | Пасічник
391 | Пасько
392 | Пашко
393 | Пащенко
394 | Перебийніс
395 | Петренко
396 | Пилипенко
397 | Пилипишин
398 | Пилипчук
399 | Писаренко
400 | Писарчук
401 | Плющ
402 | Покотило
403 | Поліщук
404 | Польовий
405 | Полянський
406 | Пономаренко
407 | Пономарьов
408 | Попадюк
409 | Попенко
410 | Потапенко
411 | Потебенько
412 | Прийма
413 | Приймак
414 | Присяжнюк
415 | Приходько
416 | Продан
417 | Проценко
418 | Проць
419 | Процюк
420 | Пушкар
421 | Різенки
422 | Різун
423 | Радченко
424 | Рибальченко
425 | Римар
426 | Римар
427 | Родзянки
428 | Рожок
429 | Розумовські
430 | Романенко
431 | Романишин
432 | Романчук
433 | Романюк
434 | Рошкевич
435 | Рубан
436 | Рубани
437 | Руденко
438 | Рябовіл
439 | Сімашкевич
440 | Саєнко
441 | Савенко
442 | Савицька
443 | Савка
444 | Савченко
445 | Савчук
446 | Сак
447 | Самборський
448 | Самойлович
449 | Самусь
450 | Свида
451 | Семашко
452 | Семененко
453 | Семенець
454 | Семенина
455 | Семенченко
456 | Семенюк
457 | Семеренко
458 | Сидоренко
459 | Силенко
460 | Симоненко
461 | Симчич
462 | Скаржинські
463 | Скоропадські
464 | Скрипник
465 | Скуратівський
466 | Слободян
467 | Слободянюк
468 | Смик
469 | Смогоржевський
470 | Собчук
471 | Сопронюк
472 | Сорока
473 | Сохань
474 | Стадник
475 | Стельмах
476 | Степаненко
477 | Степура
478 | Стеценко
479 | Стецюк
480 | Стороженки
481 | Струтинський
482 | Сулима
483 | Сулими
484 | Супруненко
485 | Танські
486 | Тараненко
487 | Тарновські
488 | Татаренко
489 | Теплицький
490 | Терещенко
491 | Терещук
492 | Тесленко
493 | Тимошенко
494 | Тимощук
495 | Тимчак
496 | Титаренко
497 | Тишкевичі
498 | Тищенко
499 | Ткач
500 | Ткаченко
501 | Ткачук
502 | Тобілевичі
503 | Толочко
504 | Томенко
505 | Трощинські
506 | Тулуб
507 | Удовенко
508 | Удовиченко
509 | Усенко
510 | Філоненко
511 | Феденко
512 | Федоренко
513 | Федорук
514 | Фещенко
515 | Фоменко
516 | Ханенки
517 | Ханенко
518 | Харитоненки
519 | Харчук
520 | Хміляр
521 | Хмара
522 | Хмельницькі
523 | Холодовський
524 | Хоменко
525 | Царук
526 | Цибуленко
527 | Цюпа
528 | Чабаненко
529 | Чанов
530 | Чередниченко
531 | Чернявський
532 | Чорний
533 | Чорний
534 | Чорновіл
535 | Чуйкевич
536 | Чумак
537 | Чумаченко
538 | Шахрай
539 | Шевченко
540 | Шевчук
541 | Шелест
542 | Шептицькі
543 | Шинкарук
544 | Шкрібляк
545 | Шнайдер
546 | Шовкопляс
547 | Шульга
548 | Шухевич
549 | Щерба
550 | Щербак
551 | Щербань
552 | Юрженко
553 | Юрченко
554 | Юрчишин
555 | Юхименко
556 | Ющенко
557 | Яковенко
558 | Яковина
559 | Янко
560 | Ярема
561 | Яременко
562 | Яремко
563 | Яремчук
564 | Ярмоленко
565 | Ярмолюк
566 | Ярошенко
567 | Яценко
568 | Ященко
569 | Ґалаґан
570 | Євсєєв
571 | Єгоров
572 | Єлізаров
573 | Єрмилов
574 | Єрофєєв
575 | Єршов
576 | Єфімов
577 | Єфремов
578 | Іванов
579 | Ігнатов
580 | Іллюшин
581 | Ільїн
582 | Аєдоницький
583 | Абатуров
584 | Абдулов
585 | Абрамов
586 | Авілов
587 | Авдєєнко
588 | Аврамов
589 | Алексєєв
590 | Александров
591 | Альошин
592 | Анісімов
593 | Анісов
594 | Ананьєв
595 | Андріанов
596 | Андріяшев
597 | Андреєв
598 | Антипов
599 | Антонов
600 | Анциферов
601 | Апухтін
602 | Арбузов
603 | Аржанов
604 | Артем'єв
605 | Архипов
606 | Арцибушев
607 | Астраханцев
608 | Афіногенов
609 | Афанасьєв
610 | Бєлов
611 | Бєлоглазов
612 | Бєлоусов
613 | Бєляєв
614 | Бібиков
615 | Бажанов
616 | Баранов
617 | Барановський
618 | Баришніков
619 | Барсов
620 | Батюшков
621 | Биков
622 | Блохін
623 | Бобров
624 | Богданов
625 | Богомазов
626 | Бойков
627 | Большаков
628 | Борисов
629 | Бочков
630 | Бризгалов
631 | Брусилов
632 | Бутурлін
633 | Бутусов
634 | Варламов
635 | Васильєв
636 | Виноградов
637 | Власов
638 | Внуков
639 | Волков
640 | Воробей
641 | Воробйов
642 | Воронін
643 | Воронцов
644 | Ворошилов
645 | Гаврилов
646 | Герасимов
647 | Гончаров
648 | Горбунов
649 | Горчаков
650 | Горшков
651 | Григор'єв
652 | Громов
653 | Гусєв
654 | Давидов
655 | Данилов
656 | Дараган
657 | Дементьєв
658 | Денисов
659 | Дмитрієв
660 | Добролюбов
661 | Донськой
662 | Дорофєєв
663 | Дубров
664 | Железняков
665 | Жердєв
666 | Жуков
667 | Журавльов
668 | Зінов'єв
669 | Заваров
670 | Загаров
671 | Зайцев
672 | Захаров
673 | Звєрєв
674 | Зеров
675 | Золотухін
676 | Зубов
677 | Казаков
678 | Калінін
679 | Калашников
680 | Карпов
681 | Каштанов
682 | Кисельов
683 | Ковальов
684 | Кожевников
685 | Козлов
686 | Колесников
687 | Кольцов
688 | Комаров
689 | Коновалов
690 | Конюхов
691 | Копилов
692 | Кормильцев
693 | Коробов
694 | Коровкін
695 | Корольов
696 | Котов
697 | Краснов
698 | Крилов
699 | Кримов
700 | Крюков
701 | Кудряшов
702 | Кузнецов
703 | Кузьмін
704 | Кулаков
705 | Куликов
706 | Курков
707 | Курочкін
708 | Лєсков
709 | Лідов
710 | Ладигін
711 | Лазарєв
712 | Лебедєв
713 | Левицький
714 | Лихоносов
715 | Лозина-Лозинський
716 | Лосєв
717 | Львов
718 | Любимов
719 | Мілютін
720 | Макаров
721 | Максимов
722 | Малаков
723 | Мамонов
724 | Манасеїн
725 | Марков
726 | Мартенс
727 | Мартинов
728 | Масленніков
729 | Маслов
730 | Матвєєв
731 | Медведєв
732 | Мельников
733 | Миронов
734 | Михайлов
735 | Моїсєєв
736 | Моргунов
737 | Морков
738 | Морозов
739 | Мухін
740 | Нікітін
741 | Ніколаєв
742 | Нікулін
743 | Набоков
744 | Некрасов
745 | Новиков
746 | Орлов
747 | Осипов
748 | Остроградський
749 | Павлов
750 | Павлушков
751 | Панов
752 | Петров
753 | Пильчиков
754 | Платонов
755 | Плеханов
756 | Польовий
757 | Поляков
758 | Пономарьов
759 | Попов
760 | Поярков
761 | Пригунов
762 | Прошкін
763 | Решетников
764 | Рожков
765 | Романов
766 | Рябов
767 | Саблін
768 | Савін
769 | Сазонов
770 | Сальников
771 | Самойлов
772 | Самсонов
773 | Сбітнєв
774 | Свиридов
775 | Селезньов
776 | Семенов
777 | Сербін
778 | Сергєєв
779 | Сибіряков
780 | Сидоров
781 | Симонов
782 | Синельников
783 | Скобелев
784 | Скоблін
785 | Смирнов
786 | Снєгірьов
787 | Соболєв
788 | Соколов
789 | Солнцев
790 | Соловйов
791 | Сомов
792 | Сорокін
793 | Стєклов
794 | Старков
795 | Степанов
796 | Табаков
797 | Тарасов
798 | Терентьєв
799 | Тимофєєв
800 | Титов
801 | Тихомиров
802 | Тихонов
803 | Тюленєв
804 | Уваров
805 | Усов
806 | Устинов
807 | Філіппов
808 | Філатов
809 | Федоров
810 | Фомін
811 | Фролов
812 | Хілков
813 | Хвостов
814 | Худяков
815 | Цвєтков
816 | Чанов
817 | Чевкін
818 | Черенков
819 | Черепков
820 | Чулков
821 | Шевельов
822 | Шеліхов
823 | Шинін
824 | Ширяєв
825 | Шишов
826 | Шулаков
827 | Щапов
828 | Щасливий
829 | Яковлєв
830 | Яшин
--------------------------------------------------------------------------------
/Tests/TestGenerator/uagenerator/girlsecond.txt:
--------------------------------------------------------------------------------
1 | Єрмоленко
2 | Єсипенко
3 | Іванів
4 | Іваненко
5 | Іванченко
6 | Іванчук
7 | Іванюк
8 | Івахненко
9 | Івашко
10 | Іващенко
11 | Івченко
12 | Іллєнко
13 | Іловайські
14 | Ільницька
15 | Ільченко
16 | Іщенко
17 | Абраменко
18 | Абрамчук
19 | Адамчук
20 | Акуленко
21 | Алексєєнко
22 | Алексійчук
23 | Андрієнко
24 | Андрійчук
25 | Андрейко
26 | Андрусів
27 | Андрушків
28 | Андрущенко
29 | Анищенко
30 | Антонюк
31 | Арсенич
32 | Артюх
33 | Атаманчук
34 | Біла
35 | Білас
36 | Біла
37 | Білодід
38 | Білоус
39 | Баб'юк
40 | Бабійчук
41 | Бабак
42 | Бабчук
43 | Багмут
44 | Багрій
45 | Бадлак
46 | Бажан
47 | Балтача
48 | Бандура
49 | Баран
50 | Баранець
51 | Барановська
52 | Баранюк
53 | Батюк
54 | Бачинська
55 | Бебешко
56 | Бевзенко
57 | Безбородьки
58 | Березовчук
59 | Блонські
60 | Божик
61 | Божко
62 | Бойко
63 | Бойцун
64 | Бойчак
65 | Бойчишин
66 | Бойчук
67 | Бондар
68 | Бондаренко
69 | Бондарчук
70 | Борисенко
71 | Борисикевич
72 | Братусь
73 | Букатевич
74 | Бурбан
75 | Бурячок
76 | Бутейко
77 | Бутенко
78 | Бутник
79 | Бутовичі
80 | Бухало
81 | Візерські
82 | Василашко
83 | Василенко
84 | Васильченко
85 | Васильчук
86 | Васкул
87 | Васьковичі
88 | Вахній
89 | Ващенко-Захарченко
90 | Вдовиченко
91 | Величко
92 | Величковські
93 | Вертипорох
94 | Верхола
95 | Винокур
96 | Висоцькі
97 | Вишневецькі
98 | Влох
99 | Вобла
100 | Вовк
101 | Возняк
102 | Войнаровські
103 | Волох
104 | Волошин
105 | Волощук
106 | Вороновська
107 | Гаврилів
108 | Гавриленко
109 | Гаврилюк
110 | Галенковські
111 | Гальченко
112 | Гамалія
113 | Ганицька
114 | Гарань
115 | Гармаш
116 | Гасай
117 | Гасюк
118 | Герасименко
119 | Геращенко
120 | Герцик
121 | Герцики
122 | Гладченко
123 | Глоба
124 | Гнідичі
125 | Гнатюк
126 | Гоголі
127 | Гоголь
128 | Годунок
129 | Головата
130 | Головко
131 | Голуб
132 | Голубнича
133 | Гольшанські
134 | Гонта
135 | Гончар
136 | Гончаренко
137 | Гончаров
138 | Горбаль
139 | Гордієнко
140 | Гординські
141 | Гошовські
142 | Гошовська
143 | Грінченко
144 | Грабович
145 | Грабовська
146 | Григоренко
147 | Григорович
148 | Григорович-Барська
149 | Григорчук
150 | Грицак
151 | Гриценко
152 | Гришко
153 | Громики
154 | Гудзій
155 | Гудзь
156 | Гуменюк
157 | Гунько
158 | Діденко
159 | Даниленко
160 | Даньків
161 | Данькевич
162 | Дараган
163 | Дашкевич
164 | Дем'яненко
165 | Дем'янчук
166 | Денисенко
167 | Джус
168 | Дзюба
169 | Дикань
170 | Дмитерко
171 | Довженко
172 | Домонтовичі
173 | Дорош
174 | Дорошенко
175 | Доценко
176 | Дочинець
177 | Драгоманови
178 | Дудко
179 | Дунін-Борковські
180 | Дяків
181 | Дяченко
182 | Ейбоженко
183 | Жайворон
184 | Жаліло
185 | Ждановичі
186 | Жежерін
187 | Желєзняк
188 | Железняк
189 | Жилко
190 | Жирко
191 | Жук
192 | Жупанська
193 | Жураківські
194 | Зінов'єв
195 | Заєць
196 | Забашта
197 | Заболотна
198 | Завальнюк
199 | Закревські
200 | Закусило
201 | Залізняк
202 | Заруба
203 | Засядько
204 | Захаренко
205 | Захарчук
206 | Заяць
207 | Заячківська
208 | Збаразькі
209 | Зленко
210 | Значко-Яворські
211 | Золотаренко
212 | Кабачок
213 | Каганець
214 | Калашники
215 | Калинович
216 | Кандиби
217 | Карашевичі
218 | Кармалюк
219 | Карпенко
220 | Кириленко
221 | Кисилі
222 | Китаста
223 | Кицай
224 | Клименко
225 | Климчук
226 | Кмета
227 | Книш
228 | Ковалів
229 | Коваленко
230 | Коваль
231 | Ковальчик
232 | Ковальчук
233 | Кованько
234 | Ковтун
235 | Козаченко
236 | Козачинська
237 | Козачок
238 | Козубенко
239 | Колесник
240 | Колодій
241 | Колодна
242 | Коломієць
243 | Комар
244 | Кондратюк
245 | Кониські
246 | Корецька
247 | Корж
248 | Корнійчук
249 | Коробка
250 | Королюк
251 | Короткевич
252 | Корпанюк
253 | Корчак
254 | Корчинська
255 | Косенко
256 | Костенко
257 | Коструба
258 | Костюк
259 | Котляр
260 | Котляревська
261 | Кравців
262 | Кравченко
263 | Кравчук
264 | Красовська
265 | Криворучко
266 | Крикуненко
267 | Крупські
268 | Кузьмінська
269 | Кулиняк
270 | Кульчицька
271 | Купчинська
272 | Курцевичі
273 | Кухаренко
274 | Куц
275 | Куценко
276 | Кучер
277 | Кучеренко
278 | Кушнір
279 | Лаба
280 | Лаврін
281 | Лаврик
282 | Лавриненко
283 | Лазаревські
284 | Лазарчук
285 | Лазорко
286 | Лашкевичі
287 | Левицька
288 | Левковські
289 | Левченко
290 | Леонтовичі
291 | Лесів
292 | Лесевичі
293 | Лисенко
294 | Литвин
295 | Литвиненко
296 | Литвинов
297 | Литовченко
298 | Лозина-Лозинська
299 | Лопатинська
300 | Лук'яненко
301 | Лукашевичі
302 | Лукомська
303 | Луценко
304 | Людкевич
305 | Ляшенко
306 | Ляшенко
307 | Мірошниченко
308 | Мірчук
309 | Міщенко
310 | Мазаракі
311 | Мазепи
312 | Мазур
313 | Макаренко
314 | Максименко
315 | Маланчук
316 | Малаховські
317 | Малишко
318 | Малкович
319 | Мамчур
320 | Маркевич
321 | Маркевичі
322 | Мартиненко
323 | Мартоси
324 | Марунчак
325 | Марценюк
326 | Марченко
327 | Марчук
328 | Масоха
329 | Матвієнко
330 | Матюшенко
331 | Маценко
332 | Мацюк
333 | Мельник
334 | Мельниченко
335 | Мельничук
336 | Микитенко
337 | Микитин
338 | Милорадовичі
339 | Мирон
340 | Михайленко
341 | Михайличенко
342 | Михайлюк
343 | Мицик
344 | Мовчан
345 | Могили
346 | Модзалевські
347 | Моргун
348 | Мороз
349 | Мосендзи
350 | Москаленко
351 | Москаль
352 | Мошак
353 | Муратова
354 | Мусієнко
355 | Назаренко
356 | Наливайко
357 | Нащинські
358 | Негребецька
359 | Непорожній
360 | Нестеренко
361 | Нечай
362 | Нечипоренко
363 | Оберемченко
364 | Овчаренко
365 | Ограновичі
366 | Олійник
367 | Олексієнко
368 | Омельченко
369 | Омельчук
370 | Онищенко
371 | Онопенко
372 | Опанасенко
373 | Орлики
374 | Осадчук
375 | Осика
376 | Остапенко
377 | Остроградська
378 | Острозькі
379 | Півторак
380 | Підопригора
381 | Павленко
382 | Павлюк
383 | Павлюченко
384 | Пазенко
385 | Паламарчук
386 | Панас
387 | Панасюк
388 | Паньківська
389 | Пархоменко
390 | Пасічник
391 | Пасько
392 | Пашко
393 | Пащенко
394 | Перебийніс
395 | Петренко
396 | Пилипенко
397 | Пилипишин
398 | Пилипчук
399 | Писаренко
400 | Писарчук
401 | Плющ
402 | Покотило
403 | Поліщук
404 | Польова
405 | Полянська
406 | Пономаренко
407 | Пономарьов
408 | Попадюк
409 | Попенко
410 | Потапенко
411 | Потебенько
412 | Прийма
413 | Приймак
414 | Присяжнюк
415 | Приходько
416 | Продан
417 | Проценко
418 | Проць
419 | Процюк
420 | Пушкар
421 | Різенки
422 | Різун
423 | Радченко
424 | Рибальченко
425 | Римар
426 | Римар
427 | Родзянки
428 | Рожок
429 | Розумовські
430 | Романенко
431 | Романишин
432 | Романчук
433 | Романюк
434 | Рошкевич
435 | Рубан
436 | Рубани
437 | Руденко
438 | Рябовіл
439 | Сімашкевич
440 | Саєнко
441 | Савенко
442 | Савицька
443 | Савка
444 | Савченко
445 | Савчук
446 | Сак
447 | Самборська
448 | Самойлович
449 | Самусь
450 | Свида
451 | Семашко
452 | Семененко
453 | Семенець
454 | Семенина
455 | Семенченко
456 | Семенюк
457 | Семеренко
458 | Сидоренко
459 | Силенко
460 | Симоненко
461 | Симчич
462 | Скаржинські
463 | Скоропадські
464 | Скрипник
465 | Скуратівська
466 | Слободян
467 | Слободянюк
468 | Смик
469 | Смогоржевська
470 | Собчук
471 | Сопронюк
472 | Сорока
473 | Сохань
474 | Стадник
475 | Стельмах
476 | Степаненко
477 | Степура
478 | Стеценко
479 | Стецюк
480 | Стороженки
481 | Струтинська
482 | Сулима
483 | Сулими
484 | Супруненко
485 | Танські
486 | Тараненко
487 | Тарновські
488 | Татаренко
489 | Теплицька
490 | Терещенко
491 | Терещук
492 | Тесленко
493 | Тимошенко
494 | Тимощук
495 | Тимчак
496 | Титаренко
497 | Тишкевичі
498 | Тищенко
499 | Ткач
500 | Ткаченко
501 | Ткачук
502 | Тобілевичі
503 | Толочко
504 | Томенко
505 | Трощинські
506 | Тулуб
507 | Удовенко
508 | Удовиченко
509 | Усенко
510 | Філоненко
511 | Феденко
512 | Федоренко
513 | Федорук
514 | Фещенко
515 | Фоменко
516 | Ханенки
517 | Ханенко
518 | Харитоненки
519 | Харчук
520 | Хміляр
521 | Хмара
522 | Хмельницькі
523 | Холодовська
524 | Хоменко
525 | Царук
526 | Цибуленко
527 | Цюпа
528 | Чабаненко
529 | Чанов
530 | Чередниченко
531 | Чернявська
532 | Чорна
533 | Чорна
534 | Чорновіл
535 | Чуйкевич
536 | Чумак
537 | Чумаченко
538 | Шахрай
539 | Шевченко
540 | Шевчук
541 | Шелест
542 | Шептицькі
543 | Шинкарук
544 | Шкрібляк
545 | Шнайдер
546 | Шовкопляс
547 | Шульга
548 | Шухевич
549 | Щерба
550 | Щербак
551 | Щербань
552 | Юрженко
553 | Юрченко
554 | Юрчишин
555 | Юхименко
556 | Ющенко
557 | Яковенко
558 | Яковина
559 | Янко
560 | Ярема
561 | Яременко
562 | Яремко
563 | Яремчук
564 | Ярмоленко
565 | Ярмолюк
566 | Ярошенко
567 | Яценко
568 | Ященко
569 | Ґалаґан
570 | Євсєєва
571 | Єгорова
572 | Єлізарова
573 | Єрмилова
574 | Єрофєєва
575 | Єршова
576 | Єфімова
577 | Єфремова
578 | Іванова
579 | Ігнатова
580 | Іллюшина
581 | Ільїна
582 | Аєдоницька
583 | Абатурова
584 | Абдулова
585 | Абрамова
586 | Авілова
587 | Авдєєнко
588 | Аврамова
589 | Алексєєва
590 | Александрова
591 | Альошина
592 | Анісімова
593 | Анісова
594 | Ананьєва
595 | Андріанова
596 | Андріяшева
597 | Андреєва
598 | Антипова
599 | Антонова
600 | Анциферова
601 | Апухтіна
602 | Арбузова
603 | Аржанова
604 | Артем'єва
605 | Архипова
606 | Арцибушева
607 | Астраханцева
608 | Афіногенова
609 | Афанасьєва
610 | Бєлова
611 | Бєлоглазова
612 | Бєлоусова
613 | Бєляєва
614 | Бібикова
615 | Бажанова
616 | Баранова
617 | Барановська
618 | Баришнікова
619 | Барсова
620 | Батюшкова
621 | Бикова
622 | Блохіна
623 | Боброва
624 | Богданова
625 | Богомазова
626 | Бойкова
627 | Большакова
628 | Борисова
629 | Бочкова
630 | Бризгалова
631 | Брусилова
632 | Бутурліна
633 | Бутусова
634 | Варламова
635 | Васильєва
636 | Виноградова
637 | Власова
638 | Внукова
639 | Волкова
640 | Воробей
641 | Воробйова
642 | Вороніна
643 | Воронцова
644 | Ворошилова
645 | Гаврилова
646 | Герасимова
647 | Гончарова
648 | Горбунова
649 | Горчакова
650 | Горшкова
651 | Григор'єва
652 | Громова
653 | Гусєва
654 | Давидова
655 | Данилова
656 | Дарагана
657 | Дементьєва
658 | Денисова
659 | Дмитрієва
660 | Добролюбова
661 | Донськая
662 | Дорофєєва
663 | Дуброва
664 | Железнякова
665 | Жердєва
666 | Жукова
667 | Журавльова
668 | Зінов'єва
669 | Заварова
670 | Загарова
671 | Зайцева
672 | Захарова
673 | Звєрєва
674 | Зерова
675 | Золотухіна
676 | Зубова
677 | Казакова
678 | Калініна
679 | Калашникова
680 | Карпова
681 | Каштанова
682 | Кисельова
683 | Ковальова
684 | Кожевникова
685 | Козлова
686 | Колесникова
687 | Кольцова
688 | Комарова
689 | Коновалова
690 | Конюхова
691 | Копилова
692 | Кормильцева
693 | Коробова
694 | Коровкіна
695 | Корольова
696 | Котова
697 | Краснова
698 | Крилова
699 | Кримова
700 | Крюкова
701 | Кудряшова
702 | Кузнецова
703 | Кузьміна
704 | Кулакова
705 | Куликова
706 | Куркова
707 | Курочкіна
708 | Лєскова
709 | Лідова
710 | Ладигіна
711 | Лазарєва
712 | Лебедєва
713 | Левицька
714 | Лихоносова
715 | Лозина-Лозинська
716 | Лосєва
717 | Львова
718 | Любимова
719 | Мілютіна
720 | Макарова
721 | Максимова
722 | Малакова
723 | Мамонова
724 | Манасеїна
725 | Маркова
726 | Мартенс
727 | Мартинова
728 | Масленнікова
729 | Маслова
730 | Матвєєва
731 | Медведєва
732 | Мельникова
733 | Миронова
734 | Михайлова
735 | Моїсєєва
736 | Моргунова
737 | Моркова
738 | Морозова
739 | Мухіна
740 | Нікітіна
741 | Ніколаєва
742 | Нікуліна
743 | Набокова
744 | Некрасова
745 | Новикова
746 | Орлова
747 | Осипова
748 | Остроградська
749 | Павлова
750 | Павлушкова
751 | Панова
752 | Петрова
753 | Пильчикова
754 | Платонова
755 | Плеханова
756 | Польова
757 | Полякова
758 | Пономарьова
759 | Попова
760 | Пояркова
761 | Пригунова
762 | Прошкіна
763 | Решетникова
764 | Рожкова
765 | Романова
766 | Рябова
767 | Сабліна
768 | Савіна
769 | Сазонова
770 | Сальникова
771 | Самойлова
772 | Самсонова
773 | Сбітнєва
774 | Свиридова
775 | Селезньова
776 | Семенова
777 | Сербіна
778 | Сергєєва
779 | Сибірякова
780 | Сидорова
781 | Симонова
782 | Синельникова
783 | Скобелева
784 | Скобліна
785 | Смирнова
786 | Снєгірьова
787 | Соболєва
788 | Соколова
789 | Солнцева
790 | Соловйова
791 | Сомова
792 | Сорокіна
793 | Стєклова
794 | Старкова
795 | Степанова
796 | Табакова
797 | Тарасова
798 | Терентьєва
799 | Тимофєєва
800 | Титова
801 | Тихомирова
802 | Тихонова
803 | Тюленєва
804 | Уварова
805 | Усова
806 | Устинова
807 | Філіппова
808 | Філатова
809 | Федорова
810 | Фоміна
811 | Фролова
812 | Хілкова
813 | Хвостова
814 | Худякова
815 | Цвєткова
816 | Чанова
817 | Чевкіна
818 | Черенкова
819 | Черепкова
820 | Чулкова
821 | Шевельова
822 | Шеліхова
823 | Шиніна
824 | Ширяєва
825 | Шишова
826 | Шулакова
827 | Щапова
828 | Щаслива
829 | Яковлєва
830 | Яшина
--------------------------------------------------------------------------------
/Docs/NameCaseLib/NCL.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs For Class NCL
7 |
8 |
9 |
10 |
11 |
12 |
Class NCL
13 |
14 |
15 |
16 |
Description
17 |
22 |
23 |
24 |
Класс, который содержит основные константы библиотеки:
индексы мужского и женского пола индексы всех падежей
25 |
29 |
30 | Located in /NCL/NCL.php (line 16 )
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
Direct descendents
42 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 | NCLNameCaseCore
55 |
56 | NCL NameCase Core
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
Variable Summary
67 |
72 |
73 |
74 |
75 | static
mixed
76 |
$DATELN
77 |
78 |
82 |
83 | static
mixed
84 |
$MAN
85 |
86 |
90 |
94 |
98 |
102 |
106 |
110 |
114 |
118 |
122 |
126 |
130 |
131 | static
mixed
132 |
$WOMAN
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
Variables
142 |
149 |
150 |
151 |
152 |
153 |
160 |
161 |
162 |
Дательный падеж
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
179 |
180 |
181 |
Именительный падеж
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
198 |
199 |
200 |
Мужской пол
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
217 |
218 |
219 |
Предложный падеж
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
236 |
237 |
238 |
Родительный падеж
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
255 |
256 |
257 |
Творительный падеж
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
274 |
275 |
276 |
Давальний відмінок
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
293 |
294 |
295 |
Кличний відмінок
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
312 |
313 |
314 |
Місцевий відмінок
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
331 |
332 |
333 |
Назвиний відмінок
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
350 |
351 |
352 |
Орудний відмінок
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
369 |
370 |
371 |
Родовий відмінок
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
388 |
389 |
390 |
Знахідний відмінок
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
407 |
408 |
409 |
Винительный падеж
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
426 |
427 |
428 |
Женский пол
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 | Documentation generated on Sat, 09 Jul 2011 17:55:19 +0300 by phpDocumentor 1.4.3
443 |
444 |
445 |
--------------------------------------------------------------------------------
/Docs/default/NCL.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Docs For Class NCL
7 |
8 |
9 |
10 |
11 |
12 |
Class NCL
13 |
14 |
15 |
16 |
Description
17 |
22 |
23 |
24 |
Класс, который содержит основные константы библиотеки:
25 |
индексы мужского и женского пола индексы всех падежей
26 |
30 |
31 | Located in /NCL/NCL.php (line 9 )
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
Direct descendents
43 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 | NCLNameCaseCore
56 |
57 | Класс, который содержит основные константы библиотеки:
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
Variable Summary
68 |
73 |
74 |
75 |
76 | static
mixed
77 |
$DATELN
78 |
79 |
83 |
84 | static
mixed
85 |
$MAN
86 |
87 |
91 |
95 |
99 |
103 |
107 |
111 |
115 |
119 |
123 |
127 |
131 |
132 | static
mixed
133 |
$WOMAN
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
Variables
143 |
150 |
151 |
152 |
153 |
154 |
161 |
162 |
163 |
Дательный падеж
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
180 |
181 |
182 |
Именительный падеж
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
199 |
200 |
201 |
Мужской пол
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
218 |
219 |
220 |
Предложный падеж
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
237 |
238 |
239 |
Родительный падеж
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
256 |
257 |
258 |
Творительный падеж
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
275 |
276 |
277 |
Давальний відмінок
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
294 |
295 |
296 |
Кличний відмінок
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
313 |
314 |
315 |
Місцевий відмінок
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
332 |
333 |
334 |
Назвиний відмінок
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
351 |
352 |
353 |
Орудний відмінок
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
370 |
371 |
372 |
Родовий відмінок
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
389 |
390 |
391 |
Знахідний відмінок
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
408 |
409 |
410 |
Винительный падеж
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
427 |
428 |
429 |
Женский пол
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 | Documentation generated on Wed, 06 Jul 2011 13:46:17 +0300 by phpDocumentor 1.4.3
444 |
445 |
446 |
--------------------------------------------------------------------------------