me parecio interesante que lo tengas en .net , no lo podrias subir en algun lado? , para ver si lo puedo traducir a C#.
No se, teniendo en cuenta las cosas tan feas que me dijiste...
No te costará convertirlo, el código es simple, el código original que escribí lo puedes ver aquí ~>
Usar Google Translate sin comprar la API de pago xDÓbviamente el método de parsing que empleo es muy básico y tiene sus fallas (caracteres escapados como la comilla doble los dejo como están), quien quiera puede perfeccionarlo, a mi me vale tal como está para seguir sacando las castañas del fuego.
De todas formas he tomado el código y lo acabo de documentar un poco y cambiar su modo de empleo, aquí tienes:
' ***********************************************************************
' Author : Elektro
' Modified : 03-12-2014
' ***********************************************************************
' <copyright file="GoogleTranslator.vb" company="Elektro Studios">
' Copyright (c) Elektro Studios. All rights reserved.
' </copyright>
' ***********************************************************************
#Region " Usage Examples "
' MsgBox(GoogleTranslator.Translate("Hello Google!", GoogleTranslator.Language.en, GoogleTranslator.Language.es)) ' Result: Hola Google!
' MsgBox(GoogleTranslator.Translate("Hello Google!", GoogleTranslator.Language.auto, GoogleTranslator.Language.fr)) ' Result: Bonjour Google!
#End Region
#Region " Google Translator "
''' <summary>
''' Uses GoogleTranslate page to translate text from one Language to another.
''' </summary>
Public Class GoogleTranslator
#Region " Enumerations "
''' <summary>
''' Indicates a GoogleTranslate Language abbreviation.
''' </summary>
Public Enum Language As Integer
''' <summary>
''' Let Google Detect The Language
''' </summary>
auto
''' <summary>
''' afrikáans
''' </summary>
af
''' <summary>
''' árabe
''' </summary>
ar
''' <summary>
''' azerí
''' </summary>
az
''' <summary>
''' bielorruso
''' </summary>
be
''' <summary>
''' búlgaro
''' </summary>
bg
''' <summary>
''' bengalí; bangla
''' </summary>
bn
''' <summary>
''' bosnio
''' </summary>
bs
''' <summary>
''' catalán
''' </summary>
ca
''' <summary>
''' cebuano
''' </summary>
ceb
''' <summary>
''' checo
''' </summary>
cs
''' <summary>
''' galés
''' </summary>
cy
''' <summary>
''' danés
''' </summary>
da
''' <summary>
''' alemán
''' </summary>
de
''' <summary>
''' griego
''' </summary>
el
''' <summary>
''' inglés
''' </summary>
en
''' <summary>
''' esperanto
''' </summary>
eo
''' <summary>
''' español
''' </summary>
es
''' <summary>
''' estonio
''' </summary>
et
''' <summary>
''' euskera
''' </summary>
eu
''' <summary>
''' persa
''' </summary>
fa
''' <summary>
''' finlandés
''' </summary>
fi
''' <summary>
''' francés
''' </summary>
fr
''' <summary>
''' irlandés
''' </summary>
ga
''' <summary>
''' gallego
''' </summary>
gl
''' <summary>
''' gujarati
''' </summary>
gu
''' <summary>
''' hindi
''' </summary>
hi
''' <summary>
''' Hmong
''' </summary>
hmn
''' <summary>
''' croata
''' </summary>
hr
''' <summary>
''' criollo haitiano
''' </summary>
ht
''' <summary>
''' húngaro
''' </summary>
hu
''' <summary>
''' armenio
''' </summary>
hy
''' <summary>
''' indonesio
''' </summary>
id
''' <summary>
''' italiano
''' </summary>
it
''' <summary>
''' hebreo
''' </summary>
iw
''' <summary>
''' japonés
''' </summary>
ja
''' <summary>
''' javanés
''' </summary>
jw
''' <summary>
''' georgiano
''' </summary>
ka
''' <summary>
''' Jemer
''' </summary>
km
''' <summary>
''' canarés
''' </summary>
kn
''' <summary>
''' coreano
''' </summary>
ko
''' <summary>
''' latín
''' </summary>
la
''' <summary>
''' lao
''' </summary>
lo
''' <summary>
''' lituano
''' </summary>
lt
''' <summary>
''' letón
''' </summary>
lv
''' <summary>
''' macedonio
''' </summary>
mk
''' <summary>
''' maratí
''' </summary>
mr
''' <summary>
''' malayo
''' </summary>
ms
''' <summary>
''' maltés
''' </summary>
mt
''' <summary>
''' holandés
''' </summary>
nl
''' <summary>
''' noruego
''' </summary>
no
''' <summary>
''' polaco
''' </summary>
pl
''' <summary>
''' portugués
''' </summary>
pt
''' <summary>
''' rumano
''' </summary>
ro
''' <summary>
''' ruso
''' </summary>
ru
''' <summary>
''' eslovaco
''' </summary>
sk
''' <summary>
''' esloveno
''' </summary>
sl
''' <summary>
''' albanés
''' </summary>
sq
''' <summary>
''' serbio
''' </summary>
sr
''' <summary>
''' sueco
''' </summary>
sv
''' <summary>
''' suajili
''' </summary>
sw
''' <summary>
''' tamil
''' </summary>
ta
''' <summary>
''' telugu
''' </summary>
te
''' <summary>
''' tailandés
''' </summary>
th
''' <summary>
''' tagalo
''' </summary>
tl
''' <summary>
''' turco
''' </summary>
tr
''' <summary>
''' ucraniano
''' </summary>
uk
''' <summary>
''' urdu
''' </summary>
ur
''' <summary>
''' vietnamita
''' </summary>
vi
''' <summary>
''' yidis
''' </summary>
yi
''' <summary>
''' chino
''' </summary>
zh_CN
End Enum
#End Region
#Region " Public Methods "
''' <summary>
''' Translates the specified text.
''' </summary>
''' <param name="String">Indicates the string to translate.</param>
''' <param name="From">Indicates the text lanuage.</param>
''' <param name="To">Indicates the resulting language.</param>
''' <returns>System.String.</returns>
Public Shared Function Translate(ByVal [String] As String,
ByVal From As Language,
ByVal [To] As Language) As String
Dim Query As String =
String.Format("http://translate.google.com/translate_a/t?client=t&text={0}&sl={1}&tl={2}",
[String],
From.ToString.Replace("_", "-"),
[To].ToString.Replace("_", "-"))
Using WebClient As New Net.WebClient
[String] = WebClient.DownloadString(Query)
WebClient.Dispose()
End Using
Return [String].Substring([String].IndexOf(ControlChars.Quote) + 1, [String].LastIndexOf(ControlChars.Quote)).
Split({ControlChars.Quote & "," & ControlChars.Quote}, StringSplitOptions.None).
First
End Function
#End Region
End Class
#End Region
Saludos.