NoaLingua for Chrome
Add to Chrome — Free Add to Chrome

Feature

Local-first, and specific about the exceptions

There is no NoaLingua account and no sync of your learning data to our servers. Cards, settings, downloaded dictionaries, review schedules and every counter live in your Chrome profile. A small number of things can leave the device, each behind a setting you control — and one thing, a licence check, contacts a server once a day.

How to use it

Step by step

  1. 1

    Install without granting broad access

    The install-time permissions are storage, alarms, notifications and context menus. Document access is optional and requested only when you press a PDF button.

  2. 2

    Let the packs download

    Dictionary, grammar, definitions and example sentences come down once. After that, lookups read from disk rather than the network.

  3. 3

    Choose your translation source

    Local on-device is the default. Cloud is opt-in, and it is the only setting that sends sentence text off your machine.

  4. 4

    Export your profile whenever you like

    One JSON file with your settings, every card and its schedule, your streak and your progress. It works offline, it will still work in ten years, and nobody can take it away from you.

What stays on your machine, and what can leave it A boundary diagram. Inside your Chrome profile: saved cards and their sentences, settings and shortcuts, downloaded dictionaries and grammar packs, review schedule and per-word counters, streak and bookmarks, and audio clips. Crossing the boundary, each only under a named condition: a single word to Wiktionary, Wikidata and Tatoeba when grammar lookup is on; sentence text to MyMemory only if you select cloud translation; the sound of your voice to Chrome's speech service only with online recognition enabled; a licence key to the licence check once a day if you have paid; and pack downloads, which carry nothing about you. Never crossing under any setting: subtitle text without your checkbox, your watch history, your cards, and your progress. YOUR CHROME PROFILE Stays here Your saved cards and their sentences Settings and keyboard shortcuts Downloaded dictionaries and grammar packs Review schedule and per-word counters Day streak, bookmarks, video positions Audio clips captured from video NEVER LEAVES, UNDER ANY SETTING Subtitle text without your checkbox Your watch history Your cards and your progress CAN CROSS, EACH ON ITS OWN CONDITION One word Wiktionary · Wikidata · Tatoeba grammar lookup on (default) Sentence text MyMemory only if you choose Cloud Your voice Chrome speech service only with online recognition A licence key Licence check once a day, if you paid Nothing about you kaikki · WikDict · Tatoeba · HF downloading packs
Everything on the left is checkable. Open the network tab while you use it: with cloud translation off and external help off, the only outbound requests are pack downloads and — if you have paid — one licence check a day. Nothing in the “never leaves” list has a setting that turns it on.

Mechanism

Why it behaves this way

Everything that can leave the device, and its condition

Sentence text goes to MyMemory only when you have selected Cloud translation. A single word — never the sentence — goes to Wiktionary, Wikidata or Tatoeba when the grammar lookup option is on. N-grams go to the Wiktionary API only for a language whose pack is not downloaded. A sentence opens in Google Translate only when you click that button. The sound of your voice goes to Chrome’s speech service only with online recognition enabled. Pack downloads fetch static files from kaikki, WikDict, Tatoeba and Hugging Face, and those requests carry nothing about you.

Never sent, under any setting: subtitle text without your explicit checkbox, your watch history, your cards, or your progress.

The one server, and what it holds

Checking whether a paid licence is still valid contacts one endpoint, once a day per device. It exists because a licence check cannot be done honestly inside an extension — any secret shipped in a browser extension can be extracted from it by anyone.

That endpoint stores a licence key, a status and a plan name. No email, no name, no customer id — nothing that identifies a person, because answering “is this key live” does not require any of it, and data that is not held cannot leak. Where restoring a purchase by email is concerned, it stores a one-way hash of the address rather than the address itself.

Why an unknown licence is treated as paid

A network problem during a licence check resolves to premium, not to free. The reasoning is plainly in the product’s favour of the user: someone who paid and gets locked out by a connectivity blip is a support ticket and a refund, while someone on the free plan who keeps saving costs nothing at all.

Limitations

Common questions

Is there really no account?

There is no registration, no sign-in and no profile on our side. The only identifier that exists anywhere is a licence key, if you bought one.

What about analytics inside the extension?

There is none. The counters you see in the settings are computed on your device for you, and no event about them is sent anywhere.

How do I move to a new computer?

Export your profile as a JSON file and import it on the new machine. The import shows you what is in the file first, then offers to merge — keeping the more recently studied version of any word that exists in both — or to replace everything.

Can I check any of this myself?

Yes, and that is the point of listing it this precisely. Open the network tab while you use it. The claims on this page are written to survive exactly that.