Trot is a macOS menu bar app that translates selected text, typed text and screenshots in a floating panel. It is written in Go and draws its own interface with MyGo.
- Translate text selected in any app, with the result streaming into a panel at the mouse.
- Type or paste text into the panel and translate it.
- Translate the text in a screen region, read with Vision.
- Text in your first language goes into your second; anything else goes into your first.
- Sign in with a Mon account and translate with no API key, or use any OpenAI-compatible chat API (OpenAI, DeepSeek, Qwen, Ollama), Claude, DeepL or Google.
- Signed in, your settings and shortcuts sync between your Macs.
| Hotkey | Action |
|---|---|
| ⌥D | Translate the selection |
| ⌥A | Open the panel to type text |
| ⌥S | Translate a screenshot |
In the panel, ⌘L picks another target language, ⌘1 to ⌘5 switch the service and ⌘P pins the panel. You can change the hotkeys in Settings.
- macOS 13 or later
- Go 1.27 or later, to build
Download the disk image from Releases, or build from source:
go tool mygo build
open build/darwin-arm64/Trot.appTrot updates itself: it checks for a new version once a day, and from Check for Updates… in its menu. It runs in the menu bar and has no Dock icon. On first launch macOS asks for Accessibility access, which Trot needs to read the selection in other apps, and Settings opens so you can sign in to Mon, or pick another service and enter its key. macOS asks for Screen Recording access the first time you translate a screenshot.
- Using Trot: the panel, hotkeys, languages and screenshots
- Settings and data: settings, services, where data lives and launch arguments
- Development: scripts, tests, releases and project layout
