用Objective-C进行谷歌翻译
我看过一些使用谷歌翻译网页的帖子用Objective-C进行谷歌翻译,objective-c,cocoa-touch,google-translate,Objective C,Cocoa Touch,Google Translate,我看过一些使用谷歌翻译网页的帖子 NSString* englishString = [englishInputArray objectAtIndex:i]; NSString *urlPath = [NSString stringWithFormat:@"/translate_a/t?client=t&text=%@&langpair=en|fr",englishString]; NSURL *url = [[NSURL alloc] initWithSc
NSString* englishString = [englishInputArray objectAtIndex:i];
NSString *urlPath = [NSString stringWithFormat:@"/translate_a/t?client=t&text=%@&langpair=en|fr",englishString];
NSURL *url = [[NSURL alloc] initWithScheme:@"http" host:@"translate.google.com" path:urlPath];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
[request setURL:url];
[request setHTTPMethod:@"GET"];
NSURLResponse *response;
NSError *error;
NSData *data;
data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *result = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSLog(@"Text: %@",result);
我有两个问题:
1) 从web页面返回的json如下所示
[[["Bonjour","Hello","",""]],[["interjection",["bonjour","salut","all\u00f4","tiens"]]],"en",,[["Bonjour",[5],1,0,1000,0,1,0]],[["Hello",4,,,""],["Hello",5,[["Bonjour",1000,1,0]],[[0,5]],"Hello"]],,,[],1]
除了进行字符串操作外,还有一种方法可以单独获得准确的翻译字符串,即单独使用“Bonjour”
2:有人知道这是不是免费服务吗?谷歌API似乎是一种付费服务。但若你们使用网页,那个是一项免费服务
GET https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&q=Hello%20world
应返回以下响应:
{
"data": {
"translations": [
{
"translatedText": "Hallo Welt"
}
]
}
}
这样,您就可以解析JSON并显示数据了。您知道“解析”的概念和
NSJSONSerialization
类吗?2.不,这是一个付费服务,如果你想把它用作API的话。但是,如果你只访问该网站,那是免费的。但关于第二部分,我还是有点困惑。因此,如果我像我在示例中的代码snipet中那样使用谷歌服务,那么它看起来不像付费服务。[它不是api]。所以它应该是免费服务吗?嗯,它看起来完全像api,据我所知,它是付费的。但是你知道…根据这篇文章:stackoverflow.com/questions/8085743/…谷歌翻译是免费的,但谷歌API是付费的。但可能是当谷歌看到大量使用翻译网页从一个特定的网站,他们可能会阻止特定的ip。