Traducción de PDF
El modelo de chat activo es el traductor. Los scripts incluidos solo preparan, persisten, renderizan y validan el trabajo local de PDF; nunca llaman a un modelo, API de proveedor o servicio con credenciales. La salida por defecto es solo texto traducido.
Límite de compatibilidad
Antes de comenzar, confirma que el anfitrión tiene acceso local a PDF, acceso de lectura/escritura a archivos UTF-8, ejecución de procesos Python, acceso a shell y permiso para ejecutar la configuración inicial de dependencias. Si falta alguna capacidad, detente e informa: Anfitrión no compatible: pdf-translate requiere archivos locales, lectura/escritura UTF-8, Python, acceso a shell y configuración inicial. No intentes una solución alternativa.
Flujo de trabajo
Toma el idioma de destino y el rango de páginas de la solicitud. Infiere un idioma de origen omitido a partir de la primera página con texto; pregunta solo si alguno de los idiomas sigue siendo ambiguo. Usa un <job-dir> escribible y ejecuta:
<python> pdf-translate/scripts/run.py doctor --json
<python> pdf-translate/scripts/run.py setup --json
<python> pdf-translate/scripts/run.py prepare --source <pdf> --job-dir <job-dir> --source-lang <code> --target-lang <code> [--pages <range>] [--output-mode translated|bilingual] [--glossary <file>] [--style academic]
<python> pdf-translate/scripts/run.py next --job-dir <job-dir> --json
<el modelo de chat activo lee batch_path y escribe {"translations":[{"id":"...","text":"..."}]} solo en el response_path devuelto>
<python> pdf-translate/scripts/run.py submit --job-dir <job-dir> --input <batch-response-path>
<repite next/submit hasta que el estado sea READY_TO_RENDER>
<python> pdf-translate/scripts/run.py render --job-dir <job-dir> --json
<python> pdf-translate/scripts/run.py validate --job-dir <job-dir> --json
Para un trabajo existente, ejecuta <python> pdf-translate/scripts/run.py status --job-dir <job-dir> --json en lugar de prepare, luego continúa desde su siguiente acción. Sigue este árbol de decisión exactamente: doctor/setup -> prepare o status -> next -> traducción del modelo activo -> submit -> repetir -> render -> validate -> devolver PDF. render solo prepara la salida; validate publica después de que todas las comprobaciones estructurales de bloqueo pasen. Devuelve solo la ruta final del PDF sin conflictos informada por un validate exitoso, junto con advertencias lingüísticas y los pares de vista previa de la primera/intermedia/última página para inspección visual. Lee política de traducción antes de traducir y formato de trabajo antes de manejar el JSON del trabajo. Siempre que el trabajo se detenga antes de finalizar, informa el <job-dir> para que una tarea posterior pueda reanudar desde los archivos en lugar del historial de transcripción.