Sample code for 30+ languages & platforms
PHP ActiveX

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 PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

$rest = new COM("Chilkat.Rest");

$authAws = new COM("Chilkat.AuthAws");
$authAws->AccessKey = 'AWS_ACCESS_KEY';
$authAws->SecretKey = 'AWS_SECRET_KEY';
$authAws->Region = 'us-west-2';
$authAws->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->ConnectFailReason . "\n";
    print $rest->LastErrorText . "\n";
    exit;
}

// Translate text from English to German
$json = new COM("Chilkat.JsonObject");
$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 = new COM("Chilkat.StringBuilder");
$json->EmitSb($sbRequestBody);
$sbResponseBody = new COM("Chilkat.StringBuilder");
$success = $rest->FullRequestSb('POST','/',$sbRequestBody,$sbResponseBody);
if ($success != 1) {
    print $rest->LastErrorText . "\n";
    exit;
}

$respStatusCode = $rest->ResponseStatusCode;
if ($respStatusCode >= 400) {
    print 'Response Status Code = ' . $respStatusCode . "\n";
    print 'Response Header:' . "\n";
    print $rest->ResponseHeader . "\n";
    print 'Response Body:' . "\n";
    print $sbResponseBody->getAsString() . "\n";
    exit;
}

$jsonResponse = new COM("Chilkat.JsonObject");
$jsonResponse->LoadSb($sbResponseBody);
$jsonResponse->EmitCompact = 0;

print $jsonResponse->emit() . "\n";

// {
//   "SourceLanguageCode": "en",
//   "TargetLanguageCode": "de",
//   "TranslatedText": "Dies ist der zu �bersetzende Text"
// }

print $jsonResponse->stringOf('TranslatedText') . "\n";

?>