🌈 一个跨平台的划词翻译软件
划词翻译 | 输入翻译 | 外部调用 |
---|---|---|
鼠标选中需要翻译的文本,按下设置的划词翻译快捷键即可 | 按下输入翻译快捷键呼出翻译窗口,输入待翻译文本后按下 回车 翻译 | 通过被其他软件调用实现更加方便高效的功能, 详见 外部调用 |
剪切板监听模式 | 截图 OCR | 截图翻译 |
---|---|---|
右键点击菜单栏图标,选择 监听剪切板 启动剪切板监听,复制文字即可完成翻译 |
按下截图 OCR 快捷键后框选需要识别区域即可完成识别 | 按下截图翻译快捷键后框选需要识别区域即可完成翻译 |
- 多接口并行翻译 (支持接口)
- 多接口文字识别 (支持接口)
- 多接口语音合成 (支持接口)
- 导出到生词本 (支持接口)
- 外部调用 (详情)
- 支持插件系统 (插件系统)
- 支持所有 PC 平台 (Windows, macOS, Linux)
- 支持 Wayland (在 KDE、Gnome 以及 Hyprland 上测试)
- 多语言支持
- OpenAI
- 智谱 AI
- Gemini Pro
- Ollama (离线)
- 阿里翻译
- 百度翻译
- 彩云小译
- 腾讯翻译君
- 腾讯交互翻译
- 火山翻译
- 小牛翻译
- Bing
- Bing 词典
- DeepL
- 有道翻译
- 剑桥词典
- Yandex
- Lingva (插件)
- Tatoeba (插件)
- ECDICT (插件)
更多接口支持见 插件系统
- 系统 OCR (离线)
- Windows.Media.OCR on Windows
- Apple Vision Framework on MacOS
- Tesseract OCR on Linux
- Tesseract.js (离线)
- 百度
- 腾讯
- 火山
- 迅飞
- 腾讯图片翻译
- 百度图片翻译
- Simple LaTeX
- OCRSpace (插件)
- Rapid (离线 插件)
- Paddle (离线 插件)
更多接口支持见 插件系统
更多接口支持见 插件系统
更多接口支持见 插件系统
软件内置接口数量有限,但是您可以通过插件系统来扩展软件的功能。
你可以在 Plugin List 查找你需要的插件,然后前往插件仓库下载插件。
沙拉翻译 插件的扩展名为 .potext
, 下载得到.potext
文件之后, 在 偏好设置-服务设置-添加外部插件-安装外部插件 选择对应的 .potext
即可安装成功,添加到服务列表中即可像内置服务一样正常使用了。
-
找不到指定的模块 (Windows)
出现类似这样的报错是因为系统缺少 C++库,前往这里安装即可解决问题。
-
不是有效的 Win32 应用程序 (Windows)
出现类似这样的报错说明你没有下载对应系统或者架构的插件,前往插件仓库下载正确的插件即可解决问题。
在 Plugin List 中的 模板 章节提供了各种插件的开发模板,具体的开发文档请查看对应的模板仓库。
winget install allentown521.Saladict
-
在 Release 页面下载最新
exe
安装包。- 64 位机器下载
saladict_{version}_x64-setup.exe
- 32 位机器下载
saladict_{version}_x86-setup.exe
- arm64 机器下载
saladict_{version}_arm64-setup.exe
- 64 位机器下载
-
双击安装包进行安装。
-
启动后没有界面,点击托盘图标没有反应
检查是否卸载/禁用了 WebView2,如果卸载/禁用了 WebView2,请手动安装 WebView2 或将其恢复。
如果是企业版系统不方便安装或无法安装 WebView2,请尝试在 Release 下载内置 WebView2 的版本
saladict_{version}_{arch}_fix_webview2_runtime-setup.exe
若问题仍然存在请尝试使用 Windows7 兼容模式启动。
M-series Macs 用户可以从 Mac App Store 安装。
由于技术限制,Mac App Store 版本不支持
划词翻译
和快捷键划词翻译
。
- 从 Release 页面下载最新的
dmg
安装包。(如果您使用的是 M1 芯片,请下载名为saladict_{version}_aarch64.dmg
的安装包,否则请下载名为saladict_{version}_x64.dmg
的安装包) - 双击下载的文件后将 沙拉翻译 拖入 Applications 文件夹即可完成安装。
- 添加我们的 tap:
brew tap allentown521/homebrew-saladict
- 安装 沙拉翻译:
brew install --cask saladict
- 升级 沙拉翻译
brew upgrade --cask saladict
- 如果每次打开时都遇到辅助功能权限提示,或者无法进行划词翻译,请前往设置 -> 隐私与安全 -> 辅助功能,移除 “沙拉翻译”,并重新添加 “沙拉翻译”。
- 从 Release 页面下载最新的对应架构的
deb
安装包。
沙拉翻译 提供了完整的 HTTP 接口,以便可以被其他软件调用。您可以通过向 127.0.0.1:port
发送 HTTP 请求来调用 沙拉翻译,其中的port
是 沙拉翻译 监听的端口号,默认为60606
,可以在软件设置中进行更改。
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:60606/selection_translate"
这一功能可以让您在不使用软件内截图的情况下调用截图 OCR/截图翻译功能,这样您就可以使用您喜欢的截图工具来截图了,也可以解决在某些平台下 沙拉翻译 自带的截图无法使用的问题。
- 使用其他截图工具截图
- 将截图保存在
$CACHE/allen.town.focus.saladict/Saladict_screenshot_cut.png
- 向
127.0.0.1:port/ocr_recognize?screenshot=false
发送请求即可调用成功
$CACHE
为系统缓存目录,例如在 Windows 上为C:\Users\{用户名}\AppData\Local\allen.town.focus.saladict\pot_screenshot_cut.png
在 Linux 下调用 Flameshot 进行截图 OCR:
rm ~/.cache/allen.town.focus.saladict/pot_screenshot_cut.png && flameshot gui -s -p ~/.cache/allen.town.focus.saladict/pot_screenshot_cut.png && curl "127.0.0.1:60606/ocr_recognize?screenshot=false"
- 从 Microsoft Store 下载安装 SnipDo。
- 从 Release 下载 沙拉翻译 的 SnipDo 扩展 (Saladict.pbar)
- 双击下载的扩展文件完成安装。
- 选中文字,可以看到弹出的 SnipDo 工具条,点击翻译按钮即可翻译。
- 从 官网 下载安装 PopClip
- 软件是收费的,国内用户可以从 Mac应用软件分享 下载免费版,有能力还是请支持正版。
- 从 Release 下载 沙拉翻译 的 PopClip 扩展 (Saladict.popclipextz)
- 双击下载的扩展文件完成安装。
- 在 PopClip 的扩展中启用 沙拉翻译 扩展,选中文本即可点击翻译。
Starry 目前仍处于开发阶段,因此您只能手动编译它。
Github: ccslykx/Starry
由于各大发行版对于 Wayland 的支持程度不同,所以 沙拉翻译 本身没法做到特别完美的支持,这里可以提供一些常见问题的解决方案,通过合理的设置之后,沙拉翻译 也可以在 Wayland 下完美运行。
Ubuntu 22.04 开始默认使用 Wayland 作为显示服务器,如果需要使用 X11 作为显示服务器:
1. 在登录界面点击齿轮图标
2. 选择 "Ubuntu on Xorg"(使用 X11 而不是 Wayland)
3. 然后登录
这样可以解决以下几个问题
由于 Tauri 的快捷键方案并没有支持 Wayland,所以 沙拉翻译 应用内的快捷键设置在 Wayland 下无法使用。 您可以设置系统快捷用 curl 发送请求来触发 沙拉翻译,详见外部调用
在一些纯 Wayland 桌面环境/窗口管理器(如 Hyprland)上,沙拉翻译 内置的截图无法使用,这时可以通过使用其他截图工具代替,详见 不使用软件内截图
下面给出在 Hyprland 下的配置示例(通过 grim 和 slurp 实现截图):
bind = ALT, X, exec, grim -g "$(slurp)" ~/.cache/allen.town.focus.saladict/pot_screenshot_cut.png && curl "127.0.0.1:60606/ocr_recognize?screenshot=false"
bind = ALT, C, exec, grim -g "$(slurp)" ~/.cache/allen.town.focus.saladict/pot_screenshot_cut.png && curl "127.0.0.1:60606/ocr_translate?screenshot=false"
其他桌面环境/窗口管理器也是类似的操作
由于目前 沙拉翻译 在 Wayland 下还无法获取到正确的鼠标坐标,所以内部的实现无法工作。 对于某些桌面环境/窗口管理器,可以通过设置窗口规则来实现窗口跟随鼠标位置,这里以 Hyprland 为例:
windowrulev2 = float, class:(saladict), title:(Translator|OCR|PopClip|Screenshot Translate) # Translation window floating
windowrulev2 = move cursor 0 0, class:(saladict), title:(Translator|PopClip|Screenshot Translate) # Translation window follows the mouse position.
Node.js >= 18.0.0
pnpm >= 8.5.0
Rust >= 1.80.0
-
Clone 仓库
git clone https://github.com/allentown521/saladict.git
-
安装依赖
cd saladict pnpm install
-
安装依赖(仅 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 # Run the app in development mode
-
打包构建
pnpm tauri build # Build into installation package