Tradutor Babelfish

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

[ Hits: 16.558 ]

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

PDF completo com todas as páginas do Diário Oficial do Estado de Goiás

Web crawler simples em Perl

Synner Novo Sys(TCP) Flooder em Perl

Pagerank Checker

SMTP Mass Mail - Enviando e-mails em massa para vários endereços a partir de um servidor SMTP


  

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