程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 微信公眾平台開發(六) 翻譯功能開發

微信公眾平台開發(六) 翻譯功能開發

編輯:關於PHP編程

上一篇文章介紹了微信公眾平台天氣預報功能的開發,實現了微信公眾平台的第一個實際應用,在接下來的這一篇文章中,我們將對微信翻譯功能進行簡單開發,以供讀者參考。

二、思路分析

和上一篇查詢天氣的思路差不多,首先要對用戶發送過來的消息進行判斷,判斷消息裡是否含有“翻譯”關鍵字,如果含有,則提取待翻譯內容,然後調用網絡上開放的翻譯API 進行相關翻譯。

網絡上有很多翻譯API,大家可以根據自己的需求進行選擇。這裡我們選擇應用比較廣泛的,翻譯功能還比較不錯的有道翻譯API 和百度翻譯API,下面對這兩種API的相關信息進行分析。

3.1 有道翻譯API

3.1.1 API 地址:http://fanyi.youdao.com/openapi

注意:有道提供的API 接口,在下面的測試時,json 數據格式返回不正確,到網上查閱資料,可以正確翻譯的地址為 http://fanyi.youdao.com/fanyiapi,這點注意。

3.1.2 申請key

按照要求填寫相關信息,這些信息,下面會使用到,所以請認真如實填寫。

申請完之後,會在下方生成API key 和keyfrom,使用API 時會用到。

3.1.3 API 使用范例

3.1.4 數據格式

a. xml 格式

http://fanyi.youdao.com/openapi.do?keyfrom=orchid&key=1008797533&type=data&doctype=&version=1.1&q=這裡是有道翻譯API


    0
    
    
    
        
    

http://fanyi.youdao.com/openapi.do?keyfrom=orchid&key=1008797533&type=data&doctype=&version=1.1&q=翻譯



3.2 百度翻譯API

3.2.1 API 地址:http://openapi.baidu.com/public/2.0/bmt/translate

3.2.2 獲取api key

開發者在百度連接平台上注冊得到的授權API key,詳細請參閱:http://developer.baidu.com/wiki/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5/%E7%BD%91%E7%AB%99%E6%8E%A5%E5%85%A5/%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97

3.2.3 API 使用范例

百度翻譯API 響應的數據格式為UTF-8編碼的PHP數組對應的標准JSON字符串。



trans_result 為一個數組,其中每一個{}就是一個段落,結構如下所示:



段落結果即為trans_result 數組中的一項:



段落結果說明:

經json_decode 後的形式:



翻譯消息的格式是 “翻譯+待翻譯內容”,所以首先截取前兩個字,判斷是否為 “翻譯” 關鍵字。

使用php函數 mb_substr() 截取,關於該函數的用法上一篇已經講過,這裡不再贅述。

從消息的開頭開始截取,截取兩個字符,然後加以判斷是否為 “翻譯” 關鍵字。

判斷是否只輸入“翻譯”兩字,這樣輸入,沒有待翻譯內容,則輸入的消息也不正確。

接下來進行待翻譯內容提取:

從消息的開頭第3個字符開始截取,截取202個字符,截取出來的即為待翻譯內容。

接著調用函數進行翻譯。

 = ->youdaoDic(
 = ->baiduDic();

5.1 有道翻譯API

數據接口:

http://fanyi.youdao.com/openapi.do?keyfrom===data==1.1=要翻譯的文本

5.1.1 xml 格式

關鍵代碼如下:

  youdaoDic( = "orchid";    
         = "YourApiKey";  
         = 'http://fanyi.youdao.com/fanyiapi.do?keyfrom='..'&key='..'&type=data&doctype=xml&version=1.1&q='. = ( = -> = ->translation->( == 0  "無法進行有效的翻譯"}

說明:

5.1.2 json 格式

關鍵代碼如下:

      youdaoDic( = "orchid";    
         = "YourApiKey";  
         = 'http://fanyi.youdao.com/fanyiapi.do?keyfrom='..'&key='..'&type=data&doctype=json&version=1.1&q='. = ( = json_decode(, = ['errorCode' = ''(( ( 0:
                     = ['translation']['0' 20:
                     = '要翻譯的文本過長' 30:
                     = '無法進行有效的翻譯' 40:
                     = '不支持的語言類型' 50:
                     = '無效的key':
                     = '出現異常' 

說明:

5.2 百度翻譯API

百度翻譯API提供UTF-8編碼的PHP數組對應的標准JSON字符串,而且提供了 中->英,中->日,英->中,日->中 四種互譯,比有道翻譯多了一種。

關鍵代碼如下:

    
      baiduDic(,="auto",="auto"
        =(
        =""
         = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=".."&q=".."&from=".."&to=".=json_decode(->language_text( = -> [0]->
      language_text((!('file_get_contents' = (
             = = 5
            curl_setopt (, CURLOPT_URL, 
            curl_setopt (, CURLOPT_RETURNTRANSFER, 1
            curl_setopt (, CURLOPT_CONNECTTIMEOUT, 
             = curl_exec(
            curl_close( 

說明:

baiduDic() 函數:

language_text() 函數:

有道翻譯-xml 格式:

有道翻譯-json 格式:

百度翻譯:

注意:該翻譯功能放在SAE上能夠正常運行,但在BAE上運行不成功,各位有興趣自行測試一下。

請到QQ群213260412共享裡下載使用。

請關注 卓錦蘇州 微信公眾帳號,卓錦蘇州 基於SAE 平台開發,針對於主流的微信功能進行開發測試。

您可以關注 卓錦蘇州 公眾帳號進行功能測試,以及獲取新的應用開發。

1. 登錄微信客戶端,朋友們 -> 添加朋友 -> 搜號碼 -> zhuojinsz,查找並關注。

2. 掃描二維碼:

卓錦蘇州功能列表。

 


We Believe, Great People Share Knowledge...

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved