Pesquisar

Automação Multilíngue: Meu Script AI-Powered Markdown Translator

Automação Multilíngue: Meu Script AI-Powered Markdown Translator

ai-powered-markdown-translator

Artigo traduzido do fr para o pt com gpt-5.4-mini.

Ver projeto no GitHub ↗

Tenho o prazer de apresentar meu projeto AI-Powered Markdown Translator, um script Python de código aberto que traduz automaticamente os arquivos Markdown do meu blog e alguns README/documentações dos meus repositórios GitHub. Ao integrar modelos de inteligência artificial de ponta como OpenAI, Mistral AI, Anthropic (Claude) e Google Gemini, esta ferramenta traduz artigos, README e documentações técnicas em 14 idiomas, preservando sua estrutura e sua formatação. Este projeto destaca minhas competências em automação, integração de IA e engenharia de confiabilidade, além da minha paixão por tornar o conteúdo técnico acessível a todos.

Não é apenas um script: é uma prova da minha expertise e da minha visão para um mundo digital mais inclusivo.

Por que este projeto?

Os arquivos Markdown são essenciais para o meu ecossistema digital: eles contêm meus artigos de blog, tutoriais e documentações de código aberto. Ao automatizar a tradução deles, eu torno meu conteúdo acessível a um público global. Meu blog agora está disponível em 14 idiomas graças a este script — cerca de 1 800 versões traduzidas (em ordem de grandeza, fora as fontes FR) estão hoje online em jls42.org, e o contador sobe a cada publicação.

A v1.9 (maio de 2026) marca um novo patamar: código desenvolvido no feeling (vibe coding) em pair-IA (Claude Code + Codex), protegido por uma stack de qualidade industrial (14 hooks, 229 testes, SonarCloud, revisão de PR assistida por IA) para buscar um código limpo mesmo quando cada linha não é relida manualmente.

Aqui estão exemplos concretos do script em ação:

  • Este blog jls42.org em 14 idiomas — toda a experiência editorial multilíngue (artigos, projetos, notícias de IA) é produzida por este script. Você pode, por exemplo, navegar pela versão alemã, japonesa, chinesa, espanhola ou árabe do site — cada conteúdo editorial traduzido passou por ele (os elementos de interface, por sua vez, vêm do sistema i18n nativo do Astro).
  • O README do próprio projeto também é traduzido em 14 idiomas no GitHub. Exemplos: inglês, espanhol, chinês.

Este projeto mostra como a IA pode resolver problemas práticos ao mesmo tempo em que promove a acessibilidade.

Minhas competências em destaque

Este projeto é uma vitrine do meu know-how técnico. Veja o que ele destaca:

  • Orquestração multi-modelo : Claude Code em Opus para desenvolver, Codex como solução de fallback, GPT-5.5 reasoning extra-high para desafiar os planos, /pr-review-toolkit para a revisão antes do merge
  • Integração de múltiplas APIs de IA : 4 provedores conectados (OpenAI, Mistral AI, Claude, Gemini), com adaptação às especificidades de cada API (tratamento de finish_reason / stop_reason, formatos de resposta, limites de tokens)
  • Engenharia de confiabilidade : validação pós-tradução em duas camadas (determinística anti-vazamento verbatim + probabilística langdetect), detecção de falhas silenciosas (silent failures), retornos por status explícito
  • Stack de qualidade industrial : 14 hooks automatizados (ruff, mypy, shellcheck, Opengrep SAST, pip-audit, Lizard…), 229 testes unittest, 11 badges SonarCloud, além de Codacy e CodeFactor
  • Espírito de código aberto : disponível no GitHub, GPLv3, README traduzido em 14 idiomas

Esses aspectos demonstram minha capacidade de criar ferramentas poderosas, confiáveis e sustentáveis no longo prazo.

Funcionalidades principais

Aqui está o que o script oferece:

  • Multi-Provider : suporte a 4 APIs (OpenAI, Mistral AI, Claude, Gemini)
  • Modelos 2026 : GPT-5.5, Claude Sonnet 4.6, Gemini 3.1 Pro por padrão
  • Modo Econômico (--eco) : modelos mais rápidos e menos caros
  • Arquivo Único (--file) : traduz um único arquivo em vez de um diretório inteiro
  • Preservação do nome (--keep_filename) : mantém o nome e a extensão originais (ideal para Astro, Hugo, etc.)
  • Suporte a .env : carregamento automático das chaves API a partir de um arquivo .env
  • Suporte a arquivos .mdx : além dos arquivos .md clássicos
  • Preservação da formatação : blocos de código, código inline, links e metadados permanecem intactos

Novidades v1.9 (maio de 2026) :

  • Validação pós-tradução : detecção automática de falhas silenciosas (silent failures) — idioma de destino verificado, truncamentos interceptados em todos os providers.
  • Nota multi-posição (--note_position, --note_format) : topo, base ou ambos; formato legado (legacy) ou formato de marcador (marker format) compatível com cartão incorporado (embed card) do GitHub.
  • Modo --news reforçado : já introduzido na v1.8 para proteger as citações-fonte EN por placeholders, o modo ganha na v1.9 uma validação pós-restauração endurecida (placeholder residual = erro, citação original e URL de atribuição verificadas, flags de destino/origem controladas) — usado em todos os artigos ia-actualites do blog.
ProviderQualidade (padrão)Econômico (--eco)
OpenAIgpt-5.5gpt-5.4-mini
Claudeclaude-sonnet-4-6claude-haiku-4-5-20251001
Mistralmistral-large-latestmistral-small-latest
Geminigemini-3.1-pro-previewgemini-3.1-flash-lite-preview

Evolução v1.0 → v1.9

VersãoDataPrincipal contribuição
1.0–1.42024OpenAI, depois Mistral, depois Claude
1.5set. 2024Refatoração dos clientes, modelos 2024 (gpt-4o, claude-3.5-sonnet)
1.6jan. 2026Modelos 2026 (gpt-5, claude-sonnet-4-5, gemini-3-pro), Gemini, modo --eco, arquivo único (--file)
1.7jan. 2026--keep_filename, .env, código inline preservado
1.8mar. 2026Modelos GPT-5.4 por padrão, modo --news com placeholders de citações
1.9mai. 2026Validação pós-tradução, nota multi-posição, stack de qualidade 14 hooks + 229 testes + revisão por IA

Desenvolvimento no feeling + salvaguardas

Toda a v1.9 foi escrita em pair-IA. Meu fluxo: Claude Code (Opus, exclusivamente) escreve o código, Codex assume quando Opus trava ou quando a janela de uso fica saturada, GPT-5.5 (reasoning extra-high) desafia os planos antes da execução, e o skill /pr-review-toolkit:review-pr revisa a PR antes de cada merge. Eu não reviso o código pessoalmente. Para que esse modo de desenvolvimento seja viável em produção, investi em uma stack de salvaguardas proporcional:

  • 14 hooks automatizados (pre-commit + pre-push) : shellcheck, ruff, prettier, detect-secrets, Lizard CCN, mypy, Opengrep SAST, pip-audit, unittest
  • 229 testes unittest (~98 % de cobertura sobre o novo código v1.9)
  • Testes práticos : multi-repo sobre README variados, uso interno do produto (dogfooding) no blog (produção = teste ao vivo), verificação do resultado visual (navegador ou prévia Markdown)
  • 3 plataformas externas : SonarCloud (11 badges), Codacy, CodeFactor
  • Skill /pr-review-toolkit:review-pr : revisão assistida por IA multiagentes antes do merge
  • Validação pós-tradução em duas camadas : determinística (anti-vazamento verbatim) + probabilística (langdetect)

A ideia não é provar que sabemos fazer engenharia clássica. É que não temos escolha: código de IA não revisado merece mais salvaguardas, não menos. Essa disciplina é detalhada no deep-dive técnico.

Em produção neste blog

O projeto se traduz sozinho: seu README está em 14 idiomas, e ele gera todas as versões multilíngues deste blog.

  • Artigos do blog, 4 projetos e 98 artigos ia-actualites representam cerca de 1 800 versões traduzidas fora das fontes FR (cobertura por idioma variável conforme os conteúdos)
  • Modo --news usado sistematicamente nos artigos ia-actualites para preservar as citações-fonte EN
  • Salvaguarda v1.9 ativa desde maio de 2026 : desde a introdução da dupla validação pós-tradução, não detectei mais nenhum silent-failure de idioma de destino
  • Meta-coerência : a página que você lê em inglês, alemão, japonês… é traduzida por este script

Para ir mais longe

Para entender como esta v1.9 foi produzida (as novidades em detalhe, o fluxo de trabalho multi-modelo, as salvaguardas colocadas em prática para buscar um código limpo sem reler), veja o deep-dive técnico completo.

E para comparar o tom com uma release anterior, o artigo de 2024 sobre a v1.5 segue um formato de release notes mais clássico.

Experimente você mesmo

Descubra o projeto no GitHub, teste-o com seus arquivos Markdown e compartilhe seu feedback. Suas ideias me ajudam a aperfeiçoá-lo!

Contato : contact@jls42.org