Skip to content

Commit a91d20d

Browse files
committed
bug symfony#57899 [String] [EnglishInflector] Fix words ending with le, e.g., articles (aleho)
This PR was merged into the 5.4 branch. Discussion ---------- [String] [EnglishInflector] Fix words ending with `le`, e.g., `articles` | Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | License | MIT The English inflector incorrectly singularizes words ending in "les", e.g., "articles": ```php [ 0 => "articl", 1 => "article" ] ``` As far as I'm aware "articl" is not a valid singular form for "articles". ;) After this PR: ```php [ 0 => "article" ] ``` I'm not entirely sure whether the map entry is correct this way, but at least the tests don't break. Commits ------- 34577b9 [String][EnglishInflector] Fix words ending in 'le', e.g., articles
2 parents 54641cb + 34577b9 commit a91d20d

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/Symfony/Component/String/Inflector/EnglishInflector.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,9 @@ final class EnglishInflector implements InflectorInterface
121121
// statuses (status)
122122
['sesutats', 8, true, true, 'status'],
123123

124+
// article (articles), ancle (ancles)
125+
['sel', 3, true, true, 'le'],
126+
124127
// analyses (analysis), ellipses (ellipsis), fungi (fungus),
125128
// neuroses (neurosis), theses (thesis), emphases (emphasis),
126129
// oases (oasis), crises (crisis), houses (house), bases (base),

src/Symfony/Component/String/Tests/Inflector/EnglishInflectorTest.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,12 @@ public static function singularizeProvider()
2828
['alumnae', 'alumna'],
2929
['alumni', 'alumnus'],
3030
['analyses', ['analys', 'analyse', 'analysis']],
31+
['ankles', 'ankle'],
3132
['antennae', 'antenna'],
3233
['antennas', 'antenna'],
3334
['appendices', ['appendex', 'appendix', 'appendice']],
3435
['arches', ['arch', 'arche']],
36+
['articles', 'article'],
3537
['atlases', ['atlas', 'atlase', 'atlasis']],
3638
['axes', ['ax', 'axe', 'axis']],
3739
['babies', 'baby'],
@@ -189,9 +191,11 @@ public static function pluralizeProvider()
189191
['album', 'albums'],
190192
['alumnus', 'alumni'],
191193
['analysis', 'analyses'],
194+
['ankle', 'ankles'],
192195
['antenna', 'antennas'], // antennae
193196
['appendix', ['appendicies', 'appendixes']],
194197
['arch', 'arches'],
198+
['article', 'articles'],
195199
['atlas', 'atlases'],
196200
['axe', 'axes'],
197201
['axis', 'axes'],

0 commit comments

Comments
 (0)