UNPKG

2.74 kBJavaScriptView Raw
1// Default inflections
2module.exports = function (inflect) {
3
4 inflect.plural(/$/, 's');
5 inflect.plural(/s$/i, 's');
6 inflect.plural(/(ax|test)is$/i, '$1es');
7 inflect.plural(/(octop|vir)us$/i, '$1i');
8 inflect.plural(/(octop|vir)i$/i, '$1i');
9 inflect.plural(/(alias|status)$/i, '$1es');
10 inflect.plural(/(bu)s$/i, '$1ses');
11 inflect.plural(/(buffal|tomat)o$/i, '$1oes');
12 inflect.plural(/([ti])um$/i, '$1a');
13 inflect.plural(/([ti])a$/i, '$1a');
14 inflect.plural(/sis$/i, 'ses');
15 inflect.plural(/(?:([^fa])fe|(?:(oa)f)|([lr])f)$/i, '$1ves');
16 inflect.plural(/(hive)$/i, '$1s');
17 inflect.plural(/([^aeiouy]|qu)y$/i, '$1ies');
18 inflect.plural(/(x|ch|ss|sh)$/i, '$1es');
19 inflect.plural(/(matr|vert|ind)(?:ix|ex)$/i, '$1ices');
20 inflect.plural(/([m|l])ouse$/i, '$1ice');
21 inflect.plural(/([m|l])ice$/i, '$1ice');
22 inflect.plural(/^(ox)$/i, '$1en');
23 inflect.plural(/^(oxen)$/i, '$1');
24 inflect.plural(/(quiz)$/i, '$1zes');
25
26 inflect.singular(/s$/i, '');
27 inflect.singular(/(n)ews$/i, '$1ews');
28 inflect.singular(/([ti])a$/i, '$1um');
29 inflect.singular(/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i, '$1sis');
30 inflect.singular(/(^analy)ses$/i, '$1sis');
31 inflect.singular(/([^f])ves$/i, '$1fe');
32 inflect.singular(/(hive)s$/i, '$1');
33 inflect.singular(/(tive)s$/i, '$1');
34 inflect.singular(/(oave)s$/i, 'oaf');
35 inflect.singular(/([lr])ves$/i, '$1f');
36 inflect.singular(/([^aeiouy]|qu)ies$/i, '$1y');
37 inflect.singular(/(s)eries$/i, '$1eries');
38 inflect.singular(/(m)ovies$/i, '$1ovie');
39 inflect.singular(/(x|ch|ss|sh)es$/i, '$1');
40 inflect.singular(/([m|l])ice$/i, '$1ouse');
41 inflect.singular(/(bus)es$/i, '$1');
42 inflect.singular(/(o)es$/i, '$1');
43 inflect.singular(/(shoe)s$/i, '$1');
44 inflect.singular(/(cris|ax|test)es$/i, '$1is');
45 inflect.singular(/(octop|vir)i$/i, '$1us');
46 inflect.singular(/(alias|status)es$/i, '$1');
47 inflect.singular(/^(ox)en/i, '$1');
48 inflect.singular(/(vert|ind)ices$/i, '$1ex');
49 inflect.singular(/(matr)ices$/i, '$1ix');
50 inflect.singular(/(quiz)zes$/i, '$1');
51 inflect.singular(/(database)s$/i, '$1');
52
53 inflect.irregular('child', 'children');
54 inflect.irregular('person', 'people');
55 inflect.irregular('man', 'men');
56 inflect.irregular('child', 'children');
57 inflect.irregular('sex', 'sexes');
58 inflect.irregular('move', 'moves');
59 inflect.irregular('cow', 'kine');
60 inflect.irregular('zombie', 'zombies');
61 inflect.irregular('oaf', 'oafs', true);
62 inflect.irregular('jefe', 'jefes');
63 inflect.irregular('save', 'saves');
64 inflect.irregular('safe', 'safes');
65 inflect.irregular('fife', 'fifes');
66
67 inflect.uncountable(['equipment', 'information', 'rice', 'money', 'species', 'series', 'fish', 'sheep', 'jeans', 'sushi']);
68}