#!/usr/bin/perl -w use REST::Google::Translate; use CGI::Carp qw/fatalsToBrowser/; use CGI; use Encode; %languageHash = ( "zh" => "Chinese", "zh-CN" => "Chinese Simplified", "zh-TW" => "Chinese Traditional", "ja" => "Japanese", "hi" => "Hindi", "th" => "Thai", "vi" => "Vietnamese", "ru" => "Russian", "ar" => "Arabic", "af" => "Afrikaans", "ko" => "Korean" ); @languages = keys %languageHash; $textToTranslationize = CGI::param("textInput"); #$textToTranslationize = "this is a test of the translation service provided by a company"; # Do some fun language exchanging with a random language $randLang = $languages[rand($#languages+1)]; $convertedText = getTranslation($textToTranslationize, "en", $randLang); # Convert back to English and print HTML output print "Content-type: text/html\n\n"; print "TheKevdog.com - Bad Translationizer"; print "

Translationzing using language: $languageHash{$randLang}

"; print "

(hit refresh to regenerate)

"; print "
"; print "

Input Text:

$textToTranslationize"; print "
"; print "

Translationized Text:

" . getTranslation($convertedText, $randLang, "en"); sub getTranslation { my ($inputText, $fromLanguage, $toLanguage) = @_; my $languagePair = "$fromLanguage|$toLanguage"; REST::Google::Translate->http_referer('http://www.thekevdog.com'); my $res = REST::Google::Translate->new( q => encode("utf-8", $inputText), langpair => $languagePair ); if ($res->responseStatus != 200) { return "bad"; } return $res->responseData->translatedText; }