Skip to content

Commit 5cb7291

Browse files
committed
Fixed Google Translate. Now works with new API.
1 parent 4d1c6c1 commit 5cb7291

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

src/main/java/com/darkprograms/speech/translator/GoogleTranslate.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public final class GoogleTranslate { //Class marked as final since all methods a
2727
/**
2828
* URL to query for Translation
2929
*/
30-
private final static String GOOGLE_TRANSLATE_URL = "http://translate.google.com/translate_a/t";
30+
private final static String GOOGLE_TRANSLATE_URL = "http://translate.google.com/translate_a/single";
3131

3232
/**
3333
* Private to prevent instantiation
@@ -51,7 +51,8 @@ public static String getDisplayLanguage(String languageCode){
5151
* @param text The text that you wish to generate
5252
* @return The generated URL as a string.
5353
*/
54-
private static String generateURL(String sourceLanguage, String targetLanguage, String text) throws UnsupportedEncodingException{
54+
private static String generateURL(String sourceLanguage, String targetLanguage, String text)
55+
throws UnsupportedEncodingException{
5556
String encoded = URLEncoder.encode(text, "UTF-8"); //Encode
5657
StringBuilder sb = new StringBuilder();
5758
sb.append(GOOGLE_TRANSLATE_URL);
@@ -70,6 +71,9 @@ private static String generateURL(String sourceLanguage, String targetLanguage,
7071
sb.append("&ssel=0");
7172
sb.append("&tsel=0");
7273
sb.append("&sc=1");
74+
sb.append("&dt=t");//This parameters requests the translated text back.
75+
//Other dt parameters request additional information such as pronunciation, and so on.
76+
//TODO Modify API so that the user may request this additional information.
7377
sb.append("&ie=UTF-8"); //Input encoding
7478
sb.append("&oe=UTF-8"); //Output encoding
7579
sb.append("&tk="); //Token authentication parameter
@@ -127,7 +131,7 @@ public static String translate(String targetLanguage, String text) throws IOExce
127131
*/
128132
public static String translate(String sourceLanguage, String targetLanguage, String text) throws IOException{
129133
String urlText = generateURL(sourceLanguage, targetLanguage, text);
130-
URL url = new URL(urlText);//GOOGLE_TRANSLATE_URL + "&sl=" + sourceLanguage + "&tl=" + targetLanguage + "&text=" + encoded);
134+
URL url = new URL(urlText);
131135
String rawData = urlToText(url);//Gets text from Google
132136
if(rawData==null){
133137
return null;
@@ -249,7 +253,7 @@ private static int RL(int a, String b) {//I am not entirely sure what this magic
249253
int d = b.charAt(c + 2);
250254
d = d >= 65 ? d - 87 : d - 48;
251255
d = b.charAt(c + 1) == '+' ? shr32(a, d) : (a << d);
252-
a = b.charAt(c) == '+' ? (a + d & 0xFFFFFFFF) : a ^ d;
256+
a = b.charAt(c) == '+' ? (a + (d & 0xFFFFFFFF)) : a ^ d;
253257
}
254258
return a;
255259
}

0 commit comments

Comments
 (0)