google.language API is no longer available

607 Views Asked by At

I have been using below posted code for transliterating user input on button click. But when run the code and click the transliterate button, I am getting /* callback */google.language.callbacks.id100('22', null, 403, 'This API is no longer available.', 200) response in my browser's (firefox) console. So please tell what can be its alternate solution?

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
  <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
    <title>Google AJAX Language API - Basic Transliteration</title> 
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript"> 

    google.load("language", "1");
    google.load("elements", "1", { packages: "transliteration" });
    function intialize_transliteration(){
        var options = {
          sourceLanguage: 'en', 
          destinationLanguage: ['kn'], 
          shortcutKey: 'ctrl+g',
          transliterationEnabled: true
        };
        var control =
            new google.elements.transliteration.TransliterationControl(options);
    //add as many as required
        var ids = [ "fnk", "lnk" ];

    control.makeTransliteratable(ids);
        control.showControl('translControl');
    }   

   google.setOnLoadCallback(intialize_transliteration);


    function tr() { 
            //Call google.language.transliterate() 
            google.language.transliterate(["asdas"], "en", "ur", function(result) {

                var container = document.getElementById("fnk");
                if (result.transliterations && result.transliterations.length > 0 &&
                    result.transliterations[0].transliteratedWords.length > 0) {
                  container.innerHTML = result.transliterations[0].transliteratedWords[0];
                }

            });
        }


    </script> 
  </head> 
  <body> 
 <br>      First Name <input value="Thejesh Gangaiah" id="fn" />
 <br>      First Name (in Kannada) <input value="" id="fnk"/>
 <br>      Last Name <input value="Nagarathna" id="ln" />
 <br>      Last Name (in Kannada) <input value="" id="lnk"/>

 <div id='translControl'></div>
<input type="button" onclick="tr()" value="transliterate"/>
  </body> 
</html>
1

There are 1 best solutions below

2
On

The google transliteration API was deprecated in 2011, so I think that, as of today (June 2018), according to their Deprecation Policy, it can be gone. That means that can't be used anymore. The problem is not with your code, but with the service becoming unavailable.