Sample code for 30+ languages & platforms
Go

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

Go
    success := false

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

    rest := chilkat.NewRest()

    authAws := chilkat.NewAuthAws()
    authAws.SetAccessKey("AWS_ACCESS_KEY")
    authAws.SetSecretKey("AWS_SECRET_KEY")
    authAws.SetRegion("us-west-2")
    authAws.SetServiceName("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 {
        fmt.Println("ConnectFailReason: ", rest.ConnectFailReason())
        fmt.Println(rest.LastErrorText())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        return
    }

    // Translate text from English to German
    json := chilkat.NewJsonObject()
    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.NewStringBuilder()
    json.EmitSb(sbRequestBody)
    sbResponseBody := chilkat.NewStringBuilder()
    success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody)
    if success != true {
        fmt.Println(rest.LastErrorText())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        json.DisposeJsonObject()
        sbRequestBody.DisposeStringBuilder()
        sbResponseBody.DisposeStringBuilder()
        return
    }

    respStatusCode := rest.ResponseStatusCode()
    if respStatusCode >= 400 {
        fmt.Println("Response Status Code = ", respStatusCode)
        fmt.Println("Response Header:")
        fmt.Println(rest.ResponseHeader())
        fmt.Println("Response Body:")
        fmt.Println(*sbResponseBody.GetAsString())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        json.DisposeJsonObject()
        sbRequestBody.DisposeStringBuilder()
        sbResponseBody.DisposeStringBuilder()
        return
    }

    jsonResponse := chilkat.NewJsonObject()
    jsonResponse.LoadSb(sbResponseBody)
    jsonResponse.SetEmitCompact(false)

    fmt.Println(*jsonResponse.Emit())

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

    fmt.Println(*jsonResponse.StringOf("TranslatedText"))

    rest.DisposeRest()
    authAws.DisposeAuthAws()
    json.DisposeJsonObject()
    sbRequestBody.DisposeStringBuilder()
    sbResponseBody.DisposeStringBuilder()
    jsonResponse.DisposeJsonObject()