google提供的翻译API需要收费,不过还好,微软提供的翻译API在每月200W以下不收费.我想200W已经足够了,详情可以访问:https://datamarket.azure.com/dataset/1899a118-d202-492c-aa16-ba21c33c06cb了解.
首先下载https://code.google.com/p/microsoft-translator-java-api/ 这个提供了两个jar包其中microsoft-translator-java-api-0.6.2.jar是为Android提供的.这里我下载microsoft-translator-java-api-0.6.2-jar-with-dependencies.jar.
使用微软提供的翻译API需要ClientId和ClientSecret.访问:https://datamarket.azure.com/account注册获得如下图:
其使用的方法也相当简单.
package gd.hz.lang;
import com.memetix.mst.language.Language;
import com.memetix.mst.translate.Translate;
public class Bing {
public static void main(String[] args) throws Exception {
//关于微软翻译API如何收费:https://datamarket.azure.com/dataset/1899a118-d202-492c-aa16-ba21c33c06cb
//每月200W以下不收费.
Translate.setClientId("xxxx");
Translate.setClientSecret("xxxxxx");
String translatedText;
String content = "<p>你好.</p><li><a href='#new_post' class='btn_1'><span><img src='/assets/ico_return.gif' alt='' />回复</span></a></li>";//text/plain
Translate.setContentType("text/html;charset=utf-8");
translatedText = Translate.execute(content, Language.CHINESE_SIMPLIFIED, Language.ENGLISH);
System.out.println(translatedText);
}
}
这里我们可以设置内容的类型和字符集设为text/plain即翻译普通文本:
Translate.setContentType("text/html;charset=utf-8");
translatedText = Translate.execute(content, Language.CHINESE_SIMPLIFIED, Language.ENGLISH);
第一个参数:要翻译的内容
第二个参数;源语言
第三个参数:目标语言
需要注意,ClientId和ClientSecret是需要注册微软的帐号才能获得.