Pot(派了个萌的翻译器)是一款跨平台的划词翻译软件。
功能 | 操作方式 |
---|---|
划词翻译 | 鼠标选中需要翻译的文本,按下设置的划词翻译快捷键 |
输入翻译 | 按下输入翻译快捷键呼出翻译窗口,输入待翻译文本后按下回车翻译 |
外部调用 | 通过被其他软件调用实现更方便高效的功能,详见外部调用 |
剪切板监听模式 | 在任意翻译面板上点击左上角图标启动剪切板监听,复制文字能完成翻译 |
截图 OCR | 按下截图 OCR 快捷键后框选需要识别区域能完成识别 |
截图翻译 | 按下截图翻译快捷键后框选需要识别区域能完成翻译 |
• 多接口并行翻译(支持接口) • 多接口文字识别(支持接口) • 多接口语音合成(支持接口) • 导出到生词本(支持接口) • 外部调用(详情) • 支持插件系统(插件系统) • 支持所有 PC 平台(Windows、macOS、Linux) • 支持 Wayland(在 KDE、Gnome 以及 Hyprland 上测试)
• OpenAI • 智谱 AI • Gemini Pro • Ollama(离线) • 阿里翻译 • 百度翻译 • 彩云小译 • 腾讯翻译君 • 腾讯交互翻译 • 火山翻译 • 小牛翻译 • Google • Bing • Bing 词典 • DeepL • 有道翻译 • 剑桥词典 • Yandex • Lingva(插件) • Tatoeba(插件) • ECDICT(插件)
• 系统 OCR(离线) • Windows.Media.OCR(Windows) • Apple Vision Framework(MacOS) • Tesseract OCR(Linux) • Tesseract.js(离线) • 百度 • 腾讯 • 火山 • 迅飞 • 腾讯图片翻译 • 百度图片翻译 • Simple LaTeX • OCRSpace(插件) • Rapid(离线 插件) • Paddle(离线 插件)
• Lingva
• Anki • 欧路词典 • 有道(插件) • 扇贝(插件)
软件内置接口数量有限,不过可以通过插件系统扩展功能。
可以在 Plugin List 查找需要的插件,然后前往插件仓库下载。pot 插件的扩展名为 .potext
,下载后,在偏好设置-服务设置-添加外部插件-安装外部插件 选择对应的 .potext
文件安装,添加到服务列表就能像内置服务一样使用。
• 找不到指定的模块(Windows):系统缺少 C++库,前往相关页面安装解决。
• 不是有效的 Win32 应用程序(Windows):未下载对应系统或架构的插件,前往插件仓库下载正确插件解决。
Plugin List 的模板章节提供各种插件的开发模板,具体开发文档查看对应的模板仓库。
• 通过 Winget 安装
• 手动安装:在 Release 页面下载最新 exe 安装包。64 位机器下载 pot_{version}_x64-setup.exe
,32 位机器下载 pot_{version}_x86-setup.exe
,arm64 机器下载 pot_{version}_arm64-setup.exe
,双击安装包安装。
• 启动后没有界面,点击托盘图标没有反应:检查是否卸载/禁用了 WebView2,若卸载/禁用,手动安装或恢复。企业版系统不方便安装或无法安装 WebView2,尝试在 Release 下载内置 WebView2 的版本 pot_{version}_{arch}_fix_webview2_runtime-setup.exe
。问题仍存在尝试使用 Windows7 兼容模式启动。
• 通过 Brew 安装:添加 tap brew tap pot-app/homebrew-tap
,安装 brew install --cask pot
,更新 brew upgrade --cask pot
。
• 手动安装:从 Release 页面下载最新的 dmg 安装包。M1 芯片下载 pot_{version}_aarch64.dmg
,其他下载 pot_{version}_x64.dmg
,双击文件后将 pot 拖入 Applications 文件夹完成安装。
• 由于开发者无法验证,“pot”无法打开:点击取消,去设置 -> 隐私与安全性页面,点击仍要打开,在弹出窗口点击打开,以后打开无弹窗。若隐私与安全性中找不到选项,或启动时提示文件损坏,打开 Terminal.app,输入 sudo xattr -d com.apple.quarantine /Applications/pot.app
,重启 pot。
• 每次打开遇到辅助功能权限提示,或无法划词翻译:前往设置 -> 隐私与安全 -> 辅助功能,移除“pot”,重新添加。
• Debian/Ubuntu:从 Release 页面下载最新对应架构的 deb 安装包,使用 sudo apt-get install ./pot_{version}_amd64.deb
安装。
• Arch/Manjaro:最新版本的 Webkit2Gtk(2.42.0)中,Nvidia 专有驱动未完全实现 DMABUF,会导致无法启动和崩溃。降级或在 /etc/environment
(或其他设置环境变量的地方)加入 WEBKIT_DISABLE_DMABUF_RENDERER=1
环境变量关闭 DMABUF 使用。在 AUR 查看,使用 AUR helper 安装:yay -S pot-translation
(或 pot-translation-bin)、paru -S pot-translation
(或 pot-translation-bin)。使用 archlinuxcn 源,直接用 pacman 安装 sudo pacman -S pot-translation
。
• Flatpak:Flatpak 版本缺失托盘图标,到 Flathub 下载应用。
Pot 提供完整的 HTTP 接口,能被其他软件调用。向 127.0.0.1:port
发送 HTTP 请求调用 pot,port
是 pot 监听的端口号,默认 60828,可在软件设置中更改。
• POST "/":翻译指定文本(body 为需要翻译的文本) • GET "/config":打开设置 • POST "/translate":翻译指定文本(同"/") • GET "/selection_translate":划词翻译 • GET "/input_translate":输入翻译 • GET "/ocr_recognize":截图 OCR • GET "/ocr_translate":截图翻译 • GET "/ocr_recognize?screenshot=false":截图 OCR(不使用软件内截图) • GET "/ocr_translate?screenshot=false":截图翻译(不使用软件内截图) • GET "/ocr_recognize?screenshot=true":截图 OCR • GET "/ocr_translate?screenshot=true":截图翻译
调用划词翻译:向 127.0.0.1:port
发送请求,例如通过 curl 发送 curl "127.0.0.1:60828/selection_translate"
。
该功能能在不使用软件内截图的情况下调用截图 OCR/截图翻译功能,能用喜欢的截图工具截图,解决某些平台下 pot 自带截图无法使用的问题。
1、使用其他截图工具截图
2、将截图保存在 $CACHE/com.pot-app.desktop/pot_screenshot_cut.png
3、向 127.0.0.1:port/ocr_recognize?screenshot=false
发送请求调用成功
$CACHE
为系统缓存目录,例如 Windows 上为 C:\Users\{用户名}\AppData\Local\com.pot-app.desktop\pot_screenshot_cut.png
。
Linux 下调用 Flameshot 进行截图 OCR:rm ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png && flameshot gui -s -p ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png && curl "127.0.0.1:60828/ocr_recognize?screenshot=false"
• SnipDo(Windows):从 Microsoft Store 下载安装 SnipDo,从 Release 下载 pot 的 SnipDo 扩展(pot.pbar),双击扩展文件安装。选中文字,弹出 SnipDo 工具条,点击翻译按钮翻译。
• PopClip(MacOS):从 App Store 下载安装 PopClip,从 Release 下载 pot 的 PopClip 扩展(pot.popclipextz),双击扩展文件安装。在 PopClip 的扩展中启用 pot 扩展,选中文本点击翻译。
• Starry(Linux):Starry 仍处于开发阶段,只能手动编译。Github:ccslykx/Starry
各大发行版对 Wayland 的支持程度不同,pot 本身没法完美支持,这里提供一些常见问题的解决方案,合理设置后,pot 能在 Wayland 下运行。
Tauri 的快捷键方案不支持 Wayland,pot 应用内的快捷键设置在 Wayland 下无法使用。设置系统快捷用 curl 发送请求触发 pot,详见外部调用。
一些纯 Wayland 桌面环境/窗口管理器(如 Hyprland)上,pot 内置截图无法使用,用其他截图工具代替,详见不使用软件内截图。
Hyprland 下的配置示例(通过 grim 和 slurp 实现截图):
bind = ALT, X, exec, grim -g "$(slurp)" ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png && curl "127.0.0.1:60828/ocr_recognize?screenshot=false"
bind = ALT, C, exec, grim -g "$(slurp)" ~/.cache/com.pot-app.desktop/pot_screenshot_cut.png && curl "127.0.0.1:60828/ocr_translate?screenshot=false"
其他桌面环境/窗口管理器操作类似。
pot 在 Wayland 下无法获取正确的鼠标坐标,内部实现无法工作。某些桌面环境/窗口管理器,可通过设置窗口规则实现窗口跟随鼠标位置,Hyprland 示例:
windowrulev2 = float, class:(pot), title:(Translator|OCR|PopClip|Screenshot Translate) # Translation window floating
windowrulev2 = move cursor 0 0, class:(pot), title:(Translator|PopClip|Screenshot Translate) # Translation window follows the mouse position.
• Node.js >= 18.0.0
• pnpm >= 8.5.0
• Rust >= 1.80.0
1、克隆仓库:git clone https://github.com/pot-app/pot-desktop.git
2、安装依赖:cd pot-desktop
、pnpm install
3、安装依赖(仅 Linux 需要):sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev patchelf libxdo-dev libxcb1 libxrandr2 libdbus-1-3
pnpm tauri dev
(在开发模式下运行应用)
pnpm tauri build
(构建成安装包)