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&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('" selected>africâner</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=sq&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">albanês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=de&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">alemão</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ar&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">árabe</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=be&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">bielo-russo</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=bg&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">búlgaro</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ca&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">catalão</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=CN&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">chinês (simplificado)</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=TW&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">chinês (tradicional)</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ko&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">coreano</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=hr&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">croata</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=da&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">dinamarquês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=sk&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">eslovaco</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=sl&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">esloveno</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=es&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">espanhol</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=et&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">estoniano</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=fi&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">finlandês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=fr&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">francês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=gl&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">galego</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=cy&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">galês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=el&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">grego</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=iw&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">hebraico</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=hi&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">hindi</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=nl&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">holandês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=hu&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">húngaro</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=id&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">indonésio</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=en&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">inglês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ga&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">irlandês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=is&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">islandês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=it&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">italiano</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ja&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">japonês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=lv&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">letão</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=lt&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">lituano</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=mk&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">macedônico</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ms&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">malaio</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=mt&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">maltês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=no&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">norueguês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=pl&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">polonês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ro&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">romeno</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=ru&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">russo</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=sr&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">sérvio</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=sw&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">suaÃle</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=sv&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">sueco</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=tl&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">tagalo</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=th&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">tailandês</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=cs&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">tcheco</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=tr&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">turco</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=uk&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">ucraniano</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=vi&sl=pt&u=http://<? echo $tradutor.htmlspecialchars_decode(htmlentities('">vietnamita</option><br>')); ?>
<option value="http://translate.google.com/translate?hl=yi&sl=pt&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.
