//Constructor fills catalog of mutatedvowels and translations. public mutatedVowelHandler() { arMutatedVowelCatalog = new mutatedVowel[4]; arMutatedVowelCatalog[0] = new mutatedVowel("Ä", "AE"); arMutatedVowelCatalog[1] = new mutatedVowel("Ö", "OE"); arMutatedVowelCatalog[2] = new mutatedVowel("Ü", "UE"); arMutatedVowelCatalog[3] = new mutatedVowel("ß", "SS"); }
//returns a List of Possibilities of different spellings of the given Inputparameter. public List <string> getAllPossibilities(string sInput) { List <string> lMutatedVowals = getAllMutatedVowels(sInput); string[] arSnippets = getSnippets(sInput); List <string> Possibilities = new List <string>(); int Combinations = Convert.ToInt32(Math.Pow(2.0, lMutatedVowals.Count)); int[] iCNT = new int[lMutatedVowals.Count]; byte byteValue = 0; for (int i = 0; i < lMutatedVowals.Count; i++) { iCNT[i] = 0; } for (int i = 0; i < Combinations; i++) { string Possibility = ""; for (int j = 0; j < arSnippets.Length; j++) { if (j == lMutatedVowals.Count && arSnippets.Length > lMutatedVowals.Count) { Possibility += arSnippets[j]; } else { mutatedVowel mv = getMutatedVowel(lMutatedVowals[j]); if (iCNT[j] == 0) { Possibility += arSnippets[j] + mv.getAbbroviation(); } if (iCNT[j] == 1) { Possibility += arSnippets[j] + mv.getSMutatedVowel(); } } } byteValue++; iCNT = Varietyhandler(iCNT, byteValue); Possibilities.Add(Possibility); } return(Possibilities); }