Tradução HTML que preserva sua marcação.
Tags permanecem tags. Atributos permanecem atributos. Nomes de classe, valores href, atributos data — nenhum deles muda. Apenas o texto visível que seus usuários realmente leem é traduzido.
Marcação quebrada é pior do que nenhuma tradução.
Enviar HTML por meio de uma API de tradução padrão é arriscado. Tags são parcialmente traduzidas. Valores de atributos são corrompidos. Nomes de classe que não deveriam mudar, mudam. A saída parece correta em texto simples, mas quebra no navegador — e quebra silenciosamente. Para um site com muito conteúdo ou uma exportação de CMS, corrigir HTML corrompido em 10 idiomas não é um fluxo de trabalho razoável.
Pior ainda, APIs de tradução padrão frequentemente traduzem conteúdo que nunca deveria mudar — nomes de classes CSS, URLs href, atributos src, labels aria que contêm identificadores técnicos e atributos data. O HTML resultante não é mais renderizado corretamente, e algumas mudanças são sutis o suficiente para passar nos testes visuais antes de causar erros em tempo de execução.
Para HTML gerado por CMS, templates de email ou qualquer HTML processado programaticamente, o reparo pós-tradução não é opcional. Torna-se um custo oculto de manutenção que se acumula a cada atualização de conteúdo.
PolyLingo analisa o DOM antes de traduzir.
PolyLingo trata seu HTML como um documento, não como uma string. Ele percorre a estrutura do DOM, identifica nós de texto contendo conteúdo visível e envia apenas esses para o modelo de tradução. Nomes de tags, valores de atributos, nomes de classe, valores href, atributos data — nada estrutural é visto pelo modelo de tradução. O HTML de saída é válido e estruturalmente idêntico ao que você enviou.
PolyLingo usa um parser DOM em vez de tratar o HTML como texto bruto. Antes de qualquer tradução ocorrer, o HTML é analisado em uma árvore de nós. Cada nó é classificado: nós de texto que contêm linguagem natural são extraídos para tradução, enquanto nós de elementos, valores de atributos não linguísticos (nomes de classe, IDs, hrefs, srcs, atributos data) e conteúdo não traduzível (scripts, estilos, blocos de código) são totalmente excluídos.
Os nós de texto traduzidos são então reinseridos na estrutura DOM original. O HTML resultante é semanticamente equivalente à fonte, com aninhamento de tags, valores de atributos e marcação estrutural idênticos. Apenas o texto visível muda.
<article class="post">
<h1 class="post-title">How to build a multilingual site</h1>
<p>Building a <strong>multilingual website</strong> doesn't have to be
complicated. The key is choosing the right translation layer.</p>
<a href="/pricing" class="cta-button" aria-label="View pricing">
See our plans
</a>
<img src="/hero.png" alt="Multilingual platform dashboard" />
</article><article class="post">
<h1 class="post-title">Comment créer un site multilingue</h1>
<p>Créer un <strong>site web multilingue</strong> n'a pas à être
compliqué. La clé est de choisir la bonne couche de traduction.</p>
<a href="/pricing" class="cta-button" aria-label="Voir les tarifs">
Voir nos offres
</a>
<img src="/hero.png" alt="Tableau de bord de la plateforme multilingue" />
</article>O que é traduzido vs o que é preservado
| Traduzido | Preservado | |
|---|---|---|
| Conteúdo de texto entre tags | sim | não |
| Atributo title (rótulo acessível) | sim | não |
| Texto alternativo em imagens | sim | não |
| Atributos aria-label | sim | não |
| Texto placeholder em inputs | sim | não |
| Nomes de tags HTML | não | sim |
| Atributos de classe e ID | não | sim |
| URLs href e src | não | sim |
| Atributos data | não | sim |
| Blocos de script e style | não | sim |
O que o PolyLingo trata em toda tradução HTML
- ✓Nomes de tags e estrutura nunca modificados
- ✓Nomes de classe, IDs, atributos data intactos
- ✓Valores href e src de links preservados exatamente
- ✓Apenas nós de texto visíveis são traduzidos
- ✓Idiomas RTL: atributo dir tratado corretamente
- ✓Funciona com páginas completas, fragmentos e componentes
- ✓HTML aninhado — qualquer profundidade de aninhamento de elementos tratado corretamente
- ✓HTML de email — estilos inline e layouts baseados em tabelas preservados
Como traduzir conteúdo HTML com PolyLingo
Envie seu HTML para a API
Envie seu conteúdo HTML via POST para /v1/translate. Defina o formato como "html" ou omita — PolyLingo detecta HTML automaticamente pelo conteúdo. Inclua os códigos dos idiomas alvo.
Receba HTML limpo e traduzido
A resposta contém uma string HTML traduzida para cada idioma alvo. Cada tag, classe, ID e atributo está exatamente como você enviou. Apenas o texto em linguagem natural mudou.
Grave no seu CMS, template ou arquivo
Use o HTML traduzido diretamente no seu CMS, construtor de emails, gerador de sites estáticos ou qualquer outra ferramenta que consuma HTML. Não é necessário pós-processamento ou reparo.
Onde a tradução HTML é necessária
Exportações de páginas e posts de CMS
Plataformas headless CMS armazenam conteúdo como HTML ou texto rico que se serializa em HTML. PolyLingo traduz esse conteúdo para cada localidade preservando a estrutura e formatação criadas pelo CMS.
Templates de email
HTML de email é notoriamente frágil — layouts baseados em tabelas, estilos inline e estruturas profundamente aninhadas quebram quando passados por tradução ingênua. PolyLingo preserva tudo isso.
Descrições de produtos para e-commerce
Descrições de produtos frequentemente contêm HTML formatado com listas estilizadas, texto em negrito e conteúdo estruturado. Traduzir em escala requer preservação exata do formato para que a saída seja consistente entre idiomas.
Perguntas frequentes sobre tradução HTML
O PolyLingo traduz atributos como title e alt text?
Sim. Atributos alt em imagens, atributos title em elementos, atributos aria-label e atributos placeholder em formulários são identificados como contendo texto em linguagem natural e são traduzidos. Atributos href e src, nomes de classe, IDs e atributos data não são traduzidos.
E quanto a JavaScript inline ou atributos style?
Tags script e style nunca são traduzidas — seus conteúdos são mantidos inalterados. Atributos de estilo inline (style="...") também são preservados exatamente. O único conteúdo traduzido é o texto em linguagem natural.
O PolyLingo pode lidar com HTML de página completa incluindo doctype e head?
Sim. PolyLingo pode lidar com um documento HTML completo incluindo doctype, head e body. O elemento title, meta description e tags Open Graph no head são traduzíveis. A URL canônica, meta charset e tags técnicas meta são preservadas inalteradas.
Funciona com HTML gerado por editores rich-text como ProseMirror ou TipTap?
Sim. A saída HTML de editores rich-text é serializada para HTML padrão. PolyLingo lida com qualquer HTML válido independentemente de como foi gerado. O parser DOM trabalha a partir da string HTML em si, não de qualquer formato específico do editor.
O que acontece com entidades HTML como & ou ©?
Entidades HTML são decodificadas antes da tradução e recodificadas na saída. Entidades nomeadas como &, © e — são preservadas. Entidades numéricas também são tratadas corretamente. A saída traduzida usa a mesma codificação de entidades da fonte.
Existe limite de tamanho para tradução HTML?
Solicitações individuais de tradução são limitadas a 64KB de conteúdo. Para documentos mais longos (artigos longos, páginas completas), a abordagem recomendada é dividir em limites naturais (seções, artigos) e remontar após a tradução. Isso também ajuda na precisão do uso de tokens.
Guias relacionados
Traduzir Markdown sem quebrar a formatação
Para equipes de conteúdo que trabalham com arquivos .md em vez de HTML.
Multilíngue para CMS headless
Conecte PolyLingo ao Sanity, Contentful ou Webflow.
Alternativa ao Polylang para stacks modernos
Para equipes migrando do WordPress para uma configuração headless moderna.
Traduza seu HTML sem precisar limpar depois.
Plano gratuito. Sem cartão de crédito. HTML válido na saída.
Comece a traduzir grátisCole qualquer HTML e veja exatamente o que é traduzido e o que não é.