Google Translate API in Java
This APi is not official Google API but an open source project hosted at google code. This API provides a simple, unofficial, Java client API for using Google Translate. You can download the jar file and include it in your path for using it.
Below is the example code which i used to convert set of resource files into Hindi langauge using Google Translate
import com.google.api.translate.Language; import com.google.api.translate.Translate; public class GoogleTranslator { *//** * @param args *//* public static void main(String[] args) { try { String translatedText = Translate.translate("How are you?", Language.ENGLISH, Language.HINDI); System.out.println(translatedText); } catch (Exception ex) { ex.printStackTrace(); } } }
This project has only two classes which are imported in above example.
a) Language Class: This class contain all languages supported by Google Translate as of now and helps him select his language than give intelligent string inputs in translate function.
b) Translate Class: This class do the real work of translation. This uses ajax google api for language to do the translation from one language to other.
check more details and updates on project home page
Most Commented Posts
If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.
Comments
Following code has worked for me
import com.google.api.translate.Language;
import com.google.api.translate.Translate;
public class TestI18n {
public static void main(String[] args) {
try {
Translate.setHttpReferrer(“en-fr”);
String translatedText = Translate.execute(“Salut le monde”, Language.FRENCH, Language.ENGLISH);
System.out.println(translatedText);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Hello,
I have tried the above given code but it gives me the following errors… kindly guide me if i am somewhere wrong.
java.lang.Exception: [google-api-translate-java] Error retrieving translation.
at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:123)
at com.google.api.translate.Translate.execute(Translate.java:69)
at speechdemo.TextToText.main(TextToText.java:43)
Caused by: java.net.UnknownHostException: ajax.googleapis.com
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
at sun.net.www.http.HttpClient.(HttpClient.java:233)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:323)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:860)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:904)
at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:107)
… 2 more
Hello,
Forgot to mention the code.. here it is.. and the errors as well.. Please reply as soon as possible.
import com.google.api.translate.Language;
import com.google.api.translate.Translate;
public class TextToText {
public static void main(String args[]) {
try {
Translate.setHttpReferrer(“en-fr”);
String translatedText = Translate.execute(“Salut le monde”, Language.FRENCH, 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:123)
at com.google.api.translate.Translate.execute(Translate.java:69)
at speechdemo.TextToText.main(TextToText.java:10)
Caused by: java.net.UnknownHostException: ajax.googleapis.com
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
at sun.net.www.http.HttpClient.(HttpClient.java:233)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:323)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:860)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:904)
at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:107)
… 2 more
Hi,
i’ve tried the code but, eclipse says:
“The import com.google cannot be resolved”
i’ve seek the solution but i couldnt
do you know, what should i do?
hai i am using google-api-translate-java.jar for translating english to other languages,it works finely for HINDI langauge but for telugu,malayalam,kannada it is displaying as “null”,any jar is required to this please provide solution
this is my code
import com.google.api.translate.Language;
import com.google.api.translate.Translate;
public class GoogleTranslator {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
try {
//Translate.setHttpReferrer(“en-fr”);
Translate.setHttpReferrer(“en-fr”);
String translatedText = Translate.translate(“How are you?”,
Language.ENGLISH, Language.HINDI);
System.out.println(translatedText);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
I added google-api-Translate-0.95.jar
and i got this error
ava.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:23)
Caused by: java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
at java.net.Socket.connect(Socket.java:546)
at java.net.Socket.connect(Socket.java:495)
at sun.net.NetworkClient.doConnect(NetworkClient.java:178)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:409)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:530)
at sun.net.www.http.HttpClient.(HttpClient.java:240)
at sun.net.www.http.HttpClient.New(HttpClient.java:321)
at sun.net.www.http.HttpClient.New(HttpClient.java:338)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:935)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:876)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:801)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:979)
at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:115)
… 3 more
BUILD SUCCESSFUL (total time: 21 seconds)
if any have solution please let me it will be much appreciated
Hello,
i am using google-api-translate-java-0[1].53.jar for translating ENGLISH to FRENCH languages,When i try to run the code, it gives a run time error.
CODE:
package com;
import com.google.api.translate.Language;
import com.google.api.translate.Translate;
public class GoogleTranslator {
public static void main(String[] args) {
try {
String translatedText = Translate.translate(“How are you?”,Language.ENGLISH, Language.HINDI);
System.out.println(translatedText);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Run Time Error:
java.lang.Exception: [google-api-translate-java] Error retrieving translation.
at com.google.api.translate.Translate.retrieveTranslation(Translate.java:92)
at com.google.api.translate.Translate.translate(Translate.java:59)
at com.GoogleTranslator.main(GoogleTranslator.java:11)
Caused by: java.net.UnknownHostException: ajax.googleapis.com
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1360)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1354)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1008)
at com.google.api.translate.Translate.retrieveTranslation(Translate.java:88)
… 2 more
Caused by: java.net.UnknownHostException: ajax.googleapis.com
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
at sun.net.www.http.HttpClient.(HttpClient.java:233)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:323)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:852)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:793)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:718)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1041)
at com.google.api.translate.Translate.retrieveTranslation(Translate.java:82)
… 2 more
If you found any solution plese mail me on “bsisodiya@talentbeat.com”

When i try to run the above code, it gives a run time error.
.
.
.
java.lang.Exception: [google-api-translate-java] Referrer is not set. Call setHttpReferrer().
at com.google.api.GoogleAPI.validateReferrer(GoogleAPI.java:59)
at com.google.api.translate.Translate.execute(Translate.java:63)
at com.google.api.translate.Translate.translate(Translate.java:192)
.
.
.
.
When i try to set the Referrer, it gives me following error,
.
.
.
java.lang.Exception: [google-api-translate-java] Error retrieving translation.
at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:123)
at com.google.api.translate.Translate.execute(Translate.java:69)
at com.google.api.translate.Translate.translate(Translate.java:192)
at speechdemo.TextToText.main(TextToText.java:70)
Caused by: java.net.UnknownHostException: ajax.googleapis.com
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
at sun.net.www.http.HttpClient.(HttpClient.java:233)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:323)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:860)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:904)
at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:107)
… 3 more
.
.
.
.
.
Kindly help me out.