(1) 概念解释
文本翻译:将一段源语言文本转换成目标语言文本,可根据语言参数的不同实现多国语音之间的互译
(2) 说明
Hi,您好,欢迎使用有道智云翻译iOS SDK。
如果您想快速体验服务,建议您前往 翻译体验中心 或者在体验中心右下侧找到小程序二维码,扫描进行体验。
本文档主要针对需要集成翻译服务iOS SDK的开发工程师,详细描述有道智云翻译服务能力及集成过程。
如果您有与我们商务合作的需求,可以通过以下方式联系我们:
商务邮箱: AIcloud_Business@corp.youdao.com
如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
客服QQ:1906538062
智云翻译技术交流QQ 1群: 652880659
智云翻译技术交流QQ 2群: 669384425
智云翻译技术交流QQ 3群: 807539209
智云翻译技术交流QQ 4群: 936752411
联系邮箱: zhiyun@corp.youdao.com
温馨提示:
本文档主要针对开发人员,接入测试前需要在后台创建iOS应用,并绑定翻译实例;如果您还没有,请按照新手指南 操作。
平台向每个账户赠送50元的体验金,供用户集成前测试所用,具体资费规则详见 文本翻译服务报价 。
有道翻译SDK是有道开放平台提供的云服务之一,是有道在线翻译接口的一种实现,同时,支持离线中英查词。有道翻译SDK支持中文和目标文字(日文、英文、韩文、法文、俄文、葡萄牙文、西班牙文、越南文、中文繁体、德文、阿拉伯文和印尼文)之间的互译。
支持设备:运行了iOS 8.0及以上系统的 iOS 设备
开始集成SDK之前开发者需要登录 有道智云平台 ,创建应用获取应用ID(或者通过运营人员获取应用ID),以便使用翻译服务。
翻译SDK由如下几个SDK组成,用户可根据需要组合使用:
文件 | 说明 |
---|---|
FanYiSDK.h | 头文件(必选) |
libbase.a | 翻译相关SDK基础库(必选) |
libhanyucidianoffline.a | 汉语词典翻译SDK(可选,使用汉语词典功能时使用) |
libonline.a | 在线翻译SDK(可选,包含英汉互译,以及小语种翻译,在线查询) |
libwordoffline.a | 离线查词SDK(可选,中英单词的离线查询) |
libsencentenceoffline.a | 离线句子SDK(可选,中英句子的离线查询) |
libSpeechRecognition.a | 短语音识别SDK(可选,15秒短语音识别功能) |
libspeechtransonline.a | 语音翻译SDK(可选,语音翻译功能) |
libocrtrans.a | 图片翻译SDK(可选,图片翻译功能) |
libStreamASR.a | 流式语音识别SDK(可选,流式语音识别功能) |
libSpeechEvaluation.a | 在线语音评测SDK(可选,在线语音评测功能) |
fanyidemo | SDK使用demo |
StaticResource | StaticResource文件夹下的文件用于离线查词和汉语词典翻译,如果不使用离线功能,不需要StaticResource文件。 |
文件目录如下图所示:
说明:无论使用何种功能,都需要加入 FanYiSDK.h
和 libbase.a
,和相应功能的SDK,各SDK可组合使用。
(1) 添加头文件和库文件:将 translateSDK 添加到工程中,包括 FanYiSDK.h 头文件、libbase.a文件和要导入功能对应的SDK包。可以直接将 translateSDK 文件夹拖动到工程中,也可以选择File “Add files to ‘Project Name’…”
(2) 设置工程 Other Linker Flags 为 -ObjC
(3) 若使用离线功能,修改工程中任意一个类后缀名为 .mm
,参见 demo 中 ViewController.mm,Xcode 10.0之前的版本需要添加libstc++.6.0.9.tbd,Xcode 10.0及以上版本需要设置C++ Standard Library为libc++;若未使用离线功能可跳过此步骤;
(4) 在工程build Phases – Link Binary With Libraries中添加libFanYiSDK.a, AdSupport.framework, CoreTelephony.framework,WebKit.framework, SystemConfiguration, libz.tbd和libsqlite3.tbd。如下:
说明:所有的查询都需要初始化appKey(应用ID),只执行初始化一次即可。
注:appKey即应用ID
//初始化appKey(应用ID)
YDTranslateInstance *yd = [YDTranslateInstance sharedInstance];
yd.appKey = @"your appkey";
说明:请参考 demo 中 HanyucidianViewController 的使用
(1) 使用的库文件:头文件、libbase.a、libhanyucidianoffline.a,以及离线词库文件hh,离线词库可以下载或者放入工程中,开发者根据需求自行决定:若下载则需要提供下载url,先下载再初始化;若放入工程中则可提词库路径直接初始化。
(2) 构造查询器
offlinetranslate = [YDHanyucidianOfflineTranslate request];
(3) 初始化离线词库
-(void)offLineInit {
// 执行此初始化方法之后,确保hh文件在指定路径中存在(hh文件可压缩成zip文件后供用户下载,客户端使用之前解压即可)
if([offlinetranslate initOfflineWithPath:[XUtil getDownloadPath]]){
[HUDUtil show:self.view text:@"离线查词初始化成功"];
}else{
[HUDUtil show:self.view text:@"离线查词初始化失败"];
}
}
注意: initOffline
方法是 YDHanyucidianOfflineTranslate
的实例方法,当 YDHanyucidianOfflineTranslate
被重新初始化之后,若想使用离线查词,必须调用 initOffline
方法。
(4) 执行查词过程。
查询,返回两种情况,一种是成功,相关结果存储在 response
参数中,另外一种是失败,失败信息放在error
中,可根据 错误代码 进行查询。整个查询是异步的,查询结果存在数组中。
[offlinetranslate lookup:textField.text WithCompletionHandler:^(YDHanyucidianOfflineTranslate *request, NSArray *transltes, NSError *error) {
if (error) {
NSString *des = [error.userInfo objectForKey:NSLocalizedDescriptionKey];
NSLog(@"================> %ld%@", (long)error.code,des);
}
[self showTrans:transltes];
}];
说明:请参考demo中TranslatesViewController的使用
(1) 使用的库文件:头文件、libbase.a、libonline.a
(2) 构造查询器
translateRequest = [YDTranslateRequest request];
(3) 设置查词所需要的附加信息
YDTranslateParameters *parameters = [YDTranslateParameters targeting];
parameters.source = @"youdaosw";
parameters.from = YDLanguageTypeChinese;
parameters.to = YDLanguageTypeEnglish;
translateRequest.translateParameters = parameters;
(4) 执行查词过程
查询,返回两种情况,一种是成功,相关结果存储在 response
参数中,另外一种是失败,失败信息放在error
中,可根据 错误代码 进行查询。整个查询是异步的。
[translateRequest lookup:[_translate objectForKey:@"content"] WithCompletionHandler:^(YDTranslateRequest *request, YDTranslate *response, NSError *error) {
if (error) {
//查询失败
} else {
//查询成功
}
}];
说明:请参考 demo 中 OfflineTranslatesViewController 的使用, StaticResource 中文件夹中包含离线查词的库。
(1) 使用的库文件:头文件、libbase.a、libwordoffline.a、以及离线词库,离线词库可以下载或者放入工程中,开发者根据需求自行决定:若下载则需要提供下载url,先下载再初始化;若放入工程中则可提词库路径直接初始化。
(2) 构造查询器
offlinetranslate = [YDWordOfflineTranslate request];
(3) 初始化离线词库
离线查词包含2个库,dicta 和 dictb,区别是 dicta 词库包含的词比较多,文件较大,dictb 只包含常见词汇。开发者可根据实际情况,选择一个词库使用即可。下面以 dictb 词库为例,介绍如何使用离线查词功能。
使用离线查询功能, 涉及到4个包,ba160111.ydd,bb160111,dictWithSeg.dat,yddict.dat.其中 dictWithSeg.dat 和 yddict.idx 文件必须导入到工程中,并且已经添加到 Copy bundle Resource 中。如下:
ba160111.ydd 和 bb160111 支持两种路径。开发者可指定词库的位置,也可以打到安装包中,分别调用不同的初始化方法即可。
//可选方式一、指定离线词库(ba160111.ydd和bb160111.ydd文件的)路径。注意,调用前提是该位置下已经包含这两个文件,否则初始化失败。
[offlinetranslate initOfflineWithPath:[XUtil getDownloadPath]];//布尔型返回值,代表初始化成功或者失败
//可选方式二、离线词库在安装包中(需要将这2个文件导入到工程中,确保Copy bundle Resource中能找到这2个文件)
[offlinetranslate initOffline]; //布尔型返回值,代表初始化成功或者失败
注意:initOffline方法是YDWordOfflineTranslate的实例方法,当YDWordOfflineTranslate被重新初始化之后,若想使用离线查词,必须调用initOffline方法。
(4) 执行查词过程
查询,返回两种情况,一种是成功,相关结果存储在 response
参数中,另外一种是失败,失败信息放在error
中,可根据 错误代码 进行查询。整个查询是异步的。
[offlinetranslate lookup:[_translate objectForKey:@"content"] WithCompletionHandler:^(YDWordOfflineTranslate *request, YDTranslate *translte, NSError *error) {
if (error) {
//查询失败
} else {
//查询成功
}
}];
说明:请参考 demo 中 SentenceOfflineTranslateViewController 的使用
(1) 使用的库文件:头文件、libbase.a、libsencentenceoffline.a,以及离线词库文件ce.zip,离线词库可以下载或者放入工程中,开发者根据需求自行决定:若下载则需要提供下载url,先下载再初始化;若放入工程中则可提词库路径直接初始化。
(2) 构造查询器
offlinetranslate = [YDSentenceOfflineTranslate request];
(3) 初始化离线词库
-(void)offLineInit{
//初始化之前先下载离线词库文件ce.zip(参见demo),每次查询均要先初始化离线翻译句子词库
if([offlinetranslate initOfflineSenWithPath:[XUtil getDownloadPath]]){
[HUDUtil show:self.view text:@"离线句子初始化成功"];
}else{
[HUDUtil show:self.view text:@"离线句子初始化失败"];
}
}
注意: offLineInit
方法是 YDSentenceOfflineTranslate
的实例方法,当 YDSentenceOfflineTranslate
被重新初始化之后,若想使用离线查词,必须调用 offLineInit
方法。
(4) 执行查词过程。
查询,返回两种情况,一种是成功,相关结果存储在 response
参数中,另外一种是失败,失败信息放在error
中,可根据 错误代码 进行查询。整个查询是异步的,查询结果存在数组中。
[offlinetranslate lookup:[_translate objectForKey:@"content"] WithCompletionHandler:^(YDSentenceOfflineTranslate *request, YDTranslate *translte, NSError *error) {
if (error) {
//查询失败
} else {
//查询成功
}
}];
说明:请参考 demo 中 DetailWordsViewController 的使用
点击查看更多,将进行deeplink跳转,若安装有道词典,则跳转到有道词典app里并显示所查单词的解释,若未安装有道词典,则跳转到Safari浏览器web界面并显示所查单词的解释;
- (void)toDict{
// //跳转到词典
[_translate.ydTranslate openMore];
}
若在汉语词典界面点击查看更多,也会进行deeplink跳转;
- (void)toDict{
//跳转到词典
if (self.transltes.count) {
YDChDictTranslate *translate = [self.transltes objectAtIndex:0];
[translate openMore];
}
}
说明:请参考 demo 中 SpeechOnlineViewController 的使用
(1) 使用的库文件:头文件、libbase.a、libspeechtransonline.a;
(2) 构造查询器
YDSpeechOnlineRequest *request = [YDSpeechOnlineRequest request];
(3) 设置查词所需要的附加信息
YDSpeechOnlineParam *param = [YDSpeechOnlineParam param];
param.from = @"en";//源语言
param.to = @"zh-CHS";//翻译目标语言
param.rate = @"16000";//采样率
param.channel = @"1";//声道数,目前只支持单声道,请写固定值1
param.voice = @"0"; //女声代码为0,男声代码为1,英语有四种:0 美式女声 1 美式男声 2 英式女声 3 英式男声
request.param = param;
(4) 执行语音翻译过程
查询输入为语音base64编码,返回两种情况,一种是成功,相关结果存储在 info
参数中,另外一种是失败,失败信息放在error
中,可根据 错误代码 进行查询。
[request lookup:base64Str WithCompletionHandler:^(YDSpeechOnlineRequest *request, NSDictionary *info, NSError *error) {
if (error) {
//查询失败
} else {
//查询成功
YDSpeechResult *result = [YDSpeechResult mj_objectWithKeyValues:info];
[self showResult:result];
}
}];
说明:支持最长15秒的短语音在线识别功能,请参考 demo 中 SpeechRecognitionViewController 的使用;
(1) 使用的库文件:头文件、libbase.a、libSpeechRecognition.a;
(2) 构造查询器
YDSpeechRecognitionRequest *request = [YDSpeechRecognitionRequest request];
(3) 设置语音识别所需要的附加信息
YDSpeechRecognitionParam *param = [YDSpeechRecognitionParam param];
param.langType = @"zh-CHS";//源语言
param.rate = @"8000";//采样率
param.channel = @"1";//声道数,目前只支持单声道,请写固定值1
request.param = param;
(4) 执行语音识别过程
查询输入为语音base64编码,返回两种情况,一种是成功,相关结果存储在 info
参数中,另外一种是失败,失败信息放在error
中,可根据 错误代码 进行查询。
[request lookup:base64Str WithCompletionHandler:^(YDSpeechRecognitionRequest *request, NSDictionary *info, NSError *error) {
if (!error) {
YDSpeechRecognitionResult *result = [YDSpeechRecognitionResult initWithDict:info];
[self showResult:result];
}
}];
说明:请参考 demo 中 OCRTransController 的使用
(1) 使用的库文件:头文件、libbase.a、libocrtrans.a;
(2) 构造查询器
YDOCRTransRequest *request = [YDOCRTransRequest request];
(3) 设置查词所需要的附加信息
YDOCRTransParameter *param = [YDOCRTransParameter param];
param.from = @"en"; //设置源语言
param.to = @"zh-CHS"; //设置目标语言
request.param = param;
(4) 执行图片翻译过程
查询输入为图片base64编码,返回两种情况,一种是成功,相关结果存储在 info
参数中,另外一种是失败,失败信息放在error
中,可根据 错误代码 进行查询。
[request lookup:base64Str WithCompletionHandler:^(YDOCRTransRequest *request, NSDictionary *info, NSError *error) {
if (error) {
//查询失败
} else {
//查询成功
YDOCRTransResult *result = [YDOCRTransResult mj_objectWithKeyValues:info];
[self showResult:result];
}
}];
说明:支持实时流式语音识别,目前支持中英文,请参考 demo 中 StreamASRController 的使用
(1) 使用的库文件:头文件、libbase.a、libStreamASR.a;
(2) 构造识别器
YDSpeechRecognizer *recognizer = [YDSpeechRecognizer sharedRecognizer];
recognizer.delegate = self;
(3) 设置识别所需要的附加信息
YDSpeechRecognizerParam *param = [YDSpeechRecognizerParam param];
param.langType = @"zh-CHS";//源语言
param.rate = @"16000";//采样率
param.format = @"wav";//语音文件格式
param.vadBOS = 2000;//前端点静音检测时长,ms
param.vadEOS = 2000;//后端点静音检测时长,ms
recognizer.param = param;
(4) 执行语音识别过程
执行[self.recognizer startListening];
开始流式语音识别,结果将在代理方法中回调给开发者;
#pragma mark - speech recognizer delegate
- (void)onBeginOfSpeech {
[self startSpeakingAnimation];
NSLog(@"------speech start-----");
}
- (void)onEndOfSpeech {
[self endSpekingAnimation];
NSLog(@"------speech end-----");
}
- (void)onResults:(NSDictionary *)result isLast:(BOOL)isLast {
NSString *sentence = result[@"sentence"];
self.recognizedLabel.text = [NSString stringWithFormat:@"%@%@", self.displayingText, sentence];
if (isLast) {
[self.displayingText appendString:sentence];
}
}
- (void)onCompleted:(NSError *)speechError {
[self endSpekingAnimation];
NSLog(@"------speech completed-----");
}
- (void)onConstantlyQuietIsBOS:(BOOL)isBOS {
NSLog(@"检测到%@静音", isBOS ? @"前端点" : @"后端点");
}
说明:支持在线语音评测,目前只支持英语评测,请参考 demo 中 SpeechEvaluationController 的使用
(1) 使用的库文件:头文件、libbase.a、libSpeechEvaluation.a;
(2) 构造识别器
YDSpeechEvaluationRequest *request = [YDSpeechEvaluationRequest request];
(3) 设置识别所需要的附加信息
YDSpeechEvaluationParam *param = [YDSpeechEvaluationParam param];
param.langType = @"en";//目前只支持英语评测
param.rate = @"16000";//采样率
param.channel = @"1";//声道数,目前只支持单声道,请写固定值1
request.param = param;
(4) 执行语音识别过程
查询输入为语音录音文件base64的字符串,返回结果回调在block中,若成功返回则info包含了返回的所有json数据,开发者可自定义model对返回的info数据进行解析;
[request lookup:base64Str text:refText completionHandler:^(YDSpeechEvaluationRequest *request, NSDictionary *info, NSError *error) {
if (!error) {
NSLog(@"%@", info);
YDSpeechEvaluationResult *result = [YDSpeechEvaluationResult mj_objectWithKeyValues:info];
[self showResult:result];
}
}];
(1) 支持语言列表
语言 | 代码 |
---|---|
中文 | zh-CHS |
英文 | en |
日文 | ja |
韩文 | ko |
法文 | fr |
西班牙文 | es |
葡萄牙文 | pt |
意大利文 | it |
俄文 | ru |
越南文 | vi |
德文 | de |
阿拉伯文 | ar |
印尼文 | id |
南非荷兰语 | af |
波斯尼亚语 | bs |
保加利亚语 | bg |
粤语 | yue |
加泰隆语 | ca |
克罗地亚语 | hr |
捷克语 | cs |
丹麦语 | da |
荷兰语 | nl |
爱沙尼亚语 | et |
斐济语 | fj |
芬兰语 | fi |
希腊语 | el |
海地克里奥尔语 | ht |
希伯来语 | he |
印地语 | hi |
白苗语 | mww |
匈牙利语 | hu |
斯瓦希里语 | sw |
克林贡语 | tlh |
拉脱维亚语 | lv |
立陶宛语 | lt |
马来语 | ms |
马耳他语 | mt |
挪威语 | no |
波斯语 | fa |
波兰语 | pl |
克雷塔罗奥托米语 | otq |
罗马尼亚语 | ro |
塞尔维亚语(西里尔文) | sr-Cyrl |
塞尔维亚语(拉丁文) | sr-Latn |
斯洛伐克语 | sk |
斯洛文尼亚语 | sl |
瑞典语 | sv |
塔希提语 | ty |
泰语 | th |
汤加语 | to |
土耳其语 | tr |
乌克兰语 | uk |
乌尔都语 | ur |
威尔士语 | cy |
尤卡坦玛雅语 | yua |
阿尔巴尼亚语 | sq |
阿姆哈拉语 | am |
亚美尼亚语 | hy |
阿塞拜疆语 | az |
孟加拉语 | bn |
巴斯克语 | eu |
白俄罗斯语 | be |
宿务语 | ceb |
科西嘉语 | co |
世界语 | eo |
菲律宾语 | tl |
弗里西语 | fy |
加利西亚语 | gl |
格鲁吉亚语 | ka |
古吉拉特语 | gu |
豪萨语 | ha |
夏威夷语 | haw |
冰岛语 | is |
伊博语 | ig |
爱尔兰语 | ga |
爪哇语 | jw |
卡纳达语 | kn |
哈萨克语 | kk |
高棉语 | km |
库尔德语 | ku |
柯尔克孜语 | ky |
老挝语 | lo |
拉丁语 | la |
卢森堡语 | lb |
马其顿语 | mk |
马尔加什语 | mg |
马拉雅拉姆语 | ml |
毛利语 | mi |
马拉地语 | mr |
蒙古语 | mn |
缅甸语 | my |
尼泊尔语 | ne |
齐切瓦语 | ny |
普什图语 | ps |
旁遮普语 | pa |
萨摩亚语 | sm |
苏格兰盖尔语 | gd |
塞索托语 | st |
修纳语 | sn |
信德语 | sd |
僧伽罗语 | si |
索马里语 | so |
巽他语 | su |
塔吉克语 | tg |
泰米尔语 | ta |
泰卢固语 | te |
乌兹别克语 | uz |
南非科萨语 | xh |
意第绪语 | yi |
约鲁巴语 | yo |
南非祖鲁语 | zu |
自动识别 | auto |
其中auto可以识别中文、英文、日文、韩文、法文、西班牙文、葡萄牙文、俄文、越南文、德文、阿拉伯文、印尼文、意大利文,其他语种无法识别,为提高准确率,请指定语种。其中粤语作为from时,某些小语种不能翻译。
错误码 | 含义 |
---|---|
101 | 缺少必填的参数 |
102 | 不支持的语言类型 |
103 | 翻译文本过长 |
104 | 不支持的API类型 |
105 | 不支持的签名类型 |
106 | 不支持的响应类型 |
107 | 不支持的传输加密类型 |
108 | 应用ID无效,注册账号,登录后台创建应用和实例并完成绑定,可获得应用ID和应用密钥等信息 |
109 | batchLog格式不正确 |
110 | 无相关服务的有效实例 |
111 | 开发者账号无效 |
113 | q不能为空 |
114 | 不支持的图片传输方式 |
201 | 解密失败,可能为DES,BASE64,URLDecode的错误 |
202 | 签名检验失败 |
203 | 访问IP地址不在可访问IP列表 |
205 | 请求的接口与应用的平台类型不一致,如有疑问请参考入门指南 |
206 | 因为时间戳无效导致签名校验失败 |
207 | 重放请求 |
301 | 辞典查询失败 |
302 | 翻译查询失败 |
303 | 服务端的其它异常 |
304 | 会话闲置太久超时 |
401 | 账户已经欠费停 |
402 | offlinesdk不可用 |
411 | 访问频率受限,请稍后访问 |
412 | 长请求过于频繁,请稍后访问 |
1001 | 无效的OCR类型 |
1002 | 不支持的OCR image类型 |
1003 | 不支持的OCR Language类型 |
1004 | 识别图片过大 |
1201 | 图片base64解密失败 |
1301 | OCR段落识别失败 |
1411 | 访问频率受限 |
1412 | 超过最大识别字节数 |
2003 | 不支持的语音声道 |
2004 | 不支持的语音上传类型 |
2005 | 不支持的语言类型 |
2006 | 不支持的识别类型 |
2201 | 识别音频文件过大 |
2301 | 识别音频时长过长 |
2411 | 不支持的音频文件类型 |
2412 | 不支持的发音类型 |
3001 | 不支持的语音格式 |
3002 | 不支持的语音采样率 |
3003 | 不支持的语音声道 |
3004 | 不支持的语音上传类型 |
3005 | 不支持的语言类型 |
3006 | 不支持的识别类型 |
3007 | 识别音频文件过大 |
3008 | 识别音频时长过长 |
3009 | 不支持的音频文件类型 |
3010 | 不支持的发音类型 |
3201 | 解密失败 |
3301 | 语音识别失败 |
3302 | 语音翻译失败 |
3303 | 服务的异常 |
3411 | 访问频率受限,请稍后访问 |
3412 | 超过最大请求字符数 |
4001 | 不支持的语音识别格式 |
4002 | 不支持的语音识别采样率 |
4003 | 不支持的语音识别声道 |
4004 | 不支持的语音上传类型 |
4005 | 不支持的语言类型 |
4006 | 识别音频文件过大 |
4007 | 识别音频时长过长 |
4201 | 解密失败 |
4301 | 语音识别失败 |
4303 | 服务的异常 |
4411 | 访问频率受限,请稍后访问 |
4412 | 超过最大请求时长 |
5001 | 无效的OCR类型 |
5002 | 不支持的OCR image类型 |
5003 | 不支持的语言类型 |
5004 | 识别图片过大 |
5005 | 不支持的图片类型 |
5006 | 文件为空 |
5201 | 解密错误,图片base64解密失败 |
5301 | OCR段落识别失败 |
5411 | 访问频率受限 |
5412 | 超过最大识别流量 |
9001 | 不支持的语音格式 |
9002 | 不支持的语音采样率 |
9003 | 不支持的语音声道 |
9004 | 不支持的语音上传类型 |
9005 | 不支持的语音识别 Language类型 |
9301 | ASR识别失败 |
9303 | 服务器内部错误 |
9411 | 访问频率受限(超过最大调用次数) |
9412 | 超过最大处理语音长度 |
10001 | 无效的OCR类型 |
10002 | 不支持的OCR image类型 |
10004 | 识别图片过大 |
10201 | 图片base64解密失败 |
10301 | OCR段落识别失败 |
10411 | 访问频率受限 |
10412 | 超过最大识别流量 |
11001 | 不支持的语音识别格式 |
11002 | 不支持的语音识别采样率 |
11003 | 不支持的语音识别声道 |
11004 | 不支持的语音上传类型 |
11005 | 不支持的语言类型 |
11006 | 识别音频文件过大 |
11007 | 识别音频时长过长,最大支持30s |
11201 | 解密失败 |
11301 | 语音识别失败 |
11303 | 服务的异常 |
11411 | 访问频率受限,请稍后访问 |
11412 | 超过最大请求时长 |
12001 | 图片尺寸过大 |
12002 | 图片base64解密失败 |
12003 | 引擎服务器返回错误 |
12004 | 图片为空 |
12005 | 不支持的识别图片类型 |
12006 | 图片无匹配结果 |
13001 | 不支持的角度类型 |
13002 | 不支持的文件类型 |
13003 | 表格识别图片过大 |
13004 | 文件为空 |
13301 | 表格识别失败 |
15001 | 需要图片 |
15002 | 图片过大(1M) |
15003 | 服务调用失败 |
17001 | 需要图片 |
17002 | 图片过大(1M) |
17003 | 识别类型未找到 |
17004 | 不支持的识别类型 |
17005 | 服务调用失败 |
-1000 | 未知错误 |
-2000 | 查询输入为空 |
1.翻译没结果?
检查下翻译接口回调的错误信息,保证申请的应用ID是有效且提前绑定了。
2.离线查询无效?
确保离线库正确放置,离线初始化成功。
3.添加翻译 SDK 之后审核没有通过?
翻译 SDK 使用了 AdSupport 框架获取设备 IDFA 信息用以统计计费,提交审核时对应用是否有广告选项请选择“是”。
上线日期 | 版本号 | 更新内容 |
---|---|---|
2017.05.08 | v1.0.0 | 有道智云翻译 iOS SDK上线,支持在线离线翻译 |
2017.06.07 | v1.1.0 | 1. 拆分翻译 SDK,SDK 拆分为多个文件,用户可根据需要引用 2. 修复已知 bug |
2017.06.30 | v1.2.0 | 修复已知 bug |
2017.07.24 | v1.3.0 | 修复 deeplink 相关 bug |
2017.08.16 | v1.4.0 | 修复已知 bug |
2018.02.09 | v1.5.0 | 支持在线语音翻译功能 |
2018.04.10 | v1.6.0 | 在线文本翻译增加越南文 |
2018.05.15 | v1.7.0 | 增加图片翻译功能 |
2018.10.10 | v1.8.0 | 在线文本翻译增加德文,阿拉伯文和印尼文 |
2018.11.02 | v1.9.0 | 增加流式语音识别,支持中英文 |
2018.11.16 | v1.10.0 | 增加语音评测,支持英文 |