1 问题

Google Chrome浏览器可以集成Google Translator插件,实现浏览器页面文字的翻译,但是除了浏览器,PDF、LibreOffice等软件上面的文字也经常需要翻译。

Ubuntu上可以使用有道词典,但是兼容性不太好,这里说明另外一种方法

2 安装

运行以下命令,安装所需软件:

$ sudo apt-get update
$ sudo apt-get install libnotify-bin wget xsel
  • libnotify-bin: 用于发送desktop notifications
  • wget: 调用Google Translator接口,获取翻译结果
  • xsel: 获取当前highlighted的text

3 脚本

$PATH下创建名为notitrans的脚本,赋予执行权限chmod +x notitrans,内容如下:

#!/usr/bin/env bash
notify-send --icon=info "$(xsel -o)" "$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=zh&dt=t&q=$(xsel -o | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"

该脚本主要做了以下几件事:

  1. xsel获取当前highlighted的text
  2. 调用Google翻译接口,获取highlighted的text对应的翻译结果
  3. 把翻译结果以notification形式发送到Desktop

上述tl=zh指明翻译的目标语言是中文,其他的有en for Englishru for Russianfr for french

4 快捷键

设置一个快捷键shortcut,运行notitrans命令,达到按快捷键就翻译的效果

如下路径设置:

System Settings > Keyboard > Shortcuts > Custom Shortcuts

最终的效果图如下:

5 参考

http://www.webupd8.org/2016/03/translate-any-text-you-select-on-your.html
https://www.faqforge.com/linux/distributions/ubuntu/create-custom-keyboard-shortcut-ubuntu-16-04/
http://forum.ubuntu.com.cn/viewtopic.php?f=21&t=296308

Ubuntu翻译任何选中的文字相关推荐

  1. 获取网页中选中的文字

    获取页面中选中的文字 //获取页面中选中的文字 function getSelectedText(){if(window.getSelection){ //FFreturn window.getSel ...

  2. [css] 如何取消页面中选中的文字?

    [css] 如何取消页面中选中的文字? user-select: none; /* browser-specific values */ -moz-user-select: none; -webkit ...

  3. 用JavaScript获取页面上被选中的文字的技巧

    这里介绍的一个小技巧是如何用JavaScript获取页面上被选中的文字的方法.最关键的JavaScript API是: event.selection = window.getSelection(); ...

  4. 如何翻译截图里的文字?教你使用这三款截图翻译软件

    不知道有没有小伙伴和我一样,在工作中时常需要浏览到外国的文献资料的?有的时候会因为理解错某个词语或者句子的意思,就会导致到今天的工作内容被耽误,效率大打折扣.不过就在这几天,我的同学推荐了几款能够截图 ...

  5. 如何在编译器中快速选中一行文字?

    最近使用VS2015,发现每次用鼠标选中一行文字很是头疼. 通过Ctrl+A的快捷键可以选中编译器中所有的文字,那么有没有什么办法可以快速选中一行文字呢? 在绝大多数编译器中,快速选中一行的方法如下: ...

  6. VUE预览PDF文件并利用pdf.js获取鼠标选中的文字和搜索,在iframe中获取选中文字,监听鼠标事件,右键菜单

    一.VUE预览PDF文件并利用pdf.js获取鼠标选中的文字和搜索 需求实现:vue实现预览pdf文件,获取到鼠标选中的文字数据.调用pdf.js自带的搜索方法实现搜索功能(后期可以调用该接口满足其他 ...

  7. CSS设置选中网页文字时的背景和颜色

    CSS设置选中网页文字时的背景和颜色 在网页中,选中某段文字,默认的显示效果为: 可以看到,选中后文字颜色为白色,背景为蓝色. 现我们想设置,选中后文字为红色,背景为黄色.需要用到CSS伪类 ::se ...

  8. 图片翻译文字怎么弄,分享几个怎么翻译图片上的文字工具

    我们平时在工作或学习中,经常要面对很多陌生的文档和图片,而为了工作能正常进行下去,每次都是将不懂的词汇一个个手动去搜索,但是这样的方法效率真的很低,况且有时候搜索个别不懂的词语并不能完全的理解全文.所 ...

  9. js 获取页面鼠标选中的文字

    js获取页面鼠标选中的文字,最主要的代码 event.selection = window.getSelection(); 页面代码 <div><p class="cont ...

最新文章

  1. 关于各种回归评价指标MSE、RMSE、MAE、R-Squared、Standard Deviation(标准差)
  2. mysql go命令行_Go语言调用mysql.exe和mysqldump命令行导入导出数据库
  3. 贪吃蛇一直显示正在连接服务器,贪吃蛇大作战进不去怎么办 解决方法
  4. GDCM:gdcm::ByteBuffer的测试程序
  5. 作为一个程序员,CPU的这些硬核知识你必须会!
  6. vue中v-on指令的使用之Vue知识点归纳(四)
  7. 深入理解Mysql - 内部架构与模块
  8. 最近让我焦灼的四个问题(有解)
  9. VC2008中使用GDI+(转)
  10. 蓝桥杯 ALGO30 算法训练 入学考试 java版
  11. HTML标签margin和padding的默认属性值
  12. 直方图均衡化算法、直方图匹配算法 C++ 代码
  13. cadence ~ PCB排版 必要流程
  14. 尚学堂马士兵struts2 课堂笔记(四)
  15. 南大lamda实验室失败面经分享
  16. Linux下限制带宽的方法
  17. MySQL中统计函数的使用
  18. 在.NET5 中读取Excel文件,评估下参加神秘献祭会的几位子民
  19. 阿里云部署vmware报错
  20. Spring Boot 入门系列(二十三)整合Mybatis,实现多数据源配置!

热门文章

  1. 计算机网络设置中的网关是什么设备,网关是什么_网关的作用与设置方法介绍 一看就明白...
  2. Golang开发新手常犯的50个错误
  3. 使用Postman访问k8s RESTful API
  4. C++ 栈和队列 容器适配器
  5. source insight 4.0 选择后,相同单词全部高亮
  6. 第3章第6节:如何在幻灯片中使用gif动画 [PowerPoint精美幻灯片实战教程]
  7. 我的2014作的一手好死,2015求轻虐
  8. 北京PM2.5浓度回归分析
  9. mysql学习第二天
  10. Centos启动界面:You are in emergency mode