Perl
Perl
Amazon Translate Text
See more AWS Translate Examples
Demonstrates how to use the AWS Translate service to translate text from one language to another.Chilkat Perl Downloads
use chilkat();
$success = 0;
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$rest = chilkat::CkRest->new();
$authAws = chilkat::CkAuthAws->new();
$authAws->put_AccessKey("AWS_ACCESS_KEY");
$authAws->put_SecretKey("AWS_SECRET_KEY");
$authAws->put_Region("us-west-2");
$authAws->put_ServiceName("translate");
$rest->SetAuthAws($authAws);
# URL: https://translate.us-west-2.amazonaws.com/
$bTls = 1;
$port = 443;
$bAutoReconnect = 1;
$success = $rest->Connect("translate.us-west-2.amazonaws.com",$port,$bTls,$bAutoReconnect);
if ($success != 1) {
print "ConnectFailReason: " . $rest->get_ConnectFailReason() . "\r\n";
print $rest->lastErrorText() . "\r\n";
exit;
}
# Translate text from English to German
$json = chilkat::CkJsonObject->new();
$json->UpdateString("SourceLanguageCode","en");
$json->UpdateString("TargetLanguageCode","de");
$json->UpdateString("Text","This is the text to be translated");
$rest->AddHeader("Content-Type","application/x-amz-json-1.1");
$rest->AddHeader("X-Amz-Target","AWSShineFrontendService_20170701.TranslateText");
$sbRequestBody = chilkat::CkStringBuilder->new();
$json->EmitSb($sbRequestBody);
$sbResponseBody = chilkat::CkStringBuilder->new();
$success = $rest->FullRequestSb("POST","/",$sbRequestBody,$sbResponseBody);
if ($success != 1) {
print $rest->lastErrorText() . "\r\n";
exit;
}
$respStatusCode = $rest->get_ResponseStatusCode();
if ($respStatusCode >= 400) {
print "Response Status Code = " . $respStatusCode . "\r\n";
print "Response Header:" . "\r\n";
print $rest->responseHeader() . "\r\n";
print "Response Body:" . "\r\n";
print $sbResponseBody->getAsString() . "\r\n";
exit;
}
$jsonResponse = chilkat::CkJsonObject->new();
$jsonResponse->LoadSb($sbResponseBody);
$jsonResponse->put_EmitCompact(0);
print $jsonResponse->emit() . "\r\n";
# {
# "SourceLanguageCode": "en",
# "TargetLanguageCode": "de",
# "TranslatedText": "Dies ist der zu �bersetzende Text"
# }
print $jsonResponse->stringOf("TranslatedText") . "\r\n";