From 3adf3fe8791efe7294252b4cd44d38dd696b2124 Mon Sep 17 00:00:00 2001 From: Michal Cieslar Date: Tue, 14 Nov 2023 00:10:24 +0100 Subject: [PATCH] add slovak people names --- include/faker-cxx/types/Language.h | 5 +- src/modules/person/Person.cpp | 4 +- src/modules/person/PersonTest.cpp | 5 +- .../person/data/slovak/SlovakFirstNames.h | 60 ++++++++++++++ .../person/data/slovak/SlovakLastNames.h | 80 +++++++++++++++++++ .../person/data/slovak/SlovakPeopleNames.h | 18 +++++ .../person/data/slovak/SlovakPrefixes.h | 9 +++ .../person/data/slovak/SlovakSuffixes.h | 9 +++ 8 files changed, 184 insertions(+), 6 deletions(-) create mode 100644 src/modules/person/data/slovak/SlovakFirstNames.h create mode 100644 src/modules/person/data/slovak/SlovakLastNames.h create mode 100644 src/modules/person/data/slovak/SlovakPeopleNames.h create mode 100644 src/modules/person/data/slovak/SlovakPrefixes.h create mode 100644 src/modules/person/data/slovak/SlovakSuffixes.h diff --git a/include/faker-cxx/types/Language.h b/include/faker-cxx/types/Language.h index c8f8e2368..52131b7bb 100644 --- a/include/faker-cxx/types/Language.h +++ b/include/faker-cxx/types/Language.h @@ -20,12 +20,13 @@ enum class Language Spanish, Turkish, Czech, + Slovak, }; const std::vector languages{Language::English, Language::Polish, Language::Italian, Language::French, Language::German, Language::Russian, Language::Romanian, Language::Hindi, Language::Finnish, Language::Nepali, Language::Spanish, Language::Turkish, - Language::Czech}; + Language::Czech, Language::Slovak}; inline std::string toString(Language language) { @@ -34,7 +35,7 @@ inline std::string toString(Language language) {Language::French, "French"}, {Language::German, "German"}, {Language::Russian, "Russian"}, {Language::Romanian, "Romanian"}, {Language::Hindi, "Hindi"}, {Language::Finnish, "Finnish"}, {Language::Nepali, "Nepali"}, {Language::Spanish, "Spanish"}, {Language::Turkish, "Turkish"}, - {Language::Czech, "Czech"}}; + {Language::Czech, "Czech"}, {Language::Slovak, "Slovak"}}; return languageToStringMapping.at(language); } diff --git a/src/modules/person/Person.cpp b/src/modules/person/Person.cpp index 064ff34bf..3047b5834 100644 --- a/src/modules/person/Person.cpp +++ b/src/modules/person/Person.cpp @@ -19,6 +19,7 @@ #include "data/polish/PolishPeopleNames.h" #include "data/romanian/RomanianPeopleNames.h" #include "data/russian/RussianPeopleNames.h" +#include "data/slovak/SlovakPeopleNames.h" #include "data/spanish/SpanishPeopleNames.h" #include "data/turkish/TurkishPeopleNames.h" #include "data/ZodiacSigns.h" @@ -38,8 +39,7 @@ const std::map languageToPeopleNamesMapping{ {Language::Romanian, romanianPeopleNames}, {Language::Hindi, indianPeopleNames}, {Language::Finnish, finnishPeopleNames}, {Language::Nepali, nepalesePeopleNames}, {Language::Spanish, spanishPeopleNames}, {Language::Turkish, turkishPeopleNames}, - {Language::Czech, czechPeopleNames}, -}; + {Language::Czech, czechPeopleNames}, {Language::Slovak, slovakPeopleNames}}; std::string middleNameForLanguage(Language language, std::optional sex); std::string prefixForLanguage(Language language, std::optional sex); diff --git a/src/modules/person/PersonTest.cpp b/src/modules/person/PersonTest.cpp index 37e86d9f2..0c68c6bb0 100644 --- a/src/modules/person/PersonTest.cpp +++ b/src/modules/person/PersonTest.cpp @@ -20,6 +20,7 @@ #include "data/polish/PolishPeopleNames.h" #include "data/romanian/RomanianPeopleNames.h" #include "data/russian/RussianPeopleNames.h" +#include "data/slovak/SlovakPeopleNames.h" #include "data/spanish/SpanishPeopleNames.h" #include "data/turkish/TurkishPeopleNames.h" #include "data/ZodiacSigns.h" @@ -39,7 +40,7 @@ const std::map languageToPeopleNamesMapping{ {Language::Romanian, romanianPeopleNames}, {Language::Hindi, indianPeopleNames}, {Language::Finnish, finnishPeopleNames}, {Language::Nepali, nepalesePeopleNames}, {Language::Spanish, spanishPeopleNames}, {Language::Turkish, turkishPeopleNames}, - {Language::Czech, czechPeopleNames}}; + {Language::Czech, czechPeopleNames}, {Language::Slovak, slovakPeopleNames}}; const std::map generatedTestName{ {Language::English, "shouldGenerateEnglishName"}, {Language::French, "shouldGenerateFrenchName"}, @@ -48,7 +49,7 @@ const std::map generatedTestName{ {Language::Romanian, "shouldGenerateRomanianName"}, {Language::Hindi, "shouldGenerateIndianName"}, {Language::Finnish, "shouldGenerateFinnishName"}, {Language::Nepali, "shouldGenerateNepaleseName"}, {Language::Spanish, "shouldGenerateSpanishName"}, {Language::Turkish, "shouldGenerateTurkishName"}, - {Language::Czech, "shouldGenerateCzechName"}, + {Language::Czech, "shouldGenerateCzechName"}, {Language::Slovak, "shouldGenerateSlovakName"}, }; } diff --git a/src/modules/person/data/slovak/SlovakFirstNames.h b/src/modules/person/data/slovak/SlovakFirstNames.h new file mode 100644 index 000000000..df6ad5136 --- /dev/null +++ b/src/modules/person/data/slovak/SlovakFirstNames.h @@ -0,0 +1,60 @@ +#pragma once + +#include +#include + +namespace faker +{ +const std::vector slovakMalesFirstNames = { + "Drahoslav", "Severín", "Alexej", "Ernest", "Rastislav", "Radovan", "Dobroslav", "Dalibor", + "Vincent", "Miloš", "Timotej", "Gejza", "Bohuš", "Alfonz", "Gašpar", "Emil", + "Erik", "Blažej", "Zdenko", "Dezider", "Arpád", "Valentín", "Pravoslav", "Jaromír", + "Roman", "Matej", "Frederik", "Viktor", "Alexander", "Radomír", "Albín", "Bohumil", + "Kazimír", "Fridrich", "Radoslav", "Tomáš", "Alan", "Branislav", "Bruno", "Gregor", + "Vlastimil", "Boleslav", "Eduard", "Jozef", "Víťazoslav", "Blahoslav", "Beňadik", "Adrián", + "Gabriel", "Marián", "Emanuel", "Miroslav", "Benjamín", "Hugo", "Richard", "Izidor", + "Zoltán", "Albert", "Igor", "Július", "Aleš", "Fedor", "Rudolf", "Valér", + "Marcel", "Ervín", "Slavomír", "Vojtech", "Juraj", "Marek", "Jaroslav", "Žigmund", + "Florián", "Roland", "Pankrác", "Servác", "Bonifác", "Svetozár", "Bernard", "Júlia", + "Urban", "Dušan", "Viliam", "Ferdinand", "Norbert", "Róbert", "Medard", "Zlatko", + "Anton", "Vasil", "Vít", "Adolf", "Vratislav", "Alfréd", "Alojz", "Ján", + "Tadeáš", "Ladislav", "Peter", "Pavol", "Miloslav", "Prokop", "Cyril", "Metod", + "Patrik", "Oliver", "Ivan", "Kamil", "Henrich", "Drahomír", "Bohuslav", "Iľja", + "Daniel", "Vladimír", "Jakub", "Krištof", "Ignác", "Gustáv", "Jerguš", "Dominik", + "Oskar", "Vavrinec", "Ľubomír", "Mojmír", "Leonard", "Tichomír", "Filip", "Bartolomej", + "Ľudovít", "Samuel", "Augustín", "Belo", "Oleg", "Bystrík", "Ctibor", "Ľudomil", + "Konštantín", "Ľuboslav", "Matúš", "Móric", "Ľuboš", "Ľubor", "Vladislav", "Cyprián", + "Václav", "Michal", "Jarolím", "Arnold", "Levoslav", "František", "Dionýz", "Maximilián", + "Koloman", "Boris", "Lukáš", "Kristián", "Vendelín", "Sergej", "Aurel", "Demeter", + "Denis", "Hubert", "Karol", "Imrich", "René", "Bohumír", "Teodor", "Tibor", + "Maroš", "Martin", "Svätopluk", "Stanislav", "Leopold", "Eugen", "Félix", "Klement", + "Kornel", "Milan", "Vratko", "Ondrej", "Andrej", "Edmund", "Oldrich", "Oto", + "Mikuláš", "Ambróz", "Radúz", "Bohdan", "Adam", "Štefan", "Dávid", "Silvester"}; + +const std::vector slovakFemalesFirstNames = { + "Alexandra", "Karina", "Daniela", "Andrea", "Antónia", "Bohuslava", "Dáša", "Malvína", + "Kristína", "Nataša", "Bohdana", "Drahomíra", "Sára", "Zora", "Tamara", "Ema", + "Tatiana", "Erika", "Veronika", "Agáta", "Dorota", "Vanda", "Zoja", "Gabriela", + "Perla", "Ida", "Liana", "Miloslava", "Vlasta", "Lívia", "Eleonóra", "Etela", + "Romana", "Zlatica", "Anežka", "Bohumila", "Františka", "Angela", "Matilda", "Svetlana", + "Ľubica", "Alena", "Soňa", "Vieroslava", "Zita", "Miroslava", "Irena", "Milena", + "Estera", "Justína", "Dana", "Danica", "Jela", "Jaroslava", "Jarmila", "Lea", + "Anastázia", "Galina", "Lesana", "Hermína", "Monika", "Ingrida", "Viktória", "Blažena", + "Žofia", "Sofia", "Gizela", "Viola", "Gertrúda", "Zina", "Júlia", "Juliana", + "Želmíra", "Ela", "Vanesa", "Iveta", "Vilma", "Petronela", "Žaneta", "Xénia", + "Karolína", "Lenka", "Laura", "Stanislava", "Margaréta", "Dobroslava", "Blanka", "Valéria", + "Paulína", "Sidónia", "Adriána", "Beáta", "Petra", "Melánia", "Diana", "Berta", + "Patrícia", "Lujza", "Amália", "Milota", "Nina", "Margita", "Kamila", "Dušana", + "Magdaléna", "Oľga", "Anna", "Hana", "Božena", "Marta", "Libuša", "Božidara", + "Dominika", "Hortenzia", "Jozefína", "Štefánia", "Ľubomíra", "Zuzana", "Darina", "Marcela", + "Milica", "Elena", "Helena", "Lýdia", "Anabela", "Jana", "Silvia", "Nikola", + "Ružena", "Nora", "Drahoslava", "Linda", "Melinda", "Rebeka", "Rozália", "Regína", + "Alica", "Marianna", "Miriama", "Martina", "Mária", "Jolana", "Ľudomila", "Ľudmila", + "Olympia", "Eugénia", "Ľuboslava", "Zdenka", "Edita", "Michaela", "Stela", "Viera", + "Natália", "Eliška", "Brigita", "Valentína", "Terézia", "Vladimíra", "Hedviga", "Uršuľa", + "Alojza", "Kvetoslava", "Sabína", "Dobromila", "Klára", "Simona", "Aurélia", "Denisa", + "Renáta", "Irma", "Agnesa", "Klaudia", "Alžbeta", "Elvíra", "Cecília", "Emília", + "Katarína", "Henrieta", "Bibiána", "Barbora", "Marína", "Izabela", "Hilda", "Otília", + "Lucia", "Branislava", "Bronislava", "Ivica", "Albína", "Kornélia", "Sláva", "Slávka", + "Judita", "Dagmara", "Adela", "Nadežda", "Eva", "Filoména", "Ivana", "Milada"}; +} diff --git a/src/modules/person/data/slovak/SlovakLastNames.h b/src/modules/person/data/slovak/SlovakLastNames.h new file mode 100644 index 000000000..000a2b7e6 --- /dev/null +++ b/src/modules/person/data/slovak/SlovakLastNames.h @@ -0,0 +1,80 @@ +#pragma once + +#include +#include + +namespace faker +{ +const std::vector slovakMalesLastNames = { + "Antal", "Babka", "Bahna", "Bahno", "Baláž", "Baran", "Baranka", "Bartovič", + "Bartoš", "Bača", "Bernolák", "Beňo", "Bicek", "Bielik", "Blaho", "Bondra", + "Bosák", "Boška", "Brezina", "Bukovský", "Chalupka", "Chudík", "Cibula", "Cibulka", + "Cibuľa", "Cyprich", "Cíger", "Danko", "Daňko", "Daňo", "Debnár", "Dej", + "Dekýš", "Doležal", "Dočolomanský", "Droppa", "Dubovský", "Dudek", "Dula", "Dulla", + "Dusík", "Dvonč", "Dzurjanin", "Dávid", "Fabian", "Fabián", "Fajnor", "Farkašovský", + "Fico", "Filc", "Filip", "Finka", "Ftorek", "Gašpar", "Gašparovič", "Gocník", + "Gregor", "Greguš", "Grznár", "Hablák", "Habšuda", "Halda", "Haluška", "Halák", + "Hanko", "Hanzal", "Haščák", "Heretik", "Hečko", "Hlaváček", "Hlinka", "Holub", + "Holuby", "Hossa", "Hoza", "Hraško", "Hric", "Hrmo", "Hrušovský", "Huba", + "Ihnačák", "Janeček", "Janoška", "Jantošovič", "Janík", "Janček", "Jedľovský", "Jendek", + "Jonata", "Jurina", "Jurkovič", "Jurík", "Jánošík", "Kafenda", "Kaliský", "Karul", + "Keníž", "Klapka", "Kmeť", "Kolesár", "Kollár", "Kolnik", "Kolník", "Kolár", + "Korec", "Kostka", "Kostrec", "Kováč", "Kováčik", "Koza", "Kočiš", "Krajíček", + "Krajči", "Krajčo", "Krajčovič", "Krajčír", "Králik", "Krúpa", "Kubík", "Kyseľ", + "Kállay", "Labuda", "Lepšík", "Lipták", "Lisický", "Lubina", "Lukáč", "Lupták", + "Líška", "Madej", "Majeský", "Malachovský", "Malíšek", "Mamojka", "Marcinko", "Marián", + "Masaryk", "Maslo", "Matiaško", "Medveď", "Melcer", "Mečiar", "Michalík", "Mihalik", + "Mihál", "Mihálik", "Mikloško", "Mikulík", "Mikuš", "Mikúš", "Milota", "Mináč", + "Mišík", "Mojžiš", "Mokroš", "Mora", "Moravčík", "Mydlo", "Nemec", "Nitra", + "Novák", "Obšut", "Ondruš", "Otčenáš", "Pauko", "Pavlikovský", "Pavúk", "Pašek", + "Paška", "Paško", "Pelikán", "Petrovický", "Petruška", "Peško", "Plch", "Plekanec", + "Podhradský", "Podkonický", "Poliak", "Pupák", "Rak", "Repiský", "Romančík", "Rus", + "Ružička", "Rybníček", "Rybár", "Rybárik", "Samson", "Sedliak", "Senko", "Sklenka", + "Skokan", "Skutecký", "Slašťan", "Sloboda", "Slobodník", "Slota", "Slovák", "Smrek", + "Stodola", "Straka", "Strnisko", "Svrbík", "Sámel", "Sýkora", "Tatar", "Tatarka", + "Tatár", "Tatárka", "Thomka", "Tomeček", "Tomka", "Tomko", "Truben", "Turčok", + "Uram", "Urblík", "Vajcík", "Vajda", "Valach", "Valachovič", "Valent", "Valuška", + "Vanek", "Vesel", "Vicen", "Višňovský", "Vlach", "Vojtek", "Vydarený", "Zajac", + "Zima", "Zimka", "Záborský", "Zúbrik", "Čapkovič", "Čaplovič", "Čarnogurský", "Čierny", + "Čobrda", "Ďaďo", "Ďurica", "Ďuriš", "Šidlo", "Šimonovič", "Škriniar", "Škultéty", + "Šmajda", "Šoltés", "Šoltýs", "Štefan", "Štefanka", "Šulc", "Šurka", "Švehla", + "Šťastný"}; + +const std::vector slovakFemalesLastNames = { + "Antalová", "Babková", "Bahnová", "Balážová", "Baranová", "Baranková", "Bartovičová", + "Bartošová", "Bačová", "Bernoláková", "Beňová", "Biceková", "Bieliková", "Blahová", + "Bondrová", "Bosáková", "Bošková", "Brezinová", "Bukovská", "Chalupková", "Chudíková", + "Cibulová", "Cibulková", "Cyprichová", "Cígerová", "Danková", "Daňková", "Daňová", + "Debnárová", "Dejová", "Dekýšová", "Doležalová", "Dočolomanská", "Droppová", "Dubovská", + "Dudeková", "Dulová", "Dullová", "Dusíková", "Dvončová", "Dzurjaninová", "Dávidová", + "Fabianová", "Fabiánová", "Fajnorová", "Farkašovská", "Ficová", "Filcová", "Filipová", + "Finková", "Ftoreková", "Gašparová", "Gašparovičová", "Gocníková", "Gregorová", "Gregušová", + "Grznárová", "Habláková", "Habšudová", "Haldová", "Halušková", "Haláková", "Hanková", + "Hanzalová", "Haščáková", "Heretiková", "Hečková", "Hlaváčeková", "Hlinková", "Holubová", + "Holubyová", "Hossová", "Hozová", "Hrašková", "Hricová", "Hrmová", "Hrušovská", + "Hubová", "Ihnačáková", "Janečeková", "Janošková", "Jantošovičová", "Janíková", "Jančeková", + "Jedľovská", "Jendeková", "Jonatová", "Jurinová", "Jurkovičová", "Juríková", "Jánošíková", + "Kafendová", "Kaliská", "Karulová", "Kenížová", "Klapková", "Kmeťová", "Kolesárová", + "Kollárová", "Kolniková", "Kolníková", "Kolárová", "Korecová", "Kostkaová", "Kostrecová", + "Kováčová", "Kováčiková", "Kozová", "Kočišová", "Krajíčeková", "Krajčová", "Krajčovičová", + "Krajčírová", "Králiková", "Krúpová", "Kubíková", "Kyseľová", "Kállayová", "Labudová", + "Lepšíková", "Liptáková", "Lisická", "Lubinová", "Lukáčová", "Luptáková", "Líšková", + "Madejová", "Majeská", "Malachovská", "Malíšeková", "Mamojková", "Marcinková", "Mariánová", + "Masaryková", "Maslová", "Matiašková", "Medveďová", "Melcerová", "Mečiarová", "Michalíková", + "Mihaliková", "Mihálová", "Miháliková", "Miklošková", "Mikulíková", "Mikušová", "Mikúšová", + "Milotová", "Mináčová", "Mišíková", "Mojžišová", "Mokrošová", "Morová", "Moravčíková", + "Mydlová", "Nemcová", "Nováková", "Obšutová", "Ondrušová", "Otčenášová", "Pauková", + "Pavlikovská", "Pavúková", "Pašeková", "Pašková", "Pelikánová", "Petrovická", "Petrušková", + "Pešková", "Plchová", "Plekanecová", "Podhradská", "Podkonická", "Poliaková", "Pupáková", + "Raková", "Repiská", "Romančíková", "Rusová", "Ružičková", "Rybníčeková", "Rybárová", + "Rybáriková", "Samsonová", "Sedliaková", "Senková", "Sklenková", "Skokanová", "Skutecká", + "Slašťanová", "Slobodová", "Slobodníková", "Slotová", "Slováková", "Smreková", "Stodolová", + "Straková", "Strnisková", "Svrbíková", "Sámelová", "Sýkorová", "Tatarová", "Tatarková", + "Tatárová", "Tatárkaová", "Thomková", "Tomečeková", "Tomková", "Trubenová", "Turčoková", + "Uramová", "Urblíková", "Vajcíková", "Vajdová", "Valachová", "Valachovičová", "Valentová", + "Valušková", "Vaneková", "Veselová", "Vicenová", "Višňovská", "Vlachová", "Vojteková", + "Vydarená", "Zajacová", "Zimová", "Zimková", "Záborská", "Zúbriková", "Čapkovičová", + "Čaplovičová", "Čarnogurská", "Čierná", "Čobrdová", "Ďaďová", "Ďuricová", "Ďurišová", + "Šidlová", "Šimonovičová", "Škriniarová", "Škultétyová", "Šmajdová", "Šoltésová", "Šoltýsová", + "Štefanová", "Štefanková", "Šulcová", "Šurková", "Švehlová", "Šťastná"}; +} diff --git a/src/modules/person/data/slovak/SlovakPeopleNames.h b/src/modules/person/data/slovak/SlovakPeopleNames.h new file mode 100644 index 000000000..182dd8cb9 --- /dev/null +++ b/src/modules/person/data/slovak/SlovakPeopleNames.h @@ -0,0 +1,18 @@ +#pragma once + +#include "../NameFormats.h" +#include "../PeopleNames.h" +#include "SlovakFirstNames.h" +#include "SlovakLastNames.h" +#include "SlovakPrefixes.h" +#include "SlovakSuffixes.h" + +namespace faker +{ +const NameFormats slovakPersonNameFormats{ + {{"{firstName} {lastName}", 8}, {"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName} {suffix}", 1}}}; + +const PeopleNames slovakPeopleNames{{slovakMalesFirstNames, {}, slovakMalesLastNames, slovakPrefixes, slovakSuffixes}, + {slovakFemalesFirstNames, {}, slovakFemalesLastNames, slovakPrefixes, slovakSuffixes}, + slovakPersonNameFormats}; +} diff --git a/src/modules/person/data/slovak/SlovakPrefixes.h b/src/modules/person/data/slovak/SlovakPrefixes.h new file mode 100644 index 000000000..edfef9387 --- /dev/null +++ b/src/modules/person/data/slovak/SlovakPrefixes.h @@ -0,0 +1,9 @@ +#pragma once + +#include +#include + +namespace faker +{ +const std::vector slovakPrefixes{"Ing.", "Mgr.", "JUDr.", "MUDr."}; +} diff --git a/src/modules/person/data/slovak/SlovakSuffixes.h b/src/modules/person/data/slovak/SlovakSuffixes.h new file mode 100644 index 000000000..7fdb524b8 --- /dev/null +++ b/src/modules/person/data/slovak/SlovakSuffixes.h @@ -0,0 +1,9 @@ +#pragma once + +#include +#include + +namespace faker +{ +const std::vector slovakSuffixes{"Phd."}; +}