Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: Traduzione instantanea

  1. #1

    Traduzione instantanea

    Salve a tutti,

    ho trovato in rete uno script che permette di tradurre un testo mentre lo scrivi su un campo text di un form:

    esempio

    ma sembra che funzioni soltanto con un campo input e non con una textarea ....

    potete aiutarmi ?
    Pippo Giacalone
    giacalone@tin.it

  2. #2
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    Secondo me hai fatto textarea.value.

    VALUE non esiste per textarea!!!
    Usa innerHTML invece!
    A volte la soluzione a un problema è sempre la più semplice...

  3. #3
    Scusa skjobax potresti farmi un'esempio
    Pippo Giacalone
    giacalone@tin.it

  4. #4
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    codice:
    // Prendo il valore di textarea - corretto
    var input_text  = document.getElementById("textarea").innerHTML;
    Secondo me invece hai fatto così:
    codice:
    // Prendo il valore di textarea - errato
    var input_text  = document.getElementById("textarea").value;
    A volte la soluzione a un problema è sempre la più semplice...

  5. #5
    allora vediamo se ho capito:

    al posto di var text = document.getElementById("testo_it").value;
    metto var input_text = document.getElementById("testo_it").innerHTML;

    e come modifico questo
    translated.innerHTML = '<input style="width: 80%;" type="text" name="testo_en" id="testo_en" value="'+result.translation+'" />';
    Pippo Giacalone
    giacalone@tin.it

  6. #6
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    Dato che non conosco quella API di Google, prova a lasciarlo così e vedi se funziona...

    al posto di var text = document.getElementById("testo_it").value;
    metto var input_text = document.getElementById("testo_it").innerHTML;
    A volte la soluzione a un problema è sempre la più semplice...

  7. #7
    no, non va
    Pippo Giacalone
    giacalone@tin.it

  8. #8
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    Posta il codice che usi e anche la form
    A volte la soluzione a un problema è sempre la più semplice...

  9. #9
    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <
    title></title>
    <
    script type="text/javascript" src="http://www.google.com/jsapi"</script>
    <script type="text/javascript"> 
    google.load("language", "1"); 
    function initialize1() { 
      //var text = document.getElementById("testo_it").value; 
      var input_text = document.getElementById("testo_it").innerHTML;
      google.language.detect(text, function(result) { 
        if (!result.error && result.language) { 
          google.language.translate(text, result.language, "en", 
            function(result) { 
            var translated = document.getElementById("traduzione_en"); 
            if (result.translation) { 
              translated.innerHTML = '<input style="width: 80%;" type="text" name="testo_en" id="testo_en" value="'+result.translation+'" />';
            }
          });
        }
      });
    }
    </script>

    </head>
    <body>

    <table style="width: 500px">
        <tr>
            <td style="width: 150px">Testo (IT)</td>
            <td><input style="width: 80%;" type="text" name="testo_it" id="testo_it" value="" onkeyup="initialize1();" /></td>
        </tr>
        <tr>
            <td style="width: 150px">Testo (EN)</td>
            <td><div id="traduzione_en">
            <textarea style="width: 80%;" type="text" name="testo_en" id="testo_en" cols="40" rows="5" ></textarea>
            </div></td>
        </tr>
    </table>
    </body>
    </html> 
    Pippo Giacalone
    giacalone@tin.it

  10. #10
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    codice:
     google.language.detect(text, function(result) { 
        if (!result.error && result.language) { 
          google.language.translate(text, result.language, "en", 
            function(result) {
    Non hai modificato a dovere la funzione.

    text è il vecchio input.
    Ora hai dichiarato la variabile input_text, quindi, essendo text nullo, la traduzione è nulla.

    Modifica quello che ti ho messo sopra con
    codice:
     google.language.detect(input_text, function(result) { 
        if (!result.error && result.language) { 
          google.language.translate(input_text, result.language, "en", 
            function(result) {
    A volte la soluzione a un problema è sempre la più semplice...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.