伙伴们不用惊讶,标题仅仅是借用余大嘴的专用修饰语“遥遥领先于同行”而已,但讲DeepL翻译器遥遥领先于同行也不为过,下图是官方给出的采用盲测的方式与其他同类产品的对比图,这应该不是吹牛X:
如此优秀的翻译神器,怎能有不用MATLAB白嫖一下的道理呢?
动手吧!
令人遗憾的是DeepL在亚洲仅开放了日本和新加坡这两个国家的用户可公开调用其API,而咱们即便是付费也够不着,当然大厂除外了。不过话说条条道路通罗马,此路不通就另辟蹊径呗。
怎么另辟蹊径法呢?这里咱们需要用到一款名叫RapidAPI平台,通过它咱们可以轻松地实现对DeepL API的调用,下面就一起来看看整个注册和调用流程吧!
首先,在浏览器中网址:rapidapi.com,点击sign in登录,选择使用GitHub账号登录即可。如果没有GitHub账号,就选择sign up使用邮箱注册一个账号登录即可。
登录之后,点击菜单栏上API Hub,如果没有此选项直接在浏览器中输入:rapidapi.com/hub,亦可,并在Search for APIs的查询栏里输入deepl,选择第一个候选项即可,如下图:
点击进入DeepL Translator设置页面,如下:
选则basic即可,此处部署需要准备一张可用的VISA卡,且卡中余额不等少于0.5美元,因为rapidapi会先扣除0.5美元以测试信用卡是否可用,7天后若没有用光免费限额,将退还扣除的0.5美元。
然后点击Endpoints找到对应编程语言选择相应的示例代码即可测试,相应的X-RapidAPI-Key会直接显示在示例代码中,调用时直接用此Key即可。但遗憾的是并没matlab的示例代码,因此咱才计划自己写一个,源代码如下:
%% Web Access using Data Import and Export API
apiKey = ''; % 此处为你自己的APIkey
payload.text = 'This is a example text for translation.'; % 待翻译内容
payload.source = 'EN'; % text所对应的语言简写,当前为英文
payload.target = 'ZH'; % 待翻译成的语言简写,当前为中文
%% 以下内容无需做过多修改
url = 'https://deepl-translator.p.rapidapi.com/translate';
apiHost = 'deepl-translator.p.rapidapi.com';
options = weboptions('RequestMethod','post',...
'ContentType','json',...
'HeaderFields',{'content-type','application/json';...
'X-RapidAPI-Host',apiHost;...
'X-RapidAPI-Key',apiKey});
try
outputs = webwrite(url,payload,options);
if isfield(outputs,'error')
outputs = [];
else
disp('翻译结果如下:');
disp(outputs.text);
len = size(outputs.alternative_texts,1);
if ~isequal(len,0)
disp('其他备选翻译结果如下:');
for k = 1:len
disp(outputs.alternative_texts{k,1});
end
end
end
catch
outputs = [];
end
执行效果图如下:
今天的分享就到此结束,后续再整个用AppDesigner开发的GUI版。
祝伙伴们生活、工作愉快,有缘再见!!!
参考资料:
[1] www.deepl.com
[2] rapidapi.com/splintPRO/api/deepl-translator