Singularize and pluralize English words with irregular forms, uncountable words, count-aware formatting, and ordinal number conversion.
dotnet add package Philiprehberger.PluralizerSingularize and pluralize English words with irregular forms, uncountable words, count-aware formatting, and ordinal number conversion.
dotnet add package Philiprehberger.Pluralizer
using Philiprehberger.Pluralizer;
Pluralizer.Pluralize("cat"); // "cats"
Pluralizer.Pluralize("baby"); // "babies"
Pluralizer.Pluralize("person"); // "people"
Pluralizer.Pluralize("child"); // "children"
Pluralizer.Singularize("buses"); // "bus"
Pluralizer.Singularize("wolves"); // "wolf"
Pluralizer.Singularize("people"); // "person"
Pluralizer.Singularize("children"); // "child"
using Philiprehberger.Pluralizer;
Pluralizer.Format(0, "item"); // "0 items"
Pluralizer.Format(1, "item"); // "1 item"
Pluralizer.Format(5, "item"); // "5 items"
Pluralizer.Format(1, "person"); // "1 person"
Pluralizer.Format(3, "person"); // "3 people"
Pluralizer.IsPlural("cats"); // true
Pluralizer.IsSingular("cat"); // true
Pluralizer.IsPlural("sheep"); // true (uncountable)
using Philiprehberger.Pluralizer;
Pluralizer.Ordinalize(1); // "1st"
Pluralizer.Ordinalize(2); // "2nd"
Pluralizer.Ordinalize(3); // "3rd"
Pluralizer.Ordinalize(4); // "4th"
Pluralizer.Ordinalize(11); // "11th"
Pluralizer.Ordinalize(21); // "21st"
Pluralizer.Ordinalize(113); // "113th"
using Philiprehberger.Pluralizer;
Pluralizer.Titleize("the quick brown fox"); // "The Quick Brown Fox"
Pluralizer.Titleize("a tale of two cities"); // "A Tale of Two Cities"
Pluralizer.Titleize(3, "open bug"); // "3 Open Bugs"
Pluralizer.Titleize(1, "open bug"); // "1 Open Bug"
using Philiprehberger.Pluralizer;
Pluralizer.ToOrdinalWords(1); // "first"
Pluralizer.ToOrdinalWords(20); // "twentieth"
Pluralizer.ToOrdinalWords(23); // "twenty-third"
Pluralizer.ToOrdinalWords(123); // "one hundred twenty-third"
using Philiprehberger.Pluralizer;
Pluralizer.AddIrregular("cactus", "cacti");
Pluralizer.Pluralize("cactus"); // "cacti"
Pluralizer.AddUncountable("software");
Pluralizer.Pluralize("software"); // "software"
Pluralizer| Member | Description |
|---|---|
Pluralize(string word) | Convert a singular word to its plural form |
Singularize(string word) | Convert a plural word to its singular form |
Format(int count, string word) | Format as "count word(s)" using the correct form |
Ordinalize(int number) | Convert an integer to its ordinal string (1 → "1st", 2 → "2nd") |
Titleize(string text) | Capitalize major words; leave small connectors lowercase |
Titleize(int count, string text) | Titleized count phrase with the final noun pluralized as needed |
ToOrdinalWords(int number) | Spelled-out ordinal for 0..999 (e.g. 23 → "twenty-third") |
IsPlural(string word) | Check if a word is in plural form |
IsSingular(string word) | Check if a word is in singular form |
AddIrregular(string singular, string plural) | Register a custom irregular word pair |
AddUncountable(string word) | Register a word as uncountable |
dotnet build src/Philiprehberger.Pluralizer.csproj --configuration Release
If you find this project useful: