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.

Formulários multilíngues

Universally traduz automaticamente os elementos de formulário em suas páginas para que os visitantes possam interagir com os formulários em seu idioma. Nenhuma configuração adicional é necessária.

O Que é Traduzido

Rótulos e Texto

Todo o texto visível associado aos formulários é traduzido como parte do conteúdo normal da página:

  • Texto do `<label>`
  • Texto de título e parágrafo perto de formulários
  • Texto do botão (ou seja, `<button>`, `<input type="submit">`, `<input type="reset">`, `<input type="button">`)
  • Texto de ajuda, descrições e mensagens de erro renderizadas em HTML

Marcadores

O atributo `placeholder` em elementos `<input>` e `<textarea>` é detectado e traduzido automaticamente.

<!-- Original -->
<input type="text" placeholder="Enter your name">

<!-- Translated (French) -->
<input type="text" placeholder="Entrez votre nom">

Atributos de Acessibilidade

  • `aria-label` em inputs, textareas e botões
  • Referências `aria-labelledby` e `aria-describedby` (o texto do elemento referenciado é traduzido)

Opções de Seleção

O texto dentro dos elementos `<option>` em dropdowns `<select>` é traduzido como conteúdo normal da página.

<!-- Original -->
<select>
<option>Choose a country</option>
<option>United States</option>
<option>France</option>
</select>

<!-- Translated (French) -->
<select>
<option>Choisissez un pays</option>
<option>États-Unis</option>
<option>France</option>
</select>

O que NÃO é Traduzido

Valores de Entrada

Dados inseridos pelo usuário e atributos `value` pré-preenchidos em entradas de texto não são traduzidos. Isso inclui:

  • `<input type="text" value="John">` — o valor “John” permanece como está
  • `<input type="hidden">` — campos ocultos nunca são alterados
  • `<textarea>Default text</textarea>` — conteúdo pré-preenchido em textareas não é traduzido

Isso é intencional — valores de formulário são dados, não interface do usuário. Traduzi-los corromperia o envio do formulário.

Nomes e IDs de Campo

Atributos HTML como `name`, `id`, `class` e `data-*` nunca são modificados. Sua lógica de processamento de formulário funciona exatamente da mesma forma, independentemente do idioma de exibição.

Mensagens de Validação

Mensagens de validação nativas do navegador (por exemplo, “Por favor, preencha este campo”) são tratadas pelo navegador no idioma do sistema do usuário, não por Universally. Mensagens de validação personalizadas renderizadas em HTML são traduzidas normalmente.

Envios de Formulário

Envios de formulário funcionam de forma idêntica em qualquer idioma. Quando um visitante preenche um formulário traduzido:

  • A URL de `action` não é modificada (os formulários enviam para o mesmo endpoint)
  • Os atributos `name` dos campos permanecem inalterados
  • Os dados enviados são o que o usuário digitou — em seu idioma
  • Campos ocultos passam sem alterações

Seu backend recebe a mesma estrutura de formulário, independentemente do idioma que o visitante usou.

Dicas

Use regras de glossário para termos específicos do formulário. Se um formulário contiver termos específicos do domínio que não devem ser traduzidos (por exemplo, nomes de planos, códigos de produtos), adicione-os como Regras de glossário. Consulte Regras de glossário.

Use placeholder para dicas. Placeholders são traduzidos automaticamente e ajudam os visitantes a entender o que inserir.

Mantenha os rótulos no HTML. Rótulos renderizados como texto no DOM são traduzidos. Rótulos injetados via JavaScript após o carregamento da página podem não ser.

Teste os fluxos do formulário. Após habilitar a tradução, envie um formulário de teste em um idioma traduzido para verificar se o envio funciona corretamente.

Isso foi útil?