Jump to content

Translating the text of a form using Google Translate API


transparencia

Recommended Posts

Basically, I have a form, and if the user inserts text in the form that is not in english, I want to translate it to english. Otherwise, just leave the text in english. This is what I have now, but it is not working:

 

<script>/*
*  How to translate text.
*/

/* google initalize */
google.load("language", "1");


function initialize() {

/* my form id is q */
  var searchQuery = document.getElementById('q');
  if(searchQuery.value != "")

  {

  // Detected the language

  google.language.detect(searchQuery, function(result) {
  if (!result.error) {
    var language = 'unknown';
    for (l in google.language.Languages) {
      if (google.language.Languages[l] == result.language) {
        language = l;


//if Language not english, then translate
    if (language != "ENGLISH")
    {

  google.language.translate(searchQuery, '', 'en', function(result) {

    if (result) {
// if there is a result, replace the q in the form with the translated one
          document.getElementById('q').innerHTML = result.translation;
    }
// else if there is no result, just leave the same query in the q form
    else  document.getElementById('q').innerHTML  = searchQuery.value;

  });
}
          break;
      }
    }

  }
});

         }
}


google.setOnLoadCallback(initialize);

</script>

This code is not working, it is not replacing the text in the form.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.