1 unstable release
0.2.2 | Feb 14, 2023 |
---|
#6 in #popup
4.5MB
386 lines
Popup translation
通过 wry 打开一个 webview 窗口,然后打开某个翻译平台的网页翻译内容,并通过 js 代码屏蔽掉不需要的内容,专注于翻译内容本身。
💫 Features
- 利用 wry 提供的网页视图功能实现的弹窗功能
- 从剪贴板读取文本并翻译
- 在 Linux(x11) 下支持所选文本的翻译,即不需要复制到剪贴板(尚不支持MacOS) https://github.com/fzdwx/popup-translation/issues/3
- 在 Windows 模拟一次
ctrl+c
后,在读取剪贴板的内容
- 从命令行传入文本进行翻译
- 支持多种翻译平台
🚀 Getting Started
cargo install --git https://github.com/fzdwx/popup-translation
# 命令行直接设置翻译文本,只运行一次
fanyi hello
fanyi -p youdao 你好
# 守护模式,可以一直翻译,`ctrl+shift+c` 打开窗口
fanyi
# 覆盖快捷键,使用 `alt+s` 打开窗口
fanyi --show=alt+s
# 设置窗口显示位置,默认为鼠标附近
fanyi --position=100,100
fanyi --help
🕹️ Integrated
nvim
map("n", "<leader>fy", function()
local word = vim.fn.expand("<cWORD>")
local cmd = { "fanyi", word }
vim.fn.jobstart(cmd, { detach = true })
end, { desc = "qwe" })
🦹 TODO
- 弹窗位置选项(当前是固定获取鼠标附近)
- e.g:
top_left
,top_center
,top_right
,center
...
- e.g:
- 热键
- open
- 从粘贴板读取数据
- 读取鼠标选择的数据
- Linux
- Windows
- MacOS
- close
- open
- 全程只使用一个 webview
📖 Thanks
License
MIT
Dependencies
~15–50MB
~772K SLoC