package main import "strings" func Plural(s string) string { l := len(s) switch { case strings.HasSuffix(s, "y"): return s[:l-1] + "ies" case strings.HasSuffix(s, "us"): return s[:l-2] + "i" case strings.HasSuffix(s, "ch"), strings.HasSuffix(s, "x"), strings.HasSuffix(s, "s"): return s + "es" case strings.HasSuffix(s, "f"): return s[:l-1] + "ves" case strings.HasSuffix(s, "man"), strings.HasSuffix(s, "Man"): return s[:l-2] + "en" default: return s + "s" } } func Indefinite(s string, n int) string { if strings.IndexByte("AEIOUÜaeiouü", s[0]) > 0 { s = "an " + s } else { s = "a " + s } if n > 1 { s = Plural(s) } return s }