-- ChatTranslateDictionary_Vocab12.lua
--
-- Technik/Geräte, Bewertungsadjektive, Denkverben, Ereignissubstantive, Raum-/Ortssubstantive, Veränderungsverben, Fähigkeitssubstantive.
-- Enthält Wörter aus allen Sprachen (en/de/fr/es/pt/ru).
-- Muss NACH allen vorherigen Modulen geladen werden (.toc-Reihenfolge).

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

local vocab12 = {
-- ChatTranslateDictionary_Vocab12.lua
-- Zwölftes, abschließendes EN-DE Wortschatz-Modul: Technik/Alltag,
-- Bewertungsadjektive, Denkverben, Ereignisse, Ort/Raum, Veränderung, Fähigkeiten.
-- Enthält NUR Wörter, die in keinem vorherigen Modul vorkommen.
-- Muss NACH allen vorherigen Dateien geladen werden.
    -- Weitere Substantive Technik und Alltag
    { en = "gadget", de = "Gadget", fr = "gadget", es = "aparato (gadget)", pt = "gadget (aparelho)", ru = "гаджет" },
    { en = "appliance", de = "Haushaltsgerät (allgemein)", fr = "appareil (electromenager)", es = "electrodomestico", pt = "eletrodomestico", ru = "бытовой прибор" },
    { en = "accessory", de = "Zubehör", fr = "accessoire", es = "accesorio", pt = "acessorio", ru = "аксессуар" },
    { en = "upgrade", de = "Verbesserung (Technik)", fr = "mise a niveau", es = "mejora (actualizacion)", pt = "atualizacao (melhoria)", ru = "улучшение (обновление)" },
    { en = "feature", de = "Funktion (Technik)", fr = "fonctionnalite", es = "funcion (caracteristica)", pt = "funcionalidade (recurso)", ru = "функция (особенность)" },
    { en = "setting (device)", de = "Einstellung (Gerät)", fr = "parametre (appareil)", es = "configuracion (dispositivo)", pt = "configuracao (dispositivo)", ru = "настройка (устройства)" },
    { en = "manual (booklet)", de = "Bedienungsanleitung", fr = "manuel (livret)", es = "manual (folleto)", pt = "manual (livreto)", ru = "инструкция (буклет)" },
    { en = "warranty", de = "Garantie", fr = "garantie", es = "garantia", pt = "garantia", ru = "гарантия" },
    { en = "maintenance", de = "Wartung", fr = "maintenance", es = "mantenimiento", pt = "manutencao", ru = "обслуживание (техническое)" },
    { en = "malfunction", de = "Fehlfunktion", fr = "dysfonctionnement", es = "mal funcionamiento", pt = "mau funcionamento", ru = "неисправность" },
    -- Weitere Adjektive Bewertung
    { en = "outstanding", de = "herausragend", fr = "exceptionnel (remarquable)", es = "sobresaliente", pt = "excepcional (notavel)", ru = "выдающийся" },
    { en = "mediocre", de = "mittelmäßig", fr = "mediocre", es = "mediocre", pt = "mediocre", ru = "посредственный" },
    { en = "exceptional", de = "außergewöhnlich", fr = "exceptionnel", es = "excepcional", pt = "excepcional", ru = "исключительный" },
    { en = "ordinary", de = "gewöhnlich", fr = "ordinaire", es = "ordinario", pt = "comum (ordinario)", ru = "обычный" },
    { en = "remarkable", de = "bemerkenswert", fr = "remarquable", es = "notable", pt = "notavel", ru = "примечательный" },
    { en = "unremarkable", de = "unauffällig", fr = "banal (sans particularite)", es = "poco notable", pt = "nada notavel", ru = "ничем не примечательный" },
    { en = "impressive", de = "beeindruckend", fr = "impressionnant", es = "impresionante", pt = "impressionante", ru = "впечатляющий" },
    { en = "disappointing", de = "enttäuschend (Bewertung)", fr = "decevant", es = "decepcionante", pt = "decepcionante", ru = "разочаровывающий" },
    { en = "satisfactory", de = "zufriedenstellend", fr = "satisfaisant", es = "satisfactorio", pt = "satisfatorio", ru = "удовлетворительный" },
    { en = "unsatisfactory", de = "unzureichend", fr = "insatisfaisant", es = "insatisfactorio", pt = "insatisfatorio", ru = "неудовлетворительный" },
    -- Weitere Verben Denken
    { en = "to analyze", de = "analysieren", fr = "analyser", es = "analizar", pt = "analisar", ru = "анализировать" },
    { en = "to evaluate", de = "bewerten", fr = "evaluer", es = "evaluar", pt = "avaliar", ru = "оценивать" },
    { en = "to reflect", de = "nachdenken", fr = "reflechir", es = "reflexionar", pt = "refletir", ru = "размышлять" },
    { en = "to reconsider", de = "überdenken", fr = "reconsiderer", es = "reconsiderar", pt = "reconsiderar", ru = "пересматривать (решение)" },
    { en = "to conclude", de = "schließen (Fazit)", fr = "conclure", es = "concluir", pt = "concluir", ru = "заключать (делать выводы)" },
    { en = "to speculate", de = "spekulieren", fr = "speculer", es = "especular", pt = "especular", ru = "предполагать (спекулировать)" },
    { en = "to predict", de = "vorhersagen", fr = "predire", es = "predecir", pt = "prever", ru = "предсказывать" },
    { en = "to estimate", de = "schätzen", fr = "estimer", es = "estimar", pt = "estimar", ru = "оценивать (примерно)" },
    { en = "to interpret", de = "interpretieren", fr = "interpreter", es = "interpretar", pt = "interpretar", ru = "интерпретировать" },
    { en = "to justify", de = "rechtfertigen", fr = "justifier", es = "justificar", pt = "justificar", ru = "обосновывать" },
    -- Weitere Substantive Ereignis
    { en = "event", de = "Ereignis", fr = "evenement", es = "evento", pt = "evento", ru = "событие" },
    { en = "occasion", de = "Anlass", fr = "occasion", es = "ocasion", pt = "ocasiao", ru = "повод (случай)" },
    { en = "incident", de = "Vorfall", fr = "incident", es = "incidente", pt = "incidente", ru = "инцидент" },
    { en = "situation", de = "Situation", fr = "situation", es = "situacion", pt = "situacao", ru = "ситуация" },
    { en = "circumstance", de = "Umstand", fr = "circonstance", es = "circunstancia", pt = "circunstancia", ru = "обстоятельство" },
    { en = "scenario", de = "Szenario", fr = "scenario (hypothese)", es = "escenario (hipotesis)", pt = "cenario (hipotese)", ru = "сценарий (гипотетический)" },
    { en = "outcome", de = "Ausgang (Ergebnis)", fr = "resultat (issue)", es = "resultado (desenlace)", pt = "resultado (desfecho)", ru = "итог" },
    { en = "aftermath", de = "Nachwirkung", fr = "consequences (suites)", es = "secuelas (consecuencias)", pt = "consequencias (repercussoes)", ru = "последствия" },
    { en = "turning point", de = "Wendepunkt", fr = "tournant (moment decisif)", es = "punto de inflexion", pt = "ponto de virada", ru = "поворотный момент" },
    -- Weitere Substantive Ort und Raum
    { en = "surroundings", de = "Umgebung", fr = "environs", es = "alrededores", pt = "imediacoes (entorno)", ru = "окружение" },
    { en = "boundary", de = "Grenze (allgemein)", fr = "limite (frontiere)", es = "limite (frontera)", pt = "limite (fronteira)", ru = "граница (предел)" },
    { en = "perimeter", de = "Umfang (Gelände)", fr = "perimetre", es = "perimetro", pt = "perimetro", ru = "периметр" },
    { en = "interior", de = "Innenraum", fr = "interieur", es = "interior", pt = "interior", ru = "внутренняя часть" },
    { en = "exterior", de = "Außenbereich", fr = "exterieur", es = "exterior", pt = "exterior", ru = "внешняя часть" },
    { en = "surface", de = "Oberfläche", fr = "surface", es = "superficie", pt = "superficie", ru = "поверхность" },
    { en = "core", de = "Kern", fr = "noyau (centre)", es = "nucleo (centro)", pt = "nucleo (centro)", ru = "ядро (центр)" },
    { en = "edge", de = "Rand", fr = "bord", es = "borde", pt = "borda", ru = "край" },
    { en = "corner", de = "Ecke", fr = "coin", es = "esquina", pt = "canto", ru = "угол" },
    -- Weitere Verben Veränderung
    { en = "to transform", de = "verwandeln", fr = "transformer", es = "transformar", pt = "transformar", ru = "трансформировать" },
    { en = "to expand", de = "erweitern", fr = "etendre (agrandir)", es = "expandir", pt = "expandir", ru = "расширять" },
    { en = "to shrink", de = "schrumpfen", fr = "reduire (retrecir)", es = "reducirse (encogerse)", pt = "encolher (reduzir)", ru = "сжиматься" },
    { en = "to increase", de = "erhöhen", fr = "augmenter", es = "aumentar", pt = "aumentar", ru = "увеличивать" },
    { en = "to decrease", de = "verringern", fr = "diminuer", es = "disminuir", pt = "diminuir", ru = "уменьшать" },
    { en = "to accelerate", de = "beschleunigen", fr = "accelerer", es = "acelerar", pt = "acelerar", ru = "ускорять" },
    { en = "to decline (verb)", de = "zurückgehen", fr = "decliner (baisser)", es = "declinar (disminuir)", pt = "declinar (diminuir)", ru = "снижаться (спадать)" },
    { en = "to stabilize", de = "stabilisieren", fr = "stabiliser", es = "estabilizar", pt = "estabilizar", ru = "стабилизировать" },
    -- Weitere Substantive Fähigkeiten
    { en = "skill", de = "Fähigkeit", fr = "competence (savoir faire)", es = "habilidad (destreza)", pt = "habilidade (destreza)", ru = "навык" },
    { en = "ability", de = "Vermögen (Fähigkeit)", fr = "capacite", es = "capacidad", pt = "capacidade", ru = "способность" },
    { en = "talent", de = "Talent", fr = "talent", es = "talento", pt = "talento", ru = "талант" },
    { en = "expertise", de = "Fachwissen", fr = "expertise", es = "experiencia (pericia)", pt = "experiencia (pericia)", ru = "экспертиза" },
    { en = "competence", de = "Kompetenz", fr = "competence (aptitude)", es = "competencia (aptitud)", pt = "competencia (aptidao)", ru = "компетентность" },
    { en = "strength (skill)", de = "Stärke (Fähigkeit)", fr = "force (point fort)", es = "fortaleza (punto fuerte)", pt = "forca (ponto forte)", ru = "сильная сторона" },
    { en = "weakness (skill)", de = "Schwäche (Fähigkeit)", fr = "faiblesse (point faible)", es = "debilidad (punto debil)", pt = "fraqueza (ponto fraco)", ru = "слабая сторона" },
    { en = "potential", de = "Potenzial", fr = "potentiel", es = "potencial", pt = "potencial", ru = "потенциал" },
}

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