plural-forms
TypeScript icon, indicating that this package has built-in type declarations

0.5.5 • Public • Published

plural-forms

Provides information about the plural forms from any language that you may know

Installation

yarn add plural-forms
# or
npm install --save plural-forms

Usage example

import { getNPlurals } from 'plural-forms'

const englishPluralsNumber = getNPlurals('en'); // 2 

Available methods

getNPlurals(language: string): number

  • language - language ISO code. Returns the number of plural forms for locale

Example:

import { getNPlurals } from 'plural-forms'

const englishPluralsNumber = getNPlurals('en'); // 2 

getFormula(language: string) : string

  • language - language ISO code. Returns plural form formula for locale

Example:

import { getFormula } from 'plural-forms'

const englishPluralsNumber = getFormula('en'); // "n!==1'"

getPluralFunc(language: string) : function

  • language - language ISO code. Returns function that can compute appropriate form for locale

Example:

import { getPluralFunc } from 'plural-forms'
const fn = getPluralFunc('en')

fn(1, ['banana', 'bananas']) // 'banana'
fn(2, ['banana', 'bananas']) // 'bananas'

hasLang(language: string): boolean

  • language - language ISO code Returns if language definition exists in catalog

Example:

import { hasLang } from 'plural-forms'
hasLang('en') // true
hasLang('zzz') // false

getAvailLangs(): [string]

Returns list with all existing ISO codes of languages from the catalog.

Example

import { getAvailLangs } from 'plural-forms';
getAvailLangs() // [en, uk, ...]

getExamples(language: string): [{ plural: number, sample: number}]

Returns list with examples for plurals.

Example

import { getExamples } from 'plural-forms';
getExamples('uk')
// [ { plural: 0, sample: 1 },
//   { plural: 1, sample: 2 },
//   { plural: 2, sample: 5 } ]

/plural-forms/

    Package Sidebar

    Install

    npm i plural-forms

    Weekly Downloads

    24,934

    Version

    0.5.5

    License

    MIT

    Unpacked Size

    63.9 kB

    Total Files

    10

    Last publish

    Collaborators

    • alexander