R/es_ES.R

# person ------------------------------------
person_es_ES = R6Class(
  "person_es_ES",
  inherit = person_en_US,
  cloneable = FALSE,
  private = list(
    formats_male = c(
      '{first_name_male} {last_name} {last_name}',
      '{first_name_male} {last_name} {last_name}',
      '{first_name_male} {last_name} {last_name}',
      '{first_name_male} {last_name} {last_name}',
      '{first_name_male} {last_name} {last_name}',
      '{first_name_male} {last_name} {last_name}',
      '{first_name_male} {last_name}',
      '{first_name_male} {prefix} {last_name}',
      '{first_name_male} {last_name}-{last_name}',
      '{first_name_male} {first_name_male} {last_name} {last_name}'),

    formats_female = c(
      '{first_name_female} {last_name} {last_name}',
      '{first_name_female} {last_name} {last_name}',
      '{first_name_female} {last_name} {last_name}',
      '{first_name_female} {last_name} {last_name}',
      '{first_name_female} {last_name} {last_name}',
      '{first_name_female} {last_name} {last_name}',
      '{first_name_female} {last_name}',
      '{first_name_female} {prefix} {last_name}',
      '{first_name_female} {last_name}-{last_name}',
      '{first_name_female} {first_name_female} {last_name} {last_name}'),

    formats = c(
      '{first_name_male} {last_name} {last_name}',
      '{first_name_male} {last_name} {last_name}',
      '{first_name_male} {last_name} {last_name}',
      '{first_name_male} {last_name} {last_name}',
      '{first_name_male} {last_name} {last_name}',
      '{first_name_male} {last_name} {last_name}',
      '{first_name_male} {last_name}',
      '{first_name_male} {prefix} {last_name}',
      '{first_name_male} {last_name}-{last_name}',
      '{first_name_male} {first_name_male} {last_name} {last_name}',

      '{first_name_female} {last_name} {last_name}',
      '{first_name_female} {last_name} {last_name}',
      '{first_name_female} {last_name} {last_name}',
      '{first_name_female} {last_name} {last_name}',
      '{first_name_female} {last_name} {last_name}',
      '{first_name_female} {last_name} {last_name}',
      '{first_name_female} {last_name}',
      '{first_name_female} {prefix} {last_name}',
      '{first_name_female} {last_name}-{last_name}',
      '{first_name_female} {first_name_female} {last_name} {last_name}'),

    first_names_male = c(
      "Antonio",
      "Jose",
      "Manuel",
      "Francisco",
      "Juan",
      "David",
      "Jose Antonio",
      "Jose Luis",
      "Javier",
      "Jes\u00fas",
      "Francisco Javier",
      "Daniel",
      "Carlos",
      "Miguel",
      "Rafael",
      "Jose Manuel",
      "Alejandro",
      "Pedro",
      "\u00c1ngel",
      "Miguel \u00e1ngel",
      "Jose Maria",
      "Fernando",
      "Lu\u00eds",
      "Pablo",
      "Sergio",
      "Jorge",
      "Alberto",
      "Juan Carlos",
      "Juan Jos\u00e9",
      "Diego",
      "Alvaro",
      "Adri\u00e1n",
      "Juan Antonio",
      "Enrique",
      "Raul",
      "Ramon",
      "Vicente",
      "Ivan",
      "Ruben",
      "Andr\u00e9s",
      "Joaquin",
      "\u00d3scar",
      "Juan Manuel",
      "Santiago",
      "Eduardo",
      "Victor",
      "Roberto",
      "Jaime",
      "Francisco Jose",
      "Ignacio",
      "Mario",
      "Alfonso",
      "Salvador",
      "Ricardo",
      "Jordi",
      "Marcos",
      "Emilio",
      "Julian",
      "Julio",
      "Guillermo",
      "Tom\u00e1s",
      "Gabriel",
      "Agust\u00edn",
      "Jose Miguel",
      "Felix",
      "Jose Ramon",
      "Gonzalo",
      "Marc",
      "Mohamed",
      "Joan",
      "Hugo",
      "Ismael",
      "Cristian",
      "Nicol\u00e1s",
      "Mariano",
      "Josep",
      "Domingo",
      "Samuel",
      "Juan Francisco",
      "Alfredo",
      "Sebastian",
      "Aitor",
      "Jose Carlos",
      "Martin",
      "Felipe",
      "Cesar",
      "Hector",
      "Jose Angel",
      "Jose Ignacio",
      "Victor Manuel",
      "Gregorio",
      "Luis Miguel",
      "Iker",
      "Jose Francisco",
      "Juan Luis",
      "Albert",
      "Lorenzo",
      "Alex",
      "Xavier",
      "Rodrigo"
    ),

    first_names_female = c(
      "Mar\u00eda",
      "Carmen",
      "Ana",
      "Isabel",
      "Dolores",
      "Pilar",
      "Josefa",
      "Teresa",
      "Rosa",
      "Cristina",
      "\u00c1ngeles",
      "Antonia",
      "Laura",
      "Francisca",
      "Elena",
      "Mercedes",
      "Luisa",
      "Marta",
      "Concepci\u00f3n",
      "Rosario",
      "Luc\u00eda",
      "Juana",
      "Manuela",
      "Sara",
      "Paula",
      "Raquel",
      "Beatriz",
      "Eva",
      "Patricia",
      "Victoria",
      "Rocio",
      "Encarnacion",
      "Julia",
      "Belen",
      "Silvia",
      "Esther",
      "Andrea",
      "Montserrat",
      "Nuria",
      "Angela",
      "Irene",
      "Inmaculada",
      "M\u00f3nica",
      "Sandra",
      "Margarita",
      "Yolanda",
      "Alba",
      "Sonia",
      "Alicia",
      "Mar",
      "Susana",
      "Marina",
      "Amparo",
      "Natalia",
      "Nieves",
      "Gloria",
      "Claudia",
      "Soledad",
      "Ines",
      "Lourdes",
      "Ver\u00f3nica",
      "Carolina",
      "Luz",
      "Consuelo",
      "Noelia",
      "Asunci\u00f3n",
      "Lorena",
      "Sofia",
      "Milagros",
      "Catalina",
      "Esperanza",
      "Olga",
      "Alejandra",
      "Carla",
      "Emilia",
      "F\u00e1tima",
      "Aurora",
      "Blanca",
      "Magdalena",
      "Miriam",
      "Lidia",
      "Nerea",
      "Clara",
      "Daniela",
      "Anna",
      "Celia",
      "Elisa",
      "Eugenia",
      "Josefina",
      "Virginia",
      "Purificaci\u00f3n",
      "Vanesa",
      "Remedios",
      "Trinidad",
      "Gema",
      "Adriana",
      "Vicenta",
      "Mireia",
      "Bego\u00f1a"
    ),

    first_names = c(
      "Antonio",
      "Jose",
      "Manuel",
      "Francisco",
      "Juan",
      "David",
      "Jose Antonio",
      "Jose Luis",
      "Javier",
      "Jes\u00fas",
      "Francisco Javier",
      "Daniel",
      "Carlos",
      "Miguel",
      "Rafael",
      "Jose Manuel",
      "Alejandro",
      "Pedro",
      "\u00c1ngel",
      "Miguel \u00e1ngel",
      "Jose Maria",
      "Fernando",
      "Lu\u00eds",
      "Pablo",
      "Sergio",
      "Jorge",
      "Alberto",
      "Juan Carlos",
      "Juan Jos\u00e9",
      "Diego",
      "Alvaro",
      "Adri\u00e1n",
      "Juan Antonio",
      "Enrique",
      "Raul",
      "Ramon",
      "Vicente",
      "Ivan",
      "Ruben",
      "Andr\u00e9s",
      "Joaquin",
      "\u00d3scar",
      "Juan Manuel",
      "Santiago",
      "Eduardo",
      "Victor",
      "Roberto",
      "Jaime",
      "Francisco Jose",
      "Ignacio",
      "Mario",
      "Alfonso",
      "Salvador",
      "Ricardo",
      "Jordi",
      "Marcos",
      "Emilio",
      "Julian",
      "Julio",
      "Guillermo",
      "Tom\u00e1s",
      "Gabriel",
      "Agust\u00edn",
      "Jose Miguel",
      "Felix",
      "Jose Ramon",
      "Gonzalo",
      "Marc",
      "Mohamed",
      "Joan",
      "Hugo",
      "Ismael",
      "Cristian",
      "Nicol\u00e1s",
      "Mariano",
      "Josep",
      "Domingo",
      "Samuel",
      "Juan Francisco",
      "Alfredo",
      "Sebastian",
      "Aitor",
      "Jose Carlos",
      "Martin",
      "Felipe",
      "Cesar",
      "Hector",
      "Jose Angel",
      "Jose Ignacio",
      "Victor Manuel",
      "Gregorio",
      "Luis Miguel",
      "Iker",
      "Jose Francisco",
      "Juan Luis",
      "Albert",
      "Lorenzo",
      "Alex",
      "Xavier",
      "Rodrigo",
      "Mar\u00eda",
      "Carmen",
      "Ana",
      "Isabel",
      "Dolores",
      "Pilar",
      "Josefa",
      "Teresa",
      "Rosa",
      "Cristina",
      "\u00c1ngeles",
      "Antonia",
      "Laura",
      "Francisca",
      "Elena",
      "Mercedes",
      "Luisa",
      "Marta",
      "Concepci\u00f3n",
      "Rosario",
      "Luc\u00eda",
      "Juana",
      "Manuela",
      "Sara",
      "Paula",
      "Raquel",
      "Beatriz",
      "Eva",
      "Patricia",
      "Victoria",
      "Rocio",
      "Encarnacion",
      "Julia",
      "Belen",
      "Silvia",
      "Esther",
      "Andrea",
      "Montserrat",
      "Nuria",
      "Angela",
      "Irene",
      "Inmaculada",
      "M\u00f3nica",
      "Sandra",
      "Margarita",
      "Yolanda",
      "Alba",
      "Sonia",
      "Alicia",
      "Mar",
      "Susana",
      "Marina",
      "Amparo",
      "Natalia",
      "Nieves",
      "Gloria",
      "Claudia",
      "Soledad",
      "Ines",
      "Lourdes",
      "Ver\u00f3nica",
      "Carolina",
      "Luz",
      "Consuelo",
      "Noelia",
      "Asunci\u00f3n",
      "Lorena",
      "Sofia",
      "Milagros",
      "Catalina",
      "Esperanza",
      "Olga",
      "Alejandra",
      "Carla",
      "Emilia",
      "F\u00e1tima",
      "Aurora",
      "Blanca",
      "Magdalena",
      "Miriam",
      "Lidia",
      "Nerea",
      "Clara",
      "Daniela",
      "Anna",
      "Celia",
      "Elisa",
      "Eugenia",
      "Josefina",
      "Virginia",
      "Purificaci\u00f3n",
      "Vanesa",
      "Remedios",
      "Trinidad",
      "Gema",
      "Adriana",
      "Vicenta",
      "Mireia",
      "Bego\u00f1a"
    ),

    last_names = c(
      "Abad",
      "Abascal",
      "Abella",
      "Abell\u00e1n",
      "Abril",
      "Acedo",
      "Acero",
      "Acevedo",
      "Acosta",
      "Acu\u00f1a",
      "Adadia",
      "Ad\u00e1n",
      "Aguado",
      "Agudo",
      "Aguilar",
      "Aguilera",
      "Aguil\u00f3",
      "Aguirre",
      "Agullo",
      "Agust\u00ed",
      "Agust\u00edn",
      "Alarc\u00f3n",
      "Alba",
      "Alberdi",
      "Albero",
      "Alberola",
      "Alberto",
      "Alcalde",
      "Alcal\u00e1",
      "Alcaraz",
      "Alcolea",
      "Alc\u00e1ntara",
      "Alc\u00e1zar",
      "Alegre",
      "Alegria",
      "Alemany",
      "Alem\u00e1n",
      "Alfaro",
      "Alfonso",
      "Aliaga",
      "Aller",
      "Almagro",
      "Almansa",
      "Almaz\u00e1n",
      "Almeida",
      "Alonso",
      "Alsina",
      "Alvarado",
      "Alvarez",
      "Amador",
      "Amat",
      "Amaya",
      "Amig\u00f3",
      "Amo",
      "Amor",
      "Amores",
      "Amor\u00f3s",
      "Anaya",
      "Andrade",
      "Andres",
      "Andreu",
      "Andr\u00e9s",
      "Anglada",
      "Anguita",
      "Angulo",
      "Ant\u00f3n",
      "Ant\u00fanez",
      "Aparicio",
      "Aragon\u00e9s",
      "Arag\u00f3n",
      "Aramburu",
      "Arana",
      "Aranda",
      "Araujo",
      "Arce",
      "Arco",
      "Arcos",
      "Arellano",
      "Arenas",
      "Arias",
      "Ariza",
      "Ari\u00f1o",
      "Arjona",
      "Armas",
      "Armengol",
      "Arnaiz",
      "Arnal",
      "Arnau",
      "Aroca",
      "Arranz",
      "Arregui",
      "Arribas",
      "Arrieta",
      "Arroyo",
      "Arteaga",
      "Artigas",
      "Ar\u00e9valo",
      "Asenjo",
      "Asensio",
      "Atienza",
      "Avil\u00e9s",
      "Ayala",
      "Ayll\u00f3n",
      "Ayuso",
      "Azcona",
      "Aznar",
      "Azorin",
      "Bad\u00eda",
      "Baena",
      "Baeza",
      "Balaguer",
      "Ballester",
      "Ballesteros",
      "Baquero",
      "Barba",
      "Barbero",
      "Barber\u00e1",
      "Barcel\u00f3",
      "Barco",
      "Barrag\u00e1n",
      "Barral",
      "Barranco",
      "Barreda",
      "Barrena",
      "Barrera",
      "Barriga",
      "Barrio",
      "Barrios",
      "Barros",
      "Barroso",
      "Bartolom\u00e9",
      "Bar\u00f3",
      "Bar\u00f3n",
      "Bas",
      "Bastida",
      "Batalla",
      "Batlle",
      "Bautista",
      "Bauz\u00e0",
      "Bayo",
      "Bayona",
      "Bay\u00f3n",
      "Ba\u00f1os",
      "Becerra",
      "Bejarano",
      "Belda",
      "Bellido",
      "Bello",
      "Belmonte",
      "Beltran",
      "Beltr\u00e1n",
      "Benavent",
      "Benavente",
      "Benavides",
      "Benet",
      "Benitez",
      "Benito",
      "Ben\u00edtez",
      "Berenguer",
      "Bermejo",
      "Bermudez",
      "Berm\u00fadez",
      "Bernad",
      "Bernal",
      "Bernat",
      "Berrocal",
      "Bertr\u00e1n",
      "Bilbao",
      "Blanca",
      "Blanch",
      "Blanco",
      "Blanes",
      "Blasco",
      "Blazquez",
      "Bl\u00e1zquez",
      "Boada",
      "Boix",
      "Bola\u00f1os",
      "Bonet",
      "Bonilla",
      "Borja",
      "Borrego",
      "Borrell",
      "Borr\u00e1s",
      "Bosch",
      "Botella",
      "Bou",
      "Bravo",
      "Briones",
      "Bru",
      "Buend\u00eda",
      "Bueno",
      "Burgos",
      "Busquets",
      "Bustamante",
      "Bustos",
      "B\u00e1ez",
      "B\u00e1rcena",
      "Caballero",
      "Cabanillas",
      "Caba\u00f1as",
      "Cabello",
      "Cabeza",
      "Cabezas",
      "Cabo",
      "Cabrera",
      "Cabrero",
      "Cadenas",
      "Cal",
      "Calatayud",
      "Calderon",
      "Calder\u00f3n",
      "Calleja",
      "Calvet",
      "Calvo",
      "Calzada",
      "Camacho",
      "Camino",
      "Campillo",
      "Campo",
      "Campos",
      "Campoy",
      "Camps",
      "Canales",
      "Canals",
      "Canet",
      "Cano",
      "Cantero",
      "Cant\u00f3n",
      "Caparr\u00f3s",
      "Capdevila",
      "Carbajo",
      "Carballo",
      "Carbonell",
      "Carb\u00f3",
      "Cardona",
      "Carlos",
      "Carmona",
      "Carnero",
      "Caro",
      "Carpio",
      "Carranza",
      "Carrasco",
      "Carrera",
      "Carreras",
      "Carretero",
      "Carre\u00f1o",
      "Carrillo",
      "Carri\u00f3n",
      "Carro",
      "Carvajal",
      "Casado",
      "Casal",
      "Casals",
      "Casanova",
      "Casanovas",
      "Casares",
      "Casas",
      "Cases",
      "Casta\u00f1eda",
      "Castej\u00f3n",
      "Castell",
      "Castellanos",
      "Castells",
      "Castell\u00f3",
      "Castilla",
      "Castillo",
      "Castrillo",
      "Castro",
      "Catal\u00e1",
      "Catal\u00e1n",
      "Cazorla",
      "Ca\u00f1as",
      "Ca\u00f1ellas",
      "Ca\u00f1ete",
      "Ca\u00f1izares",
      "Cepeda",
      "Cerd\u00e1",
      "Cerd\u00e1n",
      "Cerezo",
      "Cerro",
      "Cervantes",
      "Cervera",
      "Chac\u00f3n",
      "Chamorro",
      "Chaparro",
      "Chaves",
      "Checa",
      "Chico",
      "Cid",
      "Cifuentes",
      "Cisneros",
      "Clavero",
      "Clemente",
      "Cobo",
      "Cobos",
      "Coca",
      "Codina",
      "Coello",
      "Coll",
      "Collado",
      "Colom",
      "Coloma",
      "Colomer",
      "Comas",
      "Company",
      "Conde",
      "Conesa",
      "Contreras",
      "Corbacho",
      "Cordero",
      "Cornejo",
      "Corominas",
      "Coronado",
      "Corral",
      "Correa",
      "Cortes",
      "Cortina",
      "Cort\u00e9s",
      "Costa",
      "Crespi",
      "Crespo",
      "Criado",
      "Cruz",
      "Cuadrado",
      "Cuenca",
      "Cuervo",
      "Cuesta",
      "Cueto",
      "Cuevas",
      "Cu\u00e9llar",
      "C\u00e1ceres",
      "C\u00e1mara",
      "C\u00e1novas",
      "C\u00e1rdenas",
      "C\u00e9spedes",
      "C\u00f3rdoba",
      "C\u00f3zar",
      "Dalmau",
      "Daza",
      "Delgado",
      "Diaz",
      "Diego",
      "Diez",
      "Di\u00e9guez",
      "Domingo",
      "Dominguez",
      "Dom\u00e9nech",
      "Dom\u00ednguez",
      "Donaire",
      "Donoso",
      "Duarte",
      "Due\u00f1as",
      "Duque",
      "Duran",
      "Dur\u00e1n",
      "D\u00e1vila",
      "D\u00edaz",
      "D\u00edez",
      "Echevarr\u00eda",
      "Echeverr\u00eda",
      "Egea",
      "Elorza",
      "El\u00edas",
      "Enr\u00edquez",
      "Escalona",
      "Escamilla",
      "Escobar",
      "Escolano",
      "Escribano",
      "Escriv\u00e1",
      "Escudero",
      "Espada",
      "Esparza",
      "Espa\u00f1a",
      "Espa\u00f1ol",
      "Espejo",
      "Espinosa",
      "Esteban",
      "Esteve",
      "Estevez",
      "Estrada",
      "Est\u00e9vez",
      "Exposito",
      "Exp\u00f3sito",
      "Fabra",
      "Fabregat",
      "Fajardo",
      "Falc\u00f3",
      "Falc\u00f3n",
      "Farr\u00e9",
      "Feijoo",
      "Feliu",
      "Fernandez",
      "Fern\u00e1ndez",
      "Ferrando",
      "Ferrer",
      "Ferrera",
      "Ferreras",
      "Ferrero",
      "Ferr\u00e1n",
      "Ferr\u00e1ndez",
      "Ferr\u00e1ndiz",
      "Figueras",
      "Figueroa",
      "Figuerola",
      "Fiol",
      "Flor",
      "Flores",
      "Folch",
      "Fonseca",
      "Font",
      "Fortuny",
      "Franch",
      "Francisco",
      "Franco",
      "Frutos",
      "Fr\u00edas",
      "Fuente",
      "Fuentes",
      "Fuertes",
      "Fuster",
      "F\u00e1bregas",
      "Gabald\u00f3n",
      "Galan",
      "Galiano",
      "Galindo",
      "Gallardo",
      "Gallart",
      "Gallego",
      "Gallo",
      "Galvez",
      "Galv\u00e1n",
      "Gal\u00e1n",
      "Garay",
      "Garcia",
      "Garc\u00e9s",
      "Garc\u00eda",
      "Gargallo",
      "Garmendia",
      "Garrido",
      "Garriga",
      "Garz\u00f3n",
      "Gasc\u00f3n",
      "Gaya",
      "Gelabert",
      "Gibert",
      "Gil",
      "Gilabert",
      "Gimenez",
      "Gimeno",
      "Gim\u00e9nez",
      "Giner",
      "Giralt",
      "Girona",
      "Gir\u00f3n",
      "Gisbert",
      "Godoy",
      "Goicoechea",
      "Gomez",
      "Gomila",
      "Gomis",
      "Gonzalez",
      "Gonzalo",
      "Gonz\u00e1lez",
      "Gordillo",
      "Go\u00f1i",
      "Gracia",
      "Granados",
      "Grande",
      "Gras",
      "Grau",
      "Gual",
      "Guardia",
      "Guardiola",
      "Guerra",
      "Guerrero",
      "Guijarro",
      "Guillen",
      "Guill\u00e9n",
      "Guitart",
      "Gutierrez",
      "Guti\u00e9rrez",
      "Guzman",
      "Guzm\u00e1n",
      "G\u00e1lvez",
      "G\u00e1mez",
      "G\u00e1rate",
      "G\u00f3mez",
      "Haro",
      "Heras",
      "Heredia",
      "Hernandez",
      "Hernando",
      "Hern\u00e1ndez",
      "Herranz",
      "Herrera",
      "Herrero",
      "Hervia",
      "Herv\u00e1s",
      "Hidalgo",
      "Hierro",
      "Higueras",
      "Hoyos",
      "Hoz",
      "Huerta",
      "Huertas",
      "Huguet",
      "Hurtado",
      "Ibarra",
      "Iba\u00f1ez",
      "Iborra",
      "Ib\u00e1\u00f1ez",
      "Iglesia",
      "Iglesias",
      "Infante",
      "Iniesta",
      "Iriarte",
      "Isern",
      "Izaguirre",
      "Izquierdo",
      "I\u00f1iguez",
      "Jara",
      "Jaume",
      "Ja\u00e9n",
      "Jerez",
      "Jimenez",
      "Jim\u00e9nez",
      "Jord\u00e1",
      "Jord\u00e1n",
      "Jove",
      "Jover",
      "Juan",
      "Juli\u00e1",
      "Juli\u00e1n",
      "Jurado",
      "Ju\u00e1rez",
      "J\u00e1uregui",
      "J\u00f3dar",
      "Lago",
      "Laguna",
      "Lamas",
      "Landa",
      "Lara",
      "Larra\u00f1aga",
      "Larrea",
      "Lasa",
      "Lastra",
      "Leal",
      "Ledesma",
      "Leiva",
      "Leon",
      "Lerma",
      "Le\u00f3n",
      "Lillo",
      "Linares",
      "Llabr\u00e9s",
      "Llad\u00f3",
      "Llamas",
      "Llano",
      "Llanos",
      "Lled\u00f3",
      "Llobet",
      "Llopis",
      "Llorens",
      "Llorente",
      "Lloret",
      "Lluch",
      "Lobato",
      "Lobo",
      "Lopez",
      "Lorenzo",
      "Losa",
      "Losada",
      "Lozano",
      "Lucas",
      "Lucena",
      "Luj\u00e1n",
      "Lumbreras",
      "Luna",
      "Luque",
      "Luz",
      "Lu\u00eds",
      "L\u00f3pez",
      "Machado",
      "Macias",
      "Mac\u00edas",
      "Madrid",
      "Madrigal",
      "Maestre",
      "Maldonado",
      "Malo",
      "Mancebo",
      "Manj\u00f3n",
      "Manrique",
      "Manso",
      "Manuel",
      "Manzanares",
      "Manzano",
      "Marco",
      "Marcos",
      "Marin",
      "Mariscal",
      "Mari\u00f1o",
      "Marquez",
      "Marqu\u00e9s",
      "Marti",
      "Martin",
      "Martinez",
      "Martorell",
      "Mart\u00ed",
      "Mart\u00edn",
      "Mart\u00ednez",
      "Mar\u00ed",
      "Mar\u00edn",
      "Mas",
      "Mascar\u00f3",
      "Mata",
      "Matas",
      "Mate",
      "Mateo",
      "Mateos",
      "Mateu",
      "Mayo",
      "Mayol",
      "Mayoral",
      "Maza",
      "Medina",
      "Melero",
      "Mel\u00e9ndez",
      "Mena",
      "Mendez",
      "Mendiz\u00e1bal",
      "Mendoza",
      "Menendez",
      "Men\u00e9ndez",
      "Mercader",
      "Merino",
      "Mesa",
      "Miguel",
      "Milla",
      "Mill\u00e1n",
      "Mir",
      "Miralles",
      "Miranda",
      "Mir\u00f3",
      "Moles",
      "Molina",
      "Moliner",
      "Molins",
      "Moll",
      "Monreal",
      "Montalb\u00e1n",
      "Monta\u00f1a",
      "Montenegro",
      "Montero",
      "Montes",
      "Montesinos",
      "Montoya",
      "Montserrat",
      "Mora",
      "Moraleda",
      "Morales",
      "Morante",
      "Morata",
      "Morcillo",
      "Morell",
      "Moreno",
      "Morera",
      "Morillo",
      "Mor\u00e1n",
      "Mosquera",
      "Moya",
      "Mulet",
      "Mur",
      "Murcia",
      "Murillo",
      "Muro",
      "Mu\u00f1oz",
      "M\u00e1rmol",
      "M\u00e1rquez",
      "M\u00e9ndez",
      "M\u00ednguez",
      "M\u00fagica",
      "M\u00fa\u00f1iz",
      "Nadal",
      "Naranjo",
      "Narv\u00e1ez",
      "Navarrete",
      "Navarro",
      "Navas",
      "Nebot",
      "Neira",
      "Nevado",
      "Nicolau",
      "Nicol\u00e1s",
      "Nieto",
      "Ni\u00f1o",
      "Nogueira",
      "Noguera",
      "Nogu\u00e9s",
      "Noriega",
      "Novoa",
      "Nu\u00f1ez",
      "N\u00fa\u00f1ez",
      "Oca\u00f1a",
      "Ochoa",
      "Ojeda",
      "Oliva",
      "Olivares",
      "Oliver",
      "Olivera",
      "Oliveras",
      "Oliv\u00e9",
      "Oller",
      "Olmedo",
      "Olmo",
      "Ord\u00f3\u00f1ez",
      "Orozco",
      "Ortega",
      "Ortiz",
      "Ortu\u00f1o",
      "Osorio",
      "Osuna",
      "Otero",
      "Pablo",
      "Pacheco",
      "Padilla",
      "Pag\u00e8s",
      "Palacio",
      "Palacios",
      "Palau",
      "Pallar\u00e8s",
      "Palma",
      "Palmer",
      "Palomar",
      "Palomares",
      "Palomino",
      "Palomo",
      "Paniagua",
      "Pardo",
      "Paredes",
      "Pareja",
      "Parejo",
      "Parra",
      "Pascual",
      "Pastor",
      "Pati\u00f1o",
      "Pav\u00f3n",
      "Paz",
      "Pazos",
      "Pedraza",
      "Pedrero",
      "Pedro",
      "Pedrosa",
      "Peinado",
      "Peir\u00f3",
      "Pelayo",
      "Pellicer",
      "Pel\u00e1ez",
      "Pera",
      "Peral",
      "Perales",
      "Peralta",
      "Perea",
      "Pereira",
      "Perell\u00f3",
      "Perera",
      "Perez",
      "Pe\u00f1a",
      "Pe\u00f1alver",
      "Pe\u00f1as",
      "Pi",
      "Pina",
      "Pineda",
      "Pinedo",
      "Pinilla",
      "Pino",
      "Pinto",
      "Pintor",
      "Piquer",
      "Pizarro",
      "Pi\u00f1a",
      "Pi\u00f1eiro",
      "Pi\u00f1ol",
      "Pla",
      "Plana",
      "Planas",
      "Plaza",
      "Pol",
      "Polo",
      "Pomares",
      "Pombo",
      "Ponce",
      "Pons",
      "Pont",
      "Porcel",
      "Porras",
      "Porta",
      "Portero",
      "Portillo",
      "Posada",
      "Pou",
      "Poza",
      "Pozo",
      "Pozuelo",
      "Prada",
      "Prado",
      "Prat",
      "Prats",
      "Priego",
      "Prieto",
      "Puente",
      "Puerta",
      "Puga",
      "Puig",
      "Pujadas",
      "Pujol",
      "Pulido",
      "P\u00e1ez",
      "P\u00e9rez",
      "Quero",
      "Querol",
      "Quesada",
      "Quevedo",
      "Quintana",
      "Quintanilla",
      "Quintero",
      "Quiroga",
      "Quir\u00f3s",
      "Ramirez",
      "Ramis",
      "Ramos",
      "Ram\u00edrez",
      "Ram\u00f3n",
      "Raya",
      "Real",
      "Rebollo",
      "Recio",
      "Redondo",
      "Reguera",
      "Reig",
      "Reina",
      "Requena",
      "Revilla",
      "Rey",
      "Reyes",
      "Riba",
      "Ribas",
      "Ribera",
      "Ribes",
      "Ricart",
      "Rico",
      "Riera",
      "Rinc\u00f3n",
      "Rios",
      "Ripoll",
      "Riquelme",
      "Rius",
      "Rivas",
      "Rivera",
      "Rivero",
      "Robledo",
      "Robles",
      "Roca",
      "Rocamora",
      "Rocha",
      "Roda",
      "Rodrigo",
      "Rodriguez",
      "Rodr\u00edguez",
      "Roig",
      "Rojas",
      "Roldan",
      "Rold\u00e1n",
      "Roma",
      "Roman",
      "Romero",
      "Romeu",
      "Rom\u00e1n",
      "Ropero",
      "Ros",
      "Rosa",
      "Rosado",
      "Rosales",
      "Rosell",
      "Rosell\u00f3",
      "Rossell\u00f3",
      "Roura",
      "Rovira",
      "Royo",
      "Rozas",
      "Ruano",
      "Rubio",
      "Rueda",
      "Ruiz",
      "R\u00edo",
      "R\u00edos",
      "R\u00f3denas",
      "Saavedra",
      "Sabater",
      "Sacrist\u00e1n",
      "Saez",
      "Sainz",
      "Sala",
      "Salamanca",
      "Salas",
      "Salazar",
      "Salcedo",
      "Salda\u00f1a",
      "Sales",
      "Salgado",
      "Salinas",
      "Salmer\u00f3n",
      "Salom",
      "Salvador",
      "Salv\u00e0",
      "Samper",
      "Sanabria",
      "Sanchez",
      "Sancho",
      "Sandoval",
      "Sanjuan",
      "Sanmart\u00edn",
      "Sanmiguel",
      "Sans",
      "Santamaria",
      "Santamar\u00eda",
      "Santana",
      "Santiago",
      "Santos",
      "Sanz",
      "Sarabia",
      "Sarmiento",
      "Sastre",
      "Saura",
      "Sebasti\u00e1n",
      "Seco",
      "Sedano",
      "Segarra",
      "Segovia",
      "Segura",
      "Segu\u00ed",
      "Serna",
      "Serra",
      "Serrano",
      "Sevilla",
      "Sevillano",
      "Sierra",
      "Silva",
      "Sim\u00f3",
      "Sobrino",
      "Sola",
      "Solana",
      "Solano",
      "Soler",
      "Solera",
      "Solsona",
      "Sol\u00e9",
      "Sol\u00eds",
      "Somoza",
      "Soria",
      "Soriano",
      "Sosa",
      "Sotelo",
      "Soto",
      "Suarez",
      "Sureda",
      "Su\u00e1rez",
      "S\u00e1enz",
      "S\u00e1ez",
      "S\u00e1nchez",
      "Taboada",
      "Talavera",
      "Tamarit",
      "Tamayo",
      "Tapia",
      "Tejada",
      "Tejedor",
      "Tejera",
      "Tejero",
      "Tello",
      "Tena",
      "Tenorio",
      "Terr\u00f3n",
      "Teruel",
      "Tirado",
      "Toledo",
      "Tolosa",
      "Tomas",
      "Tom\u00e1s",
      "Tom\u00e9",
      "Tormo",
      "Toro",
      "Torralba",
      "Torre",
      "Torrecilla",
      "Torrens",
      "Torrent",
      "Torrents",
      "Torres",
      "Torrijos",
      "Tovar",
      "Trillo",
      "Trujillo",
      "Tudela",
      "Tur",
      "T\u00e9llez",
      "Ugarte",
      "Ure\u00f1a",
      "Uriarte",
      "Uribe",
      "Urrutia",
      "Ur\u00eda",
      "Valbuena",
      "Valc\u00e1rcel",
      "Valderrama",
      "Vald\u00e9s",
      "Valencia",
      "Valenciano",
      "Valent\u00edn",
      "Valenzuela",
      "Valera",
      "Valero",
      "Vall",
      "Valle",
      "Vallejo",
      "Valls",
      "Vall\u00e9s",
      "Valverde",
      "Vaquero",
      "Vara",
      "Varela",
      "Vargas",
      "Vazquez",
      "Vega",
      "Velasco",
      "Vel\u00e1zquez",
      "Vendrell",
      "Vera",
      "Verdejo",
      "Verdugo",
      "Verd\u00fa",
      "Vergara",
      "Viana",
      "Vicens",
      "Vicente",
      "Vidal",
      "Vigil",
      "Vila",
      "Vilalta",
      "Vilanova",
      "Vilaplana",
      "Vilar",
      "Villa",
      "Villalba",
      "Villalobos",
      "Villalonga",
      "Villanueva",
      "Villar",
      "Villaverde",
      "Villegas",
      "Villena",
      "Vives",
      "Vizca\u00edno",
      "Vi\u00f1a",
      "Vi\u00f1as",
      "V\u00e1zquez",
      "V\u00e9lez",
      "Yuste",
      "Y\u00e1\u00f1ez",
      "Zabala",
      "Zabaleta",
      "Zamora",
      "Zamorano",
      "Zapata",
      "Zaragoza",
      "Zorrilla",
      "Zurita",
      "\u00c1guila",
      "\u00c1lamo",
      "\u00c1lvarez",
      "\u00c1lvaro",
      "\u00c1ngel",
      "\u00c1vila"
    ),

    prefixes = c('de', 'del')
  )
)

# address -----------------------------
address_es_ES = R6Class(
  "address_es_ES",
  inherit = address_es,
  cloneable = FALSE,
  private = list(
    first_names = (person_es_ES$new())$.__enclos_env__$private$first_names,
    last_names = (person_es_ES$new())$.__enclos_env__$private$last_names,
    first_name = (person_es_ES$new())$first_name,
    last_name = (person_es_ES$new())$last_name,

    building_number_formats = c('%', '%#', '%#', '%#', '%##'),
    street_prefixes = c(
      "Plaza",
      "Calle",
      "Avenida",
      "Via",
      "Vial",
      "Rambla",
      "Glorieta",
      "Urbanizaci\u00f3n",
      "Callej\u00f3n",
      "Ca\u00f1ada",
      "Alameda",
      "Acceso",
      "C.",
      "Ronda",
      "Pasaje",
      "Cuesta",
      "Pasadizo",
      "Paseo",
      "Camino"
    ),

    postcode_formats = c('#####'),
    states = c(
      "\u00c1lava",
      "Albacete",
      "Alicante",
      "Almer\u00eda",
      "Asturias",
      "\u00c1vila",
      "Badajoz",
      "Baleares",
      "Barcelona",
      "Burgos",
      "C\u00e1ceres",
      "C\u00e1diz",
      "Cantabria",
      "Castell\u00f3n",
      "Ceuta",
      "Ciudad",
      "C\u00f3rdoba",
      "Cuenca",
      "Girona",
      "Granada",
      "Guadalajara",
      "Guip\u00fazcoa",
      "Huelva",
      "Huesca",
      "Ja\u00e9n",
      "La Coru\u00f1a",
      "La Rioja",
      "Las Palmas",
      "Le\u00f3n",
      "Lleida",
      "Lugo",
      "Madrid",
      "M\u00e1laga",
      "Melilla",
      "Murcia",
      "Navarra",
      "Ourense",
      "Palencia",
      "Pontevedra",
      "Salamanca",
      "Santa Cruz de Tenerife",
      "Segovia",
      "Sevilla",
      "Soria",
      "Tarragona",
      "Teruel",
      "Toledo",
      "Valencia",
      "Valladolid",
      "Vizcaya",
      "Zamora",
      "Zaragoza"
    ),

    city_formats = '{state_name}',

    street_name_formats = c(
      '{street_prefix} {first_name} {last_name}',
      '{street_prefix} de {first_name} {last_name}'),

    street_address_formats = c(
      '{street_name} {building_number}',
      '{street_name} {building_number} {secondary_address}'),

    address_formats = "{street_address}\n{city}, {postcode}",

    secondary_address_formats = c('Apt. ##', 'Piso #', 'Puerta #')
  ),

  public = list(
    state_name = function(){
      return(private$random_element(private$states))
    },

    street_prefix = function(){
      return(private$random_element(private$street_prefixes))
    },

    secondary_address = function(){
      return(private$numerify(private$random_element(
        private$secondary_address_formats)))
    },

    state = function(){
      return(private$random_element(private$states))
    }

  )
)

# phone_number ------------------------
phone_number_es_ES = R6Class(
  "phone_number_es_ES",
  inherit = phone_number_init,
  cloneable = FALSE,
  private = list(
    formats = c(
      '+34 ### ### ###',
      '+34 #########',
      '+34 ### ## ## ##',
      '+34### ### ###',
      '+34#########',
      '+34### ## ## ##'
    )
  )
)
# ssn -----------------------------
ssn_es_ES = R6Class(
  "ssn_es_ES",
  inherit = ssn_init,
  cloneable = FALSE,
  private = list(
    # A Faker provider for the Spanish VAT IDs and DOIs
    vat_id_formats = c(
      'ES?########',
      'ES########?',
      'ES?#######?'
    ),

    calculate_control_doi = function(doi) {
      # Calculate the letter that corresponds to the end of a DOI
      # :param doi: calculated value so far needing a control character
      # :return: DOI control character

      lookup = c(
        'T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F',
        'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S',
        'Q', 'V', 'H', 'L', 'C', 'K', 'E'
      )
      return(lookup[(as.integer(doi) %% 23) + 1])
    },

    calculate_control_cif = function(cif) {
      # Calculate the letter that corresponds to the end of a CIF
      # :param cif: calculated value so far needing a control character
      # :return: CIF control character
      # Code was converted from the minified js of: https://generadordni.es/
      temp1 = 0
      cif = str_split(cif, "")[[1]]

      first_chr = cif[1]
      cif_value = cif[2 : length(cif)]
      for (i in seq(cif_value)) {
        char = cif_value[i]
        if (i %% 2){
          temp2 = str_split(as.integer(char)*2, "")[[1]]
          temp1 = sum(temp1, as.integer(temp2))
        } else {
          temp1 = temp1 + as.integer(char)
        }
      }
      if (temp1 > 10) {
        temp1 = as.integer(str_sub(temp1, -1, -1))
      }
      temp1 = 10 - (temp1 %% 10)

      letters1 = c('F', 'J', 'K', 'N', 'P', 'Q',
                   'R', 'S', 'U', 'V', 'W')
      letters2 = c('A', 'B', 'C', 'D', 'E',
                   'G', 'H', 'L', 'M')
      if (first_chr %in% letters1){
        return(str_count(64 + temp1))
      } else {
        if (first_chr %in% letters2) {
          temp1 = ifelse(temp1 == 10, 0, temp1)
          return(temp1)
        } else {
          return(private$calculate_control_doi(cif))
        }

      }
    }
  ),
  public = list(
    vat_id = function(){
      # http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
      # :return: a random Spanish VAT ID
      return(private$bothify(private$random_element(private$vat_id_formats)))
    },

    nie = function() {
      # https://es.wikipedia.org/wiki/N%C3%BAmero_de_identidad_de_extranjero
      # :return: a random Spanish NIE
      first_chr = sample(seq(0, 2), 1)
      doi_body = sprintf("%07d", round(runif(1, min = 0, max = 9999999)))
      control = private$calculate_control_doi(
        str_c(first_chr, doi_body)
      )
      temp = str_c(c("X", "Y", "Z")[first_chr + 1],
                   doi_body, control, collapse = "")
      return(temp)
    },

    nif = function(){
      # https://es.wikipedia.org/wiki/N%C3%BAmero_de_identificaci%C3%B3n_fiscal
      # :return: NIF

      # generate a number of a maximum of 8 characters long
      nie_body = round(runif(1, min = 0, max = 99999999))
      temp = sprintf("%08d", nie_body)
      temp = str_c(temp, private$calculate_control_doi(as.character(nie_body)))
      return(temp)
    },

    cif = function(){
      # https://es.wikipedia.org/wiki/C%C3%B3digo_de_identificaci%C3%B3n_fiscal
      # :return: a random Spanish CIF
      letters = c(
        'A', 'B', 'C', 'D', 'E', 'F',
        'G', 'H', 'J', 'N', 'P', 'Q',
        'R', 'S', 'U', 'V', 'W'
      )
      first_chr = sample(letters, 1)
      doi_body = sprintf("%07d", round(runif(1, min = 0, max = 9999999)))
      cif = str_c(first_chr, doi_body)
      return(str_c(cif, private$calculate_control_cif(cif)))
    },

    doi = function() {
      # https://es.wikipedia.org/wiki/Identificador_de_objeto_digital
      # :return: a random Spanish CIF or NIE or NIF
      choices = sample(c("self$cif", "self$nie", "self$nif"), 1)
      temp = eval(parse(text = choices))
      return(temp())
    }
  )
)
# company ---------------------------------
company_es_ES = R6Class(
  "company_es_ES",
  inherit = company_en_US,
  cloneable = FALSE,
  private = list(
    first_names = (person_es_ES$new())$.__enclos_env__$private$first_names,
    last_names = (person_es_ES$new())$.__enclos_env__$private$last_names,

    first_name = (person_es_ES$new())$first_name,
    last_name = (person_es_ES$new())$last_name
  )
)
## credit_card -----------------
credit_card_es_ES = R6Class(
  "credit_card_es_ES",
  inherit = credit_card_init,
  cloneable = FALSE,
  private = list(
    first_names = (person_es_ES$new())$.__enclos_env__$private$first_names,
    first_name = (person_es_ES$new())$first_name,
    last_names = (person_es_ES$new())$.__enclos_env__$private$last_names,
    last_name = (person_es_ES$new())$last_name
  )
)

## profile ------------------
profile_es_ES = R6Class(
  "profile_es_ES",
  inherit = profile_init,
  cloneable = FALSE,
  public = list(
    simple_profile = function(sex) {
      # Generates a basic profile with personal informations
      SEX = c("F", "M")
      if (missing(sex)) {
        sex = sample(SEX, 1)
      }
      if (!(sex %in% SEX)) {
        sex = sample(SEX, 1)
      }

      name = ifelse(sex == "F",
                    (person_es_ES$new())$name_female(),
                    (person_es_ES$new())$name_male())
      temp = list(
        "username" = (internet_en_US$new())$user_name(),
        "name" = name,
        "sex" = sex,
        "address" = (address_es_ES$new())$address(),
        "mail" = (internet_en_US$new())$free_email(),
        "birthdate" = (date_time_init$new())$date_of_birth()
      )
      return(temp)
    },

    profile = function(fields, sex) {
      # Generates a complete profile.
      # If "fields" is not empty, only the fields in the list will be returned

      if (missing(fields)) fields = c()

      field = list(
        "job" = (job_init$new())$job(),
        "company" = (company_es_ES$new())$company(),
        "ssn" = (ssn_es_ES$new())$ssn(),
        "residence" = (address_es_ES$new())$address(),
        "current_location" = c((geo_init$new())$latitude(),
                               (geo_init$new())$longitude()),
        "blood_group" = sample(c(
          "A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"), 1),
        "website" = replicate(sample(seq(4), 1), (internet_en_US$new())$url())
      )

      field = append(field, self$simple_profile(sex))
      # field selection

      if (length(fields)) {
        nms = intersect(names(field), fields)
        field = field[nms]
      }
      return(field)
    }

  )
)
LuYang19/faker documentation built on Jan. 3, 2020, 12:07 a.m.