diff --git a/src/Language/Dutch.php b/src/Language/Dutch.php new file mode 100644 index 0000000..26f4d1a --- /dev/null +++ b/src/Language/Dutch.php @@ -0,0 +1,423 @@ + 'dr.', + 'meester in de rechten' => 'mr.', + 'ingenieur' => 'ir.', + 'doctorandus' => 'drs.', + 'bacc.alaureus' => 'bacc.', + 'kandidaats' => 'kand.', + 'doctor honoris causa' => 'dr.h.c.', + 'hoogleraar' => 'prof.', + 'dominee' => 'ds.', + 'ing.enieur' => 'ing.', + 'baccalaureus' => 'bc.', + 'Bachelor of Arts' => 'B.A.', + 'Bachelor of Science' => 'B.Sc.', + 'Bachelor of Laws' => 'LL.B.', + 'Master of Laws' => 'LL.M.', + 'Master of Arts' => 'M.A.', + 'Master of Science' => 'M.Sc.', + 'Master of Philosophy' => 'M.Phil.', + 'Doctor.Philosophy' => 'Ph.D.', + 'Doctor of Philosophy' => 'PhD.', + 'Doctor' => 'D.', + + 'junior' => 'Junior', + 'jr' => 'Jr.', + 'senior' => 'Senior', + 'sr' => 'Sr.', + ]; + + // Source: https://nl.wikipedia.org/wiki/Burgerlijke_titulatuur + const SALUTATIONS = [ + // De Heer, Heer, Mijnheer (officieel), Mevrouw, Mejuffrouw + // Weledele Heer (archaïsch), Mevrouw + // Weledelgeboren Heer, Vrouwe + 'Dhr.', + 'De Heer', + 'Heer', + 'Mijnheer', + 'Meneer', + 'Mw.', + 'Mevrouw', + 'Vrouwe', + 'Mejuffrouw', + 'Weledele', + 'Weledelgeboren', + ]; + + // Source (official list): https://nl.wikipedia.org/wiki/Tussenvoegsel + const LASTNAME_PREFIXES = [ + "’S", + "Aus m", + "De las", + "In den", + "Op gen", + "Uijt de", + "van la", + "’s", + "aus m", + "de las", + "in den", + "op gen", + "uijt de", + "Van t", + "’T", + "Ben", + "De le", + "In der", + "Op het", + "Uijt den", + "van t", + "’t", + "ben", + "de le", + "in der", + "op het", + "uijt den", + "Van ter", + "A", + "Bij", + "De van der", + "In het", + "Op t", + "Uijt te de", + "van ter", + "a", + "bij", + "de van der", + "in het", + "op t", + "uijt te de", + "Van van de", + "Aan", + "Bij ’t", + "Deca", + "In t", + "Op ten", + "Uijt ten", + "van van de", + "aan", + "bij ’t", + "deca", + "in t", + "op ten", + "uijt ten", + "Ver", + "Aan ’t", + "Bij de", + "Degli", + "L", + "Over", + "Uit", + "ver", + "aan ’t", + "bij de", + "degli", + "l", + "over", + "uit", + "Vom", + "Aan de", + "Bij den", + "Dei", + "L’", + "Over ’t", + "Uit ’t", + "vom", + "aan de", + "bij den", + "dei", + "l’", + "over ’t", + "uit ’t", + "Von", + "Aan den", + "Bij het", + "Del", + "La", + "Over de", + "Uit de", + "von", + "aan den", + "bij het", + "del", + "la", + "over de", + "uit de", + "Von ’t", + "Aan der", + "Bij t", + "Della", + "Las", + "Over den", + "Uit den", + "von ’t", + "aan der", + "bij t", + "della", + "las", + "over den", + "uit den", + "Von dem", + "Aan het", + "Bin", + "Den", + "Le", + "Over het", + "Uit het", + "von dem", + "aan het", + "bin", + "den", + "le", + "over het", + "uit het", + "Von den", + "Aan t", + "Boven d", + "Der", + "Les", + "Over t", + "Uit t", + "von den", + "aan t", + "boven d", + "der", + "les", + "over t", + "uit t", + "Von der", + "Af", + "Boven d’", + "Des", + "Lo", + "S", + "Uit te de", + "von der", + "af", + "boven d’", + "des", + "lo", + "s", + "uit te de", + "Von t", + "Al", + "D", + "Di", + "Los", + "S’", + "Uit ten", + "von t", + "al", + "d", + "di", + "los", + "s’", + "uit ten", + "Voor", + "Am", + "D’", + "Die le", + "Of", + "T", + "Unter", + "voor", + "am", + "d’", + "die le", + "of", + "t", + "unter", + "Voor ’t", + "Am de", + "Da", + "Do", + "Onder", + "Te", + "Van", + "voor ’t", + "am de", + "da", + "do", + "onder", + "te", + "van", + "Voor de", + "Auf", + "Dal", + "Don", + "Onder ’t", + "Ten", + "Van ’t", + "voor de", + "auf", + "dal", + "don", + "onder ’t", + "ten", + "van ’t", + "Voor den", + "Auf dem", + "Dal’", + "Dos", + "Onder de", + "Ter", + "Van de", + "voor den", + "auf dem", + "dal’", + "dos", + "onder de", + "ter", + "van De", + "Voor in ’t", + "Auf den", + "Dalla", + "Du", + "Onder den", + "Tho", + "van de", + "voor in ’t", + "auf den", + "dalla", + "du", + "onder den", + "tho", + "Van de l", + "Voor in t", + "Auf der", + "Das", + "El", + "Onder het", + "Thoe", + "van de l", + "voor in t", + "auf der", + "das", + "el", + "onder het", + "thoe", + "Van de l’", + "Vor", + "Auf ter", + "De", + "Het", + "Onder t", + "Thor", + "van de l’", + "vor", + "auf ter", + "de", + "het", + "onder t", + "thor", + "Van Den", + "Vor der", + "Aus", + "De die", + "I", + "Op", + "To", + "Van den", + "vor der", + "aus", + "de die", + "i", + "op", + "to", + "van den", + "Zu", + "Aus ’m", + "De die le", + "Im", + "Op ’t", + "Toe", + "Van Der", + "zu", + "aus ’m", + "de die le", + "im", + "op ’t", + "toe", + "Van der", + "Zum", + "Aus dem", + "De l", + "In", + "Op de", + "Tot", + "van der", + "zum", + "aus dem", + "de l", + "in", + "op de", + "tot", + "Van gen", + "Zur", + "Aus den", + "De l’", + "In ’t", + "Op den", + "Uijt", + "van gen", + "zur", + "aus den", + "de l’", + "in ’t", + "op den", + "uijt", + "Van het", + "Aus der", + "De la", + "In de", + "Op der", + "Uijt ’t", + "van het", + "aus der", + "de la", + "in de", + "op der", + "uijt ’t", + "Van la", + ]; + + public function getSuffixes(): array + { + return self::SUFFIXES; + } + + public function getSalutations(): array + { + return array_combine(self::SALUTATIONS, self::SALUTATIONS); + } + + public function getLastnamePrefixes(): array + { + $prefixMap = []; + foreach(self::LASTNAME_PREFIXES as $prefix){ + $key = strtolower($prefix); +// $key = str_replace(' ', '-', $key); +// $key = str_replace('’', '', $key); + $prefixMap[$key] = $prefix; + + // add version with ' instead of ’ + if(strpos($prefix, '’') !== false){ + $keyVariation = str_replace('’', '\'', $key); + $prefixVariation = str_replace('’', '\'', $prefix); + $prefixMap[$keyVariation] = $prefixVariation; + } + } + + return $prefixMap; + } +}