NoaLingua for Chrome
Add to Chrome — Free Add to Chrome

Honest limits

What NoaLingua cannot do

NoaLingua reads subtitles that already exist, on Chrome only, and keeps everything on your machine. That design has real costs: no mobile app, no whole-film transcript on Netflix, no grammar tables for four languages, a 475 MB English dictionary pack, and AI features that depend on a Chrome model many computers do not have. All of them are below.

Where it does and does not run

Chrome only, version 138 or newer.
There is no Firefox, Safari or mobile build. 138 is the first Chrome with the on-device Translator API the extension is built on, so older versions cannot run it at all.
There is no mobile app, and no cloud sync.
Your deck lives in one Chrome profile. Moving it to another computer means exporting a JSON file and importing it — which works, but it is a deliberate action, not a background sync.
Only YouTube and Netflix have dedicated support.
Every other site goes through a generic adapter that needs the page to have a <video> element with a readable text track. Most sites do not, and on those the extension simply does nothing rather than half-working.
It cannot reach Chrome’s own pages.
chrome:// pages, the Web Store and pages with a strict content policy are off-limits to any extension. For those, the right-click “Translate with NoaLingua” menu is the only route in.

Netflix specifically

No bilingual PDF of a film, and no whole-film transcript.
Netflix never exposes the full subtitle file. Sentences are built only from lines that have actually appeared on screen, so there is nothing to export for the parts you have not watched.
No translating ahead.
On YouTube the extension translates twelve sentences in advance, which is why the translation is usually there before the line starts. Without a full subtitle file that is impossible, so on Netflix a translation can arrive a beat late.
No YouTube-native translation fallback.
Translation goes through Chrome’s on-device model or cloud. For a language pair Chrome has no model for, that removes one of the safety nets that exists on YouTube.

Subtitles and transcription

It does not create subtitles where none exist.
It reads the subtitles a site already displays. On a video with no captions at all it offers Chrome’s on-device speech recognition — and says plainly that this is a machine guess, that it gets names wrong, and that there are no timings to jump to.
It cannot fix subtitles YouTube is already translating.
If YouTube’s own auto-translate is on, the captions arriving are already a translation, and reloading does not help — YouTube remembers that choice for about 30 days. You have to pick a plain language in the player’s own subtitle menu.
Punctuation repair covers 22 of the 28 languages.
The punctuation model handles 47 languages in total, but Swedish, Czech, Vietnamese, Thai, Danish and Norwegian are not among them. Auto-generated captions in those languages keep whatever punctuation they arrived with.
It does not bypass DRM, geo-restrictions or subscriptions.
It never has and it is not on the roadmap. If a site will not show you something, neither will NoaLingua.

Language data

French and Italian grammar tables cover verbs only.
The UniMorph datasets for both languages contain verb forms and nothing else — not one noun or adjective. French carries just 7,536 lemmas and is missing être, faire, pouvoir, venir, prendre and voir. The Wiktionary pack fills those gaps, which is why it is not really optional for French.
Serbian and Croatian have no offline dictionary at all.
There is no kaikki/Wiktionary extract for either language — this was checked, not assumed. Definitions and IPA for those two come from the online sources or not at all.
Finnish has no grammar pack.
UniMorph publishes Finnish across two files rather than one, and the downloader assumes one, so it was left out rather than silently fetching half the data. For a language this heavily inflected, that is the single most noticeable gap in coverage.
Only seven languages get uncommon-word highlighting.
English, Spanish, French, German, Italian, Portuguese and Russian. The others have no bundled frequency list, so the subtle underline that marks a rare word never appears.
Chinese, Vietnamese and Thai have no grammar tables — and never will.
These are analytic or isolating languages. There is genuinely nothing to conjugate or decline, so the absence is honest rather than a missing download.

The cost of local-first

The English dictionary pack is 475 MB.
Chinese is 145 MB, German 91 MB, French 54 MB. These live in your browser profile. Everything working offline is exactly the same thing as everything being downloaded first.
Expect 15–30 minutes before everything is instant.
Packs download one at a time, smallest first, in the background. Until they finish, some lookups go over the network and some grammar tables are simply not there yet.
A big pack can look stuck when it is only queued.
Downloads run one at a time. The largest one waits its turn and shows no progress while it waits, which looks identical to being stuck. The real status is in Settings → Downloads.

AI and speech

AI explanations need Chrome’s on-device model, which many machines lack.
The extension cannot install it — the model is Chrome’s. Where it is missing, the button is disabled and says why in advance rather than failing after you press it. Dictionary, grammar, examples and every practice game work without it.
Speech scoring depends on Chrome’s speech pack for that language.
Without a local pack you can turn on online recognition, which sends the sound of your voice — and nothing else — to Chrome’s service. Without either, Say It Back and scored shadowing are impossible, though unscored shadowing still works.
Speech recognition gets names wrong.
This is stated inside the product too. Treat a transcription of a video with no captions as a rough guide, not as a subtitle.

Plans and licensing

The free deck limit is not enforced in the current build.
The extension defines a 100-word cap and the code to apply it, but that code is not yet wired into the save path — so nobody has actually reached it. We would rather say this than describe a limit that does not exist.
Restoring a purchase by email is not switched on yet.
The mechanism is built but disabled, because the email delivery behind it is not configured. If you lose your licence key today, the route is to email support with your transaction id and purchase address.
A licence check contacts a server, once a day.
It is the only part of the product that does. It stores a licence key, a status and a plan name — no email, no name, no customer id. Everything about your learning stays on your machine.

Common questions

Why publish a page like this at all?

Because every one of these is something you would find within a week of real use, and finding it yourself after paying feels like being misled. A limitation you were told about in advance is a trade-off you accepted; the same limitation discovered later is a broken promise.

Are these limits going to be fixed?

Some are upstream and will not change — Chinese has no conjugation to tabulate, and Netflix will not start serving its subtitle files. Others, like Finnish grammar and the unenforced deck cap, are ordinary work items. We do not put dates on either kind.

Is anything hidden that is not on this page?

Not knowingly. This page is generated from the same claims registry the rest of the site renders from, and a feature page that ships without its own limits block fails the build. If you find something missing, tell us and it goes on the list.