Implementando um tradutor de línguas no seu web site
Implementando o script - parte 1
Nosso script funcionará da seguinte forma: um formulário será exibido ao usuário, que irá digitar o texto a ser traduzido, escolher a linguagem de origem/destino e pedir para traduzir submetendo o mesmo. O formulário é recursivo, ou seja, os dados são enviados para o mesmo script PHP que mostrou o formulário na tela. Caso exista algum texto a ser traduzido, antes que apareça o formulário na tela, uma rotina de consulta ao engine babelfish será executada e o resultado mostrado na tela.
No primeiro bloco de código do programa definimos algumas constantes que serão processadas pelo babelfish e faremos a verificação do conteúdo da variável que armazena o texto, para saber se apenas mostraremos o formulário na tela ou se efetuaremos conexão com o AltaVista.com:
Em seguida vou digitar o bloco de código HTML que mostra o formulário na tela, com espaço para a entrada do texto a ser traduzido e uma caixa de seleção onde o usuário escolherá as linguagens de origem/destino.
Nosso script funcionará da seguinte forma: um formulário será exibido ao usuário, que irá digitar o texto a ser traduzido, escolher a linguagem de origem/destino e pedir para traduzir submetendo o mesmo. O formulário é recursivo, ou seja, os dados são enviados para o mesmo script PHP que mostrou o formulário na tela. Caso exista algum texto a ser traduzido, antes que apareça o formulário na tela, uma rotina de consulta ao engine babelfish será executada e o resultado mostrado na tela.
No primeiro bloco de código do programa definimos algumas constantes que serão processadas pelo babelfish e faremos a verificação do conteúdo da variável que armazena o texto, para saber se apenas mostraremos o formulário na tela ou se efetuaremos conexão com o AltaVista.com:
<?php
// definição de constantes
$DOIT = 'done';
$TT = 'urltext';
// se o formulário foi submetido, teremos urltext diferente de vazio
if ($urltext) {
$traducao = traduzir($urltext,$lp);
} else {
$traducao = '-';
}
?>
Em seguida vou digitar o bloco de código HTML que mostra o formulário na tela, com espaço para a entrada do texto a ser traduzido e uma caixa de seleção onde o usuário escolherá as linguagens de origem/destino.
<html>
<style type="text/css">
td,textarea,select,input,a:link,a:visited {
font-family: Arial,Helvetica,Sans-Serif;
font-size: 11px;
color: #000000;
}
</style>
<body bgcolor="#fffff0">
<form name="form1" action="<?php echo $PHP_SELF ?>">
<table width="400" bgcolor="#000000" cellpadding=1 cellspacing=0
align="center">
<tr><td>
<table width="100%" bgcolor="#ffffff" cellpadding=3 cellspacing=0>
<tr>
<td bgcolor="#cccccc" nowrap><big>BabelFish Translator</big>
</td>
<td bgcolor="#cccccc" align="right">
<a href="http://www.altavista.com" target="new">Powered by
AltaVista</a>
</td>
</tr>
<tr><td colspan=2>
Texto:
<br>
<textarea name="urltext" style="width: 100%;" rows=6><?php echo
$urltext ?></textarea>
</td></tr>
<tr>
<td width="1%" nowrap>Selecione uma linguagem:</td>
<td>
<select name="lp" style="width: 100%;">
<option value="en_zh">Inglês para Chinês
<option value="en_fr">Inglês para Francês
<option value="en_de">Inglês para Alemão
<option value="en_it">Inglês para Italiano
<option value="en_ja">Inglês para Japonês
<option value="en_ko">Inglês para Koreano
<option value="en_pt">Inglês para Português
<option value="en_es">Inglês para Espanhol
<option value="zh_es">Chinês para Inglês
<option value="fr_en">Francês para Inglês
<option value="fr_de">Francês para Alemão
<option value="de_en">Alemão para Inglês
<option value="de_fr">Alemão para Francês
<option value="it_en">Italiano para Inglês
<option value="ja_en">Japonês para Inglês
<option value="ko_en">Koreano para Inglês
<option value="pt_en" SELECTED>Português para Inglês
<option value="ru_en">Russo para Inglês
<option value="es_en">Espanhol para Inglês
</select>
</td>
</tr>
<tr>
<td align="right">Tradução </td>
<td><?php echo $traducao ?></td>
</tr>
<tr><td colspan=2 align="center">
<br>
<input type="submit" value=" Traduzir agora ! ">
</td></tr>
</table>
</td></tr>
</table>
</form>
</body>
</html>
Cara gostei do script mas tem so um problema, eu coloco tipo um texto com mais de 40 caracteres e ele nao traduz nd pq isso cara será q vc poderia me ajudar.......
qualquer duvida entre e veja o meu script e coloque um texto tipo mais q 40 caracteres e veja se traduz algo nao da cara ..... so funciona tipo o maximo uma s 30 palavras.........
.
até mais
a o endereço é http://kelvinz.netmaster.inf.br/trad.php
qualquer duvida entre e veja o meu script e coloque um texto tipo mais q 40 caracteres e veja se traduz algo nao da cara ..... so funciona tipo o maximo uma s 30 palavras.........
.
até mais
a o endereço é http://kelvinz.netmaster.inf.br/trad.php
10/05/2004 5:55pm
(~21 anos atrás)
Achei otimo o artigo!!! estava precisando de algo do tipo .
[]'s
Lucas
[]'s
Lucas
16/10/2003 6:13am
(~21 anos atrás)
Italo,
Tenta por IP:
$fp = fsockopen ('216.239.39.120', 80, $errno, $errstr, 30);
[]'s
Fábio
Tenta por IP:
$fp = fsockopen ('216.239.39.120', 80, $errno, $errstr, 30);
[]'s
Fábio
27/09/2002 7:34am
(~23 anos atrás)
Fábio, o translate.google.com deu o mesmo erro..... tentei o do babalfish..... deu o mesmo
Fiz o que vc falou... coloquei o babelfish.altavista.com na url e ele executou
O q será veio??????
Fiz o que vc falou... coloquei o babelfish.altavista.com na url e ele executou
O q será veio??????
26/09/2002 12:09pm
(~23 anos atrás)
Ítalo,
Verifique se a sua máquina está conseguindo resolver o host translate.gogle.com. Aqui funciona perfeitamente. Veja em www.vivaolinux.com.br/phpscripts/ uma versão online do script.
[]'s
Fábio
Verifique se a sua máquina está conseguindo resolver o host translate.gogle.com. Aqui funciona perfeitamente. Veja em www.vivaolinux.com.br/phpscripts/ uma versão online do script.
[]'s
Fábio
26/09/2002 7:25am
(~23 anos atrás)
Olá,
Na página 2 existe o seguinte código:
<?
if ($urltext) {
$traducao = traduzir($urltext,$lp);
} else {
$traducao = '-';
}
?>
Se o usuário tiver submetido o formulário com algum texto a ser traduzido, ele executa a linha $traducao = traduzir($urltext,$lp).
Na página 3 está definida a função traduzir.
Fábio
Na página 2 existe o seguinte código:
<?
if ($urltext) {
$traducao = traduzir($urltext,$lp);
} else {
$traducao = '-';
}
?>
Se o usuário tiver submetido o formulário com algum texto a ser traduzido, ele executa a linha $traducao = traduzir($urltext,$lp).
Na página 3 está definida a função traduzir.
Fábio
26/09/2002 7:22am
(~23 anos atrás)
E aí Fabio, beleza.... amigo, deu esse erro.
Ocorreu um erro ao tentar conexão com translate.google.com: ()
Ocorreu um erro ao tentar conexão com translate.google.com: ()
26/09/2002 6:25am
(~23 anos atrás)
Olá pessoal,
Já que deram a idéia, fiz a versão desse script para o engine do Google, está publicado na sessão de scripts do site:
Título: Tradutor de Idiomas (Google)
Categoria: Internet/Network
Atenciosamente,
Fábio Berbert de Paula
fabio@vivaolinux.com.br
www.vivaolinux.com.br
Já que deram a idéia, fiz a versão desse script para o engine do Google, está publicado na sessão de scripts do site:
Título: Tradutor de Idiomas (Google)
Categoria: Internet/Network
Atenciosamente,
Fábio Berbert de Paula
fabio@vivaolinux.com.br
www.vivaolinux.com.br
25/09/2002 9:09am
(~23 anos atrás)
substitui:
ereg("name=\"q\" value=(.*)>",$html,$saida);
$traducao = $saida[1];
$traducao = ereg_replace(">.*$","",$traducao);
por:
$saida = explode("<td bgcolor=white class=s><div style=padding:10px;>", $html);
$saida = explode("</div></td>", $saida[1]);
$traducao = $saida[0];