• Jump To … +
    abbreviations.js adjectives.js convertables.js dates.js demonyms.js firstnames.js honourifics.js irregular_nouns.js irregular_verbs.js misc.js multiples.js numbers.js organisations.js phrasal_verbs.js places.js uncountables.js verbs.js fns.js index.js lexicon.js negate.js passive_voice.js contractions.js fancy_lumping.js grammar_rules.js parts_of_speech.js phrasal_verbs.js tagger.js word_rules.js question.js sentence.js statement.js tense.js adjective.js to_adverb.js to_comparative.js to_noun.js to_superlative.js adverb.js to_adjective.js is_acronym.js article.js date.js date_rules.js is_date.js parse_date.js is_plural.js is_uncountable.js noun.js is_organisation.js organisation.js gender.js is_person.js parse_name.js person.js is_place.js place.js pluralize.js pronoun.js singularize.js is_value.js numbers.js to_number.js units.js value.js term.js conjugate.js from_infinitive.js predict_form.js suffix_rules.js to_actor.js to_infinitive.js negate.js verb.js sentence_parser.js text.js
  • irregular_nouns.js

  • ¶

    nouns with irregular plural/singular forms used in noun.inflect, and also in the lexicon. compressed with ‘_’ to reduce some redundancy.

    'use strict';
    let main = [
      ['child', '_ren'],
      ['person', 'people'],
      ['leaf', 'leaves'],
      ['database', '_s'],
      ['quiz', '_zes'],
      ['stomach', '_s'],
      ['sex', '_es'],
      ['move', '_s'],
      ['shoe', '_s'],
      ['goose', 'geese'],
      ['phenomenon', 'phenomena'],
      ['barracks', '_'],
      ['deer', '_'],
      ['syllabus', 'syllabi'],
      ['index', 'indices'],
      ['appendix', 'appendices'],
      ['criterion', 'criteria'],
      ['man', 'men'],
      ['sex', '_es'],
      ['rodeo', '_s'],
      ['epoch', '_s'],
      ['zero', '_s'],
      ['avocado', '_s'],
      ['halo', '_s'],
      ['tornado', '_s'],
      ['tuxedo', '_s'],
      ['sombrero', '_s'],
      ['addendum', 'addenda'],
      ['alga', '_e'],
      ['alumna', '_e'],
      ['alumnus', 'alumni'],
      ['bacillus', 'bacilli'],
      ['cactus', 'cacti'],
      ['beau', '_x'],
      ['château', '_x'],
      ['chateau', '_x'],
      ['tableau', '_x'],
      ['corpus', 'corpora'],
      ['curriculum', 'curricula'],
      ['echo', '_es'],
      ['embargo', '_es'],
      ['foot', 'feet'],
      ['genus', 'genera'],
      ['hippopotamus', 'hippopotami'],
      ['larva', '_e'],
      ['libretto', 'libretti'],
      ['loaf', 'loaves'],
      ['matrix', 'matrices'],
      ['memorandum', 'memoranda'],
      ['mosquito', '_es'],
      ['opus', 'opera'],
      ['ovum', 'ova'],
      ['ox', '_en'],
      ['radius', 'radii'],
      ['referendum', 'referenda'],
      ['thief', 'thieves'],
      ['tooth', 'teeth']
    ];
    
    main = main.map(function(a) {
      a[1] = a[1].replace('_', a[0]);
      return a;
    });
    
    module.exports = main;