Skip to content

Commit

Permalink
add slovak people names
Browse files Browse the repository at this point in the history
  • Loading branch information
cieslarmichal committed Nov 13, 2023
1 parent 870280c commit 3adf3fe
Show file tree
Hide file tree
Showing 8 changed files with 184 additions and 6 deletions.
5 changes: 3 additions & 2 deletions include/faker-cxx/types/Language.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,13 @@ enum class Language
Spanish,
Turkish,
Czech,
Slovak,
};

const std::vector<Language> 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)
{
Expand All @@ -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);
}
Expand Down
4 changes: 2 additions & 2 deletions src/modules/person/Person.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -38,8 +39,7 @@ const std::map<Language, PeopleNames> 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> sex);
std::string prefixForLanguage(Language language, std::optional<Sex> sex);
Expand Down
5 changes: 3 additions & 2 deletions src/modules/person/PersonTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -39,7 +40,7 @@ const std::map<Language, PeopleNames> 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<Language, std::string> generatedTestName{
{Language::English, "shouldGenerateEnglishName"}, {Language::French, "shouldGenerateFrenchName"},
Expand All @@ -48,7 +49,7 @@ const std::map<Language, std::string> 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"},
};
}

Expand Down
60 changes: 60 additions & 0 deletions src/modules/person/data/slovak/SlovakFirstNames.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#pragma once

#include <string>
#include <vector>

namespace faker
{
const std::vector<std::string> 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<std::string> 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"};
}
80 changes: 80 additions & 0 deletions src/modules/person/data/slovak/SlovakLastNames.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
#pragma once

#include <string>
#include <vector>

namespace faker
{
const std::vector<std::string> 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<std::string> 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á"};
}
18 changes: 18 additions & 0 deletions src/modules/person/data/slovak/SlovakPeopleNames.h
Original file line number Diff line number Diff line change
@@ -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};
}
9 changes: 9 additions & 0 deletions src/modules/person/data/slovak/SlovakPrefixes.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#pragma once

#include <string>
#include <vector>

namespace faker
{
const std::vector<std::string> slovakPrefixes{"Ing.", "Mgr.", "JUDr.", "MUDr."};
}
9 changes: 9 additions & 0 deletions src/modules/person/data/slovak/SlovakSuffixes.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#pragma once

#include <string>
#include <vector>

namespace faker
{
const std::vector<std::string> slovakSuffixes{"Phd."};
}

0 comments on commit 3adf3fe

Please sign in to comment.