简介
最近想做个小工具,用到了翻译API接口,比对了下其他平台(百度云、阿里云等)感觉还是用腾讯云的(毕竟可免费翻译的字符多)。
教程
准备:
- 在官网注册登录账号。
- 创建一个maven项目。
第一步
登录腾讯云控制台,搜索“机器翻译”,点击进入。
第二步
开通服务。
第三步
查看资源包中免费可用字符数。
第四步
在访问管理中新增API秘钥,并且把它保存下来。
第五步
在maven项目中添加java版的sdk。其他语言sdk可以在这里下载。
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>
<version>3.1.835</version>
</dependency>
sdk下载
第六步
代码调用,参考接口文档进行参数的调整。
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.tmt.v20180321.TmtClient;
import com.tencentcloudapi.tmt.v20180321.models.TextTranslateRequest;
import com.tencentcloudapi.tmt.v20180321.models.TextTranslateResponse;
/**
* @project
* @Classname
* @Description
* @Author:
* @CreateTime:
*/
public class TencentTranslationClient {
private final TmtClient client;
/**
* secretId,secretKey id和密钥
*/
public TencentTranslationClient(String secretId, String secretKey) {
Credential cred = new Credential(secretId, secretKey);
client = new TmtClient(cred, "ap-beijing");
}
/**
* secretId,secretKey id和密钥
* region 地域
*/
public TencentTranslationClient(String secretId, String secretKey,String region) {
Credential cred = new Credential(secretId, secretKey);
client = new TmtClient(cred, region);
}
/**
* text 需要翻译的文本
* sourceLang 翻译文本的语种
* targetLang 目标语种
*/
public String translateText(String text, String sourceLang, String targetLang) throws TencentCloudSDKException {
TextTranslateRequest req = new TextTranslateRequest();
req.setSourceText(text);
req.setSource(sourceLang);
req.setTarget(targetLang);
req.setProjectId(0L);
TextTranslateResponse resp = client.TextTranslate(req);
return resp.getTargetText();
}
}
地域
亚太东南(曼谷) | ap-bangkok |
华北地区(北京) | ap-beijing |
西南地区(成都) | ap-chengdu |
西南地区(重庆) | ap-chongqing |
华南地区(广州) | ap-guangzhou |
港澳台地区(中国香港) | ap-hongkong |
亚太南部(孟买) | ap-mumbai |
亚太东北(首尔) | ap-seoul |
华东地区(上海) | ap-shanghai |
华东地区(上海金融) | ap-shanghai-fsi |
华南地区(深圳金融) | ap-shenzhen-fsi |
亚太东南(新加坡) | ap-singapore |
亚太东北(东京) | ap-tokyo |
欧洲地区(法兰克福) | eu-frankfurt |
美国东部(弗吉尼亚) | na-ashburn |
美国西部(硅谷) | na-siliconvalley |
翻译文档代码
String TENCENT_SECRETID="";
String TENCENT_SECRETKEY="";
TencentTranslationClient translationClient = new TencentTranslationClient(TENCENT_SECRETID, TENCENT_SECRETKEY);
try {
String translatedText = translationClient.translateText("需要翻译的文本", "zh", "en");
System.out.println("translatedText:"+translatedText);
} catch (TencentCloudSDKException e) {
e.printStackTrace();
}
可翻译的语言
翻译后的语言
结语
除了文本翻译外,还支持图片翻译、文件翻译等,这些有需要也可以使用。今天的内容到此为止,下篇文章再见。