Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
 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