Documentação Universally

Guias passo a passo, dicas de SEO multilíngue e melhores práticas para ajudar você a traduzir e escalar seu site WordPress.

O que o Universally traduz por padrão

Universally traduz o texto visível em uma página, além dos metadados que os mecanismos de pesquisa e as plataformas sociais leem. Você não configura nada disso. Isso acontece a cada solicitação, e esta página é a lista exata para que você saiba o que esperar antes de começar a excluir coisas.

Conteúdo visível

Todo o texto que um visitante pode ler: títulos, parágrafos, listas, links, botões, células de tabela e rótulos.

Atributos

Texto que não é visível como conteúdo da página, mas é lido em voz alta, mostrado ao passar o mouse ou exibido quando algo falha ao carregar:

Atributo Onde aparece
alt texto alternativo da imagem, lido por leitores de tela e mostrado quando uma imagem falha
title texto de dica ao passar o mouse
placeholder a dica cinza dentro de um campo de entrada vazio
aria-label o nome acessível de um controle sem texto visível
value o texto em botões input como submit e reset, e em qualquer elemento que também carregue um atributo title

Traduzir alt e aria-label é o motivo pelo qual uma página traduzida permanece utilizável com um leitor de tela, em vez de mudar de idioma visualmente, mas não para a tecnologia assistiva.

A regra value captura um caso que vale a pena saber: um input que carrega um atributo title também tem seu value traduzido, mesmo que oculto. Se um valor preenchido for dado em vez de cópia (um nome, uma referência, um valor), remova o atributo title ou adicione class="notranslate" a esse input.

Metadados da página

O elemento <title>, mais estas meta tags:

Tag Usado por
descrição o trecho abaixo do seu resultado na pesquisa
og:title, og:description, og:image:alt, og:site_name Facebook, LinkedIn, Slack e qualquer coisa que leia Open Graph
twitter:title, twitter:description, twitter:image:alt X e outros leitores de Twitter card

Um link compartilhado, portanto, tem uma prévia no idioma do visitante, não no idioma de origem.

Dados estruturados

O texto dentro de <script type="application/ld+json"> é traduzido campo por campo, para que os rich results permaneçam no idioma correto. Os campos cobertos são name, description, headline, alternativeHeadline, articleBody, caption, text, abstract, award, slogan, alternateName e disambiguatingDescription.

Valores que não são texto legível por humanos, como URLs, datas, preços e identificadores, são deixados exatamente como estão.

Uma frase é traduzida como uma peça única, incluindo a marcação dentro dela. Negrito, itálico, código inline, um link, um <span>: estes permanecem onde pertencem em vez de serem arrancados e remontados, para que a tradução mantenha a ênfase que o original tinha.

Pegue isto:

<p>Read the <strong>setup guide</strong> or see <a href="/pricing/">pricing</a>.</p>

Essa é uma string, não três. O tradutor vê a frase com suas tags no lugar e a retorna com o texto traduzido e as tags intactas.

Os destinos dos links nunca são alterados pela tradução. Um href é mantido de lado enquanto a frase é traduzida e recolocado depois, para que nem a IA nem ninguém editando a string no painel possa alterar para onde um link aponta. Os links são então localizados em uma etapa separada, que é o que transforma /pricing/ em /es/pricing/ na página em espanhol. Veja Excluir localização de links para os caminhos que essa etapa deixa em paz.

No editor de Traduções, essa marcação mantida de lado aparece como um placeholder. Mantenha cada um exatamente uma vez ou o salvamento é recusado. Veja Estados de tradução.

O que nunca é traduzido

Alguns conteúdos são pulados por design, e nenhuma configuração o ativa:

Ignorado Por quê
<script> e <style> traduzir código quebraria a página
amostras de código pré-formatadas devem permanecer literais
marcação de fallback, não cópia voltada para o usuário
Um único bloco de texto com mais de 5.000 caracteres muito grande para traduzir como uma unidade, então é deixado no idioma de origem

Três coisas são comumente assumidas como estando nessa lista e não estão:

  • <code> por si só é traduzido. Apenas <pre> é protegido. <code> usado dentro de uma frase é traduzido com a frase ao redor, então adicione class="notranslate" a qualquer coisa que precise permanecer literal.
  • Texto dentro de um <svg> inline é traduzido quando o <svg> carrega um elemento <text>. A marcação, caminhos e atributos são intocados, mas palavras visíveis em um SVG são tratadas como qualquer outro texto.
  • Conteúdo pré-preenchido de <textarea> é traduzido. Exclua-o se ele contiver dados em vez de cópia.

Uma URL, um endereço de e-mail ou um número são ignorados quando constituem a string inteira. Dentro de uma frase, eles são traduzidos junto com o resto da frase: os links mantêm seu href intacto, mas a formatação de números e datas em uma frase pode ser adaptada ao idioma de destino.

Alterando o que é traduzido

Quatro controles, todos na tela Regras de Tradução do projeto. Veja Regras de tradução para saber como usá-los.

Controle Efeito
Incluir Seletores CSS sem efeito: tudo que contém texto já está traduzido
Excluir Seletores CSS ignorar elementos que você nomeia
Excluir Páginas ignorar URLs inteiras
Excluir Localização de Links impedir que códigos de idioma sejam adicionados a caminhos específicos

As regras de glossário lidam com palavras e frases únicas que você sempre ou nunca quer traduzir, o que é um trabalho diferente de excluir uma região da página. Veja Regras de glossário.

Isso foi útil?