Mudando o idioma com PHP + Google Translate Tool Class
Olá,
E ai, cansado de colar o texto no google translate para traduzir para outros idiomas?
Vamos implementar aqui um exemplo de como fazer isso automaticamente com PHP (of coùrse).
Vamos começar pela class googleTranslateTool.class.php (faça o download)
A classe possui um array com os idiomas que o google é capaz de traduzir e pode ser baixada no PHPClasses.org, porém percebi que não havia nosso idioma e decidi dar uma de louco e incluir o pt-br no array da classe que para minha surpresa funcionou de prima. Então baixem a classe que eu modifiquei.
Bem, vamos partir para o arquivo que irá instanciar o objeto e nos dar o que interessa.
chamei o arquivo de index.php (só para não perder o costume)
mas se quiser salve-o como jane.php ou paul.php ;)
<?php
# Incluindo cabecalho que tratara os acentos (pt-br)
@header(‘Content-Type: text/html; charset=iso-8859-1′);
# Incluindo a classe
require(‘googleTranslateTool.class.php’);
# Iniciando o tradutor de ’pt-br’ para ‘en’ (ingles)
$translator = new googleTranslateTool(‘pt-br‘,‘en’);
# Informando e Traduzindo o texto de pt-br para en (informado no parametro)
$result = $translator->translate_Text(“Oi, sou Rafael e estou testando a classe googleTranslate!“);
# Checando o resultado
if ( $result===false )
{
# Exibindo o erro
echo $translator->return_error();
}
else
{
# Exibindo a resultado traduzido
echo $result;
}
?>
$str = “Eu quero aprender mais sobre PHP e Sistemas on-line! “;
$str .= “Preciso comprar livros? “;
$str .= “Alguém indica algum blog ou material didática? “;
$result = $translator->translate_Text(“$str“);
Caso queria utilizar o envio através de POST, você precisará tratar o encoding com o htmlentities().
Exemplo:
if(isset($_POST['texto']))
{
$str = htmlentities($_POST['texto']);
}
Pessoal, só uma coisa, a tradução é feita pelo Google então cuidado para não concatenar a bíblia sagrada e querer traduzir para aramaico… A tradução google sabemos que é ideal para pequenas frases e palavras comuns, não vá colocar aí na string “Orra mano que brisa essa classe véio” e querer traduzir, certo?
Exemplo funcionando | Download do Exemplo
Abraços e até a próxima,
Rafael,
4 Comentários até o momento
Deixe um comentário
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Olá Amigo! Eu estava utilizando o script, quando ele parou de funcionar, e agora só aparece a mensagem “302 Moved 302 Moved The document has moved here.” e não traduz mais nada.
Você o porque e como resolver?
Obrigado
Comentário por Fábio Penna Março 26, 2009 @ 6:22 pmFábio, baixe novamente o pacote pois acabei de testar e está funcionando normalmente. abraços,
Comentário por Rafael Clares Março 31, 2009 @ 12:11 amBoas,
Aconteceu-me o mesmo que ao utilizador anterior .. estava a usar sem problemas e de um dia para o outro deixou de traduzir … agr só aparece 302 Moved 302 Moved The Document has moved here.
Alguem pode ajudar ?
Comentário por Miguel Melo Agosto 18, 2009 @ 11:55 amMiguel, precisa ver no google se houve alteração do serviço. No meu caso a tradução de algumas palavras mudou.
Comentário por Rafael Clares Agosto 21, 2009 @ 3:24 pm