A cross-platform translator application
- Usage
- Features
- Supported Services
- Plugin System
- Installation
- External Calls
- Wayland Support
- Internationalization
- Contributors
- Thanks
Saladict is a fork of Pot Translation. Since Pot Translation is already excellent, why choose Saladict instead? Here are the main reasons:
-
More stable functionality: Many pull requests in Pot remain unmerged, including important bug fixes. Saladict regularly syncs bug-fix code from the upstream Pot repository and selectively integrates new features to ensure overall stability.
-
Broader AI translation integration: Starting from version 4.0.0, Saladict offers built‑in online translation services. Users no longer need to apply for their own API keys, making it easier to use.
-
Unified product ecosystem: Our long‑term vision is to maintain consistency and complementarity between the browser extension and desktop application, delivering the most complete text‑selection translation solution. Many users first encounter Saladict through the Chrome extension before downloading the desktop app.
-
Longer support cycle: Pot’s maintenance frequency has been declining, and volunteer‑driven projects are difficult to sustain. Saladict generates revenue through ads and online translation services, giving us the motivation to continue maintaining the product while keeping the code open.
| Translation by selection | Translate by input | External calls |
|---|---|---|
| Select text and press the shortcut or click translation icon to translate | Press shortcut to open translation window, translate by hitting Enter | More efficient workflow by integrating other apps, see External Calls |
![]() |
![]() |
![]() |
- Parallel translations with multiple services (Supported Services)
- OCR with multiple services (Supported Services)
- Text-to-Speech with multiple services (Supported Services)
- Export to vocabulary apps (Supported Services)
- External calls (External Calls)
- Plugin system (Plugin System)
- Support Windows, macOS and Linux
- Support Wayland (Tested on KDE, Gnome and Hyprland)
- Multi-language support
- OpenAI
- ChatGLM
- Gemini
- Ollama (Offline)
- Ali Translate
- Baidu Translate
- Caiyun
- Tencent Transmart
- Tencent Interactive Translate
- Volcengine Translate
- NiuTrans
- Google Translate
- Bing Translate
- Bing Dictionary
- DeepL
- Youdao
- Cambridge Dictionary
- Yandex
- Lingva (Plugin)
- Tatoeba (Plugin)
- ECDICT (Plugin)
More Services see Plugin System
- System OCR (Offline)
- Windows.Media.OCR on Windows
- Apple Vision Framework on MacOS
- Tesseract OCR on Linux
- Tesseract.js (Offline)
- Baidu
- Tencent
- Volcengine
- iflytek
- Tencent Image Translate
- Baidu Image Translate
- Simple LaTeX
- OCRSpace (Plugin)
- Rapid (Offline Plugin)
- Paddle (Offline Plugin)
More Services see Plugin System
More Services see Plugin System
More Services see Plugin System
The built-in services are limited. But you can expand the app's functionality through the plugin system.
You can find plugins you need in the Plugin List, and then go to the plugin repo to download it.
The file extension of Saladict plugin is .potext. After downloading the .potext file, go to Preferences - Service Settings - Add External Plugin - Install External Plugin to select the corresponding .potext to install it. It will then be added to the service list and can be used like a built-in service.
-
The specified module could not be found (Windows)
Errors like this occur because the system lacks C++ libraries,Go to here download and install it.
-
Not a valid Win32 application (Windows)
An error like this indicates that you did not download the plugin for the corresponding system or architecture. Go to the plugin repository and download the correct plugin to solve the problem.
The Template section in the Plugin List provides plugin development templates for various plugins. Please check the corresponding template repo for specific documentation.
winget install allentown521.Saladict-
Download the installation package ending in
.exefrom the Latest Release page.- 64-bit machine download
saladict_{version}_x64-setup.exe - 32-bit machine download
saladict_{version}_x86-setup.exe - arm64 machine download
saladict_{version}_arm64-setup.exe
- 64-bit machine download
-
Double click the downloaded file to install it.
-
There is no interface after startup, and there is no response when clicking the tray icon.
Check if WebView2 is uninstalled/disabled, if so, install WebView2 manually or restore it.
If the enterprise edition system is inconvenient to install or cannot install WebView2, please try to download the fix WebView2 version
saladict_{version} at [Release](https://github.com/allentown521/saladict/releases/latest) _{arch}_fix_webview2_runtime-setup.exeIf the issue persists, please try starting in Windows 7 compatibility mode.
For M-series Macs, you can install it from Mac App Store
Due to technical limitations, the Mac App Store version does not support
Selection TranslationandTranslation Using Shortcuts After Selection.
- Add our tap:
brew tap allentown521/homebrew-saladict- Install Saladict:
brew install --cask saladict- Upgrade Saladict
brew upgrade --cask saladict- Download the installation package ending in
.dmgfrom the Latest Release page. (If you are using M1, please download the installation package namedsaladict_{version}_aarch64.dmg, otherwise download the installation package namedsaladict_{version}_x64.dmg) - Double click the downloaded file to install it.
- If you encounter a permission prompt every time you open it, or if you cannot perform a shortcut translation, please go to Settings -> Privacy & Security -> Supporting Features to remove Saladict, and then re-add Saladict.
We provide deb packages for Linux.
Please note that: There are two deb package, universal is based on glibc2.28 and openssl-1.1, If the regular deb package can't run on your machine due to dependency problems, please download the universal package, Due to its low version dependency, it can run on most systems.
Saladict provides a complete HTTP interface for integration with other software. You can call Saladict by sending HTTP requests to 127.0.0.1:port, where port is the listening port of Saladict, default to 60606, and can be changed in the app settings.
POST "/" => Translate given text (body is text to translate)
GET "/config" => Open settings
POST "/translate" => Translate given text (same as "/")
GET "/selection_translate" => Translate selected text
GET "/input_translate" => Open input translation
GET "/ocr_recognize" => Perform OCR on screenshot
GET "/ocr_translate" => Perform translation on screenshot
GET "/ocr_recognize?screenshot=false" => OCR without taking screenshot
GET "/ocr_translate?screenshot=false" => Translate screenshot without taking screenshot
GET "/ocr_recognize?screenshot=true" => OCR with screenshot
GET "/ocr_translate?screenshot=true" => Translate screenshot-
Call translation by selection:
To call Saladict's translation by selection, simply send a request to
127.0.0.1:port:E.g. using curl:
curl "127.0.0.1:60606/selection_translate"
This allows you to perform OCR/translation without using Saladict's internal screenshot, so you can use your own screenshot tools. It also solves the problem where Saladict's internal screenshot doesn't work on some platforms.
- Take screenshot using other tool
- Save screenshot to
$CACHE/allen.town.focus.saladict/pot_screenshot_cut.png - Send request to
127.0.0.1:port/ocr_recognize?screenshot=falseto call
$CACHEis the system cache dir, e.g.C:\Users\{username}\AppData\Local\allen.town.focus.saladict\pot_screenshot_cut.pngon Windows.
OCR using Flameshot on Linux:
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"- Download and install SnipDo in the Microsoft Store
- Download the SnipDo extension of Saladict from the Latest Release (Saladict.pbar)
- Double click the downloaded file to install it.
- Selection some text, you can see the Saladict icon in the upper right corner of the selection, click the icon to translate.
- Download and install PopClip in the Official Website
- Download the PopClip extension of Saladict from the Latest Release (Saladict.popclipextz)
- Double click the downloaded file to install it.
- Enable the Saladict extension in PopClip settings, and then you can translate by selecting text.
Starry is still in the development stage, so you can only compile him manually
Github: ccslykx/Starry
Due to the varying levels of support for Wayland among different distributions, Saladict itself cannot achieve perfect compatibility. However, here are some solutions to common issues that can be implemented through proper configuration, allowing Saladict to run flawlessly on Wayland.
Ubuntu 22.04 start using Wayland as the display server, if you need to use X11 as the display server:
1. Click the gear icon on the login interface
2. Select "Ubuntu on Xorg" (use X11 instead of Wayland)
3. Then login
This can solve the following problems
Due to Tauri's lack of support for Wayland, the shortcut key scheme in the Saladict application cannot be used under Wayland.
You can set the system shortcut and send a request with curl to call Saladict, see External Calls for details
In some pure Wayland desktop environments/window managers (such as Hyprland), the built-in screenshot feature of Saladict cannot be used. In this case, you can use other screenshot tools instead. For more details, please refer to the section Not Using Built-in Screenshot.
Below is a configuration example for Hyprland using grim and slurp to achieve screenshot functionality:
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"Other desktop environments/window managers also have similar operations.
Due to the current inability of Saladict to obtain accurate mouse coordinates under Wayland, its internal implementation cannot function properly. For certain desktop environments/window managers, it is possible to achieve window following mouse position by setting window rules. Here we take Hyprland as an example:
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 the repository
git clone https://github.com/allentown521/saladict.git
-
Install dependencies
cd saladict pnpm install -
Install dependencies(Only 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
-
Development (Optional)
pnpm tauri dev # Run the app in development mode -
Build
pnpm tauri build # Build into installation package
- Bob Inspiration
- bob-plugin-openai-translator OpenAI API Reference
- @uiYzzi Implementation ideas
- @Lichenkass Maintaining the Deepin App Store.
- Tauri A user-friendly GUI framework.








