@@ -163,15 +163,9 @@ private function buildDescription(): string
163163 /* Next will be suffix */
164164 $ level = 5 ;
165165 /* Variant */
166- $ found = true ;
167166 $ variantFound = $ this ->getVariant ($ part );
168- if ($ variantFound === null ) {
169- $ found = false ;
170- } else {
167+ if ($ variantFound !== null ) {
171168 $ variant = $ variantFound ;
172- }
173-
174- if ($ found ) {
175169 continue ;
176170 }
177171 // Not parsed token, fall to next level
@@ -182,7 +176,12 @@ private function buildDescription(): string
182176 }
183177
184178 /* Suffixes */
185- $ suffixes = $ this ->addSuffixes ($ suffixes , $ part );
179+ $ suffix = $ this ->addSuffixes ($ part );
180+ if ($ suffix === null ) {
181+ continue ;
182+ }
183+
184+ $ suffixes [] = $ suffix ;
186185 }
187186
188187 return $ this ->buildName ($ name , $ variant , $ suffixes );
@@ -213,42 +212,19 @@ private function getVariant(string $part): string|null
213212 };
214213 }
215214
216- /**
217- * @param string[] $suffixes
218- *
219- * @return string[]
220- */
221- private function addSuffixes (array $ suffixes , string $ part ): array
215+ private function addSuffixes (string $ part ): string |null
222216 {
223- switch ($ part ) {
224- case 'ci ' :
225- $ suffixes [] = _pgettext ('Collation variant ' , 'case-insensitive ' );
226- break ;
227- case 'cs ' :
228- $ suffixes [] = _pgettext ('Collation variant ' , 'case-sensitive ' );
229- break ;
230- case 'ai ' :
231- $ suffixes [] = _pgettext ('Collation variant ' , 'accent-insensitive ' );
232- break ;
233- case 'as ' :
234- $ suffixes [] = _pgettext ('Collation variant ' , 'accent-sensitive ' );
235- break ;
236- case 'ks ' :
237- $ suffixes [] = _pgettext ('Collation variant ' , 'kana-sensitive ' );
238- break ;
239- case 'w2 ' :
240- case 'l2 ' :
241- $ suffixes [] = _pgettext ('Collation variant ' , 'multi-level ' );
242- break ;
243- case 'bin ' :
244- $ suffixes [] = _pgettext ('Collation variant ' , 'binary ' );
245- break ;
246- case 'nopad ' :
247- $ suffixes [] = _pgettext ('Collation variant ' , 'no-pad ' );
248- break ;
249- }
250-
251- return $ suffixes ;
217+ return match ($ part ) {
218+ 'ci ' => _pgettext ('Collation variant ' , 'case-insensitive ' ),
219+ 'cs ' => _pgettext ('Collation variant ' , 'case-sensitive ' ),
220+ 'ai ' => _pgettext ('Collation variant ' , 'accent-insensitive ' ),
221+ 'as ' => _pgettext ('Collation variant ' , 'accent-sensitive ' ),
222+ 'ks ' => _pgettext ('Collation variant ' , 'kana-sensitive ' ),
223+ 'w2 ' ,'l2 ' => _pgettext ('Collation variant ' , 'multi-level ' ),
224+ 'bin ' => _pgettext ('Collation variant ' , 'binary ' ),
225+ 'nopad ' => _pgettext ('Collation variant ' , 'no-pad ' ),
226+ default => null ,
227+ };
252228 }
253229
254230 /**
0 commit comments