Skip to content

Commit

Permalink
add latvian people names (#319)
Browse files Browse the repository at this point in the history
  • Loading branch information
cieslarmichal authored Nov 22, 2023
1 parent c08609a commit c063d69
Show file tree
Hide file tree
Showing 8 changed files with 145 additions and 1 deletion.
4 changes: 3 additions & 1 deletion include/faker-cxx/types/Country.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ enum class Country
Australia,
Serbia,
Macedonia,
Latvia,
};

const std::vector<Country> countries{
Expand All @@ -56,7 +57,7 @@ const std::vector<Country> countries{
Country::Japan, Country::Portugal, Country::Hungary, Country::Croatia, Country::Greece,
Country::Slovenia, Country::Austria, Country::Switzerland, Country::Belgium, Country::Nederlands,
Country::China, Country::Korea, Country::Canada, Country::Mexico, Country::Argentina,
Country::Australia, Country::Serbia, Country::Macedonia,
Country::Australia, Country::Serbia, Country::Macedonia, Country::Latvia,
};

inline std::string toString(Country country)
Expand Down Expand Up @@ -100,6 +101,7 @@ inline std::string toString(Country country)
{Country::Australia, "Australia"},
{Country::Serbia, "Serbia"},
{Country::Macedonia, "Macedonia"},
{Country::Latvia, "Latvia"},
};

return countryToStringMapping.at(country);
Expand Down
2 changes: 2 additions & 0 deletions src/modules/person/Person.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
#include "data/JobTitles.h"
#include "data/korea/KoreanPeopleNames.h"
#include "data/Languages.h"
#include "data/latvia/LatvianPeopleNames.h"
#include "data/macedonia/MacedonianPeopleNames.h"
#include "data/mexico/MexicanPeopleNames.h"
#include "data/Nationalities.h"
Expand Down Expand Up @@ -78,6 +79,7 @@ const std::map<Country, PeopleNames> countryToPeopleNamesMapping{
{Country::Canada, canadianPeopleNames}, {Country::Mexico, mexicanPeopleNames},
{Country::Argentina, argentinianPeopleNames}, {Country::Australia, australianPeopleNames},
{Country::Serbia, serbianPeopleNames}, {Country::Macedonia, macedonianPeopleNames},
{Country::Latvia, latvianPeopleNames},
};

std::string middleNameForCountry(Country country, std::optional<Sex> sex);
Expand Down
3 changes: 3 additions & 0 deletions src/modules/person/PersonTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include "data/JobTitles.h"
#include "data/korea/KoreanPeopleNames.h"
#include "data/Languages.h"
#include "data/latvia/LatvianPeopleNames.h"
#include "data/macedonia/MacedonianPeopleNames.h"
#include "data/mexico/MexicanPeopleNames.h"
#include "data/Nationalities.h"
Expand Down Expand Up @@ -78,6 +79,7 @@ const std::map<Country, PeopleNames> countryToPeopleNamesMapping{
{Country::Canada, canadianPeopleNames}, {Country::Mexico, mexicanPeopleNames},
{Country::Argentina, argentinianPeopleNames}, {Country::Australia, australianPeopleNames},
{Country::Serbia, serbianPeopleNames}, {Country::Macedonia, macedonianPeopleNames},
{Country::Latvia, latvianPeopleNames},
};

const std::map<Country, std::string> generatedTestName{
Expand All @@ -100,6 +102,7 @@ const std::map<Country, std::string> generatedTestName{
{Country::Canada, "shouldGenerateCanadianName"}, {Country::Mexico, "shouldGenerateMexicanName"},
{Country::Argentina, "shouldGenerateArgentinianName"}, {Country::Australia, "shouldGenerateAustralianName"},
{Country::Serbia, "shouldGenerateSerbianName"}, {Country::Macedonia, "shouldGenerateMacedonianName"},
{Country::Latvia, "shouldGenerateLatvianName"},
};
}

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

#include <string>
#include <vector>

namespace faker
{
const std::vector<std::string> latvianMalesFirstNames = {
"Ainārs", "Alfrēds", "Aloīzs", "Aļģirds", "Aļģis", "Andris", "Andžejs", "Andžs", "Anrijs",
"Anšlavs", "Arkādijs", "Armīns", "Artūrs", "Arvīds", "Ādams", "Ādolfs", "Ārijs", "Āris",
"Boļeslavs", "Broņislavs", "Dāgs", "Dāvids", "Dāvis", "Edgars", "Edvīns", "Eduards", "Edžus",
"Egīls", "Einārs", "Eižens", "Elmārs", "Emīls", "Ermīns", "Ervīns", "Ēriks", "Ēvalds",
"Gunārs", "Ģederts", "Ģirts", "Ilgmārs", "Ilmārs", "Inārs", "Indriķis", "Ingmārs", "Jānis",
"Jāzeps", "Jevgeņijs", "Jēkabs", "Jurģis", "Jūlijs", "Kārlis", "Klāvs", "Konrāds", "Konstantīns",
"Kristiāns", "Krišjānis", "Krišs", "Leonīds", "Marģers", "Matīss", "Mārcis", "Māris", "Mārtiņš",
"Miķelis", "Monvīds", "Niklāvs", "Ojārs", "Oļegs", "Oļģerts", "Pāvils", "Pēteris", "Regnārs",
"Renārs", "Ričards", "Romāns", "Rūdis", "Rūdolfs", "Rūsiņš", "Tālis", "Tālivaldis", "Tālrīts",
"Uģis", "Valdemārs", "Valentīns", "Valērijs", "Vilmārs", "Vitālijs", "Voldemārs", "Zigfrīds", "Zigmārs",
"Žanis",
};

const std::vector<std::string> latvianFemalesFirstNames = {
"Aīda", "Akvelīna", "Albertīne", "Alvīne", "Amālija", "Astrīda", "Aurēlija", "Ārija", "Baņuta",
"Bārbala", "Beāte", "Dagmāra", "Dainuvīte", "Dārta", "Diāna", "Dzirkstīte", "Dzīle", "Edīte",
"Elfrīda", "Elīna", "Elīza", "Elmīra", "Elvīra", "Emīlija", "Ernestīne", "Evelīna", "Ērika",
"Frīda", "Gabriela", "Gudrīte", "Ģertrūde", "Helēna", "Hermīne", "Ināra", "Ingrīda", "Ingūna",
"Irēna", "Īrisa", "Janīna", "Jasmīna", "Jautrīte", "Judīte", "Justīne", "Jūlija", "Jūsma",
"Karīna", "Katrīna", "Klāra", "Kristiāna", "Kristīne", "Lavīze", "Lāsma", "Leonīda", "Leontīne",
"Liāna", "Liliāna", "Lība", "Līga", "Līksma", "Līna", "Līva", "Līvija", "Līze",
"Luīze", "Lūcija", "Malvīne", "Māra", "Mārīte", "Mētra", "Modrīte", "Mudīte", "Olīvija",
"Otīlija", "Patrīcija", "Paulīne", "Pārsla", "Regīna", "Renāte", "Rudīte", "Rūta", "Sabīne",
"Sarmīte", "Saulcerīte", "Skaidrīte", "Spīdola", "Tamāra", "Terēze", "Tīna", "Trīne", "Undīne",
"Valentīna", "Valērija", "Vēsma", "Vijolīte", "Vilhelmīne", "Vizbulīte", "Zeltīte", "Ziedīte", "Zigfrīda",
"Zigrīda", "Zīle", "Žanete", "Žanna", "Ženija", "Žubīte",
};
}
65 changes: 65 additions & 0 deletions src/modules/person/data/latvia/LatvianLastNames.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#pragma once

#include <string>
#include <vector>

namespace faker
{
const std::vector<std::string> latvianMalesLastNames = {
"Aigars", "Alksnis", "Andersons", "Aspers", "Auziņš", "Ābele", "Āboliņš", "Āboltiņš",
"Balodis", "Beļavskis", "Bergmanis", "Bērziņš", "Bērzīts", "Birziņš", "Birznieks", "Bīriņš",
"Blaus", "Blekte", "Breņķis", "Briedis", "Brunkevičs", "Builis", "Bušs", "Caune",
"Cālītis", "Cīrulis", "Čudars", "Danielsons", "Dīriķis", "Dombrovskis", "Dreimanis", "Dzenis",
"Eglītis", "Endziņš", "Fogelis", "Freimanis", "Gailis", "Gailītis", "Gibala", "Graudiņš",
"Gribusts", "Grīnbergs", "Grūbe", "Jansons", "Jēkabsons", "Jukums", "Kalējs", "Kalniņš",
"Karlsons", "Kauliņš", "Kārkliņš", "Kļaviņš", "Kohs", "Koks", "Krancis", "Krastiņš",
"Kraulis", "Krauze", "Krēsliņš", "Krieviņš", "Krievs", "Kronbergs", "Krūmiņš", "Kulmanis",
"Laiviņš", "Landmanis", "Lapiņš", "Lapsiņš", "Lasmanis", "Laubergs", "Lācis", "Legzdiņš",
"Lielmanis", "Liepiņš", "Līcis", "Līdaks", "Ločs", "Lodiņš", "Lūsis", "Matisons",
"Mednis", "Meiers", "Mekšs", "Melderis", "Melngailis", "Mihailovs", "Miķelsons", "Niedra",
"Osis", "Ostrovskis", "Ozers", "Ozoliņš", "Ozols", "Palters", "Pavlovskis", "Pencis",
"Petrovskis", "Pērkons", "Pētersons", "Podziņš", "Polis", "Pretkalniņš", "Priedītis", "Puķītis",
"Putniņš", "Riekstiņš", "Romanovskis", "Rozenbahs", "Rozītis", "Rubenis", "Rudzītis", "Runcis",
"Salmiņš", "Seržants", "Sietnieks", "Siliņš", "Sīlis", "Skudra", "Smuģis", "Sproģis",
"Sprūde", "Strautiņš", "Strautmanis", "Strazdiņš", "Širovs", "Šīrants", "Šmits", "Šteins",
"Tālbergs", "Teicāns", "Tiltiņš", "Tīrelis", "Tučs", "Ūdris", "Valters", "Vasils",
"Vecumnieks", "Veinbergs", "Veiss", "Vilks", "Vilsons", "Viļums", "Vinters", "Vītiņš",
"Vītoliņš", "Vītols", "Vītums", "Vollis", "Zariņš", "Zālītis", "Zeidmanis", "Zeltiņš",
"Ziemelis", "Zībers", "Zunda", "Zvaigzne", "Zvejnieks", "Zvinelis", "Mucenieks", "Dzirkalis",
"Arājs", "Sējējs", "Podnieks", "Ratnieks", "Deģis", "Bondars", "Sondors", "Namiķis",
"Jumiķis", "Muižnieks", "Bajārs", "Ķēniņš", "Ķeizars", "Barons", "Vaivads", "Zviedrs",
"Vācietis", "Lejiņš", "Vanags", "Celms", "Liepa", "Kalns", "Celmiņš", "Lejnieks",
"Bisenieks", "Kurzemnieks", "Saulietis", "Pakalnietis", "Pridāns", "Grodums", "Kalnājs", "Porgants",
"Sukuts", "Meškūns", "Rožkalns", "Mazjānis", "Latkovskis", "Jankovskis", "Šileiko", "Budreiko",
"Ivanovs", "Morozovs", "Logins", "Gasjūns", "Pauļuks", "Sosārs",
};

const std::vector<std::string> latvianFemalesLastNames = {
"Aigare", "Alksne", "Andersone", "Aspere", "Auziņa", "Ābele", "Āboliņa", "Āboltiņa",
"Balode", "Beļavske", "Bergmane", "Bērziņa", "Bērzīte", "Birziņa", "Birzniece", "Bīriņa",
"Blaua", "Blekte", "Breņķe", "Briede", "Brunkeviča", "Buile", "Buša", "Cauna",
"Cālīte", "Cīrule", "Čudara", "Danielsone", "Dīriķe", "Dombrovska", "Dreimane", "Dzene",
"Eglīte", "Endziņa", "Fogele", "Freimane", "Gaile", "Gailīte", "Gibala", "Graudiņa",
"Gribuste", "Grīnberga", "Grūba", "Jansone", "Jēkabsone", "Jukuma", "Kalēja", "Kalniņa",
"Karlsone", "Kauliņa", "Kārkliņa", "Kļaviņa", "Koha", "Koka", "Krance", "Krastiņa",
"Kraule", "Krauze", "Krēsliņa", "Krieviņa", "Krieva", "Kronberga", "Krūmiņa", "Kulmane",
"Laiviņa", "Landmane", "Lapiņa", "Lapsiņa", "Lasmane", "Lauberga", "Lāce", "Legzdiņa",
"Lielmane", "Liepiņa", "Līce", "Līdaka", "Loča", "Lodiņa", "Lūse", "Matisone",
"Medne", "Meiere", "Mekša", "Meldere", "Melngaile", "Mihailova", "Miķelsone", "Niedra",
"Ose", "Ostrovska", "Ozere", "Ozoliņa", "Ozola", "Paltere", "Pavlovska", "Pence",
"Petrovska", "Pērkona", "Pētersone", "Podziņa", "Pole", "Pretkalniņa", "Priedīte", "Puķīte",
"Putniņa", "Riekstiņa", "Romanovska", "Rozenbaha", "Rozīte", "Rubene", "Rudzīte", "Runce",
"Salmiņa", "Seržante", "Sietniece", "Siliņa", "Sīle", "Skudra", "Smuģe", "Sproģe",
"Sprūde", "Strautiņa", "Strautmane", "Strazdiņa", "Širova", "Šīrante", "Šmite", "Šteina",
"Tālberga", "Teicāne", "Tiltiņa", "Tīrele", "Tuča", "Ūdre", "Valtere", "Vasile",
"Vecumniece", "Veinberga", "Veisa", "Vilka", "Vilsone", "Viļuma", "Vintere", "Vītiņa",
"Vītoliņa", "Vītola", "Vītuma", "Volle", "Zariņa", "Zālīte", "Zeidmane", "Zeltiņa",
"Ziemele", "Zībere", "Zunda", "Zvaigzne", "Zvejniece", "Zvinele", "Muceniece", "Dzirkale",
"Arāja", "Sējēja", "Podniece", "Ratniece", "Deģe", "Bondare", "Sondore", "Namiķe",
"Jumiķe", "Muižniece", "Bajāre", "Ķēniņa", "Ķeizare", "Barone", "Vaivade", "Zviedre",
"Vāciete", "Lejiņa", "Vanaga", "Celma", "Liepa", "Kalna", "Celmiņa", "Lejniece",
"Biseniece", "Kurzemniece", "Sauliete", "Pakalniete", "Pridāne", "Groduma", "Kalnāja", "Porgante",
"Sukute", "Meškūna", "Rožkalne", "Mazjāne", "Latkovska", "Jankovska", "Šileiko", "Budreiko",
"Ivanova", "Morozova", "Logina", "Gasjūne", "Pauļuka", "Sosāre", "Meškūne",
};
}
18 changes: 18 additions & 0 deletions src/modules/person/data/latvia/LatvianPeopleNames.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#pragma once

#include "../NameFormats.h"
#include "../PeopleNames.h"
#include "LatvianFirstNames.h"
#include "LatvianLastNames.h"
#include "LatvianPrefixes.h"
#include "LatvianSuffixes.h"

namespace faker
{
const NameFormats latvianPersonNameFormats{
{{"{firstName} {lastName}", 8}, {"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName} {suffix}", 1}}};

const PeopleNames latvianPeopleNames{{latvianMalesFirstNames, {}, latvianMalesLastNames, latvianPrefixes, latvianSuffixes},
{latvianFemalesFirstNames, {}, latvianFemalesLastNames, latvianPrefixes, latvianSuffixes},
latvianPersonNameFormats};
}
9 changes: 9 additions & 0 deletions src/modules/person/data/latvia/LatvianPrefixes.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> latvianPrefixes{"Prof.", "Dr.", "Biedrs"};
}
9 changes: 9 additions & 0 deletions src/modules/person/data/latvia/LatvianSuffixes.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> latvianSuffixes{"k-dze", "kundze"};
}

0 comments on commit c063d69

Please sign in to comment.