Python3调用亚马逊翻译接口
引言
最近再做一个多语言的APP项目,由于需要翻译的文本数量比较大,所以想着说先用网上的自动翻译功能,做一个初版的,凑活着用。因为做的主要是国外的项目,所以选择了亚马逊的翻译接口。
参考资料
StartTextTranslationJob - Amazon Translate API Reference
Translate — Boto3 Docs 1.25.4 documentation (amazonaws.com)
实现代码
为了省事,直接调用了接口对应的SDK。
第一步 安装SDK
pip install boto3
第二步 调用
import pandas as panda
import boto3
access_key = "asdfasdfasd" # 亚马逊账号的key
access_secret = "asdfasdfasdfasdf" # 亚马逊账号的secret
# 创建客户端
translateClient = boto3.client(service_name='translate', use_ssl=True, region_name='us-east-1', aws_access_key_id=access_key,
aws_secret_access_key=access_secret)
def translate(text, fromLanguage, toLanguate):
'''
翻译
'''
response = translateClient.translate_text(
Text=text,
SourceLanguageCode=fromLanguage,
TargetLanguageCode=toLanguate,
)
print(response)
return response.get('TranslatedText')
# 测试
translate("Test", "en", "zh")
第三步 测试
终端运行,输出结果
{
"TranslatedText": "测试",
"SourceLanguageCode": "en",
"TargetLanguageCode": "zh",
"ResponseMetadata": {
"RequestId": "eece859d-bc12-484f-a8d0-5ff6017feb62",
"HTTPStatusCode": 200,
"HTTPHeaders": {
"x-amzn-requestid": "eece859d-bc12-484f-a8d0-5ff6017feb62",
"cache-control": "no-cache",
"content-type": "application/x-amz-json-1.1",
"content-length": "79",
"date": "Mon, 31 Oct 2022 07:16:10 GMT"
},
"RetryAttempts": 0
}
}
获取"TranslatedText"的值就可以获取到翻译的结果了。
这里就只简单介绍下翻译的功能,还有很多功能这里就不一一赘述了。
支持的语言
语言 | 语言代码 |
---|---|
南非荷兰语 | af |
阿尔巴尼亚语 | sq |
阿姆哈拉语 | am |
阿拉伯语 | ar |
亚美尼亚的 | hy |
阿塞拜疆语 | az |
孟加拉语 | bn |
波斯尼亚语 | bs |
保加利亚语 | bg |
加泰罗尼亚语 | ca |
简体中文 | zh |
繁体中文 | zh-TW |
克罗地亚语 | hr |
捷克语 | cs |
丹麦语 | da |
达里语 | fa-AF |
荷兰语 | nl |
英语 | en |
爱沙尼亚语 | et |
波斯语(波斯语) | fa |
菲律宾语、他加禄语 | tl |
芬兰语 | fi |
法语 | fr |
法语(加拿大) | fr-CA |
格鲁吉亚语 | ka |
德语 | de |
希腊语 | el |
古吉拉特语 | gu |
海地克里奥尔语 | ht |
豪萨语 | ha |
希伯来语 | he |
印地语 | hi |
匈牙利语 | hu |
冰岛语 | is |
印度尼西亚语 | id |
爱尔兰人 | ga |
意大利语 | it |
日语 | ja |
Kannada | kn |
哈萨克斯坦人 | kk |
韩语 | ko |
拉脱维亚语 | lv |
立陶宛语 | lt |
马其顿人 | mk |
马来语 | ms |
马拉雅拉姆语 | ml |
马耳他语 | mt |
马拉地语 | mr |
蒙古语 | mn |
挪威语 | no |
普什图语 | ps |
波兰语 | pl |
巴西葡萄牙语 | pt |
葡萄牙语 (葡萄牙) | pt-PT |
旁遮普语 | pa |
罗马尼亚语 | ro |
俄语 | ru |
塞尔维亚语 | sr |
僧伽罗人的 | si |
斯洛伐克语 | sk |
斯洛文尼亚语 | sl |
索马里语 | so |
西班牙语 | es |
西班牙语(墨西哥) | es-MX |
斯瓦希里语 | sw |
瑞典语 | sv |
泰米尔语 | ta |
泰卢固语 | te |
泰语 | th |
土耳其语 | tr |
乌克兰语 | uk |
乌尔都语 | ur |
乌兹别克的 | uz |
越南语 | vi |
威尔士语 | cy |