Skip to content

Commit

Permalink
added provider for czech (cs_CZ)
Browse files Browse the repository at this point in the history
  • Loading branch information
tomasklapka committed Feb 3, 2012
1 parent c2fc049 commit e025d61
Show file tree
Hide file tree
Showing 3 changed files with 146 additions and 0 deletions.
35 changes: 35 additions & 0 deletions src/Faker/Provider/cs_CZ/Internet.php
@@ -0,0 +1,35 @@
<?php

namespace Faker\Provider\cs_CZ;

class Internet extends \Faker\Provider\Internet
{
protected static $safeEmailTld = array('com', 'cz');

protected static $freeEmailDomain = array('gmail.com', 'yahoo.com', 'seznam.cz', 'atlas.cz', 'centrum.cz', 'email.cz', 'post.cz');

protected static $tld = array('cz', 'cz', 'cz', 'cz', 'cz', 'cz', 'com', 'info', 'net', 'org');

/**
* Converts czech characters to their ASCII representation
*
* @return string
*/
private function toAscii($string)
{
$from = array('Ě','ě','Š','š','Č','č','Ř','ř','Ž','ž','Ý','ý','Á','á','Í','í','É','é','Ó','ó','Ú','ú','Ů','ů','Ď','ď','Ť','ť','Ň','ň');
$to = array('E','e','S','s','C','c','R','r','Z','z','Y','y','A','a','I','i','E','e','O','o','U','u','U','u','D','d','T','t','N','n');

return str_replace($from, $to, $string);
}

public function email()
{
return $this->toAscii(parent::email());
}

public function userName()
{
return $this->toAscii(parent::userName());
}
}
97 changes: 97 additions & 0 deletions src/Faker/Provider/cs_CZ/Person.php
@@ -0,0 +1,97 @@
<?php

namespace Faker\Provider\cs_CZ;

class Person extends \Faker\Provider\Person
{
protected static $formats = array(
'{{firstNameMale}} {{lastNameMale}}',
'{{firstNameMale}} {{lastNameMale}}',
'{{firstNameMale}} {{lastNameMale}}',
'{{firstNameMale}} {{lastNameMale}}',
'{{firstNameFemale}} {{lastNameFemale}}',
'{{firstNameFemale}} {{lastNameFemale}}',
'{{firstNameFemale}} {{lastNameFemale}}',
'{{firstNameFemale}} {{lastNameFemale}}',
'{{prefix}} {{firstNameMale}} {{lastNameMale}}',
'{{prefix}} {{firstNameFemale}} {{lastNameFemale}}',
);

protected static $firstNameMale = array(
'Jiří', 'Jan', 'Petr', 'Josef', 'Pavel', 'Jaroslav', 'Martin', 'Tomáš', 'Miroslav', 'František', 'Zdeněk', 'Václav',
'Michal', 'Milan', 'Karel', 'Lukáš', 'David', 'Jakub', 'Vladimír', 'Ladislav', 'Roman', 'Stanislav', 'Ondřej', 'Marek',
'Radek', 'Antonín', 'Daniel', 'Dagmar', 'Vojtěch', 'Filip', 'Adam', 'Miloslav', 'Ivan', 'Jaromír', 'Aleš', 'Libor',
'Matěj', 'Vlastimil', 'Jindřich', 'Patrik', 'Miloš', 'Dominik', 'Oldřich', 'Rudolf', 'Lubomír', 'Robert', 'Luboš',
'Ilona', 'Bohumil', 'Radim', 'Štěpán', 'Richard', 'Ivo', 'Rostislav', 'Vít', 'Dušan', 'Luděk', 'Vladislav', 'Kamil',
'Bohuslav', 'Matyáš', 'Zbyněk', 'Alois', 'Viktor', 'Jozef', 'Ján', 'Michael', 'Šimon', 'Štefan', 'Vasyl', 'Vítězslav',
'Eduard', 'René', 'Emil', 'Marcel', 'Peter', 'Dalibor', 'Ludvík', 'Kryštof', 'Radomír'
);

protected static $firstNameFemale = array(
'Marie', 'Jana', 'Eva', 'Hana', 'Anna', 'Lenka', 'Věra', 'Kateřina', 'Alena', 'Lucie', 'Petra', 'Jaroslava', 'Veronika',
'Martina', 'Ludmila', 'Helena', 'Jitka', 'Michaela', 'Zdeňka', 'Tereza', 'Ivana', 'Jarmila', 'Monika', 'Jiřina', 'Zuzana',
'Markéta', 'Marcela', 'Barbora', 'Dana', 'Eliška', 'Božena', 'Vlasta', 'Kristýna', 'Libuše', 'Irena', 'Miroslava', 'Marta',
'Pavla', 'Andrea', 'Olga', 'Šárka', 'Iveta', 'Adéla', 'Pavlína', 'Klára', 'Růžena', 'Nikola', 'Blanka', 'Renata', 'Karolína',
'Gabriela', 'Milada', 'Zdenka', 'Simona', 'Radka', 'Natálie', 'Daniela', 'Aneta', 'Iva', 'Milena', 'Denisa', 'Miloslava',
'Miluše', 'Romana', 'Stanislava', 'Anežka', 'Soňa', 'Naděžda', 'Kamila', 'Vladimíra', 'Emilie', 'Renáta', 'Jindřiška',
'Vendula', 'Mária', 'Alžběta', 'Františka', 'Nela', 'Štěpánka', 'Dominika'
);

protected static $lastNameMale = array(
'Novák', 'Svoboda', 'Novotný', 'Dvořák', 'Černý', 'Procházka', 'Kučera', 'Nguyen', 'Veselý', 'Horák', 'Krejčí', 'Němec',
'Marek', 'Pospíšil','Pokorný', 'Hájek', 'Král', 'Jelínek', 'Růžička', 'Beneš', 'Fiala', 'Sedláček', 'Doležal', 'Zeman',
'Kolář', 'Navrátil', 'Čermák', 'Urban', 'Vaněk', 'Blažek', 'Kříž', 'Kovář', 'Kratochvíl', 'Bartoš', 'Vlček', 'Polák',
'Kopecký', 'Musil', 'Šimek', 'Konečný', 'Malý', 'Holub', 'Štěpánek', 'Čech', 'Kadlec', 'Staněk', 'Dostál', 'Soukup',
'Šťastný', 'Mareš'
);

protected static $lastNameFemale = array(
'Nováková', 'Svobodová', 'Novotná', 'Dvořáková', 'Černá', 'Procházková', 'Kučerová', 'Nguyen', 'Veselá', 'Horáková',
'Krejčí', 'Němcová', 'Marková', 'Pospíšilová', 'Pokorná', 'Hájková', 'Králová', 'Jelínková', 'Růžičková', 'Benešová',
'Fialová', 'Sedláčková', 'Doležalová', 'Zemanová', 'Kolářová', 'Navrátilová', 'Čermáková', 'Urbanová', 'Vaňková',
'Blažková', 'Křížová', 'Kovářová', 'Kratochvílová', 'Bartošová', 'Vlčková', 'Poláková', 'Kopecká', 'Musilová', 'Šimková',
'Konečná', 'Malá', 'Holubová', 'Štěpánková', 'Čechová', 'Kadlecová', 'Staňková', 'Dostálová', 'Soukupová', 'Šťastná',
'Marešová'
);

private static $prefix = array(
'Bc.', 'Ing.', 'MUDr.', 'MVDr.', 'Mgr.', 'JUDr.', 'PhDr.', 'RNDr.', 'doc.', 'Dr.'
);

public static function firstName()
{
$gender = static::randomElement(array('Male', 'Female'));
return call_user_func(array('static', 'firstName'.$gender));
}

public static function firstNameMale()
{
return static::randomElement(static::$firstNameMale);
}

public static function firstNameFemale()
{
return static::randomElement(static::$firstNameFemale);
}

public static function lastName()
{
$gender = static::randomElement(array('Male', 'Female'));
return call_user_func(array('static', 'lastName'.$gender));
}

public static function lastNameMale()
{
return static::randomElement(static::$lastNameMale);
}

public static function lastNameFemale()
{
return static::randomElement(static::$lastNameFemale);
}

public static function prefix()
{
return static::randomElement(static::$prefix);
}
}
14 changes: 14 additions & 0 deletions src/Faker/Provider/cs_CZ/PhoneNumber.php
@@ -0,0 +1,14 @@
<?php

namespace Faker\Provider\cs_CZ;

class PhoneNumber extends \Faker\Provider\PhoneNumber
{
protected static $formats = array(
'+420 ### ### ###',
'### ### ###',
'00420#########',
'+420#########',
'#########',
);
}

0 comments on commit e025d61

Please sign in to comment.