From 8742a4ab60b522a7ca36914709e08fbae3c04fcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lambert?= Date: Mon, 30 Aug 2021 11:09:17 +0200 Subject: [PATCH] Update rules with missing rules from updated pluralize js library --- Pluralize.NET/Rules/IrregularRules.cs | 4 ++++ Pluralize.NET/Rules/PluralRules.cs | 10 +++++----- Pluralize.NET/Rules/SingularRules.cs | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Pluralize.NET/Rules/IrregularRules.cs b/Pluralize.NET/Rules/IrregularRules.cs index ed252ad..b617ed4 100644 --- a/Pluralize.NET/Rules/IrregularRules.cs +++ b/Pluralize.NET/Rules/IrregularRules.cs @@ -25,6 +25,10 @@ internal static class IrregularRules {"has", "have"}, {"this", "these"}, {"that", "those"}, + {"my", "our"}, + {"its", "their"}, + {"his", "their"}, + {"her", "their"}, // Words ending in with a consonant and `o`. {"echo", "echoes"}, {"dingo", "dingoes"}, diff --git a/Pluralize.NET/Rules/PluralRules.cs b/Pluralize.NET/Rules/PluralRules.cs index 6207142..c1c7f66 100644 --- a/Pluralize.NET/Rules/PluralRules.cs +++ b/Pluralize.NET/Rules/PluralRules.cs @@ -37,13 +37,13 @@ public static IList GetRules() new ReplaceRule { Condition = new Regex("^thou$",RegexOptions.IgnoreCase), ReplaceWith = "you" }, - new ReplaceRule { Condition = new Regex("pox$",RegexOptions.IgnoreCase), ReplaceWith = "$0" }, - new ReplaceRule { Condition = new Regex("o[iu]s$",RegexOptions.IgnoreCase), ReplaceWith = "$0" }, - new ReplaceRule { Condition = new Regex("deer$",RegexOptions.IgnoreCase), ReplaceWith = "$0" }, - new ReplaceRule { Condition = new Regex("fish$",RegexOptions.IgnoreCase), ReplaceWith = "$0" }, + new ReplaceRule { Condition = new Regex("pox$",RegexOptions.IgnoreCase), ReplaceWith = "$0" }, // "chickpox", "smallpox" + new ReplaceRule { Condition = new Regex("o[iu]s$",RegexOptions.IgnoreCase), ReplaceWith = "$0" }, // "carnivorous" + new ReplaceRule { Condition = new Regex("deer$",RegexOptions.IgnoreCase), ReplaceWith = "$0" }, // "deer", "reindeer" + new ReplaceRule { Condition = new Regex("fish$",RegexOptions.IgnoreCase), ReplaceWith = "$0" }, // "fish", "blowfish", "angelfish" new ReplaceRule { Condition = new Regex("sheep$",RegexOptions.IgnoreCase), ReplaceWith = "$0" }, new ReplaceRule { Condition = new Regex("measles$/",RegexOptions.IgnoreCase), ReplaceWith = "$0" }, - new ReplaceRule { Condition = new Regex("[^aeiou]ese$",RegexOptions.IgnoreCase), ReplaceWith = "$0" } + new ReplaceRule { Condition = new Regex("[^aeiou]ese$",RegexOptions.IgnoreCase), ReplaceWith = "$0" } // "chinese", "japanese" }; } } diff --git a/Pluralize.NET/Rules/SingularRules.cs b/Pluralize.NET/Rules/SingularRules.cs index cf22750..cf01cf8 100644 --- a/Pluralize.NET/Rules/SingularRules.cs +++ b/Pluralize.NET/Rules/SingularRules.cs @@ -15,7 +15,7 @@ public static IList GetRules() new ReplaceRule { Condition = new Regex("(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$", RegexOptions.IgnoreCase), ReplaceWith = "$1fe"}, new ReplaceRule { Condition = new Regex("(ar|(?:wo|[ae])l|[eo][ao])ves$", RegexOptions.IgnoreCase), ReplaceWith = "$1f"}, new ReplaceRule { Condition = new Regex("ies$", RegexOptions.IgnoreCase), ReplaceWith ="y"}, - new ReplaceRule { Condition = new Regex("\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$", RegexOptions.IgnoreCase), ReplaceWith = "$1ie" }, + new ReplaceRule { Condition = new Regex("\\b([pl]|zomb|(?:neck|cross|hog|aun)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut|hipp|junk|vegg|(?:pork)?p|charl|calor)ies$", RegexOptions.IgnoreCase), ReplaceWith = "$1ie" }, new ReplaceRule { Condition = new Regex("\\b(mon|smil)ies$", RegexOptions.IgnoreCase), ReplaceWith = "$1ey"}, new ReplaceRule { Condition = new Regex("\\b((?:tit)?m|l)ice$", RegexOptions.IgnoreCase), ReplaceWith = "$1ouse"}, new ReplaceRule { Condition = new Regex("(seraph|cherub)im$", RegexOptions.IgnoreCase), ReplaceWith = "$1"},