Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用python写一个翻译软件

用python写一个翻译软件

原创
作者头像
mariolu
发布于 2024-03-26 00:21:35
发布于 2024-03-26 00:21:35
38700
代码可运行
举报
运行总次数:0
代码可运行

一、调用腾讯云文本翻译

腾讯云文本翻译官方文档

https://console.cloud.tencent.com/api/explorer?Product=tmt&Version=2018-03-21&Action=TextTranslateBatch

这里是我们要提供的翻译参数包括Region、SourceText(源文字)、Source(源语言,填auto表示让系统自动检测)、Target(目标语言)、UntranslatedText(不让机器翻译的单词、比如说人名、地名等等)。

二、解决UntranslatedText只能配置一个问题

我试用了可以翻译,但是这里UntranslatedText只支持一个单词。官方给的建议是这个

用来标记不希望被翻译的文本内容,如句子中的特殊符号、人名、地名等;每次请求只支持配置一个不被翻译的单词;仅支持配置人名、地名等名词,不要配置动词或短语,否则会影响翻译结果。

我们用一个办法来绕过这个限制。假设我们把原来要翻译的文本

你好啊Mario,谢谢你Alice,再见Jobs

我们现在不想对着里面的Mario、Alice和Jobs进行翻译。我们重新编码这段文本为

你好%(1)s,谢谢你%(2)s,再见%(3)s

然后我们对1,2,3对应的占位符改成我们想翻译的单词。这里其实有些额外的好处,就是可以把1、2、3按照我们的意思翻译成多种语言。

比如说

  • 简体中文zh翻译成“马里奥、爱丽丝、乔布斯”,
  • 繁体中文翻译成“瑪利歐,愛麗絲,贾伯斯",
  • 日语翻译成“マリオ, アリス,ジョブズ

三、完整的程序

我们来试一下腾讯云的翻译软件接口。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制

import json
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.tmt.v20180321 import tmt_client, models
try:
    # 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
    # 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
    # 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
    cred = credential.Credential("SecretId", "SecretKey")
    # 实例化一个http选项,可选的,没有特殊需求可以跳过
    httpProfile = HttpProfile()
    httpProfile.endpoint = "tmt.tencentcloudapi.com"

    # 实例化一个client选项,可选的,没有特殊需求可以跳过
    clientProfile = ClientProfile()
    clientProfile.httpProfile = httpProfile
    # 实例化要请求产品的client对象,clientProfile是可选的
    client = tmt_client.TmtClient(cred, "ap-guangzhou", clientProfile)

    # 实例化一个请求对象,每个接口都会对应一个request对象
    req = models.TextTranslateRequest()
    params = {
        "SourceText": "Hello<1>,Thank you<2>,Good Bye<3>",
        "Source": "auto",
        "Target": "zh",
        "ProjectId": 0,
        "UntranslatedText": "Mario"
    }
    req.from_json_string(json.dumps(params))

    # 返回的resp是一个TextTranslateResponse的实例,与请求对象对应
    resp = client.TextTranslate(req)
    # 输出json格式的字符串回包
    resp_json = json.loads(resp.to_json_string())
    global target_text
    target_text=resp_json['TargetText']
    print(target_text)

except TencentCloudSDKException as err:
    print(err)

 
#这里可以把你自己的Secret配置上去,为了看程序运行结果,我直接把生成后的文字弄出来
target_text="你好%(1)s,谢谢你%(2)s,再见%(3)s"


context_json="""    
{
  "en": {
    "1": "Mario",
    "2": "Alice",
    "3": "Jobs"
  },
  "zh": {
    "1": "马里奥",
    "2": "爱丽丝",
    "3": "乔布斯"
  },
  "zh-tw": {
    "1": "瑪利歐",
    "2": "愛麗絲",
    "3": "贾伯斯"
  },
  "jp": {
    "1": "マリオ",
    "2": "アリス",
    "3": "ジョブズ"
  }
}
"""

import json
context_dict=json.loads(context_json)

my_csv = '你好%(1)s,谢谢你%(2)s,再见%(3)s'
print(my_csv % context_dict['zh'])
print(my_csv % context_dict['zh-tw'])
print(my_csv % context_dict['jp'])

运行结果如下:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【玩转腾讯云】【腾讯云机器翻译TMT】机器翻译入门
通过https://cloud.tencent.com/register注册腾讯云账号
LinSP
2020/05/02
10.2K2
利用腾讯云API(Python)对字幕文件进行翻译
本篇文章使用腾讯云的机器翻译来对英语字幕文件进行翻译,接口的需要的SecretId和SecretKey请自行上腾讯云https://console.cloud.tencent.com/cam/capi获取,运行环境为Python3.8,如使用Python2,请注意注释内容,并进行相对于的修改,程序还需要用到腾讯云的Python SDK:
Duckweeds7
2021/06/24
2.8K0
利用腾讯云API(Python)对字幕文件进行翻译
用Python实现减重软件
体重保持是现代人需要生活关注的一项事情。我们用Python实现体重管理软件,并根据你吸收和消耗的卡路里的余值进行餐食推荐。
mariolu
2024/03/19
2990
混元大模型,API免费发放,又一个王炸级更新!
混元大模型(英文名:HunYuan)是由腾讯开发的大型语言模型,它可以进行丰富的语义理解和计算,为用户提供问答式的服务。基于大量的训练数据和先进的深度学习技术,混元大模型能够处理各种类型的问题和任务,涵盖知识问答、建议、解决问题等多个方面。
不惑
2024/05/08
1.8K0
混元大模型,API免费发放,又一个王炸级更新!
Serverless Cloud Function 开发实践
本文将讲述如何使用 Serverless Cloud Function 开发语言翻译工具。
lqmeta
2020/06/15
2.2K1
Serverless Cloud Function 开发实践
一个简单Python脚本,实现轻量应用服务器防火墙自动添加客户端公网IP访问
当需要设置轻量级服务器的防火墙策略时,一般用户都是需要手动去设置开放指定公网IP访问轻量服务器,这样也是比较麻烦的。就此作者想了下,如何避免每次手动去修改公网IP,这样也是非常麻烦,如果腾讯云轻量服务器控制台能增加一个安全选项,实现浏览器获取当前用户公网IP并一键设置允许常用端口访问。这样大大的增加用户安全体验下。
邓鹏
2024/04/26
3110
智能结构化助力在大规模突发事件背景下社交媒体图片中时间、地点等关键信息的有效提取
在大规模社会性突发事件背景下,由于传播渠道有限和实时性要求,处于困境中的个人往往会在公开社交媒体上发布求助信息;
月小水长
2025/01/07
6260
通过云API创建云主机,并指定IP地址
蛋蛋
2023/07/14
1.1K1
Python实现的食谱生成器
想象一下:你正在超市或者菜市场寻找晚餐灵感,但想到昨天餐馆点的好吃的菜,但并不知道那个配方。
mariolu
2024/03/18
4510
利用Python调用云Api实现全地域同步轻量应用服务器密钥并共享给云服务器
请注意 为了保障您的账户以及云上资产的安全 请谨慎保管SecretId 与 SecretKey 并定期更新 删除无用权限
小宇-xiaoyu
2022/03/04
1.7K0
腾讯云智能结构化OCR初体验:开启高效数据提取之旅
在数字化浪潮的推动下,企业面临着海量文档数据的处理挑战。传统的人工录入方式不仅效率低下,而且容易出错,严重影响了企业的运营效率。光学字符识别(OCR)技术的出现,为这一难题提供了有效的解决方案。腾讯云智能结构化OCR,凭借其卓越的技术实力和广泛的应用场景,正在成为企业数字化转型的重要助力。
LucianaiB
2025/01/10
1840
腾讯云一句话识别接口调用
使用主账号登录语音识别控制台(https://console.cloud.tencent.com/asr),开通语音识别服务。
向东平
2025/05/09
2100
使用python脚本批量升级redis版本
redis实例如果要跨区热迁移,实例需支持多可用区。2.8及以下版本不支持升级支持多可用区,故2.8及以下版本需升级到4.0及以上版本(数据切换过程中,实例将存在1分钟以内的只读状态(等待数据同步完成),以及连接闪断(秒级)的影响,需要业务具备自动重连的机制)。
vic@TX
2022/11/24
7320
腾讯云API弹性公网IP踩坑
由于自己管理的云服务器数量比较多,时不时需要更换IP,在管理台上一下下点击,实在浪费时间,于是就想到了通过API调用的方式,将更换IP一系列动作,全部集成到Python代码里面,实现一行命令,完成IP更换,由于人懒,就先
用户2174879
2018/10/23
32.3K1
腾讯云API弹性公网IP踩坑
腾讯云 TI 平台部署与调用DeepSeek-R1大模型的实战指南
今天我们将继续探讨如何部署一个私有化的 DeepSeek-R1 大模型,具体的部署过程我们将利用腾讯云的 TI 平台进行操作。当前,腾讯云 TI 平台为用户提供了免费体验的满血版 DeepSeek-R1 大模型,同时该平台还提供了开放的 API 接口服务,用户可以方便地将其接入到自己的平台中,进行定制化使用。接下来,我们将深入讲解如何快速实现 DeepSeek-R1 大模型的私有化部署,帮助大家更高效地掌握整个流程,确保能够顺利地将这一先进技术应用到自己的实际场景中。
努力的小雨
2025/02/05
6980
【腾讯云AI绘画】 老师,我想学绘画
AI 绘画(AI Art)是一款 AI 图像生成与编辑技术 API 服务,可以结合输入的图片或文本智能创作出与输入相关的图像内容,具有更强大的中文理解能力、更多样化的风格选择,以及更偏东方审美的绘画创作能力,更好支持中文场景下的建筑风景生成、古诗词理解、水墨剪纸等中国元素风格生成,以及各种动漫、游戏风格的高精度图像生成和风格转换,为高质量的内容创作、内容运营提供技术支持。
不惑
2023/12/06
7331
【腾讯云AI绘画】 老师,我想学绘画
从零开始使用腾讯云Java SDK
腾讯云开发者工具套件(SDK)是云 API 3.0 平台的配套工具。本文以 Java SDK 为例,介绍如何使用、调试并接入腾讯云产品 API。
zhijiehou
2021/06/25
13K2
利用Python调用云Api实现多地域快速修改轻量应用服务器密码
请注意 为了保障您的账户以及云上资产的安全 请谨慎保管SecretId 与 SecretKey 并定期更新 删除无用权限
小宇-xiaoyu
2022/03/30
2.3K3
利用Python调用云Api实现将cvm安全组配置复制到轻量应用服务器
虽然轻量应用服务器并没有安全组,但是我们可以用云api将cvm的安全组配置复制下来,生成代码调用轻量应用服务器相关api将cvm安全组配置添加到轻量防火墙
小宇-xiaoyu
2022/03/04
1.3K0
利用Python调用云Api实现多地域同步创建TAT命令
请注意 为了保障您的账户以及云上资产的安全 请谨慎保管SecretId 与 SecretKey 并定期更新 删除无用权限
小宇-xiaoyu
2022/03/23
2.6K2
推荐阅读
相关推荐
【玩转腾讯云】【腾讯云机器翻译TMT】机器翻译入门
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验