Skip to content

Instantly share code, notes, and snippets.

@znechai
Last active April 26, 2025 16:57
Show Gist options
  • Select an option

  • Save znechai/1b25d0ee9a92e5b879175ab4f040dbbc to your computer and use it in GitHub Desktop.

Select an option

Save znechai/1b25d0ee9a92e5b879175ab4f040dbbc to your computer and use it in GitHub Desktop.

Revisions

  1. znechai revised this gist Sep 29, 2016. 1 changed file with 5 additions and 5 deletions.
    10 changes: 5 additions & 5 deletions pluralize-ru.js
    Original file line number Diff line number Diff line change
    @@ -1,10 +1,10 @@
    /**
    * Plural forms for russian words
    * @param {Integer} number quantity for word
    * @param {Array} titles Array of words. Example: ['депутат', 'депутата', 'депутатов'], ['коментарий', 'коментария', 'комментариев']
    * @return {String} Quantity + plural form for word
    * @param {Integer} count quantity for word
    * @param {Array} words Array of words. Example: ['депутат', 'депутата', 'депутатов'], ['коментарий', 'коментария', 'комментариев']
    * @return {String} Count + plural form for word
    */
    function pluralize(number, titles) {
    function pluralize(count, words) {
    var cases = [2, 0, 1, 1, 1, 2];
    return number + ' ' + titles[ (number % 100 > 4 && number % 100 < 20) ? 2 : cases[ Math.min(number % 10, 5)] ];
    return count + ' ' + words[ (count % 100 > 4 && count % 100 < 20) ? 2 : cases[ Math.min(count % 10, 5)] ];
    }
  2. znechai created this gist Sep 29, 2016.
    10 changes: 10 additions & 0 deletions pluralize-ru.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    /**
    * Plural forms for russian words
    * @param {Integer} number quantity for word
    * @param {Array} titles Array of words. Example: ['депутат', 'депутата', 'депутатов'], ['коментарий', 'коментария', 'комментариев']
    * @return {String} Quantity + plural form for word
    */
    function pluralize(number, titles) {
    var cases = [2, 0, 1, 1, 1, 2];
    return number + ' ' + titles[ (number % 100 > 4 && number % 100 < 20) ? 2 : cases[ Math.min(number % 10, 5)] ];
    }