1. Introduction

LingVa is a lightweight, free, open-source Chrome translation extension that supports the following core features:

The built-in engine works right after installation with zero setup. For higher usage limits or more stability, switch to a third-party engine and enter your own API credentials under Settings → Translation Engines.


3. Selection Translation

On any webpage, select a piece of text with your mouse (or Shift + arrow keys) to trigger selection translation.

  1. 1
    Select text
    Drag to select the text you want to translate on the page.
  2. 2
    Click the translate button
    After releasing the mouse, a "Translate" button appears near the selection — click it.
  3. 3
    View the result
    The translation shows in a floating panel; drag the result area to move the panel. Below it you can switch the target language, copy the result, or pin the panel with the pin icon — pinned panels stay open when you click outside them.

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.


4. Floating Ball

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.

  1. 1
    Open the panel
    Click the floating ball to open the translation panel; click it again to minimize the panel without losing what you typed.
  2. 2
    Enter text
    Type or paste text into the panel's input box; translation starts automatically after a short pause, no extra click needed.
  3. 3
    View the result
    The result appears below; you can switch the target language, click the refresh icon to re-translate, or click "Copy" to copy the result.
  4. 4
    Move or pin the panel
    Drag the title bar to move the panel; click the pin icon on the right of the title bar to pin it — pinned panels stay open when you click outside them.

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.

Some websites' Content Security Policy (CSP) may block the floating ball from appearing — this is expected behavior.

5. Translation Engine Setup

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.

Built-in Translate No setup needed Default

Powered by the Google Translate service, ready to use immediately after installation — no account or API key required. Suitable for most everyday translation needs.

The built-in engine uses an unofficial endpoint that Google does not guarantee, so requests may occasionally fail. For a more stable or higher-volume service, switch to one of the third-party engines below and configure your own API credentials.

Custom Endpoint Advanced

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

FieldDescription
MethodPOST
Content-Typeapplication/json
AuthOptional; when a token is set, an Authorization: Bearer {Token} header is added automatically
Body field qThe original text to translate
Body field fromSource language BCP-47 code, "auto" when auto-detected
Body field toTarget language BCP-47 code, e.g. zh-Hans, en, ja
Success response{ "dst": "translated text" }
Error response{ "error": "error message" }
Once saved, LingVa automatically switches to the custom endpoint engine. To switch back, click "Switch" on another engine card under Settings → Translation Engines.

Baidu Translate Generous free tier

Baidu AI Open Platform offers 1,000,000 free characters per month — plenty for everyday use.

  1. 1
    Create an account
    Sign up and log in at the Baidu AI Open Platform.
  2. 2
    Enable Machine Translation
    Go to Products → Machine Translation and click "Use Now" to enable the service.
  3. 3
    Create an application
    Create an app in the console, enable the "Machine Translation" capability, and get your App ID and API Key.
  4. 4
    Enter it into LingVa
    Under Settings → Translation Engines → Baidu Translate → Configure, enter:
    App ID — your console's App ID
    Bearer Token — your console's API Key

Google Translate High quality

Google Cloud Translation API offers excellent translation quality, with 500,000 free characters per month and pay-as-you-go pricing beyond that.

  1. 1
    Create a Google Cloud project
    Go to the Google Cloud Console and create a new project (or use an existing one).
  2. 2
    Enable the Translation API
    In "APIs & Services" → "Library", search for "Cloud Translation API" and enable it.
  3. 3
    Create an API key
    In "APIs & Services" → "Credentials", click "Create Credentials" → "API key" and copy the generated key.
  4. 4
    Enter it into LingVa
    Under Settings → Translation Engines → Google Translate → Configure, enter the API key.
Google Cloud requires a billing account. Consider setting a quota limit on the API key to avoid unexpected charges.

Microsoft Translate Generous free tier

Azure AI Translator offers 2,000,000 free characters per month on the F0 free tier, with excellent quality and 100+ supported languages.

  1. 1
    Create an Azure account
    Sign up and log in at the Azure Portal (a credit card is required, but the F0 tier is free).
  2. 2
    Create a Translator resource
    Search for "Translator" under "Create a resource", choose the free F0 pricing tier (2M characters/month), pick a region (e.g. East Asia), and create it.
  3. 3
    Get the key and region
    Once created, go to "Keys and Endpoint" and copy "Key 1" and the "Location/Region" value.
  4. 4
    Enter it into LingVa
    Under Settings → Translation Engines → Microsoft Translate → Configure, enter:
    Subscription Key — your "Key 1"
    Region — your "Location/Region", e.g. eastasia
The region field must be the lowercase Azure region identifier, e.g. eastasia, eastus, westeurope — an incorrect value will cause requests to fail.

Youdao Translate Broad language support

Youdao Zhiyun's Text Translation API supports 100+ language pairs, with a free trial quota for new accounts.

  1. 1
    Create an account
    Sign up and log in at the Youdao Zhiyun Open Platform.
  2. 2
    Enable Text Translation
    Go to "NLP Translation" → "Text Translation", click "Use Now" to enable it, and top up a trial or paid package.
  3. 3
    Create an application
    In the console's "Application Management", create a new app bound to "Text Translation" and get your App Key and App Secret.
  4. 4
    Enter it into LingVa
    Under Settings → Translation Engines → Youdao Translate → Configure, enter:
    App Key and App Secret (both from Application Management)

6. Permissions & Privacy

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:

PermissionPurpose
storageStores API keys, translation history, and preferences on-device — no remote storage involved.
activeTabReads the selected text on the current tab for selection translation; nothing else on the page is read.
scriptingInjects the scripts needed for the selection translation panel and floating ball; runs only when the user triggers it.
offscreenSends translation API requests from a background offscreen document, working around MV3's network limitations on service workers.
host_permissionsSelection 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.

You can inspect all of the extension's network requests and source code yourself via Chrome DevTools (F12 → Network / Sources) — no need to take any claim on faith.

See the full Privacy Policy for details on data handling.


7. General Settings

SettingDescription
Display LanguageSwitches the extension's UI language; Chinese and English are currently supported.
Font SizeDrag the slider to continuously adjust the translation result's font size between 12–20px.
Disable Selection TranslateWhen enabled, selecting text on any page no longer shows the translate button or panel.
Show Floating BallKeeps a floating ball in the corner of the page for quickly opening an independent translation panel.
Theme ModeFollow system / Light / Dark — controls the color scheme of the popup and floating panels.
Reset to DefaultsResets display language, font size, Disable Selection Translate, Show Floating Ball, and theme mode to their default values in one click.