73 $lord = strtolower( $word );
75 if ( str_ends_with( $lord,
'wiki' ) ) {
78 if ( isset( self::FAMILYGENDER[$lord] ) ) {
79 $gender = self::FAMILYGENDER[$lord];
82 $isGenderFemale = $gender ===
'f';
84 $case =
' ' . strtolower( $case );
85 if ( preg_match(
'/ [is]/', $case ) ) {
86 # däm WikiMaatplaz singe, dä Wikipeedija iere, däm Wikiwööterbooch singe
87 # dem/em WikiMaatplaz singe, de Wikipeedija iere, dem/em Wikiwööterbooch singe
88 # däm WikiMaatplaz sing, dä Wikipeedija ier, däm Wikiwööterbooch sing
89 # dem/em WikiMaatplaz sing, de Wikipeedija ier, dem/em Wikiwööterbooch sing
90 $word = ( str_contains( $case,
' b' )
91 ? ( $isGenderFemale ?
'dä' :
'däm' )
92 : ( $isGenderFemale ?
'de' :
'dem' )
93 ) .
' ' . $word .
' ' .
94 ( $isGenderFemale ?
'ier' :
'sing' ) .
95 ( str_contains( $case,
' m' ) ?
'e' :
'' );
96 } elseif ( str_contains( $case,
' e' ) ) {
97 # en dämm WikiMaatPlaz, en dä Wikipeedija, en dämm Wikiwööterbooch
98 # em WikiMaatplaz, en de Wikipeedija, em Wikiwööterbooch
99 if ( str_contains( $case,
' b' ) ) {
100 $word =
'en ' . ( $isGenderFemale ?
'dä' :
'däm' ) .
' ' . $word;
102 $word = ( $isGenderFemale ?
'en de' :
'em' ) .
' ' . $word;
104 } elseif ( preg_match(
'/ [fv]/', $case ) || preg_match(
'/ [2jg]/', $case ) ) {
105 # vun däm WikiMaatplaz, vun dä Wikipeedija, vun däm Wikiwööterbooch
106 # vum WikiMaatplaz, vun de Wikipeedija, vum Wikiwööterbooch
107 if ( str_contains( $case,
' b' ) ) {
108 $word =
'vun ' . ( $isGenderFemale ?
'dä' :
'däm' ) .
' ' . $word;
110 $word = ( $isGenderFemale ?
'vun de' :
'vum' ) .
' ' . $word;
112 } elseif ( preg_match(
'/ [3d]/', $case ) ) {
113 # dämm WikiMaatPlaz, dä Wikipeedija, dämm Wikiwööterbooch
114 # dem/em WikiMaatplaz, de Wikipeedija, dem/em Wikiwööterbooch
115 if ( str_contains( $case,
' b' ) ) {
116 $word = ( $isGenderFemale ?
'dää' :
'dämm' ) .
' ' . $word;
118 $word = ( $isGenderFemale ?
'de' :
'dem' ) .
' ' . $word;
121 # dä WikiMaatPlaz, di Wikipeedija, dat Wikiwööterbooch
122 # der WikiMaatplaz, de Wikipeedija, et Wikiwööterbooch
123 if ( str_contains( $case,
' b' ) ) {
124 $lord = match ( $gender ) {
130 $lord = match ( $gender ) {
136 $word = $lord .
' ' . $word;