Comunidad de diseño web y desarrollo en internet online

Usar el traductor de Google en Flash como Webservice

Hace algún tiempo hice un experimento usando Ajax. Se trataba de una interfaz web para usar el traductor de Google desde cualquier página.

Luego, en una tarde de esas mientras veo al monitor pensando en lo que estaría haciendo si hubiera vivido en 1790 cerca de alguna colonia francesa: ¿Sería un burgués que se mofaba del dinero que tenía? ¿O sería un campesino (ciertamente lo más probable debido a mis antecedentes con respecto a suerte se trata) pensando en matar a aquel burgués para robarle todo su dinero?... Otra vez me desvié del tema.

Me pareció curioso hacer la misma interfaz web para el traductor de Google pero usando Flash.

La idea como tal es sencilla, y podría serlo mucho más de no ser porque Google en su respuesta al pedir una traducción no devuelve código estándar….es que ni un poquito, así que tocó tomar medidas drásticas.

La palabra traducida viene dentro de la siguiente etiqueta (lo que la convierte en la mejor pista para llegar al resultado final):

Código :

<div id=result_box dir=ltr>Palabra</div>

Pero como no había ( al menos yo no encontré ) forma estándar de leer el contenido total del archivo obtenido que entre otras al principio del mismo contiene mucha basura que interrumpe el flujo de nuestro propósito, tocó usar la milenaria técnica de búsqueda secuencial, es decir, ir leyendo la cadena hasta encontrar nuestra pista.

Pero no tiene sentido buscar desde el inicio del archivo. Para agilizar la búsqueda hacemos uso del método indexOf de la clase String.

Código :

var inicio = src_str.indexOf("<div id=result_box dir=ltr>") + 27;

Le sumo 27 porque es la cantidad de caracteres que contiene nuestra cadena, ya que el valor devuelto por el método corresponde a la posición del primer carácter de la cadena buscada.

Luego de eso lo que vamos es capturando todos los caracteres hasta llegar a donde se cierra el div:

Código :

if(src_str.substr(inicio, 4) == "div>")

Esta lectura se hará en un while que tendrá como límite 200 caracteres. Creo que puse ese límite para no bloquear el proceso por si algo andaba mal. Mientras tanto voy concatenando todo lo que encuentre.

No queriendo ser más complicados, la extracción de los datos termina aquí, ahora sólo falta visualizarlos, para lo cual usé una caja de texto multilínea sin nada raro.

Además también agregué un combo para seleccionar el par de idiomas a traducir ^^.

No es más, espero que alguien lo use cuando esté haciendo alguna traducción y le de pereza abrir la página de Google.



Te puedes descargar los fuentes aquí

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate