Pluralize

NPM version NPM downloads Build status Test coverage File Size [CDNJS]cdnjs-url

Pluralize and singularize any word.

Installation

npm install pluralize --save yarn add pluralize bower install pluralize --save

Node

javascript var pluralize = require('pluralize')

AMD

javascript define(function (require, exports, module) { var pluralize = require('pluralize') })

<script> tag

```html

```

Why?

This module uses a pre-defined list of rules, applied in order, to singularize or pluralize a given word. There are many cases where this is useful, such as any automation based on user input. For applications where the word(s) are known ahead of time, you can use a simple ternary (or function) which would be a much lighter alternative.

Usage

Examples:

```javascript pluralize('test') //=> "tests" pluralize('test', 0) //=> "tests" pluralize('test', 1) //=> "test" pluralize('test', 5) //=> "tests" pluralize('test', 1, true) //=> "1 test" pluralize('test', 5, true) //=> "5 tests" pluralize('蘋果', 2, true) //=> "2 蘋果"

// Example of new plural rule: pluralize.plural('regex') //=> "regexes" pluralize.addPluralRule(/gex$/i, 'gexii') pluralize.plural('regex') //=> "regexii"

// Example of new singular rule: pluralize.singular('singles') //=> "single" pluralize.addSingularRule(/singles$/i, 'singular') pluralize.singular('singles') //=> "singular"

// Example of new irregular rule, e.g. "I" -> "we": pluralize.plural('irregular') //=> "irregulars" pluralize.addIrregularRule('irregular', 'regular') pluralize.plural('irregular') //=> "regular"

// Example of uncountable rule (rules without singular/plural in context): pluralize.plural('paper') //=> "papers" pluralize.addUncountableRule('paper') pluralize.plural('paper') //=> "paper"

// Example of asking whether a word looks singular or plural: pluralize.isPlural('test') //=> false pluralize.isSingular('test') //=> true ```

License

MIT