-- ChatTranslateDictionary_Vocab9.lua
--
-- Neuntes EN-DE Wortschatz-Modul: restliche Länder der Welt, Ozeane/Kontinente,
-- Tierlaute, weitere Kochtechniken, Ordnungszahlen, Präpositionen u.a.
-- 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 vocab9 = {
    -- Weitere Länder der Welt
    { en = "Bangladesh", de = "Bangladesch" },
    { en = "Belarus", de = "Weißrussland" },
    { en = "Benin", de = "Benin" },
    { en = "Bhutan", de = "Bhutan" },
    { en = "Botswana", de = "Botswana" },
    { en = "Burkina Faso", de = "Burkina Faso" },
    { en = "Burundi", de = "Burundi" },
    { en = "Chad", de = "Tschad" },
    { en = "Comoros", de = "Komoren" },
    { en = "Congo", de = "Kongo" },
    { en = "Costa Rica", de = "Costa Rica" },
    { en = "Djibouti", de = "Dschibuti" },
    { en = "Dominican Republic", de = "Dominikanische Republik" },
    { en = "El Salvador", de = "El Salvador" },
    { en = "Equatorial Guinea", de = "Äquatorialguinea" },
    { en = "Eritrea", de = "Eritrea" },
    { en = "Fiji", de = "Fidschi" },
    { en = "Gabon", de = "Gabun" },
    { en = "Gambia", de = "Gambia" },
    { en = "Guatemala", de = "Guatemala" },
    { en = "Guinea", de = "Guinea" },
    { en = "Guyana", de = "Guyana" },
    { en = "Haiti", de = "Haiti" },
    { en = "Honduras", de = "Honduras" },
    { en = "Jamaica", de = "Jamaika" },
    { en = "Kosovo", de = "Kosovo" },
    { en = "Kyrgyzstan", de = "Kirgisistan" },
    { en = "Laos", de = "Laos" },
    { en = "Lesotho", de = "Lesotho" },
    { en = "Liberia", de = "Liberia" },
    { en = "Liechtenstein", de = "Liechtenstein" },
    { en = "Madagascar", de = "Madagaskar" },
    { en = "Malawi", de = "Malawi" },
    { en = "Maldives", de = "Malediven" },
    { en = "Mali", de = "Mali" },
    { en = "Malta", de = "Malta" },
    { en = "Mauritania", de = "Mauretanien" },
    { en = "Mauritius", de = "Mauritius" },
    { en = "Micronesia", de = "Mikronesien" },
    { en = "Monaco", de = "Monaco" },
    { en = "Montenegro", de = "Montenegro" },
    { en = "Mozambique", de = "Mosambik" },
    { en = "Namibia", de = "Namibia" },
    { en = "Nicaragua", de = "Nicaragua" },
    { en = "Niger", de = "Niger" },
    { en = "Oman", de = "Oman" },
    { en = "Palau", de = "Palau" },
    { en = "Palestine", de = "Palästina" },
    { en = "Papua New Guinea", de = "Papua-Neuguinea" },
    { en = "Rwanda", de = "Ruanda" },
    { en = "Samoa", de = "Samoa" },
    { en = "San Marino", de = "San Marino" },
    { en = "Senegal", de = "Senegal" },
    { en = "Seychelles", de = "Seychellen" },
    { en = "Sierra Leone", de = "Sierra Leone" },
    { en = "Solomon Islands", de = "Salomonen" },
    { en = "Somalia", de = "Somalia" },
    { en = "South Sudan", de = "Südsudan" },
    { en = "Suriname", de = "Suriname" },
    { en = "Eswatini", de = "Eswatini" },
    { en = "Tajikistan", de = "Tadschikistan" },
    { en = "Tanzania", de = "Tansania" },
    { en = "Timor-Leste", de = "Osttimor" },
    { en = "Togo", de = "Togo" },
    { en = "Tonga", de = "Tonga" },
    { en = "Trinidad and Tobago", de = "Trinidad und Tobago" },
    { en = "Turkmenistan", de = "Turkmenistan" },
    { en = "Tuvalu", de = "Tuvalu" },
    { en = "Uganda", de = "Uganda" },
    { en = "Uzbekistan", de = "Usbekistan" },
    { en = "Vanuatu", de = "Vanuatu" },
    { en = "Vatican City", de = "Vatikanstadt" },
    { en = "Zambia", de = "Sambia" },

    -- Ozeane und Kontinente vollständig
    { en = "Pacific Ocean", de = "Pazifischer Ozean" },
    { en = "Atlantic Ocean", de = "Atlantischer Ozean" },
    { en = "Indian Ocean", de = "Indischer Ozean" },
    { en = "Arctic Ocean", de = "Arktischer Ozean" },
    { en = "Southern Ocean", de = "Südlicher Ozean" },
    { en = "Antarctica", de = "Antarktis" },
    { en = "North America", de = "Nordamerika" },
    { en = "South America", de = "Südamerika" },
    { en = "Oceania", de = "Ozeanien" },

    -- Tierlaute
    { en = "to bark", de = "bellen" },
    { en = "to meow", de = "miauen" },
    { en = "to moo", de = "muhen" },
    { en = "to chirp", de = "zwitschern" },
    { en = "to roar", de = "brüllen" },
    { en = "to growl", de = "knurren" },
    { en = "to hiss", de = "zischen" },
    { en = "to quack", de = "quaken" },
    { en = "to neigh", de = "wiehern" },
    { en = "to bleat", de = "blöken" },
    { en = "to grunt", de = "grunzen" },
    { en = "to howl", de = "heulen (Tier)" },
    { en = "to purr", de = "schnurren" },
    { en = "to croak", de = "quaken (Frosch)" },
    { en = "to buzz", de = "summen" },

    -- Weitere Kochtechniken
    { en = "to blanch", de = "blanchieren" },
    { en = "to poach", de = "pochieren" },
    { en = "to sear", de = "scharf anbraten" },
    { en = "to caramelize", de = "karamellisieren" },
    { en = "to ferment", de = "fermentieren" },
    { en = "to smoke (food)", de = "räuchern" },
    { en = "to pickle", de = "einlegen (Essen)" },
    { en = "to preserve (food)", de = "haltbar machen" },
    { en = "to garnish", de = "garnieren" },
    { en = "to drain", de = "abtropfen lassen" },

    -- Ordnungszahlen erweitert
    { en = "eleventh", de = "elfte" },
    { en = "twelfth", de = "zwölfte" },
    { en = "thirteenth", de = "dreizehnte" },
    { en = "fourteenth", de = "vierzehnte" },
    { en = "fifteenth", de = "fünfzehnte" },
    { en = "sixteenth", de = "sechzehnte" },
    { en = "seventeenth", de = "siebzehnte" },
    { en = "eighteenth", de = "achtzehnte" },
    { en = "nineteenth", de = "neunzehnte" },
    { en = "twentieth", de = "zwanzigste" },

    -- Weitere Präpositionen und Bindewörter
    { en = "despite", de = "trotz" },
    { en = "throughout", de = "während (durchgehend)" },
    { en = "beyond", de = "jenseits" },
    { en = "within", de = "innerhalb" },
    { en = "without (prep)", de = "ohne" },
    { en = "except", de = "außer" },
    { en = "among", de = "unter (inmitten)" },
    { en = "along", de = "entlang" },
    { en = "across", de = "über (quer)" },
    { en = "via", de = "über (via)" },
    { en = "provided that", de = "vorausgesetzt dass" },
    { en = "in case", de = "falls" },
    { en = "as long as", de = "solange" },
    { en = "as soon as", de = "sobald" },

    -- Weitere Adjektive Menschen
    { en = "attractive", de = "attraktiv" },
    { en = "elegant", de = "elegant" },
    { en = "clumsy", de = "tollpatschig" },
    { en = "graceful", de = "anmutig" },
    { en = "talented", de = "talentiert" },
    { en = "skilled", de = "erfahren (fähig)" },
    { en = "competent", de = "kompetent" },
    { en = "experienced", de = "erfahren" },
    { en = "qualified", de = "qualifiziert" },
    { en = "professional (adj)", de = "professionell" },
    { en = "amateur (adj)", de = "amateurhaft" },

    -- Weitere Verben Wahrnehmung
    { en = "to notice", de = "bemerken" },
    { en = "to observe", de = "beobachten" },
    { en = "to recognize", de = "erkennen" },
    { en = "to identify", de = "identifizieren" },
    { en = "to detect", de = "entdecken" },
    { en = "to perceive", de = "wahrnehmen" },
    { en = "to sense", de = "spüren" },
    { en = "to distinguish", de = "unterscheiden" },

    -- Weitere Substantive Wissenschaft
    { en = "observation", de = "Beobachtung" },
    { en = "measurement", de = "Messung" },
    { en = "sample (science)", de = "Probe (Wissenschaft)" },
    { en = "specimen", de = "Exemplar" },
    { en = "data", de = "Daten" },
    { en = "control group", de = "Kontrollgruppe" },
    { en = "peer review", de = "Begutachtung" },

    -- Feinere Zeitangaben
    { en = "dawn", de = "Morgendämmerung" },
    { en = "dusk", de = "Abenddämmerung" },
    { en = "twilight", de = "Zwielicht" },
    { en = "sunrise", de = "Sonnenaufgang" },
    { en = "sunset", de = "Sonnenuntergang" },
    { en = "midday", de = "Mittag (Zeitpunkt)" },
    { en = "overnight", de = "über Nacht" },

}

for _, entry in ipairs(vocab9) 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)