transalete tool

原创
2014/02/28 17:12
阅读数 208
(defun translate (word &key (en-to-cn t))
  "translate english and chinese only.
  please load drakma and cj-json first"
  (let* ((sl (if en-to-cn "en" "zh-CN"))
         (tl (if en-to-cn "zh-CN" "en"))
         (str (drakma:http-request "http://translate.google.cn/translate_a/t"
               :method :get
               :external-format-in :utf-8 
               :external-format-out :utf-8
               ;;params comes from browser's request information
               :parameters `(("client" . "t")
                             ("sl" . ,sl)
                             ("tl" . ,tl)
                             ("hl" . "zh-CN")
                             ("sc" . "2")
                             ("ie" . "UTF-8")
                             ("oe" . "UTF-8")
                             ("oc" . "1")
                             ("otf" . "1")
                             ("ssel" . "0")
                             ("tsel" . "0")
                             ("q" . ,word))))) 
    (do ((n 0 (1+ n))) 
      ((= n (length str))) 
      (progn 
        (and (char= (char str n) #\,)
             (or 
               (char= (char str (1- n)) #\,)
               (char= (char str (1- n)) #\space)
               (char= (char str (1- n)) #\[))
             (setf (char str n) #\space))))
    (json:decode-json-from-string str)))


展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
在线直播报名
返回顶部
顶部