本文目录导读:

- 通用原理(无论哪个API,步骤基本如下)
- 示例1:使用 DeepL API(推荐,翻译质量高,英文友好)
- 示例2:使用百度翻译API(国内常用,支持中文友好)
- 常见问题与解决方法
- 如果不想写代码:直接用工具或库
“翻译API的调用”通常指的是通过HTTP请求向翻译服务(如Google翻译、DeepL、阿里云翻译、百度翻译等)发送文本,并获取翻译结果。
由于不同的翻译服务商(Google、DeepL、百度、阿里等)的接口地址、认证方式、请求参数都不同,具体调用方式有差异。
下面以目前比较流行的 DeepL API 和 百度翻译API 为例,分别展示如何从零开始调用。
通用原理(无论哪个API,步骤基本如下)
- 注册账号:去目标翻译平台(如阿里云、百度、DeepL)注册。
- 创建应用/获取密钥:获得
App ID/Access Key/API Key等认证信息(通常需要付费或实名认证)。 - 阅读文档:找到该平台的“API调用说明”,确认请求URL、请求头(Headers)、请求体(Body)格式。
- 发送请求:通过代码(Python、JavaScript、Java等)或工具(Postman、curl)发送HTTP POST/GET请求。
- 解析响应:接收JSON格式的返回结果,提取翻译后的文本。
示例1:使用 DeepL API(推荐,翻译质量高,英文友好)
DeepL 提供免费额度(每月50万字),用 curl 命令举例:
步骤
- 注册 DeepL API 获取
API Key(密钥)。 - 打开终端(Mac/Linux)或Git Bash(Windows)。
请求命令(向DeepL发送翻译)
curl -X POST 'https://api-free.deepl.com/v2/translate' \
-H 'Authorization: DeepL-Auth-Key 你的DeepL密钥' \
-H 'Content-Type: application/json' \
-d '{
"text": ["Hello, how are you?"],
"target_lang": "ZH"
}'
返回结果(JSON)
{
"translations": [
{
"detected_source_language": "EN",
"text": "你好,你怎么样?"
}
]
}
说明:
text:要翻译的文本(支持数组,一次可传多句)。target_lang:目标语言,“ZH”是中文,“JA”是日语等。Authorization:Header中传入密钥。
示例2:使用百度翻译API(国内常用,支持中文友好)
百度翻译需要先申请“通用翻译API”接入。
步骤
- 注册百度翻译开放平台,创建应用。
- 获得
AppID和Secret Key(密钥)。 - 参数需要
sign签名(加密验证)。
用Python调用示例(推荐新手)
import requests
import hashlib
import random
import json
def baidu_translate(text, from_lang='auto', to_lang='zh'):
appid = '你的百度翻译AppID'
secret_key = '你的密钥'
url = 'https://fanyi-api.baidu.com/api/trans/vip/translate'
# 生成随机字符串(需要与appid+text+salt+key拼接做md5)
salt = str(random.randint(32768, 65536))
sign_str = appid + text + salt + secret_key
sign = hashlib.md5(sign_str.encode()).hexdigest()
params = {
'q': text,
'from': from_lang,
'to': to_lang,
'appid': appid,
'salt': salt,
'sign': sign
}
response = requests.get(url, params=params)
result = response.json()
# 提取翻译结果
if 'trans_result' in result:
return result['trans_result'][0]['dst']
else:
return '翻译失败:' + str(result)
# 测试
print(baidu_translate('I love programming.'))
# 输出示例:我热爱编程。
注意:
- 百度翻译的签名算法:
appid + text + salt + secret_key做MD5。- 免费版有调用频率限制(QPS限制)。
常见问题与解决方法
问题1:返回 “401 unauthorized” / “认证失败”
- 原因:API Key 错误或未正确放到请求头中。
- 解决:检查密钥,并确认是否按文档要求放在
Authorization或Header或Body。
问题2:返回 “请求过于频繁” / “403”
- 原因:超过免费额度或QPS(每秒请求数)限制。
- 解决:降低请求频率,或升级付费套餐。
问题3:返回乱码或不翻译
- 原因:
target_lang参数填错(如“中文”应填zh而非cn)。 - 解决:查看文档确认语言代码(如DeepL用
ZH,百度用zh)。
问题4:没有找到免费的API
- 建议:
- DeepL免费版(每月50万字)足以满足个人或小项目。
- 百度翻译标准版免费额度较低,但入门方便。
- 如果只是临时使用,也可以直接用浏览器控制台抓包(不推荐生产环境)。
如果不想写代码:直接用工具或库
- Postman:可视化工具,填入URL、Headers、Body,直接发送测试。
- curl命令(如上所示)适合Unix/Linux/Mac。
- Python包
translators或googletrans(非官方,可能不稳定)。from translators import translate_text result = translate_text('Hello', to_language='zh') print(result) # 输出“你好”
| 步骤 | 具体操作 |
|---|---|
| 选择平台 | 推荐:DeepL(质量好)、百度/阿里(国内方便) |
| 获取密钥 | 注册应用,获得API Key / AppID |
| 阅读文档 | 查看请求地址、参数、签名方式 |
| 发送请求 | 用curl、Python、Postman发送POST/GET |
| 处理响应 | 解析JSON,提取翻译文本 |
如果你能告诉我你想用哪种语言(Python、JavaScript、Java) 以及目标翻译平台(百度、DeepL、阿里),我可以给你一个可以直接复制运行的完整代码。