栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

一个简洁好用的翻译程序

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一个简洁好用的翻译程序

目录
    • 前言
    • 效果
    • 代码实现
    • 参考

前言
  • 因为要阅读英文文档,奈何我英文水平属于“32级”那种。所以每次都把不会的单词或句子,复制粘贴到输入框,严重拖慢我的效率,网页全文翻译感觉不妥,会弱化我的英文水平,也不想额外下载软件了。
  • 所以自己写了个简洁的翻译程序,全部代码不超过100行,当然是调用大厂的的接口哈。
效果
  • 下面看下效果。比如我想阅读Spring Security的文档。https://docs.spring.io/spring-security/reference/index.html
  • 有2个接口,谷歌和有道。
  • 把需要翻译的英文Ctrl + c,下个如下图所示。

  • 这里我还使用了DeskPins,把翻译程序置顶。下载地址https://efotinis.neocities.org/deskpins/。或者https://sourceforge.net/projects/generic-software/files/DeskPins/
  • 使用时,鼠标左键点击DeskPins程序图标。
  • 然后鼠标变成红色针头,再点击下要置顶的程序,就完成置顶了,然后 就会出现红色针头的东西,如下图所示。
  • 当然,你如果是双屏的那就更完美了。
代码实现
  • 1、使用pyperclip模块获取剪贴板内容。

  • 2、根据输入调用不同的API接口。

  • 3、保存这次翻译的内容,避免重复调用接口。

  • 4、如果翻译失败了,自动重试。

  • 核心代码

 def youdao_api(keyword):
    '''
    有道翻译
    @param keyword
    '''
    try:
        api = 'http://fanyi.youdao.com/translate?&doctype=json&type=AUTO&i=' + keyword
        res = requests.get(api, headers=headers, timeout=20)
        # print(res.text)
        translateResult = json.loads(res.text)['translateResult']
        for items in translateResult:
            for item in items:
                print(item['src'])
                print(item['tgt'])
    except BaseException as ex:
        print('出现错误: ')
        print(ex)
        
        raise RuntimeError('有道翻译失败了')
    finally:
        print("n--------------------------------")


def google_api(keyword):
    '''
    谷歌翻译
    @param keyword
    '''
    try:
        api = 'https://translate.google.cn/translate_a/single?client=gtx&dt=t&dj=1&ie=UTF-8&sl=auto&tl=zh-CN&q=' + keyword
        res = requests.get(api, headers=headers, proxies=proxies, timeout=20)
        # print(res.text)
        sentences = json.loads(res.text)['sentences']
        for item in sentences:
            print(item['orig'])
            print(item['trans'])
    except BaseException as ex:
        print('出现错误: ')
        print(ex)
        raise RuntimeError('谷歌翻译失败了')
    finally:
        print("n--------------------------------")

  • 完整代码:https://github.com/1030907690/public-script/blob/master/generic/translate.py,觉得有用的话,求给个Star。
  • exe程序:https://github.com/1030907690/public-script/blob/master/generic/translate.exe
参考
  • 感谢这位大佬提供的接口:https://www.cnblogs.com/murenziwei/p/14673130.html
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/922219.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号