Usando el api de Google Translate
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 api 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/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
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/javascript" src="http://www.google.com/jsapi"></script> Con esto llamamos al api 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.
Astrid
6 de diciembre de 2009
bueno el aporte!
Adela
18 de diciembre de 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.
hernan
15 de febrero de 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