LingVa is a lightweight, free, open-source Chrome translation extension that supports the following core features:
Click the LingVa icon in the browser toolbar to open the translation popup.
On any webpage, select a piece of text with your mouse (or Shift + arrow keys) to trigger selection translation.
Turning it off: if you don't need this feature, enable "Disable Selection Translate" under Settings → General. Once enabled, selecting text on any page will no longer show the translate button or panel.
Successful translations are automatically added to the history at the bottom of the popup, and the chosen target language is synced to the popup's "Common" quick-switch chips.
The floating ball is a persistent shortcut in the corner of the page; clicking it opens an independent translation panel without switching back to the extension popup. Enable "Show Floating Ball" under Settings → General to make it appear on every matching page.
Successful translations are likewise added to the popup's history and "Common" quick-switch chips, sharing the same record with the popup and selection translation.
LingVa ships with a ready-to-use built-in engine, four optional third-party engines, and a custom endpoint feature for connecting your own translation backend. All engines share one configuration UI: on Settings → Translation Engines, click an engine card to make it the active engine — only one engine is active at a time. Click "Configure" on an unconfigured engine card to expand its form; the custom endpoint is configured separately under Settings → Custom Endpoint.
Powered by the Google Translate service, ready to use immediately after installation — no account or API key required. Suitable for most everyday translation needs.
If you run your own translation service (a local LLM, a private API gateway, an enterprise translation platform, etc.), enter its URL and an optional token under Settings → Custom Endpoint. LingVa will call it following the specification below.
API Specification
| Field | Description |
|---|---|
Method | POST |
Content-Type | application/json |
Auth | Optional; when a token is set, an Authorization: Bearer {Token} header is added automatically |
Body field q | The original text to translate |
Body field from | Source language BCP-47 code, "auto" when auto-detected |
Body field to | Target language BCP-47 code, e.g. zh-Hans, en, ja |
Success response | { "dst": "translated text" } |
Error response | { "error": "error message" } |
Baidu AI Open Platform offers 1,000,000 free characters per month — plenty for everyday use.
App ID — your console's App IDBearer Token — your console's API KeyGoogle Cloud Translation API offers excellent translation quality, with 500,000 free characters per month and pay-as-you-go pricing beyond that.
Azure AI Translator offers 2,000,000 free characters per month on the F0 free tier, with excellent quality and 100+ supported languages.
Subscription Key — your "Key 1"Region — your "Location/Region", e.g. eastasiaYoudao Zhiyun's Text Translation API supports 100+ language pairs, with a free trial quota for new accounts.
App Key and App Secret (both from Application Management)LingVa does not collect, store, or upload any personal data. Chrome shows the required permissions at install time; here's what each one is for:
| Permission | Purpose |
|---|---|
storage | Stores API keys, translation history, and preferences on-device — no remote storage involved. |
activeTab | Reads the selected text on the current tab for selection translation; nothing else on the page is read. |
scripting | Injects the scripts needed for the selection translation panel and floating ball; runs only when the user triggers it. |
offscreen | Sends translation API requests from a background offscreen document, working around MV3's network limitations on service workers. |
host_permissions | Selection translation needs the content script on every page, and several engines require cross-origin requests. |
Where your text goes: the text you translate is sent directly from your browser to the translation engine you're currently using (Built-in / Baidu / Google / Microsoft / Youdao / your custom endpoint). LingVa never handles the request itself and runs no intermediary server.
See the full Privacy Policy for details on data handling.
| Setting | Description |
|---|---|
| Display Language | Switches the extension's UI language; Chinese and English are currently supported. |
| Font Size | Drag the slider to continuously adjust the translation result's font size between 12–20px. |
| Disable Selection Translate | When enabled, selecting text on any page no longer shows the translate button or panel. |
| Show Floating Ball | Keeps a floating ball in the corner of the page for quickly opening an independent translation panel. |
| Theme Mode | Follow system / Light / Dark — controls the color scheme of the popup and floating panels. |
| Reset to Defaults | Resets display language, font size, Disable Selection Translate, Show Floating Ball, and theme mode to their default values in one click. |