Tradutor Babelfish
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 16.732 ]
Homepage: https://fabio.automatizando.dev
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);
Avisar por e-mail se o IP da conexão ADSL mudar
Localizador de palavras em arquivos nao binarios
Gmail::SendMail - Enviando emails usando gmail
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
\Boot sem espaço em disco (Fedora KDE Plasma 42) (4)
Preciso recuperar videos *.mp4 corrompidos (0)
Programa fora de escala na tela do pc (38)









