Completed
Pull Request — master (#6)
by
unknown
08:17
created

Dutch::getSalutations()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace TheIconic\NameParser\Language;
4
5
use TheIconic\NameParser\LanguageInterface;
6
7
class Dutch implements LanguageInterface
8
{
9
    // https://nl.wikipedia.org/wiki/Titulatuur_in_het_Nederlands_hoger_onderwijs
10
    const SUFFIXES = [
11
        'doctor' => 'dr.',
12
        'meester in de rechten' => 'mr.',
13
        'ingenieur' => 'ir.',
14
        'doctorandus' => 'drs.',
15
        'bacc.alaureus' => 'bacc.',
16
        'kandidaats' => 'kand.',
17
        'doctor honoris causa' => 'dr.h.c.',
18
        'hoogleraar' => 'prof.',
19
        'dominee' => 'ds.',
20
        'ing.enieur' => 'ing.',
21
        'baccalaureus' => 'bc.',
22
        'Bachelor of Arts' => 'B.A.',
23
        'Bachelor of Science' => 'B.Sc.',
24
        'Bachelor of Laws' => 'LL.B.',
25
        'Master of Laws' => 'LL.M.',
26
        'Master of Arts' => 'M.A.',
27
        'Master of Science' => 'M.Sc.',
28
        'Master of Philosophy' => 'M.Phil.',
29
        'Doctor.Philosophy' => 'Ph.D.',
30
        'Doctor of Philosophy' => 'PhD.',
31
        'Doctor' => 'D.',
32
33
        'junior' => 'Junior',
34
        'jr' => 'Jr.',
35
        'senior' => 'Senior',
36
        'sr' => 'Sr.',
37
    ];
38
39
    // Source: https://nl.wikipedia.org/wiki/Burgerlijke_titulatuur
40
    const SALUTATIONS = [
41
        // De Heer, Heer, Mijnheer (officieel), Mevrouw, Mejuffrouw
42
        // Weledele Heer (archaïsch), Mevrouw
43
        // Weledelgeboren Heer, Vrouwe
44
        'Dhr.',
45
        'De Heer',
46
        'Heer',
47
        'Mijnheer',
48
        'Meneer',
49
        'Mw.',
50
        'Mevrouw',
51
        'Vrouwe',
52
        'Mejuffrouw',
53
        'Weledele',
54
        'Weledelgeboren',
55
    ];
56
57
    // Source (official list): https://nl.wikipedia.org/wiki/Tussenvoegsel
0 ignored issues
show
Unused Code Comprehensibility introduced by
37% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
58
    const LASTNAME_PREFIXES = [
59
        "’S",
60
        "Aus m",
61
        "De las",
62
        "In den",
63
        "Op gen",
64
        "Uijt de",
65
        "van la",
66
        "’s",
67
        "aus m",
68
        "de las",
69
        "in den",
70
        "op gen",
71
        "uijt de",
72
        "Van t",
73
        "’T",
74
        "Ben",
75
        "De le",
76
        "In der",
77
        "Op het",
78
        "Uijt den",
79
        "van t",
80
        "’t",
81
        "ben",
82
        "de le",
83
        "in der",
84
        "op het",
85
        "uijt den",
86
        "Van ter",
87
        "A",
88
        "Bij",
89
        "De van der",
90
        "In het",
91
        "Op t",
92
        "Uijt te de",
93
        "van ter",
94
        "a",
95
        "bij",
96
        "de van der",
97
        "in het",
98
        "op t",
99
        "uijt te de",
100
        "Van van de",
101
        "Aan",
102
        "Bij ’t",
103
        "Deca",
104
        "In t",
105
        "Op ten",
106
        "Uijt ten",
107
        "van van de",
108
        "aan",
109
        "bij ’t",
110
        "deca",
111
        "in t",
112
        "op ten",
113
        "uijt ten",
114
        "Ver",
115
        "Aan ’t",
116
        "Bij de",
117
        "Degli",
118
        "L",
119
        "Over",
120
        "Uit",
121
        "ver",
122
        "aan ’t",
123
        "bij de",
124
        "degli",
125
        "l",
126
        "over",
127
        "uit",
128
        "Vom",
129
        "Aan de",
130
        "Bij den",
131
        "Dei",
132
        "L’",
133
        "Over ’t",
134
        "Uit ’t",
135
        "vom",
136
        "aan de",
137
        "bij den",
138
        "dei",
139
        "l’",
140
        "over ’t",
141
        "uit ’t",
142
        "Von",
143
        "Aan den",
144
        "Bij het",
145
        "Del",
146
        "La",
147
        "Over de",
148
        "Uit de",
149
        "von",
150
        "aan den",
151
        "bij het",
152
        "del",
153
        "la",
154
        "over de",
155
        "uit de",
156
        "Von ’t",
157
        "Aan der",
158
        "Bij t",
159
        "Della",
160
        "Las",
161
        "Over den",
162
        "Uit den",
163
        "von ’t",
164
        "aan der",
165
        "bij t",
166
        "della",
167
        "las",
168
        "over den",
169
        "uit den",
170
        "Von dem",
171
        "Aan het",
172
        "Bin",
173
        "Den",
174
        "Le",
175
        "Over het",
176
        "Uit het",
177
        "von dem",
178
        "aan het",
179
        "bin",
180
        "den",
181
        "le",
182
        "over het",
183
        "uit het",
184
        "Von den",
185
        "Aan t",
186
        "Boven d",
187
        "Der",
188
        "Les",
189
        "Over t",
190
        "Uit t",
191
        "von den",
192
        "aan t",
193
        "boven d",
194
        "der",
195
        "les",
196
        "over t",
197
        "uit t",
198
        "Von der",
199
        "Af",
200
        "Boven d’",
201
        "Des",
202
        "Lo",
203
        "S",
204
        "Uit te de",
205
        "von der",
206
        "af",
207
        "boven d’",
208
        "des",
209
        "lo",
210
        "s",
211
        "uit te de",
212
        "Von t",
213
        "Al",
214
        "D",
215
        "Di",
216
        "Los",
217
        "S’",
218
        "Uit ten",
219
        "von t",
220
        "al",
221
        "d",
222
        "di",
223
        "los",
224
        "s’",
225
        "uit ten",
226
        "Voor",
227
        "Am",
228
        "D’",
229
        "Die le",
230
        "Of",
231
        "T",
232
        "Unter",
233
        "voor",
234
        "am",
235
        "d’",
236
        "die le",
237
        "of",
238
        "t",
239
        "unter",
240
        "Voor ’t",
241
        "Am de",
242
        "Da",
243
        "Do",
244
        "Onder",
245
        "Te",
246
        "Van",
247
        "voor ’t",
248
        "am de",
249
        "da",
250
        "do",
251
        "onder",
252
        "te",
253
        "van",
254
        "Voor de",
255
        "Auf",
256
        "Dal",
257
        "Don",
258
        "Onder ’t",
259
        "Ten",
260
        "Van ’t",
261
        "voor de",
262
        "auf",
263
        "dal",
264
        "don",
265
        "onder ’t",
266
        "ten",
267
        "van ’t",
268
        "Voor den",
269
        "Auf dem",
270
        "Dal’",
271
        "Dos",
272
        "Onder de",
273
        "Ter",
274
        "Van de",
275
        "voor den",
276
        "auf dem",
277
        "dal’",
278
        "dos",
279
        "onder de",
280
        "ter",
281
        "van De",
282
        "Voor in ’t",
283
        "Auf den",
284
        "Dalla",
285
        "Du",
286
        "Onder den",
287
        "Tho",
288
        "van de",
289
        "voor in ’t",
290
        "auf den",
291
        "dalla",
292
        "du",
293
        "onder den",
294
        "tho",
295
        "Van de l",
296
        "Voor in t",
297
        "Auf der",
298
        "Das",
299
        "El",
300
        "Onder het",
301
        "Thoe",
302
        "van de l",
303
        "voor in t",
304
        "auf der",
305
        "das",
306
        "el",
307
        "onder het",
308
        "thoe",
309
        "Van de l’",
310
        "Vor",
311
        "Auf ter",
312
        "De",
313
        "Het",
314
        "Onder t",
315
        "Thor",
316
        "van de l’",
317
        "vor",
318
        "auf ter",
319
        "de",
320
        "het",
321
        "onder t",
322
        "thor",
323
        "Van Den",
324
        "Vor der",
325
        "Aus",
326
        "De die",
327
        "I",
328
        "Op",
329
        "To",
330
        "Van den",
331
        "vor der",
332
        "aus",
333
        "de die",
334
        "i",
335
        "op",
336
        "to",
337
        "van den",
338
        "Zu",
339
        "Aus ’m",
340
        "De die le",
341
        "Im",
342
        "Op ’t",
343
        "Toe",
344
        "Van Der",
345
        "zu",
346
        "aus ’m",
347
        "de die le",
348
        "im",
349
        "op ’t",
350
        "toe",
351
        "Van der",
352
        "Zum",
353
        "Aus dem",
354
        "De l",
355
        "In",
356
        "Op de",
357
        "Tot",
358
        "van der",
359
        "zum",
360
        "aus dem",
361
        "de l",
362
        "in",
363
        "op de",
364
        "tot",
365
        "Van gen",
366
        "Zur",
367
        "Aus den",
368
        "De l’",
369
        "In ’t",
370
        "Op den",
371
        "Uijt",
372
        "van gen",
373
        "zur",
374
        "aus den",
375
        "de l’",
376
        "in ’t",
377
        "op den",
378
        "uijt",
379
        "Van het",
380
        "Aus der",
381
        "De la",
382
        "In de",
383
        "Op der",
384
        "Uijt ’t",
385
        "van het",
386
        "aus der",
387
        "de la",
388
        "in de",
389
        "op der",
390
        "uijt ’t",
391
        "Van la",
392
    ];
393
394
    public function getSuffixes(): array
395
    {
396
        return self::SUFFIXES;
397
    }
398
399
    public function getSalutations(): array
400
    {
401
        return array_combine(self::SALUTATIONS, self::SALUTATIONS);
402
    }
403
404
    public function getLastnamePrefixes(): array
405
    {
406
        $prefixMap = [];
407
        foreach(self::LASTNAME_PREFIXES as $prefix){
408
            $key = strtolower($prefix);
409
//            $key = str_replace(' ', '-', $key);
0 ignored issues
show
Unused Code Comprehensibility introduced by
55% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
410
//            $key = str_replace('’', '', $key);
411
            $prefixMap[$key] = $prefix;
412
413
            // add version with ' instead of ’
414
            if(strpos($prefix, '’') !== false){
415
                $keyVariation = str_replace('’', '\'', $key);
416
                $prefixVariation = str_replace('’', '\'', $prefix);
417
                $prefixMap[$keyVariation] = $prefixVariation;
418
            }
419
        }
420
421
        return $prefixMap;
422
    }
423
}
424