原文
' [) Q6 p: ?: k1 ]http://blogs.msdn.com/shahpiyush/archive/2007/06/09/3188246.aspx
% w. N, \: E6 B% t& ^/ N y+ ?
4 y, D# N6 e6 @7 cHere is how you can translate a Text using Google's "Unofficial" API's.1 _9 B6 C' F) \( r7 N* H2 J% N2 w
The URL for Google Translate is - http://www.google.com/translate_ ... =UTF8&text={0}&langpair={1}7 r* M3 [) p" v' S7 C: H- A- G1 f) } [
[li]"text" is your input string which needs to be translated. [/li][li]langpair is the language pairs involved in the tranlsation. E.g. "ar|en" means translate from Arabic to English.[/li] The result when you browse to the URL is a HTML page. You will have to do screen scraping to get your translated text.
# N5 ~9 j @( B F4 YBelow is a C# function which translates, scrapes and gives you the result. I am using String.Substring function but you can use Regex too.
; i( S# _$ V9 o$ g& z$ {/// <summary>% K- g3 Z* p4 s9 P
* t" k E6 w" m% x) q. R7 K$ F/// Translate Text using Google Translate API's
& A5 B; g& k3 z3 W/ B S9 G# l2 J2 T) S: b
/// Google URL - http://www.google.com/translate_ ... =UTF8&text={0}&langpair={1}& |# P( C. \, k
$ i& |8 R: [5 r Z' N/// </summary>) b9 k' W- X: z& o9 P: C5 t7 W7 ]
W' ?- A& D( Q3 r. ^
/// <param name="input">Input string</param>+ O: p8 _3 R4 L( @+ _0 F$ u& a A. c
; }+ b- k) Q# A0 o$ v q- K
/// <param name="languagePair">2 letter Language Pair, delimited by "|".
, y: ~$ o g9 ^+ Y/// E.g. "ar|en" language pair means to translate from Arabic to English</param>
& i x( w; y( D( X0 P
2 n U% d5 o% f! R0 A$ ]% U/// <returns>Translated to String</returns>
/ H" z% J+ q, i' `
/ j9 G7 @2 Q1 c: K7 d2 S$ `( Ypublic string TranslateText(
$ b: v( F$ i0 g; `" v
: w* X; H% b3 s) e7 U string input,4 I: u1 Z0 x5 D2 ?
4 g/ z0 c5 N# z- f; v6 M) K$ o
string languagePair)
/ m0 i7 u2 `$ G' G( d% |: P
M1 q3 A w9 C) q{ n: I( s* c, n; J" P+ j. b
: [4 C: I+ d. s# Q# t! x+ O' g
5 y5 f& n' ~3 d$ v" u/ T$ ]4 m& ]! Z7 n% c
string url = String.Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}", input, languagePair);0 r5 M( H9 |" j3 l! t8 e, {8 I7 P! ~
+ ^" v% }2 m8 [* G/ [$ R9 X8 q- e WebClient webClient = new WebClient();6 u9 _3 Q: O- X9 D% D
; m; f2 R5 H: l6 l: {5 {) {" b- N
webClient.Encoding = System.Text.Encoding.UTF8;/ C7 Y+ `# Z/ z1 X
' O) x8 v$ W$ N" `6 ~
* u6 D, ~( q3 B2 l5 x
: {9 w$ @1 \6 a4 g3 d string result = webClient.DownloadString(url);5 u$ s7 l* \. x% @
3 A& g8 F8 b% n9 b
result = result.Substring(result.IndexOf("id=result_box") + 22, result.IndexOf("id=result_box") + 500);
$ w" o8 C7 U8 ^' `. }( x6 P0 m, J2 S1 P) I. \
result = result.Substring(0, result.IndexOf("</div"));
- r. s4 V b6 ~$ }
9 F5 T# N z4 C& t: E. ]( u, S6 h2 B H
" N: M3 e2 {% m% a8 B
return result;
/ b; u2 R) t, F0 v5 F$ l8 P' O" Z/ @, U5 j( e, ]8 V( n4 x5 C
}8 ?! v" n; ]0 e8 C, u# M
More details about this Unofficial Google Translation API can be found Here |