GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - encryptorcode/pluralize: Pluralize and singularize any word.

BranchesTags
Open more actions menu

Latest commit

 

History

6 Commits
6 Commits

Folders and files

NameName
Last commit message
Last commit date
src
src
 
 
.gitignore
.gitignore
 
 
.travis.yml
.travis.yml
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
pom.xml
pom.xml
 
 

Repository files navigation

Pluralize

Maven Central Build Status Coverage Status GitHub license

Pluralize and singularize any word.

Installation

Maven

<dependency>
  <groupId>io.github.encryptorcode</groupId>
  <artifactId>pluralize</artifactId>
  <version>${pluralize.version}</version>
</dependency>

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

  • word: string The word to pluralize
  • count: number How many of the word exist
  • inclusive: boolean Whether to prefix with the number (e.g. 3 ducks)

Examples:

import io.github.encryptorcode.pluralize.Pluralize;
import static io.github.encryptorcode.pluralize.Pluralize.*;

public class Example{
    public static void main(String[] args){
        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(p("gex$"), "gexii");
        Pluralize.plural("regex"); //=> "regexii"

        // Example of new singular rule:
        Pluralize.singular("singles"); //=> "single"
        Pluralize.addSingularRule(p("singles"), "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
    }
}

Credits

The actual javascript version of this library is maintained at blakeembrey/pluralize. I've only helped to translate the code to Java. Also, I assure to have the least deviations from the actual code written and maintained by @blakeembrey

License

MIT

About

Pluralize and singularize any word.

Topics

nlppluralizeplurals

Resources

Readme
MIT license
Activity
Custom properties

Stars

8 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.