/*
    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;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
public class blatranslate {
	public static void main(String[] args) throws IOException, UnsupportedEncodingException
	{
		String query = "";
        String sourceLang = "?";
        String targetLang = "";
        String sourceString = "";
        PrintStream out = new PrintStream(System.out, true, "UTF-8");
		/* 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) {
					out.print(" | ");
				}
				int count = i + 1;
				
                if(langs.size() > i-1 && langs.size() > 0) {
                out.print("Translation ("+langs.get(i)+" to "+targetLang+"): " + results.get(i)); 
                } else {
                    out.print("Translation ("+sourceLang+" to "+targetLang+"): " + results.get(i)); 
                }
			}
		} else {
			out.println("Error: no results.");
			System.exit(1);
		}
		System.out.print("\n");
	}
}