0

我看过一些使用谷歌翻译网页的帖子。

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)从网页返回的 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:有人知道这是否是免费服务吗?Google apis 似乎是一项付费服务​​。但如果你使用网页是一项免费服务。

4

1 回答 1

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

  2. 如果您希望使用其他免费服务,请记住通常有严格的限制。尝试类似:SDL https://www.beglobal.com/developers/api-documentation/

你读过谷歌的翻译 API 文档吗? https://developers.google.com/translate/

例如像这样执行 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 并显示数据

于 2013-07-31T03:42:33.310 回答