Last active
March 13, 2024 22:38
-
-
Save ArtemAvramenko/5de5e78dd89f957c08686b54aa568627 to your computer and use it in GitHub Desktop.
The simplest pluralizer according to English rules. It doesn't contain a list of exceptions, so it will return 'mouses' instead of 'mice', 'mans' instead of 'men', etc.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module.exports = function getPlural(name) { | |
const match = (r, n, e) => r.test(name) && (n ? name.slice(0, -n) : name) + e; | |
return match(/sis$/, 2, 'es') // analyses, diagnoses | |
|| match(/(?:[^fgmq][aeoi]|[fglm][eio]|[^aeijoqsuvxz])s$/, 0, '') // physics, stairs | |
|| match(/(?:s|x|z|[cs]h|ato)$/, 0, 'es') // kisses, tomatoes | |
|| match(/(?:[^aeiou]|qu)y$/, 1, 'ies') // ladies, tries | |
|| match(/[^ch][ieo][ln]ey$/, 2, 'ies') // smilies, monies | |
|| match(/(?:[aeou]l|[eo]a|ar)f$/, 1, 'ves') // scarves, shelves | |
|| match(/[^defr]ife$/, 2, 'ves') // knives, wives | |
|| name + 's'; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "basic-plural", | |
"version": "1.0.0", | |
"description": "", | |
"author": "Artem Avramenko", | |
"license": "MIT", | |
"dependencies": { | |
"pluralize": "^8.0.0" | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const pluralize = require('pluralize') | |
const getPlural = require('./basic-plural'); | |
let words = ` | |
aardwolf | |
abacus | |
abatis | |
abattis | |
abbess | |
abcs | |
abducens | |
abies | |
ability | |
abortus | |
abrasive | |
abraxas | |
abruptness | |
abscess | |
abstractness | |
abstruseness | |
absurdness | |
abuse | |
abyss | |
acanthus | |
acarus | |
accelerando | |
access | |
accomplice | |
accroides | |
achimenes | |
acidophilus | |
acidosis | |
acinaces | |
acinus | |
acontias | |
acoustics | |
acres | |
acridness | |
acrobatics | |
acropolis | |
across | |
actinomyces | |
activeness | |
activity | |
actress | |
aculeus | |
acuteness | |
adagio | |
additive | |
address | |
adenitis | |
adeps | |
adhesiveness | |
adios | |
adjective | |
ado | |
adobo | |
adonis | |
adroitness | |
adulteress | |
adventure | |
adventuress | |
aegilops | |
aegis | |
aepyornis | |
aerides | |
aerobatics | |
aerobics | |
aerodynamics | |
aeromechanics | |
aeronautics | |
aerostatics | |
aesthetics | |
aetites | |
affairs | |
afficionado | |
afflatus | |
aficionado | |
afro | |
afterlife | |
afterpains | |
afters | |
aftershave | |
agapanthus | |
agenesis | |
agio | |
agonistics | |
agrafe | |
agraffe | |
agronomics | |
aids | |
aikido | |
ailanthus | |
airbus | |
airiness | |
airs | |
airwave | |
akinesis | |
alans | |
albedo | |
albino | |
alderney | |
alexanders | |
alferes | |
alisanders | |
alkermes | |
allegretto | |
alley | |
allhallows | |
allies | |
allis | |
alloquy | |
allusiveness | |
ally | |
alms | |
aloes | |
aloofness | |
alphabetics | |
alphanumerics | |
altissimo | |
alto | |
altocumulus | |
altostratus | |
alumnus | |
alveolus | |
alzheimers | |
amanuensis | |
amaretto | |
amaryllis | |
amass | |
ambages | |
ambiloquy | |
ambo | |
amends | |
amenities | |
amice | |
amigo | |
amino | |
amiss | |
amnio | |
amnios | |
amorousness | |
amphioxus | |
anabas | |
anacamptics | |
anaclastics | |
anaglyptics | |
anagrams | |
analects | |
analysis | |
analytics | |
anamnesis | |
anamorphosis | |
ananas | |
anas | |
ancestress | |
ancestry | |
ancients | |
androides | |
anestrus | |
angelus | |
animatronics | |
animus | |
anklets | |
ankus | |
ankylosaurus | |
annals | |
anniversary | |
annulus | |
anoestrus | |
anomalops | |
anomaly | |
antares | |
anthesis | |
antiloquy | |
antineutrino | |
antipasto | |
antiphrasis | |
antipodes | |
antipyresis | |
antisepsis | |
antithesis | |
antitrades | |
anus | |
anxiousness | |
aortitis | |
apatosaurus | |
aphesis | |
apologetics | |
apology | |
apoptosis | |
apotheosis | |
apparatus | |
appendicitis | |
appro | |
apsis | |
aptness | |
aquatics | |
arbovirus | |
arbutus | |
arccos | |
arch | |
archduchess | |
archimedes | |
archipelago | |
architectonics | |
archive | |
archives | |
archness | |
arcus | |
arduousness | |
aretaics | |
argas | |
argus | |
aries | |
arioso | |
arles | |
armadillo | |
arms | |
arpeggio | |
arquebus | |
arras | |
arrears | |
arroyo | |
arteritis | |
artfulness | |
arthritis | |
artlessness | |
arts | |
asbestos | |
ascites | |
asclepias | |
ascus | |
ashes | |
asparagus | |
asperges | |
ass | |
assets | |
assizes | |
asterias | |
astragalus | |
astrodynamics | |
astronautics | |
astrophysics | |
ateles | |
atherosclerosis | |
athetosis | |
athletics | |
atmospherics | |
attagas | |
attorney | |
auntie | |
aurochs | |
auspices | |
authentics | |
authoress | |
authorities | |
authority | |
auto | |
autobus | |
autogenics | |
autogiro | |
autogyro | |
auxesis | |
ave | |
avens | |
avionics | |
avitaminosis | |
avo | |
avocado | |
avoirdupois | |
awareness | |
awfulness | |
axe | |
baas | |
baboo | |
baby | |
backstairs | |
backwoods | |
badderlocks | |
badlands | |
bagnio | |
bailey | |
balas | |
balbuties | |
balcony | |
ballistics | |
ballyhoo | |
baloney | |
balusters | |
bambino | |
bamboo | |
banjo | |
bank | |
banns | |
bar | |
barbadoes | |
barbiers | |
barley | |
barras | |
barrels | |
barrio | |
bars | |
barytes | |
base | |
basics | |
basso | |
batatas | |
bath | |
bathos | |
battery | |
bays | |
bbs | |
beach | |
beads | |
beam | |
beano | |
beatniks | |
beats | |
beau | |
beauty | |
bedclothes | |
bee | |
beehive | |
beestings | |
beeves | |
behalf | |
believe | |
bellows | |
belongings | |
bends | |
benthos | |
bias | |
bibliotics | |
biceps | |
bifocals | |
bigos | |
bikers | |
bilges | |
billiards | |
bimbo | |
bingo | |
binoculars | |
biodynamics | |
bioethics | |
biometrics | |
bionics | |
bionomics | |
biophysics | |
biostatics | |
biostatistics | |
biosystematics | |
bistro | |
bitters | |
black olive | |
blahs | |
blarney | |
bleachers | |
blewits | |
blinks | |
bloodulf | |
bloodybones | |
bloomers | |
blues | |
bluff | |
boards | |
bobbysocks | |
bolero | |
boley | |
boloney | |
bomb | |
bones | |
bongo | |
bonito | |
bonobo | |
bonus | |
boo | |
booby | |
book | |
bookie | |
bookshelf | |
boomdas | |
boondocks | |
bootboys | |
bootes | |
boots | |
bordello | |
boreas | |
bos | |
bouffe | |
bounds | |
bourgeoisie | |
bowels | |
bowls | |
box | |
boxcars | |
boxers | |
boxershorts | |
boy | |
bozo | |
bps | |
bracero | |
braces | |
braggadocio | |
brakes | |
branks | |
brassets | |
bravado | |
bravo | |
breakers | |
breeches | |
breeze | |
brew | |
briefs | |
brio | |
britches | |
broncho | |
bronco | |
brownie | |
brush | |
brussels | |
bubo | |
buceros | |
buckaroo | |
buckskins | |
budgie | |
bufo | |
bugaboo | |
bunco | |
bunko | |
buns | |
bureau | |
burgoo | |
burrito | |
burro | |
bus | |
busses | |
butterfingers | |
buttocks | |
button | |
buttons | |
bygones | |
cabas | |
cabby | |
cacao | |
cacoethes | |
cacogenics | |
cactus | |
cadrans | |
caecias | |
cafe | |
calf | |
calico | |
calisthenics | |
callisthenics | |
callus | |
calorie | |
calypso | |
cameo | |
cameralistics | |
campus | |
canderos | |
candlepins | |
canoe | |
canopy | |
canto | |
canvas | |
capias | |
capo | |
captive | |
carafe | |
carcavelhos | |
carcinosys | |
cards | |
career | |
cargo | |
caries | |
carney | |
carnivore | |
carny | |
carve | |
case | |
casino | |
castanets | |
cat | |
catadioptrics | |
catallactics | |
cataphonics | |
catechetics | |
category | |
cates | |
catholicos | |
catoptrics | |
cattle drive | |
cave | |
cavetto | |
cello | |
census | |
centas | |
centavo | |
centiloquy | |
century | |
ceramics | |
ceras | |
cerastes | |
ceraunics | |
ceremony | |
ceres | |
cero | |
ceroplastics | |
cgs | |
chaetetes | |
chafe | |
chains | |
chair | |
channels | |
chaos | |
charades | |
charge | |
charlie | |
charras | |
chasselas | |
chateau | |
checkers | |
cheer | |
cheerio | |
cheese | |
chef | |
chequy | |
chermes | |
cherry | |
chiaroscuro | |
chicano | |
chief | |
chilblains | |
chimney | |
chino | |
chips | |
chirp | |
chitlings | |
chitlins | |
chitterlings | |
chive | |
chives | |
chlamys | |
chlorpyrifos | |
chrematistics | |
chreotechnics | |
christmas | |
chromatics | |
chuddies | |
chupacabras | |
church | |
churidars | |
chutney | |
ciao | |
cicero | |
cilantro | |
cinema | |
circumstances | |
circus | |
cisco | |
city | |
civics | |
civies | |
civvies | |
cladistics | |
clams | |
clappers | |
class | |
classes | |
classics | |
cleaners | |
cleats | |
cleavers | |
clews | |
clidastes | |
clivers | |
clock | |
clocks | |
clothes | |
clue | |
clumps | |
clutches | |
coach | |
coatdress | |
cobblers | |
cobra | |
cockatoo | |
cockney | |
coco | |
cocobolas | |
coevals | |
coffee | |
coho | |
cokes | |
collards | |
collective | |
colley | |
collie | |
collins | |
colloquy | |
collywobbles | |
colony | |
colors | |
colours | |
colugo | |
combo | |
comedo | |
comes | |
comforts | |
commando | |
commons | |
communications | |
company | |
compasses | |
compliments | |
concerto | |
conditions | |
condo | |
coney | |
confines | |
congeries | |
congo | |
congratulations | |
conics | |
consensus | |
conserves | |
constructor | |
consultancy | |
contemporaries | |
contents | |
contralto | |
contraries | |
contretemps | |
conveniences | |
coo | |
cookie | |
copperas | |
copps | |
cops | |
copy | |
coralbells | |
cords | |
corduroys | |
corf | |
corozo | |
corporas | |
corps | |
corpse | |
corrections | |
cos | |
cosmos | |
cossas | |
costs | |
cough | |
country | |
courthouse | |
cove | |
cover | |
cows | |
cps | |
crab | |
crabs | |
cracklings | |
craft | |
crampoons | |
crants | |
craps | |
crash | |
crawly | |
crayon | |
creamcups | |
credentials | |
credits | |
credo | |
creeps | |
cremains | |
crems | |
crescendo | |
crisis | |
crispness | |
crossbones | |
crosshairs | |
crossroads | |
crosstrees | |
crowbar | |
crows | |
croys | |
crudites | |
cruise | |
crust | |
cryogenics | |
cryonics | |
cryptanalytics | |
cuckoo | |
cuff | |
curio | |
currency | |
curry | |
customs | |
custos | |
cutie | |
cybernetics | |
cycas | |
cyclas | |
cyclops | |
cynegetics | |
cyphonautes | |
cypres | |
cytoarchitectonics | |
cytogenetics | |
dado | |
dago | |
daimio | |
dalmanites | |
dalo | |
damages | |
daroo | |
dartars | |
dartos | |
darts | |
das | |
database | |
day | |
days | |
dealings | |
deas | |
death | |
deco | |
decrescendo | |
dedans | |
deeds | |
dees | |
dehors | |
deinoceras | |
dekko | |
delf | |
deloo | |
delta | |
demiwolf | |
demo | |
demon | |
dentiloquy | |
deputy | |
derbio | |
dermatoglyphics | |
dermestes | |
descendants | |
deserts | |
desperado | |
details | |
detective | |
devices | |
devoto | |
diabetes | |
diabley | |
diacoustics | |
diagnosis | |
diagnostics | |
diagraphics | |
dialectics | |
diaphonics | |
dibs | |
dickens | |
didactics | |
diddley | |
dido | |
dietetics | |
diggings | |
digs | |
dilapidations | |
dildo | |
dilemma | |
diminuendo | |
dinero | |
dinichthys | |
dinoceras | |
diogenes | |
dioptrics | |
diploma | |
dipsas | |
direction | |
disco | |
dish | |
distringas | |
ditto | |
dive | |
divertimento | |
dives | |
do | |
dodo | |
doggy | |
dogmatics | |
doings | |
doko | |
doldrums | |
domino | |
dominoes | |
dominos | |
donkey | |
doo | |
dorado | |
doryphoros | |
doubles | |
dove | |
dowlas | |
doyley | |
dozens | |
draco | |
dramatics | |
draughts | |
drawers | |
dregs | |
drimys | |
drink | |
drippings | |
drive | |
drongo | |
droppings | |
druthers | |
dryas | |
drygoods | |
dryobalanops | |
duckpins | |
duds | |
duettino | |
duetto | |
dulciloquy | |
dumplings | |
dumps | |
duo | |
duodecimo | |
duomo | |
durables | |
durio | |
duty | |
dvarf | |
dwarf | |
dyas | |
dye | |
dynamics | |
dynamo | |
dysgenics | |
earnings | |
eats | |
eave | |
eaves | |
ebonics | |
econometrics | |
economics | |
eddo | |
effects | |
effigies | |
eggs | |
egilops | |
ego | |
eidos | |
eighteenmo | |
eighties | |
eightvo | |
ejoo | |
elaps | |
eldorado | |
electro | |
electromagnetics | |
electronics | |
electrostatics | |
elements | |
elf | |
elops | |
elves | |
embargo | |
embroglio | |
embryo | |
emphasis | |
employ | |
employee | |
emprosthotonos | |
emu | |
encephalartos | |
encephalos | |
enclitics | |
encyclopedia | |
endodontics | |
energetics | |
enhydros | |
ens | |
enterics | |
enterprise | |
entrails | |
entremets | |
environs | |
eos | |
epanodos | |
ephialtes | |
epigraphics | |
epispadias | |
epitithides | |
epos | |
erato | |
erf | |
ergonomics | |
eringo | |
erinys | |
ermines | |
eros | |
ers | |
eryngo | |
erysipelas | |
escambio | |
escudo | |
eskimo | |
esoterics | |
esparto | |
espresso | |
esthetics | |
ethics | |
ethiops | |
ethnos | |
ethos | |
eudaemonics | |
eudemonics | |
eugenics | |
eurhythmics | |
euro | |
eurythmics | |
euthenics | |
eve | |
evectics | |
evolve | |
ex | |
executive | |
exegetics | |
exequy | |
exodontics | |
exomphalos | |
exophthalmos | |
explanans | |
explosive | |
expo | |
extrados | |
eyas | |
eye | |
eyeglasses | |
eyes | |
face | |
facies | |
factory | |
fado | |
faeces | |
faerie | |
fagotto | |
falls | |
falsetto | |
falsy | |
faluns | |
family | |
fandango | |
fantasticco | |
fantasy | |
fantods | |
farandams | |
faro | |
farrago | |
fasces | |
fatigues | |
fatso | |
fauces | |
favas | |
fave | |
favela | |
favosites | |
favourite | |
fax | |
feces | |
fecks | |
fee | |
feelings | |
fellatio | |
felony | |
fenks | |
ferretto | |
ferrugo | |
fetus | |
fiants | |
fiasco | |
fiberoptics | |
fibreoptics | |
fico | |
fidalgo | |
fides | |
fifo | |
fifties | |
figaro | |
filipino | |
fils | |
finances | |
findings | |
fingrigo | |
finish | |
finocchio | |
finochio | |
fisticuffs | |
fives | |
fix | |
fixings | |
fizz | |
flamenco | |
flamingo | |
flaps | |
flats | |
flauto | |
flea | |
flies | |
flinders | |
flo | |
floaty | |
flow | |
flower | |
flush | |
fly | |
flyer | |
fo | |
foam | |
focus | |
folio | |
folks | |
follies | |
follower | |
followers | |
fomes | |
foodie | |
foot | |
footlights | |
footsie | |
force | |
forceps | |
forensics | |
formalities | |
formula | |
forties | |
fortissimo | |
forum | |
fracas | |
fracho | |
freemasons | |
fresco | |
fricando | |
friend | |
fries | |
frijolillo | |
frijolito | |
frons | |
fubs | |
fuchs | |
fuero | |
fugato | |
fugitive | |
fumes | |
funambulo | |
fundamentals | |
funds | |
fungus | |
funnies | |
fustilugs | |
futuristics | |
gabbro | |
gaffe | |
galago | |
galeas | |
galimatias | |
galley | |
gallows | |
galwes | |
gambadoes | |
garbanzo | |
garganey | |
gas | |
gastriloquy | |
gastromyces | |
gasworks | |
gate | |
gateau | |
gaucho | |
gaywings | |
gazebo | |
gazpacho | |
gecko | |
gems | |
gene | |
general | |
generalissimo | |
genesis | |
genethliacs | |
genetics | |
genie | |
genitals | |
genius | |
genomics | |
gens | |
gentoo | |
genus | |
genys | |
geodetics | |
geographics | |
geophysics | |
geopolitics | |
geoponics | |
geriatrics | |
gesso | |
ghetto | |
gibbartas | |
giblets | |
gift | |
gigolo | |
gimbals | |
gingko | |
ginkgo | |
ginzo | |
giraffe | |
girl | |
giro | |
gismo | |
gitano | |
gives | |
gizmo | |
glanders | |
glans | |
glass | |
glasses | |
glassworks | |
glissando | |
glove | |
glyptics | |
gnomonics | |
go | |
goalie | |
goaves | |
gobs | |
goggles | |
goldfields | |
goldilocks | |
goldney | |
goldylocks | |
golf | |
golyardeys | |
gombo | |
gonys | |
goo | |
goodwife | |
gooney | |
goonie | |
gooroo | |
goose | |
gorilla | |
gps | |
graffito | |
grains | |
gramps | |
grandma | |
graphics | |
grave | |
gravitas | |
greatness | |
greaves | |
greens | |
grego | |
gres | |
gringo | |
gripes | |
grissino | |
grits | |
groats | |
groove | |
gros | |
grotto | |
grounds | |
groupie | |
grow | |
guacharo | |
guaco | |
guanaco | |
guano | |
gubbins | |
guelf | |
guess | |
guest | |
gules | |
gulf | |
gulyas | |
gumbo | |
gurney | |
gusto | |
guts | |
guy | |
gymnastics | |
gyro | |
gyrostatics | |
haaf | |
hackles | |
hackney | |
hades | |
haemadynamics | |
haemastatics | |
haematocolpos | |
hairdo | |
half | |
halieutics | |
halloo | |
halo | |
hals | |
halteres | |
halves | |
halysites | |
hamadryas | |
hammochrysos | |
handkerchief | |
hands | |
hanky | |
hanselines | |
hao | |
hardheads | |
harmonics | |
harp | |
hauls | |
hautpas | |
haves | |
headquarters | |
heaps | |
hearts | |
heartstrings | |
heat | |
heavens | |
heaves | |
heights | |
helamys | |
hello | |
hemadynamics | |
hemastatics | |
hematocolpos | |
hemodynamics | |
hendiadys | |
hercules | |
hermeneutics | |
hermes | |
heroics | |
herpes | |
hetero | |
heteroptics | |
hiccup | |
hidalgo | |
hiems | |
high | |
hijinks | |
hindoo | |
hindquarters | |
hippie | |
hippies | |
hippo | |
hippocras | |
hippocrates | |
hippopotamus | |
hipps | |
hipsters | |
hirudo | |
hirundo | |
history | |
histrionics | |
hive | |
hives | |
hmo | |
ho | |
hoax | |
hobby | |
hobo | |
hocco | |
hogo | |
hogtie | |
holethnos | |
hollands | |
hollo | |
holmos | |
homiletics | |
hommos | |
homo | |
honcho | |
honey | |
honeybells | |
honours | |
hoodoo | |
hooks | |
hoopoo | |
hoops | |
hopperings | |
hoppo | |
hops | |
hornfels | |
hornito | |
horseshoes | |
hostilities | |
hotcockles | |
hots | |
hoummos | |
hours | |
house | |
housefly | |
houselights | |
housewife | |
huanaco | |
huaraches | |
hullabaloo | |
hullo | |
human | |
humanics | |
humanities | |
humans | |
hunks | |
hurdles | |
hurds | |
hurricano | |
hurries | |
huso | |
hustings | |
hydramnios | |
hydraulics | |
hydrodynamics | |
hydrokinetics | |
hydromechanics | |
hydroponics | |
hydrops | |
hydrostatics | |
hygienics | |
hygrostatics | |
hylodes | |
hymeneals | |
hypo | |
hypospadias | |
hysterics | |
icaco | |
ichthys | |
ideographics | |
ides | |
igloo | |
iliopsoas | |
imago | |
imbargo | |
imbrocado | |
imbroglio | |
impasto | |
impatiens | |
imperiousnes | |
impetigo | |
impoofo | |
impresario | |
inamorato | |
incentive | |
incienso | |
index | |
indigo | |
indoles | |
indulto | |
industry | |
inferno | |
info | |
informatics | |
ingluvies | |
innards | |
innings | |
innuendo | |
instructions | |
intaglio | |
intermezzo | |
internuncio | |
intertrigo | |
intrados | |
intro | |
inuendo | |
io | |
ipo | |
ipocras | |
irenics | |
ironheads | |
irons | |
ironworks | |
irs | |
is | |
isagogics | |
isometrics | |
issue | |
ixodes | |
jaboncillo | |
jackanapes | |
jacks | |
jackstones | |
jackstraws | |
jakes | |
jako | |
jalapeno | |
jambes | |
jammies | |
jards | |
jeames | |
jefe | |
jello | |
jenkins | |
jiao | |
jigaboo | |
jimmies | |
jingo | |
jinks | |
jippo | |
jitney | |
jitters | |
jo | |
jodhpurs | |
johannes | |
johnadreams | |
jollies | |
joso | |
jougs | |
journey | |
judas | |
judge | |
judo | |
juglans | |
junco | |
junkie | |
junto | |
justico | |
kakapo | |
kakemono | |
kalantas | |
kalends | |
kangaroo | |
karatas | |
karreo | |
kattinumdoo | |
kayak | |
kayko | |
kayo | |
kazoo | |
keno | |
keramics | |
kerf | |
kermes | |
kers | |
key | |
kickshaws | |
kiddo | |
kidney | |
kiley | |
kilo | |
kimono | |
kinematics | |
kinesiatrics | |
kinesthetics | |
kinetics | |
king | |
kino | |
kirumbo | |
kiss | |
kiwi | |
klepto | |
klipdachs | |
klipdas | |
knickerbockers | |
knickers | |
knife | |
knob | |
knockings | |
knockoff | |
knucklebones | |
knuckles | |
knucks | |
ko | |
koala | |
kobo | |
koodoo | |
kos | |
kosmos | |
koto | |
kousso | |
krems | |
kudos | |
kyley | |
laas | |
lace | |
laches | |
ladino | |
lady | |
laelaps | |
lagophthalmos | |
lakao | |
lalo | |
lampas | |
lampers | |
lancers | |
land | |
langley | |
language | |
lanterloo | |
lanugo | |
lap | |
larghetto | |
largo | |
las | |
lashings | |
lassie | |
lasso | |
lates | |
latino | |
lats | |
laurels | |
lavabo | |
laxative | |
lazaretto | |
lazybones | |
leaders | |
leaf | |
leaves | |
lees | |
leftovers | |
legs | |
lemon | |
leno | |
lens | |
lentigo | |
leo | |
leotards | |
lepas | |
leptomeninges | |
les | |
letters | |
leucoethiops | |
lexicostatistics | |
ley | |
liabilities | |
liar | |
lias | |
libido | |
libretto | |
license | |
lido | |
lie | |
life | |
lifo | |
lights | |
lilo | |
lilyturf | |
limbers | |
limbo | |
limo | |
limoges | |
lingo | |
linguistics | |
links | |
lino | |
litas | |
lithochromatics | |
lithochromics | |
lithoglyptics | |
lithops | |
litotes | |
litre | |
liturgics | |
liturgist | |
livedo | |
lives | |
llanero | |
llano | |
loads | |
loaf | |
loaves | |
locao | |
loco | |
locofoco | |
locus | |
lodgings | |
loggerheads | |
logics | |
logistics | |
logo | |
logos | |
loins | |
lokorys | |
loligo | |
lolly | |
longlegs | |
longshanks | |
longways | |
loo | |
looney | |
loos | |
lophiomys | |
los | |
losings | |
losses | |
lothario | |
loto | |
lotos | |
lots | |
lotto | |
lotus | |
louse | |
love | |
low | |
low-life | |
lowlife | |
loxodromics | |
luau | |
ludo | |
lues | |
lumbago | |
macartney | |
machismo | |
macho | |
macro | |
macrobiotics | |
macroeconomics | |
madras | |
maestro | |
mafioso | |
mage | |
magnes | |
magnetics | |
magneto | |
magnetohydrodynamics | |
maieutics | |
mains | |
maithes | |
majors | |
mako | |
male | |
mallows | |
mambo | |
mango | |
manifesto | |
manks | |
manners | |
mantelshelf | |
manyplies | |
maraschino | |
marbles | |
mars | |
marseilles | |
mass | |
massage | |
masses | |
materfamilias | |
mates | |
mathematics | |
mathes | |
maths | |
matins | |
mattages | |
matzo | |
maulers | |
mawks | |
mayo | |
means | |
measles | |
mechanics | |
medico | |
medics | |
medium | |
medley | |
megabucks | |
megaceros | |
megalops | |
megrims | |
melasses | |
melodics | |
melody | |
memento | |
memo | |
memoirs | |
memorandum | |
mends | |
meninges | |
menses | |
menu | |
mercenary | |
mercy | |
merils | |
merino | |
meros | |
mesdames | |
meshugaas | |
mesonephros | |
mess | |
messias | |
mestizo | |
metalworks | |
metamathematics | |
metanephros | |
metaphysics | |
metempirics | |
meteor | |
methodios | |
metrics | |
metro | |
metrosideros | |
mews | |
mezzo | |
mho | |
mias | |
microeconomics | |
microelectronics | |
microlestes | |
microphonics | |
midas | |
midlands | |
mikado | |
mikmaks | |
mile | |
milo | |
mimeo | |
minors | |
minos | |
minutes | |
miro | |
misanthropos | |
mishegaas | |
miso | |
mithras | |
mnemonics | |
mo | |
mockers | |
mods | |
mojo | |
molasses | |
mollities | |
molosses | |
monas | |
money | |
mongo | |
mongoos | |
mongoose | |
monkey | |
mono | |
monoceros | |
mons | |
moo | |
moolley | |
mooncalf | |
mopes | |
morals | |
morello | |
mores | |
morphophonemics | |
moses | |
mosquito | |
moth | |
mother | |
motley | |
motorbus | |
motto | |
mounties | |
mouse | |
mouth | |
move | |
movie | |
mrs | |
ms | |
muggins | |
mulatto | |
muley | |
mulley | |
mulligrubs | |
multiloquy | |
multiple | |
mumblenews | |
mumps | |
mungoos | |
muniments | |
murlins | |
mustachio | |
mycetes | |
myips | |
myodynamics | |
nacho | |
nail | |
nakoo | |
nameko | |
names | |
nanny | |
nanophthalmos | |
naos | |
nappy | |
nardo | |
nardoo | |
nates | |
native | |
negative | |
nelumbo | |
nemertes | |
nems | |
nepenthes | |
nerd | |
nero | |
nerve | |
nerves | |
neuroethics | |
neurolinguistics | |
neutrino | |
newbie | |
news | |
ney | |
nias | |
nicety | |
niello | |
nightclothes | |
nineholes | |
ninepins | |
nineties | |
ninja | |
niopo | |
nippitato | |
no | |
nobley | |
noctambulo | |
node | |
noemics | |
nondo | |
nones | |
nonetto | |
nose | |
nothings | |
notself | |
notturno | |
novillero | |
nowadays | |
nucleonics | |
nucleus | |
numbers | |
numero | |
numismatics | |
nummulites | |
numps | |
nuncio | |
nuptials | |
nut | |
nyas | |
nyctalops | |
nylons | |
nympho | |
obbligato | |
objective | |
obligato | |
obloquy | |
obolo | |
obsequy | |
obstetrics | |
occasions | |
ocotillo | |
octavo | |
octodecimo | |
octopus | |
oddments | |
odds | |
oeconomics | |
oes | |
oglio | |
ojo | |
oleo | |
olf | |
olio | |
olive | |
omphalos | |
onappo | |
oneirocritics | |
onomastics | |
oo | |
oodles | |
operations | |
opisthotonos | |
optics | |
oratorio | |
orbitolites | |
order | |
oregano | |
oreo | |
orf | |
orfrays | |
organs | |
orleans | |
orlo | |
orthoceras | |
orthodontics | |
orthodromics | |
orthopaedics | |
orthopedics | |
orthoptics | |
orzo | |
osprey | |
ostinato | |
otto | |
ouanderoo | |
outdoors | |
outgo | |
outro | |
outskirts | |
ouzo | |
overclothes | |
ovolo | |
owlclaws | |
paas | |
pacos | |
paediatrics | |
paideutics | |
pains | |
paisley | |
palas | |
pallas | |
palmetto | |
palomino | |
pampas | |
pancreas | |
panto | |
pants | |
papers | |
parados | |
paradoxides | |
paratroops | |
paries | |
parkleaves | |
parley | |
parsley | |
parts | |
party | |
pas | |
pass | |
patas | |
paterfamilias | |
pathos | |
patio | |
patristics | |
pauciloquy | |
payables | |
pea | |
peach | |
peanuts | |
pecs | |
pectoriloquy | |
pedagogics | |
pediatrics | |
peekaboo | |
pegroots | |
pelf | |
penny | |
pens | |
pentremites | |
peoples | |
peplos | |
peptics | |
perameles | |
peribolos | |
periodontics | |
pers | |
person | |
personals | |
perspective | |
pes | |
peso | |
pesto | |
pettichaps | |
pettychaps | |
phacops | |
phalanges | |
pharmaceutics | |
pharmacogenetics | |
pharos | |
phase | |
phelloplastics | |
phenacomys | |
phobia | |
pholas | |
phonemics | |
phonetics | |
phoney | |
phonics | |
phony | |
photics | |
photo | |
phrenics | |
physiatrics | |
physics | |
phytelephas | |
piaffe | |
pianissimo | |
piano | |
piccolo | |
pickaxe | |
pickings | |
pie | |
pigsney | |
pilau | |
piles | |
pimento | |
pimiento | |
pinedrops | |
pinko | |
pinto | |
pistachio | |
pixie | |
pizza | |
placebo | |
planet | |
plateau | |
platypus | |
plaudits | |
playhouse | |
pleadings | |
please | |
pley | |
pliers | |
plough | |
plural | |
pluries | |
plyers | |
pms | |
pneumatics | |
pocketknife | |
podiceps | |
podley | |
poetics | |
polemics | |
poley | |
polio | |
politico | |
politics | |
polls | |
polo | |
polytechnics | |
pomelo | |
pompano | |
poncho | |
pons | |
pony | |
porcupines | |
porites | |
porkpie | |
porno | |
portfolio | |
porthors | |
portico | |
portos | |
pose | |
positive | |
potato | |
pothos | |
potto | |
pouch | |
pouf | |
pouffe | |
pragmatics | |
prangos | |
prees | |
prelims | |
premises | |
present | |
preserves | |
presto | |
primates | |
primo | |
privates | |
prize | |
pro | |
proceedings | |
proceeds | |
procrustes | |
professional | |
profits | |
progressive | |
promerops | |
pronaos | |
pronephros | |
proof | |
propaedeutics | |
props | |
prospectus | |
prosthetics | |
prosthodontics | |
proteles | |
proteomics | |
protoceratops | |
protopapas | |
provisions | |
proviso | |
proxemics | |
ps | |
pseudo | |
psoas | |
psychics | |
psycho | |
psychodynamics | |
psycholinguistics | |
psychometrics | |
psychonomics | |
psychophysics | |
psychotherapeutics | |
pterichthys | |
pteroceras | |
pubes | |
pucras | |
pueblo | |
pulas | |
pulley | |
punctilio | |
punks | |
purchase | |
pusley | |
pussley | |
pussytoes | |
pyrites | |
pyrotechnics | |
quadrans | |
quadratics | |
quadriceps | |
quango | |
quarters | |
quarto | |
quas | |
quasimodo | |
quattrocento | |
quebracho | |
queen | |
quellio | |
querpo | |
quest | |
quickens | |
quickie | |
quipo | |
quizz | |
quoits | |
rabato | |
rabbit | |
rabies | |
racehorse | |
rackabones | |
radicchio | |
radio | |
radiophoto | |
radiotelephony | |
radius | |
rafts | |
railbus | |
rails | |
raise | |
rancho | |
randomWord | |
ras | |
ratables | |
rateables | |
rates | |
ratio | |
rattlewings | |
ravages | |
rave | |
rayons | |
razbliuto | |
rebato | |
rebozo | |
recco | |
receipts | |
receivables | |
recitativo | |
recto | |
redlegs | |
redmaids | |
reductio | |
reecho | |
reed | |
reef | |
reflex | |
regex | |
regimentals | |
regrets | |
relations | |
relative | |
relievo | |
remains | |
renegado | |
reredos | |
res | |
reserves | |
respects | |
resummons | |
retro | |
revers | |
revolve | |
reward | |
rhagades | |
rhino | |
rhinoceros | |
rho | |
rhomboides | |
rhythmics | |
ribes | |
riches | |
rickets | |
ridley | |
ridotto | |
rilievo | |
ringhals | |
rings | |
rinkhals | |
rise | |
risotto | |
ritornello | |
ritratto | |
roads | |
robalo | |
robotics | |
rockers | |
rococo | |
rodeo | |
rodomontado | |
rolley | |
rollmops | |
romeo | |
ronco | |
rondo | |
roof | |
rooibos | |
rooms | |
roots | |
rose | |
rosemaloes | |
rotisserie | |
rotundo | |
rounders | |
row | |
rubato | |
rubigo | |
ruddles | |
rudiments | |
ruler | |
rumbo | |
rumney | |
rys | |
safe | |
sago | |
saguaro | |
sahuaro | |
sail | |
sale | |
sales | |
saltworks | |
salvo | |
sanders | |
sands | |
sandshoe | |
sandwich | |
sanies | |
sanity | |
santims | |
sapsago | |
sargasso | |
saros | |
sassafras | |
sathanas | |
saunders | |
save | |
savings | |
sawbones | |
scabies | |
scablands | |
scads | |
scapegallows | |
scarf | |
scenario | |
scherzo | |
schmo | |
schnapps | |
schnaps | |
schooldays | |
scioptics | |
scissors | |
scores | |
scours | |
scraps | |
scratch | |
scrubs | |
scruples | |
scrutiny | |
scurf | |
seats | |
secateurs | |
secondo | |
segno | |
self | |
selves | |
semantics | |
semeiotics | |
semicolony | |
semilens | |
semiotics | |
semipro | |
semitropics | |
sens | |
seraglio | |
serf | |
series | |
serpens | |
services | |
servo | |
settlings | |
sevens | |
seventies | |
sex | |
sextans | |
sgraffito | |
shades | |
shako | |
shambles | |
shampoo | |
shears | |
shekels | |
shelf | |
shingles | |
shinney | |
shirley | |
shirtsleeves | |
shmo | |
shoe | |
shoes | |
shorts | |
shucks | |
sibbens | |
sids | |
siemens | |
sights | |
silents | |
silks | |
silo | |
silversides | |
simoleons | |
singles | |
sirocco | |
sissoo | |
sivvens | |
sixties | |
size | |
skinheads | |
skittles | |
skivvies | |
sky | |
slacks | |
slave | |
sleeve | |
slews | |
slice | |
slickens | |
slops | |
slows | |
slyboots | |
smiley | |
smithereens | |
smoothie | |
snips | |
snuffers | |
so | |
soapsuds | |
sobersides | |
sociolinguistics | |
solas | |
soliloquy | |
solo | |
solve | |
somatics | |
sombrero | |
somniloquy | |
son | |
sonties | |
soprano | |
sops | |
sorgho | |
sorgo | |
sors | |
sos | |
soul | |
sours | |
spareribs | |
special | |
specie | |
species | |
specs | |
spectacles | |
speedo | |
spherics | |
sphragistics | |
spiccato | |
spillikins | |
spindlelegs | |
spindleshanks | |
spinney | |
spirits | |
splinters | |
spondulics | |
spooney | |
spots | |
sprinkles | |
sprites | |
spy | |
stacks | |
staggers | |
stairs | |
stakes | |
stalls | |
stapes | |
starches | |
starets | |
statics | |
statistics | |
status | |
staves | |
stays | |
steelworks | |
stemmatics | |
steno | |
stepney | |
steps | |
stereo | |
stiletto | |
stirps | |
stockholdings | |
stocks | |
stops | |
story | |
straits | |
strangles | |
strategetics | |
strategics | |
stratus | |
stream | |
streptomyces | |
strife | |
strings | |
stripes | |
strychnos | |
stucco | |
student | |
studio | |
stultiloquy | |
stylops | |
suave | |
suaviloquy | |
subjective | |
subspecies | |
subtropics | |
subway | |
suds | |
suit | |
suite | |
summercaters | |
summons | |
sumo | |
sun | |
sundries | |
sundrops | |
sunglasses | |
sunroof | |
supercargo | |
superego | |
superficies | |
superlative | |
supersedeas | |
supremo | |
surf | |
surprise | |
surroundings | |
survey | |
sweatpants | |
sweats | |
sweepings | |
sweepstakes | |
sweetbreads | |
swerve | |
swinney | |
syllabus | |
symbolics | |
symphony | |
synteretics | |
systematics | |
taas | |
tabes | |
taboo | |
taco | |
tactics | |
taekwondo | |
tails | |
take | |
takings | |
tales | |
talipes | |
talkie | |
talks | |
tally | |
tallyho | |
tamarao | |
tamias | |
tangelo | |
tango | |
tape | |
taps | |
taro | |
tarras | |
tartufe | |
tartuffe | |
tas | |
tattoo | |
taws | |
teargas | |
tears | |
techie | |
technics | |
techno | |
tectonics | |
teds | |
teens | |
telco | |
telephoto | |
telerobotics | |
tempo | |
temps | |
tennis | |
tenpins | |
tequila | |
teras | |
teredo | |
teres | |
termes | |
terms | |
terras | |
terzetto | |
test | |
testes | |
testudo | |
tethys | |
texas | |
thanatos | |
thanks | |
tharos | |
thaumaturgics | |
themself | |
theologics | |
theoretics | |
therapeutics | |
thermionics | |
thermodynamics | |
thermos | |
thermostatics | |
thermotics | |
thing | |
things | |
thirties | |
threads | |
thrips | |
throes | |
thunk | |
tiddlywinks | |
tiding | |
tidings | |
tidley | |
tidytips | |
tie | |
tights | |
times | |
tinsnips | |
tiptoe | |
tiro | |
titmouse | |
tobacco | |
toches | |
toe | |
togs | |
toledo | |
tomaley | |
tomalley | |
tomatillo | |
tomato | |
tongs | |
tongue | |
tons | |
tooth | |
toots | |
topos | |
torero | |
tornillo | |
torques | |
torso | |
touraco | |
tournedos | |
tourney | |
toxotes | |
toy | |
trace | |
traceries | |
trade | |
train | |
transactions | |
trapes | |
trappings | |
trays | |
treasure | |
trembles | |
tremolo | |
tretys | |
trews | |
trias | |
triceps | |
triceratops | |
trichomanes | |
triens | |
trimmings | |
trio | |
tripos | |
trisuls | |
trochilics | |
trochilos | |
troglodytes | |
trolley | |
trollmydames | |
trolly | |
trones | |
troops | |
tropics | |
trove | |
truffle | |
trunks | |
try | |
tuchas | |
tummals | |
tupelo | |
turaco | |
turbo | |
turf | |
turney | |
turps | |
turquois | |
tuxedo | |
twelve | |
twenties | |
twins | |
two | |
tympanites | |
typhos | |
typo | |
tyro | |
ufo | |
ulluco | |
umbo | |
umhofo | |
unco | |
underclothes | |
underdrawers | |
underpants | |
understairs | |
undies | |
unio | |
upas | |
upokororo | |
uprise | |
upstairs | |
urao | |
uredo | |
urochs | |
use | |
utas | |
uterus | |
utilise | |
utilize | |
validation | |
valley | |
values | |
valve | |
van | |
vanglo | |
vanjas | |
vapors | |
vapours | |
vaquero | |
varietas | |
variety | |
vas | |
vedro | |
veggie | |
velours | |
veney | |
ventriloquy | |
verdolagas | |
vergaloo | |
veritas | |
verso | |
vertex | |
vertigo | |
vespers | |
vespertilio | |
vespillo | |
vesses | |
vessets | |
veto | |
vetturino | |
viands | |
vibes | |
vibrato | |
vibrio | |
victuals | |
video | |
view | |
vinatico | |
vino | |
violoncello | |
vipers | |
virago | |
vireo | |
virgo | |
virino | |
virtuoso | |
virus | |
visa | |
viscus | |
visto | |
vitals | |
vitiligo | |
vives | |
volley | |
vomito | |
voodoo | |
vulcano | |
vulpes | |
waahoo | |
wacko | |
waders | |
wads | |
wages | |
wahoo | |
walkie-talkie | |
wallaby | |
wallaroo | |
wanderoo | |
waney | |
wango | |
wapatoo | |
wappato | |
wardcorps | |
washables | |
waterloo | |
waters | |
waterworks | |
wave | |
wax | |
ways | |
weeds | |
weekly | |
wehrwolf | |
weirdo | |
wellingtons | |
wels | |
werewolf | |
whacko | |
whahoo | |
wharf | |
whereabouts | |
whiles | |
whiskers | |
whiskey | |
whisky | |
whistle | |
wife | |
wiki | |
willies | |
windas | |
wings | |
winnebagoes | |
winnings | |
wino | |
witch | |
withers | |
wits | |
witts | |
wives | |
wo | |
wolf | |
wolves | |
woods | |
woohoo | |
word | |
words | |
workings | |
works | |
wyandots | |
xeres | |
xerotes | |
xerxes | |
xiphias | |
xylo | |
xystos | |
yahoo | |
yatobyo | |
yaws | |
yellowlegs | |
yellows | |
yellowshanks | |
yellowshins | |
yips | |
yobbo | |
yobo | |
yourself | |
yowley | |
ypocras | |
ys | |
yufts | |
zacco | |
zambo | |
zebra | |
zero | |
zeus | |
zingaro | |
zippo | |
zobo | |
zocco | |
zoccolo | |
zombie | |
zoo | |
zoozoo | |
zosterops | |
zuchetto | |
zufolo | |
zydeco | |
zymase | |
`.split('\n'); | |
const exclusions = `addendum | |
adventurous | |
agenda | |
aggro | |
aircraft | |
alias | |
allegro | |
allhallowmas | |
ambergris | |
ammo | |
anathema | |
antihero | |
appendix | |
atlas | |
audio | |
automaton | |
axis | |
buffalo | |
camas | |
cammas | |
candlemas | |
carnivorous | |
cherub | |
chickenpox | |
child | |
chinese | |
criterion | |
curriculum | |
cutlas | |
datum | |
die | |
dingo | |
dogma | |
dolmas | |
echo | |
fireman | |
firmware | |
fish | |
garbage | |
hallowmas | |
hero | |
hoof | |
iris | |
japanese | |
lammas | |
lemma | |
looey | |
man | |
martinmas | |
martlemas | |
matrix | |
media | |
michaelmas | |
millennium | |
moose | |
negro | |
only | |
os | |
ox | |
phenomenon | |
pokemon | |
pokémon | |
police | |
polyhedron | |
proatlas | |
quiz | |
quorum | |
ranchero | |
reindeer | |
schema | |
seraph | |
sheep | |
smallpox | |
staff | |
starfish | |
stigma | |
stratum | |
superhero | |
superman | |
that | |
thief | |
this | |
tornado | |
torpedo | |
veniam | |
vertebra | |
volcano | |
wildlife | |
woman | |
xmas | |
yes | |
you`.split('\n'); | |
const endings = {}; | |
const allWords = {}; | |
const showExclusions = false; | |
if (showExclusions) { | |
words.push(...exclusions); | |
} | |
let n = 0; | |
for (let word of words) { | |
word = word.trim(); | |
if (word.length > 1) { | |
allWords[word] = true; | |
const p1 = getPlural(word); | |
const p2 = pluralize.plural(word); | |
if (p1 !== p2 && (showExclusions || p2.startsWith(p1.slice(0,-3)))) { | |
console.log(`${word}: ${p1} -> ${p2}`); | |
end = word.slice(-3).trim(); | |
endings[end] = (endings[end] || 0) + 1; | |
n++; | |
} | |
} | |
} | |
//console.log(JSON.stringify(endings, null, ' ')); | |
console.log(n); | |
//Object.keys(allWords).sort().forEach(s => console.log(s)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment