From 4da00837aca48d8fc0b33a3689390481b458cd13 Mon Sep 17 00:00:00 2001 From: wjoe Date: Thu, 22 Dec 2011 10:01:41 +0000 Subject: Initial commit (last edited 12/09/2011) --- blatranslate.java | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 blatranslate.java (limited to 'blatranslate.java') diff --git a/blatranslate.java b/blatranslate.java new file mode 100644 index 0000000..af1f402 --- /dev/null +++ b/blatranslate.java @@ -0,0 +1,136 @@ +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +/* + Copyright 2011 Joe Robinson + based on code by Jamie Walters + based on code by Joe Robinson +*/ + + +import java.net.URL; +import java.net.URLConnection; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.ArrayList; + +public class blatranslate { + + public static void main(String[] args) throws IOException + { + String query = ""; + String sourceLang = "?"; + String targetLang = ""; + String sourceString = ""; + /* Build query from query or arguments, depending on whether + arguments were given. */ + if (args.length == 0) { + try { + BufferedReader br = + new BufferedReader(new InputStreamReader(System.in)); + String[] split = br.readLine().split(" "); + sourceLang = split[0]; + targetLang = split[1]; + for (int i = 2; i < split.length; i++) { + query = query + split[i] + "+"; + } + + } catch (Exception e) { + System.err.println("Error:" + e.getMessage()); + System.exit(1); + } + } else { + for (int i = 2; i < args.length; i++) { + query += args[i] + " "; + } + sourceLang = args[0]; + targetLang = args[1]; + } + + if (sourceLang.equals("?")) { + sourceLang = ""; + } else { + sourceString = "&source="+sourceLang; + } + + + + // Change all ' ' to '+' + query = query.replaceAll(" ", "+"); + query = query.replaceAll(",", ""); + + String[] parts = null; + //URL which provides XML response + URL url = new URL("https://www.googleapis.com/language/translate/v2?q="+query+"&target="+targetLang+sourceString+"&pp=1&key=AIzaSyCUJgcjfq20vONzLuNrSuVgT4nuMvz7d2c"); + + URLConnection urlc = url.openConnection(); + + BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); + String line; + String[] lines; + ArrayList results = new ArrayList(); + ArrayList langs = new ArrayList(); + ArrayList urls = new ArrayList(); + String result = ""; + String tempString = ""; + //Read every line + while ((line = br.readLine()) != null) + { + // Splits the google output by the commas + lines = line.split(","); + + for(int i=0; i 0){ + for(int i=0; i< results.size(); i++){ + if (i != 0) { + System.out.print(" | "); + } + int count = i + 1; + + if(langs.size() > i-1 && langs.size() > 0) { + System.out.print("Translation ("+langs.get(i)+" to "+targetLang+"): " + results.get(i)); + } else { + System.out.print("Translation ("+sourceLang+" to "+targetLang+"): " + results.get(i)); + } + } + } else { + System.out.print("Error: no results.\n"); + System.exit(1); + } + System.out.print("\n"); + } + +} -- cgit v1.2.3