Click here to Skip to main content
13,593,097 members
Click here to Skip to main content
Add your own
alternative version

Tagged as


20 bookmarked
Posted 25 Jan 2010
Licenced CPOL

Localize Application using Google Translator

, 25 Jan 2010
Rate this:
Please Sign up or sign in to vote.
Commonly we used to store translated phrases, text in resource files .resx or in database, it can be tedious job to store huge resources, In my example, I am going to use Google Translator - it is a little tricky but can be helpful.


Since everyone wants their application to be presented according to the user's culture, location, etc, in this example I used the Google Translator, calling GoogleTranslator by HttpRequest and reading the Translated string from the Response stream.


This code will click many ideas in your mind as to how you can use resources already available in the market using HttpRequest and Response.

Using the Code

In the below code, I translate from English Language to the required language. You can change it to the desired culture. Just replace 'en' with the desired culture name.

private string Translate(string text, string l)
string translated = null;
HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create
	("" + 
	text.Replace(" ", "+") + "&tq=&sl=en&tl=" + l);
HttpWebResponse res = (HttpWebResponse)hwr.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream());
string html = sr.ReadToEnd();
int rawlength1 = html.IndexOf("<span id=otq><b>");
string rawStr1 = html.Substring(rawlength1);
int rawlength2 = rawStr1.IndexOf("</b>");
string rawstr2 = rawStr1.Substring(0, rawlength2);
translated = rawstr2.Replace("<span id=otq><b>", "");
tbStringToTranslate.Text = text;
return translated;

Points of Interest

I have written this code to localize my application texts, Labels...... I too used to store translated stings in my DataBase. This makes me use this code as I don't need to feed translated data in database whenever a required text to translate is passed to it. First look in DB, if not found it gets it from Google Translator and feeds in DB. I don't even require to maintain resource files for different cultures because I get the Current culture from System.Globalization.CultureInfo.CurrentCulture and pass it to Translate();


  • 25th January, 2010: Initial post


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Qutbuddin Kamaal
Software Developer (Senior) Wave Infotech Solution PVT L.T.D
India India
No Biography provided

You may also be interested in...


Comments and Discussions

GeneralUse the Google API instead Pin
Grant Frisken1-Feb-10 16:39
memberGrant Frisken1-Feb-10 16:39 
GeneralRe: Use the Google API instead Pin
Ted21027-Oct-10 0:22
memberTed21027-Oct-10 0:22 
GeneralRe: Use the Google API instead Pin
Grant Frisken7-Oct-10 0:36
memberGrant Frisken7-Oct-10 0:36 
GeneralRe: Use the Google API instead Pin
bernard joseph14-Apr-11 20:55
memberbernard joseph14-Apr-11 20:55 
GeneralMy vote of 1 Pin
Steve Hansen26-Jan-10 22:35
memberSteve Hansen26-Jan-10 22:35 
GeneralAhum... Real-Time Multilingual WPF Demo Pin
David Sleeckx26-Jan-10 22:33
memberDavid Sleeckx26-Jan-10 22:33 
GeneralToo light Pin
Bizounours25-Jan-10 23:00
memberBizounours25-Jan-10 23:00 
GeneralDo not use it in production Pin
Remi BOURGAREL25-Jan-10 21:34
memberRemi BOURGAREL25-Jan-10 21:34 
GeneralGreat! But... one little problem Pin
Ant210025-Jan-10 8:04
memberAnt210025-Jan-10 8:04 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web04 | 2.8.180618.1 | Last Updated 25 Jan 2010
Article Copyright 2010 by Qutbuddin Kamaal
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid