# `Text.Inflect.En`
[🔗](https://github.com/kipcole9/text/blob/v0.6.1/lib/inflect/en.ex#L1)

Pluralisation for the English language based on the paper
[An Algorithmic Approach to English Pluralization](http://users.monash.edu/~damian/papers/HTML/Plurals.html).

# `do_genetive`

# `is_genetive`

# `is_indefinite_article`

# `is_possessive_pronoun`

# `pluralize`

Pluralize an english noun, pronoun,
verb or adjective.

### Arguments

* `word` is any English word.

* `mode` is `:modern` or `:classical`. The
  default is `:modern`. This applies to
  nouns only.

### Returns

* a `String` representing the pluralized word.

### Notes

`mode` when `:classical` applies pluralization
on latin nouns in english but with latin
suffixes.

### Examples

    iex> Text.Inflect.En.pluralize "fish"
    "fish"

    iex> Text.Inflect.En.pluralize "soliloquy"
    "soliloquies"

    iex> Text.Inflect.En.pluralize "genius", :classical
    "genii"

    iex> Text.Inflect.En.pluralize "has"
    "have"

    iex> Text.Inflect.En.pluralize "catches"
    "catch"

    iex> Text.Inflect.En.pluralize "child's"
    "children's"

    iex> Text.Inflect.En.pluralize "Mary's"
    "Marys'"

# `pluralize_adjective`

Pluralize an english adjective.

### Arguments

* `word` is any English adjective.

### Returns

* a `String` representing the pluralized
  adjective

### Examples

    iex> Text.Inflect.En.pluralize_adjective "a"
    "some"

    iex> Text.Inflect.En.pluralize_adjective "my"
    "our"

    iex> Text.Inflect.En.pluralize_adjective "child's"
    "children's"

    iex> Text.Inflect.En.pluralize_adjective "Mary's"
    "Marys'"

# `pluralize_noun`

Pluralize an english noun.

### Arguments

* `word` is any English noun.

* `mode` is `:modern` or `:classical`. The
  default is `:modern`.

### Returns

* a `String` representing the pluralized noun

### Notes

`mode` when `:classical` applies pluralization
on latin nouns used in english but with latin
suffixes.

### Examples

    iex> Text.Inflect.En.pluralize_noun "Major general"
    "Major generals"

    iex> Text.Inflect.En.pluralize_noun "fish"
    "fish"

    iex> Text.Inflect.En.pluralize_noun "soliloquy"
    "soliloquies"

    iex> Text.Inflect.En.pluralize_noun "genius", :classical
    "genii"

    iex> Text.Inflect.En.pluralize_noun "genius"
    "geniuses"

    iex> Text.Inflect.En.pluralize_noun "platypus", :classical
    "platypodes"

    iex> Text.Inflect.En.pluralize_noun "platypus"
    "platypuses"

# `pluralize_verb`

Pluralize an english verb.

### Arguments

* `word` is any English verb.

### Returns

* a `String` representing the pluralized verb

### Examples

    iex> Text.Inflect.En.pluralize_verb "has"
    "have"

    iex> Text.Inflect.En.pluralize_verb "catches"
    "catch"

# `singularize`

Singularize an English word.

Inverts `pluralize/2`: given a plural noun (or pronoun), returns its
singular form. Inputs that are already singular, or that aren't
recognised as a plural, are returned unchanged.

### Arguments

* `word` is the word to singularize.

* `mode` is one of `:modern` (default) or `:classical`. The
  classical mode uses Latin/Greek classical singulars where
  applicable (e.g. `octopodes → octopus` in classical, vs.
  `octopuses → octopus` in modern).

### Returns

* The singular form as a string. Words that don't appear plural
  (or that have no known singular) are returned unchanged.

### Examples

    iex> Text.Inflect.En.singularize "mice"
    "mouse"

    iex> Text.Inflect.En.singularize "children"
    "child"

    iex> Text.Inflect.En.singularize "octopuses"
    "octopus"

    iex> Text.Inflect.En.singularize "octopodes", :classical
    "octopus"

    iex> Text.Inflect.En.singularize "cities"
    "city"

    iex> Text.Inflect.En.singularize "knives"
    "knife"

# `singularize_noun`

Singularize an English noun.

Lower-level than `singularize/2`: skips the pronoun and
non-inflecting checks. Useful when callers have already filtered
the input to nouns.

### Arguments

* `word` is the noun to singularize.

* `mode` is `:modern` (default) or `:classical`.

### Returns

* The singular form as a string.

### Examples

    iex> Text.Inflect.En.singularize_noun "octopuses"
    "octopus"

    iex> Text.Inflect.En.singularize_noun "platypodes", :classical
    "platypus"

---

*Consult [api-reference.md](api-reference.md) for complete listing*
