An open-source browser extension for bilingual webpages, instant selection translation, and flexible translation services.
FluentRead brings translation into the reading flow. Keep the original text beside the translation, translate only the sentence you need, or translate the whole page without opening another tab. Choose a traditional translation engine, an AI provider, or the built-in free fallback, then tune the experience to your reading habits.
| Read naturally | Stay in control |
|---|---|
| Bilingual pages — Keep original text and translation together for study, research, and technical reading. | Many translation services — Use Microsoft Translator, Google Translate, DeepL, DeepLX, Chrome Translator, or AI providers such as OpenAI, DeepSeek, Gemini, Claude, Kimi, Ollama-compatible endpoints, and more. |
| Whole-page translation — Use the floating ball, context menu, or a customizable shortcut to translate and restore a page in place. | Custom models and endpoints — Configure compatible APIs, models, prompts, request bodies, proxies, and credentials from the settings page. |
| Selection translation — Select text and get a focused translation card with copy and speech actions. | Local-first configuration — Preferences and translation cache stay in the browser’s local storage. API keys are entered and used locally by the extension. |
| Hover and gesture triggers — Translate with a hover shortcut, double click, long press, middle click, or touch gestures. | Reader-friendly controls — Choose translation styles, themes, animation, cache behavior, concurrency, and separate shortcuts for page and selection translation. |
- Free Translation: a built-in fallback chain that tries Microsoft first, then DeepLX, then Google when a service returns an error or empty result.
- Image translation (Beta): local OCR for text in images, with downloadable language packs and a reversible translated overlay.
- Translation cache: reuse recent results for the same service, model, language pair, and request settings.
- Cross-browser support: build targets for Chromium browsers and Firefox through WXT and Manifest V3.
The popup keeps the most-used controls close: enable or pause the extension, choose languages and a default service, open the full settings page, and clear the local translation cache.
Use focused settings pages for reading preferences, services and models, shortcuts, image translation, advanced behavior, and configuration backup.
| Browser | Store |
|---|---|
| Chrome | Chrome Web Store · CrxSoso mirror |
| Edge | Microsoft Edge Add-ons |
| Firefox | Firefox Add-ons |
For a local build, install dependencies with pnpm and load the generated ./.output/chrome-mv3 directory as an unpacked extension. See the official documentation for setup and configuration details.
- Official documentation — features, setup, services, shortcuts, and FAQ.
- GitHub Discussions and Issues — report a problem or suggest an improvement.
- Bilibili introduction
- DeepWiki architecture overview
pnpm install
pnpm dev
pnpm test
pnpm compile
pnpm buildFluentRead uses Vue 3, TypeScript, Element Plus, WXT, and Manifest V3. The project is licensed under GPL-3.0.



