A tiny, fast desktop translator for Linux, built on Reverso. It opens a small always-on-top window with the translation, frequency-ranked options, and side-by-side usage examples.
- Persistent source & target language — saved to
~/.config/reverso-linux/config - Searchable language menu — type to filter by name or code;
↑/↓andEnterselect - Translation options for short text (1–3 words) with frequency counts
- Usage examples — mixed examples appear immediately when the response provides them; click a chip for option-specific examples
- Full Unicode — Arabic/Hebrew RTL and mixed-direction text, CJK, combining marks
- IME support — composing text is drawn inline and committed through the platform IME
- HiDPI aware, works on both Wayland and X11
- 17 languages: english, russian, ukrainian, french, german, spanish, italian, portuguese, polish, dutch, arabic, hebrew, japanese, turkish, chinese, romanian, swedish
Runtime: Pango, Cairo, Fontconfig, libcurl.
Rendering Arabic, Hebrew or CJK text needs the corresponding system fonts. Most
desktop installations already have them; on a minimal system install e.g.
noto-fonts noto-fonts-cjk (Arch) or fonts-noto-core fonts-noto-cjk (Debian).
Arch Linux:
sudo pacman -S --needed base-devel rust pango cairo curlDebian/Ubuntu:
sudo apt install build-essential cargo pkg-config \
libpango1.0-dev libcairo2-dev libfontconfig1-dev libcurl4-openssl-dev \
libwayland-dev libxkbcommon-dev libx11-dev libxcb1-devcargo build --release
sudo install -Dm755 target/release/reverso-linux /usr/local/bin/reverso-linuxTo uninstall:
sudo rm /usr/local/bin/reverso-linuxThe version string comes from git describe --tags --match 'v*'. When building
from a source tarball, set APP_VERSION:
APP_VERSION=x.y.z cargo build --releasereverso-linux hello world # translate arguments
wl-paste -p | reverso-linux # translate the clipboard
reverso-linux -t french hello world # set the target language
reverso-linux -h # help
reverso-linux -v # versionKeyboard and mouse:
- Enter — translate
- Esc — close (or dismiss the language dropdown)
- Ctrl+A / C / V / X — select all, copy, paste, cut
- Open a language menu and type to filter; ↑/↓ moves the highlight, Enter selects, Esc closes
- Click a translation chip to show its examples; click it again to return to the mixed view
- Mouse wheel — scroll the results and examples
If there is no text on stdin and no arguments, the program exits without opening a window (matching the old CLI behaviour).
Add to ~/.config/hypr/hyprland.conf:
bind = SUPER, R, exec, wl-paste -p | reverso-linux
# Keep the popup floating and centered instead of tiling it.
windowrule = float on, match:class ^(reverso-linux)$
windowrule = center on, match:class ^(reverso-linux)$
Press Win+R to translate the current clipboard selection.
~/.config/reverso-linux/config (or $XDG_CONFIG_HOME/reverso-linux/config):
target_lang=russian
last_source_lang=english
