How to use google translate api or similar for free?

0

I'm trying to do an exercise for class. It is a translator with JFrame windows. The fact is that I try to use the Google Translate API and it seems to be paid. The error that shows me is the following:

  

[google-api-translate-java] Error retrieving translation.

I have the following code:

private void jButtonEspIngActionPerformed(java.awt.event.ActionEvent evt) {                                              

        try {

        String textoOrig = (String) this.jTextFieldOri.getText();
        String textoTrad;
        textoTrad = Translate.DEFAULT.execute(textoOrig, Language.SPANISH, Language.ENGLISH);
        this.jTextFieldTrad.setText(textoTrad);
    } catch (GoogleAPIException e) {
        System.out.println("Error " + e);

    }
}                                             

/**
 * @param args the command line arguments
 */
public static void main(String args[]) {

    /* Set the Nimbus look and feel */
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
     * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     */
    try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                javax.swing.UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(Tra.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(Tra.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(Tra.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(Tra.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>

    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new Tra().setVisible(true);
           GoogleAPI.setHttpReferrer("http://code.google.com/p/google-api-translate-java/");
        GoogleAPI.setKey("AIzaSyAbr8K-aiuxt8h-dK_vYL12QVpePQgQrpk");
        }
    });
}

// Variables declaration - do not modify                     
private javax.swing.JButton jButtonEspIng;
private javax.swing.JButton jButtonIngEsp;
private javax.swing.JTextField jTextFieldOri;
private javax.swing.JTextField jTextFieldTrad;
// End of variables declaration                   
 }

If you could help me! Thanks.

    
asked by AnnaPS 21.03.2017 в 18:47
source

1 answer

1

Your assessment is correct: the Google Translation API (part of the Google Cloud Platform) is paid (unlike other services, such as Maps, which maintain a free use layer); here you can see the list of costs of the translation service.

One alternative (viable if you are just doing exercises or learning technology) is to create a 12-month trial account. Enter here and click on the "Try It Free" button, where you can sign up an account with enough credit to make your exercises; The only drawback is that you have to enter data from a credit card.

The important thing is that the discard account is used as an access credential for the code that you will execute; The documentation describes how to do all that in Java and other languages.

PD. As questions about alternatives, you could also use the Bing translation API (Microsoft). Here you can read about that service: unlike Google, in this case if there is a free layer (Even if you do not "save yourself" from generating an Azure account to use the service).

    
answered by 21.03.2017 в 20:33