def __resolveA(self, root: TxtWord, formation: str, rootWord: bool): if root.isAbbreviation(): return formation + 'e' if "0" <= self.__lastVowel(self.__formationToCheck) <= "9": if self.__lastVowel(self.__formationToCheck) == "6" or self.__lastVowel(self.__formationToCheck) == 9: return formation + 'a' elif self.__lastVowel(self.__formationToCheck) == "0": if root.getName().endswith("10") or root.getName().endswith("30") or root.getName().endswith("40") \ or root.getName().endswith("60") or root.getName().endswith("90"): return formation + 'a' else: return formation + 'e' else: return formation + 'e' if TurkishLanguage.isBackVowel(self.__lastVowel(self.__formationToCheck)): if root.notObeysVowelHarmonyDuringAgglutination() and rootWord: return formation + 'e' else: return formation + 'a' if TurkishLanguage.isFrontVowel(self.__lastVowel(self.__formationToCheck)): if root.notObeysVowelHarmonyDuringAgglutination() and rootWord: return formation + 'a' else: return formation + 'e' if root.isNumeral() or root.isFraction() or root.isReal(): if root.getName().endswith("6") or root.getName().endswith("9") or root.getName().endswith("10") or \ root.getName().endswith("30") or root.getName().endswith("40") or root.getName().endswith("60") \ or root.getName().endswith("90"): return formation + 'a' else: return formation + 'e' return formation
def __resolveH(self, root: TxtWord, formation: str, beginningOfSuffix: bool, specialCaseTenseSuffix: bool, rootWord: bool): if root.isAbbreviation(): return formation + 'i' if beginningOfSuffix and TurkishLanguage.isVowel(self.__lastPhoneme(self.__formationToCheck)) and \ not specialCaseTenseSuffix: return formation if specialCaseTenseSuffix: if rootWord: if root.vowelAChangesToIDuringYSuffixation(): if TurkishLanguage.isFrontRoundedVowel(self.__beforeLastVowel(self.__formationToCheck)): return formation[:len(formation) - 1] + 'ü' if TurkishLanguage.isFrontUnroundedVowel(self.__beforeLastVowel(self.__formationToCheck)): return formation[:len(formation) - 1] + 'i' if TurkishLanguage.isBackRoundedVowel(self.__beforeLastVowel(self.__formationToCheck)): return formation[:len(formation) - 1] + 'u' if TurkishLanguage.isBackUnroundedVowel(self.__beforeLastVowel(self.__formationToCheck)): return formation[:len(formation) - 1] + 'ı' if TurkishLanguage.isVowel(self.__lastPhoneme(self.__formationToCheck)): if TurkishLanguage.isFrontRoundedVowel(self.__beforeLastVowel(self.__formationToCheck)): return formation[:len(formation) - 1] + 'ü' if TurkishLanguage.isFrontUnroundedVowel(self.__beforeLastVowel(self.__formationToCheck)): return formation[:len(formation) - 1] + 'i' if TurkishLanguage.isBackRoundedVowel(self.__beforeLastVowel(self.__formationToCheck)): return formation[:len(formation) - 1] + 'u' if TurkishLanguage.isBackUnroundedVowel(self.__beforeLastVowel(self.__formationToCheck)): return formation[:len(formation) - 1] + 'ı' if TurkishLanguage.isFrontRoundedVowel(self.__lastVowel(self.__formationToCheck)) or \ (TurkishLanguage.isBackRoundedVowel(self.__lastVowel(self.__formationToCheck)) and root.notObeysVowelHarmonyDuringAgglutination()): return formation + 'ü' if TurkishLanguage.isFrontUnroundedVowel(self.__lastVowel(self.__formationToCheck)) or \ (self.__lastVowel(self.__formationToCheck) == 'a' and root.notObeysVowelHarmonyDuringAgglutination()): return formation + 'i' if TurkishLanguage.isBackRoundedVowel(self.__lastVowel(self.__formationToCheck)): return formation + 'u' if TurkishLanguage.isBackUnroundedVowel(self.__lastVowel(self.__formationToCheck)): return formation + 'ı' if root.isNumeral() or root.isFraction() or root.isReal(): if root.getName().endswith("6") or root.getName().endswith("40") or root.getName().endswith("60") \ or root.getName().endswith("90"): return formation + 'ı' else: if root.getName().endswith("3") or root.getName().endswith("4") or root.getName().endswith("00"): return formation + 'ü' else: if root.getName().endswith("9") or root.getName().endswith("10") or root.getName().endswith("30"): return formation + 'u' else: return formation + 'i' return formation