|
@@ -58,19 +58,19 @@ discard block |
|
|
block discarded – undo |
58
|
58
|
UTF8::LATIN_SMALL_LETTER_SHARP_S => 'ss', |
59
|
59
|
]; |
60
|
60
|
} |
61
|
|
- public function relationships(): array |
|
61
|
+ public function relationships(): array |
62
|
62
|
{ |
63
|
63
|
// returns array => [nominativ, genitive %s] |
64
|
64
|
// $genitive = static fn (string $prefix, string $suffix): array => [$prefix . $suffix, $prefix . 's' . $suffix . '%s']; |
65
|
65
|
$genitive = static fn (string $prefix, string $suffix, int $gender): array => |
66
|
|
- ($gender == 0) ? [$prefix . $suffix, '%s' . ' des ' . $prefix . 's' . $suffix] : (($gender == 1) ? [$prefix . $suffix, '%s' . ' der ' . $prefix . $suffix] : [$prefix . $suffix, '%s' . ' der ' . $prefix . $suffix]); |
|
66
|
+ ($gender == 0) ? [$prefix . $suffix, '%s' . ' des ' . $prefix . 's' . $suffix] : (($gender == 1) ? [$prefix . $suffix, '%s' . ' der ' . $prefix . $suffix] : [$prefix . $suffix, '%s' . ' der ' . $prefix . $suffix]); |
67
|
67
|
|
68
|
68
|
$ur = static fn (int $n, string $simpleGreat, string $suffix, int $gender): array => $genitive( |
69
|
|
- (($n > 1) ? ($n + 1) . ' x Ur' : (($n > -1) ? 'Ur' . str_repeat('ur', $n) : '')) . $simpleGreat, $suffix, $gender |
70
|
|
- // $n <= -1 -> '' |
71
|
|
- // $n == 0 -> Ur |
72
|
|
- // $n == 1 -> Urur |
73
|
|
- // $n >= 2 -> $n+1 ' x Ur' |
|
69
|
+ (($n > 1) ? ($n + 1) . ' x Ur' : (($n > -1) ? 'Ur' . str_repeat('ur', $n) : '')) . $simpleGreat, $suffix, $gender |
|
70
|
+ // $n <= -1 -> '' |
|
71
|
+ // $n == 0 -> Ur |
|
72
|
+ // $n == 1 -> Urur |
|
73
|
+ // $n >= 2 -> $n+1 ' x Ur' |
74
|
74
|
); |
75
|
75
|
|
76
|
76
|
return [ |
|
@@ -163,48 +163,48 @@ discard block |
|
|
block discarded – undo |
163
|
163
|
Relationship::fixed('Enkelin', '%s der Enkelin')->child()->daughter(), |
164
|
164
|
Relationship::fixed('Enkel', '%s des Enkels')->child()->son(), |
165
|
165
|
Relationship::fixed('Enkelin/Enkel', '%s der Enkelin/des Enkels')->child()->child(), |
166
|
|
- // Nichte / Neffe |
|
166
|
+ // Nichte / Neffe |
167
|
167
|
Relationship::fixed('Nichte', '%s der Nichte')->sibling()->daughter(), |
168
|
168
|
Relationship::fixed('Nichte', '%s der Nichte')->married()->spouse()->sibling()->daughter(), |
169
|
169
|
Relationship::fixed('Neffe', '%s des Neffen')->sibling()->son(), |
170
|
170
|
Relationship::fixed('Neffe', '%s des Neffen')->married()->spouse()->sibling()->son(), |
171
|
171
|
Relationship::fixed('Nichte/Neffe', '%s der Nichte / des Neffen')->sibling()->child(), |
172
|
172
|
Relationship::fixed('Nichte/Neffe', '%s der Nichte/ des Neffen')->married()->spouse()->sibling()->child(), |
173
|
|
- // Großnichte / Großneffe |
|
173
|
+ // Großnichte / Großneffe |
174
|
174
|
Relationship::fixed('Großnichte', '%s der Großnichte')->sibling()->child()->child()->female(), |
175
|
175
|
Relationship::fixed('Großnichte', '%s der Großnichte')->married()->spouse()->sibling()->child()->child()->female(), |
176
|
176
|
Relationship::fixed('Großneffe', '%s des Großneffen')->sibling()->child()->child()->male(), |
177
|
177
|
Relationship::fixed('Großneffe', '%s des Großneffen')->married()->spouse()->sibling()->child()->child()->male(), |
178
|
|
- // Tante / Onkel |
|
178
|
+ // Tante / Onkel |
179
|
179
|
Relationship::fixed('Tante', '%s der Tante')->parent()->sister(), |
180
|
180
|
Relationship::fixed('Tante', '%s der Tante')->parent()->brother()->wife(), |
181
|
181
|
Relationship::fixed('Onkel', '%s des Onkels')->parent()->sister()->husband(), |
182
|
182
|
Relationship::fixed('Onkel', '%s des Onkels')->parent()->brother(), |
183
|
|
- // Großtante / Großonkel |
|
183
|
+ // Großtante / Großonkel |
184
|
184
|
Relationship::fixed('Großtante', '%s der Großtante')->parent()->parent()->sister(), |
185
|
185
|
Relationship::fixed('Großtante', '%s der Großtante')->parent()->parent()->brother()->wife(), |
186
|
186
|
Relationship::fixed('Großonkel', '%s des Großonkels')->parent()->parent()->brother(), |
187
|
187
|
Relationship::fixed('Großonkel', '%s des Großonkels')->parent()->parent()->sister()->husband(), |
188
|
|
- // Cousin / Cousine |
|
188
|
+ // Cousin / Cousine |
189
|
189
|
Relationship::fixed('Cousine', '%s der Cousine')->parent()->sister()->child()->female(), |
190
|
190
|
Relationship::fixed('Cousine', '%s der Cousine')->parent()->brother()->child()->female(), |
191
|
191
|
Relationship::fixed('Cousin', '%s des Cousins')->parent()->sister()->child()->male(), |
192
|
192
|
Relationship::fixed('Cousin', '%s des Cousins')->parent()->brother()->child()->male(), |
193
|
193
|
// Relationships with dynamically generated names |
194
|
|
- // ancestors: n=2 -> Urgroßmutter (mütterlicherseits) / Großmutter der Mutter |
|
194
|
+ // ancestors: n=2 -> Urgroßmutter (mütterlicherseits) / Großmutter der Mutter |
195
|
195
|
Relationship::dynamic(static fn (int $n) => $ur($n - 2, 'großmutter', ' (mütterlicherseits) ', 1))->mother()->ancestor()->female(), |
196
|
196
|
Relationship::dynamic(static fn (int $n) => $ur($n - 2, 'großvater', ' (mütterlicherseits) ', 0))->mother()->ancestor()->male(), |
197
|
197
|
Relationship::dynamic(static fn (int $n) => $ur($n - 2, 'großmutter', ' (väterlicherseits) ', 1))->father()->ancestor()->female(), |
198
|
198
|
Relationship::dynamic(static fn (int $n) => $ur($n - 2, 'großvater', ' (väterlicherseits) ', 0))->father()->ancestor()->male(), |
199
|
|
- // |
|
199
|
+ // |
200
|
200
|
Relationship::dynamic(static fn (int $n) => $ur($n - 2, 'großeltern', ' (väterlicherseits) ', 2))->father()->ancestor(), |
201
|
201
|
Relationship::dynamic(static fn (int $n) => $ur($n - 2, 'großeltern', ' (mütterlicherseits) ', 2))->mother()->ancestor(), |
202
|
|
- // |
|
202
|
+ // |
203
|
203
|
Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großtante', ' ', 1))->ancestor()->sister(), |
204
|
204
|
Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großtante', ' ', 1))->ancestor()->sibling()->wife(), |
205
|
205
|
Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großonkel', ' ', 0))->ancestor()->brother(), |
206
|
206
|
Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großonkel', ' ', 0))->ancestor()->sibling()->husband(), |
207
|
|
- // descendants |
|
207
|
+ // descendants |
208
|
208
|
Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großnichte', ' ', 1))->sibling()->descendant()->female(), |
209
|
209
|
Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großnichte', ' ', 1))->married()->spouse()->sibling()->descendant()->female(), |
210
|
210
|
Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großneffe', ' ', 0))->sibling()->descendant()->male(), |