免费翻译API及使用指南——百度、腾讯

目录

一、百度翻译API

二、腾讯翻译API


一、百度翻译API

百度翻译API接口免费翻译额度:标准版(5万字符免费/每月)、高级版(100万字符免费/每月-需个人认证,基本都能通过)、尊享版(200万字符免费/每月-需企业认证,门槛高);

超出免费额度价格:49元/百万字符;

官方介绍:百度翻译开放平台icon-default.png?t=N7T8http://api.fanyi.baidu.com/product/111

代码调用测试:

import hashlib
import requests
import time

# 百度翻译API配置信息
APP_ID = '20240624002084131'
SECRET_KEY = '467YvIvdT4SgJKnu80i9'

# 定义百度翻译函数
def translate_to_chinese(text):
    url = "http://api.fanyi.baidu.com/api/trans/vip/translate"
    salt = str(time.time())
    sign = hashlib.md5((APP_ID + text + salt + SECRET_KEY).encode('utf-8')).hexdigest()
    params = {
        'q': text,
        'from': 'en',
        'to': 'zh',
        'appid': APP_ID,
        '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:
        # 打印错误信息和完整的API响应
        print(f"翻译API响应错误: {result}")
        return text  # 如果翻译失败,返回原文

# 测试翻译功能
test_text = "Hello, this is a test."
translated_text = translate_to_chinese(test_text)
print(f"原文: {test_text}")
print(f"翻译结果: {translated_text}")

申请流程:

(1):打开百度翻译开放平台https://api.fanyi.baidu.com,点击开发者信息;

(2):首先注册开发者,然后您将可以在注册成功提示信息处看到“开通服务”的入口。另外,您也可随时前往【管理控制台】→ 【总览】处开通服务。开通服务时,请选择“通用翻译API”。

(3):开通之后点击开发者信息即可看到APP ID和密钥。

二、腾讯翻译API

腾讯翻译API接口免费翻译额度:500万字符免费/每月;

超出免费额度价格:58元/百万字符,有字符资源包出售;

官方介绍:机器翻译 计费概述-购买指南-文档中心-腾讯云icon-default.png?t=N7T8https://cloud.tencent.com/document/product/551/35017

查看接口调用详情:自动翻译 - 机器翻译 - 控制台 (tencent.com)

代码调用测试:

import requests
import time
import hashlib
import hmac
import json

# 腾讯翻译API配置信息
SECRET_ID = 'YOUR_SECRET_ID '
SECRET_KEY = 'YOUR_SECRET_KEY '
REGION = 'ap-guangzhou'
ENDPOINT = 'tmt.tencentcloudapi.com'
SERVICE = 'tmt'
VERSION = '2018-03-21'
ACTION = 'TextTranslate'

def sign_request(secret_id, secret_key, method, endpoint, uri, params):
    timestamp = int(time.time())
    date = time.strftime('%Y-%m-%d', time.gmtime(timestamp))
    
    # 1. Build Canonical Request String
    http_request_method = method
    canonical_uri = uri
    canonical_querystring = ''
    canonical_headers = f'content-type:application/json\nhost:{endpoint}\n'
    signed_headers = 'content-type;host'
    payload_hash = hashlib.sha256(json.dumps(params).encode('utf-8')).hexdigest()
    canonical_request = (http_request_method + '\n' + 
                         canonical_uri + '\n' + 
                         canonical_querystring + '\n' + 
                         canonical_headers + '\n' + 
                         signed_headers + '\n' + 
                         payload_hash)
    
    # 2. Build String to Sign
    algorithm = 'TC3-HMAC-SHA256'
    credential_scope = f"{date}/{SERVICE}/tc3_request"
    string_to_sign = (algorithm + '\n' + 
                      str(timestamp) + '\n' + 
                      credential_scope + '\n' + 
                      hashlib.sha256(canonical_request.encode('utf-8')).hexdigest())
    
    # 3. Sign String
    def sign(key, msg):
        return hmac.new(key, msg.encode('utf-8'), hashlib.sha256).digest()
    
    secret_date = sign(('TC3' + secret_key).encode('utf-8'), date)
    secret_service = sign(secret_date, SERVICE)
    secret_signing = sign(secret_service, 'tc3_request')
    signature = hmac.new(secret_signing, string_to_sign.encode('utf-8'), hashlib.sha256).hexdigest()
    
    # 4. Build Authorization Header
    authorization = (f"{algorithm} "
                     f"Credential={secret_id}/{credential_scope}, "
                     f"SignedHeaders={signed_headers}, "
                     f"Signature={signature}")
    
    return authorization, timestamp

def translate_to_chinese(text):
    params = {
        "SourceText": text,
        "Source": "en",
        "Target": "zh",
        "ProjectId": 0
    }

    method = 'POST'
    uri = '/'
    authorization, timestamp = sign_request(SECRET_ID, SECRET_KEY, method, ENDPOINT, uri, params)

    headers = {
        'Content-Type': 'application/json',
        'Host': ENDPOINT,
        'X-TC-Action': ACTION,
        'X-TC-Timestamp': str(timestamp),
        'X-TC-Version': VERSION,
        'X-TC-Region': REGION,
        'Authorization': authorization
    }

    response = requests.post(f'https://{ENDPOINT}{uri}', headers=headers, data=json.dumps(params))
    result = response.json()
    
    if 'Response' in result and 'TargetText' in result['Response']:
        return result['Response']['TargetText']
    else:
        print(f"翻译API响应错误: {result}")
        return text  # 如果翻译失败,返回原文

# 测试翻译功能
text_to_translate = "Hello, how are you?"
translated_text = translate_to_chinese(text_to_translate)
print(f"原文: {text_to_translate}")
print(f"译文: {translated_text}")

申请流程:

(1)打开如下链接:https://cloud.tencent.com/

(2)登录后, 在左上“产品”中搜索“机器翻译”并进入

(3)点击立即使用(可能需要实名认证)

(4)点击“开通付费版”(和百度翻译一样,月使用小于100万次,不会扣费)

(5)在右上角,选择“项目管理”

 (6)在左边选择“访问管理”,在“访问密钥”选择“API密钥管理”

 (7)选择“继续使用”,选择“新建密钥”,获取到SecretId和SecretKey,填入萌译的“API配置”中即可。

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我会尽力回答你的问题。接入腾讯云短信API需要以下几个步骤: 1. 注册腾讯云账号,并开通短信服务。 2. 创建应用,获取 AppID 和 AppKey。 3. 安装腾讯云 SDK。 4. 在 ThinkPHP5 中集成腾讯云 SDK。 5. 编写发送短信的代码。 以下是详细步骤: 1. 注册腾讯云账号,并开通短信服务。 首先,你需要注册一个腾讯云账号,然后在控制台中开通短信服务。在开通短信服务时,你需要填写企业信息并进行实名认证。 2. 创建应用,获取 AppID 和 AppKey。 在腾讯云控制台中创建应用,并获取 AppID 和 AppKey。这些信息将在后面的代码中使用。 3. 安装腾讯云 SDK。 在你的项目中安装腾讯云 SDK。可以通过 Composer 安装,也可以手动下载安装。 4. 在 ThinkPHP5 中集成腾讯云 SDK。 在 ThinkPHP5 中集成腾讯云 SDK,可以在 config.php 配置文件中添加以下配置: ```php // config.php return [ 'qcloud' => [ 'sms' => [ 'app_id' => 'your-app-id', 'app_key' => 'your-app-key', 'template_id' => 'your-template-id', 'sms_sign' => 'your-sms-sign', ], ], ]; ``` 上面的配置中,app_id 和 app_key 是在第二步中获取的,template_id 是短信模板的 ID,sms_sign 是短信签名。 5. 编写发送短信的代码。 在 ThinkPHP5 中发送短信可以通过继承 Qcloud\Sms\SmsSingleSender 类来实现。以下是发送短信的示例代码: ```php use Qcloud\Sms\SmsSingleSender; $appId = config('qcloud.sms.app_id'); $appKey = config('qcloud.sms.app_key'); $templateId = config('qcloud.sms.template_id'); $smsSign = config('qcloud.sms.sms_sign'); $sender = new SmsSingleSender($appId, $appKey); $result = $sender->sendWithParam('86', $mobile, $templateId, $params, $smsSign); if ($result === false) { return '发送短信失败'; } $response = json_decode($result, true); if ($response['result'] !== 0) { return '发送短信失败:' . $response['errmsg']; } return '发送短信成功'; ``` 上面的代码中,$mobile 是接收短信的手机号码,$params 是短信模板中的参数,$result 是发送短信的结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值