Traduzindo um site Next.js com o Gemini sem quebrar a produção
Como traduzir conteúdo MDX automaticamente com a Gemini Batch API pela metade do preço, validar cada resposta antes de salvar e pagar apenas pelo que realmente mudou.
View as MarkdownA tradução automática hoje é tão barata que dá para traduzir um site inteiro para dez idiomas por menos do valor de um café. O problema nunca foi a inteligência artificial em si, mas sim todo o ecossistema ao redor dela. É preciso saber exatamente o que traduzir, barrar os erros do modelo antes que cheguem à produção e evitar o custo de retraduzir 500 páginas só porque você corrigiu um erro de digitação em uma delas.
Este artigo mostra como o Scribe resolve cada um desses pontos, usando este site (dez idiomas, todas as páginas traduzidas) como exemplo prático.
Traduza apenas o que mudou
Cada documento ganha um hash do seu conteúdo traduzível, que inclui os campos marcados no frontmatter e o corpo em MDX. Cada tradução salva lembra o hash que a originou. A fila de trabalho para uma rodada de tradução é simplesmente cada par (documento, idioma) onde os hashes não batem ou a tradução não existe.
Isso traz duas grandes vantagens:
- Corrigir um erro de digitação em um arquivo invalida exatamente um documento em todos os idiomas.
- Rodar
scribe translateduas vezes seguidas não faz nada na segunda tentativa.
Antes de gastar qualquer centavo, o comando scribe translate --dry-run exibe a fila de trabalho com a estimativa de tokens e o custo por item. Agrupar lançamentos do mesmo dia no nosso changelog, por exemplo, apareceu como 18 itens pendentes com um custo estimado de US$ 0,07 antes de confirmarmos a ação.
Metade do preço com a Batch API
Por padrão, a tradução acontece através da Gemini Batch API, que cobra os tokens de entrada e saída com 50% de desconto em relação à tarifa interativa. Todas as requisições são planejadas e enviadas de uma vez, sendo depois consultadas em lote. Os jobs são salvos no banco SQLite no momento em que são enviados. Assim, você pode interromper o processo durante a consulta e rodar scribe translate de novo mais tarde para continuar de onde parou.
Os prompts também são estruturados para que o conteúdo em inglês forme um prefixo idêntico em todos os idiomas de destino. Quando uma página é traduzida para nove idiomas, o cache de contexto implícito do Gemini dá um desconto nos tokens de entrada repetidos. A instrução específica de cada idioma fica no final do prompt, onde não quebra o prefixo compartilhado.
Valide antes de salvar (e não depois de publicar)
De vez em quando o modelo vai devolver algo quebrado, como um MDX inválido, um campo inventado ou um texto cortado. A regra que garante a sobrevivência do projeto é simples: nada entra no banco de dados sem validação.
Cada resposta é interpretada como MDX e verificada novamente contra o schema Zod do documento. Uma resposta com falha derruba apenas aquele item, não o seu site inteiro. No final do processo, os itens que falharam são tentados mais uma vez, passando os erros de validação como feedback para o modelo (o que resolve a maioria dos casos). Qualquer coisa que falhe duas vezes é reportada e deixada sem tradução, e o seu build continua entregando a versão em inglês para aquele idioma enquanto isso.
Tradução versus transcriação
Traduções literais parecem manuais de instrução. O prompt nativo do Scribe trata a tarefa como transcriação. O modelo escreve como um copywriter nativo criando a edição localizada do texto. Ele carrega a intenção de cada frase em vez de copiar a estrutura original, recria jogos de palavras e expressões idiomáticas em vez de traduzi-las ao pé da letra, e aplica as convenções tipográficas locais.
Você pode direcionar ainda mais esse comportamento usando translate.context (sobre o que é o site ou termos da marca que devem continuar em inglês) e translate.rules (regras de estilo da casa) no seu arquivo de configuração. Veja o guia de tradução para conferir todas as opções.
Quanto isso custa na prática
Este site tem uma landing page, uma seção de documentação, um changelog e agora um blog, tudo traduzido para nove idiomas além do inglês. Uma retradução completa do zero custa poucos dólares. As rodadas incrementais que acompanham a edição normal custam centavos. A parte cara dos sites multilíngues nunca foram os tokens, mas sim a coordenação. O controle de alterações baseado em hashes elimina essa dor de cabeça.
Comece pelo guia de introdução e depois rode a sua primeira tradução com a referência da CLI aberta.