|
Google AJAX Language API
Publicado: 25/09/2008
Leído: 4504 veces
Lectura: 0 minutos
|
Categoría: AJAX y Javascript
Valoracion: 5
|
|
Gracias a Google y una de sus múltiples APIs, la Google AJAX Language API, podemos jugar a detectar un idioma e incluso traducirlo con unas pocas líneas de código. Como siempre digo, un ejemplo vale más que mil palabras (y más si son mías). En el siguiente ejemplo tenemos un textarea y dos botones: - En el textarea escribimos un texto cualquiera en el idioma que queramos. - El primer botón detectará el idioma en que está escrito el texto. - El segundo botón traducirá del castellano al inglés. Podríamos haber hecho una detección automática de la lengua y que se tradujese al inglés, pero no quedaba tan claro como para una introducción al uso de esta API. Language.aspx <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Introducción al Google </title> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("language", "1"); function GetLanguage() { var text = document.getElementById('Text').value; google.language.detect(text, function(result) { if (!result.error) { var language = 'unknown'; for (l in google.language.Languages) { if (google.language.Languages[l] == result.language) { language = l; break; } } SetResultValue(language); return language; } }); } function TranslateFromSpanishToEnglish() { var text = document.getElementById('Text').value; google.language.translate(text, "es", "en", function(result) { if (!result.error) { SetResultValue(result.translation); } }); } function SetResultValue(result) { var resultDiv = document.getElementById('Results'); resultDiv.innerHTML = result; } </script> </head> <body> <textarea cols="200" rows="7" id="Text"></textarea> <input type="button" value="¿En qué lengua está escrito?" onclick="GetLanguage()" /> <input type="button" value="Traducir de castellano a inglés" onclick="TranslateFromSpanishToEnglish()" /> <div id="Results"></div> </body> </html> El primer paso es llamar y cargar la API de Google Traslation, lo que se consigue ubicando en el HEAD la llamado al fichero javascript: <script type="text/javascript" src="http://www.google.com/jsapi"></script> Y cargando la API de idioma: <script type="text/javascript"> google.load("language", "1"); ... </script> Una vez hecho esto, la magia la hacen dos funciones javascript: GetLanguage() y TranslateFromSpanishToEnglish(). En ambos casos se llama al método javascript correspondiente, google.language.detect y google.language.translate que aceptan los siguientes parámetros: google.language.detect: 1.- Texto a detectar el idioma 2.- Función callback que recoge una variable json que llamamos result, y en la que usamos las propiedades "error" y "language". google.language.translate: 1.- Text a traducir 2.- Lengua origen 3.- Lengua destion 4.- Función callback que recoge una variable json que llamamos result, y en la que usamos las propiedades "error" y "traslation". Como veis es muy sencillo. Encontraréis la info que queráis en su documentación.
|
Ante cualquier duda o sugerencia sobre este artículo, coméntalo en el
foro de ASP.NET
de nuestra Web Amiga sobre
asp.net
|
|