Skip to content

Instantly share code, notes, and snippets.

@vmeln
Created September 25, 2014 07:30
Show Gist options
  • Save vmeln/d4f4a2e51d2e8f05f267 to your computer and use it in GitHub Desktop.
Save vmeln/d4f4a2e51d2e8f05f267 to your computer and use it in GitHub Desktop.
Requires Newtonsoft.Json package
public class GoogleTranslator
{
private readonly string _outLanguage;
private readonly string _inLanguage;
public GoogleTranslator()
{
_inLanguage = "en";
_outLanguage = "de";
}
public async Task<string> Translate(string textToTranslate)
{
var httpClient = new WebClient() { Encoding = Encoding.Default };
var urlToGet = BuildUrl(textToTranslate);
var result = await httpClient.DownloadStringTaskAsync(urlToGet);
dynamic json = JObject.Parse(result);
return json.sentences[0].trans.Value;
}
private string BuildUrl(string textToTranslate)
{
const string urlFormat = "http://translate.google.ru/translate_a/t?client=x&text={0}&sl={1}&tl={2}";
return String.Format(urlFormat, textToTranslate, _inLanguage, _outLanguage);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment