go 威尼斯人棋牌语言 使用百度翻译api

import (
    "encoding/json"
     "io/ioutil"
     "log"
     "nettp"
 )

 /*
    from字段 to字段  翻译方向
    auto     auto    自动识别
    zh       en      中 -> 英
    zh       jp      中 -> 日
     en       zh      英 -> 中
    jp       zh      日 -> 中
 */

func translate(from, to, q []string) []string {
     ERROR_CODE := "error_code"
     ERROR_MSG := "error_msg"
     TRANS_RESULT := "trans_result"
     qq := ""
     for _, v := range q {
         qq  = v   "
"
     }
     // log.Println(qq)
    url:="http://fanyi.baidu.com/v2transapi?from=" from "&to=" from "&query=" qq
       // log.Println(url)
     resp, err := http.Get(url)
     if err != nil {
         log.Println("Get the URL ", url, " Error:", err)
     }

     defer resp.Body.Close()
     body, err := ioutil.ReadAll(resp.Body)
     if err != nil {
         log.Println("Read the Response Error:", err)
     }
     j2 := make(map[string]interface{})
     err = json.Unmarshal(body, &j2)
     if err != nil {
         panic(err)
    }
     if j2[ERROR_CODE] != nil {
         log.Println("Error:", j2[ERROR_CODE], "-", j2[ERROR_MSG])
         return nil
     }

    result := j2[TRANS_RESULT].( map[string]interface {})
    rsdata:=result["data"].( []interface {})

    response := make([]string, len(rsdata))
     for i := 0; i < len(rsdata); i   {
         rs := rsdata[i].(map[string]interface{})
         response[i] = rs["dst"].(string)
         // log.Println(rs["src"], rs["dst"])
     }

     return response
 }

 func main() {
     from := "auto"
     to := "auto"
     q1 := []string{"tomorrow", "yesterday", "How Are You", "Tomorrow is another day", "An apple a day, keeps doctors away"}
     a1 := translate(from, to,  q1)
     for _, v := range a1 {
         log.Println(v)
     }

     to = "jp"
     q2 := []string{"白日依山尽", "糗", "囧", "我是一个屌丝程序员", "我爱你", "亚美蝶", "苍井空"}
     a2 := translate(from, to, q2)
     for _, v := range a2 {
         log.Println(v)
     }
 }
//该片段来自于http://outofmemory.cn

本文由威尼斯人棋牌发布于计算机教程,转载请注明出处:go 威尼斯人棋牌语言 使用百度翻译api