junocesco, qual plugin para enviar o Contato você está utilizando?
Recomendo o plugin Contact Form 7 que já possui as mensagens de erro todas traduzidas e é muito simples de customizar.
Leo, não estou usando nenhum plugin. Eu gostaria de traduzir as mensagens no formulário do próprio tema.
Caso não venha mais sugestões, irei fazer o sua sugestão.
Obrigado!
Você precisa verificar se o tema que você usa, está preparado para tradução. Verifica no site do desenvolvedor se há traduções.
Em todo caso, se quiser, me passe o nome do tema pra que eu verifique pra você.
Abs.
Miriam, não há opção de tradução. Já usei um plugin que gera os arquivos MO e PO para portugues. Traduzi o tema todo, mas as mensagens de erro deste formulário nao aparecem, porque foram criados com arquivos .js.
Este é o link do tema: http://themes.premitheme.com/fullscene/
Veja a página de contatos. Clique no botão SEND e verá as mensagens de erro.
Como sugestão, posso usar um plugin e reconstruir este formulario, porém, gostaria de saber como traduzir essas mensagens.
Humm… certo.
Ce quer, então, me enviar o tema para que eu possa analisar melhor?
[E-mail removido por um moderador]
Abs.
Junocesco, tenho uma idéia:
Insira o seu javascript com a função wp_enqueue_script() do WordPress e insira um objeto com todas as “traduções” de wp_localize_script() e atualize o seu JavaScript com esse objeto!
Exemplo abaixo:
header.php
<header>
....
<?php
//Aqui você cria um array passando os parâmetros com a função <strong>__()</strong> para tradução
$msgs_en_pt = array(
'erro' => __('Message not send!', 'nomedoseutema'),
'email_invalido' => __('Email address that the sender entered is invalid', 'nomedoseutema'),
'send_ok' => __('Mail Sent Ok', 'nomedoseutema'),
);
<?php
//Aqui você insere o arquivo functions.js que fica na pasta /js do seu tema (caso esteja em outro lugar, altere, seguindo a documentação
wp_enqueue_script( 'functions', get_bloginfo( 'template_directory' ) . '/js/functions.js' );
?>
<?php
//É aqui que você passa o array $msgs_en_pt para o javascript:
wp_localize_script('functions', 'msgs_en_pt', $msgs_en_pt);
?>
....
</head>
No Javascript, você deverá utilizar o objeto criado msgs_en_pt, navegue com “ponto” entre os valores:
functions.js
alert(msgs_en_pt.erro); //Aqui a sua mensagem traduzida
alert('Ocorreu o erro: ' + msgs_en_pt.email_invalido); //Aqui uma string concatenando a sua mensagem traduzida
alert(msgs_en_pt.send_ok); //Aqui uma string concatenando a sua mensagem traduzida
Se tiver dúvidas, poste aqui!
Olá Leo,
Vou tentar a sua sugestão! Dando certo ou não, posto aqui…
Abraço e agradeço muito seu esforço!
Opa! Desculpe não responder… deu certo sim… tive que adaptar algumas coisas (apenas por causa do meu tema), mas a idéia foi essa mesmo que vc postou! Valeu amigo!