Skip to content

Commit b8e52f0

Browse files
committed
Add plural method
1 parent 75f6042 commit b8e52f0

1 file changed

Lines changed: 100 additions & 1 deletion

File tree

SaveWin10Pictures/Program.cs

Lines changed: 100 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,110 @@ private static void Main()
3535
// do nothing and continue with the next file
3636
}
3737

38-
display($"{counter} images have been copied to the picture folder.");
38+
display($"{counter} image{Plural(counter)} {Plural(counter, "have")} been copied to the picture folder.");
3939
display("Press any key to exit:");
4040
//Console.ReadKey(); // comment for batch to production
4141
}
4242

43+
public static string Plural(int number, string irregularNoun = "")
44+
{
45+
switch (irregularNoun)
46+
{
47+
case "":
48+
return number > 1 ? "s" : string.Empty;
49+
case "al":
50+
return number > 1 ? "aux" : "al";
51+
case "au":
52+
return number > 1 ? "aux" : "au";
53+
case "eau":
54+
return number > 1 ? "eaux" : "eau";
55+
case "eu":
56+
return number > 1 ? "eux" : "eu";
57+
case "landau":
58+
return number > 1 ? "landaus" : "landau";
59+
case "sarrau":
60+
return number > 1 ? "sarraus" : "sarrau";
61+
case "bleu":
62+
return number > 1 ? "bleus" : "bleu";
63+
case "émeu":
64+
return number > 1 ? "émeus" : "émeu";
65+
case "lieu":
66+
return number > 1 ? "lieux" : "lieu";
67+
case "pneu":
68+
return number > 1 ? "pneus" : "pneu";
69+
case "aval":
70+
return number > 1 ? "avals" : "aval";
71+
case "bal":
72+
return number > 1 ? "bals" : "bal";
73+
case "chacal":
74+
return number > 1 ? "chacals" : "chacal";
75+
case "carnaval":
76+
return number > 1 ? "carnavals" : "carnaval";
77+
case "festival":
78+
return number > 1 ? "festivals" : "festival";
79+
case "récital":
80+
return number > 1 ? "récitals" : "récital";
81+
case "régal":
82+
return number > 1 ? "régals" : "régal";
83+
case "cal":
84+
return number > 1 ? "cals" : "cal";
85+
case "serval":
86+
return number > 1 ? "servals" : "serval";
87+
case "choral":
88+
return number > 1 ? "chorals" : "choral";
89+
case "narval":
90+
return number > 1 ? "narvals" : "narval";
91+
case "bail":
92+
return number > 1 ? "baux" : "bail";
93+
case "corail":
94+
return number > 1 ? "coraux" : "corail";
95+
case "émail":
96+
return number > 1 ? "émaux" : "émail";
97+
case "soupirail":
98+
return number > 1 ? "soupiraux" : "soupirail";
99+
case "travail":
100+
return number > 1 ? "travaux" : "travail";
101+
case "vantail":
102+
return number > 1 ? "vantaux" : "vantail";
103+
case "vitrail":
104+
return number > 1 ? "vitraux" : "vitrail";
105+
case "bijou":
106+
return number > 1 ? "bijoux" : "bijou";
107+
case "caillou":
108+
return number > 1 ? "cailloux" : "caillou";
109+
case "chou":
110+
return number > 1 ? "choux" : "chou";
111+
case "genou":
112+
return number > 1 ? "genoux" : "genou";
113+
case "hibou":
114+
return number > 1 ? "hiboux" : "hibou";
115+
case "joujou":
116+
return number > 1 ? "joujoux" : "joujou";
117+
case "pou":
118+
return number > 1 ? "poux" : "pou";
119+
case "est":
120+
return number > 1 ? "sont" : "est";
121+
122+
// English
123+
case " is":
124+
return number > 1 ? "s are" : " is"; // with a space before
125+
case "is":
126+
return number > 1 ? "are" : "is"; // without a space before
127+
case "are":
128+
return number > 1 ? "are" : "is"; // without a space before
129+
case "has":
130+
return number > 1 ? "have" : "has";
131+
case "have":
132+
return number > 1 ? "have" : "has";
133+
case "The":
134+
return "The"; // CAPITAL, useful because of French plural
135+
case "the":
136+
return "the"; // lower case, useful because of French plural
137+
default:
138+
return number > 1 ? "s" : string.Empty;
139+
}
140+
}
141+
43142
public static List<string> GetFilesFileteredBySize(DirectoryInfo directoryInfo, long sizeGreaterOrEqualTo)
44143
{
45144
List<string> result = new List<string>();

0 commit comments

Comments
 (0)