private static string MatchQualifier(IngredientData.Qualifier qualifier, IngredientData.Noun noun) { if (qualifier.Invariable != "") { return(qualifier.Invariable); } if (noun == null) { return(qualifier.SingularFeminine); } if (noun.Genre == IngredientData.Genre.FEMININE) { if (noun.Plurality == IngredientData.Plurality.SINGULAR) { return(qualifier.SingularFeminine); } return(qualifier.PluralFeminine); } if (noun.Plurality == IngredientData.Plurality.SINGULAR) { return(qualifier.SingularMasculine); } return(qualifier.PluralMasculine); }
private static string MatchArticle(string article, IngredientData.Noun noun) { if (noun == null) { return("la"); } bool isUndefined = article.Contains("u"); bool hasPossessive = article.Contains("p"); if (noun.Plurality == IngredientData.Plurality.SINGULAR) { if (noun.Genre == IngredientData.Genre.FEMININE) { if (isUndefined) { return(hasPossessive ? "d’une" : "une"); } if (noun.HasContractedArticle) { return(hasPossessive ? "de l’" : "l’"); } return(hasPossessive ? "de la" : "la"); } if (isUndefined) { return(hasPossessive ? "d’un" : "un"); } if (noun.HasContractedArticle) { return(hasPossessive ? "de l’" : "l’"); } return(hasPossessive ? "du" : "le"); } if (isUndefined) { return(hasPossessive ? "de" : "des"); } return(hasPossessive ? "des" : "les"); }