- 浏览: 306241 次
- 性别:
- 来自: 郴州
文章分类
- 全部博客 (70)
- hadoop (0)
- lucene (1)
- heritrix (1)
- webservice (0)
- css+div (0)
- java (29)
- javaweb (3)
- spring (2)
- hibernate (3)
- struts (5)
- struts2 (3)
- tomcat (1)
- map/reduce (0)
- ajax (0)
- android (3)
- oracle (3)
- 面试题 (1)
- 生活 (0)
- 开发工具 (1)
- 面试实习 (0)
- 设计模式 (3)
- 数据结构 (5)
- 论坛 (2)
- flex (3)
- PureMVC (1)
- java,jdk (1)
- sql server (1)
- 报表 (1)
- 算法 (4)
- 工作 (0)
最新评论
-
lp895876294:
第三种方式类似于工厂方法模式了
设计模式之单例模式(三种实现方式) -
xchsh12345:
如果用的是linux服务器呢
解决利用iText导出PDF报表中文乱码两种方式 -
memoryisking:
写的不错,关于Timer和TimeTask的内容网上资料挺多的 ...
Java定时调度 Timer类和TimerTask类 -
linfeng0169:
写的不错~!不过就是解释的不算好!
Calendar类add()与roll()方法的区别 -
u013606853:
好流弊的样子,LZ V5~
hibernate注解详解
首先下载从http://code.google.com/p/google-api-translate-java/下载最新的,目前最新的是google-api-translate-java-0.94.jar.
利用谷歌翻译提供的API可以实现文件和文本翻译
//遍历文件
暂时还没找到比较好的方法来直接翻译pdf和doc文档,还有txt翻译出来没有文本的格式,哪位大虾知道解决方法可以留言给我好吗?小弟感激不尽。
利用谷歌翻译提供的API可以实现文件和文本翻译
/** * 2010-10-10 * GoogleTranslateDemo.java * author:ZengZhaoShuai */ package wsg.google.translate; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.List; import wsg.file.util.ReadFiles; import com.google.api.Files; import com.google.api.translate.Language; import com.google.api.translate.Translate; /** * @author zengzhaoshuai * */ public class GoogleTranslateDemo { // 静态初始化块 static { Translate .setHttpReferrer("http://code.google.com/p/google-api-translate-java/"); } /** * * @param text * @param from * @param to * @return */ public static String gettranslatedText(String text, Language from, Language to) { /** * 第一个参数:要翻译的内容 第二个参数:翻译内容原始的语言 第三个参数:翻译内容要得到结果的语言 */ String translatedText = ""; try { translatedText = Translate.execute(text, from, to); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return translatedText; } /** * * @param files * @param from * @param to * @param size * 设置限制文件的大小 */ public static void TranslateFiles(List<File> files, Language from, Language to, int size) { // 翻译某个目录下的所有文件 for (File file1 : files) { File parent = new File(file1.getParent()); File file2 = new File(parent.getParent() + "\\" + parent.getName() + "_EN\\" + file1.getName()); if (!new File(parent.getParent() + "\\" + parent.getName() + "_EN\\").exists()) { // 创建一个文件夹,文件夹名为先前文件加上_EN new File(parent.getParent() + "\\" + parent.getName() + "_EN\\") .mkdir(); } try { // 由于google会根据访问使用谷歌翻译的情况限制翻译文件的大小,一般翻译6KB大小的文件没什么问题 if (file1.length() <= 1024 * size) { // 文件大小小于或等于6KB(4*1024B)时 String translateText = gettranslatedText(Files.read(file1), from, to); Files.write(file2, translateText);// 写入文件 } else { // //文件大小大于设定的文件大小限制时,一般设置为6KB时 // 采取把文件分为多个块,每个块分别翻译,块的大小与文件限制大小相同 int len = 1024 * size, count = 1; long length = file1.length(); if (length % len == 0) { count = ((int) length) / len; } else { count = ((int) length) / len + 1; } byte buf[] = new byte[(int) length]; InputStream inputStream = null; OutputStream outputStream = null; inputStream = new FileInputStream(file1); outputStream = new FileOutputStream(file2); for (int i = 0; i < count; i++) { if ((i + 1) * len <= length) { inputStream.read(buf, i * len, len); outputStream.write(gettranslatedText( new String(buf, i * len, len), from, to) .trim().getBytes()); } else { inputStream.read(buf, i * len, (int) length - i * len); outputStream .write(gettranslatedText( new String(buf, i * len, (int) length - i * len), from, to).trim().getBytes()); } } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void main(String[] args) { // 翻译文本 String text = "我爱你"; System.out.println(GoogleTranslateDemo.gettranslatedText(text, Language.CHINESE, Language.ENGLISH)); // 翻译所在目录下的文件,目前测试的好像只有txt文件的比较有效 ReadFiles readFiles = new ReadFiles("E:\\test");// 文档所在目录 // 实现中文翻译英文,设置文件限制大小为6KB GoogleTranslateDemo.TranslateFiles(readFiles.getFiles(), Language.CHINESE, Language.ENGLISH, 6); } }
//遍历文件
package wsg.file.util; import java.io.File; import java.util.ArrayList; import java.util.List; public class ReadFiles { private List<File> files = new ArrayList<File>(); private File dir; public ReadFiles(String directoryPath){ dir=new File(directoryPath); } public void listFiles(File dir) { File file[] = dir.listFiles(); for (int i = 0; i < file.length; i++) { if (file[i].isDirectory()) { this.listFiles(file[i]); //迭代遍历 } else { //迭代选择txt文件 if (file[i].getName().lastIndexOf(".txt") != -1){ files.add(file[i]); } } } } public List<File> getFiles(){ this.listFiles(dir); return files; } }
暂时还没找到比较好的方法来直接翻译pdf和doc文档,还有txt翻译出来没有文本的格式,哪位大虾知道解决方法可以留言给我好吗?小弟感激不尽。
- google-api-translate-java-0.94.jar (34.7 KB)
- 下载次数: 89
发表评论
-
利用微软翻译API替代被停用谷歌翻译API
2012-02-13 13:37 10418众所周知,谷歌已经不支持翻译API1版本了,现在提供了A ... -
(转)Java回调实现
2011-12-08 14:38 1157Java回调实现 轮询:过10分钟就到女朋友宿舍前面去看她有 ... -
java实现排序算法之插入排序(直接插入排序、折半插入、shell排序)
2011-09-15 09:29 2508插入排序主要包括直接插入排序、shell排序和折半插入等几种排 ... -
java实现排序算法之交换排序(冒泡排序、快速排序)
2011-09-14 21:28 2616交换排序的主体操作是对数组中的数据不断进行交换操作。交换排序主 ... -
java实现排序算法之选择排序(直接选择排序、堆排序)
2011-09-14 20:44 2665常用的选择排序算法有两种:直接选择排序和堆排序。 一、直接选择 ... -
java 实现数据结构之队列
2011-09-14 15:27 12646队列是一种特殊的线性表,它只允许在表的前端(front)进行删 ... -
java 实现数据结构之线性表
2011-09-14 11:44 10697应用程序后在那个的数据大致有四种基本的逻辑结构: 集合:数 ... -
java 实现undo和redo操作链表的一种实现
2011-09-14 10:32 2162今天在iteye论坛逛,发现有这么一道笔试题目:实现一个可以增 ... -
jdbc连接mysql oracle sql server数据库的连接字符串
2011-09-13 10:41 2747jdbc连接mysql oracle sql serv ... -
java 利用label标记退出多重循环
2011-09-10 09:16 12083学过C语言的都知道,有个goto关键字,利用goto关键字可以 ... -
深入JDK源代码之定时操作Timer类和TimerTask类实现
2011-07-26 14:45 3502Timer类是一种线程设施,可以用来实现某一个时间或某 ... -
(转)Java中对象的深复制(深克隆)和浅复制(浅克隆)
2011-07-25 20:31 12241.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象 ... -
深入JDK源代码之LinkedList类
2011-07-26 09:09 1918public class LinkedList<E> ... -
Java中的transient关键字
2011-07-25 14:36 24922transient说明一个属性是临时的,不会被序列化。 下面是 ... -
深入JDK源代码之Observer接口和Observable类实现观察者模式
2011-07-25 11:46 3447一、何为观察者模式? 观察者模式(有时又被称为发布/ ... -
深入JDK源代码之ArrayList类
2011-07-22 11:19 2943public class ArrayList<E&g ... -
深入JDK源代码之Arrays类中的排序查找算法
2011-07-22 09:58 3984最近在暑假实习, ... -
java 实现数据结构之栈
2011-07-10 21:51 4673在学数据结构课程 ... -
Java定时调度 Timer类和TimerTask类
2011-07-10 15:38 23943Timer类是一种线程设施,可以用来实现某一个时间或某一段 ... -
Calendar类add()与roll()方法的区别
2011-07-06 22:45 10964JDK API中对这两个方法的说明如下: abstract ...
相关推荐
- `google-api-translate-java`支持所有Google翻译API支持的语言,通过ISO 639-1语言代码来指定源语言和目标语言。例如,"en"代表英语,"zh-CN"代表简体中文。 6. **其他功能** - 除了基本的文本翻译,类库可能还...
执行翻译的类则包含了向谷歌翻译API发送请求并接收响应的逻辑,开发者只需要传入待翻译的文本和目标语言代码,即可获取翻译结果。 使用这个jar包的前提是确保网络连接正常,因为所有的翻译请求都需要通过网络发送到...
不过,考虑到便捷性和易用性,许多开发者会选择使用Google官方提供的Gson库来处理JSON数据,因为谷歌翻译API返回的结果通常是JSON格式。 项目中的"google_translation_api-master"文件夹可能包含以下组件: 1. `src...
5. **API文档与资源**:提供的链接指向了一个名为matools的网站,该网站提供了与Android相关的API文档。尽管这里提到的是Android,但我们可以推测该网站也可能包含了关于谷歌翻译版Java API的相关资源和文档,这些...
Google Translate API 是一个强大的在线翻译服务,允许开发者将文本从一种语言翻译成另一种语言。它支持多种编程语言和平台,包括Android。通过简单的API调用,开发者可以轻松地在自己的应用中集成翻译功能。 #### ...
2. PyQT5谷歌翻译:这表明应用是用PyQT5框架构建的,用于实现用户界面和与谷歌翻译API的交互。 3. google-translate:这可能是应用的名称,也可能指的是源代码文件夹或项目名称。 压缩包子文件的文件名称列表包含...
谷歌翻译API是谷歌提供的一项强大的在线翻译服务,它允许开发者在他们的应用或系统中集成自动翻译功能。然而,商业使用谷歌翻译API通常需要付费,这可能会对一些个人开发者或者小型项目造成经济负担。针对这种情况,...
由于不需要API密钥,这可能意味着它利用的是Google翻译的公共接口,可能会有一定的使用限制,例如请求频率或翻译字符数。 标签中的"google翻译"是指Google提供的在线翻译服务,它支持多种语言之间的互译,具有较高...
需要注意的是,虽然本文提供了一个使用谷歌Translate API的具体实现示例,但在实际使用中,谷歌可能已经变更了API的细节或限制了免费使用,因此在应用本文的示例时需要对照当前的API文档进行必要的调整。同时,使用...
而`gettk.js`可能是用于获取翻译令牌的JavaScript脚本,这是调用谷歌翻译API的关键步骤,因为每次翻译请求都需要一个有效的令牌来验证身份。 总的来说,这款最新的谷歌翻译工具利用C#编程语言和谷歌的翻译服务,以...
3. **请求构建**:根据API文档,构造翻译请求的参数,如源语言、目标语言和待翻译的文本。 4. **请求执行**:发送POST请求到API服务器,通常包括API密钥和请求参数。 5. **响应处理**:接收并解析API返回的JSON或...
总的来说,这个压缩包中的Java源码和文档为学习和使用Google Translate API提供了一个实用的起点。通过研究这些材料,开发者不仅可以掌握如何在Java项目中整合翻译功能,还能了解到API调用、认证、异常处理等通用的...
自动翻译论文pdf生成带翻译段落的文本文档txt”提供了一种有效的方法,它利用了Python库pdfminer进行PDF解析,并通过某种翻译API(如Google Translate或DeepL)将内容翻译成所需的语言,最终生成带有原文和翻译的TXT...
总结来说,"translate_越南语api_GooglepayVietnam_翻译_"这一主题涉及到利用谷歌翻译API进行越南语文本处理的技术,以及在实际应用中的多种可能性。通过理解和使用这样的API,开发者能够轻松地在他们的产品和服务中...
这里的'YOUR_API_KEY'需要替换为你在Google Cloud Console中获取的API密钥,源语言和目标语言则指定翻译的源文本语言和期望的目标语言代码,如'en'代表英语,'zh-CN'代表简体中文。 值得注意的是,尽管"google-...
- 谷歌翻译API是Google Cloud的一部分,提供高质量的多语言翻译。调用时,需要使用OAuth 2.0进行身份验证,并通过POST请求发送JSON数据,包含待翻译的文本和源语言、目标语言代码。 4. **百度翻译API**: - 百度...
谷歌翻译API提供了一套丰富的接口,支持多种语言的文本翻译、语音翻译、文档翻译等功能。开发者可以通过发送HTTP请求至API端点,传递待翻译的文本或文档,以及目标语言等参数,即可获取翻译结果。这种方式适用于构建...
通过调用谷歌翻译API,开发者可以实现文本、甚至整个文档的自动翻译。接口通常支持多种编程语言,如Python、Java、C#等,允许开发者根据需要选择合适的语言进行调用。 接口调用的过程一般包括以下步骤: 1. 注册并...
标题中的“复制翻译软件神器,谷歌翻译”指的是一个利用谷歌翻译API实现的高效便捷的翻译工具,它允许用户快速地翻译选定的文本,尤其适用于阅读和理解英文论文或文章。这款软件通过复制和粘贴机制,能够无缝对接...
4. **请求参数**:调用谷歌翻译API时,需要提供源语言、目标语言和待翻译的文本。此外,可能还需要包括TKK值,虽然在这个项目中我们跳过了JavaScript计算TKK的步骤。你需要根据谷歌API文档准备这些参数。 5. **构建...