English · 中文
A macOS menu bar and window app that rewrites your rough Chinese or English notes into two polished English versions: a Spoken Script and Formal Writing, using your own Gemini or DeepSeek API key. (The repo is named englearn; the app is called Thought2English.)
brew tap risingjerry/thought2english
brew install --cask thought2englishUpgrade with brew upgrade --cask thought2english. Or download the zip from Releases, or build it yourself (see below).
Then open Settings, choose a provider, and paste your API key.
- Two outputs at once — Spoken Script (how you would actually say it, with an industry-native tone) and Formal Writing (workplace-ready). Or pick just one.
- Bring your own key — Gemini or DeepSeek; model and base URL are editable.
- Tunable — domains (General, Life, Food, Fitness, AI, Web3, Reading, Investing), jargon level (plain or native), voice style (TradFi / Research or Crypto Twitter), and your own glossary.
- Notes that explain why wording was changed, plus a Compare view that highlights what was added.
- Speak the result with the system voice, Copy it, and browse History.
- Menu bar mini window for quick use.
Menu bar:
- Open Thought2English.
- Paste Chinese or English text in Write.
- Choose the output: Spoken, Formal, or Both.
- Click Generate, then copy, compare or speak the result.
Defaults: DeepSeek uses base URL https://api.deepseek.com and model deepseek-chat; Gemini uses https://generativelanguage.googleapis.com and gemini-3-flash-preview.
The app builds a prompt from your text, domains, jargon level, style and glossary, sends it to the provider you chose, and parses the reply into the Spoken, Formal and Notes sections. History is stored in a local SQLite file. It is a SwiftUI app built with Swift Package Manager and has no third-party dependencies.
- macOS 13 or newer.
- You need your own Gemini or DeepSeek API key, and usage is billed by the provider.
- The app is not notarized by Apple.
- Your API key is stored in the app's preferences as plain text (no Keychain yet). See PRIVACY.md.
- There is no automated test suite; CI checks that the app builds.
git clone https://github.com/risingjerry/englearn.git
cd englearn
./scripts/package_app.sh # creates dist/Thought2English.app
open dist/Thought2English.appPaste them into Write and click Generate. You get a Spoken Script and a Formal Writing version, plus notes on the wording.
Gemini or DeepSeek, with your own API key. You can change the model name and base URL in Settings.
Your text (and glossary and chosen settings) is sent to the provider you picked only when you press Generate or Test Connection. There is no other server. Your key is stored locally in plain text in app preferences. Details in PRIVACY.md.
Thought2English is the product name; englearn is the original package and repo name, still used for the executable.
The app is not notarized. Right-click it and choose Open, or allow it in System Settings → Privacy & Security.
In ~/Library/Application Support/Thought2English/history.sqlite. Delete that file to clear history.
brew uninstall --cask --zap thought2englishOr drag Thought2English.app to the Trash and remove ~/Library/Application Support/Thought2English and the preferences file ~/Library/Preferences/com.englearn.app.plist (this also clears your saved API key). Remove the tap with brew untap risingjerry/thought2english.
MIT, see LICENSE.
If it makes your English sound like you, a star helps others find it.







