Selamlar...
Microsoft'un çeviri hizmeti veren Bing Translator uygulamasını C# ile basit bir şekilde çağırabiliyoruz.
Ancak öncelikle bir Microsoft hesabımız olması gerekiyor.
Yoksa eğer şuradan oluşturabilirsiniz: https://signup.live.com/
Daha sonra https://datamarket.azure.com/home adresine girip
My Account -> Developer -> Register yolunu izleyerek uygulamanızı kaydediyorsunuz.
Bu şekilde size bir anahtar veriyor. Bu uygulama adı ve anahtarı kodumuzda kullanacağız.
Uygulamanızın adını kaydettikten sonra Bing çevirim API'sine abone oluyorsunuz. Ayda 2.000.000 karakter bedava.
Daha fazlası için ücret ödemek zorundasınız.
Onun için de şu adresi kullanacaksınız: https://datamarket.azure.com/dataset/bing/microsofttranslator/
Eğer buraya kadar anlatılanlarla bir yere varamadıysanız, şu adreste resimli anlatım da mevcut: http://blogs.msdn.com/b/translation/p/gettingstarted1.aspx
Çeviriyi yapan C# kodu da şu şekilde olmalı:
public static string metniCevir(string metin, string kaynakDil, string hedefDil)
{
    string clientID = "uygulama_adi";
    string clientSecret = "asdqwedasdasd2i546456eqxcvbcvbc45676c=";
    String strTranslatorAccessURI = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13";
    String strRequestDetails = string.Format("grant_type=client_credentials&client_id={0}&client_secret={1}&scope=http://api.microsofttranslator.com", HttpUtility.UrlEncode(clientID), HttpUtility.UrlEncode(clientSecret));
    System.Net.WebRequest webRequest = System.Net.WebRequest.Create(strTranslatorAccessURI);
    webRequest.ContentType = "application/x-www-form-urlencoded";
    webRequest.Method = "POST";
    byte[] bytes = System.Text.Encoding.ASCII.GetBytes(strRequestDetails);
    webRequest.ContentLength = bytes.Length;
    using (System.IO.Stream outputStream = webRequest.GetRequestStream())
    {
        outputStream.Write(bytes, 0, bytes.Length);
    }
    System.Xml.XmlDocument xTranslation = new System.Xml.XmlDocument();
    try
    {
        System.Net.WebResponse webResponse = webRequest.GetResponse();
        System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(AdmAccessToken));
        //Get deserialized object from JSON stream 
        AdmAccessToken token = (AdmAccessToken)serializer.ReadObject(webResponse.GetResponseStream());
        string txtToTranslate = metin;
        string headerValue = "Bearer " + token.access_token;
        string uri = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text=" + System.Web.HttpUtility.UrlEncode(txtToTranslate) + "&from=" + kaynakDil + "&to=" + hedefDil;
        System.Net.WebRequest translationWebRequest = System.Net.WebRequest.Create(uri);
        translationWebRequest.Headers.Add("Authorization", headerValue);
        System.Net.WebResponse response = null;
        response = translationWebRequest.GetResponse();
        System.IO.Stream stream = response.GetResponseStream();
        System.Text.Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
        System.IO.StreamReader translatedStream = new System.IO.StreamReader(stream, encode);
        xTranslation.LoadXml(translatedStream.ReadToEnd());
    }
    catch (Exception ex)
    {
        Debug.WriteLine(ex.Message);
    }
    Debug.WriteLine("Your Translation is: " + xTranslation.InnerText);
    return xTranslation.InnerText;
}
 
 
 metniCevir("Merhaba dünya", "tr", "en");
 
Saygılar...
# Kategoriler : C# Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Yorumlar

Yorum Eklenmemiş...

Yorum Yaz

Adınız: *
E-Mail Adresiniz: *
Web Sitesi:
Yorum: *
Güvenlik Kodu: *
 
Arama
  Ara
Sayfalar
Takvim
<December 2018>
SMTWTFS
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345
Bağlantılar