PHP 调用有道翻译 API 实现文本翻译
本文将演示如何利用 PHP 的 file_get_contents 函数对接有道翻译开放平台接口,完成文本翻译并解析返回结果。
申请 API 密钥
在调用接口前,必须先在有道翻译开放平台申请开发者账号并获取 API Key。注册地址:
http://fanyi.youdao.com/openapi?path=data-mode
API 接口说明
请求地址与参数
基础请求地址如下,其中各项参数需在代码中动态替换或固定填写:
http://fanyi.youdao.com/openapi.do?keyfrom=<keyfrom>&key=<key>&type=data&doctype=<doctype>&version=1.1&q=要翻译的文本
关键参数解释:
type:固定值为data。doctype:指定返回数据的格式,支持json、xml或jsonp,推荐使用 JSON 格式以便 PHP 处理。version:当前最新版本为1.1。q:需要翻译的原文内容,最长不超过 200 个字符,且必须使用UTF-8编码。keyfrom:应用标识名(Key from),需在后台设置中填写。key:您申请到的私有密钥。
错误码说明
请求成功后,可通过返回结果中的 errorCode 字段判断状态:
0:正常。20:要翻译的文本过长。30:无法进行有效的翻译。40:不支持的语言类型。50:无效的 Key。
PHP 调用示例
第1步:构造请求 URL
将翻译目标文本拼接至 API 地址后。请注意替换示例中的 <keyfrom> 和 <key> 为您自己的实际值。
$content = "Hello World"; // 待翻译文本
$keyfrom = "your_app_name"; // 您在后台设置的 keyfrom
$key = "your_api_key"; // 您的 API Key
$url = "http://fanyi.youdao.com/openapi.do?keyfrom=" . $keyfrom
. "&key=" . $key
. "&type=data&doctype=json&version=1.1&q=" . $content;
第2步:发送请求并解析数据
使用 file_get_contents 获取远程数据,并通过 json_decode 将其转换为数组供程序使用。
$result_json = file_get_contents($url);
$translate_result = json_decode($result_json, true);
// 检查是否有错误
if ($translate_result['errorCode'] != 0) {
echo "翻译失败,错误码:" . $translate_result['errorCode'];
} else {
// 成功获取翻译结果
print_r($translate_result);
}
注意事项
- 频率限制:普通 API Key 的请求频率限制为每小时 1000 次。超过此限制可能会导致封禁。
- 若业务需要更高频次,请联系有道翻译客服(
translate-service@corp.youdao.com)提交申请,提供应用详情、服务器 IP 等信息进行审核。
- 若业务需要更高频次,请联系有道翻译客服(
- 编码规范:
q参数中的文本必须严格使用 UTF-8 编码,否则可能导致翻译出错或乱码。 - 安全建议:在实际生产环境中,避免在前端或公开代码中硬编码
key,建议通过后端代理转发请求或使用环境变量存储敏感信息。
以上就是 PHP 调用有道翻译 API 实现文本翻译的详细内容,更多关于 PHP 开发资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









