PHP 调用有道翻译 API 实现文本翻译

顾言
顾言
发布时间:2026-10-14 | 4人浏览过
原创

本文将演示如何利用 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 开发资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表