Lianja
Lianja
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 Lianja Downloads
llSuccess = .F.
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loRest = createobject("CkRest")
loAuthAws = createobject("CkAuthAws")
loAuthAws.AccessKey = "AWS_ACCESS_KEY"
loAuthAws.SecretKey = "AWS_SECRET_KEY"
loAuthAws.Region = "us-west-2"
loAuthAws.ServiceName = "translate"
loRest.SetAuthAws(loAuthAws)
// URL: https://translate.us-west-2.amazonaws.com/
llBTls = .T.
lnPort = 443
llBAutoReconnect = .T.
llSuccess = loRest.Connect("translate.us-west-2.amazonaws.com",lnPort,llBTls,llBAutoReconnect)
if (llSuccess <> .T.) then
? "ConnectFailReason: " + str(loRest.ConnectFailReason)
? loRest.LastErrorText
release loRest
release loAuthAws
return
endif
// Translate text from English to German
loJson = createobject("CkJsonObject")
loJson.UpdateString("SourceLanguageCode","en")
loJson.UpdateString("TargetLanguageCode","de")
loJson.UpdateString("Text","This is the text to be translated")
loRest.AddHeader("Content-Type","application/x-amz-json-1.1")
loRest.AddHeader("X-Amz-Target","AWSShineFrontendService_20170701.TranslateText")
loSbRequestBody = createobject("CkStringBuilder")
loJson.EmitSb(loSbRequestBody)
loSbResponseBody = createobject("CkStringBuilder")
llSuccess = loRest.FullRequestSb("POST","/",loSbRequestBody,loSbResponseBody)
if (llSuccess <> .T.) then
? loRest.LastErrorText
release loRest
release loAuthAws
release loJson
release loSbRequestBody
release loSbResponseBody
return
endif
lnRespStatusCode = loRest.ResponseStatusCode
if (lnRespStatusCode >= 400) then
? "Response Status Code = " + str(lnRespStatusCode)
? "Response Header:"
? loRest.ResponseHeader
? "Response Body:"
? loSbResponseBody.GetAsString()
release loRest
release loAuthAws
release loJson
release loSbRequestBody
release loSbResponseBody
return
endif
loJsonResponse = createobject("CkJsonObject")
loJsonResponse.LoadSb(loSbResponseBody)
loJsonResponse.EmitCompact = .F.
? loJsonResponse.Emit()
// {
// "SourceLanguageCode": "en",
// "TargetLanguageCode": "de",
// "TranslatedText": "Dies ist der zu �bersetzende Text"
// }
? loJsonResponse.StringOf("TranslatedText")
release loRest
release loAuthAws
release loJson
release loSbRequestBody
release loSbResponseBody
release loJsonResponse