@@ -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