-- ChatTranslateDictionary_Vocab11.lua
--
-- Elftes, abschließendes EN-DE Wortschatz-Modul: Alltagsorganisation,
-- Bewegungsverben, Gesellschaftsbegriffe, Emotionen, Naturbegriffe,
-- Dienstleistungsberufe, Kommunikation, Prozess/Zeit.
-- Enthält NUR Wörter, die in keinem vorherigen Modul vorkommen.
-- Muss NACH allen vorherigen Dateien geladen werden.

CT_Dictionary = CT_Dictionary or {}
CT_Dictionary.words = CT_Dictionary.words or {}

local vocab11 = {
    -- Weitere Substantive Alltag II
    { en = "appointment book", de = "Terminkalender" },
    { en = "checklist", de = "Checkliste" },
    { en = "template", de = "Vorlage" },
    { en = "draft (document)", de = "Entwurf" },
    { en = "outline (plan)", de = "Gliederung" },
    { en = "guideline", de = "Richtlinie" },
    { en = "standard", de = "Standard" },
    { en = "benchmark", de = "Maßstab (Vergleich)" },
    { en = "milestone", de = "Meilenstein" },
    { en = "timeline", de = "Zeitplan (Projekt)" },
    { en = "workflow", de = "Arbeitsablauf" },
    { en = "procedure", de = "Verfahren" },
    { en = "checklist item", de = "Checklistenpunkt" },

    -- Weitere Verben Bewegung
    { en = "to wander", de = "umherwandern" },
    { en = "to roam", de = "streunen" },
    { en = "to sneak", de = "schleichen" },
    { en = "to chase", de = "jagen (verfolgen)" },
    { en = "to escape", de = "entkommen" },
    { en = "to explore", de = "erforschen" },
    { en = "to venture", de = "sich wagen" },
    { en = "to trespass", de = "unbefugt eindringen" },
    { en = "to retreat", de = "sich zurückziehen" },

    -- Weitere Adjektive Zustand
    { en = "refreshed", de = "erfrischt" },
    { en = "overworked", de = "überarbeitet" },
    { en = "underpaid", de = "unterbezahlt" },
    { en = "unemployed", de = "arbeitslos" },
    { en = "retired", de = "im Ruhestand" },
    { en = "married", de = "verheiratet" },
    { en = "single (relationship)", de = "ledig" },
    { en = "divorced", de = "geschieden" },
    { en = "pregnant", de = "schwanger" },

    -- Weitere Substantive Gesellschaft
    { en = "society", de = "Gesellschaft" },
    { en = "population", de = "Bevölkerung" },
    { en = "generation", de = "Generation" },
    { en = "minority", de = "Minderheit" },
    { en = "majority", de = "Mehrheit" },
    { en = "equality", de = "Gleichheit" },
    { en = "diversity", de = "Vielfalt" },
    { en = "inclusion", de = "Inklusion" },
    { en = "justice", de = "Gerechtigkeit" },
    { en = "freedom", de = "Freiheit" },
    { en = "responsibility", de = "Verantwortung" },
    { en = "duty", de = "Pflicht" },

    -- Weitere Wissenschaft und Technik
    { en = "innovation", de = "Innovation" },
    { en = "invention", de = "Erfindung" },
    { en = "discovery", de = "Entdeckung" },
    { en = "breakthrough", de = "Durchbruch" },
    { en = "research", de = "Forschung" },
    { en = "development (research)", de = "Entwicklung (Forschung)" },

    -- Weitere Emotionen und Zustände
    { en = "boredom", de = "Langeweile" },
    { en = "excitement", de = "Aufregung" },
    { en = "confidence", de = "Selbstvertrauen" },
    { en = "doubt", de = "Zweifel" },
    { en = "courage", de = "Mut" },
    { en = "cowardice", de = "Feigheit" },
    { en = "patience", de = "Geduld" },
    { en = "impatience", de = "Ungeduld" },
    { en = "kindness", de = "Freundlichkeit" },
    { en = "cruelty", de = "Grausamkeit" },
    { en = "generosity", de = "Großzügigkeit (Gefühl)" },
    { en = "greed", de = "Gier" },

    -- Weitere Naturbegriffe
    { en = "horizon", de = "Horizont" },
    { en = "scenery", de = "Szenerie" },
    { en = "wilderness", de = "Wildnis" },
    { en = "terrain", de = "Gelände" },
    { en = "vegetation", de = "Vegetation" },
    { en = "wildlife", de = "Wildtiere (allgemein)" },
    { en = "climate (general)", de = "Klima (allgemein)" },
    { en = "atmosphere (nature)", de = "Atmosphäre (Natur)" },

    -- Weitere Berufe Dienstleistung
    { en = "receptionist", de = "Rezeptionist" },
    { en = "concierge", de = "Concierge" },
    { en = "babysitter", de = "Babysitter" },
    { en = "housekeeper", de = "Haushälter" },
    { en = "security guard", de = "Sicherheitswächter" },
    { en = "lifeguard", de = "Rettungsschwimmer" },
    { en = "bartender", de = "Barkeeper" },
    { en = "valet", de = "Parkservice-Mitarbeiter" },

    -- Weitere Substantive Kommunikation
    { en = "conversation", de = "Gespräch" },
    { en = "dialogue", de = "Dialog" },
    { en = "opinion", de = "Meinung" },
    { en = "feedback", de = "Rückmeldung" },
    { en = "suggestion", de = "Vorschlag" },
    { en = "request", de = "Anfrage" },
    { en = "response (communication)", de = "Antwort (Kommunikation)" },
    { en = "message", de = "Nachricht" },

    -- Weitere Substantive Zeit und Prozess
    { en = "beginning", de = "Anfang" },
    { en = "ending", de = "Ende (Abschluss)" },
    { en = "transition", de = "Übergang" },
    { en = "cycle", de = "Kreislauf" },
    { en = "pace", de = "Tempo (Prozess)" },
    { en = "pause", de = "Pause" },

}

for _, entry in ipairs(vocab11) do
    table.insert(CT_Dictionary.words, entry)
end

local function BuildIndex(sourceTable, destIndex)
    for _, entry in ipairs(sourceTable) do
        for srcLang, srcText in pairs(entry) do
            local key = srcText:lower()
            for tgtLang, tgtText in pairs(entry) do
                if tgtLang ~= srcLang then
                    destIndex[tgtLang] = destIndex[tgtLang] or {}
                    destIndex[tgtLang][key] = tgtText
                end
            end
        end
    end
end

CT_Dictionary.wordIndex = CT_Dictionary.wordIndex or {}
BuildIndex(CT_Dictionary.words, CT_Dictionary.wordIndex)