Special Cases for Laravel's Singular Pluralization Feature


John Koster

Published on November 16, 2016

Any words, or word endings, in the following table will not be affected by the singular method. This is either because the resulting word is already singular, or because there is no inflection available. Word endings are denoted by the prefix *:

Amoyese Borghese Congoese Faroese Foochowese
Genevese Genoese Gilbertese Hottentotese Kiplingese
Kongoese Lucchese Maltese Nankingese Niasese
Pekingese Piedmontese Pistoiese Portuguese Sarawakese
Shavese Vermontese Wenchowese Yengeese *deer
*fish *lese *measles *media *mese
*nese *ois *pox *rese *sheep
*ss bison bream breeches britches
buffalo cantus carp chassis clippers
cod coitus contretemps corps debris
diabetes djinn eland elk equipment
flounder gallows graffiti headquarters herpes
hijinks information innings jackanapes mackerel
mews moose mumps news nexus
pincers pliers proceedings rabies rhinoceros
rice salmon scissors sea bass sea-bass
series shears siemens species staff
swine testes trousers trout tuna
whiting wildebeest      

In addition to words that are not inflected, the method also handles some special cases. These are generally words that do not have a clear pragmatic method of handling the inflection of converting the word to its singular equivalent:

Plural Form Singular Form
atlases atlas
beefs beef
brothers brother
cafes cafe
children child
cookies cookie
corpuses corpus
cows cow
criteria criterion
curves curve
foes foe
ganglions ganglion
genies genie
genera genus
graffiti graffito
hoofs hoof
humans human
loaves loaf
men man
monies money
mongooses mongoose
moves move
mythoi mythos
niches niche
numina numen
occiputs occiput
octopuses octopus
opuses opus
oxen ox
penises penis
people person
sexes sex
soliloquies soliloquy
testes testis
trilbys trilby
turfs turf
waves wave