Tradutor Babelfish

Publicado por Fábio Berbert de Paula 13/11/2002

[ Hits: 16.512 ]

Homepage: https://fabio.automatizando.dev

Download babelfish.zip




Script usado para tradução de palavras e expressões
em várias línguas, Inglês/Português, Português/Inglês,
Inglês/Espanhol, etc. Roda no console e utiliza
conexão com a Internet para consultar o site
<a href="http://babelfish.altavista.com" >babelfish.altavista.com</a>. Ficou muito maneiro :)

  



Esconder código-fonte

#!/usr/bin/perl
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# babelfish.pl
#
# Script usado para tradução de palavras e expressões
# em várias línguas, Inglês/Português, Português/Inglês,
# Inglês/Espanhol, etc. Roda no console e utiliza 
# conexão com a Internet para consultar o site:
# http://babelfish.altavista.com
#
# Programado por Fábio Berbert de Paula <fabio@vivaolinux.com.br>
# Na web em: www.vivaolinux.com.br
#
# Rio de Janeiro, 26 de Julho de 2002
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

use strict;

use IO::Socket; # módulo usado para efetuar conexões de rede
use CGI;

my %languages = (
   "01" => "Inglês para Chinês:en_zh",
   "02" => "Inglês para Francês:en_fr",
   "03" => "Inglês para Alemão:en_de",
   "04" => "Inglês para Italiano:en_it",
   "05" => "Inglês para Japonês:en_ja",
   "06" => "Inglês para Koreano:en_ko",
   "07" => "Inglês para Português:en_pt",
   "08" => "Inglês para Espanhol:en_es",
   "09" => "Chinês para Inglês:zh_es",
   "10" => "Francês para Inglês:fr_en",
   "11" => "Francês para Alemão:fr_de",
   "12" => "Alemão para Inglês:de_en",
   "13" => "Alemão para Francês:de_fr",
   "14" => "Italiano para Inglês:it_en",
   "15" => "Japonês para Inglês:ja_en",
   "16" => "Koreano para Inglês:ko_en",
   "17" => "Português para Inglês:pt_en",
   "18" => "Russo para Inglês:ru_en",
   "19" => "Espanhol para Inglês:es_en"
);

my $sair = 0; # fica em looping enquanto o usuário nãoescolher sair
my $host = 'babelfish.altavista.com';
my $lp;
do {
   print "\nEscolha um opção:\n";
   foreach my $num (sort keys %languages) {
      my $valor = (split(/:/,$languages{$num}))[0];
      print "\t".$num.'. '.(split(/:/,$languages{$num}))[0] ."\n";
   }

   print "Sua escolha: ";
   my $languageNum = <>;
   chomp($languageNum);
   $languageNum = sprintf("%02d",$languageNum);

   $lp = (split(/:/,$languages{$languageNum}))[1];

   if (!$lp) {
      print "Você digitou uma opção inválida...\n";
      exit;
   }

   print "Texto a ser traduzido: ";
   my $urltext = <>;

   $urltext = CGI::escape($urltext);
   my $doit = 'done';
   my $tt = 'urltext';
   my $vars = "doit=$doit&tt=$tt&urltext=$urltext&lp=$lp";

   # ---------------------------------------------
   # parte 2 - enviando
   print "Traduzindo, aguarde ...\n";
   my $sock = new IO::Socket::INET (
                            PeerAddr => $host,
                            PeerPort => '80',
                            Proto    => 'tcp',
                            Type     => SOCK_STREAM
  );
  die "Ocorreu um erro durante a conexão: $!\n" unless $sock;

  # Contruindo menu com as linguagens disponíveis
  my $addinfo = "Accept-Language: en\r\nAccept-Charset: iso-8859-1,*,base64\r\n";
  print $sock "GET /tr?$vars HTTP/1.1\r\nHost: babelfish.altavista.com\r\n\n";
  my $codHTML = '';
  while (<$sock>) { chomp; $codHTML .= $_ . ' '; }
  close($sock);

  $codHTML =~ /name=\"q\" value=(.*)>/; 
  my $traducao = $1; 
  $traducao =~ s/\>.*$//;
  print $traducao . "\n\n"; 
   
  # ----------------------------------------------
  print "Traduzir outra palavra ? [s/N] ";
  my $k = <>; chomp($k);
  if (lc($k) eq "s") {
     $sair = 0;
  } else {
    $sair = 1;
  }

} while (!$sair);

Scripts recomendados

Synner Novo Sys(TCP) Flooder em Perl

IPloc - Informações e localização de um determinado endereço IP

Gmail::SendMail - Enviando emails usando gmail

Sarg Diario

Buscar Traduções no Google Translate


  

Comentários
[1] Comentário enviado por kelvinz em 09/05/2004 - 03:59h

olá pessoal eu instalei isso adpatei para o meu site o tradutor.... rou muito bem so tem um problema q nao conseguir achar..........
quando vc digita um texto maior tipo 40 caracteres ele nao aparece nd pq sera isso???????
será q alguempo

[2] Comentário enviado por kelvinz em 09/05/2004 - 04:00h

olá pessoal eu instalei isso adpatei para o meu site o tradutor.... rodou muito bem só tem um problema q nao conseguir achar..........
quando vc digita um texto maior tipo 40 caracteres ele nao aparece nd pq sera isso???????
será q alguem pode me ajudar........
até mais flw....


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts