如何使用Google Translate v2 API客户端库为Java提出翻译请求?

时间:2015-10-29 20:50:46

标签: java api google-api google-translate

关于如何将Java Translate API Cliente库用于java,没有示例。

在此页面中,Google建议搜索其API的示例,但Google Translate API没有一个示例:https://github.com/google/google-api-java-client-samples

由于我没有找到Google Translate API的任何示例,因此我不知道如何使用他们的官方Java库。

我想提出一个简单的请求,将文本(例如Hello World从英语翻译成西班牙语)与Google制作的官方库:https://developers.google.com/api-client-library/java/apis/translate/v2,但没有公开的文档或示例。< / p>

有没有人有关于如何在java中使用Google Translate API客户端库的信息,我已经用谷歌搜索过,我根本没有运气。

我已经将所有的jar包含在我的项目中,但是我不知道我必须使用哪些类或者哪些对象实例化以便从一种语言翻译成另一种语言。我根本不知道。我只需要像其他Google API的示例存储库中那样简单地剪切代码。

2 个答案:

答案 0 :(得分:15)

这是一个有效的例子。

您需要为自己的应用生成自己的应用密钥(启动here),因为翻译API不再公开。

对于选项传递给Translate.Builder()的内容,请参阅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();
        }
    }
}

答案 1 :(得分:6)

参考: Translate API Client Libraries

模板:

// Imports the Google Cloud client library
import com.google.cloud.translate.Translate;
import com.google.cloud.translate.Translate.TranslateOption;
import com.google.cloud.translate.TranslateOptions;
import com.google.cloud.translate.Translation;

public class QuickstartSample {
  public static void main(String... args) throws Exception {
    // Instantiates a client
    Translate translate = TranslateOptions.builder().apiKey("YOUR_API_KEY").build().service();

    // The text to translate
    String text = "Hello, world!";

    // Translates some text into Russian
    Translation translation = translate.translate(
      text,
      TranslateOption.sourceLanguage("en"),
      TranslateOption.targetLanguage("ru")
    );

    System.out.printf("Text: %s%n", text);
    System.out.printf("Translation: %s%n", translation.translatedText());
  }
}


行家:

<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-translate</artifactId>
    <version>0.4.0</version>
</dependency>