/* * Copyright 2019-2020 Zheng Jie * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package me.zhengjie.utils; import cn.hutool.json.JSONArray; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; /** * @author Zheng Jie * 翻译工具类 */ public class TranslatorUtil { public static String translate(String word){ try { String url = "https://translate.googleapis.com/translate_a/single?" + "client=gtx&" + "sl=en" + "&tl=zh-CN" + "&dt=t&q=" + URLEncoder.encode(word, "UTF-8"); URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); con.setRequestProperty("User-Agent", "Mozilla/5.0"); BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream())); String inputLine; StringBuilder response = new StringBuilder(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); return parseResult(response.toString()); }catch (Exception e){ return word; } } private static String parseResult(String inputJson){ JSONArray jsonArray2 = (JSONArray) new JSONArray(inputJson).get(0); StringBuilder result = new StringBuilder(); for (Object o : jsonArray2) { result.append(((JSONArray) o).get(0).toString()); } return result.toString(); } }