from docx import Document
from translator import translate_text
from core.logger import log


def translate_docx(input_docx, output_docx):

    log("📖 Abriendo DOCX")

    doc = Document(input_docx)

    total = len(doc.paragraphs)

    log(f"📄 Párrafos detectados: {total}")

    # ---------------- PÁRRAFOS ----------------
    for i, paragraph in enumerate(doc.paragraphs):

        text = paragraph.text.strip()

        if text:

            try:

                log(f"🌍 Traduciendo párrafo {i+1}/{total}")

                translated = translate_text(text)

                paragraph.text = translated

            except Exception as e:

                log(f"❌ Error traducción: {e}")

    # ---------------- TABLAS ----------------
    log("📊 Procesando tablas")

    for table in doc.tables:

        for row in table.rows:

            for cell in row.cells:

                text = cell.text.strip()

                if text:

                    try:

                        translated = translate_text(text)

                        cell.text = translated

                    except Exception as e:

                        log(f"❌ Error tabla: {e}")

    # ---------------- GUARDAR ----------------
    log("💾 Guardando DOCX traducido")

    doc.save(output_docx)

    log("✔ Traducción DOCX completada")