from enum import Enum
from time import strftime
from time import gmtime
class Language(Enum):
    ENGLISH = 1
    GERMAN = 2

class Translater:
    def __init__(self, language):
        self.language = language
        self.dict_german = {    "Irrigation": "Bewässerungs",
                                "system": "system",
                                "Dashboard": "Startseite",
                                "irrigation zones": "Bewässerungszonen",
                                "blocking times": "Sperrzeiten",
                                "system settings": "Systemeinstellungen",
                                "Zone": "Zone",
                                "state": "Status",
                                "operating mode": "Betriebsmodus",
                                "actual humidity": "momentane Feuchtigkeit",
                                "desired humidity": "gewünschte Feuchtigkeit",
                                "switched on": "eingeschaltet",
                                "switched off": "ausgeschaltet",
                                "turn on": "einschalten",
                                "turn off": "ausschalten",
                                "manual mode": "Handbetrieb",
                                "automatic mode": "Automatikbetrieb",
                                "switch to manual mode": "Auf Handbetrieb umstellen",
                                "switch to automatic mode": "Auf Automatikbetrieb umstellen",
                                "minutes": "Minuten",
                                "until": "bis",
                                "irrigation is planed.": "Bewässerung ist geplant.",
                                "planed irrigationjobs": "geplante Bewässerungsaufträge",
                                "planed duration": "geplante Dauer",
                                "cancel": "abbrechen",
                                "delete": "löschen",
                                "delete and cancel all jobs": "alle Aufträge löschen und abbrechen",
                                "switch all to": "stelle alle um auf",
                                "currently there are no planned jobs.": "momentan sind keine Aufträge geplant.",
                                "delete all planed and cancel running jobs?": "Sollen alle geplanten Aufträge gelöscht und laufende abgerochen werden?",
                            }


    def getTranslation(self, english_String):
        match self.language:
            case Language.ENGLISH:
                return english_String
            case Language.GERMAN:
                return self.dict_german[english_String]
            case _:
                return "no translations for these language"

    def formatTime(self, timeInt):
        format = ""
        match self.language:
            case Language.ENGLISH:
                format = "%I.%S %p"
            case Language.GERMAN:
                format = "%H:%M:%S"
            case _:
                format = ""
        return strftime(format, gmtime(timeInt))
