iOS开发 使用有道翻译API实现翻译功能

2025-11-21 05:41:05

1、搜索“有道翻译API”,或者打开网址找到官方网站。

iOS开发 使用有道翻译API实现翻译功能

2、注册开发者,填写注册资料。操作简单、速度也快。

iOS开发 使用有道翻译API实现翻译功能

iOS开发 使用有道翻译API实现翻译功能

3、iOS开发使用有道翻译API需要用到注册返回的两个关键字段:keyfrom和key。这两个字段要记住,需要用在代码中。参考有道翻译API文档,了解数据接口。

http://fanyi.youdao.com/openapi.do?keyfrom=<keyfrom>&key=<key>&type=data&doctype=<doctype>&version=1.1&q=要翻译的文本

iOS开发 使用有道翻译API实现翻译功能

4、创建工程项目和视图控制器

      创建一个single view工程项目,自动创建一个ViewController试图控制器。

iOS开发 使用有道翻译API实现翻译功能

5、配置宏定义keyfrom和key

#define YOUDAO_keyfrom          @""

#define YOUDAO_key                  @""

iOS开发 使用有道翻译API实现翻译功能

6、用OC实现传入所需要翻译的词,获取翻译结果。

//翻译方法,传入和返回都是NSString类型

- (NSString *)translateText:(NSString *)string{

    

    NSString *strURL = [NSString stringWithFormat:@"http://fanyi.youdao.com/openapi.do?keyfrom=%@&key=%@&type=data&doctype=json&version=1.1&q=%@",YOUDAO_keyfrom,YOUDAO_key,[string stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]];

    

    NSError *err = nil;

    NSArray *strResult;

    if(strURL!=nil) {

        NSURL *url = [NSURL URLWithString:strURL];

        NSData *data = [NSData dataWithContentsOfURL:url];

        NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&err];

        strResult = [dictionary objectForKey:@"translation"];

    }

    if(err){

        return [NSString stringWithFormat:@"error=%@", [err description]];

    }else {

        return [NSString stringWithFormat:@"%@", strResult[0]];

    }

}

iOS开发 使用有道翻译API实现翻译功能

1、iOS9、Xcode7要使用https,但是现在很多网络请求是使用http的,所以要暂时禁用ATS。方法很简单,其实只要修改Info.plist文件就可以了。下面两种方法操作的结果是一样的。

2、方法一:

Info.plist显示XML格式,Info.plist右键 -> Open As -> Source Code,添加下面代码:

<key>NSAppTransportSecurity</key>

<dict>

    <key>NSAllowsArbitraryLoads</key>

    <true/>

</dict>

iOS开发 使用有道翻译API实现翻译功能

3、方法二:

Info.plist文件,右键 ->Add Row,命名为:NSAppTransportSecurity,选择Dicdictionary格式。为它添加+item,命名为:NSAllowsArbitraryLoads,选择Boolean布尔类型,值设为YES。效果如图:

iOS开发 使用有道翻译API实现翻译功能

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢