`
shuaigg.babysky
  • 浏览: 567562 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

java使用Google Translate

    博客分类:
  • Icon
阅读更多

调用谷歌翻译的ajax地址:

 

http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&langpair=#FROM#%7C#TO#&q=#TEXT#

 

其中 #FROM# 是从什么语言翻译  #TO# 是翻译到什么语言去  #TEXT# 是要翻译的东西

 

#FROM# #TO#的值可以参考下面

 

阿尔巴尼亚语 : sq
阿拉伯语 : ar
爱尔兰语 : ga
爱沙尼亚语 : et
白俄罗斯语 : be
保加利亚语 : bg
冰岛语 : is
波兰语 : pl
波斯语 : fa
布尔文(南非荷兰语) : af
丹麦语 : da
德语 : de
俄语 : ru
法语 : fr
菲律宾语 : tl
芬兰语 : fi
韩语 : ko
荷兰语 : nl
加利西亚语 : gl
加泰罗尼亚语 : ca
捷克语 : cs
克罗地亚语 : hr
拉脱维亚语 : lv
立陶宛语 : lt
罗马尼亚语 : ro
马耳他语 : mt
马来语 : ms
马其顿语 : mk
挪威语 : no
葡萄牙语 : pt
日语 : ja
瑞典语 : sv
塞尔维亚语 : sr
斯洛伐克语 : sk
斯洛文尼亚语 : sl
斯瓦希里语 : sw
泰语 : th
土耳其语 : tr
威尔士语 : cy
乌克兰语 : uk
西班牙语 : es
希伯来语 : iw
希腊语 : el
匈牙利语 : hu
意大利语 : it
意第绪语 : yi
印地语 : hi
印尼语 : id
英语 : en
越南语 : vi
中文(繁体) : zh-TW
中文(简体) : zh-CN

 

 

最后给出简单调用:

package com.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class GoogleTranslate {

    //代表调用ajax的地址 , 其中#FROM# , #TO# , #TEXT# 分别代表从什么语言翻 , 翻成什么语言 , 要翻译什么东西
    public static final String BASEURL = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&langpair=#FROM#%7C#TO#&q=#TEXT#";
   
    //代表utf8编码
    public static final String UTF8 = "UTF-8";
   
    //查找结果的正则表达式
    public static final Pattern REG = Pattern.compile("\\{\"translatedText\":\"(.+?)\"\\}");
    /**
     *
     * @param from 从什么语言翻
     * @param to   翻成什么
     * @param text 要翻译的东西
     * @return 正确的url
     */
    public static String getRightURL(String from , String to , String text) {
        //翻译的东西要用utf-8转码
        String utf8EncodedString = "";
        try {
            utf8EncodedString = URLEncoder.encode(text, UTF8);
        }catch (Exception e) {
        }
        return BASEURL.replace("#FROM#", from).replace("#TO#", to).replace("#TEXT#", utf8EncodedString);
    }
    /**
     *
     * @param url 调用ajax的url
     * @return    调用完成后返回的代码
     */
    public static String getResponseHtml(String urlAjax) {
        URL url = null;
        BufferedReader br = null;
        StringBuilder sb = new StringBuilder();
        try {
            url = new URL(urlAjax);
            br = new BufferedReader(new InputStreamReader(url.openStream() , UTF8));
            String tmp ;
            while((tmp = br.readLine()) != null) {
                sb.append(tmp);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if(br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return sb.toString();
    }
    /**
     * 得到结果时应该调用的方法
     * @param from
     * @param to
     * @param text
     * @return
     */
    public static String translate(String from , String to , String text) {
        String rightURL = getRightURL(from, to, text);
        String responseHtml = getResponseHtml(rightURL);
        Matcher matcher = REG.matcher(responseHtml);
        String result = "";
        if(matcher.find()) {
            result = matcher.group(1);
        }
        return result;
    }
   
   
    public static void main(String[] args) {
        String translate = translate("zh-CN", "en", "今天天气不错");
        System.out.println(translate);
    }
   
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics