Web design and hosting, database, cloud and social media solutions that deliver business results
  • Soluciones de negocios
    • Automatización Robótica de Procesos
    • Software
    • Servicios de bases
      • Actualización del servidor y servicios de DBA
      • BI de energía
      • Integración de datos
      • Informes
    • Diseño web
      • Diseño de logo
      • Optimización del sitio web
      • Seguridad del sitio web
      • Traducción y localización web
      • Via de pago
      • Herramientas técnicas
    • Servicios en la nube
      • Servicios en la nube de Google
      • Servicios web de Amazon
      • microsoft azure
    • Medio Social
    • Microsoft Office
    • Hardware de TI
  • Academia
    • Nuestro entorno de prueba
    • Diseño de base de datos de aprendizaje
      • Los basicos
      • Obtener consulta abierta
      • Usando datos del servidor SQL
      • SQL Server 2008 para planes de mantenimiento
      • Usar fechas de SQL Server
      • Uso de las funciones de SQL Server
      • Uso de SQL Server Pivot-Unpivot
    • Aprendiendo Diseño Web
      • Creación del sistema de gestión de contenido de Ousia
      • ASP-NET
      • CSS
      • Usando JavaScript
    • Uso de las redes sociales
      • Cambiar una cuenta de Facebook de personal a empresa
      • Elegir dónde enfocar el esfuerzo de las redes sociales
      • Solicitar una revisión de Google
      • Tamaños de imagen de redes sociales
      • Uso de metadatos para configurar imágenes de redes sociales
    • Aprendizaje en la nube y servicios de TI
      • Error del programador de tareas 2147943645
      • Solicitud de SSL y generación de archivo PFX en OpenSSL Simple Steps
  • Acerca de
    • Blog
      • Actualización principal de Google, enero de 2020
      • Cierre de Internet de Hot Chilli
      • Cómo elegir el contenido de los folletos publicitarios de su sitio web
      • Construyendo una máquina de juego de nivel de entrada
      • Las cosas más molestas de los sitios web en Internet
      • Los 5 mejores sitios web para obtener gráficos vectoriales gratuitos
      • Prevención de estafas en línea
      • Skimmers de la gig economy
    • Carreras
      • Traductor inglés-español
      • Traductor inglés-japonés
    • Equipo
      • Ali Al Amine
      • Ayse Hur
      • Chester Copperpot
      • Gavin Clayton
      • Sai Gangu
      • suneel kumar
      • Surya Mukkamala
    • Portafolio
čeština (CS)Deutsch (DE)English (EN-US)English (EN-GB)Español (ES)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

Llamada a Google Translate desde ASP.NET mediante publicación

Llamar a Google Translate desde ASP.NET utilizando POST para documentos más largos de tu código.

Introducción

La API de Google Translate es buena para realizar traducciones bastante complejas y, si bien no es perfecta, al menos le dará a sus lectores una comprensión básica de lo que intenta transmitir.

Si bien el documento es muy bueno para explicar lo que sucede cuando se utiliza Java Script que puede traducir unos 500 caracteres, hay muy poco para cuando se necesita para traducir documentos más grandes.

Al usar POST, puede aumentar este número a 5000 caracteres, por lo que desarrollamos nuestro propio código para enviar una solicitud de publicación a la API de Google y luego recibir la traducción.

Primero el código, para aquellos que sólo quieren eso.

VB

Protected Function GetTranslation(ByVal key As String, ByVal source As String, ByVal target As String, ByVal Text As String) As String
  Dim TranslatedString As String = ""
  Text = "q=" + Text
  Dim TranslateRequest As New Uri(String.Format("https://www.googleapis.com/language/translate/v2?key={0}&source={1}&target={2}&format=html", key, source, target))
  Dim Req As WebRequest = WebRequest.Create(TranslateRequest)
  Req.Method = "POST"
  Req.Headers.Add("X-https-Method-Override", "GET")
  Req.ContentType = "application/x-www-form-urlencoded"
  Using wriream As Stream = Req.GetRequestStream()
  Dim encoding As New UTF8Encoding()
  Dim bytes As Byte() = encoding.GetBytes(Text)
  wriream.Write(bytes, 0, bytes.Length)
  End Using
  Dim ReturnStr As String
  Using sr = New StreamReader(Req.GetResponse.GetResponseStream)
  ReturnStr = sr.ReadToEnd()
  End Using
  Dim Reader As New JavaScriptSerializer
  Dim TranslateJSON As Dictionary(Of String, Object) = Reader.DeserializeObject(ReturnStr)
  Dim TranslateData As Dictionary(Of String, Object)
  If TranslateJSON.ContainsKey("data") Then
  TranslateData = TranslateJSON("data")
  If TranslateData.ContainsKey("translations") Then
  For Each pair In TranslateData.Item("translations")(0)
  TranslatedString = pair.Value.ToString()
  Next
   End If
  End If
  Return TranslatedString
End Function

Introducción

Y ahora para una breve explicación. La función requiere cuatro entradas, éstas son la clave, el idioma, el idioma y el texto que desea traducir.

A continuación, declaramos una cadena de retorno, creamos una cadena URL de solicitud que se analiza rápidamente en una nueva solicitud web (Req).

A continuación, establecemos el tipo de solicitud, el tipo de contenido y lo más importante agregar un encabezado para anular el método get .

Una vez hecho esto, enviamos los datos como un flujo a Google (wriream).

Ahora declaramos una cadena de retorno (ReturnStr) para contener el JSON devuelto de Google, y leemos la cadena de respuesta en él.

El siguiente paso es crear un JavaScriptSerializer, este bit fue probablemente el más confuso, ya que este es el área más débil de mis habilidades de desarrollo. Lo que hace esta última sección es extraer cada sección de texto hasta que llegue al área que deseamos, y establece nuestro texto de retorno como el valor devuelto por Google. Este no puede ser el código más elaborado del mundo, así que si trabajas en una forma de ordenarlo, déjame saber.

Usted podría muy fácilmente poner este código en una clase compartida y volver a usarlo, sin embargo, sólo había una sección del sitio que necesitábamos esto, por lo que fue construido en la página.

El ejemplo siguiente rellena un editor de texto AJAX Toolkit con el contenido de otro. Tenga en cuenta la doble descodificación (desde el editor y Google), y tiene dos cuadros de texto que denotan el idioma hacia y desde.

VB

Protected Sub TranslateDoc_Click(sender As Object, e As EventArgs) Handles TranslateDoc.Click
  Dim key As String = "Your Key"
  Dim source As String = LanguageBase.SelectedItem.Text.ToString
  Dim target As String = LanguageTrans.SelectedItem.Text.ToString
  Dim PageText As String = httpsUtility.HtmlDecode(ContentText.Content)
  Try
  ContentTextTran.Content = httpsUtility.HtmlDecode(GetTranslation(key, source, target, PageText))
  Str.Text = "Translated"
  Catch
  Str.Text = key + "," + source + "," + target + ""
  End Try
End
 Sub

Autor

Helpful?

Please note, this commenting system is still in final testing.
Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

Site Links

RSSLoginLink Política de cookiesmapa del sitio

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom

Partnered With

La configuración de este sitio está configurada para permitir todas las cookies. Éstos se pueden cambiar en nuestra página de configuración y política de cookies. Al continuar utilizando este sitio, usted acepta el uso de cookies.
Ousia Logo
Logout
Ousia CMS Loader