/
MainWindow.cs
50 lines (41 loc) · 1.44 KB
/
MainWindow.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System;
using Gtk;
using System.Linq;
using System.Net;
using System.IO;
using Translator.TranslateApi.Bing;
public partial class MainWindow: Gtk.Window
{
public MainWindow (): base (Gtk.WindowType.Toplevel)
{
Build ();
}
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Application.Quit ();
a.RetVal = true;
}
protected void OnTranslateButtonClicked (object sender, EventArgs e)
{
string fromText = fromTextInput.Buffer.Text;
string toText = "";
AdmAuthentication admAuth = new AdmAuthentication("", "");
AdmAccessToken admToken = admAuth.GetAccessToken();
string encodedFromText = System.Web.HttpUtility.UrlEncode(fromText);
string uri = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text=" + System.Web.HttpUtility.UrlEncode(fromText) + "&from=" + "en" + "&to=" + "ru";
string authToken = "Bearer" + " " + admToken.access_token;
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(uri);
httpWebRequest.Headers.Add("Authorization", authToken);
WebResponse response = httpWebRequest.GetResponse();
// try
// {
response = httpWebRequest.GetResponse();
using (Stream stream = response.GetResponseStream())
{
System.Runtime.Serialization.DataContractSerializer dcs = new System.Runtime.Serialization.DataContractSerializer(System.Type.GetType("System.String"));
toText = (string)dcs.ReadObject(stream);
}
// }
toTextInput.Buffer.Text = toText;
}
}