首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

调用 Google 通译的地址格式

2012-08-22 
调用 Google 翻译的地址格式:http://ajax.googleapis.com/ajax/services/language/translate?v1.0&q +

调用 Google 翻译的地址格式:

http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + 原始文本 + "&langpair=" + 原语言 + "%7C" + 目标语言

利用Google提供的插件来翻译

详细内容可以参考:http://code.google.com/p/google-api-translate-java/

http://code.google.com/p/google-api-translate-java/downloads/detail?name=google-api-translate-java-0.92.jar


返回的数据格式如下, 可以用 responseData.translatedText 简单获取:

{  "responseData" : {"translatedText" : "返回的文本"},   "responseDetails" : null,   "responseStatus" : 200}
$ dropjava -user user/password@tns  google-api-translate-java-0.92.jar$ loadjava -user user/password@tns -force -resolve -verbose google-api-translate-java-0.92.jar create or replace and compile java source named gtranslate  asimport java.net.URLEncoder;import com.google.api.translate.Language;import com.google.api.translate.Translate;public class gtranslate  {  private static final String CHARSET = "UTF-8";  public static void main(String[] args) throws Exception {    /* Enter the URL of your site here */      Translate.setHttpReferrer("http://code.google.com/p/google-api-translate-java/");      /**      * 第一个参数:要翻译的内容      * 第二个参数:翻译内容原始的语言      * 第三个参数:翻译内容要得到结果的语言      */      String translatedText = Translate.execute("试验", Language.CHINESE, Language.ENGLISH);           System.out.println(translatedText);     }    public static void run() throws Exception {    // Set the HTTP referrer to your website address.    Translate.setHttpReferrer("http://code.google.com/p/google-api-translate-java/");    String translatedText = Translate.execute("试验", Language.CHINESE, Language.ENGLISH);     System.out.println(translatedText);  }    public static String UTF8Encode (String s) throws Exception {    String utf8encode = URLEncoder.encode(s, CHARSET);    return utf8encode;  }  }create or replace package pkg_translate is  function utf8encode(p_text in varchar2) return varchar2;end pkg_translate;/create or replace package body pkg_translate is  function utf8encode(p_text in varchar2) return varchar2  is language java name 'gtranslate.UTF8Encode(java.lang.String) return java.lang.String';end pkg_translate;/create or replace procedure pro_gtranslate as language javaname 'gtranslate.run()';/begin  -- Call the function  :result := pkg_translate.utf8encode(p_text => :p_text);end;/--待解决SQL> execute pro_gtranslate; Exception in thread "Root Thread" java.lang.Exception: [google-api-translate-java] Error retrieving translation.at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:123)at com.google.api.translate.Translate.execute(Translate.java:69)at TestTranslate.db_run(TESTTRANSLATE:23)Caused by: java.net.UnknownHostException: ajax.googleapis.comat java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)at java.net.Socket.connect(Socket.java:519)at java.net.Socket.connect(Socket.java:469)at sun.net.NetworkClient.doConnect(NetworkClient.java:157)at sun.net.www.http.HttpClient.openServer(HttpClient.java:382)at sun.net.www.http.HttpClient.openServer(HttpClient.java:494)at sun.net.www.http.HttpClient.<init>(HttpClient.java:231)at sun.net.www.http.HttpClient.New(HttpClient.java:304)at sun.net.www.http.HttpClient.New(HttpClient.java:316)at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:817)at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:769)at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:694)at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:861)at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:107)... 2 more begin pro_gtranslate; end; ORA-29532: Java call terminated by uncaught Java exception: java.lang.Exception: [google-api-translate-java] Error retrieving translation.ORA-06512: at "GTRANSLATE.PRO_GTRANSLATE", line 1ORA-06512: at line 2--PL/SQLDECLARE  v_text varchar2(1000) := '专案系统的中文信息 %S 自动批次翻译成英文已完成啦!';  req    utl_http.req;  resp   utl_http.resp;  value  VARCHAR2(1000);  obj    json;BEGIN  v_text := pkg_translate.utf8encode@gtranslate(v_text);  req    := utl_http.begin_request('http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=' ||                                   v_text || '&langpair=zh|en');  resp   := utl_http.get_response(req);  LOOP    utl_http.read_line(resp, value, TRUE);    obj   := json(value);    value := json_ext.get_string(obj, 'responseData.translatedText');    value := replace(value, '% S', '%S');    dbms_output.put_line(value);  END LOOP;  utl_http.end_response(resp);EXCEPTION  WHEN utl_http.end_of_body THEN    utl_http.end_response(resp);END;

热点排行