宿題をしましたが、質問に対する答えが見つかりませんでした。
translate.google.com/translate_a URL を使用して、単一の単語をスウェーデン語から英語に翻訳しようとしています。私はobjective-cでこれをやっています。
以下に例を示します。
word = @"hus"; // result should be "house"
urlPath = [NSString stringWithFormat:@"/translate_a/t?client=t&text=%@&langpair=sv|en", word];
url = [[NSURL alloc] initWithScheme:@"http" host:@"translate.google.com" path:urlPath];
NSLog(@"%@\n\n", url);
request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setHTTPMethod:@"GET"];
myData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
result = [[NSString alloc] initWithData:myData encoding: NSASCIIStringEncoding];
NSLog(@"%@\n\n", result);
self.viewController.textViewGood.text = result;
NSLog から次の URL が得られます:
http://translate.google.com/translate_a/t?client=t&text=hus&langpair=sv%7Cen
NSLog にも正しい結果が表示されます。
2013-03-01 00:07:14.681 testGoogTrans[941:11303] [[["家"、"家"、""、""]]
等..
ブラウザで前に示した URL を呼び出すと、同じ結果のファイルが内部に取得されます。
したがって、これはアプリとブラウザの両方で正常に機能しています。
今、特別な文字を持つ単語のみを変更することによって:
word = @"tåg"; // result should be "train"
残りは同じままですが、奇妙な異なる結果が得られます。
コンソールに出力された URL:
http://translate.google.com/translate_a/t?client=t&text=t%C3%A5g&langpair=sv%7Cen正しくエスケープされているようです。
ブラウザでこの URL を呼び出すと、次の内容のファイルが取得されます。
[[["trains","tåg","",""]],[["nom",["TRAIN","MARCH","ROPE","MARCHING","EXPEDITION","PROCESSION"]
など...これは私が期待するものです。
代わりに、アプリでは、コンソールに表示される結果は次のとおりです。
[[["t\u00C3 \u00A5 g","t\u00C3\u00A5g","",""]],,"sv",,[["t\u00C3",[5],1,0,998, 0,1,0]
等...
URL は正しくフォーマットされていると思いますが、アプリ内から別の回答が得られる理由がわかりません。
誰かがこれについて何か知っているか、それを解決する方向に私を置くことができますか?
前もって感謝します