今天在网上乱逛,一不小心发现这个Google翻译,用Java调用的实例,把它拷来看了一下,挺不错的!
原文是英语和法语的互相翻译,我改成中文和英语的,但是好像中文翻译英文时有点问题,翻译不了!其他的都可以用的。
下面是一个截图:


源代码:
package test;

/*
* TranslatorFrame.java
*
* Created on 03 February 2008, 19:47
*/

import com.google.api.translate.Language;
import com.google.api.translate.Translate;
import java.awt.event.KeyEvent;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
*
* @author rich
*/
public class TranslatorFrame extends javax.swing.JFrame {
    
    /** Creates new form TranslatorFrame */
    public TranslatorFrame() {
        initComponents();
        setLocationRelativeTo(null);
    }
    
    private void translate() {
        try {
            String languageFrom = null;
            String languageTo = null;
            if (chineseToEnglishMenuItem.isSelected()) {
                languageFrom = Language.CHINESE_SIMPLIFIED;
                languageTo = Language.ENGLISH;
            } else if (englishToChineseMenuItem.isSelected()) {
                languageFrom = Language.ENGLISH;
                languageTo = Language.CHINESE_SIMPLIFIED;
            }
            toTextArea.setText(Translate.translate(fromTextArea.getText().trim(), languageFrom, languageTo));
        } catch (Exception ex) {
            Logger.getLogger(TranslatorFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

buttonGroup1 = new javax.swing.ButtonGroup();
        jPanel2 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        fromTextArea = new javax.swing.JTextArea();
        jPanel3 = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        toTextArea = new javax.swing.JTextArea();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenu3 = new javax.swing.JMenu();
        englishToChineseMenuItem = new javax.swing.JRadioButtonMenuItem();
        chineseToEnglishMenuItem = new javax.swing.JRadioButtonMenuItem();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Google翻译");
        getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.PAGE_AXIS));

fromTextArea.setColumns(20);
        fromTextArea.setLineWrap(true);
        fromTextArea.setRows(5);
        fromTextArea.setWrapStyleWord(true);
        fromTextArea.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                fromTextAreaKeyPressed(evt);
            }
        });
        jScrollPane1.setViewportView(fromTextArea);

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 309, Short.MAX_VALUE)
                .addContainerGap())
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 93, Short.MAX_VALUE)
                .addContainerGap())
        );

getContentPane().add(jPanel2);

toTextArea.setColumns(20);
        toTextArea.setEditable(false);
        toTextArea.setLineWrap(true);
        toTextArea.setRows(5);
        toTextArea.setWrapStyleWord(true);
        jScrollPane2.setViewportView(toTextArea);

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 309, Short.MAX_VALUE)
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 93, Short.MAX_VALUE)
                .addContainerGap())
        );

getContentPane().add(jPanel3);

jMenu1.setText("文件");

jMenuItem1.setText("退出");
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem1);

jMenuBar1.add(jMenu1);

jMenu3.setText("语言");

buttonGroup1.add(englishToChineseMenuItem);
        englishToChineseMenuItem.setSelected(true);
        englishToChineseMenuItem.setText("英语 > 简体中文");
        jMenu3.add(englishToChineseMenuItem);

buttonGroup1.add(chineseToEnglishMenuItem);
        chineseToEnglishMenuItem.setText("简体中文 > 英语");
        jMenu3.add(chineseToEnglishMenuItem);

jMenuBar1.add(jMenu3);

setJMenuBar(jMenuBar1);

pack();
    }// </editor-fold>

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
        System.exit(0);
    }

private void fromTextAreaKeyPressed(java.awt.event.KeyEvent evt) {
        if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
            translate();
            evt.consume();
        }
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new TranslatorFrame().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.JRadioButtonMenuItem englishToChineseMenuItem;
    private javax.swing.JRadioButtonMenuItem chineseToEnglishMenuItem;
    private javax.swing.JTextArea fromTextArea;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTextArea toTextArea;
    // End of variables declaration
    
}

上面的代码用到了Google提供的一个jar,下载地址:
google-api-translate-java-0.4.jar

Java调用Google的翻译实例相关推荐

  1. Java 调用Google Map Api解析地址,解析经纬度实例

    Java 调用Google Map Api解析地址,解析经纬度实例 使用google地图的反向地址解析功能,提供一个经纬度得到对应地址,或者给出模糊地址,得到经纬度,放在java后台代码中处理,这个使 ...

  2. Java调用有道翻译API包括APPID/密钥地址注册

    Java调用有道翻译API 因为上次发的资源用的我的APPID 导致我的服务已经停用了-- 现在把地址也一并奉上 希望都可以自己注册. APPID/密钥 注册地址:http://ai.youdao.c ...

  3. 最新C#调用Google即时翻译

    主要是调用谷歌的翻译API进行翻译,WebRequest的请求,将获取到的翻译提取出来.下面上代码 需要用到一个的js文件:对获取到数据的过滤,命名为gettk.js var b = function ...

  4. android java调用c_Android JNI简单实例(android 调用C/C++代码)

    Android的jni实例 android 的应用程序(Dalvik VM)中使用JNI(Java Native Interface)调用C/C++开发的共享库. c/c++中调用java程序的方法以 ...

  5. Java调用Google Analytics API实现网站统计

    首先,申请Google帐号和Google Analytics服务,并将统计代码放入你想统计的网站中一段时间,确保你的Google Analytics中已有数据. 在Google Analytics中, ...

  6. Java 调用 有道翻译API

    利用有道API进行翻译     import java.io.BufferedReader; import java.io.IOException; import java.io.InputStrea ...

  7. JNI之java调用c库简单实例

    一.适用: 因为架构迁移或者开发需要,有时候需要在android应用开发中,调用已有的c语言开发库,此时可能需要用到JNI. 二.示例: 1.Android Studio安装"合适的&quo ...

  8. java调用淘宝api实例

    淘宝api的简单调用:http://blog.csdn.net/wxwzy738/article/details/17161895 获取sessionkey : http://www.cnblogs. ...

  9. 用Java调用C语言代码实例(JNI)

    为初步理解Java中native本地方法的使用,提出使用native方法实现计算任意正整数二进制的需求(native方法是Java中的本地方法,一般采用C/C++通过JNI(Java native i ...

最新文章

  1. 只有ajax会跨域吗_ajax处理跨域有几种方式
  2. 三步搞定 opencv 初始环境设定
  3. bInitiallyDisabled
  4. Scrapy 爬虫框架初体验二 —— 以一个新闻站点爬取为例
  5. Linux部署安装JDK
  6. 打开AD16的库librarry
  7. sourcetree合并分支_不会git命令,没关系啊,还有强大的图形界面工具SourceTree
  8. MATLAB 动图绘制、保存
  9. 布隆过滤器 redis_redis位图-布隆过滤器
  10. OpenStack踩坑记录
  11. python 绘制中国地图并利用经纬度标注散点
  12. strcmp函数详解看这一篇就够了-C语言(函数实现、使用用法举例、作用、与strncmp的区别)
  13. 【mysql入门笔记02 2022.10.03】
  14. python测试工程师简历模板_测试工程师英文简历模板范文
  15. 修改+首选+dns服务器地址,首选dns服务器地址怎么设置
  16. Android渐变背景色
  17. 如何自动采集QQ群的共享文件
  18. Unity:编辑器Editor常用命令
  19. 吐槽弹幕网,解决映兔源无法播放的书签插件
  20. 简单有效解决onenote无法设置或修改默认的英文字体“Calibri”(简单实用)

热门文章

  1. 人工智能教程 - 1.1.1 什么是神经网络
  2. 怎样用计算机看电影听音乐,如何使用Windows Media Player听歌看电影
  3. 3dmax:3dmax三维VR渲染设置之高级灯光渲染(经典案例—利用自由聚光灯制作筒灯效果效果)图文教程
  4. vscode-remote 无法写入文件“vscode-remote://ssh-remote
  5. 利用GDB进行多线程调试
  6. Yoga是联想PC+战略的延伸和拓展
  7. 该产品与此版 VMware Workstation 不兼容,因此无法使用
  8. KU060板卡设计资料原理图第636篇:基于FMC的KU060高性能 PCIe 载板
  9. T/CMSA 0027-2022 区域陆地碳汇评估技术指南
  10. 广义item2vec的典型例子----双塔模型