hi,
am trying to intigrate google translator but it gives output like
[[["\u092E\u0948\u0902 \u092A\u0928\u0940\u0930 \u0915\u0940 \u0924\u0930\u0939","I like cheese","Mai\u1E41 pan\u012Bra k\u012B taraha",""]],,"en",,[["\u092E\u0948\u0902",[5],0,0,998,0,1,0],["\u092A\u0928\u0940\u0930",[6],1,0,998,1,2,0],["\u0915\u0940",[7],1,0,1000,2,3,0],["\u0924\u0930\u0939",[8],1,0,1000,3,4,0]],[["I",5,[["\u092E\u0948\u0902",998,0,0],["\u092E\u0941\u091D\u0947",0,0,0],["\u092E\u0948\u0902\u0928\u0947",0,0,0],["\u0915\u093F \u092E\u0948\u0902",0,0,0],["\u0939\u0948 \u092E\u0948\u0902",0,0,0]],[[0,1]],"I like cheese"],["cheese",6,[["\u092A\u0928\u0940\u0930",998,1,0],["\u092A\u0928\u0940
my code is :
public string TranslateText( string inputStr, string fromLanguage, string toLanguage)
{
string url = string.Format("http://translate.google.com/translate_a/t?client=t&text={0}&hl=en&sl={1}&tl={2}&multires=1&pc=0&sc=1", inputStr, fromLanguage, toLanguage);
WebClient tmpClient = new WebClient();
tmpClient.Encoding = UTF8Encoding.Default;
byte[] resultData = tmpClient.DownloadData(url);
string charset = Regex.Match(tmpClient.ResponseHeaders["Content-Type"], "(?<=charset=)[\\w-]+").Value;
string result = Encoding.GetEncoding(charset).GetString(resultData);
return result;
/* UnicodeEncoding tmpEncoding = new UnicodeEncoding();
string url = string.Format("http://translate.google.com/translate_a/t?client=t&text={0}&hl=en&sl={1}&tl={2}&multires=1&pc=0&sc=1", inputStr, fromLanguage, toLanguage);
WebClient tmpClient = new WebClient();
tmpClient.Encoding = UTF8Encoding.Default;
tmpClient.Headers["User-Agent"] = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9";
tmpClient.Headers["Accept-Language"] = "en-us,en;q=0.5";
tmpClient.Headers["Accept-Charset"] = "ISO-8859-1,utf-8;q=0.7,*;q=0.7";
byte[] resultData = tmpClient.DownloadData(url);
string CharSet = Regex.Match(tmpClient.ResponseHeaders["Content-Type"], "(?<=charset=)[\\w-]+").Value;
string result = Encoding.GetEncoding(CharSet).GetString(resultData);
return result;*/
//string Text = input;
//Console.WriteLine("Before Translation:{0}", Text);
//Text = Google.API.Translate.Translator.Translate(Text, Google.API.Translate.Language.English,Google.API.Translate.Language.Hindi);
//return Text;
}
second method :
/* public static string Translate(string text, string l)
{
string translated = null;
HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create("http://translate.google.com/translate_s?hl=en&clss=&q=" + text.Replace(" ", "+") + "&tq=&sl=en&tl=" + l);
HttpWebResponse res = (HttpWebResponse)hwr.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream());
string html = sr.ReadToEnd();
int start = 0;
int end = 0;
Regex r = new Regex("<b.*?>");
Match first = null;
foreach (Match m in r.Matches(html))
{
if (m.Value == "<b>")
{
first = m;
break;
}
}
start = first.Index + first.Length;
r = new Regex("</b.*?>");
Match Second = null;
foreach (Match m in r.Matches(html))
{
if (m.Value == "</b>")
{
Second = m;
break;
}
}
end = Second.Index - start;
translated = html.Substring(start, end);
return translated;
}*/
have tried all but all gives the same output .
thanks .