muran169633/contextflow-translate
Productivity & UtilitiesChrome/Edge extension that renders bilingual translations of webpages through free, paid, or user-supplied AI translation providers.
What it does
ContextFlow Translate is a Manifest V3 extension for Chrome and Edge that keeps the original webpage text and inserts translations beneath each paragraph, so readers can compare the source and target side by side. MyMemory and the unofficial Google Translate web endpoint work without an account or key; Baidu, Youdao, Microsoft Translator, Google Cloud Translation, and a locally installed LibreTranslate require their own credentials or server. AI mode accepts OpenAI-compatible chat/completions endpoints, Gemini's generateContent, and Anthropic's Messages API, with each API type storing its own model name and key. It is aimed at readers who want control over the translation provider rather than a single bundled engine.
AI mode sends paragraphs in groups of five with title and adjacent-paragraph context, and supports a glossary of up to 60 source => target terms, four translation styles, and an optional second review pass focused on negations, numbers, units, and qualifiers. The extension prioritises the current viewport, processes up to 300 blocks per page or frame initially, and can translate newly loaded content while that budget remains.
Get started
- Download the source archive and extract it to a permanent folder; do not load the ZIP itself.
- Open
chrome://extensionsoredge://extensions, enable Developer mode, and click Load unpacked on the directory containingmanifest.json. - Open an
https://article, click the toolbar icon, choose MyMemory · free or Google Translate · no key (unofficial), set the languages, and click Translate page. Grant access to the selected service when prompted. - For a custom model, choose Your AI model, open Settings, pick the API type, enter the model ID and key, and for compatible services the base URL. Save & test API sends a short request and may incur a provider charge.
- Translations appear under the original paragraphs, with progress in the lower-right corner. Use Stop, Remove translations, or Retry as needed.
The page button and the default Ctrl+Shift+Y shortcut (Command+Shift+Y on macOS) can start the configured translation; Alt+Shift+Y (Option+Shift+Y on macOS) swaps between original and bilingual views. A Chinese illustrated guide is also available in the usage tutorial.
Local LibreTranslate is the one provider that needs separate setup: install and start it on 127.0.0.1:5000 with the language models loaded, for example libretranslate --host 127.0.0.1 --port 5000 --load-only en,zh. The extension does not install or start the server for you.
Constraints and costs
Free and keyless providers are limited in different ways. MyMemory's anonymous quota is 5,000 characters per day per its usage limits, though a contact email can raise it to 50,000; the email is stored locally and sent in request URLs. MyMemory does not use AI context, glossary, styles, or review, and long paragraphs are split because requests have a 500-byte limit. The Google web endpoint is unofficial, can be rate-limited or changed, and sends text in request URLs. Baidu, Youdao, Microsoft, and Google Cloud bill according to your own account and current pricing; the extension does not switch providers automatically on failure.
Credentials are stored unencrypted in chrome.storage.local, accessible to extension pages and the background worker but not directly to webpages. Remote AI endpoints must use HTTPS; plain HTTP is allowed only for localhost and 127.0.0.1. AI mode sends selected passages, title, surrounding context, and glossary terms to your provider. The optional local cache keeps up to 200 translated entries for seven days.
Coverage is limited to ordinary article-like pages: browser internal pages, the built-in PDF viewer, scanned images, and embedded video subtitles are unsupported, and complex layouts may place overlays imperfectly. Stopping prevents new jobs but may not cancel requests already in flight, which can still consume quota. The README states translation quality has not been benchmarked against other extensions.
Kaggle Notebook translation needs additional webNavigation and kaggleusercontent.com access because the article body lives in a frame. The Copy discussion action reads Kaggle discussions through the logged-in session, including collapsed replies, and writes formatted text to the clipboard without sending content to an AI service. Other sites are limited to already-present JSON-LD comments.
The project is MIT licensed, and tests run with Node.js 22+ via npm test, covering URL validation, prompts, terminology parsing, structured output, and a mocked service-worker API flow.
HotRepo's take
On the 2026-11-05 new-project list for JavaScript, ContextFlow recorded 8 stars gained over the roughly three-hour observation window from 10:45 to 13:45 UTC, ending at 111 stars and 1 fork, with no all-language daily ranking recorded. The feature set and README detail are substantial, but the single short snapshot is not enough to characterise its popularity trend. The project itself cautions that correctness is unbenchmarked and that provider availability and costs vary, so its practical value depends on the provider and model each user configures.
Written by AI from the project's README, updated . The project's own docs are the source of truth.