| 148 |
lars |
1 |
<?php
|
|
|
2 |
|
|
|
3 |
namespace Faker\Provider\fr_CH;
|
|
|
4 |
|
|
|
5 |
class Person extends \Faker\Provider\fr_FR\Person
|
|
|
6 |
{
|
|
|
7 |
/**
|
|
|
8 |
* @see http://www.bfs.admin.ch/bfs/portal/de/index/themen/01/02/blank/dos/prenoms/02.html
|
|
|
9 |
*/
|
|
|
10 |
protected static $firstNameMale = [
|
|
|
11 |
'Adrian', 'Adrien', 'Alain', 'Albert', 'Alberto', 'Alessandro', 'Alex', 'Alexander', 'Alexandre', 'Alexis', 'Alfred', 'Ali', 'Andrea', 'André', 'Angelo', 'Anthony', 'Antoine', 'Antonio', 'António', 'Arnaud', 'Arthur', 'Aurélien', 'Axel',
|
|
|
12 |
'Baptiste', 'Bastien', 'Benjamin', 'Benoît', 'Bernard', 'Bertrand', 'Bruno', 'Bryan',
|
|
|
13 |
'Carlos', 'Charles', 'Christian', 'Christophe', 'Christopher', 'Claude', 'Claudio', 'Cyril', 'Cédric',
|
|
|
14 |
'Damien', 'Daniel', 'David', 'Denis', 'Didier', 'Diego', 'Diogo', 'Dominique', 'Dylan',
|
|
|
15 |
'Emmanuel', 'Enzo', 'Eric', 'Etienne',
|
|
|
16 |
'Fabien', 'Fabio', 'Fabrice', 'Fernando', 'Filipe', 'Florian', 'Francesco', 'Francis', 'Francisco', 'François', 'Frédéric',
|
|
|
17 |
'Gabriel', 'Georges', 'Gilbert', 'Gilles', 'Giovanni', 'Giuseppe', 'Gregory', 'Grégoire', 'Grégory', 'Guillaume', 'Guy', 'Gérald', 'Gérard',
|
|
|
18 |
'Hans', 'Henri', 'Hervé', 'Hugo',
|
|
|
19 |
'Jacques', 'Jean', 'Jean-Claude', 'Jean-Daniel', 'Jean-François', 'Jean-Jacques', 'Jean-Louis', 'Jean-Luc', 'Jean-Marc', 'Jean-Marie', 'Jean-Michel', 'Jean-Paul', 'Jean-Pierre', 'Joao', 'Joaquim', 'John', 'Jonas', 'Jonathan', 'Jorge', 'Jose', 'Joseph', 'José', 'João', 'Joël', 'Juan', 'Julien', 'Jérémie', 'Jérémy', 'Jérôme',
|
|
|
20 |
'Kevin',
|
|
|
21 |
'Laurent', 'Lionel', 'Loris', 'Louis', 'Loïc', 'Luc', 'Luca', 'Lucas', 'Lucien', 'Ludovic', 'Luis', 'Léo',
|
|
|
22 |
'Manuel', 'Marc', 'Marcel', 'Marco', 'Mario', 'Martin', 'Mathias', 'Mathieu', 'Matteo', 'Matthieu', 'Maurice', 'Max', 'Maxime', 'Michael', 'Michaël', 'Michel', 'Miguel', 'Mohamed',
|
|
|
23 |
'Nathan', 'Nicolas', 'Noah', 'Nolan', 'Nuno',
|
|
|
24 |
'Olivier',
|
|
|
25 |
'Pascal', 'Patrice', 'Patrick', 'Paul', 'Paulo', 'Pedro', 'Peter', 'Philippe', 'Pierre', 'Pierre-Alain', 'Pierre-André',
|
|
|
26 |
'Quentin',
|
|
|
27 |
'Rafael', 'Raphaël', 'Raymond', 'René', 'Ricardo', 'Richard', 'Robert', 'Roberto', 'Robin', 'Roger', 'Roland', 'Romain', 'Rui', 'Rémy',
|
|
|
28 |
'Sacha', 'Salvatore', 'Samuel', 'Serge', 'Sergio', 'Simon', 'Steve', 'Stéphane', 'Sylvain', 'Sébastien',
|
|
|
29 |
'Thierry', 'Thomas', 'Théo', 'Tiago',
|
|
|
30 |
'Valentin', 'Victor', 'Vincent', 'Vitor',
|
|
|
31 |
'Walter', 'William', 'Willy',
|
|
|
32 |
'Xavier',
|
|
|
33 |
'Yann', 'Yannick', 'Yvan', 'Yves',
|
|
|
34 |
];
|
|
|
35 |
|
|
|
36 |
/**
|
|
|
37 |
* @see http://www.bfs.admin.ch/bfs/portal/de/index/themen/01/02/blank/dos/prenoms/02.html
|
|
|
38 |
*/
|
|
|
39 |
protected static $firstNameFemale = [
|
|
|
40 |
'Agnès', 'Alexandra', 'Alice', 'Alicia', 'Aline', 'Amélie', 'Ana', 'Anaïs', 'Andrea', 'Andrée', 'Angela', 'Anita', 'Anna', 'Anne', 'Anne-Marie', 'Antoinette', 'Ariane', 'Arlette', 'Audrey', 'Aurélie',
|
|
|
41 |
'Barbara', 'Bernadette', 'Brigitte', 'Béatrice',
|
|
|
42 |
'Camille', 'Carine', 'Carla', 'Carmen', 'Carole', 'Caroline', 'Catherine', 'Chantal', 'Charlotte', 'Chloé', 'Christelle', 'Christiane', 'Christine', 'Cindy', 'Claire', 'Clara', 'Claudia', 'Claudine', 'Colette', 'Coralie', 'Corinne', 'Cristina', 'Cécile', 'Célia', 'Céline',
|
|
|
43 |
'Daniela', 'Danielle', 'Danièle', 'Delphine', 'Denise', 'Diana', 'Dominique',
|
|
|
44 |
'Edith', 'Elena', 'Eliane', 'Elisa', 'Elisabeth', 'Elodie', 'Elsa', 'Emilie', 'Emma', 'Erika', 'Estelle', 'Esther', 'Eva', 'Evelyne',
|
|
|
45 |
'Fabienne', 'Fanny', 'Florence', 'Francine', 'Françoise',
|
|
|
46 |
'Gabrielle', 'Geneviève', 'Georgette', 'Ginette', 'Gisèle', 'Géraldine',
|
|
|
47 |
'Huguette', 'Hélène',
|
|
|
48 |
'Inès', 'Irène', 'Isabel', 'Isabelle',
|
|
|
49 |
'Jacqueline', 'Janine', 'Jeanne', 'Jeannine', 'Jennifer', 'Jessica', 'Joana', 'Jocelyne', 'Josette', 'Josiane', 'Joëlle', 'Julia', 'Julie', 'Juliette', 'Justine',
|
|
|
50 |
'Karin', 'Karine', 'Katia',
|
|
|
51 |
'Laetitia', 'Lara', 'Laura', 'Laure', 'Laurence', 'Liliane', 'Lisa', 'Louise', 'Lucia', 'Lucie', 'Léa',
|
|
|
52 |
'Madeleine', 'Magali', 'Manon', 'Manuela', 'Marguerite', 'Maria', 'Marianne', 'Marie', 'Marie-Thérèse', 'Marina', 'Marine', 'Marion', 'Marlyse', 'Marlène', 'Martine', 'Mathilde', 'Melissa', 'Micheline', 'Michelle', 'Michèle', 'Mireille', 'Monica', 'Monique', 'Morgane', 'Muriel', 'Myriam', 'Mélanie',
|
|
|
53 |
'Nadia', 'Nadine', 'Natacha', 'Nathalie', 'Nelly', 'Nicole', 'Nina', 'Noémie',
|
|
|
54 |
'Océane', 'Olga', 'Olivia',
|
|
|
55 |
'Pascale', 'Patricia', 'Paula', 'Pauline', 'Pierrette',
|
|
|
56 |
'Rachel', 'Raymonde', 'Renée', 'Rita', 'Rosa', 'Rose', 'Rose-Marie', 'Ruth',
|
|
|
57 |
'Sabine', 'Sabrina', 'Sandra', 'Sandrine', 'Sara', 'Sarah', 'Silvia', 'Simone', 'Sofia', 'Sonia', 'Sophie', 'Stéphanie', 'Suzanne', 'Sylvia', 'Sylviane', 'Sylvie', 'Séverine',
|
|
|
58 |
'Tania', 'Tatiana', 'Teresa', 'Thérèse',
|
|
|
59 |
'Valentine', 'Valérie', 'Vanessa', 'Victoria', 'Virginie', 'Viviane', 'Véronique',
|
|
|
60 |
'Yolande', 'Yvette', 'Yvonne',
|
|
|
61 |
'Zoé',
|
|
|
62 |
];
|
|
|
63 |
|
|
|
64 |
/**
|
|
|
65 |
* @see http://blog.tagesanzeiger.ch/datenblog/index.php/6859
|
|
|
66 |
*/
|
|
|
67 |
protected static $lastName = [
|
|
|
68 |
'Aebischer', 'Aeby', 'Andrey', 'Aubert', 'Aubry',
|
|
|
69 |
'Bachmann', 'Baechler', 'Baeriswyl', 'Barbey', 'Barras', 'Baumann', 'Baumgartner', 'Berger', 'Bernard', 'Berset', 'Bersier', 'Berthoud', 'Besson', 'Blanc', 'Blaser', 'Boillat', 'Bonvin', 'Bourquin', 'Bruchez', 'Brunner', 'Brügger', 'Buchs', 'Bugnon', 'Burri', 'Bühler',
|
|
|
70 |
'Castella', 'Cattin', 'Chappuis', 'Chapuis', 'Chassot', 'Chatelain', 'Chevalley', 'Chollet', 'Christen', 'Clerc', 'Clément', 'Constantin', 'Crausaz',
|
|
|
71 |
'Da Silva', 'Darbellay', 'Demierre', 'dos Santos', 'Droz', 'Dubois', 'Dubuis', 'Duc', 'Dévaud',
|
|
|
72 |
'Egger', 'Emery',
|
|
|
73 |
'Fasel', 'Favre', 'Fellay', 'Fernandes', 'Fernandez', 'Ferreira', 'Fischer', 'Fleury', 'Flückiger', 'Fournier', 'Fragnière', 'Froidevaux',
|
|
|
74 |
'Gaillard', 'Garcia', 'Gasser', 'Gay', 'Geiser', 'Genoud', 'Gerber', 'Gilliéron', 'Girard', 'Girardin', 'Giroud', 'Glauser', 'Golay', 'Gonzalez', 'Graf', 'Grand', 'Grandjean', 'Gremaud', 'Grosjean', 'Gross', 'Guex', 'Guignard',
|
|
|
75 |
'Hofer', 'Hofmann', 'Huber', 'Huguenin', 'Héritier',
|
|
|
76 |
'Jaccard', 'Jacot', 'Jaquet', 'Jaquier', 'Jeanneret', 'Jordan', 'Jungo', 'Junod',
|
|
|
77 |
'Kaufmann', 'Keller', 'Kohler', 'Kolly', 'Kunz',
|
|
|
78 |
'Lachat', 'Lambert', 'Lehmann', 'Leuba', 'Leuenberger', 'Liechti', 'Lopez', 'Lüthi',
|
|
|
79 |
'Maeder', 'Magnin', 'Maillard', 'Maret', 'Marti', 'Martin', 'Martinez', 'Matthey', 'Maurer', 'Mauron', 'Mayor', 'Meier', 'Meyer', 'Meylan', 'Michaud', 'Michel', 'Monnet', 'Monney', 'Monnier', 'Morand', 'Morard', 'Morel', 'Moret', 'Moser', 'Muller', 'Müller',
|
|
|
80 |
'Neuhaus', 'Nguyen', 'Nicolet',
|
|
|
81 |
'Oberson',
|
|
|
82 |
'Pache', 'Pasche', 'Pasquier', 'Pereira', 'Perez', 'Perrenoud', 'Perret', 'Perrin', 'Perroud', 'Pfister', 'Piguet', 'Piller', 'Pilloud', 'Pittet', 'Pochon',
|
|
|
83 |
'Racine', 'Rey', 'Reymond', 'Richard', 'Robert', 'Rochat', 'Rodrigues', 'Rodriguez', 'Roduit', 'Rosset', 'Rossier', 'Roth', 'Rouiller', 'Roulin', 'Roy', 'Ruffieux',
|
|
|
84 |
'Savary', 'Schaller', 'Schmid', 'Schmidt', 'Schmutz', 'Schneider', 'Schwab', 'Seydoux', 'Simon', 'Stalder', 'Stauffer', 'Steiner', 'Studer', 'Suter',
|
|
|
85 |
'Tissot',
|
|
|
86 |
'Vaucher', 'Vonlanthen', 'Vuilleumier',
|
|
|
87 |
'Waeber', 'Weber', 'Wenger', 'Widmer', 'Wyss',
|
|
|
88 |
'Zbinden', 'Zimmermann',
|
|
|
89 |
];
|
|
|
90 |
|
|
|
91 |
/**
|
|
|
92 |
* Generates a valid random AVS13 (swiss social security) number
|
|
|
93 |
*
|
|
|
94 |
* This function will generate a valid random AVS13 number and return it
|
|
|
95 |
* as a formatted string.
|
|
|
96 |
*
|
|
|
97 |
* @see https://www.zas.admin.ch/zas/fr/home/partenaires-et-institutions-/navs13.html
|
|
|
98 |
*
|
|
|
99 |
* @return string
|
|
|
100 |
*/
|
|
|
101 |
public static function avs13()
|
|
|
102 |
{
|
|
|
103 |
$p = [
|
|
|
104 |
756,
|
|
|
105 |
self::numerify('####'),
|
|
|
106 |
self::numerify('####'),
|
|
|
107 |
self::numerify('#'),
|
|
|
108 |
];
|
|
|
109 |
|
|
|
110 |
$checksum = \Faker\Calculator\Ean::checksum(implode('', $p));
|
|
|
111 |
|
|
|
112 |
return sprintf('%s.%s.%s.%s%s', $p[0], $p[1], $p[2], $p[3], $checksum);
|
|
|
113 |
}
|
|
|
114 |
}
|