public NounDeclension2(NounPrincipalParts principalParts, string english)
     : this(principalParts, english, Gender.Masculine)
 {
     if (principalParts.NominativeSingular.EndsWith("um"))
       {
     _gender = Gender.Neuter;
       }
 }
 public NounDeclension4(NounPrincipalParts principalParts, string english, Gender gender)
 {
     if (!principalParts.GenitiveSingular.EndsWith("us"))
       {
     throw new NotSupportedException("Fourth declension noun not ending in -US not supported");
       }
       _stem = principalParts.GenitiveSingular.Substring(0, principalParts.GenitiveSingular.Length - 2);
       _gender = gender;
       English = english;
 }
 public NounDeclension3(NounPrincipalParts principalParts, string english, Gender gender, bool iStem)
 {
     if (!principalParts.GenitiveSingular.EndsWith("is"))
       {
     throw new NotSupportedException("Third declension nouns in genitive singular not ending in -IS not implemented");
       }
       _stem = principalParts.GenitiveSingular.Substring(0, principalParts.GenitiveSingular.Length - 2);
       English = english;
       _gender = gender;
       _iStem = iStem;
       _nominativeSingular = principalParts.NominativeSingular;
 }
 public NounDeclension2(NounPrincipalParts principalParts, string english, Gender gender)
 {
     English = english;
       if (!principalParts.GenitiveSingular.EndsWith("i"))
       {
     throw new NotSupportedException("Second declension nouns with genitive singular not ending in -I not implemented");
       }
       _stem = principalParts.GenitiveSingular.Substring(0, principalParts.GenitiveSingular.Length - 1);
       _gender = gender;
       if (!principalParts.NominativeSingular.IsOneOf(_stem + "us", _stem + "um"))
       {
     _nominativeSingular = principalParts.NominativeSingular;
       }
 }
 public NounDeclension5(NounPrincipalParts principalParts, string english, Gender gender = Gender.Feminine)
 {
     if (!principalParts.GenitiveSingular.EndsWith("ei"))
       {
     throw new NotSupportedException("Fifth declension noun with genitive singular not ending in -EI not supported");
       }
       if (!principalParts.NominativeSingular.EndsWith("es"))
       {
     throw new NotSupportedException("Fifth declension noun with nominative singular not ending in -ES not supported");
       }
       _stem = principalParts.GenitiveSingular.Substring(0, principalParts.GenitiveSingular.Length - 2);
       if (_stem != principalParts.NominativeSingular.Substring(0, principalParts.NominativeSingular.Length - 2))
       {
     throw new NotSupportedException("Fifth declension noun has different stem in nominative and genitive singular");
       }
       _gender = gender;
       English = english;
 }
 public NounDeclension4(NounPrincipalParts principalParts, string english)
     : this(principalParts, english, principalParts.NominativeSingular.EndsWith("us") ? Gender.Masculine : Gender.Neuter)
 {
 }