用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似乎是一种付费服务。但若你们使用网页,那个是一项免费服务

  • 不,我使用的所有API都是JSON或XML。当您可以将数据解析为可读结构时,没有理由使用字符串操作

  • 如果您希望使用另一项未付费的服务,请记住通常会有严格的限制。试试类似于:SDL的东西

  • 你读过谷歌的翻译API文档吗?

    例如,执行这样的GET请求

    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。