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) { }