Salvador Pasquier Salvador Pasquier - 1 month ago 23
Java Question

How do you make a request for a translation with the Google Translate v2 API Client Library for java?

There aren't examples on how to use Google Translate API Cliente library for java.

In this page Google suggest to search examples for their APIs but there is not a single one for Google Translate API: https://github.com/google/google-api-java-client-samples

Since I didn't found any example for Google Translate API I don't have any clue about how to use their official java library.

I want to make a simple request to translate a text (for example Hello World from english to spanish) with the Official library made by Google: https://developers.google.com/api-client-library/java/apis/translate/v2 but there is no documentation or examples available for the public.

Does anyone have info about how to use Google Translate API client library in java, I already googled and I had no luck at all.

I already have included all the jars to my project, but I don't know which classes I must use or which objects instantiate to make a translation from one language to another. I have no clue at all. I just need a simple snipped of code like in the examples repositories for other Google APIs.

Jan Jan
Answer

Here's a working example.

You need to have your own App-Key generated for your app (start here) as translate API is no longer publicly available.

For options what to pass into Translate.Builder() see here.

import java.util.Arrays;

import com.google.api.services.translate.Translate;
import com.google.api.services.translate.model.TranslationsListResponse;
import com.google.api.services.translate.model.TranslationsResource;

public class TranslateMe {


    public static void main(String[] args) {

        try {           
            // See comments on 
            //   https://developers.google.com/resources/api-libraries/documentation/translate/v2/java/latest/
            // on options to set
            Translate t = new Translate.Builder(
                    com.google.api.client.googleapis.javanet.GoogleNetHttpTransport.newTrustedTransport()
                    , com.google.api.client.json.gson.GsonFactory.getDefaultInstance(), null)                                   
                    //Need to update this to your App-Name
                    .setApplicationName("Stackoverflow-Example")                    
                    .build();           
            Translate.Translations.List list = t.new Translations().list(
                    Arrays.asList(
                            //Pass in list of strings to be translated
                            "Hello World",
                            "How to use Google Translate from Java"), 
                        //Target language   
                        "ES");  
            //Set your API-Key from https://console.developers.google.com/
            list.setKey("you-need-your-own-api-key");
            TranslationsListResponse response = list.execute();
            for(TranslationsResource tr : response.getTranslations()) {
                System.out.println(tr.getTranslatedText());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}