1.462 visualizações

Seu site php traduzido (sem javascript), em 50 idiomas com o Google

Eu estava com a idéia de usar o recurso de tradução do Google para os vários idiomas disponíveis (porque já usava para o Inglês havia algum tempo), e pensei em criar algo em php para esse fim. numa breve pesquisa no Google, descobri o código fornecido gratuitamente pela própria Ferramenta de idiomas do Google:

 

<div id="google_translate_element"></div><script>
function googleTranslateElementInit() {
  new google.translate.TranslateElement({
    pageLanguage: 'pt'
  }, 'google_translate_element');
}
</script><script src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

 

com a ressalva publicada no Blog do Google, de que, quando o idioma da página e do navegador visitante forem os mesmos, nada é mostrado. Claro que a coisa não funciona bem assim, porque no Mozilla Firefox, a comboBox para a escolha do idioma sempre aparece, mas no Internet Explorer não (sendo mostrada talvez, quando o idioma do navegador do visitante e da página forem diferentes).

Como não consegui testar a coisa por esse simples detalhe, resolvi prosseguir com minha idéia de fazer algo em PHP, e ficou exatamente assim, funcionando em qualquer navegador, mesmo quando o dito navegador não suporte javascript.

Onde você quer mostrar a caixa combinada de opções de idiomas a traduzir, use o seguinte código (no WordPress, somente consegui que a coisa funcionasse, usando usando require_once();):

 

<? $tradutor = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; ?>

<form name="form1" method="post" target="_blank" action="http://www.seudominio.com/translation.php">
<? echo htmlspecialchars_decode(htmlentities('<br><br><h4>Selecione um idioma para traduzir essa página com a Ferramenta de tradução Google:</h4>')); ?>
<select name="traduz">
<option value="http://translate.google.com/translate?hl=af&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('" selected>africâner</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=sq&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">albanês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=de&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">alemão</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ar&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">árabe</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=be&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">bielo-russo</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=bg&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">búlgaro</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ca&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">catalão</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=CN&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">chinês (simplificado)</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=TW&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">chinês (tradicional)</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ko&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">coreano</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=hr&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">croata</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=da&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">dinamarquês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=sk&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">eslovaco</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=sl&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">esloveno</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=es&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">espanhol</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=et&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">estoniano</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=fi&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">finlandês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=fr&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">francês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=gl&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">galego</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=cy&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">galês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=el&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">grego</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=iw&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">hebraico</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=hi&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">hindi</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=nl&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">holandês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=hu&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">húngaro</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=id&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">indonésio</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=en&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">inglês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ga&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">irlandês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=is&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">islandês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=it&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">italiano</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ja&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">japonês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=lv&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">letão</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=lt&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">lituano</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=mk&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">macedônico</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ms&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">malaio</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=mt&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">maltês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=no&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">norueguês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=pl&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">polonês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ro&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">romeno</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ru&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">russo</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=sr&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">sérvio</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=sw&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">suaíle</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=sv&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">sueco</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=tl&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">tagalo</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=th&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">tailandês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=cs&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">tcheco</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=tr&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">turco</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=uk&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">ucraniano</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=vi&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">vietnamita</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=yi&amp;sl=pt&amp;u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">yiddish</option><br>')); ?>
        </select><br>
<p>
<input name="btnEnvia" type="submit" value="Trauduzir com o Google">
</p>
</form><br><br>

 

Em seguida, crie um arquivo chamado translation.php e edite ele, copiando e colando o seguinte código para depois mandar também ao sevidor (no caso do WordPress, ele deve ficar na pasta principal da instalação do blog):

 

<? ob_start();
$redirecionar = "$_POST[traduz]";
header("Location: $redirecionar");
ob_end_flush();
exit;
?>

 

Agora você já tem o seu site traduzido para 50 idiomas com a ferramenta de idiomas do Google, mesmo para navegadores que não suportem javascript. E funciona inclusive no WordPress e você pode conferir o código em perfeito funcionamento, no meu Blog e/ou nas minhas páginas.

Espero que tenha alguma utilidade.

Ou consulte o dia da semana ou Datas Comemorativas em qualquer dia do ano de 2010.


Por favor, selecione uma categoria:




Por favor, Escolha um dia:




Por favor, selecione um mês:







Esta entrada foi publicada em Banalidades e outros badulaques. Adicione o link permanenteaos seus favoritos.


Indicar esse post por E-Mail Indicar esse post por E-Mail

0 trackback para Seu site php traduzido (sem javascript), em 50 idiomas com o Google.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>