linux下翻译并循环提醒
翻译功能+复习功能
确实,windows这个系统很好看,前段时间安装了windows,差点就被它漂亮的UI,舒服的使用体验迷惑住了。但是要用来编程的话,它确实不够好。下面就说说在linux上如何使用脚本等来实现一键翻译以及复习单词的功能。
想要的效果是:
- 使用快捷键来翻译选中的单词
- 每隔一段时间将之前翻译过的那些不认识的单词自动翻译一遍来达到复习的效果
为了达到第一个目标
快捷键需要使用xmonad中自定义快捷键的功能
选中单词使用
xclip
命令翻译使用脚本translate(具有拼读功能)
将翻译结果以弹窗消息的形式显示出来使用到了
dunst
这个软件,以及notify-send
这个命令发送翻译结果为了后面的复习功能需要将单词保存到一个文件中
1
2这是定义的快捷键翻译功能
, ((0 , xK_t), spawn "translate `xclip -o` | xargs -0 notify-send && xclip -o >> ~/Documents/books/remember_word.txt")1
2
3
4
5
6
7
8
9
10
11这是翻译发声脚本
!/bin/bash
翻译单词并拼读出来
获取系统音量大小
volume=`amixer sget Master | tr -d '[a-zA-Z][:punct:]' | awk '{print $2}' | sed -n '$p'`
通过在线语音拼读
mplayer -volume ${volume} http://dict.youdao.com/dictvoice\?audio\=${1} >/dev/null 2>&1
通过ydcv程序来对单词进行翻译
ydcv ${1}现在就可以先用鼠标选中单词,然后按快捷键将单词进行翻译了。
为了实现第二个目标
前面已经将单词保存到了文件中,所以相对来说应该挺简单的,但是发现crontab并不能使用
notify-send
命令,所以只能选择其它方法来达到定时复习的功能由于polybar状态栏具有定时功能,所以就使用它了
现在就很简单,只需要从文件中随机读取一个单词,然后翻译并显示就好了
1
2
3
4读取单词并翻译
!/bin/bash
shuf -n1 ~/Documents/books/remember_word.txt | xargs ydcv | xargs -0 notify-send && mplayer ~/Music/prompt/wechat.mp3 &>/dev/null1
2
3
4
5polybar中设置定时功能
[module/trans]
type = custom/script
interval = 120
exec = ~/.local/bin/remember_word这样就实现了每隔两分钟自动复习的功能
效果图