Foros del Web » Programando para Internet » Javascript »

Ayuda con aplicacion javascript de google.

Estas en el tema de Ayuda con aplicacion javascript de google. en el foro de Javascript en Foros del Web. Hola: tengo la siguiente duda. Google tiene un aplicacion llamada Google AJAX Language API, esta permite hacer traducciones en mi pagina web. he consultado en ...
  #1 (permalink)  
Antiguo 15/02/2010, 15:56
 
Fecha de Ingreso: junio-2009
Mensajes: 33
Antigüedad: 15 años, 7 meses
Puntos: 1
De acuerdo Ayuda con aplicacion javascript de google.

Hola:
tengo la siguiente duda.
Google tiene un aplicacion llamada Google AJAX Language API, esta permite hacer traducciones en mi pagina web.
he consultado en el sitio[URL="http://geeks.ms/blogs/jmaguilar/archive/2008/03/30/crea-un-traductor-en-tu-web-con-google-ajax-language-api.aspx"]http://geeks.ms/blogs/jmaguilar/archive/2008/03/30/crea-un-traductor-en-tu-web-con-google-ajax-language-api.aspx[/URL].

El codigo es muy claro, pero me surge una duda. Como podria acoplar el codigo para traducir la palabra que me de el usuario a los idiomas que yo determine, estos podrian ser 2, 3 ,4,5.....

Agradeceria inmensamente cualquier ayuda.
Aqui les dejo el codigo

Código HTML:
Ver original
  1.   <title>Traductor</title>
  2.   <script type="text/javascript" src="http://www.google.com/jsapi"></script>
  3.   <script type="text/javascript">  
  4.     google.load("language", "1");        
  5.   </script>
  6. </head>
  7.  
  8.   <textarea id="text" rows="8" cols="40">Hi, how are you?</textarea>
  9.   <br />
  10.   <button onclick="onClick()">
  11.         Traducir</button>
  12.   Del idioma
  13.   <select id="srcLang">
  14.     <option value="">(Auto)</option>
  15.     <option value="es">Español</option>
  16.     <option value="en">Inglés</option>
  17.     <option value="fr">Francés</option>
  18.   </select>
  19.   Al
  20.   <select id="dstLang">
  21.     <option value="es">Español</option>
  22.     <option value="en">Inglés</option>
  23.     <option value="fr">Francés</option>
  24.   </select>
  25.   <h3>Traducción:</h3>
  26.   <div id="result">
  27.     (Introduce un texto)
  28.   </div>
  29. </body>
  30. <script type="text/javascript">
  31. function onClick()
  32. {
  33.   // obtenemos el texto y los idiomas origen y destino
  34.   var text    = document.getElementById("text").value;
  35.   var srcLang = document.getElementById("srcLang").value;
  36.   var dstLang = document.getElementById("dstLang").value;
  37.  
  38.   // llamada al traductor
  39.   google.language.translate(text, srcLang, dstLang, function(result)
  40.     {
  41.       if (!result.error)
  42.       {    
  43.         var resultado = document.getElementById("result");    
  44.         resultado.innerHTML = result.translation;  
  45.       }
  46.       else alert(result.error.message);
  47.     }
  48.   );
  49. }
  50. </html>

Muchas Gracias
  #2 (permalink)  
Antiguo 16/02/2010, 01:35
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 17 años, 1 mes
Puntos: 8
Respuesta: Ayuda con aplicacion javascript de google.

Hola,

No se, así a lo rápido podrías repetir esto:

google.language.translate(text, srcLang, dstLang, function(result) { if (!result.error) { var resultado = document.getElementById("result"); resultado.innerHTML = result.translation; } else alert(result.error.message); }

Tantas veces como traducciones quieras. Solo tienes que cambiar el lenguaje de destino y listos... Para mostrarlo piensa que quieres concatenarlo en el mismo textara o en otro o de otra forma. Lo que es hacer la traducción a varios idiomas es repitiendo eso.

Por ejemplo podrías hacer que los idiomas se pudieran seleccionar más de uno. Te guardas la posición en el select en la que están, o el id que tienen o lo que tu quieras en un array por ejemplo. Con un for lo recorres ejecutas la función google.language.translate() tantas veces como idiomas seleccionados haya.

Yo lo intentaría hacer así.
  #3 (permalink)  
Antiguo 16/02/2010, 15:17
 
Fecha de Ingreso: junio-2009
Mensajes: 33
Antigüedad: 15 años, 7 meses
Puntos: 1
De acuerdo Respuesta: Ayuda con aplicacion javascript de google.

Muchas gracias, me ha servido mucho la asesoria. Hice un bucle asi como me dijiste y puse a correr la funcion varias veces dependiendo del numero de traducciones que necesito. Hasta aqui todo bien.
Ahora me surge un ligero inconvenientte.
La funcio me esta traduceidno perfectamente dos campo, pero resulta que uno de ellos es un texto largo, y esta funcion solo me esta traduciendo alrededor de 500 caracteres, segun lo que he indagado, esto se debe a que la informacion se envia con metodo GET. ASi que se debe hacer una peticvion xmlhttprequest para que los datos sean enviados via POST.
En este punto uedo muerto, no se como acoplarlo a mi codigo.
Espero que puedan ayudarme.
el codigo es el siguiente
Código Javascript:
Ver original
  1. <html>
  2. <head>
  3.   <title>Traductor</title>
  4.   <script type="text/javascript" src="http://www.google.com/jsapi"></script>
  5.   <script type="text/javascript">  
  6.     google.load("language", "1");        
  7.   </script>
  8. </head>
  9.  
  10. <body>
  11.   <textarea id="text" rows="8" cols="40" onBlur="onClick()"></textarea>
  12.   <br />
  13.   <div id="result">
  14.     (Ingles)<input type="text" name="english"></input>
  15.   </div>
  16.   <div id="result1">
  17.     (Frances)<input type="text" name="french"></input>
  18.   </div>
  19.   <div id="result2">
  20.     (Deutch)<input type="text" name="deutch"></input>
  21.   </div>
  22. </body>
  23. <script type="text/javascript">
  24. function onClick()
  25.  
  26. {
  27. var i = 0;
  28. for(i=0;i<=2;i++){
  29.     if (i==0){
  30.                   // obtenemos el texto y los idiomas origen y destino
  31.                   var text    = document.getElementById("text").value;
  32.                   var srcLang = document.getElementById("srcLang").value;
  33.                   var dstLang = "en";
  34.  
  35.                   // llamada al traductor
  36.                   google.language.translate(text, srcLang, dstLang, function(result)
  37.                     {
  38.                       if (!result.error)
  39.                       {    
  40.                         var resultado = document.getElementById("result");    
  41.                         resultado.innerHTML = result.translation;  
  42.                       }
  43.                       else alert(result.error.message);
  44.                     }
  45.                   );
  46.             }
  47.    
  48.    
  49.     else if (i==1){
  50.                   // obtenemos el texto y los idiomas origen y destino
  51.                   var text    = document.getElementById("text").value;
  52.                   var srcLang = document.getElementById("srcLang").value;
  53.                   var dstLang = "fr";
  54.  
  55.                   // llamada al traductor
  56.                   google.language.translate(text, srcLang, dstLang, function(result)
  57.                     {
  58.                       if (!result.error)
  59.                       {    
  60.                         var resultado = document.getElementById("result1");    
  61.                         resultado.innerHTML = result.translation;  
  62.                       }
  63.                       else alert(result.error.message);
  64.                     }
  65.                   );
  66.             }
  67.        
  68.     else if (i==2) {
  69.                   // obtenemos el texto y los idiomas origen y destino
  70.                   var text    = document.getElementById("text").value;
  71.                   var srcLang = document.getElementById("srcLang").value;
  72.                   var dstLang = "de";
  73.  
  74.                   // llamada al traductor
  75.                   google.language.translate(text, srcLang, dstLang, function(result)
  76.                     {
  77.                       if (!result.error)
  78.                       {    
  79.                         var resultado = document.getElementById("result2");    
  80.                         resultado.innerHTML = result.translation;  
  81.                       }
  82.                       else alert(result.error.message);
  83.                     }
  84.                   );
  85.             }
  86.     else {
  87.                   // obtenemos el texto y los idiomas origen y destino
  88.                   var text    = document.getElementById("text").value;
  89.                   var srcLang = document.getElementById("srcLang").value;
  90.                   var dstLang = "de";
  91.  
  92.                   // llamada al traductor
  93.                   google.language.translate(text, srcLang, dstLang, function(result)
  94.                     {
  95.                       if (!result.error)
  96.                       {    
  97.                         var resultado = document.getElementById("result2");    
  98.                         resultado.innerHTML = result.translation;  
  99.                       }
  100.                       else alert(result.error.message);
  101.                     }
  102.                   );
  103.             }
  104.    
  105. }
  106. }
  107. </script>
  108. </html>

Gracias

Etiquetas: google, aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:11.