Como traduzir o Contact Form 7 no WordPress – Form-tags, mensagens e modelos de e-mail
Aprenda a traduzir cada parte de um formulário do Contact Form 7 no seu site WordPress para todos os idiomas que seus visitantes falam. Este guia cobre todas as form-tags, toda a aba Mensagens, ambos os modelos de e-mail, texto de aceitação, tags de questionário, valores selecionáveis separados por barra vertical (pipe) e as integrações de envio que o Contact Form 7 alimenta. Ele orienta você pelo fluxo de trabalho do Contact Form 7 com o WPML e o complemento WPML Multilingual for CF7.
Antes de começar
Instale e ative estes plugins:
- Contact Form 7.
- WPML e WPML Tradução de Strings.
- WPML Multilingual for CF7 (o complemento abordado nesta página).
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
- Abra WPML > Traduções > Painel.
- Expanda a seção Contact Forms.
- Marque o formulário que você quer traduzir.
- Escolha um método de tradução: PTC (recomendado), seu tradutor ou Traduzir eu mesmo.
- 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:
- Crie o formulário uma vez no seu idioma de origem.
- Envie o formulário para tradução (ou deixe que o Traduzir tudo automaticamente o detecte).
- Insira o shortcode na página no idioma de origem.
- 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.
- 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