-- ChatTranslateDictionary_Vocab14.lua
--
-- Geräteeigenschaften, IT-Verben, Versions-/Dateiverben.
-- 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 vocab14 = {
-- ChatTranslateDictionary_Vocab14.lua
-- Vierzehntes, letztes Zusatzmodul: Geräteeigenschaften und IT-Verben.
-- Enthaelt NUR Woerter, die in keinem vorherigen Modul vorkommen.
    { en = "outdated", de = "veraltet", fr = "obsolete", es = "obsoleto", pt = "obsoleto", ru = "устаревший" },
    { en = "cutting-edge", de = "hochmodern", fr = "de pointe", es = "de vanguardia", pt = "de ponta (vanguarda)", ru = "передовой" },
    { en = "user-friendly", de = "benutzerfreundlich", fr = "convivial", es = "facil de usar", pt = "facil de usar", ru = "удобный для пользователя" },
    { en = "lightweight", de = "leichtgewichtig", fr = "leger (poids)", es = "ligero (peso)", pt = "leve (peso)", ru = "легковесный" },
    { en = "bulky", de = "klobig", fr = "volumineux", es = "voluminoso", pt = "volumoso", ru = "громоздкий" },
    { en = "compact", de = "kompakt", fr = "compact", es = "compacto", pt = "compacto", ru = "компактный" },
    { en = "portable", de = "tragbar", fr = "portable", es = "portatil", pt = "portatil", ru = "портативный" },
    { en = "wireless", de = "kabellos", fr = "sans fil", es = "inalambrico", pt = "sem fio", ru = "беспроводной" },
    { en = "handheld", de = "handlich", fr = "portatif (a main)", es = "de mano (portatil)", pt = "de mao (portatil)", ru = "карманный (ручной)" },
    { en = "customizable", de = "anpassbar", fr = "personnalisable", es = "personalizable", pt = "personalizavel", ru = "настраиваемый" },
    { en = "reusable", de = "wiederverwendbar", fr = "reutilisable", es = "reutilizable", pt = "reutilizavel", ru = "многоразовый" },
    { en = "disposable", de = "Einweg-", fr = "jetable", es = "desechable", pt = "descartavel", ru = "одноразовый" },
    { en = "biodegradable", de = "biologisch abbaubar", fr = "biodegradable", es = "biodegradable", pt = "biodegradavel", ru = "биоразлагаемый" },
    { en = "waterproof", de = "wasserdicht", fr = "etanche", es = "impermeable", pt = "a prova de agua", ru = "водонепроницаемый" },
    { en = "shockproof", de = "stoßfest", fr = "resistant aux chocs", es = "resistente a golpes", pt = "a prova de choque", ru = "противоударный" },
    { en = "airtight", de = "luftdicht", fr = "hermetique", es = "hermetico", pt = "hermetico", ru = "герметичный" },
    { en = "soundproof", de = "schalldicht", fr = "insonorise", es = "a prueba de sonido", pt = "a prova de som", ru = "звукоизолированный" },
    { en = "fireproof", de = "feuerfest", fr = "ignifuge", es = "a prueba de fuego", pt = "a prova de fogo", ru = "огнестойкий" },
    { en = "rustproof", de = "rostfrei", fr = "anti rouille", es = "a prueba de oxido", pt = "a prova de ferrugem", ru = "защищенный от коррозии" },
    { en = "windproof", de = "windundurchlässig", fr = "coupe vent (resistant)", es = "a prueba de viento", pt = "a prova de vento", ru = "защищенный от ветра" },
    { en = "to unpack", de = "auspacken", fr = "deballer", es = "desempacar", pt = "desempacotar", ru = "распаковывать" },
    { en = "to assemble", de = "zusammenbauen", fr = "assembler", es = "ensamblar", pt = "montar (ensamblar)", ru = "собирать (монтировать)" },
    { en = "to disassemble", de = "zerlegen", fr = "demonter", es = "desmontar", pt = "desmontar", ru = "разбирать (демонтировать)" },
    { en = "to install", de = "installieren", fr = "installer", es = "instalar", pt = "instalar", ru = "устанавливать" },
    { en = "to uninstall", de = "deinstallieren", fr = "desinstaller", es = "desinstalar", pt = "desinstalar", ru = "удалять (программу)" },
    { en = "to configure", de = "konfigurieren", fr = "configurer", es = "configurar", pt = "configurar", ru = "настраивать (конфигурировать)" },
    { en = "to calibrate", de = "kalibrieren", fr = "calibrer", es = "calibrar", pt = "calibrar", ru = "калибровать" },
    { en = "to troubleshoot", de = "Fehler beheben", fr = "depanner", es = "solucionar problemas", pt = "solucionar problemas", ru = "устранять неполадки" },
    { en = "to refill", de = "nachfüllen", fr = "remplir a nouveau", es = "rellenar", pt = "reabastecer (recarregar)", ru = "доливать/пополнять" },
    { en = "to recharge", de = "aufladen", fr = "recharger", es = "recargar", pt = "recarregar", ru = "перезаряжать" },
    { en = "draft version", de = "Entwurfsversion", fr = "version brouillon", es = "version borrador", pt = "versao rascunho", ru = "черновая версия" },
    { en = "final version", de = "endgültige Version", fr = "version finale", es = "version final", pt = "versao final", ru = "финальная версия" },
    { en = "revision", de = "Überarbeitung", fr = "revision (document)", es = "revision (documento)", pt = "revisao (documento)", ru = "редакция (документа)" },
    { en = "restore", de = "wiederherstellen", fr = "restaurer", es = "restaurar", pt = "restaurar", ru = "восстанавливать" },
    { en = "sync", de = "synchronisieren", fr = "synchroniser", es = "sincronizar", pt = "sincronizar", ru = "синхронизировать" },
    { en = "merge (files)", de = "zusammenführen", fr = "fusionner (fichiers)", es = "fusionar (archivos)", pt = "mesclar (arquivos)", ru = "объединять (файлы)" },
    { en = "overwrite", de = "überschreiben", fr = "ecraser (fichier)", es = "sobrescribir", pt = "sobrescrever", ru = "перезаписывать" },
}

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