0

我需要一个使用 Google Translation API 将西班牙语转换为英语的示例。我尝试使用以下代码。它给出了一些例外。有人可以帮助我吗?

代码 :

import  com.google.api.translate.*;
public class GoogleTranslator {

    /**
     * @param args

    */
    @SuppressWarnings("deprecation")
    public static void main(String[] args) {// TODO code application logic here


            try {
                Translate.setHttpReferrer("sp-en");
                String translatedText = Translate.translate("Hola mundo", Language.SPANISH, Language.ENGLISH);
                System.out.println(translatedText);
                } catch (Exception ex) {
                ex.printStackTrace(); }

    }
}

错误 :

java.lang.Exception: [google-api-translate-java] Error retrieving translation.
    at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:136)
    at com.google.api.translate.Translate.execute(Translate.java:69)
    at com.google.api.translate.Translate.translate(Translate.java:192)
    at GoogleTranslator.main(GoogleTranslator.java:15)
Caused by: java.net.UnknownHostException: ajax.googleapis.com
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at sun.net.NetworkClient.doConnect(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.<init>(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
    at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:115)
    ... 3 more
4

3 回答 3

1

你需要弄清楚为什么你没有到达这个主机:ajax.googleapis.com

例外说:

 java.net.UnknownHostException: ajax.googleapis.com 

javadoc 说抛出 UnknownHostException 表示无法确定主机的 IP 地址。

你应该你的DNS。

nslookup ajax.googleapis.com

于 2011-09-02T10:21:01.947 回答
0

Set your DNS to google one

if on linux machine

sudo gedit /etc/resolv.conf

add

nameserver 8.8.8.8
nameserver 8.8.4.4

or if on windows goto network setting and set DNS for active connection

于 2011-09-02T10:24:12.050 回答
0

您没有 api 密钥,例如 GoogleAPI.setKey(); 我想你需要这样的东西才能继续

于 2012-07-08T21:16:08.187 回答