Sample code for 30+ languages & platforms
Ruby

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 Ruby Downloads

Ruby
require 'chilkat'

success = false

# 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 = true
port = 443
bAutoReconnect = true
success = rest.Connect("translate.us-west-2.amazonaws.com",port,bTls,bAutoReconnect)
if (success != true)
    print "ConnectFailReason: " + rest.get_ConnectFailReason().to_s() + "\n";
    print rest.lastErrorText() + "\n";
    exit
end

# 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 != true)
    print rest.lastErrorText() + "\n";
    exit
end

respStatusCode = rest.get_ResponseStatusCode()
if (respStatusCode >= 400)
    print "Response Status Code = " + respStatusCode.to_s() + "\n";
    print "Response Header:" + "\n";
    print rest.responseHeader() + "\n";
    print "Response Body:" + "\n";
    print sbResponseBody.getAsString() + "\n";
    exit
end

jsonResponse = Chilkat::CkJsonObject.new()
jsonResponse.LoadSb(sbResponseBody)
jsonResponse.put_EmitCompact(false)

print jsonResponse.emit() + "\n";

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

print jsonResponse.stringOf("TranslatedText") + "\n";