Python开发简易翻译软件

该Python代码实现了一个简单的翻译工具,利用百度和有道翻译API进行自动翻译。程序包含键盘监听功能,当用户按下CTRL+Enter时触发翻译,支持中文和英文之间的翻译。使用Tkinter库创建图形界面,允许用户输入文本并显示翻译结果。
摘要由CSDN通过智能技术生成

运行图

在这里插入图片描述

代码

#自动检测中文翻译英文,翻译单词,增加了键盘监听,CTRL+回车即可翻译
from urllib import request
from urllib import parse
import json
import requests
import random
import keyboard
from bs4 import BeautifulSoup
import tkinter as tk  # 使用Tkinter前需要先导入
def is_Chinese(ch):
    if '\u4e00' <= ch <= '\u9fff':
            return True
    return False
def fun(var):
    choice = 1
    if len(var)==0:
        return "翻译内容不可为空!"
    for i in var:
        if i==" ":
            choice=2
    if len(var)>3:
        for i in var:
            if is_Chinese(i)==True:
                choice=2
    else:
        choice=1
    if choice==1:
        s=''
        proxiesvalue = [
            {'http': 'http://121.232.148.167:9000'},
            {'http': 'http://39.105.28.28:8118'},
            {'http': 'http://113.195.18.133:9999'}
        ]
        post_url = "https://fanyi.baidu.com/sug"
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36 Edg/89.0.774.77'
        }
        data = {
            'kw': var
        }
        try:
            response = requests.get(url=post_url, headers=headers, params=data, proxies=random.choice(proxiesvalue))
            dic_obj = response.json()
        except:
            return "请求失败"
        else:
            if response.status_code == 200:  # 判断状态码
                for i, v in dic_obj.items():
                    if i == "data":
                        ls = v
                        if len(ls) == 0:
                            return "输入有误"
                for i in ls:
                    for k, v in i.items():
                        s+=(v+"\n")
                return s+"\n"
    elif choice==2:
        Request_URL = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
        form_data = {}
        form_data['i'] = var
        form_data['from'] = 'AUTO'
        form_data['to'] = 'AUTO'
        form_data['smartresult'] = 'dict'
        form_data['doctype'] = 'json'
        form_data['version'] = '2.1'
        form_data['keyfrom'] = 'fanyi.web'
        form_data['action'] = 'FY_BY_CLICKBUTTION'
        form_data['typoResult'] = 'false'
        data = parse.urlencode(form_data).encode('utf-8')
        response = request.urlopen(Request_URL, data)
        html = response.read().decode('utf-8')
        translate_results = json.loads(html)
        s=''
        for i in range(888):
            try:
                s += translate_results["translateResult"][0][i]['tgt']
            except:
                break
        return s+"\n\n"


    # 实例化object,建立窗口window
window = tk.Tk()

    # 给窗口的可视化起名字
window.title('开发者:Yesir')

    # 设定窗口的大小(长 * 宽)
window.geometry('800x500')  # 这里的乘是小x

# e = tk.Entry(window,  show = '*',width=80,bd=8,insertbackground = 'red',relief = 'sunken')  # 显示成明文形式
e=tk.Text(window, height=5,width=80)
e.pack()
    #调用函数,get text文本框内的信息,传给fun函数进行翻译
def insert_point():  # 在鼠标焦点处插入输入内容
    t.delete('1.0', 'end')
    var = e.get('1.0','end')
    data=''
    for i in var:
        if i!="\n":
            data+=i
    t.mark_set("insert", "%d.%d" % (0, 0))
    t.insert('insert', fun(data))

def abc(x):
    # a = keyboard.KeyboardEvent('down', 28, 'enter')
    # a = keyboard.KeyboardEvent("down",28,'enter')
    # if x.event_type == 'down' and x.name == a.name :
    #     insert_point()
    if keyboard.is_pressed('ctrl') and keyboard.is_pressed('enter'):
        t.delete('1.0', 'end')
        insert_point()
    elif keyboard.is_pressed('esc'):
        window.destroy()
        exit()
# def insert_end():  # 在文本框内容最后接着插入输入内容
#     tk.Label(window, text='\n\n\n\n', font=('Arial', 12), ).place(x=50, y=200, anchor='nw')
#     var = e.get()
#     t.insert('insert', fun(var))

tk.Label(window, text="开发者:Yesir",fg="#6950a1", bg="#feeeed", font=('Arial', 24), ).place(x=300, y=400, anchor='nw')
b1 = tk.Button(window, text='翻译', width=10,height=2, command=insert_point)
b1.pack()

    # 第7步,创建并放置一个多行文本框text用以显示
t = tk.Text(window, height=20)
t.pack()
keyboard.hook(abc)

    # 第8步,主窗口循环显示
window.mainloop()

Yesir_C
关注 关注
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
python代码翻译器-Python实现翻译软件
q6q6q的专栏
10-28 4594
本篇文章主要讲讲述了用Python实现翻译软件,超级实用,赶紧将代码收藏起来试试吧,希望对你学习Python有所启发哦!前两天吃了平哥的一波狗粮,他给女朋友写了一个翻译软件,自己真真切切的感受到了程序员的浪漫。在学习requests请求的时候做过类似的Demo,给百度翻译发送一个post请求可以实现任意词组的翻译,利用周六周日将那段代码进行了进一步优化加了一个交互界面,有了今天的翻译软件。程序介绍...
Python制作翻译工具
m0_64671569的博客
06-07 1549
自己动手开发翻译软件(Java版)
07-30
NULL 博文链接:https://lingyibin.iteye.com/blog/838152
Python做一个翻译软件,比上浏览器快100倍
最新发布
轻松学python的博客
07-27 1588
简单的用Python来做一个翻译软件
python制作翻译软件
weixin_49988493的博客
05-07 460
Python代码中导入baidu-aip库,并使用App ID和密钥初始化一个AipNlp对象。创建GUI界面,可以使用Tkinter、PyQt或wxPython等库。在GUI界面中添加文本框和按钮,用于输入需要翻译的文段和触发翻译功能。注册百度翻译API账号,并获取App ID和密钥。
python翻译软件
09-02
这个翻译是由python制作的软件,pyinstaller打包,GUI界面由tkinter制作
python实现的翻译软件
02-12
python实现的在线翻译 通过urllib模块连接谷歌获取译文 带Tkinter实现的UI
python发音翻译-python200行代码实现一个翻译软件
q6q6q的专栏
10-28 335
#!/home/fyang/.virtualenvs/base/bin/pythonimport requestsimport randomimport hashlibimport jsonimport urllibimport pyperclipfrom sys import exitfrom optparse import OptionParserAPP_ID="**********...
基于中文语音识别模型ASRT开发的web端简易翻译系统python源码+项目使用说明.zip
12-30
基于中文语音识别模型ASRT开发的web端简易翻译系统python源码+项目使用说明.zip 基于中文语音识别模型ASRT开发的web端简易翻译系统python源码+项目使用说明.zip 基于中文语音识别模型ASRT开发的web端简易翻译系统...
简易可视化火星文翻译机_火星文翻译机_python_drophbk_翻译机_
10-02
描述中的“python编写的简易翻译机”进一步确认了该程序是用Python语言实现的。Python是一种高级编程语言,以其简洁明了的语法和丰富的库支持而闻名,非常适合初学者和专业开发者用于快速开发应用程序,包括这种翻译...
python开发erp系统odoo_odooERP系统(框架)总结
weixin_33134753的博客
01-14 2716
1:Odoo 是一个现代化的商业应用套件,使用 AGPL 许可证,并具有客户关系管理(CRM),人力资源,销售,采购,会计,制造,仓库管理,项目管理,以及众多社区模块。2:它是基于一个模块化,可扩展和直观的快速开发应用程序(RAD)的框架,使用 Python 语言。3:OpenObject 功能对象集成- 关系映射(ORM),基于模板的模型 - 视图 - 控制器(MVC)接口,报表生成系统,多国语...
Python实现有道翻译功能及爬虫源码分享
最后,压缩包文件的名称为"有道翻译.py",表明这可能是一个简单的Python脚本文件,用户下载后可以无需安装任何额外软件直接在Python环境中运行它,体验翻译服务。 总结来说,这个项目综合运用了Python编程、API接口...
翻译软件开发(do it yourself)
weixin_33964094的博客
10-28 759
2019独角兽企业重金招聘Python工程师标准>>> ...
python利器怎么编程-Python实现翻译小工具!几行代码搞定!装逼利器有没有!
weixin_37988176的博客
11-01 269
一、背景利用Requests模块获取有道词典web页面的post信息,BeautifulSoup来获取需要的内容,通过tkinter模块生成gui界面二、代码进群:548377875 即可获取数十套PDF哦!fanyi.py代码如下:#!/bin/env python# -*- coding:utf-8 -*-# _author:kaliarchimport requestsimport u...
python做软件-用python做个翻译小软件吧~
weixin_37988176的博客
11-01 220
Python 2.7.13IDE Pycharm 5.0.3macOS 10.12.1前言花了一点时间,半抄半写半修改的写了第一个能用的python小程序,作用是在IDE端模拟有道词典的访问,效果如下图所示,不足之处在于,当输入的中英文字符串超过一定数量,会抛出中间代码,新手并不知道怎么处理,望知道的不吝赐教初阶:交互界面首先在jupyter或者pycharm中进行交互的操作,核心语句是使用raw...
Python/python翻译软件
尼古拉斯鹏
09-30 6707
 运行下面代码可以直接运行: 请确保安装一下模块 :requests  效果如下:   from tkinter import * from tkinter import messagebox import requests #创建窗口 root = Tk() #标题 root.title('中英互译') #窗口大小 root.geometry('370x100') #窗口位置 #...
Python做一个翻译软件
Python大本营的博客
01-29 5446
来源 | Ahab杂货铺(ID:PythonLearningCamp)前两天吃了平哥的一波狗粮,他给女朋友写了一个翻译软件,自己真真切切的感受到了程序员的浪漫。在学习re...
Python小程序:简易翻译器
weixin_30325793的博客
02-27 144
Python就是爽啊,用来抓网页信息是再合适不过了。今天结合小甲鱼的视频做了一个简易翻译工具,大牛勿喷,仅供娱乐!^_^ 主要用到的模块是json和easyGUI,结合网易有道翻译的网页制作而成。效果还可以。 # Powered By KunSoft # 2015年2月27日 from urllib.request import * from urllib.parse import *...
Python翻译软件开发实战指南
资源摘要信息:"python实现翻译软件源码" Python是一种开源编程语言,其设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而不是使用大括号或关键字)。其语言结构使程序员能够用更少的代码行...
写文章

热门文章

  • C++之拷贝构造 2319
  • 数据结构之双链表(C语言代码) 1272
  • C语言之指针 1132
  • 一键截图并保存 767
  • 用户系统(Python代码) 700

分类专栏

  • 爬虫 14篇
  • C++ 17篇
  • C语言 3篇
  • Python 15篇
  • QT
  • Linux
  • MySQL数据库
  • Oracle数据库

最新评论

  • C语言之指针

    CSDN-Ada助手: 不知道 C 技能树是否可以帮到你:https://edu.csdn.net/skill/c?utm_source=AI_act_c

  • 爬虫学习之小说爬取

    不正经的kimol君: 支持博主,欢迎回赞哦~

  • 爬虫学习之requests模块的post请求

    LaoYuanPython: 博主又出新作,辛苦了!大多数程序员都有爬虫在手天下我有的情怀,博主不错,请继续努力!

  • 用户系统(Python代码)

    抓手: 这是一篇不错的文章啊,表情包谢谢分享!

  • 六角填数

    Frank---7: 写的不错,欢迎互访互关。

最新文章

  • C语言之指针
  • 爬虫之手机信息查询系统
  • 贪吃蛇C语言版
2024年1篇
2023年1篇
2022年4篇
2021年37篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家精巧玻璃钢座椅雕塑商场童装区域美陈方案济南户外玻璃钢卡通雕塑玻璃钢人物雕塑服务商运城景观标识玻璃钢景观雕塑公司凤城新型玻璃钢雕塑厂家昆明人物玻璃钢雕塑多少钱芜湖玻璃钢雕塑设计价格商场春季主题美陈玻璃钢仿铜雕塑有哪些郑州环保玻璃钢雕塑销售电话景观校园玻璃钢景观雕塑厂家庆阳景区玻璃钢雕塑玻璃钢核桃雕塑江门玻璃钢彩绘雕塑孝感市雕塑玻璃钢工艺厂商场国庆节日活动美陈布置河南玻璃钢海豚雕塑价格玻璃钢为雕塑质量如何鉴别玻璃钢彩绘植物雕塑昔阳县商场美陈玻璃钢花盆的种类德州佛像玻璃钢雕塑玻璃钢蓝莓卡通雕塑珠海玻璃钢卡通雕塑造型仙桃玻璃钢动物雕塑浙江创意玻璃钢雕塑联系方式文山市玻璃钢雕塑价格表佛山校园玻璃钢雕塑郑州园林景观玻璃钢人物雕塑公司香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化