Перевод текста используя Yandex Translate API 1.5
В приведенном коде ответ приходит в xml, возможно использование других форматов, для этого необходимо читать документацию и менять пример.
Для начала необходимо получить бесплатный Yandex API-ключ странице Получить ключ бесплатно
public static class Yandex { /// <summary> /// Определение языка /// </summary> /// <param name="text"></param> /// <returns>Язык строки</returns> public static string Detect(string text) { WebRequest request = WebRequest.Create("https://translate.yandex.net/api/v1.5/tr/detect?key=!ВАШКЛЮЧ!;text=" + text); WebResponse response = request.GetResponse(); using (StreamReader sr = new StreamReader(response.GetResponseStream())) { var fetchedXml = sr.ReadToEnd(); XmlDocument d = new XmlDocument(); d.LoadXml(fetchedXml); XmlNodeList langNodes = d.GetElementsByTagName("DetectedLang"); XmlNode node = langNodes.Item(0); return node.Attributes[1].Value; } } /// <summary> /// Получить перечень доступных направлений для перевода /// </summary> public static void GetLangs() { WebRequest request = WebRequest.Create("https://translate.yandex.net/api/v1.5/tr/getLangs?key=!ВАШКЛЮЧ!"); WebResponse response = request.GetResponse(); using (StreamReader sr = new StreamReader(response.GetResponseStream())) { var fetchedXml = sr.ReadToEnd(); XmlDocument d = new XmlDocument(); d.LoadXml(fetchedXml); XmlNodeList trDirectionNodes = d.GetElementsByTagName("string"); foreach (XmlNode trDirectionNode in trDirectionNodes) Console.WriteLine("Dir: {0}", trDirectionNode.InnerText); } } /// <summary> /// Перевести текст /// </summary> /// <param name="lang">Язык на какой перевести ru</param> /// <param name="text">Текст для перевода</param> /// <returns>Возвращает NodeList переведенного текста</returns> public static XmlNodeList Translate(string lang, string text) { WebRequest request = WebRequest.Create("https://translate.yandex.net/api/v1.5/tr/translate?key=!ВАШКЛЮЧ!;lang=" + lang + "&text=" + text + "&format=plain"); WebResponse response = request.GetResponse(); using (StreamReader sr = new StreamReader(response.GetResponseStream())) { var fetchedXml = sr.ReadToEnd(); XmlDocument d = new XmlDocument(); d.LoadXml(fetchedXml); XmlNodeList textNodes = d.GetElementsByTagName("text"); return textNodes; } } }