本文僅提供封裝後的IDL介面,不提供IDL原始碼。
呼叫IDL介面時,需要輸入開發者資訊(APP ID、金鑰),因為每個賬號每個月都有免費額度,所以不能公開我的資訊。大家可以到百度翻譯API官網申請自己的賬號:https://api.fanyi.baidu.com/
封裝後的IDL介面提供2個函式,功能分別為文字翻譯和語種識別。其中,文字翻譯包含通用文字翻譯和領域翻譯。如果希望呼叫功能,需要申請開通對應的服務(https://api.fanyi.baidu.com/choose)。如下圖為我個人賬號開通的服務。
下載介面
下載baidu_fanyi.sav檔案,連結:https://pan.baidu.com/s/1HMXE2phC2H8lKHIgfQWN4w?pwd=envi
文字翻譯
介面說明
包含通用文字翻譯和領域翻譯。
語法格式
result = baidu_fanyi(input, output [, from=string], to=string, appid=string, key=string [, domain=string] [, timeout=value] [, /gb2312])
返回值
-
- result:返回0或1。0表示翻譯失敗,1表示翻譯成功。
引數
-
- input:輸入文字(字串),支援輸入陣列。
- output:輸出翻譯結果(如果翻譯失敗,則輸出錯誤訊息)
關鍵字
關鍵字 |
資料型別 |
是否必填 |
說明 |
備註 |
from |
字串 |
否 |
源語言。預設為auto,即自動檢測 |
見下圖“常見語種列表” |
to |
字串 |
是 |
翻譯目標語言 |
|
appid |
字串 |
是 |
APPID。需在官網申請開發者賬號 |
可在官網“管理控制檯”檢視 |
key |
字串 |
是 |
金鑰。需在官網申請開發者賬號 |
|
domain |
字串 |
否 |
領域翻譯。若不輸入,則進行通用文字翻譯 |
見下圖“domain領域支援範圍” |
timeout |
整型值 |
否 |
超時時間。單位秒,預設為10 |
|
gb2312 |
布林型 |
否 |
返回編碼為GB2312的翻譯結果。僅支援Windows系統 |
預設為UTF-8 |
圖:常見語種列表(用於設定from和to關鍵字)
圖:domain領域支援範圍(用於設定domain關鍵字)
呼叫示例
將下載的baidu_fanyi.sav檔案存放在英文路徑中,比如C:\temp。
通用文字翻譯(英譯中)
;匯入介面 IDL> restore, 'C:\temp\baidu_fanyi.sav'
;通用文字翻譯(英譯中) IDL> result = baidu_fanyi(['hello','world'], output, to='zh', appid='輸入自己的APPID', key='輸入自己的金鑰')
;列印翻譯結果 IDL> print, result 1 IDL> print, output, /implied_print 你好 世界 |
通用文字翻譯(中譯英)
;匯入介面 IDL> restore, 'C:\temp\baidu_fanyi.sav'
;待翻譯文字 IDL> input = ['7月哈爾濱站培訓班正在報名中,', '歡迎大家來參加。']
;通用文字翻譯(中譯英) IDL> result = baidu_fanyi(input, output, to='en', appid='輸入自己的APPID', key='輸入自己的金鑰')
;列印翻譯結果 IDL> print, result 1 IDL> print, output, /implied_print The training class for Harbin Station in July is currently being registered, Welcome everyone to participate. |
領域翻譯(英譯中,設定domain關鍵字)
;匯入介面 IDL> restore, 'C:\temp\baidu_fanyi.sav'
;待翻譯文字 IDL> input = ['ENVI Deep Learning is a separate add-on module for ENVI.', 'Its purpose is to train deep learning models using TensorFlow to identify features in an image based on their spatial and spectral properties.']
;領域翻譯(英譯中,domain=it表示資訊科技領域) IDL> result = baidu_fanyi(input, output, to='zh', appid='輸入自己的APPID', key='輸入自己的金鑰', domain='it')
;列印翻譯結果 IDL> print, result 1 IDL> print, output, /implied_print ENVI深度學習是ENVI的一個單獨的附加模組。 其目的是使用TensorFlow訓練深度學習模型,以基於影像的空間和光譜特性來識別影像中的特徵。 |
語種識別
介面說明
語法格式
result = baidu_language(input, output, appid=string, key=string [, timeout=value])
返回值
-
- result:返回0或1。0表示識別失敗,1表示識別成功。
引數
-
- input:輸入文字(字串),支援輸入陣列。
- output:輸出識別結果(如果識別失敗,則輸出錯誤訊息)。
關鍵字
關鍵字 |
資料型別 |
是否必填 |
說明 |
備註 |
appid |
字串 |
是 |
APPID。需在官網申請開發者賬號 |
可在官網“管理控制檯”檢視 |
key |
字串 |
是 |
金鑰。需在官網申請開發者賬號 |
|
timeout |
整型值 |
否 |
超時時間。單位秒,預設為10 |
|
呼叫示例
將下載的baidu_fanyi.sav檔案存放在英文路徑中,比如C:\temp。
語種識別
;匯入介面 IDL> restore, 'C:\temp\baidu_fanyi.sav'
;語種識別(識別英語) IDL> result = baidu_language(['hello','world'], output, appid='輸入自己的APPID', key='輸入自己的金鑰')
;列印識別結果 IDL> print, result 1 IDL> print, output en |