2 Inflector
.inflections
do |inflect
|
3 inflect
.plural(/$/, 's')
4 inflect
.plural(/s$/i
, 's')
5 inflect
.plural(/(ax|test)is$/i
, '\1es')
6 inflect
.plural(/(octop|vir)us$/i
, '\1i')
7 inflect
.plural(/(alias|status)$/i
, '\1es')
8 inflect
.plural(/(bu)s$/i
, '\1ses')
9 inflect
.plural(/(buffal|tomat)o$/i
, '\1oes')
10 inflect
.plural(/([ti])um$/i
, '\1a')
11 inflect
.plural(/sis$/i
, 'ses')
12 inflect
.plural(/(?:([^f])fe|([lr])f)$/i
, '\1\2ves')
13 inflect
.plural(/(hive)$/i
, '\1s')
14 inflect
.plural(/([^aeiouy]|qu)y$/i
, '\1ies')
15 inflect
.plural(/(x|ch|ss|sh)$/i
, '\1es')
16 inflect
.plural(/(matr|vert|ind)(?:ix|ex)$/i
, '\1ices')
17 inflect
.plural(/([m|l])ouse$/i
, '\1ice')
18 inflect
.plural(/^(ox)$/i
, '\1en')
19 inflect
.plural(/(quiz)$/i
, '\1zes')
21 inflect
.singular(/s$/i
, '')
22 inflect
.singular(/(n)ews$/i
, '\1ews')
23 inflect
.singular(/([ti])a$/i
, '\1um')
24 inflect
.singular(/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i
, '\1\2sis')
25 inflect
.singular(/(^analy)ses$/i
, '\1sis')
26 inflect
.singular(/([^f])ves$/i
, '\1fe')
27 inflect
.singular(/(hive)s$/i
, '\1')
28 inflect
.singular(/(tive)s$/i
, '\1')
29 inflect
.singular(/([lr])ves$/i
, '\1f')
30 inflect
.singular(/([^aeiouy]|qu)ies$/i
, '\1y')
31 inflect
.singular(/(s)eries$/i
, '\1eries')
32 inflect
.singular(/(m)ovies$/i
, '\1ovie')
33 inflect
.singular(/(x|ch|ss|sh)es$/i
, '\1')
34 inflect
.singular(/([m|l])ice$/i
, '\1ouse')
35 inflect
.singular(/(bus)es$/i
, '\1')
36 inflect
.singular(/(o)es$/i
, '\1')
37 inflect
.singular(/(shoe)s$/i
, '\1')
38 inflect
.singular(/(cris|ax|test)es$/i
, '\1is')
39 inflect
.singular(/(octop|vir)i$/i
, '\1us')
40 inflect
.singular(/(alias|status)es$/i
, '\1')
41 inflect
.singular(/^(ox)en/i
, '\1')
42 inflect
.singular(/(vert|ind)ices$/i
, '\1ex')
43 inflect
.singular(/(matr)ices$/i
, '\1ix')
44 inflect
.singular(/(quiz)zes$/i
, '\1')
46 inflect
.irregular('person', 'people')
47 inflect
.irregular('man', 'men')
48 inflect
.irregular('child', 'children')
49 inflect
.irregular('sex', 'sexes')
50 inflect
.irregular('move', 'moves')
51 inflect
.irregular('cow', 'kine')
53 inflect
.uncountable(%w(equipment information rice money species series fish sheep
))