js-simple-plurals

Just a set of plural functions for different languages

Usage no npm install needed!

<script type="module">
  import jsSimplePlurals from 'https://cdn.skypack.dev/js-simple-plurals';
</script>

README

js-simple-plurals

Just a set of plural functions for different languages

Installation

Install with Bower

$ bower install js-simple-plurals

Install with NPM

$ npm install js-simple-plurals

Examples

Node.js

var plural = require('./node/en');
function pluralizeEn(number, one, many) {
    var rules = [one, many];
    var position = plural(number);
    return rules[position];
}

console.log('2 ' + pluralizeEn(2, 'day', 'days')); // prints '2 days'

Web

<form>
    <label>
        Number
        <input type="number" id="number" value="1">
    </label>
    <div id="text"></div>
</form>

<script src="web/en.js"></script>
<script>
    var number = document.getElementById('number');
    var text   = document.getElementById('text');

    function pluralizeEn(number, one, many) {
        var rules = [one, many];
        var position = plural.en(number);
        return rules[position];
    }

    function updateText() {
        var content = number.value + ': ' + pluralizeEn(
            number.value,
            'day',
            'days'
        );
        document.getElementById('text').textContent = content;
    }

    document.getElementById('number').addEventListener('change', updateText);
    updateText();
</script>

About

Plural rules follow the guideline found in the Unicode CLDR Charts on Language Plural Rules. This plural rules are based on rules generated by universal-i18n.