WPML

Antes de começar

Instale e ative estes plugins:

Crie o formulário no Contact Form 7 no idioma de origem do seu site (todas as form-tags, os modelos de e-mail e e-mail (2), cada entrada na aba de Mensagens e quaisquer configurações adicionais) antes de enviar o formulário para tradução. Você pode editar o formulário mais tarde e enviá-lo novamente para tradução caso algo mude.

O Traduzir tudo automaticamente cuida disso para você

Se o seu site tiver o Traduzir tudo automaticamente ativado, você não precisará enviar o formulário para tradução manualmente. O WPML detecta formulários novos e atualizados junto com o resto do seu conteúdo e os traduz em segundo plano. A etapa de inserção na página abaixo ainda se aplica, mas a etapa de enviar o formulário para tradução é automática. O restante desta página descreve o caminho manual para sites configurados com Traduzir uma parte: você escolhe o que traduzir (ou para formulários que você quer traduzir antes da fila automática).

Envie o formulário para tradução

  1. Abra WPML > Traduções > Painel.
  2. Expanda a seção Contact Forms.
  3. Marque o formulário que você quer traduzir.
  4. Escolha um método de tradução: PTC (recomendado), seu tradutor ou Traduzir eu mesmo.
  5. Clique em Traduzir.

O modelo do formulário, o e-mail e e-mail (2) e a aba de Mensagens entram todos no mesmo trabalho de tradução. Os tradutores os veem como linhas identificadas no Editor de tradução avançado.

Insira o formulário em suas páginas traduzidas

O Contact Form 7 é inserido em uma página ou post por meio do shortcode [contact-form-7], geralmente gerado pela tela de administração Contato como [contact-form-7 id="123" title="My Form"]. A regra de inserção multilíngue:

Use o mesmo shortcode em todas as versões de idioma da página. Não crie um formulário separado por idioma.

O fluxo:

  1. Crie o formulário uma vez no seu idioma de origem.
  2. Envie o formulário para tradução (ou deixe que o Traduzir tudo automaticamente o detecte).
  3. Insira o shortcode na página no idioma de origem.
  4. Traduza a página por meio de WPML > Traduções > Painel da mesma forma que você traduziria qualquer outra página. O shortcode é preservado na página traduzida.
  5. Quando um visitante abre a página traduzida, o WPML Multilingual for CF7 exibe o formulário no idioma do visitante automaticamente – o mesmo shortcode, com o conteúdo traduzido.

Você não precisa de um ID de formulário diferente por idioma. A tradução é vinculada ao formulário de origem; o plugin de integração resolve a versão no idioma correto no momento da renderização com base no idioma da página.

Shortcodes baseados em ID e em título funcionam. O [contact-form-7 id="123" title="Contact form 1"] funciona em sites multilíngues sem configuração adicional. O [contact-form-7 title="Contact form 1"] (apenas título, sem ID) também é resolvido para o idioma correto. A resolução apenas por título foi lançada na versão 1.1.0 (junho de 2021). Ambas as formas são seguras.

A exceção – quando você realmente quer formulários diferentes por idioma. Se você precisar de formulários estruturalmente diferentes por idioma (form-tags diferentes, modelos de e-mail diferentes, conteúdo diferente na aba de Mensagens), crie formulários do Contact Form 7 separados e insira o shortcode de cada um na versão de idioma correspondente da página usando o editor do WordPress para essa tradução. Essa é a única situação em que os shortcodes divergem entre os idiomas.

Pegadinha do construtor de páginas

Se a sua página for construída no Divi, Elementor ou outro construtor de páginas cujo módulo de texto envolve o shortcode, nem sempre o shortcode sobrevive à tradução sem problemas. Se a página traduzida mostrar o formulário no idioma de origem, abra a página traduzida no construtor de páginas e insira novamente o shortcode [contact-form-7] lá. O editor de blocos nativo do WordPress e o editor clássico não têm esse problema.

Rótulos de form-tags e strings voltadas para o visitante

Tudo o que o visitante vê em cada form-tag é traduzido: rótulos (o texto fora da tag entre colchetes), rótulos de botões (o valor em [submit "Send"]), placeholders definidos pela opção placeholder e os valores das opções dentro das tags [checkbox], [radio] e [select].

O tipo e o nome da form-tag não são traduzidos. Eles são identificadores. Os valores da form-tag (as escolhas voltadas para o visitante) são traduzidos. Exemplo:

[select your-country "China" "India" "San Marino"]

Na tradução para o francês, "China" se torna "Chine", enquanto your-country (o nome da form-tag) e select (o tipo) permanecem idênticos. A substituição da mail-tag continua funcionando porque a tradução preserva a posição de cada valor.

Valores separados por barra vertical – traduza o rótulo, mantenha o valor estável

A sintaxe de barra vertical (pipe) permite separar o rótulo voltado para o visitante do valor enviado no e-mail:

[select your-country
  "Chinese|CN"
  "Indian|IN"
  "Sammarinese|SM"]

Ao traduzir este formulário, apenas os rótulos (Chinese, Indian, Sammarinese) são traduzidos. Os valores (CN, IN, SM) permanecem canônicos. Um visitante francês vê Chinois, Indien, Saint-Marinais; o corpo do e-mail e qualquer manipulador de back-end ainda recebem CN, IN, SM. Use a sintaxe de barra vertical sempre que precisar que o valor enviado permaneça estável entre os idiomas: mapeamentos de CRM, SKUs de pagamento, códigos geográficos.

Tags de aceitação e de questionário

A caixa de seleção de Acceptance (aceitação) contém o texto de consentimento e, geralmente, um ou mais links incorporados para páginas de privacidade e termos. Traduza o texto como uma única linha no trabalho de tradução; para os destinos dos links, edite a linha traduzida para apontar para as páginas de privacidade e termos de cada idioma.

Nas tags de Quiz (questionário), tanto a pergunta quanto a resposta são traduzidas. Use a sintaxe de barra vertical nas respostas do questionário para que a lógica da resposta aceita permaneça previsível entre os idiomas:

[quiz captcha
  "1+1=?|2"
  "2+3=?|5"]

A aba de Mensagens

A aba de Mensagens do Contact Form 7 tem cerca de 16 strings de validação editáveis – aquelas que os visitantes veem ao enviar e em caso de erro. Todas elas são traduzidas no mesmo trabalho:

  • Agradecemos a sua mensagem. Ela foi enviada.
  • Um ou mais campos contêm um erro. Verifique e tente novamente.
  • Ocorreu um erro ao tentar enviar sua mensagem. Tente novamente mais tarde.
  • Este campo é obrigatório.
  • Este endereço de e-mail é inválido.
  • O número de telefone é inválido.
  • A URL é inválida.
  • O número é menor que o mínimo permitido.
  • O número é maior que o máximo permitido.
  • O formato da data está incorreto.
  • O arquivo é muito grande.
  • O arquivo não é suportado.
  • A caixa de seleção de aceitação é obrigatória.
  • A resposta para o questionário está incorreta.
  • (além do restante das mensagens padrão que vêm com o CF7).

Se a sua aba de Mensagens usar mail-tags para interpolar a entrada (Obrigado [your-name], sua mensagem foi enviada!), a mail-tag ainda será resolvida corretamente após a tradução.

E-mail e e-mail (2)

Os dois modelos de e-mail de saída do Contact Form 7, Mail (notificação do administrador) e Mail (2) (resposta opcional ou resposta automática para o visitante), são traduzidos de forma independente. As descrições de Para, De, Assunto, Cabeçalhos adicionais, Corpo da mensagem e Anexos de arquivo ficam todas no trabalho de tradução. As mail-tags dentro dos corpos traduzidos ([your-name], [your-message], [your-email]) são resolvidas corretamente.

Para o Mail (2), o corpo da resposta automática voltada para o visitante é onde a tradução mais importa. Essa é a mensagem que chega na caixa de entrada do visitante. Envie um teste a partir de uma página traduzida e confirme se a resposta automática chega no idioma do visitante.

Integrações de envio

O Contact Form 7 tem um conjunto pequeno, mas importante, de integrações. Cada uma preserva o idioma do visitante quando a tradução está configurada:

  • Flamingo. O complemento de gerenciamento de envios do autor do Contact Form 7. Os envios chegam em Contato > Mensagens recebidas com o assunto e o corpo traduzidos intactos.
  • Constant Contact. A integração oficial de e-mail marketing do CF7. Os dados informados pelo visitante chegam às suas listas do Constant Contact no idioma do visitante.
  • Stripe. Os campos da form-tag [stripe] do Contact Form 7 e o texto da mensagem de recibo aparecem no trabalho de tradução.
  • Akismet. As mensagens de proteção contra spam são traduzidas por meio do WPML Tradução de Strings (não no trabalho de tradução do formulário).
  • reCAPTCHA. A mensagem de erro voltada para o visitante é traduzida por meio do WPML Tradução de Strings.

Armadilhas comuns

  • A aceitação com link incorporado aponta para a página de privacidade do idioma errado. Edite a tradução de aceitação no Editor de tradução avançado e defina os destinos dos links para cada idioma.
  • Incompatibilidade de hash do shortcode no CF7 6.0+. Resolvido no WPML Multilingual for CF7 1.3.2 (novembro de 2024). Se você encontrar esse problema, atualize.
  • As traduções da aba de Mensagens não aparecem. Confirme se o WPML Tradução de Strings está ativo e se o formulário foi reenviado para tradução após a edição da aba de Mensagens.
  • Mail-tags dentro de traduções são resolvidas como strings vazias. Verifique se o nome da form-tag na mail-tag (por exemplo, [your-name]) corresponde a uma form-tag no formulário. A tradução nunca quebra a resolução da mail-tag, mas renomear uma form-tag após a tradução, sim.

Escrito por Amir · Última atualização em 2 de julho de 2026

Escrito por Amir · Última atualização em 2 de julho de 2026