bing翻译API调用(java版本)

来源:互联网 发布:云计算彩票分析师 编辑:程序博客网 时间:2024/05/16 04:03

之前软件做国际化,配置文件英文版需要翻译成中文版,总共快两万行了,但是翻译软件总会有字符限制,例如百度翻译5000个字符限制,bing翻译,最多的是google翻译,但是还是有字符限制,所以想到调用Translator API来自动翻译,使用的是微软翻译的API,因为google都上不了。

调用微软的API,首先要注册开发者账号。

这里有详细的图文教程:http://5icat.cn/thread-7180-1-1.html。

需要注意的是开发者账号不太管用,需要注册应用程序的客户端ID和密钥,最后可以发现微软每个月最多免费给你翻译2000000个字符。

然后,下载相关jar,一个是Microsoft-translator-java,另一个是jason-simple,我官网没下到,直接搜索5cto上面的下载。

代码如下,一个文件一行一行读出来,翻译,写进另一个文件里。

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import com.memetix.mst.language.Language;import com.memetix.mst.translate.Translate;/**  * @ClassName: MicroTranslate  * @Description: TODO(bing翻译)  * @author xiren  * @date 2015-3-10 下午4:13:07  *   */public class MicroTranslate {public static void main(String[] args) throws Exception {Translate.setClientId("你自己的程序id");        Translate.setClientSecret("你自己的密钥");        File file = new File("d:/resources_en_USequal.properties");        File dest = new File("d:/resources_zh_CNequal.properties");  //  String translatedText = Translate.execute("property", Language.ENGLISH, Language.CHINESE_SIMPLIFIED);    try {BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file),"gbk"));BufferedWriter writer  = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(dest),"gbk"));String line = reader.readLine();int i = 0;while(line!=null){if(line.startsWith("#")){writer.write(line+"\r\n");} else {String string = Translate.execute(line, Language.ENGLISH, Language.CHINESE_SIMPLIFIED);writer.write(string+"\r\n");writer.flush();}i++;if(i % 100 == 0) {System.out.println(i);}line = reader.readLine();}writer.flush();reader.close();writer.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}  }}

0 0
原创粉丝点击