PrivaTranslate

Privacy-first web page translation using local LLM providers and Chrome's built-in Translator.

Overview

PrivaTranslate is a privacy-first Chrome extension for translating web pages through local LLM providers such as Ollama, LM Studio, OpenAI-compatible endpoints, and Chrome's built-in Translator API. All translations happen through your configured local provider, ensuring complete privacy. Choose the display mode that works best for you — overlay, replace, or side-by-side.

Features

  • 100% local processing — All translations happen through your configured local provider, ensuring complete privacy
  • Multiple providers — Ollama, LM Studio, OpenAI-compatible local endpoints, and Chrome Translator
  • Three translation modes — Overlay (hover tooltip), Replace (in-place), and Side-by-Side (dual-column new tab)
  • Structure-preserving replacement — Replace mode translates leaf text blocks while preserving nested paragraph structure
  • Resilient local inference — Keeps running when you switch tabs, retries transient failures, and retries failed blocks once
  • Context menu integration — Right-click to translate any page instantly
  • Zero data collection — No analytics, no tracking, no cloud services
  • Flexible configuration — Customize model, languages, concurrency, timeout, and batch short phrases

Translation Modes

  • 🔍 Overlay — Original text stays intact. Hover over underlined text to see translation in a tooltip.
  • ✏️ Replace — Directly replaces original text with translation. Use "Restore" to revert.
  • 📖 Side-by-Side — Opens a new tab showing original and translated text in a beautiful dual-column layout.

Provider Support

PrivaTranslate supports flexible provider selection:

  • Ollama — Uses /api/chat and /api/tags; concurrency capped at 1 for stability
  • LM Studio — OpenAI-compatible API surface; API key optional for local usage
  • OpenAI-compatible — Works with local servers exposing /models and /chat/completions
  • Chrome Translator — Uses Chrome's built-in Translator API; no base URL or API key required

Advantages

PrivaTranslate keeps translation traffic between your browser and local provider. Page text is sent only to the provider endpoint you configure. In Chrome provider mode, translation is handled by Chrome's built-in local Translator API. Provider API keys are stored locally in the browser profile, not synced. No analytics, no tracking, no external services.

Reliability

  • Translation continues when you switch to another Chrome tab
  • Long-running translations keep the MV3 background service worker alive
  • Transient provider failures are retried automatically
  • Blocks that still fail are retried once at the end of page translation
  • Status message reports any remaining failures after translation completes

Requirements

  • Google Chrome or a compatible Chromium browser
  • For local LLM providers — Install and run Ollama, LM Studio, or any OpenAI-compatible local server
  • For Chrome provider — A desktop Chrome build with the built-in Translator API available