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,
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
Fábio, baixe novamente o pacote pois acabei de testar e está funcionando normalmente. abraços,
Boas,
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 ?
Miguel, precisa ver no google se houve alteração do serviço. No meu caso a tradução de algumas palavras mudou.
Outro que pode ser usado e que pra mim funciono perfeito.
gtranslate-api-php
http://code.google.com/p/gtranslate-api-php/
João Paulo, muito obrigado por contribuir, depois que escreveu pude reparar que o exemplo que dei já não funciona mais.
Forte abraço
tem alguma forma de reproduzir o áudio da tradução automaticamente??
Jaelson, tem que ler a documentação da API
http://code.google.com/intl/pt-BR/apis/language/translate/v2/getting_started.html
Voces sabem como poderia fazer isso com um link atualizado??
Obrigado
Não conheço, mas você já tentou usar o http://clares.com.br/adicionando-outros-idiomas-ao-seu-site-google-tradutor/ ? não serve?
Texto traduzido: “Google TranslateJS_ERR_COUNT = 0;JS_ERR_ARR = [];function _gtErr(e,url,line){++JS_ERR_COUNT;var i=new Image();var err=’e=’+e.substr(0,1500)+’,url=’+url.substr(0,400)+’,line=’+line+’,count=’+JS_ERR_COUNT;if (JS_ERR_COUNT”
e esse problema como resolver ???
olá eu adcionei o código no meu site e não aparece o tradutor do google,porque isso acontece?O tradutor ele funciona em todos os sites?
Útil mais, quero saber como traduzir um arquivo php para português!