Tradutor Babelfish
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 16.408 ]
Homepage: https://mestrefabio.com
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 :)
#!/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);
Perl Check Port - Entenda melhor os sockets
VimeoTheSapo -Baixe videos do Vimeo e do sapo
Localizador de palavras em arquivos nao binarios
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
alterar o tamanho da tela do monitor via xrandr (2)
Dificuldade de instalar Apache Office no Zorin17 (0)
Acesso remoto via SSH por Script numa virtualbox (1)
Notebuxo positivo vaio VJFE43F11X Something has gone seriously wrong... (9)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (35)