2017-02-24 19 views
0

Ich verwende Google transliterate in meiner Anwendung.Google transliteration auf keyup

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


<script type="text/javascript"> 
    google.load("elements", "1", { packages: "transliteration" }); 
</script> 
<script> 
    function OnLoad() { 
     var options = { 
      sourceLanguage: 
      google.elements.transliteration.LanguageCode.ENGLISH, 
      destinationLanguage: 
      [google.elements.transliteration.LanguageCode.TAMIL], 
      shortcutKey: 'ctrl+g', 
      transliterationEnabled: true 
     }; 
     //farmer name 
     var control = new google.elements.transliteration.TransliterationControl(options); 
     control.makeTransliteratable(["txtFarmer_nameTn"]); 
     var keyVal = 32; // Space key 
     $("#txtFarmer_nameEng").on('keydown', function (event) { 
      if (event.keyCode === 32) { 
       var engText = $("#txtFarmer_nameEng").val() + " "; 
       var engTextArray = engText.split(" "); 
       $("#txtFarmer_nameTn").val($("#txtFarmer_nameTn").val() + engTextArray[engTextArray.length - 2]); 
       document.getElementById("txtFarmer_nameTn").focus(); 
       $("#txtFarmer_nameTn").trigger(
       { 
        type: 'keypress', keyCode: keyVal, which: keyVal, charCode: keyVal 
       }); 
      } 

      var txt1 = document.getElementById("txtFarmer_nameEng").value; 
      if (txt1.length == 1) { 
       document.getElementById("txtFarmer_nameTn").value = ""; 
      } 


     }); 

     $("#txtFarmer_nameTn").bind("keyup", function (event) { 
      setTimeout(function() { 
       $("#txtFarmer_nameEng").val($("#txtFarmer_nameEng").val() + " "); 
       document.getElementById("txtFarmer_nameEng").focus() 
      }, 0); 
     }); 
} 
google.setOnLoadCallback(OnLoad); 
</script> 

Es funktioniert auch gut. Aber das Problem ist, dass der Text erst übersetzt wurde, nachdem er die Leertaste gedrückt hatte. Ich muss den Text bei jedem Tastendruck übersetzen.

Hier ist die reference

Bitte keine Lösung vorschlagen. Ich habe Roaming über Google, aber ich kann nicht die genaue Lösung erhalten. Vorschlagen, was anstelle von Google Transliterate API verwendet werden soll.

Vielen Dank im Voraus.

Antwort

0

Der Weg, den Sie gehen, ist falsch mit Google Translate. Google ist nicht erlaubt mit dem dynamischen Hinzufügen von Tab oder Leertaste für die Übersetzungssprache.

Wir müssen Tab oder Leertaste nach dem geschriebenen Text physikalisch drücken.

+0

Okay Pang. Ich denke, du hast recht, es gibt keine Möglichkeit, was ich denke. –