Usando el api de Google Translate

 

Aplicaciones Web, Google

Estoy un poco aburrido, tenia un montón de cosas que hacer pero por algún motivo no se muestran las imágenes nuevas que sube a mis sitios, y como deplanos.com y bajarmipeso.com no funcionan sin imágenes, me puse a jugar un poco con el de Google Translate. La versión Ajax, por de java no entiendo un carajo.

El resultado… bueno, por lo menos para mi que soy un total novato en estas cosas, bastante llamativo.

En el header agregue esto:

<script type="text/" src="http://www.google.com/jsapi"></script>


<script type="text/">


google.load("language", "1");


function traducir() {


var text = document.formul.entrada.value;
if (document.formul.radio[0].checked){
google.language.detect(text, function(result) {


if (!result.error && result.language) {


google.language.translate(text, result.language, "en",


function(result) {

if (result.translation) {

document.formul.salida.value = result.translation;

}

});

}

});

}else{
google.language.detect(text, function(result) {

if (!result.error && result.language) {

google.language.translate(text, result.language, "es",

function(result) {

if (result.translation) {

document.formul.salida.value = result.translation;


}

});

}

});
}}

</script>

Basicamente lo que hace es tomar lo que el usuario ingreso en el textarea “entrada” lo traduce y lo mete en el textarea “salida”.

Comentemos un poco el codigo:

<script type="text/" src="http://www.google.com/jsapi"></script> Con esto llamamos al de Google Translate

if (document.formul.radio[0].checked){ Esto básicamente se fija si se eligió la primer opción, la de Español-Ingles

google.language.translate(text, result.language, "en", traduce  :p

document.formul.salida.value = result.translation; Mete la traducción en el textarea “Salida”

Lo que sigue es mas de lo mismo… si no se eligió el primer radio button se da el else y traduce en al otro idioma que elegimos. En este caso seria Ingles-Español.

Un truquito algo sucio que aplique es el de auto-detectar el idioma con esta parte del código: google.language.detect(text, function(result) { Es una pavada, de cara al usuario es prácticamente igual pero a nosotros nos ahorra bastante trabajo. Claro que si ingresaran texto en otros idiomas también se traducirían a los idiomas de destino.

El resultado lo pueden ver en el traductor español-ingles ingles-español que me mande.

3 comentarios... agrega el tuyo!

  1. Astrid - 6 Diciembre, 2009

    bueno el aporte!

     
  2. Adela - 18 Diciembre, 2009

    Si pones un texto en el traductor arriba, no sabes si la traducción es correcta. Es porque uso el traductor inglés de SpanishDict.com. Tiene tres traductores diferentes para que puedas comparar las traducciones y encontrar la mejor opción. Claro que puedes usarla en móvil y app para iPhone. Es fantástica.

     
  3. hernan - 15 Febrero, 2010

    hola:
    Quisiera saber como acoplar el codigo para detectar el idioma y traducir esa variable a los idiomas que yo quiera, pueden se r dos 3 , 4 5…. y estos valores ponerlos en un formulario
    Graicas

     

Agrega un comentario