From 68de54a28c8499bbaf2d1ce3df21dd358fa6d51a Mon Sep 17 00:00:00 2001 From: Eric Meisel Date: Wed, 15 Jul 2020 22:24:33 -0500 Subject: [PATCH] es instances --- src/main/resources/es.conf | 5 ++ src/main/resources/es/address.conf | 53 +++++++++++++++ src/main/resources/es/company.conf | 27 ++++++++ src/main/resources/es/internet.conf | 4 ++ src/main/resources/es/name.conf | 29 +++++++++ src/main/resources/es/phone.conf | 4 ++ src/main/resources/es_MX.conf | 5 ++ src/main/resources/es_MX/address.conf | 71 +++++++++++++++++++++ src/main/resources/es_MX/company.conf | 17 +++++ src/main/resources/es_MX/internet.conf | 4 ++ src/main/resources/es_MX/name.conf | 24 +++++++ src/main/resources/es_MX/phone.conf | 30 +++++++++ src/main/scala/faker/Faker.scala | 2 + src/main/scala/faker/ResourceLoader.scala | 2 + src/main/scala/faker/StringGenBuilder.scala | 13 ++++ src/main/scala/faker/SupportedLocales.scala | 2 + src/test/scala/faker/FakerSpec_es.scala | 7 ++ src/test/scala/faker/FakerSpec_es_MX.scala | 7 ++ 18 files changed, 306 insertions(+) create mode 100644 src/main/resources/es.conf create mode 100644 src/main/resources/es/address.conf create mode 100644 src/main/resources/es/company.conf create mode 100644 src/main/resources/es/internet.conf create mode 100644 src/main/resources/es/name.conf create mode 100644 src/main/resources/es/phone.conf create mode 100644 src/main/resources/es_MX.conf create mode 100644 src/main/resources/es_MX/address.conf create mode 100644 src/main/resources/es_MX/company.conf create mode 100644 src/main/resources/es_MX/internet.conf create mode 100644 src/main/resources/es_MX/name.conf create mode 100644 src/main/resources/es_MX/phone.conf create mode 100644 src/test/scala/faker/FakerSpec_es.scala create mode 100644 src/test/scala/faker/FakerSpec_es_MX.scala diff --git a/src/main/resources/es.conf b/src/main/resources/es.conf new file mode 100644 index 00000000..d6cd65ea --- /dev/null +++ b/src/main/resources/es.conf @@ -0,0 +1,5 @@ +include "es/address.conf" +include "es/name.conf" +include "es/company.conf" +include "es/internet.conf" +include "es/phone.conf" diff --git a/src/main/resources/es/address.conf b/src/main/resources/es/address.conf new file mode 100644 index 00000000..846f6ef0 --- /dev/null +++ b/src/main/resources/es/address.conf @@ -0,0 +1,53 @@ +include "name.conf" + +address { + postal-code-builder = {options = [{parts = [{type = "string-part", value = "#####"}]}]} + city-prefixes = [Parla, Telde, Baracaldo, San Fernando, Torrevieja, Lugo, Santiago de Compostela, Gerona, Cáceres, Lorca, Coslada, Talavera de la Reina, El Puerto de Santa María, Cornellá de Llobregat, Avilés, Palencia, Gecho, Orihuela, Pontevedra, Pozuelo de Alarcón, Toledo, El Ejido, Guadalajara, Gandía, Ceuta, Ferrol, Chiclana de la Frontera, Manresa, Roquetas de Mar, Ciudad Real, Rubí, Benidorm, San Sebastían de los Reyes, Ponferrada, Zamora, Alcalá de Guadaira, Fuengirola, Mijas, Sanlúcar de Barrameda, La Línea de la Concepción, Majadahonda, Sagunto, El Prat de LLobregat, Viladecans, Linares, Alcoy, Irún, Estepona, Torremolinos, Rivas-Vaciamadrid, Molina de Segura, Paterna, Granollers, Santa Lucía de Tirajana, Motril, Cerdañola del Vallés, Arrecife, Segovia, Torrelavega, Elda, Mérida, Ávila, Valdemoro, Cuenta, Collado Villalba, Benalmádena, Mollet del Vallés, Puertollano, Madrid, Barcelona, Valencia, Sevilla, Zaragoza, Málaga, Murcia, Palma de Mallorca, Las Palmas de Gran Canaria, Bilbao, Córdoba, Alicante, Valladolid, Vigo, Gijón, Hospitalet de LLobregat, La Coruña, Granada, Vitoria, Elche, Santa Cruz de Tenerife, Oviedo, Badalona, Cartagena, Móstoles, Jerez de la Frontera, Tarrasa, Sabadell, Alcalá de Henares, Pamplona, Fuenlabrada, Almería, San Sebastián, Leganés, Santander, Burgos, Castellón de la Plana, Alcorcón, Albacete, Getafe, Salamanca, Huelva, Logroño, Badajoz, San Cristróbal de la Laguna, León, Tarragona, Cádiz, Lérida, Marbella, Mataró, Dos Hermanas, Santa Coloma de Gramanet, Jaén, Algeciras, Torrejón de Ardoz, Orense, Alcobendas, Reus, Calahorra, Inca] + city-builder = {options = [{parts = [{type = "seq-string-part", value = ${address.city-prefixes}}]}]} + states = [ + {type = "state", abbr = And, name = Andalucía, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Ara, name = Aragón, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Ast, name = Principado de Asturias, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Bal, name = Baleares, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Can, name = Canarias, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Cbr, name = Cantabria, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Man, name = Castilla-La Mancha, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Leo, name = Castilla y León, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Cat, name = Cataluña, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Com, name = Comunidad Valenciana, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Ext, name = Extremadura, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Gal, name = Galicia, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Rio, name = La Rioja, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Mad, name = Comunidad de Madrid, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Nav, name = Navarra, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Vas, name = País Vasco, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = Mur, name = Región de Murcia, postal-code-builder = ${address.postal-code-builder}} + ] + street-suffixes = [Aldea, Apartamento, Arrabal, Arroyo, Avenida, Bajada, Barranco, Barrio, Bloque, Calle, Calleja, Camino, Carretera, Caserio, Colegio, Colonia, Conjunto, Cuesta, Chalet, Edificio, Entrada, Escalinata, Explanada, Extramuros, Extrarradio, Ferrocarril, Glorieta, Gran Subida, Grupo, Huerta, Jardines, Lado, Lugar, Manzana, Masía, Mercado, Monte, Muelle, Municipio, Parcela, Parque, Partida, Pasaje, Paseo, Plaza, Poblado, Polígono, Prolongación, Puente, Puerta, Quinta, Ramal, Rambla, Rampa, Riera, Rincón, Ronda, Rua, Salida, Sector, Sección, Senda, Solar, Subida, Terrenos, Torrente, Travesía, Urbanización, Vía, Vía Pública] + street-name-builder = { + options = [ + {parts = [{type = "seq-string-part", value = ${address.street-suffixes}, suffix = " "}, {type = "seq-string-part", value = ${name.first.names}}]}, + {parts = [{type = "seq-string-part", value = ${address.street-suffixes}, suffix = " "}, {type = "seq-string-part", value = ${name.first.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}}]} + ] + } + building-numbers = [" s/n.", ", #", ", ##", " #", " ##"] + secondary-addresses = ["Esc. ###", "Puerta ###"] + street-address-builder = { + options = [ + {parts = [{type = "string-builder-part", value = ${address.street-name-builder}}, {type = "seq-string-part", value = ${address.building-numbers}}]}, + {parts = [{type = "string-builder-part", value = ${address.street-name-builder}}, {type = "seq-string-part", value = ${address.building-numbers}, suffix = " "}, {type = "seq-string-part", value = ${address.secondary-addresses}}]} + ] + } + full-address-builder = { + options = [ + { + parts = [ + {type = "string-builder-part", value = ${address.street-address-builder}, suffix = ", "}, + {type = "string-builder-part", value = ${address.postal-code-builder}, suffix = " "}, + {type = "string-builder-part", value = ${address.city-builder}} + ] + } + ] + } + default-countries = [{code = "ES", name = "España"}] +} \ No newline at end of file diff --git a/src/main/resources/es/company.conf b/src/main/resources/es/company.conf new file mode 100644 index 00000000..9eb25cfe --- /dev/null +++ b/src/main/resources/es/company.conf @@ -0,0 +1,27 @@ +include "name.conf" +include "address.conf" + +company { + suffixes = [S.L., e Hijos, S.A., Hermanos] + + company-name-builder = { + options = [ + {parts = [{type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${company.suffixes}}]}, + {parts = [{type = "seq-string-part", value = ${name.last.names}, suffix = " y "}, {type = "seq-string-part", value = ${name.last.names}}]}, + {parts = [{type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${company.suffixes}}]}, + {parts = [{type = "seq-string-part", value = ${name.last.names}, suffix = ", "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " y "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " Asociados"}]} + ] + } + + buzz-words1 = ["habilidad", "acceso", "adaptador", "algoritmo", "alianza", "analista", "aplicación", "enfoque", "arquitectura", "archivo", "inteligencia artificial", "array", "actitud", "medición", "gestión presupuestaria", "capacidad", "desafío", "circuito", "colaboración", "complejidad", "concepto", "conglomeración", "contingencia", "núcleo", "fidelidad", "base de datos", "data-warehouse", "definición", "emulación", "codificar", "encriptar", "extranet", "firmware", "flexibilidad", "focus group", "previsión", "base de trabajo", "función", "funcionalidad", "Interfaz Gráfica", "groupware", "Interfaz gráfico de usuario", "hardware", "Soporte", "jerarquía", "conjunto", "implementación", "infraestructura", "iniciativa", "instalación", "conjunto de instrucciones", "interfaz", "intranet", "base del conocimiento", "red de area local", "aprovechar", "matrices", "metodologías", "middleware", "migración", "modelo", "moderador", "monitorizar", "arquitectura abierta", "sistema abierto", "orquestar", "paradigma", "paralelismo", "política", "portal", "estructura de precios", "proceso de mejora", "producto", "productividad", "proyecto", "proyección", "protocolo", "línea segura", "software", "solución", "estandardización", "estrategia", "estructura", "éxito", "superestructura", "soporte", "sinergia", "mediante", "marco de tiempo", "caja de herramientas", "utilización", "website", "fuerza de trabajo"] + buzz-words2 = ["24 horas", "24/7", "3rd generación", "4th generación", "5th generación", "6th generación", "analizada", "asimétrica", "asíncrona", "monitorizada por red", "bidireccional", "bifurcada", "generada por el cliente", "cliente servidor", "coherente", "cohesiva", "compuesto", "sensible al contexto", "basado en el contexto", "basado en contenido", "dedicada", "generado por la demanda", "didactica", "direccional", "discreta", "dinámica", "potenciada", "acompasada", "ejecutiva", "explícita", "tolerante a fallos", "innovadora", "amplio ábanico", "global", "heurística", "alto nivel", "holística", "homogénea", "hibrida", "incremental", "intangible", "interactiva", "intermedia", "local", "logística", "maximizada", "metódica", "misión crítica", "móbil", "modular", "motivadora", "multimedia", "multiestado", "multitarea", "nacional", "basado en necesidades", "neutral", "nueva generación", "no-volátil", "orientado a objetos", "óptima", "optimizada", "radical", "tiempo real", "recíproca", "regional", "escalable", "secundaria", "orientada a soluciones", "estable", "estatica", "sistemática", "sistémica", "tangible", "terciaria", "transicional", "uniforme", "valor añadido", "vía web", "defectos cero", "tolerancia cero"] + buzz-words3 = ["Adaptativo", "Avanzado", "Asimilado", "Automatizado", "Equilibrado", "Centrado en el negocio", "Centralizado", "Clonado", "Compatible", "Configurable", "Multi grupo", "Multi plataforma", "Centrado en el usuario", "Configurable", "Descentralizado", "Digitalizado", "Distribuido", "Diverso", "Reducido", "Mejorado", "Para toda la empresa", "Ergonomico", "Exclusivo", "Expandido", "Extendido", "Cara a cara", "Enfocado", "Totalmente configurable", "Fundamental", "Orígenes", "Horizontal", "Implementado", "Innovador", "Integrado", "Intuitivo", "Inverso", "Gestionado", "Obligatorio", "Monitorizado", "Multi canal", "Multi lateral", "Multi capa", "En red", "Orientado a objetos", "Open-source", "Operativo", "Optimizado", "Opcional", "Organico", "Organizado", "Perseverando", "Persistente", "en fases", "Polarizado", "Pre-emptivo", "Proactivo", "Enfocado a benficios", "Profundo", "Programable", "Progresivo", "Public-key", "Enfocado en la calidad", "Reactivo", "Realineado", "Re-contextualizado", "Re-implementado", "Reducido", "Ingenieria inversa", "Robusto", "Fácil", "Seguro", "Auto proporciona", "Compartible", "Intercambiable", "Sincronizado", "Orientado a equipos", "Total", "Universal", "Mejorado", "Actualizable", "Centrado en el usuario", "Amigable", "Versatil", "Virtual", "Visionario"] + buzz-words = ${company.buzz-words1} [] ${company.buzz-words2} [] ${company.buzz-words3} + catch-phrase-builder = { + options = [ + {parts = [{type = "seq-string-part", value = ${company.buzz-words1}, suffix = " "}, {type = "seq-string-part", value = ${company.buzz-words2}, suffix = " "}, {type = "seq-string-part", value = ${company.buzz-words3}}]} + ] + } + industries = ["Defensa", "Equipo de Cómputo", "Software", "Redes", "Internet", "Semiconductores", "Telecomunicaciones", "Despacho de Abogados", "Servicos Legales", "Consultoría en Administración", "Biotecnología", "Clínica", "Hospitales y Cuidado Médico", "Farmacéutica", "Veterinaria", "Dispositivos Médicos", "Cosméticos", "Moda", "Equipo Deportivo", "Tabaco", "Supermercados", "Elaboración de Comida", "Electrodomésticos", "Bienes", "Muebles", "Retail", "Entretenimiento", "Juegos y Apuestas", "Viajes y Turismo", "Hospitalidad", "Restaurantes", "Deportes", "Comida y Bebida", "Cine", "Broadcast Media", "Museos e Instituciones", "Bellas Artes", "Artes Escénicas", "Banca", "Seguros", "Servicios Financieros", "Bienes Raíces", "Banca de Inversión", "Manejo de Inversiones", "Contabilidad", "Construcción", "Materiales de Construcción", "Arquitectura", "Ingeniería Civil", "Aeroespacial", "Automotriz", "Química", "Maquinaria", "Minería y Metales", "Petróleo y Energía", "Construcción de Barcos", "Servicios", "Textiles", "Papel", "Ferrocarriles", "Agricultura", "Ganadería", "Lácteos", "Pesca", "Educación Basica", "Educación Media Superior", "Administración de Educación", "Investigación", "Militar", "Asamblea Legislativa", "Juzgado", "Relaciones Internacionales", "Gobierno", "Dirección General", "Policía", "Seguridad Pública", "Política Pública", "Marketing", "Periódicos", "Publicaciones", "Imprenta", "Tecnologías de Información", "Bibliotecas", "Medio Ambiente", "Paquetería y Mensajería", "Servicios Familiares", "Instituciones Religiosas", "Sociedad Civil", "Servicios del Consumidor", "Transportes", "Almacenamiento", "Líneas Aéreas", "Marítimo", "Investigación de Mercado", "Relaciones Públicas", "Diseño", "Sin Fines de Lucro", "Recaudación", "Edición", "Staffing y Reclutamiento", "Coaching", "VC", "Partidos Políticos", "Traducciones", "Juegos de Cómputo", "Planeación de Eventos", "Artes y Manualidades", "Manufactura Eléctrica/Electrónica", "Medios Online", "Nanotecnología", "Música", "Logística y Supply Chain", "Plásticos", "Seguridad de Cómputo y Redes", "Inalámbrico", "Outsourcing / Offshoring", "Bienestar y Salud", "Medicina Alternativa", "Producción de Medios", "Animación", "Bienes Raíces Comerciales", "Mercados Capitales", "Filantropía", "E-Learning", "Mayoreo", "Importaciones y Exportaciones", "Ingeniería Mecánica e Industrial", "Fotografía", "Recursos Humanos", "Equipo de Oficina", "Cuidado de la Salud Mental", "Diseño Gráfico", "Desarrollo y Comercio Exterior", "Vinos y Licores", "Joyería y Bienes de Lujo", "Renovables y Medio Ambiente", "Vidrios y Cerámicos", "Almacenamiento y Contenedores", "Automatización Industrial", "Relaciones Gubernamentales"] + professions = ["maestro", "actor", "músico", "filósofo", "escritor", "doctor", "contador", "agricultor", "arquitecto", "economista", "ingeniero", "intérprete", "abogado", "bibliotecario", "actuario", "recursos humanos", "bombero", "juez", "policía", "astrónomo", "biólogo", "químico", "físico", "programador", "desarrollador web", "diseñador"] +} \ No newline at end of file diff --git a/src/main/resources/es/internet.conf b/src/main/resources/es/internet.conf new file mode 100644 index 00000000..90569a05 --- /dev/null +++ b/src/main/resources/es/internet.conf @@ -0,0 +1,4 @@ +internet { + domain-suffixes = [com, es, info, com.es, org] + free-email-domains = [gmail.com, yahoo.com, hotmail.com] +} \ No newline at end of file diff --git a/src/main/resources/es/name.conf b/src/main/resources/es/name.conf new file mode 100644 index 00000000..e1319099 --- /dev/null +++ b/src/main/resources/es/name.conf @@ -0,0 +1,29 @@ +name { + first { + male-names = [Adán, Agustín, Alberto, Alejandro, Alfonso, Alfredo, Andrés, Antonio, Armando, Arturo, Benito, Benjamín, Bernardo, Carlos, César, Claudio, Clemente, Cristian, Cristobal, Daniel, David, Diego, Eduardo, Emilio, Enrique, Ernesto, Esteban, Federico, Felipe, Fernando, Francisco, Gabriel, Gerardo, Germán, Gilberto, Gonzalo, Gregorio, Guillermo, Gustavo, Hernán, Homero, Horacio, Hugo, Ignacio, Jacobo, Jaime, Javier, Jerónimo, Jesús, Joaquín, Jorge, Jorge Luis, José, José Eduardo, José Emilio, José Luis, José María, Juan, Juan Carlos, Julio, Julio César, Lorenzo, Lucas, Luis, Luis Miguel, Manuel, Marco Antonio, Marcos, Mariano, Mario, Martín, Mateo, Miguel, Miguel Ángel, Nicolás, Octavio, Óscar, Pablo, Patricio, Pedro, Rafael, Ramiro, Ramón, Raúl, Ricardo, Roberto, Rodrigo, Rubén, Salvador, Samuel, Sancho, Santiago, Sergio, Teodoro, Timoteo, Tomás, Vicente, Víctor] + female-names = [Adela, Adriana, Alejandra, Alicia, Amalia, Ana, Ana Luisa, Ana María, Andrea, Anita, Ángela, Antonia, Ariadna, Barbara, Beatriz, Berta, Blanca, Caridad, Carla, Carlota, Carmen, Carolina, Catalina, Cecilia, Clara, Claudia, Concepción, Conchita, Cristina, Daniela, Débora, Diana, Dolores, Lola, Dorotea, Elena, Elisa, Eloisa, Elsa, Elvira, Emilia, Esperanza, Estela, Ester, Eva, Florencia, Francisca, Gabriela, Gloria, Graciela, Guadalupe, Guillermina, Inés, Irene, Isabel, Isabela, Josefina, Juana, Julia, Laura, Leonor, Leticia, Lilia, Lorena, Lourdes, Lucia, Luisa, Luz, Magdalena, Manuela, Marcela, Margarita, María, María del Carmen, María Cristina, María Elena, María Eugenia, María José, María Luisa, María Soledad, María Teresa, Mariana, Maricarmen, Marilu, Marisol, Marta, Mayte, Mercedes, Micaela, Mónica, Natalia, Norma, Olivia, Patricia, Pilar, Ramona, Raquel, Rebeca, Reina, Rocio, Rosa, Rosalia, Rosario, Sara, Silvia, Sofia, Soledad, Sonia, Susana, Teresa, Verónica, Victoria, Virginia, Yolanda] + names = ${name.first.male-names} [] ${name.first.female-names} + } + last.names = [Ibañez,De Romaña,Ormeño, Abeyta, Abrego, Abreu, Acevedo, Acosta, Acuña, Adame, Adorno, Agosto, Aguayo, Águilar, Aguilera, Aguirre, Alanis, Alaniz, Alarcón, Alba, Alcala, Alcántar, Alcaraz, Alejandro, Alemán, Alfaro, Alicea, Almanza, Almaraz, Almonte, Alonso, Alonzo, Altamirano, Alva, Alvarado, Alvarez, Amador, Amaya, Anaya, Anguiano, Angulo, Aparicio, Apodaca, Aponte, Aragón, Araña, Aranda, Arce, Archuleta, Arellano, Arenas, Arevalo, Arguello, Arias, Armas, Armendáriz, Armenta, Armijo, Arredondo, Arreola, Arriaga, Arroyo, Arteaga, Atencio, Ávalos, Ávila, Avilés, Ayala, Baca, Badillo, Báez, Baeza, Bahena, Balderas, Ballesteros, Banda, Bañuelos, Barajas, Barela, Barragán, Barraza, Barrera, Barreto, Barrientos, Barrios, Batista, Becerra, Beltrán, Benavides, Benavídez, Benítez, Bermúdez, Bernal, Berríos, Bétancourt, Blanco, Bonilla, Borrego, Botello, Bravo, Briones, Briseño, Brito, Bueno, Burgos, Bustamante, Bustos, Caballero, Cabán, Cabrera, Cadena, Caldera, Calderón, Calvillo, Camacho, Camarillo, Campos, Canales, Candelaria, Cano, Cantú, Caraballo, Carbajal, Cardenas, Cardona, Carmona, Carranza, Carrasco, Carrasquillo, Carreón, Carrera, Carrero, Carrillo, Carrion, Carvajal, Casanova, Casares, Casárez, Casas, Casillas, Castañeda, Castellanos, Castillo, Castro, Cavazos, Cazares, Ceballos, Cedillo, Ceja, Centeno, Cepeda, Cerda, Cervantes, Cervántez, Chacón, Chapa, Chavarría, Chávez, Cintrón, Cisneros, Collado, Collazo, Colón, Colunga, Concepción, Contreras, Cordero, Córdova, Cornejo, Corona, Coronado, Corral, Corrales, Correa, Cortés, Cortez, Cotto, Covarrubias, Crespo, Cruz, Cuellar, Curiel, Dávila, de Anda, de Jesús, Delacrúz, Delafuente, Delagarza, Delao, Delapaz, Delarosa, Delatorre, Deleón, Delgadillo, Delgado, Delrío, Delvalle, Díaz, Domínguez, Domínquez, Duarte, Dueñas, Duran, Echevarría, Elizondo, Enríquez, Escalante, Escamilla, Escobar, Escobedo, Esparza, Espinal, Espino, Espinosa, Espinoza, Esquibel, Esquivel, Estévez, Estrada, Fajardo, Farías, Feliciano, Fernández, Ferrer, Fierro, Figueroa, Flores, Flórez, Fonseca, Franco, Frías, Fuentes, Gaitán, Galarza, Galindo, Gallardo, Gallegos, Galván, Gálvez, Gamboa, Gamez, Gaona, Garay, García, Garibay, Garica, Garrido, Garza, Gastélum, Gaytán, Gil, Girón, Godínez, Godoy, Gómez, Gonzales, González, Gollum, Gracia, Granado, Granados, Griego, Grijalva, Guajardo, Guardado, Guerra, Guerrero, Guevara, Guillen, Gurule, Gutiérrez, Guzmán, Haro, Henríquez, Heredia, Hernádez, Hernandes, Hernández, Herrera, Hidalgo, Hinojosa, Holguín, Huerta, Hurtado, Ibarra, Iglesias, Irizarry, Jaime, Jaimes, Jáquez, Jaramillo, Jasso, Jiménez, Jimínez, Juárez, Jurado, Laboy, Lara, Laureano, Leal, Lebrón, Ledesma, Leiva,Lemus, León, Lerma, Leyva, Limón, Linares, Lira, Llamas, Loera, Lomeli, Longoria, López, Lovato, Loya, Lozada, Lozano, Lucero, Lucio, Luevano, Lugo, Luna, Macías, Madera, Madrid, Madrigal, Maestas, Magaña, Malave, Maldonado, Manzanares, Mares, Marín, Márquez, Marrero, Marroquín, Martínez, Mascareñas, Mata, Mateo, Matías, Matos, Maya, Mayorga, Medina, Medrano, Mejía, Meléndez, Melgar, Mena, Menchaca, Méndez, Mendoza, Menéndez, Meraz, Mercado, Merino, Mesa, Meza, Miramontes, Miranda, Mireles, Mojica, Molina, Mondragón, Monroy, Montalvo, Montañez, Montaño, Montemayor, Montenegro, Montero, Montes, Montez, Montoya, Mora, Morales, Moreno, Mota, Moya, Munguía, Muñiz, Muñoz, Murillo, Muro, Nájera, Naranjo, Narváez, Nava, Navarrete, Navarro, Nazario, Negrete, Negrón, Nevárez, Nieto, Nieves, Niño, Noriega, Núñez, Ocampo, Ocasio, Ochoa, Ojeda, Olivares, Olivas, Olivera, Olivo, Olmos, Olvera, Ontiveros, Oquendo, Ordóñez, Orellana, Ornelas, Orosco, Ormeño, Orozco, Orta, Ortega, Ortiz, Osorio, Otero, Ozuna, Pabón, Pacheco, Padilla, Padrón, Páez, Pagan, Palacios, Palomino, Palomo, Pantoja, Paredes, Parra, Partida, Patiño, Paz, Pedraza, Pedroza, Pelayo, Peña, Perales, Peralta, Perea, Peres, Pérez, Pichardo, Piña, Pineda, Pizarro, Polanco, Ponce, Porras, Portillo, Posada, Prado, Preciado, Prieto, Puente, Puga, Pulido, Quesada, Quezada, Quiñones, Quiñónez, Quintana, Quintanilla, Quintero, Quiroz, Rael, Ramírez, Ramón, Ramos, Rangel, Rascón, Raya, Razo, Regalado, Rendón, Rentería, Reséndez, Reyes, Reyna, Reynoso, Rico, Rincón, Riojas, Ríos, Rivas, Rivera, Rivero, Robledo, Robles, Rocha, Rodarte, Rodrígez, Rodríguez, Rodríquez, Rojas, Rojo, Roldán, Rolón, Romero, Romo, Roque, Rosado, Rosales, Rosario, Rosas, Roybal, Rubio, Ruelas, Ruiz, Saavedra, Sáenz, Saiz, Salas, Salazar, Salcedo, Salcido, Saldaña, Saldivar, Salgado, Salinas, Samaniego, Sanabria, Sanches, Sánchez, Sandoval, Santacruz, Santana, Santiago, Santillán, Sarabia, Sauceda, Saucedo, Sedillo, Segovia, Segura, Sepúlveda, Serna, Serrano, Serrato, Sevilla, Sierra, Sisneros, Solano, Solís, Soliz, Solorio, Solorzano, Soria, Sosa, Sotelo, Soto, Suárez, Tafoya, Tamayo, Tamez, Tapia, Tejada, Tejeda, Téllez, Tello, Terán, Terrazas, Tijerina, Tirado, Toledo, Toro, Torres, Tórrez, Tovar, Trejo, Treviño, Trujillo, Ulibarri, Ulloa, Urbina, Ureña, Urías, Uribe, Urrutia, Vaca, Valadez, Valdés, Valdez, Valdivia, Valencia, Valentín, Valenzuela, Valladares, Valle, Vallejo, Valles, Valverde, Vanegas, Varela, Vargas, Vásquez, Vázquez, Vega, Vela, Velasco, Velásquez, Velázquez, Vélez, Véliz, Venegas, Vera, Verdugo, Verduzco, Vergara, Viera, Vigil, Villa, Villagómez, Villalobos, Villalpando, Villanueva, Villareal, Villarreal, Villaseñor, Villegas, Yáñez, Ybarra, Zambrano, Zamora, Zamudio, Zapata, Zaragoza, Zarate, Zavala, Zayas, Zelaya, Zepeda, Zúñiga] + prefixes = [Sr., Sra., Sta.] + suffixes = [Jr., Sr., I, II, III, IV, V, MD, DDS, PhD, DVM] + title { + descriptors = [Jefe, Senior, Directo, Corporativo, Dinánmico, Futuro, Producto, Nacional, Regional, Distrito, Central, Global, Cliente, Inversor, International, Heredado, Adelante, Interno, Humano, Gerente, Director] + levels = [Soluciones, Programa, Marca, Seguridada, Investigación, Marketing, Normas, Implementación, Integración, Funcionalidad, Respuesta, Paradigma, Tácticas, Identidad, Mercados, Grupo, División, Aplicaciones, Optimización, Operaciones, Infraestructura, Intranet, Comunicaciones, Web, Calidad, Seguro, Mobilidad, Cuentas, Datos, Creativo, Configuración, Contabilidad, Interacciones, Factores, Usabilidad, Métricas] + jobs = [Supervisor, Asociado, Ejecutivo, Relacciones, Oficial, Gerente, Ingeniero, Especialista, Director, Coordinador, Administrador, Arquitecto, Analista, Diseñador, Planificador, Técnico, Funcionario, Desarrollador, Productor, Consultor, Asistente, Facilitador, Agente, Representante, Estratega] + } + full-name-builder = { + options = [ + {parts = [{type = "seq-string-part", value = ${name.prefixes}, suffix = " "}, {type = "seq-string-part", value = ${name.first.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}}]}, + {parts = [{type = "seq-string-part", value = ${name.first.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${name.suffixes}}]}, + {parts = [{type = "seq-string-part", value = ${name.first.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}}], weight = 4}, + ] + } + full-name-with-middle-builder = { + options = [ + {parts = [{type = "seq-string-part", value = ${name.prefixes}, suffix = " "}, {type = "seq-string-part", value = ${name.first.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "},{type = "seq-string-part", value = ${name.last.names}}]}, + {parts = [{type = "seq-string-part", value = ${name.first.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${name.suffixes}}]}, + {parts = [{type = "seq-string-part", value = ${name.first.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}}], weight = 4}, + ] + } +} \ No newline at end of file diff --git a/src/main/resources/es/phone.conf b/src/main/resources/es/phone.conf new file mode 100644 index 00000000..a9888c8a --- /dev/null +++ b/src/main/resources/es/phone.conf @@ -0,0 +1,4 @@ +phone { + phone-number-builder = {options = [{parts = [{type = "seq-string-part", value = ["9##-###-###", "9##.###.###", "9## ### ###", "9########"]}]}]} + cell-number-builder = {options = [{parts = [{type = "seq-string-part", value = ["6##-###-###", "6##.###.###", "6## ### ###", "6########"]}]}]} +} \ No newline at end of file diff --git a/src/main/resources/es_MX.conf b/src/main/resources/es_MX.conf new file mode 100644 index 00000000..fafdf63e --- /dev/null +++ b/src/main/resources/es_MX.conf @@ -0,0 +1,5 @@ +include "es_MX/address.conf" +include "es_MX/name.conf" +include "es_MX/company.conf" +include "es_MX/internet.conf" +include "es_MX/phone.conf" diff --git a/src/main/resources/es_MX/address.conf b/src/main/resources/es_MX/address.conf new file mode 100644 index 00000000..0317ac6a --- /dev/null +++ b/src/main/resources/es_MX/address.conf @@ -0,0 +1,71 @@ +include "name.conf" + +address { + postal-code-builder = {options = [{parts = [{type = "string-part", value = "#####"}]}]} + municipalities = [Abasolo, Acapulco, Actopan, Acuña, Aguascalientes, Ahome, Ahuacatlán, Ahuacuotzingo, Ahuatlan, Alaquines, Altar, Amatlán de Cañas, Angostura, Apan, Apaseo el Alto, Apizaco, Apodaca, Aporo, Aquila, Armería, Arroyo Seco, Arteaga, Asientos, Atenco, Atenguillo, Atolinga, Atzalan, Ayapango, Azcapotzalco, Bacadehuachi, Bacalar, Bacanora, Badiraguato, Benito Juárez, Brise, Buenaventura, Burgos, Bustamante, Cabo Corrientes, Caborca, Calakmul, Calera, Calnali, Calvillo, Camargo, Campeche, Canatlán, Cancún, Candelaria, Cantamayec, Carbo, Carmen, Catorce, Celaya, Centla, Centro, Cerritos, Chalchihuites, Champotón, Chanal, Chapulhuacán, Chapultepec, Chavinda, Chiautempan, Chichiquila, Chicoasen, Chietla, Chihuahua, Chimalhuacán, Choix, Citlaltepetl, Ciudad Madero, Ciudad Valles, Coatzacoalcos, Cocula, Colima, Comala, Comondú, Comonfort, Compostela, Copainala, Copalillo, Copanatoyac, Coquimatlán, Coronango, Cosio, Coyame del Sotol, Coyoacán, Cozumel, Cualac, Cuatro Ciénegas, Cuauhtémoc, Cucurpe, Cuencame, Cuernavaca, Culiacán, Cunduacán, Cárdenas, Doctor Mora, Durango, Dzidzantun, Ecatepec, El Fuerte, El Llano, El Mante, El Marqués, El Naranjo, El Salvador, Emiliano Zapata, Ensenada, Epazoyucan, Epitacio Huerta, Erongaricuaro, Escarcega, Esperanza, Ezequiel Montes, Galeana, Genaro Codina, General Escobedo, González, Gral. Zaragoza, Guachochi, Guadalajara, Guadalupe, Guanacevi, Guerrero, Gómez Palacio, Hecelchakan, Hermosillo, Hocaba, Hopelchen, Huajicori, Hualahuises, Huanimaro, Huayacocotla, Huejucar, Hueyotlipan, Huimilpan, Huixquilucan, Hunucma, Iliatenco, Inde, Irapuato, Irimbo, Isla Mujeres, Ixil, Ixtapaluca, Ixtlahuacán, Ixtlan de Juárez, Ixtlán del Río, Iztacalco, Jalpa de Méndez, Jalpan de Serra, Jamapa, Jesús María, Jiutepec, Jonuta, Juárez, Kaua, La Huerta, La Independencia, La Paz, La Yesca, Las Margaritas, Lazaro Cárdenas, Lerdo, León, Lolotla, Loreto, Los Cabos, Luvianos, López, Magdalena, Manzanillo, Marin, Matamoros, Matehuala, Mazapil, Mazatepec, Mazatlan, Mazatlán, Mecatlan, Melchor Ocampo, Metepec, Metztitlán, Mexicali, Mezquital, Mier y Noriega, Miguel Hidalgo, Milpa Alta, Minatitlán, Miquihuana, Moctezuma, Monclova, Monte Escobedo, Montemorelos, Monterrey, Morelia, Morelos, Moroleón, Mulege, Méndez, Mérida, Nacajuca, Nadadores, Naucalpan, Naupan, Nava, Navolato, Nazareno Etla, Nazas, Nezahualcóyotl, Nombre de Dios, Nuevo Laredo, Nuevo Zoquiapam, Ocampo, Ojinaga, Othón P. Blanco, Oxkutzcab, Palizada, Panuco, Paracuaro, Patzcuaro, Pedro Escobedo, Penjamo, Pinal de Amoles, Poncitlan, Progreso, Puebla, Puente de Ixtla, Queretaro, Querétaro, Rayones, Reynosa, Rincón de Romos, Romita, Rosario, Salamanca, Salinas Victoria, Saltillo, Salto de Agua, San Blas, San Buenaventura, San Carlos, San Ignacio, San Juan, San Juan del Río, San Lorenzo, San Luis Potosí, San Marcos, San Miguel Yotao, San Nicolas, San Nicolás de los Garza, Santa Catarina, Santiago Nuyoo, Santiago Tenango, Saric, Sinaloa, Singuilucan, Solidaridad, Soteapan, Suchiate, Susticacán, Tacotalpa, Tahdziu, Tamazunchale, Tancanhuitz, Tapachula, Tapilula, Taxco de Alarcón, Teapa, Tecamac, Tecate, Tecomán, Tecuala, Temosachic, Tenabo, Tenango del Aire, Tenosique, Teocaltiche, Tepalcingo, Tepezala, Tepic, Tepoztlan, Tetecala, Tetepango, Tijuana, Tlacuilotepec, Tlalchapa, Tlalnepantla, Tlalpan, Tlaquepaque, Tlayacapan, Tocatlan, Tochimilco, Tocumbo, Tolimán, Toluca, Tonalá, Tonatico, Torreón, Totolac, Tulum, Tuxpan, Tuxtla, Umán, Unión Hidalgo, Uruachi, Valladolid, Vanegas, Veracruz, Villa Victoria, Villa de Álvarez, Villa del Carbón, Villahermosa, Xalapa, Xalisco, Xaloztoc, Xico, Xicohtzinco, Xochihuehuetlán, Xochimilco, Xochistlahuaca, Xochitepec, Yauhquemehcan, Yecapixtla, Yogana, Zacatecas, Zacatepec, Zapopan, Zaragoza, Zongolica, Álvaro Obregón] + city-builder = {options = [{parts = [{type = "seq-string-part", value = ${address.municipalities}}]}]} + + states = [ + {type = "state", abbr = AG, name = Aguascalientes, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = BC, name = Baja California Norte, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = BS, name = Baja California Sur, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = CM, name = Campeche, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = CO, name = Coahuila, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = CL, name = Colima, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = CS, name = Chiapas, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = CH, name = Chihuahua, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = DF, name = Ciudad de México, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = DG, name = Durango, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = GT, name = Guanajuato, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = GR, name = Guerrero, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = HG, name = Hidalgo, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = JA, name = Jalisco, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = EM, name = México, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = MI, name = Michoacán, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = MO, name = Morelos, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = NA, name = Nayarit, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = NL, name = Nuevo León, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = OA, name = Oaxaca, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = PU, name = Puebla, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = QT, name = Querétaro, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = QR, name = Quintana Roo, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = SL, name = San Luis Potosí, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = SI, name = Sinaloa, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = SO, name = Sonora, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = TB, name = Tabasco, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = TM, name = Tamaulipas, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = TL, name = Tlaxcala, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = VE, name = Veracruz, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = YU, name = Yucatán, postal-code-builder = ${address.postal-code-builder}}, + {type = "state", abbr = ZA, name = Zacatecas, postal-code-builder = ${address.postal-code-builder}} + ] + street-prefixes = [Arroyo, Avenida, Bajada, Barranco, Calle, Camino, Carretera, Conjunto, Entrada, Escalinata, Explanada, Glorieta, Grupo, Huerta, Jardines, Lago, Manzana, Mercado, Monte, Muelle, Parque, Pasaje, Paseo, Plaza, Privada, Prolongación, Quinta, Rampa, Rincón, Salida, Sector, Subida, Vía] + street-name-builder = { + options = [ + {parts = [{type = "seq-string-part", value = ${address.street-prefixes}, suffix = " "}, {type = "seq-string-part", value = ${name.first.names}}]}, + {parts = [{type = "seq-string-part", value = ${address.street-prefixes}, suffix = " "}, {type = "seq-string-part", value = ${name.first.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}}]}, + {parts = [{type = "seq-string-part", value = ${address.street-prefixes}, suffix = " "}, {type = "seq-state-name-part", value = ${address.states}}]}, + {parts = [{type = "seq-string-part", value = ${address.street-prefixes}, suffix = " "}, {type = "seq-string-part", value = ${address.municipalities}}]} + ] + } + building-numbers = ["S/N", "#", "##", "###", "####", "#####"] + secondary-addresses = ["Apartamento ##", "Departamento ###", "Depto. ###", "Interior ###", "Interior ?#", "Int. #","Piso #", "Piso ##", "#ª Planta", "Planta alta", "Planta baja"] + street-address-builder = { + options = [ + {parts = [{type = "string-builder-part", value = ${address.street-name-builder}}, {type = "seq-string-part", value = ${address.building-numbers}}]}, + {parts = [{type = "string-builder-part", value = ${address.street-name-builder}}, {type = "seq-string-part", value = ${address.building-numbers}, suffix = " "}, {type = "seq-string-part", value = ${address.secondary-addresses}}]} + ] + } + full-address-builder = { + options = [ + { + parts = [ + {type = "string-builder-part", value = ${address.street-address-builder}, suffix = ", "}, + {type = "string-builder-part", value = ${address.postal-code-builder}, suffix = " "}, + {type = "string-builder-part", value = ${address.city-builder}} + ] + } + ] + } + default-countries = [{code = "ES", name = "España"}] +} \ No newline at end of file diff --git a/src/main/resources/es_MX/company.conf b/src/main/resources/es_MX/company.conf new file mode 100644 index 00000000..daa58031 --- /dev/null +++ b/src/main/resources/es_MX/company.conf @@ -0,0 +1,17 @@ +include "name.conf" +include "address.conf" + +company { + suffixes = [S.A., S.A. de C.V., S.R.L, S.A.B., S.C.] + prefixes = [Grupo, Sociedad, Grupo Financiero, Colegio, Fondo] + + company-name-builder = { + options = [ + {parts = [{type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${company.suffixes}}]}, + {parts = [{type = "seq-string-part", value = ${name.prefixes}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${company.suffixes}}]}, + {parts = [{type = "seq-string-part", value = ${name.last.names}, suffix = " y "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${company.suffixes}}]}, + {parts = [{type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${company.suffixes}}]}, + {parts = [{type = "seq-string-part", value = ${name.last.names}, suffix = ", "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " y "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " Asociados "}, {type = "seq-string-part", value = ${company.suffixes}}]} + ] + } +} \ No newline at end of file diff --git a/src/main/resources/es_MX/internet.conf b/src/main/resources/es_MX/internet.conf new file mode 100644 index 00000000..364e712c --- /dev/null +++ b/src/main/resources/es_MX/internet.conf @@ -0,0 +1,4 @@ +internet { + domain-suffixes = [com, com.mx, mx, info, me, org, org.mx] + free-email-domains = [gmail.com, yahoo.com, hotmail.com, prodigy.net.mx] +} \ No newline at end of file diff --git a/src/main/resources/es_MX/name.conf b/src/main/resources/es_MX/name.conf new file mode 100644 index 00000000..ce5a0c22 --- /dev/null +++ b/src/main/resources/es_MX/name.conf @@ -0,0 +1,24 @@ +name { + first.names = [José Luis, Juan, Francisco, José, Antonio, Jesús, Miguel Ángel, Pedro, Alejandro, Manuel, Juan Carlos, Roberto, Jorge, Carlos, Fernando, Ricardo, Miguel, Javier, Martín, Rafael, Raúl, Arturo, Daniel, Eduardo, Enrique, Mario, José Antonio, Sergio, Gerardo, Salvador, Marco Antonio, Alfredo, David, Armando, Alberto, Luis, Óscar, Ramón, Guillermo, Rubén, Jaime, Felipe, Julio César, Andrés, Pablo, Ángel, Gabriel, Héctor, Alfonso, José Guadalupe, Agustín, Ignacio, Víctor, Rogelio, Gustavo, Ernesto, Rodolfo, Luis Alberto, Gilberto, Vicente, Juan Antonio, Tomás, Israel, César, Adrián, Ismael, Santiago, Humberto, Gregorio, Joel, Esteban, José Alfredo, Nicolás, Omar, Moisés, Félix, Lorenzo, Samuel, Carlos Alberto, José Angel, Ramiro, Abel, Jorge Luis, Marcos, Mario Alberto, Rodrigo, Edgar, Isidro, José Alberto, Leonardo, Benjamín, Jorge Alberto, Julio, Raymundo, Víctor Hugo, Saúl, Benito, José Juan, Rigoberto, Hugo, Guadalupe, María, Margarita, Verónica, María Elena, Josefina, Leticia, Teresa, Patricia, Rosa, Martha, Rosa María, Alicia, Yolanda, Francisca, Silvia, Elizabeth, Gloria, Ana María, Gabriela, Alejandra, María Luisa, María de Lourdes, Adriana, Araceli, Antonia, Lucía, Carmen, Irma, Claudia, Beatriz, Isabel, Laura, Maribel, Graciela, Virginia, Catalina, Esperanza, Angélica, Maricela, Cecilia, Susana, Cristina, Julia, Concepción, Victoria, Ofelia, Rocío, Carolina, Raquel, Petra, Lorena, Reyna, Sandra, Paula, Guillermina, Sara, Elvira, Manuela, Marisol, Mónica, Erika, Celia, Luz María, Irene, Magdalena, Estela, Ángela, Rosario, Esther, Eva, Norma, Aurora, Socorro, Consuelo, Lidia, Bertha, Sofía, Dolores, Elena, Rosalba, Liliana, Andrea, Adela, Mariana, Fabiola, Karina, Martina, Marcela, Miriam, Mercedes, Marina, Amalia, Olivia, Angelina, Sonia, Agustina, Edith, Lilia, Micaela] + last.names = [Hernández, García, Martínez, López, González, Rodríguez, Pérez, Sánchez, Ramírez, Cruz, Flores, Gómez, Morales, Vázquez, Reyes, Jímenez, Torres, Díaz, Gutiérrez, Mendoza, Ruiz, Aguilar, Ortiz, Castillo, Moreno, Romero, Álvarez, Chávez, Rivera, Juárez, Ramos, Méndez, Domínguez, Herrera, Medina, Vargas, Castro, Guzmán, Velázquez, Muñoz, Rojas, Contreras, Salazar, Luna, de la Cruz, Ortega, Guerrero, Santiago, Estrada, Bautista, Cortés, Soto, Alvarado, Espinoza, Lara, Ávila, Ríos, Cervantes, Silva, Delgado, Vega, Márquez, Sandoval, Fernández, León, Carrillo, Mejía, Solís, Núñez, Rosas, Valdez, Ibarra, Campos, Santos, Camacho, Peña, Maldonado, Navarro, Rosales, Acosta, Miranda, Trejo, Cabrera, Valencia, Nava, Castañeda, Pacheco, Robles, Molina, Rangel, Fuentes, Huerta, Meza, Aguirre, Cárdenas, Orozco, Padilla, Espinosa, Ayala, Salas, Valenzuela, Zúñiga, Ochoa, Salinas, Mora, Tapia, Serrano, Durán, Olvera, Macías, Zamora, Calderón, Arellano, Suárez, Barrera, Zavala, Villegas, Gallegos, Lozano, Galván, Figueroa, Beltrán, Franco, Villanueva, Sosa, Montes, Andrade, Velasco, Arias, Marín, Corona, Garza, Ponce, Esquivel, Pineda, Alonso, Palacios, Antonio, Vásquez, Trujillo, Cortez, Rocha, Rubio, Bernal, Benítez, Escobar, Villa, Galindo, Cuevas, Bravo, Cano, Osorio, Mata, Carmona, Montoya, de Jesús, Enríquez, Cisneros, Rivas, Parra, Reséndiz, Téllez, Zárate, Salgado, de la Rosa, Vera, Tovar, Arroyo, Córdova, Leyva, Quintero, Becerra, Quiroz, Barajas, Ávalos, Peralta, Román, Esparza, Murillo, Guevara, Olivares, Félix, de León, Castellanos, Villarreal, Villalobos, Lugo, Ángeles, Montiel, Segura, Magaña, Saucedo, Gallardo, Mercado, Navarrete, Reyna, Paredes, Dávila, Leal, Guerra, Saldaña, Guillén, Santana, Uribe, Monroy, Piña, Yáñez, Nieto, Islas, Granados, Escobedo, Zapata, Caballero, del Ángel, Solano, Barron, Zepeda, Acevedo, Arriaga, Barrios, Mondragón, Galicia, Godínez, Ojeda, Duarte, Alfaro, Medrano, Rico, Aguilera, Gil, Ventura, Balderas, Arredondo, Coronado, Escamilla, Nájera, Palma, Amador, Blanco, Ocampo, Garduño, Barragán, Gámez, Francisco, Meléndez, Carbajal, Hurtado, Carrasco, Bonilla, Correa, Sierra, Anaya, Carranza, Romo, Valdés, Armenta, Alcántara, Escalante, Arreola, Quezada, Alarcón, Gaytán, Rentería, Vidal, Báez, de los Santos, Toledo, Colín, May, Carrera, Jaramillo, Santillán, Valle, Varela, Arenas, Rendón, Treviño, Venegas, Soriano, Zaragoza, Morán, Áviles, Aranda, Lira, Quintana, Arteaga, Valadez, Cordero, Sotelo, de la Torre, Muñiz, Hidalgo, Cázares, Covarrubias, Zamudio, Ordoñez, Aparicio, Baltazar, Gálvez, Madrigal,Ibañez,De Romaña,Ormeño] + prefixes = [Sr., Sra., Srita., Dr., Ing.] + suffixes = [Jr., Sr., I, II, III, IV, V] + title { + descriptors = [Supervisor, Asociado, Ejecutivo, Relacciones, Oficial, Gerente, Ingeniero, Especialista, Director, Coordinador, Administrador, Arquitecto, Analista, Diseñador, Planificador, Técnico, Funcionario, Desarrollador, Productor, Consultor, Asistente, Facilitador, Agente, Representante, Estratega] + levels = [de, para] + jobs = [Soluciones, Programa, Marca, Seguridad, Investigación, Marketing, Normas, Implementación, Integración, Funcionalidad, Respuesta, Paradigma, Tácticas, Identidad, Mercados, Grupo, División, Aplicaciones, Optimización, Operaciones, Infraestructura, Tecnologías de Información, Comunicaciones, Web, Calidad, Seguro, Mobilidad, Cuentas, Datos, Creativo, Configuración, Contabilidad, Interacciones, Factores, Usabilidad, Métricas, Departamento, Región, Supervisión, Planeación] + } + full-name-builder = { + options = [ + {parts = [{type = "seq-string-part", value = ${name.prefixes}, suffix = " "}, {type = "seq-string-part", value = ${name.first.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}}]}, + {parts = [{type = "seq-string-part", value = ${name.first.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}}]} + ] + } + full-name-with-middle-builder = { + options = [ + {parts = [{type = "seq-string-part", value = ${name.prefixes}, suffix = " "}, {type = "seq-string-part", value = ${name.first.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "},{type = "seq-string-part", value = ${name.last.names}}]}, + {parts = [{type = "seq-string-part", value = ${name.first.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${name.suffixes}}]}, + {parts = [{type = "seq-string-part", value = ${name.first.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}, suffix = " "}, {type = "seq-string-part", value = ${name.last.names}}], weight = 4}, + ] + } +} \ No newline at end of file diff --git a/src/main/resources/es_MX/phone.conf b/src/main/resources/es_MX/phone.conf new file mode 100644 index 00000000..212db271 --- /dev/null +++ b/src/main/resources/es_MX/phone.conf @@ -0,0 +1,30 @@ +phone { + lada_dos: ["33", "55", "81"] + lada_tres: ["222", "223", "224", "225", "226", "227", "228", "229", "231", "232", "233", "235", "236", "237", "238", "241", "243", "244", "245", "246", "247", "248", "249", "271", "272", "273", "274", "275", "276", "278", "279", "281", "282", "283", "284", "285", "287", "288", "294", "296", "297", "311", "312", "313", "314", "315", "316", "317", "319", "321", "322", "323", "324", "325", "326", "327", "328", "329", "341", "342", "343", "344", "345", "346", "347", "348", "349", "351", "352", "353", "354", "355", "356", "357", "358", "359", "371", "372", "373", "374", "375", "376", "377", "378", "381", "382", "383", "384", "385", "386", "387", "388", "389", "391", "392", "393", "394", "395", "411", "412", "413", "414", "415", "417", "418", "419", "421", "422", "423", "424", "425", "426", "427", "428", "429", "431", "432", "433", "434", "435", "436", "437", "438", "441", "442", "443", "444", "445", "447", "448", "449", "451", "452", "453", "454", "455", "456", "457", "458", "459", "461", "462", "463", "464", "465", "466", "467", "468", "469", "471", "472", "473", "474", "475", "476", "477", "478", "481", "482", "483", "485", "486", "487", "488", "489", "492", "493", "494", "495", "496", "498", "499", "588", "591", "592", "593", "594", "595", "596", "597", "599", "612", "613", "614", "615", "616", "618", "621", "622", "623", "624", "625", "626", "627", "628", "629", "631", "632", "633", "634", "635", "636", "637", "638", "639", "641", "642", "643", "644", "645", "646", "647", "648", "649", "651", "652", "653", "656", "658", "659", "661", "662", "664", "665", "667", "668", "669", "671", "672", "673", "674", "675", "676", "677", "686", "687", "694", "695", "696", "697", "698", "711", "712", "713", "714", "715", "716", "717", "718", "719", "721", "722", "723", "724", "725", "726", "727", "728", "731", "732", "733", "734", "735", "736", "737", "738", "739", "741", "742", "743", "744", "745", "746", "747", "748", "749", "751", "753", "754", "755", "756", "757", "758", "759", "761", "762", "763", "764", "765", "766", "767", "768", "769", "771", "772", "773", "774", "775", "776", "777", "778", "779", "781", "782", "783", "784", "785", "786", "789", "791", "797", "821", "823", "824", "825", "826", "828", "829", "831", "832", "833", "834", "835", "836", "841", "842", "844", "845", "846", "861", "862", "864", "866", "867", "868", "869", "871", "872", "873", "877", "878", "891", "892", "894", "897", "899", "913", "914", "916", "917", "918", "919", "921", "922", "923", "924", "932", "933", "934", "936", "937", "938", "951", "953", "954", "958", "961", "962", "963", "964", "965", "966", "967", "968", "969", "971", "972", "981", "982", "983", "984", "985", "986", "987", "988", "991", "992", "993", "994", "995", "996", "997", "998", "999"] + phone-number-builder = { + options = [ + {parts = [{type = "seq-string-part", value = ${phone.lada_dos}, suffix = " "}, {type = "string-part", value = "#### ####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_tres}, suffix = " "}, {type = "string-part", value = "#### ####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_dos}, prefix = "(", suffix = ") "}, {type = "string-part", value = "#### ####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_tres}, prefix = "(", suffix = ") "}, {type = "string-part", value = "#### ####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_dos}, suffix = "-"}, {type = "string-part", value = "####-####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_tres}, suffix = "-"}, {type = "string-part", value = "####-####"}]} + ] + } + cell-number-builder = { + options = [ + {parts = [{type = "seq-string-part", value = ${phone.lada_dos}, suffix = " "}, {type = "string-part", value = "#### ####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_tres}, suffix = " "}, {type = "string-part", value = "#### ####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_dos}, prefix = "(", suffix = ") "}, {type = "string-part", value = "#### ####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_tres}, prefix = "(", suffix = ") "}, {type = "string-part", value = "#### ####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_dos}, suffix = "-"}, {type = "string-part", value = "####-####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_tres}, suffix = "-"}, {type = "string-part", value = "####-####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_dos}, prefix = "044 ", suffix = " "}, {type = "string-part", value = "#### ####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_tres}, prefix = "044 ", suffix = " "}, {type = "string-part", value = "#### ####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_dos}, prefix = "044 (", suffix = ") "}, {type = "string-part", value = "#### ####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_tres}, prefix = "044 (", suffix = ") "}, {type = "string-part", value = "#### ####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_dos}, prefix = "044 ", suffix = "-"}, {type = "string-part", value = "####-####"}]}, + {parts = [{type = "seq-string-part", value = ${phone.lada_tres}, prefix = "044 ", suffix = "-"}, {type = "string-part", value = "####-####"}]} + ] + } +} \ No newline at end of file diff --git a/src/main/scala/faker/Faker.scala b/src/main/scala/faker/Faker.scala index e0de2956..8ea97f9e 100644 --- a/src/main/scala/faker/Faker.scala +++ b/src/main/scala/faker/Faker.scala @@ -352,5 +352,7 @@ object Faker { val en_SG: Faker = new Faker(SupportedLocales.en_SG) val en_UG: Faker = new Faker(SupportedLocales.en_UG) val en_ZA: Faker = new Faker(SupportedLocales.en_ZA) + val es: Faker = new Faker(SupportedLocales.es) + val es_MX: Faker = new Faker(SupportedLocales.es_MX) // $COVERAGE-ON$ } diff --git a/src/main/scala/faker/ResourceLoader.scala b/src/main/scala/faker/ResourceLoader.scala index b50a1df4..0ed40c3f 100644 --- a/src/main/scala/faker/ResourceLoader.scala +++ b/src/main/scala/faker/ResourceLoader.scala @@ -72,6 +72,8 @@ object ResourceLoader { val en_SG: ResourceLoader = new ResourceLoader(SupportedLocales.en_SG) val en_UG: ResourceLoader = new ResourceLoader(SupportedLocales.en_UG) val en_ZA: ResourceLoader = new ResourceLoader(SupportedLocales.en_ZA) + val es: ResourceLoader = new ResourceLoader(SupportedLocales.es) + val es_MX: ResourceLoader = new ResourceLoader(SupportedLocales.es_MX) object Implicits { implicit val defaultResourceLoader: ResourceLoader = default diff --git a/src/main/scala/faker/StringGenBuilder.scala b/src/main/scala/faker/StringGenBuilder.scala index c37fe23a..16cbce34 100644 --- a/src/main/scala/faker/StringGenBuilder.scala +++ b/src/main/scala/faker/StringGenBuilder.scala @@ -63,6 +63,19 @@ object SeqStateZipPart { deriveReader } +private[faker] final case class SeqStateNamePart( + prefix: Option[String], + suffix: Option[String], + value: Seq[address.StateLike] +) extends StringGenBuilderPart { + val valueGen: Gen[String] = Gen.oneOf(value.map(_.name)) +} + +object SeqStateNamePart { + implicit val seqStateNamePartConfigReader: ConfigReader[SeqStateNamePart] = + deriveReader +} + private[faker] final case class SeqStateAbbrAndZipPart( prefix: Option[String], suffix: Option[String], diff --git a/src/main/scala/faker/SupportedLocales.scala b/src/main/scala/faker/SupportedLocales.scala index 41eef7a5..783e22cf 100644 --- a/src/main/scala/faker/SupportedLocales.scala +++ b/src/main/scala/faker/SupportedLocales.scala @@ -30,4 +30,6 @@ object SupportedLocales { val en_SG: Locale = new Locale("en", "SG") val en_UG: Locale = new Locale("en", "UG") val en_ZA: Locale = new Locale("en", "ZA") + val es: Locale = new Locale("es") + val es_MX: Locale = new Locale("es", "MX") } diff --git a/src/test/scala/faker/FakerSpec_es.scala b/src/test/scala/faker/FakerSpec_es.scala new file mode 100644 index 00000000..7c445dc9 --- /dev/null +++ b/src/test/scala/faker/FakerSpec_es.scala @@ -0,0 +1,7 @@ +package faker + +import java.util.Locale + +class FakerSpec_es extends FakerSpec { + override lazy val locale: Locale = SupportedLocales.es +} diff --git a/src/test/scala/faker/FakerSpec_es_MX.scala b/src/test/scala/faker/FakerSpec_es_MX.scala new file mode 100644 index 00000000..fedfbafd --- /dev/null +++ b/src/test/scala/faker/FakerSpec_es_MX.scala @@ -0,0 +1,7 @@ +package faker + +import java.util.Locale + +class FakerSpec_es_MX extends FakerSpec { + override lazy val locale: Locale = SupportedLocales.es_MX +}