Native macOS menu-bar application that translates currently selected text from any app using Apple's Translation framework.
- Select text anywhere.
- Press
Control + Option + Command + T. - If the selection is editable, the selected text is replaced with translated text.
- If the selection is not editable, translated text is copied to clipboard.
- A lightweight overlay confirms success or error.
- Target language is selectable from the menu-bar app menu.
- A Settings window is available from the menu bar to configure target language and global hotkey.
- If translation models are missing, onboarding UI opens and can request model downloads.
- macOS 26 or newer.
- Accessibility permission enabled for the app.
- Apple translation language models installed for source/target languages.
Single command:
brew tap teobale/seltranslator https://github.com/TeoBale/SelTranslator && brew install --cask teobale/seltranslator/sel-translatorAfter future releases:
brew upgrade --cask teobale/seltranslator/sel-translatorswift run SelTranslatorOn first run, allow Accessibility access when prompted.
- If you see a translation error overlay saying models are missing:
- Open System Settings.
- Go to General > Language & Region > Translation Languages.
- Download the source and target languages.
- Retry hotkey translation.
- Runtime errors are now printed to terminal with
[SelTranslator]prefix.
chmod +x scripts/build-app.sh
./scripts/build-app.shThis generates:
dist/SelTranslator.appdist/SelTranslator-macos.zip
This repository includes:
.github/workflows/release.yml(tag-based release pipeline)Casks/sel-translator.rb(Homebrew cask used by brew install)scripts/update-cask.sh(cask updater used by CI)
Release flow:
- Create and push a version tag:
git tag v0.2.0 git push origin v0.2.0
- GitHub Actions automatically:
- builds
SelTranslator.app - zips and uploads
SelTranslator-macos.zipto GitHub Releases - computes SHA256
- updates
Casks/sel-translator.rbon the default branch with the new version and checksum
- builds