1
0
mirror of https://github.com/fzaninotto/Faker.git synced 2025-03-24 09:19:50 +01:00

Merge pull request #238 from marcaube/fr_CA

Add French Canadian providers
This commit is contained in:
Francois Zaninotto 2014-01-27 08:59:31 -08:00
commit 4590496843
2 changed files with 237 additions and 0 deletions

View File

@ -0,0 +1,156 @@
<?php
namespace Faker\Provider\fr_CA;
class Address extends \Faker\Provider\Address
{
protected static $cityPrefix = array('Saint-', 'Sainte-', 'St-', 'Ste-');
/**
* The suffixes come from this list of communities in Québec
* http://fr.wikipedia.org/wiki/Liste_des_municipalités_locales_du_Québec
*/
protected static $citySuffix = array(
// Bas-Saint-Laurent
'-des-Sables', '-sur-Mer', '-des-Neiges', '-des-Sept-Douleurs', '-du-Portage', '-du-Loup', '-des-Lacs', '-de-Lessard',
'-de-Kamourasca', '-de-Témiscouata', '-de-Ladrière', '-de-Rimouski', '-de-Rivière-du-Loup', '-du-Lac', '-du-Ha! Ha!',
'-du-Lac-Long', '-de-Rioux', '-du-Squatec', '-de-Métis', '-d\'Ixworth', '-de-la-Croix', '-de-Matane', '-du-Lac-Humqui',
'-de-Mérici', '-de-la-Pocatière', '-sur-le-Lac',
// SaguenayLac-Saint-Jean
'-de-Lorette', '-du-Lac-Saint-Jean', '-de-Bourget', '-de-Falardeau', '-les-Plaines', '-de-Sales', '-de-Taillon',
'-de-Milot', '-du-Nord',
// Québec (Capitale-Nationale)
'-aux-Coudres', '-des-Anges', '-de-Desmaures', '-les-Neiges', '-de-l\'Île-d\'Orléans', '-de-Valcartier',
'-de-Portneuf', '-du-Cap-Tourmente', '-des-Carrières', '-des-Caps', '-de-Beaupré', '-de-Laval', '-de-la-Jacques-Cartier',
'-d\'Auvergne',
// Mauricie
'-de-Monteauban', '-du-Mont-Carmel', '-des-Monts', '-de-Maskinongé', '-de-Caxton', '-des-Grès', '-le-Grand',
'-de-Vincennes', '-du-Parc', '-de-Champlain', '-de-Mékinac', '-de-Prémont', '-de-la-Pérade', '-de-Batiscan',
// Estrie (Cantons de l'est)
'-Ouest', '-Est', '-Sud', '-Nord', '-des-Bois', '-de-Woburn', '-de-Brompton', '-de-Bolton', '-de-Windsor',
'-de-Clifton', '-de-Paquette', '-de-la-Rochelle', '-de-Hatley', '-de-Whitton',
// Montréal
'-de-Bellevue',
// Chaudière-Appalaches
'-de-Buckland', '-des-Pins', '-du-Rosaire', '-d\'Issoudun', '-de-Jésus', '-d\'Irlande', '-de-l\'Isle-aux-Grues',
'-de-Tilly', '-de-Lellis', '-de-Bellechasse', '-de-Lessard', '-de-L\'Islet', '-de-Lotbinière', '-de-Beauce',
'-de-Forsyth', '-de-Panet', '-de-la-Rivière-du-Sud', '-de-Dorset', '-de-Shenley', '-de-Leeds', '-de-Wolfestown',
'-de-Joly', '-de-Brébeuf', '-de-Coleraine', '-des-Érables', '-Bretenières', '-de-Lauzon', '-de-Standon',
'-de-Gonzague', '-de-Beaurivage', '-de-Dorchester', '-de-Cranbourne', '-de-Broughton', '-de-la-Rivière-du-Sud',
'-des-Aulnaies', '-les-Mines', '-de-Lotbinière', '-de-Patton', '-sur-Rivière-du-Sud', '-de-Beauregard', '-de-Watford'
);
/**
* @example 'Saint-Marc-des-Carrières' or 'Sainte-Monique'
*/
protected static $cityFormats = array(
'{{cityPrefix}}{{firstName}}{{citySuffix}}',
'{{cityPrefix}}{{firstName}}',
);
protected static $buildingNumber = array('#####', '####', '###', '##', '#');
protected static $streetSuffix = array(
'Autoroute', 'Avenue', 'Boulevard', 'Chemin', 'Route', 'Rue', 'Pont'
);
protected static $postcode = array('?#? #?#', '?#?#?#');
/**
* @example 'Avenue Bolduc'
*/
protected static $streetNameFormats = array(
'{{streetSuffix}} {{firstName}}',
'{{streetSuffix}} {{lastName}}'
);
protected static $streetAddressFormats = array(
'{{buildingNumber}} {{streetName}}',
'{{buildingNumber}} {{streetName}} {{secondaryAddress}}',
);
protected static $addressFormats = array(
"{{streetAddress}}, {{city}}, {{stateAbbr}} {{postcode}}",
);
protected static $secondaryAddressFormats = array('Apt. ###', 'Suite ###', 'Bureau ###');
protected static $state = array(
'Alberta', 'Colombie-Brittanique', 'Manitoba', 'Nouveau-Brunswick', 'Terre-Neuve-et-Labrador', 'Nouvelle-Écosse', 'Ontario', 'Île-du-Prince-Édouard', 'Québec', 'Saskatchewan'
);
protected static $stateAbbr = array(
'AB', 'BC', 'MB', 'NB', 'NL', 'NS', 'ON', 'PE', 'QC', 'SK'
);
/**
* This list is the same as in \Faker\Provider\fr_FR\Address.php
*/
protected static $country = array(
'Afghanistan', 'Afrique du sud', 'Albanie', 'Algérie', 'Allemagne', 'Andorre', 'Angola', 'Anguilla', 'Antarctique', 'Antigua et Barbuda', 'Antilles néerlandaises', 'Arabie saoudite', 'Argentine', 'Arménie', 'Aruba', 'Australie', 'Autriche', 'Azerbaïdjan',
'Bahamas', 'Bahrain', 'Bangladesh', 'Belgique', 'Belize', 'Benin', 'Bermudes (Les)', 'Bhoutan', 'Biélorussie', 'Bolivie', 'Bosnie-Herzégovine', 'Botswana', 'Bouvet (Îles)', 'Brunei', 'Brésil', 'Bulgarie', 'Burkina Faso', 'Burundi',
'Cambodge', 'Cameroun', 'Canada', 'Cap Vert', 'Cayman (Îles)', 'Chili', 'Chine (Rép. pop.)', 'Christmas (Île)', 'Chypre', 'Cocos (Îles)', 'Colombie', 'Comores', 'Cook (Îles)', 'Corée du Nord', 'Corée, Sud', 'Costa Rica', 'Croatie', 'Cuba', 'Côte d\'Ivoire',
'Danemark', 'Djibouti', 'Dominique',
'Égypte', 'El Salvador', 'Émirats arabes unis', 'Équateur', 'Érythrée', 'Espagne', 'Estonie', 'États-Unis', 'Ethiopie',
'Falkland (Île)', 'Fidji (République des)', 'Finlande', 'France', 'Féroé (Îles)',
'Gabon', 'Gambie', 'Ghana', 'Gibraltar', 'Grenade', 'Groenland', 'Grèce', 'Guadeloupe', 'Guam', 'Guatemala', 'Guinée', 'Guinée Equatoriale', 'Guinée-Bissau', 'Guyane', 'Guyane française', 'Géorgie', 'Géorgie du Sud et Sandwich du Sud (Îles)',
'Haïti', 'Heard et McDonald (Îles)', 'Honduras', 'Hong Kong', 'Hongrie',
'Îles Mineures Éloignées des États-Unis', 'Inde', 'Indonésie', 'Irak', 'Iran', 'Irlande', 'Islande', 'Israël', 'Italie',
'Jamaïque', 'Japon', 'Jordanie',
'Kazakhstan', 'Kenya', 'Kirghizistan', 'Kiribati', 'Koweit',
'La Barbade', 'Laos', 'Lesotho', 'Lettonie', 'Liban', 'Libye', 'Libéria', 'Liechtenstein', 'Lithuanie', 'Luxembourg',
'Macau', 'Macédoine', 'Madagascar', 'Malaisie', 'Malawi', 'Maldives (Îles)', 'Mali', 'Malte', 'Mariannes du Nord (Îles)', 'Maroc', 'Marshall (Îles)', 'Martinique', 'Maurice', 'Mauritanie', 'Mayotte', 'Mexique', 'Micronésie (États fédérés de)', 'Moldavie', 'Monaco', 'Mongolie', 'Montserrat', 'Mozambique', 'Myanmar',
'Namibie', 'Nauru', 'Nepal', 'Nicaragua', 'Niger', 'Nigeria', 'Niue', 'Norfolk (Îles)', 'Norvège', 'Nouvelle Calédonie', 'Nouvelle-Zélande',
'Oman', 'Ouganda', 'Ouzbékistan',
'Pakistan', 'Palau', 'Panama', 'Papouasie-Nouvelle-Guinée', 'Paraguay', 'Pays-Bas', 'Philippines', 'Pitcairn (Îles)', 'Pologne', 'Polynésie française', 'Porto Rico', 'Portugal', 'Pérou',
'Qatar',
'Roumanie', 'Royaume-Uni', 'Russie', 'Rwanda', 'Rép. Dém. du Congo', 'République centrafricaine', 'République Dominicaine', 'République tchèque', 'Réunion (La)',
'Sahara Occidental', 'Saint Pierre et Miquelon', 'Saint Vincent et les Grenadines', 'Saint-Kitts et Nevis', 'Saint-Marin (Rép. de)', 'Sainte Hélène', 'Sainte Lucie', 'Samoa', 'Samoa', 'Seychelles', 'Sierra Leone', 'Singapour', 'Slovaquie', 'Slovénie', 'Somalie', 'Soudan', 'Sri Lanka', 'Suisse', 'Suriname', 'Suède', 'Svalbard et Jan Mayen (Îles)', 'Swaziland', 'Syrie', 'São Tomé et Príncipe (Rép.)', 'Sénégal',
'Tadjikistan', 'Taiwan', 'Tanzanie', 'Tchad', 'Territoire britannique de l\'océan Indien', 'Territoires français du sud', 'Thailande', 'Timor', 'Togo', 'Tokelau', 'Tonga', 'Trinité et Tobago', 'Tunisie', 'Turkménistan', 'Turks et Caïques (Îles)', 'Turquie', 'Tuvalu',
'Ukraine', 'Uruguay',
'Vanuatu', 'Vatican (Etat du)', 'Venezuela', 'Vierges (Îles)', 'Vierges britanniques (Îles)', 'Vietnam',
'Wallis et Futuna (Îles)',
'Yemen', 'Yougoslavie',
'Zambie', 'Zaïre', 'Zimbabwe'
);
/**
* @example 'Saint-'
*/
public static function cityPrefix()
{
return static::randomElement(static::$cityPrefix);
}
/**
* @example '-des-Sables'
*/
public static function citySuffix()
{
return static::randomElement(static::$citySuffix);
}
/**
* @example 'Bureau 500'
*/
public static function secondaryAddress()
{
return static::numerify(static::randomElement(static::$secondaryAddressFormats));
}
/**
* @example 'Québec'
*/
public static function state()
{
return static::randomElement(static::$state);
}
/**
* @example 'QC'
*/
public static function stateAbbr()
{
return static::randomElement(static::$stateAbbr);
}
}

View File

@ -0,0 +1,81 @@
<?php
namespace Faker\Provider\fr_CA;
class Person extends \Faker\Provider\Person
{
protected static $formats = array(
'{{firstName}} {{lastName}}',
'{{firstName}} {{lastName}}',
'{{firstName}} {{lastName}}',
'{{firstName}} {{lastName}}',
'{{firstName}} {{lastName}}-{{lastName}}',
'{{firstName}}-{{firstName}} {{lastName}}',
);
/**
* This list is more or less the same as in \Faker\Provider\fr_FR\Person.php
* Some common names were added and other removed.
*/
protected static $firstName = array(
'Adrien', 'Adrienne', 'Adèle', 'Agathe', 'Alice', 'Alysson', 'Aimé', 'Aimée', 'Alain', 'Albert', 'Aline',
'Alexandre', 'Alexandra', 'Alfred', 'Alphonse', 'Amélie', 'Anaïs', 'André', 'Andrée', 'Ann', 'Anne', 'Annette',
'Annie', 'Anouk', 'Antoine', 'Anthony', 'Arthur', 'Audrey', 'Auguste', 'Augustin',
'Augustine', 'Arianne', 'Aurélie', 'Aurore',
'Benjamin', 'Benoît', 'Benoit', 'Bernard', 'Bernadette', 'Bertrand', 'Brigitte',
'Caroline', 'Catherine', 'Camille', 'Cécile', 'Céline', 'Chantal', 'Charles', 'Charlotte', 'Christian',
'Christiane', 'Christine', 'Christophe', 'Claire', 'Claude', 'Claudine', 'Colette', 'Corrine',
'Daniel', 'Danielle', 'David', 'Denis', 'Denise', 'Dominic', 'Dominique',
'Édith', 'Édouard', 'Élisabeth', 'Élise', 'Élodie', 'Émile', 'Émilie', 'Emmanuel', 'Émanuelle', 'Éric', 'Érika',
'Étienne', 'Eugène', 'Eugénie', 'Eve',
'François', 'Françoise', 'Françis', 'Frédéric', 'Frédérique',
'Gabriel', 'Gabrielle', 'Geneviève', 'Georges', 'Gérard', 'Gilbert', 'Gilles', 'Grégory', 'Guillaume', 'Guy',
'Hélène', 'Henri', 'Honoré', 'Honorée', 'Hugues',
'Isaac', 'Isabelle',
'Jacques', 'Jacqueline', 'Jean', 'Jeanne', 'Jeannine', 'Jérôme', 'Joseph', 'Joséphine', 'Jules', 'Julie', 'Julien',
'Laurent', 'Laurence', 'Léon', 'Louis', 'Louise', 'Luc', 'Luce', 'Lucie', 'Lucas',
'Madeleine', 'Manon', 'Marc', 'Marcel', 'Margot', 'Marguerite', 'Maggie', 'Marianne', 'Marie', 'Marthe',
'Martin', 'Martine', 'Maryse', 'Mathieu', 'Mathilde', 'Matthieu', 'Maurice', 'Michel', 'Michèle', 'Michelle',
'Monique',
'Nancy', 'Nathalie', 'Nicolas', 'Nicole', 'Noël', 'Noémie',
'Olivier', 'Olivia', 'Odette',
'Patrick', 'Patrice', 'Patricia', 'Paul', 'Paule', 'Paulette', 'Pauline', 'Pénélope', 'Philippe', 'Pierre',
'Raymond', 'Rémy', 'René', 'Renée', 'Richard', 'Robert', 'Roger', 'Roland', 'Rolande',
'Sébastien', 'Simone', 'Sophie', 'Stéphane', 'Stéphanie', 'Susanne', 'Suzanne', 'Sylvie',
'Théo', 'Théophile', 'Thérèse', 'Thierry', 'Thomas', 'Timothée', 'Tristan',
'Valérie', 'Véronique', 'Victor', 'Vincent', 'Virginie',
'William',
'Xavier',
'Yves', 'Yvon', 'Yvonne', 'Yvan',
'Zacharie', 'Zoé',
);
/**
* These last names come from this list of most common family names in Québec (1 to 130)
* http://fr.wikipedia.org/wiki/Liste_des_noms_de_famille_les_plus_courants_au_Québec
*/
protected static $lastName = array(
'Allard', 'Arsenault', 'Audet',
'Beaudoin', 'Beaulieu', 'Bédard', 'Bélanger', 'Benoît', 'Bergeron', 'Bernard', 'Bernier', 'Bertrand', 'Bérubé',
'Bilodeau', 'Blais', 'Blanchette', 'Boisvert', 'Boivin', 'Bolduc', 'Bouchard', 'Boucher', 'Boudreau',
'Caron', 'Carrier', 'Champagne', 'Charbonneau', 'Cloutier', 'Côté', 'Couture', 'Cyr',
'Demers', 'Deschênes', 'Desjardins', 'Desrosiers', 'Dion', 'Dionne', 'Drouin', 'Dubé', 'Dubois', 'Dufour', 'Dupuis',
'Fillion', 'Fontaine', 'Fortier', 'Fortin', 'Fournier',
'Gagné', 'Gagnon', 'Gaudreault', 'Gauthier', 'Giguère', 'Gilbert', 'Gingras', 'Girard', 'Giroux', 'Goulet',
'Gosselin', 'Gravel', 'Grenier', 'Guay',
'Hamel', 'Harvey', 'Hébert', 'Houle',
'Jean', 'Jacques',
'Labelle', 'Lachance', 'Lacroix', 'Lalonde', 'Lambert', 'Landry', 'Langlois', 'Lapierre', 'Lapointe', 'Larouche',
'Lauzon', 'Lavoie', 'Leblanc', 'Leduc', 'Leclerc', 'Lefebvre', 'Legault', 'Lemay', 'Lemieux', 'Lepage', 'Lessard',
'Lévesque',
'Martel', 'Martin', 'Ménard', 'Mercier', 'Michaud', 'Moreau', 'Morin',
'Nadeau', 'Nguyen',
'Ouellet',
'Paquette', 'Paradis', 'Parent', 'Pelletier', 'Perreault', 'Perron', 'Picard', 'Plante', 'Poirier', 'Poulin',
'Proulx',
'Raymond', 'Renaud', 'Richard', 'Rioux', 'Robert', 'Rousseau', 'Roy',
'Savard', 'Simard', 'St-Pierre',
'Tardif', 'Tessier', 'Thériault', 'Therrien', 'Thibault', 'Tremblay', 'Trudel', 'Turcotte',
'Vachon', 'Vaillancourt', 'Villeneuve'
);
}