Tradução de PDF
O modelo de chat ativo é o tradutor. Os scripts inclusos apenas preparam, persistem, renderizam e validam o trabalho local com PDFs; nunca chamam um modelo, API de provedor ou serviço autenticado. A saída padrão é apenas o texto traduzido.
Limite de compatibilidade
Antes de iniciar, confirme que o host tem acesso local a PDFs, acesso de leitura/escrita a arquivos UTF-8, execução de processos Python, acesso ao shell e permissão para executar a configuração inicial de dependências. Se alguma capacidade estiver ausente, pare e informe: Host não suportado: tradução de PDF requer arquivos locais, leitura/escrita UTF-8, Python, acesso ao shell e configuração na primeira execução. Não tente uma alternativa.
Fluxo de trabalho
Pegue o idioma alvo e o intervalo de páginas da solicitação. Inferir um idioma fonte omitido a partir da primeira página com texto; pergunte apenas se ambos os idiomas permanecerem ambíguos. Use um <job-dir> gravável e execute:
<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 <codigo> --target-lang <codigo> [--pages <intervalo>] [--output-mode translated|bilingual] [--glossary <arquivo>] [--style academic]
<python> pdf-translate/scripts/run.py next --job-dir <job-dir> --json
<o modelo de chat ativo lê batch_path e escreve {"translations":[{"id":"...","text":"..."}]} apenas no response_path de propriedade do job retornado>
<python> pdf-translate/scripts/run.py submit --job-dir <job-dir> --input <caminho-resposta-lote>
<repita next/submit até que o estado seja 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 um job existente, execute <python> pdf-translate/scripts/run.py status --job-dir <job-dir> --json em vez de prepare, e continue a partir da próxima ação. Siga exatamente esta árvore de decisão: doctor/setup -> prepare ou status -> next -> tradução do modelo ativo -> submit -> repita -> render -> validate -> retornar PDF. render apenas prepara a saída; validate publica após todas as verificações estruturais de bloqueio passarem. Retorne apenas o caminho final do PDF não conflitante relatado por um validate bem-sucedido, juntamente com avisos linguísticos e os pares de pré-visualização do primeiro/meio/último trecho para inspeção visual. Leia a política de tradução antes de traduzir e o formato do job antes de manipular o JSON do job. Sempre que o trabalho parar antes da conclusão, informe o <job-dir> para que uma tarefa posterior retome a partir dos arquivos, e não do histórico da transcrição.