-- ChatTranslateDictionary_Vocab10.lua
--
-- Erweiterte Familie, Podcasts/Blogs, Wassersport, Nachhilfe, medizinische Dokumente, Cloud/Streaming-Tech, Persönlichkeit, Klima, Büromaterial, Bahn/Flug, Regenwald/Erosion, Business-Verben.
-- 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 vocab10 = {
-- ChatTranslateDictionary_Vocab10.lua
-- Zehntes EN-DE Wortschatz-Modul: Familie/Beziehungen weiter, Podcasts,
-- Wassersport, Nachhilfe, Gesundheitsdokumente, Cloud/Streaming,
-- Persönlichkeit, Klima, Bahn/Flug, Naturphänomene, Business-Verben.
-- Enthält NUR Wörter, die in keinem vorherigen Modul vorkommen.
-- Muss NACH allen vorherigen Dateien geladen werden.
    -- Weitere Familie und Beziehungen
    { en = "half-brother", de = "Halbbruder", fr = "demi frere", es = "medio hermano", pt = "meio-irmao", ru = "сводный брат" },
    { en = "half-sister", de = "Halbschwester", fr = "demi soeur", es = "media hermana", pt = "meia-irma", ru = "сводная сестра" },
    { en = "stepbrother", de = "Stiefbruder", fr = "frere par alliance", es = "hermanastro", pt = "irmao (por afinidade)", ru = "сводный брат (не по крови)" },
    { en = "stepsister", de = "Stiefschwester", fr = "soeur par alliance", es = "hermanastra", pt = "irma (por afinidade)", ru = "сводная сестра (не по крови)" },
    { en = "engagement", de = "Verlobung", fr = "fiancailles", es = "compromiso (noviazgo)", pt = "noivado", ru = "помолвка" },
    { en = "ex-wife", de = "Exfrau", fr = "ex femme", es = "ex esposa", pt = "ex-mulher", ru = "бывшая жена" },
    { en = "ex-husband", de = "Exmann", fr = "ex mari", es = "ex esposo", pt = "ex-marido", ru = "бывший муж" },
    { en = "guardian (family)", de = "Erziehungsberechtigter", fr = "tuteur (famille)", es = "tutor (familia)", pt = "tutor (familia)", ru = "опекун" },
    { en = "adoption", de = "Adoption", fr = "adoption", es = "adopcion", pt = "adocao", ru = "усыновление" },
    { en = "orphan", de = "Waisenkind", fr = "orphelin", es = "huerfano", pt = "orfao", ru = "сирота" },
    { en = "sibling rivalry", de = "Geschwisterrivalität", fr = "rivalite fraternelle", es = "rivalidad entre hermanos", pt = "rivalidade entre irmaos", ru = "соперничество между братьями/сестрами" },
    -- Podcast und moderne Medien
    { en = "podcast", de = "Podcast", fr = "podcast", es = "podcast", pt = "podcast", ru = "подкаст" },
    { en = "blog", de = "Blog", fr = "blog", es = "blog", pt = "blog", ru = "блог" },
    { en = "vlog", de = "Vlog", fr = "vlog", es = "vlog", pt = "vlog", ru = "влог" },
    { en = "host (media)", de = "Moderator", fr = "presentateur (media)", es = "presentador (medios)", pt = "apresentador (midia)", ru = "ведущий (медиа)" },
    { en = "audience engagement", de = "Publikumsbindung", fr = "engagement du public", es = "interaccion con la audiencia", pt = "engajamento da audiencia", ru = "вовлеченность аудитории" },
    { en = "monetization", de = "Monetarisierung", fr = "monetisation", es = "monetizacion", pt = "monetizacao", ru = "монетизация" },
    -- Wassersport
    { en = "kayaking", de = "Kajakfahren", fr = "kayak", es = "kayak (actividad)", pt = "caiaque (esporte)", ru = "каякинг" },
    { en = "canoeing", de = "Kanufahren", fr = "canoe (sport)", es = "canotaje", pt = "canoagem", ru = "каноэ (спорт)" },
    { en = "windsurfing", de = "Windsurfen", fr = "planche a voile", es = "windsurf", pt = "windsurf", ru = "виндсерфинг" },
    { en = "water skiing", de = "Wasserski", fr = "ski nautique", es = "esqui acuatico", pt = "esqui aquatico", ru = "водные лыжи" },
    { en = "rafting", de = "Rafting", fr = "rafting", es = "rafting", pt = "rafting", ru = "рафтинг" },
    { en = "jet ski", de = "Jetski", fr = "jet ski", es = "moto de agua", pt = "jet ski", ru = "гидроцикл" },
    { en = "wetsuit", de = "Neoprenanzug", fr = "combinaison de plongee", es = "traje de neopreno", pt = "roupa de neoprene", ru = "гидрокостюм" },
    { en = "paddle", de = "Paddel", fr = "pagaie", es = "remo (pala)", pt = "remo (pa)", ru = "весло (байдарочное)" },
    -- Nachhilfe und Fernunterricht
    { en = "tutoring", de = "Nachhilfe", fr = "soutien scolaire", es = "clases particulares", pt = "aulas particulares", ru = "репетиторство" },
    { en = "tutor", de = "Nachhilfelehrer", fr = "tuteur (enseignant)", es = "tutor (profesor particular)", pt = "tutor (professor particular)", ru = "репетитор" },
    { en = "online course", de = "Online-Kurs", fr = "cours en ligne", es = "curso en linea", pt = "curso online", ru = "онлайн-курс" },
    { en = "distance learning", de = "Fernunterricht", fr = "enseignement a distance", es = "educacion a distancia", pt = "ensino a distancia", ru = "дистанционное обучение" },
    { en = "self-study", de = "Selbststudium", fr = "autoformation", es = "autoestudio", pt = "autoestudo", ru = "самообучение" },
    { en = "study group", de = "Lerngruppe", fr = "groupe d etude", es = "grupo de estudio", pt = "grupo de estudo", ru = "учебная группа" },
    -- Gesundheitsdokumente
    { en = "vaccination card", de = "Impfpass", fr = "carnet de vaccination", es = "cartilla de vacunacion", pt = "cartao de vacinacao", ru = "прививочный сертификат" },
    { en = "over-the-counter", de = "rezeptfrei", fr = "vente libre (medicament)", es = "sin receta (medicamento)", pt = "venda livre (medicamento)", ru = "без рецепта" },
    { en = "dosage", de = "Dosierung", fr = "dosage", es = "dosis", pt = "dosagem", ru = "дозировка" },
    { en = "side effect", de = "Nebenwirkung", fr = "effet secondaire", es = "efecto secundario", pt = "efeito colateral", ru = "побочный эффект" },
    { en = "checkup", de = "Vorsorgeuntersuchung", fr = "bilan de sante", es = "chequeo medico", pt = "check up (exame)", ru = "медицинский осмотр" },
    { en = "referral", de = "Überweisung (Arzt)", fr = "recommandation (medicale)", es = "remision (medica)", pt = "encaminhamento (medico)", ru = "направление (к врачу)" },
    -- Cloud und Streaming-Dienste
    { en = "cloud storage", de = "Cloud-Speicher", fr = "stockage cloud", es = "almacenamiento en la nube", pt = "armazenamento em nuvem", ru = "облачное хранилище" },
    { en = "streaming service", de = "Streaming-Dienst", fr = "service de streaming", es = "servicio de streaming", pt = "servico de streaming", ru = "стриминговый сервис" },
    { en = "buffering", de = "Puffern", fr = "mise en memoire tampon", es = "almacenamiento en bufer", pt = "carregamento (buffer)", ru = "буферизация" },
    { en = "playlist", de = "Wiedergabeliste", fr = "liste de lecture", es = "lista de reproduccion", pt = "playlist", ru = "плейлист" },
    { en = "bitrate", de = "Bitrate", fr = "debit binaire", es = "tasa de bits", pt = "taxa de bits", ru = "битрейт" },
    { en = "codec", de = "Codec", fr = "codec", es = "codec", pt = "codec", ru = "кодек" },
    -- Weitere Persönlichkeit und Verhalten
    { en = "diplomatic", de = "diplomatisch", fr = "diplomatique (attitude)", es = "diplomatico (actitud)", pt = "diplomatico (atitude)", ru = "дипломатичный" },
    { en = "decisive", de = "entschlossen (Verhalten)", fr = "decide (caractere)", es = "decidido (caracter)", pt = "decidido (carater)", ru = "решительный (характер)" },
    { en = "hesitant", de = "zögerlich", fr = "hesitant", es = "vacilante", pt = "hesitante", ru = "неуверенный (нерешительный)" },
    { en = "meticulous", de = "akribisch", fr = "meticuleux", es = "meticuloso", pt = "meticuloso", ru = "дотошный" },
    { en = "spontaneous", de = "spontan", fr = "spontane", es = "espontaneo", pt = "espontaneo", ru = "спонтанный" },
    { en = "consistent", de = "konsequent", fr = "constant (coherent)", es = "constante (coherente)", pt = "consistente (coerente)", ru = "последовательный" },
    { en = "unpredictable", de = "unberechenbar", fr = "imprevisible", es = "impredecible", pt = "imprevisivel", ru = "непредсказуемый" },
    { en = "dependable", de = "verlässlich", fr = "digne de confiance", es = "confiable (de fiar)", pt = "confiavel (de confianca)", ru = "надежный (человек)" },
    -- Klimaadjektive
    { en = "tropical", de = "tropisch", fr = "tropical", es = "tropical", pt = "tropical", ru = "тропический" },
    { en = "arid", de = "trocken (Klima)", fr = "aride", es = "arido", pt = "arido", ru = "засушливый" },
    { en = "humid climate", de = "feuchtes Klima", fr = "climat humide", es = "clima humedo", pt = "clima umido", ru = "влажный климат" },
    { en = "temperate", de = "gemäßigt (Klima)", fr = "tempere", es = "templado", pt = "temperado", ru = "умеренный (климат)" },
    { en = "frigid", de = "eisig", fr = "glacial", es = "gelido", pt = "gelido (frigido)", ru = "морозный" },
    { en = "mild (climate)", de = "mild (Klima)", fr = "doux (climat)", es = "suave (clima)", pt = "ameno (clima)", ru = "мягкий (климат)" },
    -- Weitere Alltagsgegenstände
    { en = "keychain", de = "Schlüsselanhänger", fr = "porte cles", es = "llavero", pt = "chaveiro", ru = "брелок для ключей" },
    { en = "eraser", de = "Radiergummi", fr = "gomme", es = "goma de borrar", pt = "borracha (escolar)", ru = "ластик" },
    { en = "ruler", de = "Lineal", fr = "regle (mesure)", es = "regla (medida)", pt = "regua (medida)", ru = "линейка" },
    { en = "highlighter", de = "Textmarker", fr = "surligneur", es = "resaltador", pt = "marcador (texto)", ru = "маркер (текстовый)" },
    { en = "paperclip", de = "Büroklammer", fr = "trombone (bureau)", es = "clip (papel)", pt = "clipe de papel", ru = "канцелярская скрепка" },
    { en = "rubber band", de = "Gummiband", fr = "elastique (bureau)", es = "liga de goma", pt = "elastico (borracha)", ru = "резинка (канцелярская)" },
    -- Bahn- und Flugreise weitere
    { en = "platform (train)", de = "Bahnsteig", fr = "quai (train)", es = "anden (tren)", pt = "plataforma (trem)", ru = "платформа (поезд)" },
    { en = "ticket machine", de = "Fahrkartenautomat", fr = "distributeur de billets", es = "maquina expendedora de boletos", pt = "maquina de bilhetes", ru = "автомат по продаже билетов" },
    { en = "connecting flight", de = "Anschlussflug", fr = "vol de correspondance", es = "vuelo de conexion", pt = "voo de conexao", ru = "стыковочный рейс" },
    { en = "delay", de = "Verspätung", fr = "retard", es = "retraso", pt = "atraso (retardo)", ru = "задержка" },
    { en = "departure", de = "Abflug", fr = "depart", es = "salida (viaje)", pt = "partida (viagem)", ru = "отправление (рейс)" },
    { en = "arrival", de = "Ankunft", fr = "arrivee", es = "llegada", pt = "chegada", ru = "прибытие" },
    -- Weitere Naturphänomene
    { en = "rainforest", de = "Regenwald", fr = "foret tropicale", es = "selva tropical", pt = "floresta tropical", ru = "тропический лес" },
    { en = "permafrost", de = "Permafrost", fr = "pergelisol", es = "permafrost", pt = "permafrost", ru = "многолетняя мерзлота" },
    { en = "erosion", de = "Erosion", fr = "erosion", es = "erosion", pt = "erosao", ru = "эрозия" },
    { en = "food chain", de = "Nahrungskette", fr = "chaine alimentaire", es = "cadena alimentaria", pt = "cadeia alimentar", ru = "пищевая цепь" },
    { en = "food web", de = "Nahrungsnetz", fr = "reseau alimentaire", es = "red alimentaria", pt = "teia alimentar", ru = "пищевая сеть" },
    -- Weitere Verben Business
    { en = "to launch (product)", de = "einführen (Produkt)", fr = "lancer (produit)", es = "lanzar (producto)", pt = "lancar (produto)", ru = "запускать (продукт)" },
    { en = "to pitch", de = "präsentieren (Idee)", fr = "presenter (une idee)", es = "presentar (una idea)", pt = "apresentar (uma ideia)", ru = "презентовать (идею)" },
    { en = "to brainstorm", de = "brainstormen", fr = "faire un brainstorming", es = "hacer una lluvia de ideas", pt = "fazer um brainstorming", ru = "проводить мозговой штурм" },
    { en = "to outsource", de = "auslagern", fr = "externaliser", es = "externalizar", pt = "terceirizar", ru = "отдавать на аутсорсинг" },
    { en = "to streamline", de = "optimieren (Prozess)", fr = "rationaliser", es = "optimizar (racionalizar)", pt = "otimizar (racionalizar)", ru = "оптимизировать (процесс)" },
    { en = "to prioritize", de = "priorisieren", fr = "prioriser", es = "priorizar", pt = "priorizar", ru = "приоритизировать" },
}

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