Following are additional pluralization rules, written patch-like into the source for vendor/activesupport/lib/active_support/inflector.rb for plural_rules method. Online documentation provided the line numbers used.
60: [/(x|ch|ss|sh)$/, '\1es'], # search, switch, fix, box, process, address, phalanx(military)
61: [/series$/, '\1series'],
#line 62 is considered questionable
62: [/([^aeiouy]|qu)ies$/, '\1y'], # congeries(singular)
63: [/([^aeiouy]|qu)y$/, '\1ies'], # query, ability, agency
64: [/(?:([^f])fe|([lr])f)$/, '\1\2ves'], # half, safe, wife
65: [/sis$/, 'ses'], # basis, diagnosis
[/ceps$/, 'cepses'], # biceps, tricep, quadraceps, forceps are all singuler
[/iris$/, 'irides'], # correct, but not in common use
[/is$/, 'ises'], # correct for most declensions
[/is$/, 'es'], # correct for remainder
[/apparatus$/, 'apparatus'],
[/genus$/, 'genera'],
[/opus$/, 'opera'], # opera has dual plurals, also operae, operas.
[/octopus$/, 'octopodes'], # octopi is wrong, octopus is not a second declension noun
[/us$/, 'i'], # correct for second declension nouns, focus(mathematical), crocus, isthmus, ignoramus, mandamus
[/us$/, 'uses'], # correct for other declension nouns, focus(purpose of investigation), fetus, census, sinus, hiatus, virus, walrus, talus
[/os$/, 'oses'], # OSes, rhinoceroses(rhinocerontes actually)
[/quorum$/, 'quorums'], # important rule
66: [/([ti])um$/, '\1a'], # datum, medium
[/([ilrt])um$/, '\1a'], # datum, medium(presentation)*, bacterium, phylum, forum
[/um$/, 'ums'], # gymnasiums, forum, medium(person)
[/ph$/, 'phs'], # photograph
[/ph$/, 'phim'], # seraph
[/on$/, 'a'], # phenomenon, ganglion, automaton, criterion
[/nn$/, 'nni'], # djinni, jinni
#!! shadowed by rules above
[/phalanx$/, 'phalanges'], # phalanx(fingers, toes)
[/x$/, 'xen'], # ox, and a few others
[/mos$/, 'mores'], # mos
[/viscus$/, 'viscera'], # viscus
[/fex$/, 'feces'], # fex
[/necropolis$/, 'necropoli'], # necropolis
[/goy$/, 'goyim'],
[/matzo$/, 'matzot'],
[/insigne$/, 'insignia'],
[/ragale$/, 'regalia'],
[/exemplar$/, 'exemplaria'],
[/paraphernal$/, 'paraphernalia'],
67: [/person$/, 'people'], # person, salesperson
#exceptions to rule 68
# caiman, doberman, German, human, leman, ottoman, pitman, Pullman, Roman, shaman, talisman
68: [/man$/, 'men'], # man, woman, spokesman
69: [/child$/, 'children'], # child
70: [/s$/, 's'], # no change (compatibility)
71: [/$/, 's']
There are several conflicts in the above rules. But incorporation of some of the above, will make inflection better.
There are many plurals that cannot be correctly singularized. axes could have come from axe, or axis; bases: base, basis; ellipses: ellipse, ellipsis.