diff --git a/CHANGELOG.md b/CHANGELOG.md index b6df36843..1a1c19baa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,11 @@ Change log itself follows [Keep a CHANGELOG](http://keepachangelog.com) format. ## Unreleased ### Added +- `Faker.Address.NlBe` flemish address faker [[@ChristofVerhoeven](https://github.com/ChristofVerhoeven)] +- `Faker.Person.NlBe` flemish person faker [[@ChristofVerhoeven](https://github.com/ChristofVerhoeven)] +- `Faker.Address.Nl` [[@MichaelVanDenBerg](https://github.com/MichaelVanDenBerg)] +- `Faker.Person.Nl` [[@MichaelVanDenBerg](https://github.com/MichaelVanDenBerg)] +- `Faker.Phone.Nl` [[@MichaelVanDenBerg](https://github.com/MichaelVanDenBerg)] ### Changed diff --git a/USAGE.md b/USAGE.md index a323a03c6..d78e23e6b 100644 --- a/USAGE.md +++ b/USAGE.md @@ -5,6 +5,8 @@ - [Faker.Address.Es](lib/faker/address/es.ex) - [Faker.Address.Hy](lib/faker/address/hy.ex) - [Faker.Address.It](lib/faker/address/it.ex) +- [Faker.Address.Nl](lib/faker/address/nl.ex) +- [Faker.Address.NlBe](lib/faker/address/nl_be.ex) - [Faker.Address.PtBr](lib/faker/address/pt_br.ex) - [Faker.Address.Ru](lib/faker/address/ru.ex) - [Faker.Airports](lib/faker/airports.ex) @@ -93,10 +95,13 @@ - [Faker.Person.Fr](lib/faker/person/fr.ex) - [Faker.Person.Hy](lib/faker/person/hy.ex) - [Faker.Person.It](lib/faker/person/it.ex) +- [Faker.Person.Nl](lib/faker/person/nl.ex) +- [Faker.Person.NlBe](lib/faker/person/nl_be.ex) - [Faker.Person.PtBr](lib/faker/person/pt_br.ex) - [Faker.Phone.EnUs](lib/faker/phone/en_us.ex) - [Faker.Phone.EnGb](lib/faker/phone/en_gb.ex) - [Faker.Phone.Hy](lib/faker/phone/hy.ex) +- [Faker.Phone.Nl](lib/faker/phone/nl.ex) - [Faker.Phone.PtBr](lib/faker/phone/pt_br.ex) - [Faker.Pizza](lib/faker/pizza.ex) - [Faker.Pokemon](lib/faker/pokemon.ex) diff --git a/lib/faker/address/nl.ex b/lib/faker/address/nl.ex new file mode 100644 index 000000000..38296e1df --- /dev/null +++ b/lib/faker/address/nl.ex @@ -0,0 +1,571 @@ +defmodule Faker.Address.Nl do + import Faker, only: [sampler: 2] + + alias Faker.Person.Nl, as: Person + + @moduledoc """ + Functions for generating addresses in Dutch + """ + + @doc """ + Return a city name. + + ## Examples + + iex> Faker.Address.Nl.city() + "Katwijk aan Zee" + iex> Faker.Address.Nl.city() + "Wijk bij Duurstede" + iex> Faker.Address.Nl.city() + "Sliedrecht" + iex> Faker.Address.Nl.city() + "Amsterdam" + """ + @spec city() :: String.t() + sampler(:city, [ + "'s-Heerenberg", + "'s-Hertogenbosch", + "Acquoy", + "Alblasserdam", + "Alkmaar", + "Almere", + "Alphen aan den Rijn", + "Amersfoort", + "Amsterdam", + "Amsterdam", + "Anna Paulowna", + "Apeldoorn", + "Arnhem", + "Baarle-Nassau", + "Beesd", + "Bergen op Zoom", + "Breda", + "Brielle", + "Capelle aan den IJssel", + "Castricum", + "Coevoorden", + "Dalfsen", + "Delft", + "Den Haag", + "Den Helder", + "Deventer", + "Doetinchem", + "Dokkum", + "Dordrecht", + "Drachten", + "Ede", + "Eindhoven", + "Emmeloord", + "Emmen", + "Emmer-Compascuum", + "Enschede", + "Gasselterboerveenschemond", + "Geldermalsen", + "Goes", + "Gorinchem", + "Groesbeek", + "Groningen", + "Haarlem", + "Haarlemmermeer", + "Harderwijk", + "Hardinxveld-Giessendam", + "Heerhugowaard", + "Heerlen", + "Hendrik-Ido-Ambacht", + "Hengelo", + "Hilversum", + "Hoogeveen", + "IJmuiden", + "Kampen", + "Katwijk aan Zee", + "Landgraaf", + "Leerdam", + "Leeuwarden", + "Leiden", + "Lelystad", + "Maastricht", + "Meppel", + "Middelburg", + "Naarden", + "Nijkerk", + "Nijmegen", + "Oss", + "Papendrecht", + "Purmerend", + "Roermond", + "Roosendaal", + "Rotterdam", + "Rucphen", + "Ruigoord", + "Sleeuwijk", + "Sliedrecht", + "Sneek", + "Stadskanaal", + "Tilburg", + "Urk", + "Utrecht", + "Valkenburg", + "Veenendaal", + "Venlo", + "Vlaardingen", + "Vlissingen", + "Waalwijk", + "Wageningen", + "Westland", + "Wijk bij Duurstede", + "Wijngaarden", + "Winterswijk", + "Zaanstad", + "Zoetermeer", + "Zwijndrecht", + "Zwolle" + ]) + + @doc """ + Return street address. + + ## Examples + + iex> Faker.Address.Nl.street_address() + "Floortje van Voskade 67" + iex> Faker.Address.Nl.street_address() + "Kalver-erf 181" + iex> Faker.Address.Nl.street_address() + "Dorpkade 170" + iex> Faker.Address.Nl.street_address() + "Lingepark 23" + """ + @spec street_address() :: String.t() + def street_address do + "#{street_name()} #{house_number()}" + end + + @doc """ + Return street name. + + ## Examples + + iex> Faker.Address.Nl.street_name() + "Floortje van Voskade" + iex> Faker.Address.Nl.street_name() + "Rijnplein" + iex> Faker.Address.Nl.street_name() + "Sijmen Hoeklaan" + iex> Faker.Address.Nl.street_name() + "Annekesteeg" + """ + @spec street_name() :: String.t() + def street_name do + street_name(Faker.random_between(0, 9)) + end + + defp street_name(0), + do: "#{Person.first_name()} #{Person.tussenvoegsel()} #{Person.last_name()}#{street_suffix()}" + + defp street_name(1), do: "#{Person.first_name()} #{Person.last_name()}#{street_suffix()}" + defp street_name(2), do: "#{Person.first_name()}#{street_suffix()}" + defp street_name(3), do: "#{Person.last_name()}#{street_suffix()}" + + defp street_name(n) when is_integer(n) do + "#{street_prefix()}#{street_suffix()}" + end + + @doc """ + Return street prefix. + + ## Examples + + iex> Faker.Address.Nl.street_prefix() + "Vis" + iex> Faker.Address.Nl.street_prefix() + "School" + iex> Faker.Address.Nl.street_prefix() + "Hof" + iex> Faker.Address.Nl.street_prefix() + "Haven" + """ + @spec street_prefix() :: String.t() + sampler(:street_prefix, [ + "Aardappel", + "Dorp", + "Gasthuis", + "Graaf", + "Groen", + "Haven", + "Hof", + "IJssel", + "Kalver", + "Kerk", + "Konings", + "Lek", + "Linge", + "Maas", + "Molen", + "Nieuwe", + "Noorder", + "Oude", + "Parallel", + "Rijn", + "School", + "Vis", + "Voor", + "Waal", + "Wijn", + "Zand", + "Zuider" + ]) + + @doc """ + Return street suffix. + + ## Examples + + iex> Faker.Address.Nl.street_suffix() + "dijk" + iex> Faker.Address.Nl.street_suffix() + "-erf" + iex> Faker.Address.Nl.street_suffix() + "park" + iex> Faker.Address.Nl.street_suffix() + "markt" + """ + @spec street_suffix() :: String.t() + sampler(:street_suffix, [ + "dijk", + "-erf", + "kade", + "laan", + "markt", + "park", + "plein", + "steeg", + "straat", + "weg" + ]) + + @doc """ + Return random postcode. + + Dutch zip codes never start with a '0' and always end with two uppercase letters. + + ## Examples + + iex> Faker.Address.Nl.zip_code() + "2110 LR" + iex> Faker.Address.Nl.zip_code() + "8304 EA" + iex> Faker.Address.Nl.zip_code() + "9164 GD" + iex> Faker.Address.Nl.zip_code() + "2380 WZ" + """ + @spec zip_code() :: String.t() + def zip_code do + "#{Faker.random_between(1000, 9999)} ??" + |> Faker.format() + |> String.upcase() + end + + @doc """ + Return building number. + + But since we rarely use building numbers in the Netherlands, this will call 'Faker.Address.Nl.house_number()' instead. + """ + @spec building_number :: String.t() + def building_number, do: house_number() + + @doc """ + Return random house number. + + Dutch house numbers never start with a '0'. + + ## Examples + + iex> Faker.Address.Nl.house_number() + "211" + iex> Faker.Address.Nl.house_number() + "102" + iex> Faker.Address.Nl.house_number() + "136" + iex> Faker.Address.Nl.house_number() + "105" + """ + @spec house_number() :: String.t() + def house_number, do: "#{Faker.random_between(1, 300)}" + + @doc """ + Return a country name. + + Source: https://github.com/faker-ruby/faker + + ## Examples + + iex> Faker.Address.Nl.country() + "Zuidelijke Oceaan" + iex> Faker.Address.Nl.country() + "Sri Lanka" + iex> Faker.Address.Nl.country() + "Maldiven" + iex> Faker.Address.Nl.country() + "Macedonië" + """ + @spec country() :: String.t() + sampler(:country, [ + "Afghanistan", + "Akrotiri", + "Albanië", + "Algerije", + "Amerikaanse Maagdeneilanden", + "Amerikaans-Samoa", + "Andorra", + "Angola", + "Anguilla", + "Antarctica", + "Antigua en Barbuda", + "Noordelijke IJszee", + "Argentinië", + "Armenië", + "Aruba", + "Ashmore- en Cartiereilanden", + "Atlantische Oceaan", + "Australië", + "Azerbeidzjan", + "Bahama's", + "Bahrein", + "Bangladesh", + "Barbados", + "Belarus", + "België", + "Belize", + "Benin", + "Bermuda", + "Bhutan", + "Bolivië", + "Bosnië-Herzegovina", + "Botswana", + "Bouveteiland", + "Brazilië", + "Brits Indische Oceaanterritorium", + "Britse Maagdeneilanden", + "Brunei", + "Bulgarije", + "Burkina Faso", + "Burundi", + "Cambodja", + "Canada", + "Caymaneilanden", + "Centraal-Afrikaanse Republiek", + "Chili", + "China", + "Christmaseiland", + "Clipperton", + "Cocoseilanden", + "Colombia", + "Comoren (Unie)", + "Congo (Democratische Republiek)", + "Congo (Volksrepubliek)", + "Cook", + "Coral Sea Islands", + "Costa Rica", + "Cuba", + "Cyprus", + "Denemarken", + "Dhekelia", + "Djibouti", + "Dominica", + "Dominicaanse Republiek", + "Duitsland", + "Ecuador", + "Egypte", + "El Salvador", + "Equatoriaal-Guinea", + "Eritrea", + "Estland", + "Ethiopië", + "Europese Unie", + "Falkland", + "Faeröer", + "Fiji", + "Filipijnen", + "Finland", + "Frankrijk", + "Frans-Polynesië", + "Franse Zuidelijke en Antarctische Gebieden", + "Gabon", + "Gambia", + "Gaza Strip", + "Georgië", + "Ghana", + "Gibraltar", + "Grenada", + "Griekenland", + "Groenland", + "Guam", + "Guatemala", + "Guernsey", + "Guinea", + "Guinee-Bissau", + "Guyana", + "Haïti", + "Heard en McDonaldeilanden", + "Heilige Stoel", + "Honduras", + "Hongarije", + "Hongkong", + "Ierland", + "IJsland", + "India", + "Indian Ocean", + "Indonesië", + "Irak", + "Iran", + "Isle of Man", + "Israël", + "Italië", + "Ivoorkust", + "Jamaica", + "Jan Mayen", + "Japan", + "Jemen", + "Jersey", + "Jordanië", + "Kaapverdië", + "Kameroen", + "Kazachstan", + "Kenia", + "Kirgizstan", + "Kiribati", + "Koeweit", + "Kroatië", + "Laos", + "Lesotho", + "Letland", + "Libanon", + "Liberia", + "Libië", + "Liechtenstein", + "Litouwen", + "Luxemburg", + "Macao", + "Macedonië", + "Madagaskar", + "Malawi", + "Maldiven", + "Maleisië", + "Mali", + "Malta", + "Marokko", + "Marshalleilanden", + "Mauritanië", + "Mauritius", + "Mayotte", + "Mexico", + "Micronesia, Federale Staten van", + "Moldavië", + "Monaco", + "Mongolië", + "Montenegro", + "Montserrat", + "Mozambique", + "Myanmar", + "Namibië", + "Nauru", + "Navassa", + "Nederland", + "Nederlandse Antillen", + "Nepal", + "Ngwane", + "Nicaragua", + "Nieuw-Caledonië", + "Nieuw-Zeeland", + "Niger", + "Nigeria", + "Niue", + "Noordelijke Marianen", + "Noord-Korea", + "Noorwegen", + "Norfolk (eiland)", + "Oekraïne", + "Oezbekistan", + "Oman", + "Oostenrijk", + "Grote Oceaan", + "Pakistan", + "Palau", + "Panama", + "Papoea-Nieuw-Guinea", + "Paracel Islands", + "Paraguay", + "Peru", + "Pitcairn", + "Polen", + "Portugal", + "Puerto Rico", + "Qatar", + "Roemenië", + "Rusland", + "Rwanda", + "Saint Helena", + "Saint Lucia", + "Saint Vincent en de Grenadines", + "Saint-Pierre en Miquelon", + "Salomon", + "Samoa", + "San Marino", + "São Tomé en Principe", + "Saudi-Arabië", + "Senegal", + "Servië", + "Seychellen", + "Sierra Leone", + "Singapore", + "Sint-Kitts en Nevis", + "Slovenië", + "Slowakije", + "Soedan", + "Somalië", + "South Georgia and the South Sandwich Islands", + "Zuidelijke Oceaan", + "Spanje", + "Spratly Islands", + "Sri Lanka", + "Suriname", + "Svalbard", + "Syrië", + "Tadzjikistan", + "Taiwan", + "Tanzania", + "Thailand", + "Timor Leste", + "Togo", + "Tokelau", + "Tonga", + "Trinidad en Tobago", + "Tsjaad", + "Tsjechië", + "Tunesië", + "Turkije", + "Turkmenistan", + "Turks-en Caicoseilanden", + "Tuvalu", + "Uganda", + "Uruguay", + "Vanuatu", + "Venezuela", + "Verenigd Koninkrijk", + "Verenigde Arabische Emiraten", + "Verenigde Staten van Amerika", + "Vietnam", + "Wake (eiland)", + "Wallis en Futuna", + "Wereld", + "Westelijke Jordaanoever", + "Westelijke Sahara", + "Zambia", + "Zimbabwe", + "Zuid-Afrika", + "Zuid-Korea", + "Zweden", + "Zwitserland" + ]) +end diff --git a/lib/faker/address/nl_be.ex b/lib/faker/address/nl_be.ex new file mode 100644 index 000000000..67d965c24 --- /dev/null +++ b/lib/faker/address/nl_be.ex @@ -0,0 +1,549 @@ +defmodule Faker.Address.NlBe do + import Faker, only: [sampler: 2] + + alias Faker.Person.NlBe, as: Person + + @moduledoc """ + Functions for generating addresses and cities in Flemish + """ + + @consonants ~c"bcdfghjklmnprstvw" + defp consonant do + char = Enum.at(@consonants, Faker.random_between(0, Enum.count(@consonants) - 1)) + to_string([char]) + end + + @culled_consonants ~c"bdfklmnprst" + defp culled_consonant do + char = + Enum.at(@culled_consonants, Faker.random_between(0, Enum.count(@culled_consonants) - 1)) + + to_string([char]) + end + + @vowels ~c"aeiou" + defp vowel do + char = Enum.at(@vowels, Faker.random_between(0, Enum.count(@vowels) - 1)) + to_string([char]) + end + + @doc """ + Return a city name. + + ## Examples + + iex> Faker.Address.NlBe.city() + "Cennelede" + iex> Faker.Address.NlBe.city() + "Tussenaken" + iex> Faker.Address.NlBe.city() + "Fobbelloon" + iex> Faker.Address.NlBe.city() + "Bakkelbergen" + """ + def city() do + start = city_prefix() + "#{start}#{city_suffix(start)}" + end + + defp city_prefix() do + String.capitalize("#{consonant()}#{vowel()}#{culled_consonant()}") + end + + defp city_suffix(city_start) do + last_letter = String.last(city_start) + + case Faker.random_between(0, 5) do + 0 -> "#{last_letter}e" + 1 -> "#{last_letter}el#{city_suffix_consonant()}" + 2 -> "#{last_letter}el#{city_suffix_vowel()}" + 3 -> "#{last_letter}en#{city_suffix_vowel()}" + 4 -> "#{last_letter}er#{city_suffix_consonant()}" + _ -> city_suffix_consonant() + end + end + + @doc """ + Return a city suffix starting with a consonant + + ## Examples + + iex> Faker.Address.NlBe.city_suffix_consonant() + "leeuw" + iex> Faker.Address.NlBe.city_suffix_consonant() + "muide" + iex> Faker.Address.NlBe.city_suffix_consonant() + "loon" + iex> Faker.Address.NlBe.city_suffix_consonant() + "pem" + """ + @spec city_suffix_consonant() :: String.t() + sampler(:city_suffix_consonant, [ + "berge", + "bergen", + "bode", + "burg", + "gem", + "hout", + "leeuw", + "loon", + "monde", + "muide", + "munster", + "pen", + "pem", + "poort" + ]) + + @doc """ + Return a city suffix starting with a vowel + + ## Examples + + iex> Faker.Address.NlBe.city_suffix_vowel() + "aken" + iex> Faker.Address.NlBe.city_suffix_vowel() + "are" + iex> Faker.Address.NlBe.city_suffix_vowel() + "em" + iex> Faker.Address.NlBe.city_suffix_vowel() + "en" + """ + @spec city_suffix_vowel() :: String.t() + sampler(:city_suffix_vowel, [ + "aken", + "are", + "ede", + "ene", + "en", + "em", + "egen", + "egem", + "ingen", + "oppem" + ]) + + @doc """ + Return street address. + + ## Examples + + iex> Faker.Address.NlBe.street_address() + "Pastoor C. Van Weydelaan 267 Bus 12" + iex> Faker.Address.NlBe.street_address() + "Akkerhof 170" + iex> Faker.Address.NlBe.street_address() + "Stacey Santensstraat 128" + iex> Faker.Address.NlBe.street_address() + "Sint-Omerstraat 201" + """ + @spec street_address() :: String.t() + def street_address, do: street_address(Faker.random_between(0, 16)) + + defp street_address(1) do + "#{street_name()} #{house_number()} Bus #{Faker.random_between(1, 16)}" + end + + defp street_address(2) do + "#{street_name()} #{house_number()} A#{Faker.random_between(1, 8)}" + end + + defp street_address(_) do + "#{street_name()} #{house_number()}" + end + + @doc """ + Return street name. + + ## Examples + + iex> Faker.Address.NlBe.street_name() + "Maxime Heijmanslaan" + iex> Faker.Address.NlBe.street_name() + "Casinoplein" + iex> Faker.Address.NlBe.street_name() + "Groentenmarkt" + iex> Faker.Address.NlBe.street_name() + "Jozefina Beekmansstraat" + """ + @spec street_name() :: String.t() + def street_name do + street_name(Faker.random_between(0, 9)) + end + + defp street_name(0), + do: "#{Person.first_name()} #{last_name_for_street_names()}#{street_suffix_common()}" + + defp street_name(1), + do: + "#{street_person_prefix()} #{String.capitalize(Faker.format("?"))}. #{last_name_for_street_names()}#{street_suffix_common()}" + + defp street_name(2), do: "Sint-#{Person.first_name()}#{street_suffix_common()}" + defp street_name(3), do: "#{street_prefix()} #{street_name_prefix()}#{street_suffix_common()}" + defp street_name(4), do: "#{building()}#{street_suffix_common()}" + defp street_name(5), do: "#{building()}#{street_suffix_common()}" + defp street_name(6), do: place() + + defp street_name(n) when is_integer(n) do + "#{street_name_prefix()}#{street_suffix()}" + end + + # Avoiding composed last names here + defp last_name_for_street_names(), do: last_name_for_street_names(Faker.random_between(0, 3)) + defp last_name_for_street_names(0), do: "Van #{Person.last_name_after_van()}" + defp last_name_for_street_names(1), do: "De #{Person.last_name_after_de()}" + defp last_name_for_street_names(_), do: Person.last_name_standalone() + + @doc """ + Return street prefix. + + ## Examples + + iex> Faker.Address.NlBe.street_prefix() + "Nieuwe" + iex> Faker.Address.NlBe.street_prefix() + "Korte" + iex> Faker.Address.NlBe.street_prefix() + "Hoge" + iex> Faker.Address.NlBe.street_prefix() + "Lage" + """ + @spec street_prefix() :: String.t() + sampler(:street_prefix, [ + "Nieuwe", + "Oude", + "Lage", + "Hoge", + "Lange", + "Korte" + ]) + + @doc """ + Return street prefix for streets named after famous persons. + + ## Examples + + iex> Faker.Address.NlBe.street_person_prefix() + "Generaal" + iex> Faker.Address.NlBe.street_person_prefix() + "Professor" + iex> Faker.Address.NlBe.street_person_prefix() + "Pastoor" + iex> Faker.Address.NlBe.street_person_prefix() + "Heilige" + """ + @spec street_person_prefix() :: String.t() + sampler(:street_person_prefix, [ + "Generaal", + "Graaf", + "Heilige", + "Pastoor", + "Pater", + "Professor" + ]) + + @doc """ + Return street name prefix. + + ## Examples + + iex> Faker.Address.NlBe.street_name_prefix() + "Fazant" + iex> Faker.Address.NlBe.street_name_prefix() + "Fakkel" + iex> Faker.Address.NlBe.street_name_prefix() + "Ikarus" + iex> Faker.Address.NlBe.street_name_prefix() + "Beuk" + """ + @spec street_name_prefix() :: String.t() + sampler(:street_name_prefix, [ + "Adelaar", + "Akker", + "Aster", + "Begijn", + "Berg", + "Beuk", + "Blok", + "Bok", + "Bos", + "Camille", + "Ceder", + "Citroen", + "Dam", + "Denker", + "Distel", + "Donker", + "Eekberg", + "Eik", + "Esdoorn", + "Ezel", + "Fakkel", + "Fazant", + "Floraliën", + "Frankrijk", + "Frikkandel", + "Gendarmerie", + "Hagen", + "Heir", + "Heren", + "Hoofd", + "Huidevetters", + "Ieper", + "Ierland", + "Ikarus", + "Janus", + "Jordanië", + "Koe", + "Koekoek", + "Kolibrie", + "Kroon", + "Kronenhoek", + "Laars", + "Lammer", + "Lelie", + "Limoen", + "Maan", + "Margriet", + "Mijnwerker", + "Mol", + "Muiterij", + "Nachtegaal", + "Nieuw", + "Nijverheid", + "Nobel", + "Park", + "Pastoor", + "Pater", + "Pomp", + "Raaf", + "Reep", + "Rivier", + "Rovers", + "Savaan", + "Schaapdrijver", + "Schoen", + "Sluis", + "Sterre", + "Tartarus", + "Tierlantijn", + "Tollenaar", + "Tuin", + "Uilenspiegel", + "Vaandel", + "Veldwachter", + "Viool", + "Vogel", + "Wapper", + "Warande", + "Zebra", + "Zonne", + "Zout" + ]) + + @doc """ + Returns random street suffix (common). + + ## Examples + + iex> Faker.Address.NlBe.street_suffix_common() + "laan" + iex> Faker.Address.NlBe.street_suffix_common() + "straat" + iex> Faker.Address.NlBe.street_suffix_common() + "straat" + iex> Faker.Address.NlBe.street_suffix_common() + "laan" + """ + @spec street_suffix_common() :: String.t() + sampler(:street_suffix_common, [ + "laan", + "straat" + ]) + + @doc """ + Returns random street suffix. + + ## Examples + + iex> Faker.Address.NlBe.street_suffix() + "poort" + iex> Faker.Address.NlBe.street_suffix() + "straat" + iex> Faker.Address.NlBe.street_suffix() + "straat" + iex> Faker.Address.NlBe.street_suffix() + "straat" + """ + @spec street_suffix() :: String.t() + sampler(:street_suffix, [ + "hof", + "laan", + "lei", + "poort", + "rei", + "steeg", + "straat", + "vest", + "wegel", + "weg", + "kaai" + ]) + + @doc """ + Return randon building + + Streets are often named after important community buildings + + ## Examples + + iex> Faker.Address.NlBe.building() + "Abdij" + iex> Faker.Address.NlBe.building() + "Museum" + iex> Faker.Address.NlBe.building() + "Museum" + iex> Faker.Address.NlBe.building() + "Kerkhof" + """ + @spec building() :: String.t() + sampler(:building, [ + "Abdij", + "Aquarium", + "Apotheek", + "Atelier", + "Bakker", + "Begijnhof", + "Beenhouwer", + "Beurs", + "Bioscoop", + "Boomgaard", + "Brandweer", + "Brasserie", + "Brouwerij", + "Burg", + "Café", + "Cathedraal", + "Cinema", + "Citadel", + "College", + "Crèche", + "Dekenij", + "Dierentuin", + "Drogisterij", + "Eethuis", + "Fabriek", + "Gallerij", + "Gasthuis", + "Gevangenis", + "Gymnasium", + "Hospitaal", + "Hotel", + "Internaat", + "Kapel", + "Kasteel", + "Kazerne", + "Kerk", + "Kerkhof", + "Kiosk", + "Klooster", + "Kroeg", + "Markt", + "Museum", + "Opera", + "Restaurant", + "Schouwburg", + "School", + "Slachthuis", + "Sportveld", + "Stadhuis", + "Stadium", + "Station", + "Tandarts", + "Taverne", + "Theater", + "Toren", + "Universiteit", + "Visserij", + "Weverij", + "Wijngaard", + "Winkel", + "Zagerij", + "Ziekenhuis" + ]) + + @doc """ + Return random places + + ## Examples + + iex> Faker.Address.NlBe.place() + "Kerkplein" + iex> Faker.Address.NlBe.place() + "Huidenvettersplein" + iex> Faker.Address.NlBe.place() + "Koningsmarkt" + iex> Faker.Address.NlBe.place() + "Kleine Markt" + """ + @spec place() :: String.t() + sampler(:place, [ + # markets + "Dierenmarkt", + "Eiermarkt", + "Garenmarkt", + "Groentenmarkt", + "Grote Markt", + "Kleine Markt", + "Koningsmarkt", + "Korenmarkt", + "Schoenmarkt", + "Stadsmarkt", + "Vismarkt", + "Vlasmarkt", + "Vleesmarkt", + "Vogelmarkt", + "Vrijdagmarkt", + # squares + "Aalmoezeniersplein", + "Ankerplein", + "Assisenplein", + "Beursplein", + "Casinoplein", + "Huidenvettersplein", + "Kerkplein", + "Operaplein", + # other + "Dries", + "Groenplaats", + "Patershoek", + "Kouter" + ]) + + @doc """ + Return random postcode. + + Belgian zip codes are 4-digit numbers. + + ## Examples + + iex> Faker.Address.NlBe.zip_code() + "2110" + iex> Faker.Address.NlBe.zip_code() + "7401" + iex> Faker.Address.NlBe.zip_code() + "9835" + iex> Faker.Address.NlBe.zip_code() + "8304" + """ + @spec zip_code() :: String.t() + def zip_code do + to_string(Faker.random_between(1000, 9999)) + end + + defdelegate building_number(), to: Faker.Address.Nl, as: :building_number + + defdelegate country(), to: Faker.Address.Nl, as: :country + + defdelegate house_number(), to: Faker.Address.Nl, as: :house_number +end diff --git a/lib/faker/person/nl.ex b/lib/faker/person/nl.ex new file mode 100644 index 000000000..70aa015af --- /dev/null +++ b/lib/faker/person/nl.ex @@ -0,0 +1,418 @@ +defmodule Faker.Person.Nl do + import Faker, only: [sampler: 2] + + @moduledoc """ + Functions for name data in Dutch + """ + + @doc """ + Returns a complete name (may include a suffix/prefix or both) + + ## Examples + iex> Faker.Person.Nl.name() + "Floortje van Vos" + iex> Faker.Person.Nl.name() + "Beatrix van de Klein" + iex> Faker.Person.Nl.name() + "Sijmen Hoek" + iex> Faker.Person.Nl.name() + "Theo Brouwer" + """ + @spec name() :: String.t() + def name, do: name(Faker.random_between(0, 15)) + defp name(0), do: "#{prefix()} #{first_name()} #{tussenvoegsel()} #{last_name()} #{suffix()}" + defp name(1), do: "#{prefix()} #{first_name()} #{last_name()} #{suffix()}" + defp name(2), do: "#{first_name()} #{tussenvoegsel()} #{last_name()} #{suffix()}" + defp name(3), do: "#{first_name()} #{last_name()} #{suffix()}" + + defp name(n) when is_integer(n) and n < 9, + do: "#{first_name()} #{tussenvoegsel()} #{last_name()}" + + defp name(n) when is_integer(n) do + "#{first_name()} #{last_name()}" + end + + @doc """ + Returns a random first name + + ## Examples + + iex> Faker.Person.Nl.first_name() + "Adriaan" + iex> Faker.Person.Nl.first_name() + "Floortje" + iex> Faker.Person.Nl.first_name() + "Bas" + iex> Faker.Person.Nl.first_name() + "Sietske" + """ + @spec first_name() :: String.t() + sampler(:first_name, [ + "Adriaan", + "Amber", + "Anna", + "Anne", + "Anneke", + "Annefleur", + "Annelies", + "Annemiek", + "Anouk", + "Arnoud", + "Bas", + "Beatrix", + "Benjamin", + "Benthe", + "Boudewijn", + "Bram", + "Britt", + "Carlijn", + "Carolien", + "Chantal", + "Charlotte", + "Christine", + "Claire", + "Cor", + "Cornelia", + "Cornelis", + "Daan", + "Daniël", + "David", + "Diederik", + "Dick", + "Dirk", + "Doutzen", + "Egbert-Jan", + "Emma", + "Esmee", + "Eva", + "Femke", + "Finn", + "Fleur", + "Floor", + "Floortje", + "Floris", + "Froukje", + "Gerard", + "Gerben", + "Gerrit", + "Hendrik", + "Hans", + "Henk-Jan", + "Hidde", + "Iris", + "Isa", + "Jan", + "Janna", + "Janneke", + "Jasmijn", + "Jasper", + "Jayden", + "Jesse", + "Jetske", + "Johannes", + "Jolanda", + "Joop", + "Joost", + "Julia", + "Julian", + "Karel", + "Karlijn", + "Kees", + "Kevin", + "Koen", + "Lars", + "Laurentine", + "Levi", + "Lia", + "Lieke", + "Lieve", + "Lisa", + "Lisanne", + "Lisette", + "Liza", + "Lodewijk", + "Lotte", + "Lucas", + "Luuk", + "Maartje", + "Madelief", + "Maikel", + "Maria", + "Marie-Claire", + "Martine", + "Maud", + "Maurits", + "Max", + "Merel", + "Michelle", + "Mike", + "Milan", + "Mohamed", + "Nathalie", + "Nick", + "Nicolaas", + "Niels", + "Nienke", + "Noa", + "Pascalle", + "Paul", + "Pien", + "Piet", + "Pieter", + "Pim", + "Reinier", + "Renske", + "Ria", + "Rianne", + "Rick", + "Robbert", + "Robert-Jan", + "Roderick", + "Ronald", + "Roos", + "Rozemarijn", + "Ruben", + "Sander", + "Sandra", + "Sanne", + "Sebastiaan", + "Sem", + "Sietske", + "Sijmen", + "Sjoukje", + "Sophie", + "Sterre", + "Stijn", + "Sven", + "Tess", + "Theo", + "Thijs", + "Thomas", + "Tim", + "Tineke", + "Tom", + "Tooske", + "Twan", + "Victor", + "Vincent", + "Viviènne", + "Vlinder", + "Walram", + "Wilhelmina", + "Willem", + "Willemijn", + "Yinthe", + "Zwaantje" + ]) + + @doc """ + Returns a random tussenvoegsel + + ## Examples + + iex> Faker.Person.Nl.tussenvoegsel() + "van der" + iex> Faker.Person.Nl.tussenvoegsel() + "den" + iex> Faker.Person.Nl.tussenvoegsel() + "van" + iex> Faker.Person.Nl.tussenvoegsel() + "de" + """ + @spec tussenvoegsel() :: String.t() + sampler(:tussenvoegsel, [ + "de", + "den", + "ter", + "van", + "van de", + "van den", + "van der", + "van 't" + ]) + + @doc """ + Returns a random last name + + ## Examples + + iex> Faker.Person.Nl.last_name() + "Vliet" + iex> Faker.Person.Nl.last_name() + "Willems" + iex> Faker.Person.Nl.last_name() + "Hond" + iex> Faker.Person.Nl.last_name() + "Vos" + """ + @spec last_name() :: String.t() + sampler(:last_name, [ + "Aalbersberg", + "Aartsen", + "Achteren", + "Bakker", + "Beek", + "Beekhuis", + "Besseling", + "Berg", + "Bergen", + "Bergh", + "Boer", + "Boogaard", + "Boom", + "Bos", + "Bosch", + "Boudewijn", + "Brink", + "Broeders", + "Broek", + "Brouwer", + "Bruin", + "Buijtenhek", + "Dam", + "Dekker", + "Dijk", + "Dijkstra", + "Driel", + "Driessen", + "Ebbenhorst", + "Ellemeet", + "Gelderland", + "Genderen", + "Giersbergen", + "Graaf", + "Groot", + "Haan", + "Hendriks", + "Heuvel", + "Hoek", + "Hond", + "Hoppenbrouwer", + "Houwelingen", + "Huijbrechts", + "Huisman", + "IJzendoorn", + "Jacobs", + "Jansen", + "Janssen", + "Jong", + "Keizer", + "Klein", + "Kok", + "Koning", + "Kortekaas", + "Koster", + "Kroes", + "Kruijthoff", + "Leeuwen", + "Leeuwenburg", + "Lelivelt", + "Linden", + "Maas", + "Marijnissen", + "Markenstein", + "Mastenbroek", + "Meer", + "Meersbergen", + "Meijer", + "Meulenberg", + "Molenaar", + "Mulder", + "Naaktgeboren", + "Nijland", + "Oldenbarneveld", + "Oosterhout", + "Paulusma", + "Peters", + "Pijnenburg", + "Poelman", + "Ravenhorst", + "Ridder", + "Rijn", + "Ruiter", + "Rutte", + "Schaapstra", + "Schilder", + "Schimmelpenninck", + "Schouten", + "Simons", + "Singh", + "Smit", + "Smits", + "Spijkerman", + "Stellingwerff", + "Stichting", + "Stokvis", + "Tan", + "Timmermans", + "Tjeerdsma", + "Vaatstra", + "Veen", + "Ven", + "Vermeulen", + "Vis", + "Visser", + "Vliet", + "Voorst tot Voorst", + "Vos", + "Vries", + "Waalwijk", + "Westerling", + "Wietmarschen", + "Wal", + "Willems", + "Willemstein", + "Winter", + "Wit", + "Witteman", + "Yilmaz", + "Zanten", + "Zee", + "Zwijnenburg", + "Zwolle" + ]) + + @doc """ + Returns a random prefix + + ## Examples + + iex> Faker.Person.Nl.prefix() + "Dhr." + iex> Faker.Person.Nl.prefix() + "Mevr." + iex> Faker.Person.Nl.prefix() + "Dhr." + iex> Faker.Person.Nl.prefix() + "Drs." + """ + @spec prefix() :: String.t() + sampler(:prefix, [ + "Dhr.", + "Mevr.", + "Mr.", + "Ing.", + "Drs." + ]) + + @doc """ + Returns a random suffix + + ## Examples + + iex> Faker.Person.Nl.suffix() + "Jr." + iex> Faker.Person.Nl.suffix() + "PhD" + iex> Faker.Person.Nl.suffix() + "Jr." + iex> Faker.Person.Nl.suffix() + "PhD" + """ + @spec suffix() :: String.t() + sampler(:suffix, [ + "Jr.", + "Sr.", + "PhD" + ]) +end diff --git a/lib/faker/person/nl_be.ex b/lib/faker/person/nl_be.ex new file mode 100644 index 000000000..d94b0f667 --- /dev/null +++ b/lib/faker/person/nl_be.ex @@ -0,0 +1,4374 @@ +defmodule Faker.Person.NlBe do + import Faker, only: [sampler: 2] + + @moduledoc """ + Functions for names in Flemish (Belgian Dutch) + """ + + @doc """ + Returns a complete name + + ## Examples + + iex> Faker.Person.NlBe.name() + "Milo Van Sonsbeek" + iex> Faker.Person.NlBe.name() + "Bernice Speet" + iex> Faker.Person.NlBe.name() + "Ine Van Kessel" + iex> Faker.Person.NlBe.name() + "Jozefina Beekmans" + """ + @spec name() :: String.t() + def name, do: "#{first_name()} #{last_name()}" + + @doc """ + Returns a random first name + + ## Examples + + iex> Faker.Person.NlBe.first_name() + "Milo" + iex> Faker.Person.NlBe.first_name() + "Maxime" + iex> Faker.Person.NlBe.first_name() + "Tatjana" + iex> Faker.Person.NlBe.first_name() + "Bernice" + """ + @spec first_name() :: String.t() + sampler(:first_name, [ + "Aad", + "Aafje", + "Abdul", + "Abel", + "Abraham", + "Achiel", + "Achilles", + "Achmed", + "Ad", + "Adam", + "Adelbert", + "Adelheid", + "Adele", + "Adeline", + "Adelle", + "Adolph", + "Adolphus", + "Adriaan", + "Adriaen", + "Adriana", + "Adrianus", + "Adriël", + "Adrien", + "Adrienne", + "Agatha", + "Agnes", + "Agustina", + "Ahmed", + "Aimé", + "Aimee", + "Al", + "Alan", + "Alana", + "Alanis", + "Albert", + "Alberta", + "Alberto", + "Albertus", + "Alec", + "Aleida", + "Alex", + "Alexa", + "Alexander", + "Alexandra", + "Alexandre", + "Alexandrea", + "Alexandria", + "Alexandrine", + "Alfons", + "Alfonse", + "Alfonso", + "Alfred", + "Alfreda", + "Alfredo", + "Alice", + "Alida", + "Alicia", + "Alina", + "Alisa", + "Allard", + "Allene", + "Alphonse", + "Alphonso", + "Alvina", + "Alwin", + "Alycia", + "Alyssa", + "Amalia", + "Amanda", + "Amber", + "Ambroos", + "Ambrosius", + "Amelia", + "Amelie", + "Amie", + "Amina", + "Amir", + "Amira", + "Amos", + "Amy", + "An", + "Anabel", + "Anabelle", + "Anastasia", + "André", + "Andrea", + "Andreas", + "Andries", + "Andy", + "Angèle", + "Angela", + "Angelien", + "Angelina", + "Angeline", + "Angelique", + "Angelo", + "Anika", + "Anita", + "Anja", + "Anjes", + "Anke", + "Anna", + "Annabel", + "Annabella", + "Annabelle", + "Anne", + "Anneke", + "Annelien", + "Annelies", + "Annemarie", + "Annemie", + "Annemieke", + "Annette", + "Annie", + "Annika", + "Anouk", + "Anthonie", + "Anthony", + "Antje", + "Antoine", + "Antoinette", + "Anton", + "Antoon", + "Antonie", + "Antonius", + "Antonio", + "Antwan", + "Anya", + "April", + "Archie", + "Archibald", + "Arend", + "Arie", + "Ariane", + "Arianna", + "Ariël", + "Arielle", + "Aris", + "Arjan", + "Arjen", + "Arlo", + "Armand", + "Armando", + "Arne", + "Arno", + "Arnold", + "Arnoud", + "Arnout", + "Arthur", + "Artur", + "Aster", + "Astrid", + "Aubree", + "Aubrey", + "Audrey", + "August", + "Augusta", + "Augustijn", + "Augustus", + "Aurelia", + "Aurelie", + "Aurelio", + "Axel", + "Axelle", + "Babette", + "Balthazar", + "Barbara", + "Barend", + "Barry", + "Bart", + "Bartel", + "Bartholomeus", + "Bas", + "Basil", + "Bastiaan", + "Bea", + "Beatrice", + "Beatrijs", + "Beatrix", + "Beau", + "Bella", + "Belle", + "Ben", + "Benedictus", + "Benjamin", + "Benji", + "Bennie", + "Benny", + "Bent", + "Bente", + "Benthe", + "Berend", + "Berendina", + "Bernadette", + "Bernadine", + "Bernard", + "Bernardus", + "Bernhard", + "Bernice", + "Bernie", + "Berry", + "Bert", + "Berta", + "Bertha", + "Bertram", + "Bertrand", + "Bertus", + "Bessie", + "Beth", + "Betsy", + "Betje", + "Bettie", + "Betty", + "Bianca", + "Bianka", + "Bil", + "Billie", + "Billy", + "Birgen", + "Birger", + "Björn", + "Blaise", + "Blanche", + "Bo", + "Bob", + "Bobbie", + "Boele", + "Bokkie", + "Bonifaas", + "Bonita", + "Bonnie", + "Boris", + "Boudewijn", + "Bram", + "Bran", + "Brandon", + "Brant", + "Braulinde", + "Brayen", + "Breanne", + "Brecht", + "Brenda", + "Brent", + "Brian", + "Briana", + "Brianne", + "Briëlle", + "Brigitta", + "Brigitte", + "Brit", + "Britt", + "Britney", + "Broderick", + "Broos", + "Bruno", + "Bryan", + "Bryana", + "Camilla", + "Camille", + "Cara", + "Carine", + "Carissa", + "Carl", + "Carla", + "Carlo", + "Carlos", + "Carmella", + "Carmen", + "Caro", + "Carolien", + "Caroline", + "Carolus", + "Carrie", + "Carsten", + "Cas", + "Casimir", + "Casper", + "Cassandra", + "Cathelijn", + "Catherina", + "Catherine", + "Cathy", + "Cato", + "Ceasar", + "Cecil", + "Cecile", + "Cecilia", + "Cedric", + "Celestine", + "Celestijn", + "Celia", + "Celine", + "Céline", + "César", + "Chanelle", + "Chantal", + "Chantalle", + "Charlene", + "Charles", + "Charlie", + "Charlotte", + "Chancey", + "Chelsea", + "Chester", + "Chloë", + "Chris", + "Christel", + "Christelle", + "Christiaan", + "Christian", + "Christiana", + "Christina", + "Christine", + "Christof", + "Christoffel", + "Christoph", + "Christophe", + "Christopher", + "Christy", + "Ciara", + "Cid", + "Cindy", + "Clair", + "Claire", + "Clara", + "Clarabelle", + "Clarissa", + "Claude", + "Claudia", + "Claudine", + "Claus", + "Clemens", + "Clement", + "Clementina", + "Clementine", + "Cleo", + "Cleta", + "Cletus", + "Cliff", + "Clotilde", + "Clovis", + "Coen", + "Coenraad", + "Colin", + "Collin", + "Conner", + "Connie", + "Connor", + "Constance", + "Constantin", + "Consuela", + "Coos", + "Cor", + "Cora", + "Coralie", + "Corben", + "Cordelia", + "Corine", + "Corneel", + "Cornelia", + "Cornelis", + "Cornelius", + "Corwin", + "Cristel", + "Cristiaan", + "Cristina", + "Cristopher", + "Curt", + "Curtis", + "Cynthia", + "Cyril", + "Cyrus", + "Daan", + "Dagmar", + "Dahlia", + "Daisy", + "Damiaan", + "Damien", + "Damon", + "Dan", + "Dana", + "Dani", + "Daniël", + "Daniëla", + "Daniëlla", + "Daniëlle", + "Danika", + "Dannie", + "Danny", + "Dante", + "Danyka", + "Daphne", + "Darcy", + "Darien", + "Dario", + "Darius", + "Darwin", + "Daryl", + "Dave", + "David", + "Davin", + "Davy", + "Dax", + "Dean", + "Deborah", + "Dedric", + "Dedrick", + "Dee", + "Delbert", + "Delfina", + "Deli", + "Delia", + "Delores", + "Delphina", + "Delphine", + "Demetrius", + "Dena", + "Denis", + "Denise", + "Dennis", + "Derek", + "Derrick", + "Desiderius", + "Désirée", + "Desmond", + "Devin", + "Devy", + "Dexter", + "Diana", + "Dianna", + "Dickie", + "Didiër", + "Diederik", + "Diëgo", + "Dieter", + "Dikkie", + "Dilan", + "Dimitri", + "Dina", + "Dino", + "Dirk", + "Dirkje", + "Dixie", + "Dolly", + "Dolores", + "Domenico", + "Dominicus", + "Dominiek", + "Dominique", + "Don", + "Donald", + "Donato", + "Donna", + "Donnie", + "Donny", + "Doortje", + "Dora", + "Dorian", + "Dorien", + "Doris", + "Dorothea", + "Dré", + "Dreesje", + "Dries", + "Duncan", + "Dustin", + "Dylan", + "Ed", + "Edan", + "Eddie", + "Eddy", + "Eden", + "Edgar", + "Edith", + "Edmond", + "Edmund", + "Edna", + "Edward", + "Edwardo", + "Edwin", + "Edwina", + "Eefje", + "Egidius", + "Eileen", + "Einar", + "Eino", + "Eladio", + "Elaina", + "Elbert", + "Elda", + "Eldon", + "Eldora", + "Eldred", + "Eleanore", + "Elena", + "Eleonore", + "Elfrieda", + "Eli", + "Elia", + "Eliane", + "Elias", + "Elijah", + "Elinor", + "Elinore", + "Elio", + "Elisa", + "Elisabeth", + "Elise", + "Eliza", + "Elizabeth", + "Elke", + "Ella", + "Ellen", + "Ellie", + "Elliot", + "Elly", + "Elma", + "Elmer", + "Elmira", + "Elmo", + "Elmut", + "Elody", + "Eloise", + "Elouise", + "Els", + "Elsa", + "Elsie", + "Elsje", + "Elton", + "Elwin", + "Elyse", + "Elza", + "Emanuel", + "Emie", + "Emiel", + "Emile", + "Emilia", + "Emilie", + "Emma", + "Emmanuel", + "Emmanuelle", + "Emmet", + "Emmerik", + "Emmy", + "Emy", + "Ena", + "Enneke", + "Enola", + "Eran", + "Eric", + "Erica", + "Erik", + "Erika", + "Erin", + "Erna", + "Ernest", + "Ernestina", + "Ernestine", + "Ernie", + "Erwin", + "Eryn", + "Esmée", + "Esmeralda", + "Espen", + "Esperanza", + "Estefania", + "Estel", + "Estella", + "Estelle", + "Esther", + "Estrella", + "Ethan", + "Ethel", + "Eudora", + "Eugene", + "Eugenia", + "Eunice", + "Eva", + "Evaline", + "Evangelina", + "Evans", + "Eveline", + "Evelyn", + "Evert", + "Evie", + "Evy", + "Ewald", + "Ewout", + "Ezekiel", + "Ezra", + "Fabian", + "Fabiola", + "Fabrice", + "Fabricius", + "Famke", + "Fanny", + "Fatima", + "Felicia", + "Felix", + "Femke", + "Ferdinand", + "Fernando", + "Fie", + "Fien", + "Fier", + "Fil", + "Filemon", + "Filibert", + "Filip", + "Filippus", + "Finn", + "Fiona", + "Firmin", + "Flavie", + "Flavio", + "Fleur", + "Flinn", + "Flip", + "Flo", + "Flor", + "Florke", + "Floor", + "Floortje", + "Floris", + "Florentine", + "Florian", + "Floriaan", + "Florine", + "Francesca", + "Francis", + "Francisca", + "Francisco", + "Franciscus", + "Frank", + "Frankie", + "Frans", + "Franz", + "Fred", + "Freddie", + "Freddy", + "Frederick", + "Frederik", + "Frederique", + "Freeda", + "Freek", + "Freya", + "Frida", + "Fridolinus", + "Frieda", + "Friedo", + "Frits", + "Fritz", + "Gabriël", + "Gabriëlla", + "Gabriëlle", + "Gaby", + "Gaetano", + "Garry", + "Gaston", + "Geert", + "Geertruida", + "Gene", + "Geoffrey", + "George", + "Georgette", + "Geovanni", + "Gerald", + "Geraldine", + "Gerard", + "Gerarda", + "Gerben", + "Gerda", + "Gerhard", + "Gerold", + "Germaine", + "Gerrit", + "Gerrie", + "Gert", + "Gert-Jan", + "Gertrude", + "Gideon", + "Gijs", + "Gijsbert", + "Gilbert", + "Gilberto", + "Gilda", + "Giles", + "Gill", + "Gillis", + "Gina", + "Gino", + "Giovanni", + "Gisselle", + "Glen", + "Glenda", + "Glenn", + "Gloria", + "Godelieve", + "Godfried", + "Goedele", + "Goedroen", + "Goes", + "Goos", + "Govert", + "Grace", + "Gracie", + "Greet", + "Greetje", + "Greg", + "Gregoria", + "Gregorius", + "Gregory", + "Greta", + "Griet", + "Grietje", + "Gudrun", + "Guido", + "Gunnar", + "Gunter", + "Gunther", + "Gus", + "Gust", + "Gusta", + "Gustaaf", + "Gustav", + "Guus", + "Guusje", + "Guust", + "Guy", + "Gwen", + "Gwendolien", + "Hailey", + "Hal", + "Han", + "Hanna", + "Hanne", + "Hanneke", + "Hannelore", + "Hannes", + "Hans", + "Hansje", + "Harmen", + "Harold", + "Harrie", + "Harry", + "Hassan", + "Hector", + "Hedwig", + "Hedwin", + "Heidi", + "Hein", + "Heinke", + "Heleen", + "Helena", + "Helene", + "Helga", + "Hellen", + "Helmut", + "Heloise", + "Hendrik", + "Hendrika", + "Hendrikje", + "Henk", + "Henri", + "Henriëtte", + "Henry", + "Herbert", + "Herman", + "Hermelien", + "Hermina", + "Hester", + "Hilbert", + "Hilda", + "Hilde", + "Hildegard", + "Hilma", + "Hobart", + "Horace", + "Horacio", + "Hortense", + "Howard", + "Hubert", + "Hugo", + "Ian", + "Ibrahim", + "Ida", + "Ignatius", + "Ike", + "Ilse", + "Ilya", + "Ilene", + "Ima", + "Imelda", + "Immanuel", + "Ine", + "Ineke", + "Ines", + "Inge", + "Ingrid", + "Irene", + "Iris", + "Irma", + "Irwin", + "Isaac", + "Isaak", + "Isabel", + "Isabella", + "Isabelle", + "Isidoor", + "Ismaël", + "Ivan", + "Ivo", + "Ivonne", + "Izaiah", + "Jaak", + "Jaap", + "Jaco", + "Jacob", + "Jacoba", + "Jacobus", + "Jacomina", + "Jack", + "Jackeline", + "Jackie", + "Jacky", + "Jacqueline", + "Jacques", + "Jacynthe", + "Jade", + "Jaime", + "Jaimie", + "Jake", + "Jakie", + "Jakob", + "Jamal", + "Jamar", + "Jamarcus", + "James", + "Jamie", + "Jamil", + "Jan", + "Jan-Jaap", + "Jana", + "Janelle", + "Janet", + "Janice", + "Janick", + "Janis", + "Jannes", + "Jannick", + "Jannie", + "Janus", + "Jaques", + "Jaquelin", + "Jaqueline", + "Jasmijn", + "Jasmine", + "Jason", + "Jasper", + "Javier", + "Jayden", + "Jean", + "Jean-Claude", + "Jean-Luc", + "Jean-Marie", + "Jean-Paul", + "Jean-Pierre", + "Jeanette", + "Jeanie", + "Jeanne", + "Jef", + "Jeffrey", + "Jelle", + "Jennie", + "Jennifer", + "Jenny", + "Jens", + "Jente", + "Jeremie", + "Jeremy", + "Jermaine", + "Jeroen", + "Jerome", + "Jerre", + "Jerry", + "Jesper", + "Jesse", + "Jessica", + "Jessie", + "Jessika", + "Jette", + "Jil", + "Jim", + "Jimmie", + "Jimmy", + "Jo", + "Joachim", + "Joanna", + "Joanne", + "Jobbe", + "Jocelien", + "Jochem", + "Jochen", + "Jodie", + "Joep", + "Joël", + "Joëlle", + "Joeri", + "Joey", + "Johan", + "Johanna", + "Johannes", + "John", + "Johnnie", + "Johnny", + "Joke", + "Jolanda", + "Jolien", + "Jolijn", + "Jon", + "Jonas", + "Jonatan", + "Jonathan", + "Joop", + "Joos", + "Joost", + "Joran", + "Jordan", + "Jordi", + "Jordy", + "Joren", + "Jorge", + "Jorgen", + "Jorien", + "Joris", + "Jos", + "Josanne", + "José", + "Joseph", + "Josephina", + "Josephine", + "Joshua", + "Joske", + "Jovanni", + "Jowan", + "Joyce", + "Jozef", + "Jozefien", + "Jozefina", + "Judith", + "Jules", + "Julia", + "Julian", + "Juliana", + "Julianne", + "Julie", + "Julien", + "Juliet", + "Juliette", + "Julio", + "Julius", + "Jurjen", + "Jurgen", + "Justin", + "Justina", + "Justine", + "Justien", + "Justus", + "Juust", + "Kaat", + "Kai", + "Kaitlyn", + "Kamiel", + "Kara", + "Karel", + "Karen", + "Karien", + "Karin", + "Karina", + "Karine", + "Karl", + "Karlee", + "Karlijn", + "Karolien", + "Kas", + "Kasey", + "Kassandra", + "Kat", + "Katelijn", + "Katharina", + "Katherine", + "Kathleen", + "Kathelijn", + "Katinka", + "Katja", + "Katleen", + "Katlien", + "Kato", + "Katrina", + "Katrien", + "Kees", + "Keesje", + "Kellie", + "Kelly", + "Kelsi", + "Kelsie", + "Ken", + "Kenji", + "Kenneth", + "Kennie", + "Kenny", + "Kevin", + "Kiara", + "Kim", + "Kimberly", + "Kira", + "Kirsten", + "Kitty", + "Klaartje", + "Klaas", + "Klaus", + "Klara", + "Kobe", + "Koen", + "Koenraad", + "Koos", + "Kor", + "Korbijn", + "Kris", + "Kristi", + "Kristel", + "Kristian", + "Kristien", + "Kristina", + "Kristof", + "Kristoff", + "Kristoffer", + "Kristy", + "Kurt", + "Kyle", + "Kyra", + "Laila", + "Lambert", + "Lambik", + "Lander", + "Lara", + "Larissa", + "Larry", + "Lars", + "Laura", + "Lauren", + "Laurence", + "Laurens", + "Laurentien", + "Laurianne", + "Laurie", + "Laurine", + "Lawrence", + "Layla", + "Lea", + "Leander", + "Leandro", + "Leanna", + "Leanne", + "Leda", + "Lee", + "Leen", + "Leentje", + "Leendert", + "Leila", + "Lennert", + "Lennie", + "Lenny", + "Lenora", + "Lenore", + "Leo", + "Leon", + "Leonard", + "Leonardus", + "Leone", + "Leonel", + "Leonie", + "Leonore", + "Leontine", + "Leopold", + "Leora", + "Lesley", + "Leslie", + "Lester", + "Letitia", + "Levi", + "Lewis", + "Lex", + "Lexie", + "Liam", + "Lieke", + "Lies", + "Liesbeth", + "Lieselot", + "Lieselotte", + "Lien", + "Lieve", + "Lieven", + "Liliana", + "Liliane", + "Lily", + "Linda", + "Linde", + "Lindsay", + "Lindsey", + "Linn", + "Line", + "Linus", + "Lionel", + "Lisa", + "Lise", + "Lisette", + "Liza", + "Lode", + "Lodewijk", + "Loena", + "Loes", + "Loïs", + "Loïse", + "Lola", + "Lonneke", + "Lonnie", + "Lonny", + "Lor", + "Lora", + "Lore", + "Loraine", + "Loren", + "Lorens", + "Lorenz", + "Lorenzo", + "Loris", + "Lorine", + "Lot", + "Lotte", + "Lou", + "Louie", + "Louise", + "Lourdes", + "Lowie", + "Luc", + "Luca", + "Lucas", + "Lucie", + "Lucienne", + "Lucile", + "Lucinda", + "Lucio", + "Lucius", + "Lucy", + "Ludo", + "Ludwig", + "Ludwin", + "Luigi", + "Luk", + "Luka", + "Lukas", + "Luke", + "Luna", + "Lut", + "Luuk", + "Lyda", + "Lydia", + "Lynn", + "Lysanne", + "Maaike", + "Maarten", + "Maartje", + "Mabelle", + "Machiel", + "Macie", + "Machteld", + "Mack", + "Madeleine", + "Madelien", + "Madelijn", + "Madeline", + "Magalie", + "Magda", + "Magdalena", + "Maggie", + "Maia", + "Maikel", + "Malinda", + "Mallorie", + "Malvina", + "Mandie", + "Mandy", + "Manuel", + "Manuela", + "Mara", + "Marc", + "Marcel", + "Marcella", + "Marcellus", + "Marcelo", + "Marcia", + "Marco", + "Marcus", + "Margaretta", + "Margarette", + "Margarita", + "Margot", + "Margriet", + "Maria", + "Mariane", + "Marianna", + "Marianne", + "Marie", + "Marie-Anne", + "Marie-Antoinette", + "Marie-Jeanne", + "Marie-José", + "Marieke", + "Mariette", + "Marijke", + "Marijn", + "Marilie", + "Marilou", + "Marina", + "Mario", + "Marius", + "Marja", + "Marjan", + "Marjo", + "Marjolijn", + "Marjorie", + "Mark", + "Markus", + "Marleen", + "Marlene", + "Marlies", + "Marlijn", + "Marloes", + "Marq", + "Mart", + "Marta", + "Marten", + "Marthe", + "Martijn", + "Martina", + "Martine", + "Maryan", + "Mateo", + "Mathieu", + "Mathijs", + "Mathias", + "Mathilde", + "Matijs", + "Matilda", + "Matilde", + "Matteo", + "Mattheus", + "Matthias", + "Matthijs", + "Mattias", + "Maureen", + "Maurice", + "Maurits", + "Mauritz", + "Max", + "Maxie", + "Maxime", + "Maximiliaan", + "Maximillia", + "Maxine", + "Maya", + "Mégane", + "Meghan", + "Melanie", + "Melissa", + "Melodie", + "Melvin", + "Melvina", + "Melyssa", + "Menno", + "Merel", + "Merijn", + "Merlijn", + "Mia", + "Mica", + "Micah", + "Michael", + "Michaël", + "Michaela", + "Michel", + "Michelle", + "Michiel", + "Mieke", + "Miel", + "Miguel", + "Mika", + "Mike", + "Milan", + "Miles", + "Milo", + "Mina", + "Minerva", + "Minnie", + "Mira", + "Mireille", + "Mirko", + "Mitch", + "Modest", + "Modesta", + "Mohamed", + "Mohammed", + "Mollie", + "Molly", + "Mon", + "Mona", + "Monica", + "Monique", + "Moos", + "Morgan", + "Morgane", + "Moris", + "Moses", + "Muriël", + "Muriëlle", + "Murphy", + "Mustafa", + "Myles", + "Myra", + "Myriam", + "Myrianne", + "Myrthe", + "Nadia", + "Nadine", + "Nanouch", + "Naomi", + "Naomie", + "Napoleon", + "Nasir", + "Nat", + "Natalia", + "Natalie", + "Natasha", + "Nathan", + "Nathaniël", + "Ned", + "Neil", + "Nel", + "Nella", + "Nelle", + "Nellie", + "Nelson", + "Nestor", + "Nettie", + "Nicholas", + "Nicholaus", + "Nichole", + "Nick", + "Nickolas", + "Nico", + "Nicola", + "Nicolas", + "Nicole", + "Niek", + "Niel", + "Niels", + "Nigel", + "Nik", + "Nikita", + "Nikki", + "Niko", + "Nikolas", + "Nils", + "Nina", + "Noah", + "Nobel", + "Noë", + "Noëlle", + "Noëmi", + "Noëmie", + "Noor", + "Nora", + "Norbert", + "Nordin", + "Norman", + "Octaaf", + "Octavia", + "Octavius", + "Odelle", + "Odessa", + "Odie", + "Ofelia", + "Olaf", + "Olav", + "Oldrik", + "Oleta", + "Olga", + "Oliver", + "Olivier", + "Olle", + "Olliver", + "Ollivier", + "Ollie", + "Omer", + "Ophelia", + "Orin", + "Orlando", + "Oscar", + "Oswald", + "Otto", + "Owen", + "Pablo", + "Pam", + "Pamela", + "Pan", + "Paola", + "Paris", + "Pascal", + "Pascale", + "Pat", + "Patricia", + "Patrick", + "Patriek", + "Patsy", + "Paul", + "Paula", + "Pauline", + "Pedro", + "Peggie", + "Pepijn", + "Perre", + "Peter", + "Petra", + "Petrus", + "Phil", + "Philemon", + "Philip", + "Philippe", + "Philippa", + "Pier", + "Pierre", + "Pierre-Joseph", + "Pierre-Yves", + "Piet", + "Pieter", + "Pieter-Jan", + "Pieternel", + "Pietje", + "Pim", + "Pjotr", + "Pod", + "Poderik", + "Poe", + "Pol", + "Pommelien", + "Quentin", + "Quincy", + "Quinten", + "Rachel", + "Rachelle", + "Rae", + "Raf", + "Rafaël", + "Raffaël", + "Raimond", + "Ralf", + "Ralph", + "Ramiro", + "Ramon", + "Ramona", + "Randal", + "Randi", + "Rani", + "Raphaël", + "Raphaëlla", + "Raul", + "Ray", + "Raymond", + "Raymundus", + "Rebecca", + "Regi", + "Reginald", + "Rein", + "Reindert", + "Reinhard", + "Remco", + "Remi", + "Remy", + "René", + "Renee", + "Rens", + "Reuben", + "Rex", + "Reymond", + "Reynold", + "Rhea", + "Ria", + "Ricardo", + "Richard", + "Rickie", + "Ricky", + "Rico", + "Rijkert", + "Rik", + "Riko", + "Rikkert", + "Rikkie", + "Rita", + "Rob", + "Robbe", + "Robbie", + "Robert", + "Roberta", + "Roberto", + "Robin", + "Robrecht", + "Rod", + "Roderik", + "Roel", + "Roeland", + "Roger", + "Rogier", + "Roland", + "Rombout", + "Romelu", + "Romeyn", + "Romi", + "Ron", + "Ronald", + "Ronaldo", + "Ronny", + "Roos", + "Rosa", + "Rosalie", + "Roselien", + "Roselinde", + "Rosemarie", + "Rosemond", + "Rosie", + "Roxane", + "Roxanne", + "Roy", + "Royce", + "Rozanne", + "Rozemarijn", + "Ruben", + "Ruby", + "Rudolf", + "Rudolph", + "Rudy", + "Rupert", + "Rut", + "Ruud", + "Ryan", + "Saartje", + "Sabina", + "Sabine", + "Sabrina", + "Sally", + "Sam", + "Samanta", + "Samantha", + "Samara", + "Samir", + "Sammie", + "Sammy", + "Samson", + "Samuel", + "Sander", + "Sandra", + "Sandrine", + "Sandy", + "Sanne", + "Santos", + "Sara", + "Sarah", + "Sasha", + "Saskia", + "Sean", + "Seb", + "Sebastiaan", + "Selena", + "Sem", + "Sep", + "Seppe", + "Serena", + "Seth", + "Shana", + "Shanelle", + "Shania", + "Shawn", + "Sibe", + "Sid", + "Sien", + "Sientje", + "Sigmond", + "Sigrid", + "Sigurd", + "Silas", + "Sim", + "Simeon", + "Simon", + "Simone", + "Simson", + "Sippe", + "Sis", + "Siske", + "Sjaak", + "Sjoerd", + "Sofia", + "Sofie", + "Sonja", + "Sonya", + "Sophia", + "Sophie", + "Stacey", + "Stacy", + "Staf", + "Stan", + "Stannie", + "Stanny", + "Stany", + "Stef", + "Stefaan", + "Stefan", + "Stefanie", + "Stella", + "Stephan", + "Stephane", + "Stephanie", + "Stephany", + "Stephen", + "Steve", + "Steven", + "Stevie", + "Stijn", + "Stoffel", + "Sus", + "Susan", + "Susie", + "Suske", + "Suzan", + "Suzanne", + "Sven", + "Sylla", + "Sylvester", + "Sylvia", + "Sylvie", + "Tamara", + "Tanja", + "Tanya", + "Tatjana", + "Tea", + "Ted", + "Telma", + "Teo", + "Teresa", + "Terry", + "Tessa", + "Teun", + "Teunis", + "Thea", + "Theo", + "Theodoor", + "Theodora", + "Theresa", + "Therese", + "Theunis", + "Thibau", + "Thibaut", + "Thijs", + "Thom", + "Thomas", + "Thor", + "Tia", + "Tiana", + "Tiara", + "Tibau", + "Tibaut", + "Tibeau", + "Tibo", + "Tiene", + "Ties", + "Tiffany", + "Tijl", + "Tijn", + "Tijs", + "Tim", + "Timme", + "Timmy", + "Timo", + "Timothy", + "Tina", + "Tine", + "Tineke", + "Titus", + "Tjebbe", + "Tobe", + "Tobias", + "Toby", + "Toine", + "Tom", + "Tomas", + "Tommie", + "Ton", + "Tonie", + "Tony", + "Toon", + "Tor", + "Torsten", + "Tracy", + "Trees", + "Trijn", + "Tristan", + "Troy", + "Truus", + "Tuur", + "Twan", + "Tyler", + "Udo", + "Ulrik", + "Uma", + "Urbain", + "Urbanus", + "Uriël", + "Ursula", + "Valentijn", + "Valentina", + "Valentine", + "Valerie", + "Vanessa", + "Veerle", + "Velma", + "Vera", + "Veronica", + "Veroniek", + "Veronique", + "Vic", + "Vickie", + "Vicky", + "Victor", + "Victoria", + "Vidal", + "Viktor", + "Vincent", + "Vinnie", + "Viola", + "Violet", + "Violette", + "Virginie", + "Vita", + "Vito", + "Vitus", + "Vivian", + "Viviane", + "Vivianne", + "Vivien", + "Vivienne", + "Waldo", + "Walter", + "Wan", + "Wannes", + "Ward", + "Warius", + "Warres", + "Waut", + "Wauter", + "Wendy", + "Werner", + "Wes", + "Wesley", + "Wil", + "Wilber", + "Wilbert", + "Wilco", + "Wilfred", + "Wilfredo", + "Wilfrid", + "Wilfried", + "Wilhelm", + "Wilhelmine", + "Wilhelmus", + "Willem", + "William", + "Willie", + "Willy", + "Wilma", + "Wim", + "Winfried", + "Wiske", + "Witse", + "Wout", + "Wouter", + "Xander", + "Xavier", + "Yamina", + "Yannick", + "Yasmina", + "Yasmine", + "Yenthe", + "Yoeri", + "Yolanda", + "Yoshua", + "Yuri", + "Yves", + "Yvette", + "Yvonne", + "Zachariah", + "Zacharie", + "Zackie", + "Zander", + "Zeger", + "Zita", + "Zoë", + "Zoey", + "Zola", + "Zora" + ]) + + @doc """ + Returns a random last name + + ## Examples + + iex> Faker.Person.NlBe.last_name() + "De Haene" + iex> Faker.Person.NlBe.last_name() + "Heijmans" + iex> Faker.Person.NlBe.last_name() + "Speet" + iex> Faker.Person.NlBe.last_name() + "Neggers" + """ + @spec last_name() :: String.t() + def last_name, do: last_name(Faker.random_between(0, 9)) + defp last_name(0), do: "De #{last_name_after_de()}" + defp last_name(1), do: "Van #{last_name_after_van()}" + + # last name composed of last names of both parents (uncommon) + defp last_name(2) do + case Faker.random_between(0, 24) do + # explicit params used here to prevent recursion + 0 -> "#{last_name(0)} #{last_name(1)}" + 1 -> "#{last_name(0)} #{last_name(3)}" + 2 -> "#{last_name(1)} #{last_name(0)}" + 3 -> "#{last_name(1)} #{last_name(3)}" + 4 -> "#{last_name(3)} #{last_name(0)}" + 5 -> "#{last_name(3)} #{last_name(1)}" + 6 -> "#{last_name(3)} #{last_name(3)}" + _ -> last_name_standalone() + end + end + + defp last_name(n) when is_integer(n) do + last_name_standalone() + end + + @doc """ + Returns a random last name + + ## Examples + + iex> Faker.Person.NlBe.last_name_standalone() + "Thomassen" + iex> Faker.Person.NlBe.last_name_standalone() + "Sorgeloos" + iex> Faker.Person.NlBe.last_name_standalone() + "Rikken" + iex> Faker.Person.NlBe.last_name_standalone() + "Heijmans" + """ + @spec last_name_standalone() :: String.t() + sampler(:last_name_standalone, [ + "Aalbers", + "Aalberts", + "Aarts", + "Abeel", + "Abbeel", + "Abbink", + "Abrahams", + "Abts", + "Achten", + "Ackaert", + "Acke", + "Ackerman", + "Ackermans", + "Adams", + "Adelaars", + "Adins", + "Adriaens", + "Adriaensen", + "Adriaensens", + "Adriaenssens", + "Aelberts", + "Aelbrecht", + "Aerts", + "Aernouts", + "Akkerman", + "Akkermans", + "Albert", + "Alberts", + "Alkema", + "Allegaert", + "Allewaert", + "Amand", + "Ambrosius", + "Ameel", + "Ameloot", + "Amelynck", + "Ameye", + "Amweg", + "Apeldoorn", + "Appelhof", + "Appelman", + "Appelmans", + "Arnouts", + "Arens", + "Arends", + "Arijs", + "Artois", + "Aspe", + "Asselijn", + "Asselman", + "Asselbergs", + "Assink", + "Astaes", + "Atema", + "Averink", + "Aversteeg", + "Avonds", + "Avonts", + "Awouters", + "Azema", + "Aziz", + "Baats", + "Baaten", + "Baccaert", + "Backer", + "Backaert", + "Baeke", + "Baeck", + "Baecke", + "Baele", + "Baert", + "Baeten", + "Baeyens", + "Bafort", + "Baggen", + "Baggerman", + "Baguet", + "Baijens", + "Bailly", + "Bakelants", + "Bakker", + "Balkema", + "Ballemans", + "Balliauw", + "Baltussen", + "Bamelis", + "Bamert", + "Bammens", + "Beck", + "Becker", + "Beckers", + "Bednar", + "Beds", + "Beeckaert", + "Beeckman", + "Beekman", + "Beekmans", + "Beelen", + "Beerens", + "Beernaert", + "Beets", + "Bekaert", + "Bellemans", + "Bellers", + "Bergman", + "Bergmans", + "Bernards", + "Bernaerts", + "Bertels", + "Bervoets", + "Bever", + "Biesemans", + "Bindels", + "Bink", + "Binnemans", + "Bikkembergs", + "Blancke", + "Block", + "Blomqvist", + "Blommaert", + "Blomme", + "Boden", + "Boecks", + "Boelen", + "Boelens", + "Boogaard", + "Boone", + "Boonen", + "Bok", + "Bokkers", + "Bokma", + "Bonte", + "Bontinck", + "Boskamp", + "Bosman", + "Braeckmans", + "Bracke", + "Braker", + "Brakke", + "Bral", + "Breughel", + "Breydel", + "Broos", + "Brouwer", + "Brusselmans", + "Bruyneel", + "Bruynincks", + "Bruynooghe", + "Buelens", + "Burm", + "Buysse", + "Buytaert", + "Caenen", + "Caerts", + "Caeyers", + "Cafmeyer", + "Calmeyn", + "Callebaut", + "Callens", + "Callewaert", + "Cannaert", + "Cannaerts", + "Cant", + "Cantens", + "Camerlynck", + "Campaert", + "Campert", + "Campe", + "Camus", + "Capelle", + "Capoen", + "Cappaert", + "Casper", + "Casteels", + "Castermans", + "Celie", + "Celis", + "Certyn", + "Ceulen", + "Ceulemans", + "Ceusters", + "Chielens", + "Christiaan", + "Christiaens", + "Christiaensen", + "Christoffels", + "Cielen", + "Cieremans", + "Cilissen", + "Claes", + "Claessen", + "Claessens", + "Clarebout", + "Cleemput", + "Clement", + "Cleymans", + "Clijsters", + "Cloet", + "Cluistra", + "Coene", + "Collier", + "Colpaert", + "Cools", + "Coppens", + "Cornelis", + "Cornelissen", + "Cosyn", + "Cox", + "Crabbe", + "Crabbeels", + "Creemers", + "Cremer", + "Creuwels", + "Crevits", + "Criel", + "Croene", + "Cuypers", + "Cuppens", + "Cuvelier", + "Daalder", + "Daane", + "Daansen", + "Daas", + "Daelemans", + "Daelman", + "Daens", + "Daem", + "Daemen", + "Danckaert", + "Daniels", + "Danneels", + "Dante", + "Damaert", + "Dammers", + "Damstra", + "Dauwe", + "Debaere", + "Debleke", + "Debruine", + "Decauwer", + "Decleir", + "Decorte", + "Dedonker", + "Dekker", + "Delodder", + "Deman", + "Demeester", + "Demeulemeester", + "Demey", + "Demayer", + "Demeyer", + "Depraeter", + "Diallo", + "Dibbets", + "Diels", + "Dielis", + "Dielman", + "Dieltjens", + "Diependaele", + "Dierickx", + "Dijkmans", + "Dijkstra", + "Dillen", + "Dhaenens", + "D'hooghe", + "D'hollander", + "D'hondt", + "Dobbelaere", + "Dobbeleer", + "Dockx", + "Doets", + "Donckers", + "Donkers", + "Doms", + "Dooms", + "Doorn", + "Douwe", + "Douwen", + "Drapers", + "Dreesen", + "Drieghe", + "Driessen", + "Driessens", + "Druyts", + "Dubois", + "Duerinck", + "Dufour", + "Dujardin", + "Dumoulin", + "Dupont", + "Dyckmans", + "Dykstra", + "Ebbers", + "Ebbink", + "Ebeling", + "Ebert", + "Eckert", + "Eckhardt", + "Eckman", + "Edelman", + "Edens", + "Eeckhout", + "Eeftink", + "Eekhuis", + "Eekma", + "Eelen", + "Eerdmans", + "Eerenberg", + "Eerens", + "Egbert", + "Egberts", + "Eggermont", + "Egghe", + "Eijsermans", + "Eikelboom", + "Eilander", + "Ekelmans", + "Ekels", + "Ekema", + "Ekers", + "Elen", + "Elias", + "Elsen", + "Elzinga", + "Embrechts", + "Emmens", + "Emmerechts", + "Enderman", + "Eppinga", + "Eppink", + "Erens", + "Eringa", + "Erkelbout", + "Ettema", + "Evenepoel", + "Everaert", + "Everts", + "Faas", + "Faasen", + "Fabre", + "Fabricius", + "Fakkel", + "Fatima", + "Faye", + "Feenstra", + "Feersma", + "Feijen", + "Feikema", + "Felix", + "Fels", + "Feryn", + "Feyaerts", + "Feys", + "Feytens", + "Flament", + "Fleerackers", + "Floren", + "Fokke", + "Fokkema", + "Fokkert", + "Fokkinga", + "Fonteyn", + "Fortuyn", + "Foubert", + "Fouquet", + "Foyer", + "Franken", + "Fredericks", + "Frissen", + "Froger", + "Fuik", + "Futselaar", + "Gaastra", + "Gabriëls", + "Galan", + "Galle", + "Gatz", + "Geboers", + "Geelen", + "Geenen", + "Geens", + "Geeraert", + "Geeraerts", + "Geerink", + "Geerinck", + "Geerinckx", + "Geers", + "Geerts", + "Geirnaert", + "Germijns", + "Gerrits", + "Geubels", + "Geuns", + "Gevaert", + "Gevers", + "Geysen", + "Gheysen", + "Gheysens", + "Ghyselinck", + "Ghysen", + "Gielen", + "Gielis", + "Gies", + "Gijbels", + "Gijs", + "Gijsen", + "Gilissen", + "Gillis", + "Glazemakers", + "Glastra", + "Goessens", + "Goethals", + "Goffin", + "Goosens", + "Goris", + "Gorissen", + "Gossaert", + "Govaert", + "Goovaerts", + "Gregorius", + "Greve", + "Groenenberg", + "Groenendijk", + "Groeneveld", + "Groenewoud", + "Groeninckx", + "Grootaers", + "Grooteman", + "Gruis", + "Gruizinga", + "Guijt", + "Guikema", + "Guldemond", + "Gunnink", + "Gutmann", + "Haaksma", + "Haan", + "Haartsen", + "Haasteren", + "Haas", + "Haeck", + "Haekens", + "Haenen", + "Haers", + "Hagemeijer", + "Hagen", + "Hagenaars", + "Hak", + "Haken", + "Halewyck", + "Halma", + "Halman", + "Halsema", + "Hamelink", + "Hamers", + "Hamstra", + "Hanekamp", + "Hanen", + "Hansen", + "Hanssens", + "Harten", + "Hautekiet", + "Haverkamp", + "Havermans", + "Havik", + "Heeren", + "Heeringa", + "Heerkens", + "Heerman", + "Heesbeen", + "Heijmans", + "Heijse", + "Hein", + "Heindryckx", + "Heirbaut", + "Heiremans", + "Heirman", + "Heirwegh", + "Hellemans", + "Hellemond", + "Helsen", + "Hellinckx", + "Hemelaar", + "Hemels", + "Hemeryck", + "Hendrickx", + "Hendriks", + "Henneman", + "Hennes", + "Hens", + "Heppe", + "Heremans", + "Heringa", + "Hermans", + "Herreman", + "Herregodts", + "Hertoghs", + "Heuninckx", + "Heurkens", + "Heutink", + "Heuvelmans", + "Hevel", + "Heyens", + "Heylen", + "Heynen", + "Heymans", + "Heyvaert", + "Hezemans", + "Hiel", + "Hillen", + "Hillewaere", + "Hillewaert", + "Himpe", + "Himschoot", + "Hintjens", + "Hoet", + "Hoeyberghs", + "Hofmans", + "Hollanders", + "Holvoet", + "Hoof", + "Hooft", + "Hooftman", + "Hoorens", + "Hoornaert", + "Hooyberghs", + "Hoste", + "Hoskens", + "Hovenier", + "Hovens", + "Hus", + "Huybrechts", + "Huycke", + "Huygen", + "Huygens", + "Huyghebaert", + "Huysmans", + "Jacobi", + "Jacobs", + "Jambers", + "Jambon", + "Jansen", + "Jansens", + "Janssen", + "Janssens", + "Jelinek", + "Jennes", + "Jespers", + "Jeurissen", + "Jitse", + "Jochems", + "Jonckers", + "Jonckheere", + "Jongbloed", + "Jonker", + "Joos", + "Joost", + "Joosten", + "Jorens", + "Joris", + "Jorissen", + "Juffermans", + "Jurgens", + "Kaas", + "Kaasjager", + "Kaal", + "Kaals", + "Kaats", + "Kabatek", + "Kabbedijk", + "Kafmaaijer", + "Kamoen", + "Kant", + "Karbaat", + "Karels", + "Kees", + "Keezer", + "Keersmaekers", + "Kefer", + "Keizer", + "Kellenaerts", + "Kempenaars", + "Kempenaers", + "Kempeneers", + "Kennof", + "Kerkhofs", + "Kersschot", + "Kesselaar", + "Kessels", + "Kesteloot", + "Kestens", + "Kesters", + "Ketelaars", + "Kieboom", + "Kiebooms", + "Kiek", + "Kiekens", + "Kielemoes", + "Kierkels", + "Kiers", + "Kietelaar", + "Kievit", + "Klaas", + "Klaasen", + "Klein", + "Klepper", + "Klijn", + "Klijsen", + "Klijsters", + "Kloet", + "Klok", + "Klokgieters", + "Klokkers", + "Klomp", + "Klooster", + "Kloosterman", + "Klootwijk", + "Klop", + "Kloppenburg", + "Klopper", + "Koelewijn", + "Koeman", + "Koenders", + "Koerts", + "Koevoet", + "Kok", + "Koks", + "Kokx", + "Konings", + "Kooij", + "Kooijman", + "Koppejan", + "Koppelaar", + "Koppelman", + "Koppen", + "Koppert", + "Koppes", + "Kordaat", + "Korteland", + "Korthals", + "Korthoudt", + "Koyen", + "Kraaij", + "Kraaijeveld", + "Kraak", + "Kral", + "Kramer", + "Kranendonk", + "Krekels", + "Kriekels", + "Kristelijn", + "Kristels", + "Kruis", + "Kuijken", + "Kuijsters", + "Kuipers", + "Kuit", + "Kuperus", + "Kuppens", + "Kupper", + "Kusseneers", + "Kustermans", + "Kusters", + "Kuypers", + "Laagland", + "Laamers", + "Laanstra", + "Laarman", + "Labeeuw", + "Laeremans", + "Lambert", + "Lamberts", + "Lambrecht", + "Lambrechts", + "Lammens", + "Lammers", + "Lammertyn", + "Lampaert", + "Lampers", + "Lampert", + "Lampo", + "Lanckman", + "Langbroek", + "Langedijk", + "Langeveld", + "Lannoo", + "Lanserhof", + "Lardenoit", + "Lareu", + "Lasoen", + "Lathouwers", + "Laudrie", + "Lauwers", + "Lecluyse", + "Lecocq", + "Lecompte", + "Leconte", + "Ledeboer", + "Ledema", + "Ledoux", + "Leduc", + "Leenaerts", + "Leenders", + "Leendert", + "Leemans", + "Leenknegt", + "Lefèvre", + "Leferink", + "Leffebure", + "Legerstee", + "Legrand", + "Legters", + "Leire", + "Lek", + "Lekker", + "Lekkerkerk", + "Leleu", + "Lelie", + "Lemarck", + "Lemmens", + "Lemmers", + "Lenaerts", + "Leonard", + "Leyers", + "Lombaert", + "Lombaerts", + "Loncke", + "Loos", + "Lootens", + "Lucas", + "Luiten", + "Luyckx", + "Luyten", + "Maagdenberg", + "Maarleveld", + "Maas", + "Maenhout", + "Maertens", + "Maes", + "Mafs", + "Magnussen", + "Mahieu", + "Maillard", + "Majoor", + "Mak", + "Makkinga", + "Malysse", + "Mampaey", + "Manders", + "Mariman", + "Martens", + "Matthys", + "Mayer", + "Mees", + "Meertens", + "Meersman", + "Meeus", + "Meeuse", + "Melis", + "Mellema", + "Mens", + "Meskens", + "Messens", + "Mestdagh", + "Meuleman", + "Meulemeester", + "Meuris", + "Meus", + "Meyers", + "Meynen", + "Meyvis", + "Michiels", + "Michielsen", + "Mijlemans", + "Minnaert", + "Minne", + "Moens", + "Moerman", + "Moeyaert", + "Mok", + "Mokveld", + "Molema", + "Molenaers", + "Molenberghs", + "Mols", + "Mondriaan", + "Montyn", + "Moonen", + "Moons", + "Moortgat", + "Mosselmans", + "Mostaert", + "Mulder", + "Muller", + "Muskens", + "Mussche", + "Mutsaers", + "Muyselaar", + "Nachtegaele", + "Naessens", + "Naert", + "Naeyaert", + "Nagels", + "Nauwelaerts", + "Neefs", + "Neele", + "Neeleman", + "Nees", + "Nefkens", + "Neggers", + "Neirynck", + "Nekkers", + "Nelissen", + "Nellens", + "Nemegheer", + "Nens", + "Neuts", + "Neven", + "Neyens", + "Neyrinck", + "Neyt", + "Nguyen", + "Nicolai", + "Niemegeers", + "Nies", + "Nieskens", + "Nieuwendaal", + "Nieuwstraten", + "Nijdeken", + "Nijeboer", + "Nijman", + "Nijs", + "Nobels", + "Noelmans", + "Noens", + "Nonneman", + "Nooijens", + "Noordijk", + "Nootebos", + "Noppe", + "Noppen", + "Noten", + "Nouwens", + "Novak", + "Noyens", + "Nuijens", + "Nuijten", + "Nuyens", + "Nuytemans", + "Nuytinck", + "Nuyts", + "Obbeek", + "Obelink", + "Oblak", + "Ockerman", + "Ockers", + "Ocket", + "Odeyn", + "Odink", + "Oegema", + "Oelbrandt", + "Oelen", + "Oeyen", + "Offermans", + "Offringa", + "Ogier", + "Ogink", + "Oisterwijk", + "Ojeda", + "Okke", + "Okkema", + "Okken", + "Okkerman", + "Okon", + "Olbrecht", + "Olieslagers", + "Ollevier", + "Olsen", + "Omroep", + "Ongena", + "Ongenaet", + "Onraet", + "Ooghe", + "Ooms", + "Oosterlinck", + "Oosterlynck", + "Oostvogels", + "Opdebeeck", + "Opdeweegh", + "Oppedijk", + "Opsommer", + "Opreij", + "Ordeman", + "Orinx", + "Oris", + "Osinga", + "Oskam", + "Oskamp", + "Osselaer", + "Ost", + "Ostermeyer", + "Ostyn", + "Ottema", + "Otten", + "Ottevaere", + "Ottink", + "Ouborg", + "Ouderits", + "Ouwerkerk", + "Ovaere", + "Overbeeke", + "Owens", + "Paalman", + "Paap", + "Paas", + "Paasman", + "Paauwe", + "Pad", + "Padberg", + "Paddenburg", + "Padding", + "Paeleman", + "Paelinck", + "Paemeleire", + "Paesen", + "Paeshuyse", + "Palfijn", + "Palinckx", + "Palings", + "Palmans", + "Pals", + "Palstermans", + "Pamiers", + "Pampoen", + "Panis", + "Panhuysen", + "Pannecoeck", + "Panneels", + "Pannenkoeken", + "Pans", + "Pansaers", + "Paquet", + "Pardoen", + "Parijs", + "Parmentier", + "Parys", + "Pas", + "Pasman", + "Pasterkamp", + "Pastoors", + "Paternoster", + "Paternotte", + "Paters", + "Pattyn", + "Paulussen", + "Pauwels", + "Pavel", + "Peck", + "Peelman", + "Peers", + "Peetermans", + "Peeters", + "Pegels", + "Peijnenburg", + "Peirelinck", + "Peirs", + "Peirsman", + "Pek", + "Pekel", + "Pekkeriet", + "Pelckmans", + "Peleman", + "Pelgrims", + "Pelleboer", + "Pellens", + "Penneman", + "Penning", + "Penninckx", + "Pepels", + "Peperkamp", + "Pepermans", + "Pepernoot", + "Peereboom", + "Pereboom", + "Pereij", + "Peres", + "Permentier", + "Perneel", + "Persoons", + "Persijn", + "Peters", + "Petit", + "Pets", + "Petter", + "Petterson", + "Pettinga", + "Peumans", + "Poelaert", + "Poelman", + "Poels", + "Poelstra", + "Pol", + "Polak", + "Polfliet", + "Pollers", + "Pollier", + "Pollet", + "Poppe", + "Portier", + "Portaels", + "Powlowski", + "Preijers", + "Premereur", + "Presley", + "Proost", + "Pronk", + "Provoost", + "Provost", + "Pruijn", + "Pruim", + "Pruimboom", + "Pruis", + "Pruissers", + "Publie", + "Publiek", + "Put", + "Puttemans", + "Puttenaers", + "Putters", + "Putzeys", + "Puylaert", + "Puype", + "Puyvoet", + "Quaghebeur", + "Quartel", + "Quartier", + "Quinten", + "Quirijnen", + "Quispel", + "Quisquater", + "Quivooij", + "Raaijmakers", + "Raap", + "Raas", + "Rabaey", + "Rabens", + "Rabijns", + "Rachels", + "Radema", + "Rademakers", + "Rademeyer", + "Raedts", + "Raemdonck", + "Raes", + "Raeyen", + "Raeymaekers", + "Ramaekers", + "Ramboer", + "Raman", + "Ramen", + "Rampelberg", + "Ramaut", + "Ranzijn", + "Rap", + "Rappe", + "Rasschaert", + "Rats", + "Ratsma", + "Ratten", + "Raveling", + "Ravels", + "Raven", + "Ravens", + "Ravensbergen", + "Ravenstijn", + "Ravestijn", + "Ravnik", + "Reckers", + "Reckman", + "Redant", + "Redder", + "Redecker", + "Rederiet", + "Redert", + "Reed", + "Reedijk", + "Reef", + "Reefman", + "Reek", + "Reekmans", + "Reemer", + "Reemers", + "Reenders", + "Reesema", + "Reesink", + "Reeskens", + "Regaert", + "Regelink", + "Regensburg", + "Reggers", + "Regout", + "Reijers", + "Reijnders", + "Reijnen", + "Reijneveld", + "Reijntjes", + "Reimers", + "Reinders", + "Reinerink", + "Reintjes", + "Rek", + "Reker", + "Rekelhof", + "Remans", + "Remerink", + "Remie", + "Remijn", + "Remmers", + "Remmerswaal", + "Remus", + "Remy", + "Renard", + "Renders", + "Reniers", + "Rens", + "Rensen", + "Repkes", + "Repko", + "Resink", + "Reumers", + "Reunes", + "Reurink", + "Reus", + "Reuten", + "Revier", + "Reweghs", + "Rewinkel", + "Reygaert", + "Reymen", + "Reynaers", + "Reynaert", + "Reynders", + "Reynebeau", + "Reyniers", + "Reyns", + "Reyskens", + "Ribbens", + "Ricaert", + "Rieken", + "Rietjens", + "Rietman", + "Rietveld", + "Rijckaert", + "Rijkeboer", + "Rijkers", + "Rijks", + "Rijnbeek", + "Rijnen", + "Rijntjes", + "Rijpma", + "Rijs", + "Rikken", + "Rikkert", + "Rimbaut", + "Ringoot", + "Rinke", + "Rinkel", + "Riphagen", + "Ripke", + "Rippe", + "Rippen", + "Risberg", + "Risseeuw", + "Rissewijck", + "Robben", + "Robbens", + "Robberechts", + "Robeyns", + "Robrechts", + "Robyn", + "Roche", + "Rochus", + "Rodenbach", + "Roegiers", + "Roelands", + "Roelandt", + "Roelant", + "Roelkens", + "Roels", + "Roggemans", + "Rogge", + "Roggen", + "Rogiers", + "Rojas", + "Rolink", + "Rolleman", + "Rombaut", + "Romberg", + "Rombouts", + "Romein", + "Romeyns", + "Rommel", + "Rommens", + "Rondeel", + "Ronsyn", + "Roobaert", + "Roodhooft", + "Rooijakkers", + "Rooijmans", + "Roos", + "Roosens", + "Roovers", + "Rosendaal", + "Rossaert", + "Rots", + "Rotsaert", + "Rottiers", + "Rovers", + "Rousseau", + "Rouwhorst", + "Ruis", + "Rutjes", + "Rutten", + "Ruymbeek", + "Ruymen", + "Sabbe", + "Sachs", + "Saenen", + "Saerens", + "Saeys", + "Saffe", + "Safi", + "Safranek", + "Sagal", + "Sagel", + "Sage", + "Sagers", + "Saijets", + "Saillart", + "Sails", + "Saitz", + "Salaets", + "Salet", + "Salie", + "Salvo", + "Samaras", + "Samoy", + "Sampers", + "Sampermans", + "Samson", + "Samuels", + "Samyn", + "Sanders", + "Sangers", + "Sannen", + "Santens", + "Santermans", + "Sap", + "Sapper", + "Saque", + "Sarens", + "Sargeant", + "Saris", + "Sarrazyn", + "Sas", + "Sassen", + "Sato", + "Savaete", + "Savenberg", + "Savenije", + "Saverys", + "Saveur", + "Sauter", + "Sauwens", + "Scheerders", + "Scheerlinck", + "Schelfhout", + "Schellekens", + "Schepens", + "Schepers", + "Schiettecat", + "Schipper", + "Schippers", + "Schmidt", + "Schmitt", + "Schockaert", + "Schoen", + "Schoenmaker", + "Schoenmakers", + "Schoepen", + "Schoeters", + "Schols", + "Scholz", + "Schoofs", + "Schoolmeesters", + "Schoonooghe", + "Schoors", + "Schraepen", + "Schraeyen", + "Schrans", + "Schreurs", + "Schrijvers", + "Schuddink", + "Schuit", + "Schuppert", + "Schurink", + "Schuurmans", + "Segers", + "Seghers", + "Sels", + "Semeins", + "Sempels", + "Senders", + "Sengers", + "Sennesael", + "Sepers", + "Sequens", + "Serbruyns", + "Serneels", + "Servaes", + "Sessink", + "Setten", + "Settels", + "Setz", + "Seurs", + "Seynaeve", + "Seys", + "Siao", + "Sibbel", + "Siberechts", + "Sichel", + "Siderius", + "Siebelink", + "Siemerink", + "Siemers", + "Siemons", + "Sierens", + "Siffert", + "Sijbers", + "Sijmons", + "Sijs", + "Sillis", + "Simoens", + "Simonis", + "Simons", + "Simonts", + "Sinnaeve", + "Sinnesael", + "Sintobin", + "Sirks", + "Sistermans", + "Slabbinck", + "Slaets", + "Slagter", + "Slangen", + "Sleegers", + "Slegers", + "Sleijfer", + "Sleutels", + "Sleurs", + "Slijkerman", + "Slijpen", + "Slikker", + "Sloot", + "Sluijters", + "Sluis", + "Sluys", + "Sluyts", + "Smal", + "Smaling", + "Smallenbroek", + "Smeets", + "Smekens", + "Smet", + "Smets", + "Smeyers", + "Smid", + "Smissaert", + "Smit", + "Smits", + "Smolders", + "Smout", + "Smouts", + "Smulders", + "Smuts", + "Snackaert", + "Snacks", + "Snauwaert", + "Snelders", + "Snels", + "Sneppe", + "Sneyaert", + "Sneyders", + "Sneyers", + "Snick", + "Snijders", + "Snippe", + "Snoeck", + "Snoeckx", + "Snoeijink", + "Snoek", + "Snoekx", + "Snuif", + "Snuverink", + "Sobry", + "Soenen", + "Soenens", + "Soetaert", + "Soeters", + "Somers", + "Sommers", + "Sondaar", + "Sonnemans", + "Sonnenberg", + "Sonneveld", + "Sorgeloos", + "Sovak", + "Spaan", + "Spaas", + "Spaenhoven", + "Speeckaert", + "Speelman", + "Speet", + "Spegelaere", + "Spek", + "Speleman", + "Spier", + "Spijkenisse", + "Spijker", + "Spijkerboer", + "Spijkerman", + "Spildooren", + "Spillebeen", + "Spilliaert", + "Spittaels", + "Spoed", + "Spoelhof", + "Spoelstra", + "Spons", + "Spooren", + "Spoormakers", + "Spreeuwenberg", + "Spriet", + "Springveld", + "Spruijt", + "Spruit", + "Spruyt", + "Staal", + "Staelens", + "Staes", + "Stalpaert", + "Stampaert", + "Stappers", + "Stas", + "Stassen", + "Stassijns", + "Steckel", + "Stecker", + "Stedin", + "Steegmans", + "Steels", + "Steen", + "Steenackers", + "Steenhoudt", + "Steensens", + "Stiers", + "Stijns", + "Stijven", + "Stinissen", + "Stinkens", + "Stillaert", + "Stobbaerts", + "Stockman", + "Stoel", + "Stoels", + "Stoffels", + "Stojka", + "Stok", + "Stoker", + "Stokmans", + "Stommel", + "Stomps", + "Storms", + "Straetman", + "Stracke", + "Strijbos", + "Strijckmans", + "Strijker", + "Strik", + "Stroeve", + "Stroman", + "Strobbe", + "Stroobants", + "Strubbe", + "Struelens", + "Struijs", + "Struik", + "Struyf", + "Struys", + "Struyven", + "Stubbe", + "Stuer", + "Stuerbout", + "Stuij", + "Stuyck", + "Stuyver", + "Styfhals", + "Swalens", + "Swerts", + "Swinnen", + "Taal", + "Taams", + "Tabak", + "Tack", + "Tackaert", + "Taelman", + "Taerwe", + "Taets", + "Taeymans", + "Tafel", + "Taillieu", + "Taks", + "Tambuyzer", + "Tange", + "Tanghe", + "Taselaar", + "Teeling", + "Teerlinck", + "Teeuwen", + "Teeuwisse", + "Teeuws", + "Teirlinck", + "Teirlynck", + "Telen", + "Telkamp", + "Temmerman", + "Temming", + "Temmink", + "Tempel", + "Tempelaar", + "Tempelaere", + "Ten Brink", + "Ten Hove", + "Ten Woude", + "Tenis", + "Tennant", + "Tensen", + "Tent", + "Ter Beek", + "Ter Haar", + "Ter Heide", + "Ter Vaart", + "Terlouw", + "Termont", + "Tersago", + "Tervaert", + "Teugels", + "Tibaut", + "Tibbe", + "Tibben", + "Tibido", + "Tichelaar", + "Ticken", + "Tiebosch", + "Tiegelaar", + "Tiel", + "Tielemans", + "Tieman", + "Tilleman", + "Tilmans", + "Timmermans", + "Tippelaar", + "Tirez", + "Thans", + "Theelen", + "Theunis", + "Theuwissen", + "Theys", + "Thibaut", + "Thiel", + "Thielemans", + "Thienpont", + "Thiers", + "Thieren", + "Thijs", + "Thijsen", + "Thijsmans", + "Thijssen", + "Thoelen", + "Thomas", + "Thomassen", + "Thooft", + "Thoonen", + "Thorsen", + "Thuy", + "Thys", + "Thyssen", + "Tol", + "Tollenaere", + "Tondeleir", + "Tops", + "Torfs", + "Tormans", + "Toye", + "Tremblay", + "Treutel", + "Tromp", + "Tuerlinckx", + "Turcotte", + "Tuymans", + "Tuyttens", + "Uittenbogaart", + "Uyttebroeck", + "Uytterhaegen", + "Uytterhoeven", + "Vanderhoeven", + "Vandersand", + "Vandervoort", + "Vanderwaal", + "Vanderwiele", + "Vanderzande", + "Veeman", + "Veerman", + "Verbeek", + "Verbeke", + "Verbeeck", + "Verbeecke", + "Verbiest", + "Verbist", + "Verbruggen", + "Vercammen", + "Vercauteren", + "Vercruysse", + "Verdonck", + "Verdonk", + "Verduyn", + "Vereecke", + "Vereecken", + "Verellen", + "Verelst", + "Verfaillie", + "Vergouwen", + "Vergote", + "Verhaeghe", + "Verhasselt", + "Verheyden", + "Verhoeven", + "Verkammen", + "Vermandere", + "Vermanderen", + "Vermeers", + "Vermeire", + "Vermeulen", + "Verniers", + "Vernimmen", + "Verpoorten", + "Verriest", + "Verschaeren", + "Verschooren", + "Verschooten", + "Verschraegen", + "Verschueren", + "Verstichel", + "Verstichellen", + "Verstichelt", + "Vertenten", + "Vertier", + "Vertongen", + "Vertonghen", + "Verwaest", + "Verweij", + "Viaene", + "Vianen", + "Viets", + "Vinck", + "Vinke", + "Visser", + "Vlaeminck", + "Vleugels", + "Vliegers", + "Voet", + "Vogels", + "Volckaert", + "Volders", + "Vondels", + "Vonk", + "Vranckx", + "Vranken", + "Vrijsen", + "Vrints", + "Vuerinckx", + "Vugts", + "Vuijsters", + "Waals", + "Waas", + "Waels", + "Waes", + "Wallyn", + "Walravens", + "Walters", + "Waremans", + "Waters", + "Watteeuw", + "Weber", + "Weevers", + "Weijers", + "Wels", + "Wellens", + "Welvaert", + "Wesemael", + "Westerhuys", + "Weynants", + "Weyns", + "Wielandt", + "Wiels", + "Wijckmans", + "Wilderman", + "Wilders", + "Williams", + "Willems", + "Willemsen", + "Windmeijer", + "Winters", + "Wisse", + "Wissink", + "Witloof", + "Witteman", + "Woestyn", + "Wolters", + "Wouters", + "Wuytens", + "Wuyts", + "Wynants", + "Wyndaele", + "Ysebaert", + "Yserbyt", + "Ysewyn", + "Zaman", + "Zegers", + "Zieverink", + "Zijlmans", + "Zuidwijk" + ]) + + @doc """ + Returns a random last name after de + + ## Examples + + iex> Faker.Person.NlBe.last_name_after_de() + "Saeger" + iex> Faker.Person.NlBe.last_name_after_de() + "Haene" + iex> Faker.Person.NlBe.last_name_after_de() + "Waele" + iex> Faker.Person.NlBe.last_name_after_de() + "Hert" + """ + @spec last_name_after_de() :: String.t() + sampler(:last_name_after_de, [ + "Baat", + "Backer", + "Baerdemaeker", + "Baere", + "Baets", + "Baetzelier", + "Bakker", + "Bauw", + "Bel", + "Beir", + "Blanger", + "Bleke", + "Bock", + "Boeck", + "Boer", + "Bolle", + "Bont", + "Bosscher", + "Bosschere", + "Bot", + "Bouw", + "Brabander", + "Brabandere", + "Breker", + "Bruin", + "Bruine", + "Bruycker", + "Bruyn", + "Bruyne", + "Caluwe", + "Caluwé", + "Cauter", + "Cauwer", + "Ceulaer", + "Ceuster", + "Clerck", + "Clercq", + "Cock", + "Coninck", + "Corte", + "Coster", + "Craene", + "Crem", + "Cuyper", + "Cupere", + "Decker", + "Dekker", + "Donder", + "Donker", + "Fauw", + "Feijter", + "Ferm", + "Feyter", + "Frenne", + "Geest", + "Gelder", + "Gendt", + "Geyter", + "Graaf", + "Graaff", + "Graeve", + "Grauw", + "Groot", + "Groote", + "Haan", + "Haene", + "Haas", + "Heer", + "Hert", + "Hertogh", + "Hondt", + "Houwer", + "Jaeger", + "Jaeghere", + "Jager", + "Jeu", + "Jong", + "Jonge", + "Jongh", + "Jonghe", + "Kam", + "Kanter", + "Kapper", + "Kaste", + "Kat", + "Keijser", + "Keijzer", + "Keizer", + "Kemp", + "Kerpel", + "Ketele", + "Ketelaere", + "Keyser", + "Kievid", + "Kievit", + "Kimpe", + "Kinder", + "Kippenboer", + "Klein", + "Klerk", + "Kloet", + "Kock", + "Kok", + "Koninck", + "Koning", + "Kort", + "Korte", + "Koster", + "Kousemaeker", + "Krem", + "Krijger", + "Kruif", + "Kuiper", + "Kuijper", + "Kuyffer", + "Laat", + "Laet", + "Landmeter", + "Landsheer", + "Landtsheer", + "Lange", + "Langhe", + "Lat", + "Lathouwer", + "Leener", + "Leenheer", + "Leeuw", + "Lepeleire", + "Letter", + "Leyn", + "Lichte", + "Ligt", + "Lille", + "Loof", + "Loor", + "Naeyer", + "Nil", + "Nul", + "Nys", + "Maesschalck", + "Maeyer", + "Malsche", + "Man", + "Mesmaeker", + "Meyer", + "Mol", + "Moor", + "Munck", + "Munk", + "Paepe", + "Pagter", + "Palmeneire", + "Pauw", + "Pijper", + "Pillecyn", + "Poorter", + "Poortere", + "Pooter", + "Praeter", + "Praitere", + "Preter", + "Prez", + "Pril", + "Prins", + "Raeymaeker", + "Ridder", + "Rijcke", + "Roeck", + "Roo", + "Roover", + "Rouck", + "Ryck", + "Sadeleer", + "Saedeleir", + "Saeger", + "Saegher", + "Schaepdrijver", + "Schepper", + "Schilder", + "Schrijver", + "Schryver", + "Schutter", + "Schuyteneer", + "Smet", + "Smedt", + "Smidt", + "Sutter", + "Taeye", + "Tand", + "Tandt", + "Tegelman", + "Temmerman", + "Timmerman", + "Tippelaar", + "Tollenaere", + "Tremerie", + "Troch", + "Troij", + "Troyer", + "Vadder", + "Valck", + "Valk", + "Veer", + "Vegt", + "Velder", + "Vet", + "Vette", + "Vidts", + "Vilder", + "Ville", + "Visscher", + "Visser", + "Vits", + "Vleeschauwer", + "Vlieger", + "Vliegher", + "Vocht", + "Volder", + "Voogd", + "Voogt", + "Vooght", + "Vos", + "Vree", + "Vriendt", + "Vries", + "Vrieze", + "Vroe", + "Vuijst", + "Vuyst", + "Wal", + "Wael", + "Waele", + "Weert", + "Weerdt", + "Wever", + "Wijngaard", + "Wilde", + "Win", + "Wind", + "Windt", + "Winter", + "Wispelaere", + "Wit", + "Witte", + "Wolf", + "Wulf", + "Zanger", + "Zeeuw", + "Zoete", + "Zutter", + "Zwaan", + "Zwart" + ]) + + @doc """ + Returns a random last name after van + + ## Examples + + iex> Faker.Person.NlBe.last_name_after_van() + "De Ven" + iex> Faker.Person.NlBe.last_name_after_van() + "Coillie" + iex> Faker.Person.NlBe.last_name_after_van() + "Sonsbeek" + iex> Faker.Person.NlBe.last_name_after_van() + "Tendeloo" + """ + @spec last_name_after_van() :: String.t() + sampler(:last_name_after_van, [ + "Aaken", + "Aalst", + "Aalten", + "Aarle", + "Aart", + "Aartrijk", + "Achter", + "Acker", + "Adel", + "Aelst", + "Aerschot", + "Aert", + "Aken", + "Artevelde", + "Asbroeck", + "Assche", + "Audenaerde", + "Autreve", + "Avermaet", + "Bael", + "Baelen", + "Baeveghem", + "Bauwel", + "Bavel", + "Belleghem", + "Beukering", + "Biervliet", + "Bockstaele", + "Bocxlaer", + "Bogaert", + "Boven", + "Branteghem", + "Brempt", + "Broeckhoven", + "Bronkhorst", + "Buren", + "Buysse", + "Buynder", + "Buyten", + "Calster", + "Camp", + "Campenhout", + "Cappellen", + "Cauwenberge", + "Cauwenbergh", + "Cauwenberghe", + "Cleef", + "Cleemput", + "Cleemputte", + "Clemen", + "Coillie", + "Craenem", + "Craenendonck", + "Craenenbroeck", + "Cutsem", + "Daele", + "Dalen", + "Dam", + "Damme", + "De Casteele", + "De Caveye", + "De Cauter", + "De Kasteele", + "De Keere", + "De Kerckhove", + "De Loo", + "De Putte", + "De Sompel", + "De Velde", + "De Ven", + "De Vijver", + "De Voorde", + "De Vreken", + "De Walle", + "De Weghe", + "De Wiele", + "De Woestijne", + "Den Abbeele", + "Den Bergh", + "Den Berghe", + "Den Borre", + "Den Bosch", + "Den Bossche", + "Den Broeck", + "Den Driessche", + "Den Eijnden", + "Den Haute", + "Den Troost", + "Der Auwera", + "Der Biest", + "Der Cruysse", + "Der Cruyssen", + "Der Geest", + "Der Grinten", + "Der Gucht", + "Der Haegen", + "Der Heyden", + "Der Jeught", + "Der Laan", + "Der Straeten", + "Der Veen", + "Der Veken", + "Der Wal", + "Dessel", + "Diepen", + "Dierendonck", + "Dijck", + "Dijk", + "Dille", + "Dillewijn", + "Duffel", + "Durme", + "Duyse", + "Dyck", + "Eck", + "Eeckhout", + "Eenaeme", + "Eekert", + "Eester", + "Eetvelde", + "Eijgen", + "Eijk", + "Elsen", + "Ekeren", + "Esbroeck", + "Essche", + "Eyck", + "Eyken", + "Eynde", + "Faassen", + "Foreest", + "Frankenhuyzen", + "Geel", + "Gelder", + "Genechten", + "Gestel", + "Geystelen", + "Gijseghem", + "Gijzel", + "Gils", + "Ginkel", + "Grieken", + "Gyseghem", + "Gysel", + "Haasteren", + "Haecke", + "Haelen", + "Ham", + "Hamme", + "Havermaet", + "Haute", + "Herreweghe", + "Hoecke", + "Hoof", + "Hooste", + "Houcke", + "Hulle", + "Ierland", + "Iersel", + "Ijken", + "Ijzerdoorn", + "Immerseel", + "Impe", + "Imschoot", + "In", + "Ingelgom", + "Ingen", + "Isaker", + "Kammen", + "Kalken", + "Kalmthout", + "Katwijk", + "Keer", + "Kempen", + "Kerckhove", + "Kerkhove", + "Kerrebroeck", + "Kessel", + "Keulen", + "Klaveren", + "Kuik", + "Kuyk", + "Laere", + "Leemput", + "Leemputten", + "Leeuwen", + "Leiden", + "Lelyveld", + "Leuffel", + "Leuven", + "Liedekerke", + "Lier", + "Lieshout", + "Lindt", + "Lommel", + "Loon", + "Looy", + "Looveren", + "Lokeren", + "Lokhorst", + "Luik", + "Luijk", + "Luxemburg", + "Maaren", + "Maele", + "Malderen", + "Marcke", + "Marum", + "Mechelen", + "Meel", + "Meerbeek", + "Meirhaeghe", + "Mele", + "Merhaeghe", + "Mieghem", + "Moer", + "Mol", + "Mosselaar", + "Mourik", + "Mullem", + "Namen", + "Nassau", + "Neer", + "Nerum", + "Nespen", + "Nevel", + "Neygem", + "Niekerk", + "Nieuwenhuyse", + "Nijlen", + "Noort", + "Noppen", + "Noten", + "Nuffelen", + "Ochten", + "Ockeghem", + "Oeckel", + "Oekelen", + "Oers", + "Oeteren", + "Offel", + "Ongevalle", + "Onsem", + "Opstal", + "Otten", + "Otterloo", + "Oudenaarde", + "Ouytsel", + "Overbeke", + "Parijs", + "Passel", + "Peer", + "Pelt", + "Peteghem", + "Piekeren", + "Pijkeren", + "Praet", + "Putten", + "Puyenbroeck", + "Puyvelde", + "Quaethem", + "Quickenborne", + "Raalte", + "Raemdonck", + "Ransbeeck", + "Ranst", + "Rauw", + "Ravensberg", + "Reet", + "Rensbergen", + "Reusel", + "Roey", + "Rompaey", + "Rooy", + "Rossem", + "Roy", + "Ruiten", + "Ruysbroeck", + "Ryckeghem", + "Ryswyck", + "Saet", + "Samang", + "Sambeek", + "Sande", + "Santen", + "Santvoort", + "Sas", + "Schaeren", + "Schaffelaar", + "Schaftingen", + "Schepdael", + "Schie", + "Schil", + "Schoonhoven", + "Schoor", + "Schooten", + "Seghbroeck", + "Setten", + "Severen", + "Sichem", + "Sinderen", + "Snick", + "Someren", + "Sonsbeek", + "Steenbergen", + "Steendam", + "Steenkiste", + "Summeren", + "Sundert", + "Tarelink", + "Tartwijk", + "Tassel", + "Teeffelen", + "Tellingen", + "Tendeloo", + "Teunenbroek", + "Thielen", + "Thienen", + "Tilburg", + "Tintelen", + "Tol", + "Tongelen", + "Tongeren", + "Tricht", + "Trier", + "Troyen", + "Uffelen", + "Uijen", + "Uijthoven", + "Unnik", + "Urk", + "Ussel", + "Uytsel", + "Uytvanck", + "Vaardegem", + "Vaeck", + "Vaerenbergh", + "Valburg", + "Valen", + "Valkenburg", + "Vastenhoven", + "Veen", + "Veirdeghem", + "Velden", + "Velthoven", + "Velzen", + "Venrooij", + "Vianen", + "Viersen", + "Vilsteren", + "Vlaanderen", + "Vlaenderen", + "Vlasselaer", + "Vliet", + "Vlijmen", + "Vogt", + "Vollenhoven", + "Vooren", + "Voorden", + "Voorst", + "Vonderen", + "Vossen", + "Vreckem", + "Vredenburgh", + "Vree", + "Vreeswijk", + "Vroenhoven", + "Vucht", + "Vugt", + "Vulpen", + "Vuuren", + "Vynckt", + "Waeleghem", + "Waerbeke", + "Waes", + "Wambeke", + "Wassenhove", + "Watermeulen", + "Waterschoot", + "Weel", + "Weelden", + "Weerd", + "Weerden", + "Weert", + "Wees", + "Welden", + "Wesemael", + "Wesembeeck", + "Westfalen", + "Westing", + "Weyde", + "Weyenbergh", + "Wezel", + "Wichelen", + "Wiele", + "Wielink", + "Wieringen", + "Wijck", + "Wijk", + "Wijmeersch", + "Wijnendaele", + "Wijngaarden", + "Winckel", + "Wingerden", + "Winkel", + "Wissen", + "Woensel", + "Woerden", + "Wolferen", + "Wolfswinkel", + "Wonderen", + "Woudenberg", + "Wouwe", + "Wulfften", + "Wuytswinkel", + "Yperen", + "Zalingen", + "Zand", + "Zandvoort", + "Zanen", + "Zanten", + "Zeebroeck", + "Zele", + "Zelst", + "Zevenbergen", + "Zijl", + "Zundert", + "Zuuren", + "Zwam" + ]) +end diff --git a/lib/faker/phone/nl.ex b/lib/faker/phone/nl.ex new file mode 100644 index 000000000..e70244d89 --- /dev/null +++ b/lib/faker/phone/nl.ex @@ -0,0 +1,91 @@ +defmodule Faker.Phone.Nl do + import Faker, only: [samplerp: 2] + + @moduledoc """ + Functions for generating phone related data for the Netherlands + """ + + @doc """ + Returns a random phone number. + + ## Examples + + iex> Faker.Phone.Nl.number() + "0495542646" + iex> Faker.Phone.Nl.number() + "0683297052" + iex> Faker.Phone.Nl.number() + "0031670203032" + iex> Faker.Phone.Nl.number() + "0707337603" + """ + + @spec number() :: String.t() + def number do + if Faker.random_between(0, 1) == 0 do + landline_number() + else + cell_number() + end + end + + samplerp(:landline_number_format, [ + "010#######", + "020#######", + "024#######", + "0342######", + "038#######", + "0495######", + "050#######", + "070#######", + "078#######", + "085#######", + "088#######", + "003110#######" + ]) + + @doc """ + Returns a random landline phone number + + ## Examples + + iex> Faker.Phone.Nl.landline_number() + "0501542646" + iex> Faker.Phone.Nl.landline_number() + "0342083297" + iex> Faker.Phone.Nl.landline_number() + "0505235702" + iex> Faker.Phone.Nl.landline_number() + "0883032097" + """ + + @spec landline_number() :: String.t() + def landline_number do + Faker.format(landline_number_format()) + end + + samplerp(:cell_number_format, [ + "06########", + "00316########" + ]) + + @doc """ + Returns a random cell phone number + + ## Examples + + iex> Faker.Phone.Nl.cell_number() + "0615426461" + iex> Faker.Phone.Nl.cell_number() + "0683297052" + iex> Faker.Phone.Nl.cell_number() + "0031657020303" + iex> Faker.Phone.Nl.cell_number() + "0609733760" + """ + + @spec cell_number() :: String.t() + def cell_number do + Faker.format(cell_number_format()) + end +end diff --git a/test/faker/address_test.exs b/test/faker/address_test.exs index dec47b551..a802e57fc 100644 --- a/test/faker/address_test.exs +++ b/test/faker/address_test.exs @@ -6,6 +6,8 @@ defmodule Faker.AddressTest do doctest Faker.Address.Es doctest Faker.Address.Hy doctest Faker.Address.It + doctest Faker.Address.Nl + doctest Faker.Address.NlBe doctest Faker.Address.PtBr doctest Faker.Address.Ru end diff --git a/test/faker/person_test.exs b/test/faker/person_test.exs index 3c9c4d678..13bc2d292 100644 --- a/test/faker/person_test.exs +++ b/test/faker/person_test.exs @@ -7,5 +7,7 @@ defmodule Faker.PersonTest do doctest Faker.Person.Fr doctest Faker.Person.Hy doctest Faker.Person.It + doctest Faker.Person.Nl + doctest Faker.Person.NlBe doctest Faker.Person.PtBr end diff --git a/test/faker/phone_test.exs b/test/faker/phone_test.exs index b52949916..aeb1f610d 100644 --- a/test/faker/phone_test.exs +++ b/test/faker/phone_test.exs @@ -4,5 +4,6 @@ defmodule Faker.PhoneTest do doctest Faker.Phone.EnGb doctest Faker.Phone.EnUs doctest Faker.Phone.Hy + doctest Faker.Phone.Nl doctest Faker.Phone.PtBr end