Sluka

Install

Install

Sluka is a browser extension for Chrome, Brave and Edge, and an Android app that is a browser with the reader built in. Until the store listings are live, the extension loads straight from its folder:

  1. Open brave://extensions (or chrome://extensions).
  2. Turn on Developer mode, top right.
  3. Click Load unpacked and choose the extension folder.

The dashboard opens by itself on first install while the dictionary is copied into the browser's database, which takes a few seconds. After that, the toolbar icon opens it any time. There is nothing to build and no account to make.

Language

Pick a language

Sluka reads twenty-one languages and is in one of them at a time. The switcher is top right of the dashboard, beside Read a book. Everything follows it: which pages get highlighted, which dictionary answers, the word counts, the book shelf and the statistics. A page in any other language gets no highlights, which is deliberate. Turn on Language switcher while reading in Settings and the flag also appears in the counter island on every page.

Chinese, Cantonese, Japanese, Korean and Italian ship with their own dictionary. Chinese is one language in both scripts: a word you know in traditional is known in simplified too. Cantonese is a separate language with its own word store, because it is a different vocabulary in the same characters.

The first time you open a language, Sluka asks what language you want the meanings written in. English needs no download and is always kept underneath; anything else fetches one file and shows its definitions on top, tagged, with the English below for the words it lacks. The quality of each pair is printed on the choice.

A dialog titled Definitions for Chinese asking which language the meanings should be written in, with English offered as complete and already on this device, and a Not now button.
Asked once per language. Change it later under Settings → Dictionary.

Colours

What the colours mean

Open any page in the language you are in and the words are wrapped and coloured. There are three states and no more.

  • Blue is a word you have never dealt with. On a first page there will be a lot of it.
  • Yellow is a word you are learning, at one of four levels. The colour fades as the level rises, so a page shows you at a glance what is nearly known.
  • No highlight is a word you know, or one you told Sluka to ignore (a name, a number).

Chinese has one more: green marks a word that is new in the script you are reading but already known in the other one. Press K on it and the pair is filed as one known word, counted once.

An Italian article with most words highlighted blue, a handful in four shades of yellow from strong to faint, and a few words with no highlight.
After grading a dozen words. Blue is new, yellow fades from level 1 to level 4, and known words such as parole and storia have no highlight at all.

Bottom right of every page is the counter island: how many new, learning and known words are on this page, and a Know all button for the rare page where everything blue is something you already knew.

The counter island: a blue dot with 123, a yellow dot with 2, 0 known, and a Know all button.
The island stays the smallest thing on the page. It also holds the flag, if you turn the on-page language switcher on.

Reading

Look up and grade a word

Hover a word and a panel shows its reading and meaning. Nothing is saved by hovering. Move on and it disappears.

A Chinese article with the word 聆聽 hovered; a dark panel shows the word, its simplified form, the pinyin líng tīng, the status New, and the meaning to listen respectfully.
The hover preview: headword, the other script, reading, current status, meanings. Chinese words also show their other-script form.

The fast way to grade is to keep hovering and press a key. 1 to 4 sets the level, K marks it known and the highlight goes, X ignores it for ever. No click, no panel to dismiss. Most reading is this: hover, key, next sentence.

Click a word to pin the panel. The pinned panel has the same six grades as buttons, an Ask AI button for words the dictionary is unsure about, and the key hints along the bottom. Esc closes it. Clicking a blue word also starts learning it at level 1, the way LingQ does; that can be switched off under Settings → Reading → Clicking a new word starts learning it.

The pinned panel on 生詞: reading shēng cí, Level 1, three meanings, an Ask AI to double-check button, buttons 1 2 3 4 Known Ignore, and the hint 1–4 level, K known, X ignore, Escape close.
Pinned. The word turned yellow the moment it was clicked, because a click on a new word starts it at level 1.

With a word open, the arrow keys drive the whole loop without the mouse: and jump to the next and previous word still worth studying, marks the open word known, puts it away. With no word open, and scroll as usual.

Shift+H switches the highlights off to read clean, and back on. The words are still tracked; only the colour is gone.

Starting out

Get past the wall of blue

A first page in a new language is a wall of blue, and most of it is function words you already know. Three ways past it:

  • The frequency slider on the Overview tab. Drag to a number and press Mark as known, and the most common words in the language are filed as known in one go. 500 is a reasonable start for an intermediate reader; 2,000 if you have read the language for a while. It only touches words you have never graded.
  • Shift+A on a page where you genuinely know every blue word. Same as the Know all button on the island.
  • Bring your words from LingQ. Settings → Bring your words over from LingQ takes a LingQ vocabulary export (CSV) and files every word in it as known, meanings included. Export a known-words list, not your whole vocabulary: the file has no level column, so everything in it is treated as known.
The Sluka dashboard Overview tab: 500 known, 2 learning, 0 ignored for Chinese; below it the Get past the wall of blue card with a slider at 500, a Mark as known button, a row of sample words, and the message Marked 500 words as known.
The Overview after running the slider at 500. The chips preview which words the slider is about to mark.

Segmentation

Fix a badly split word

Chinese, Cantonese and Japanese write no spaces, so Sluka has to cut the text into words before it can highlight them. It does this well, but a compound the dictionary has never seen gets cut in two: 雨彈, "rain bomb", a downpour, comes out as 雨 and 彈.

Drag across the characters and a panel offers them as one word, with the composed reading and a character-by-character gloss, which is usually enough to tell whether it is real. Nothing is saved yet; Esc and it is as if you never looked. Pick a level and every occurrence on the page merges, and the word joins the segmenter for good, so it stays whole on every page from then on. Hand-made words are tagged custom on the Words tab; deleting one there removes it from the segmenter too.

The characters 雨彈 selected in a sentence; a panel headed New word from selection shows 雨彈, yǔ dàn, a note that it is not in the dictionary, a character-by-character gloss of 雨 as rain and 彈 as bullet, an Ask AI if this is a real word button, and grade buttons.
Two characters selected. Pick a level to save them as one word, or ask the AI first.

AI check

The AI check

A bundled dictionary is large and finite. New coinages, slang, journalese and names are not in it, and neither is 雨彈. For those, the panel offers Ask AI if this is a real word, which sends the word and its sentence to Claude and comes back with one of four verdicts.

VerdictMeans
Real wordAn established word. Meaning shown.
Real, but narrowGenuine but restricted: slang, a coinage, journalese, a proper noun. It says which.
Not a wordNot a word at all. It says what the characters actually are, and shows no meaning.
UncertainIt does not know, and says so rather than guessing.
The same panel after asking the AI: a badge reading Real, but narrow with high confidence, the meaning a sudden intense burst of rain, the reading yǔ dàn, Used in Taiwanese news headlines, and Why: journalistic coinage, literally rain bomb.
A verdict, with its confidence and its reasoning. Treat a low-confidence answer as a lead, not a fact.

Switching it on

It is off until you give it a key. Under Settings → AI check, paste an Anthropic API key from console.anthropic.com; entering one switches the check on. Most keys belong to a single workspace and need nothing else. If a check comes back asking for a workspace ID, paste the wrkspc_… value from the console's Settings → Workspaces into the second box.

The AI check settings card: an Enable the AI check toggle, an Anthropic API key field, an optional Workspace ID field, a model chooser set to Claude Opus 5, an Include the surrounding sentence toggle, and a note that this is the one feature that leaves your machine.
Settings → AI check. The key is stored in this browser only, and is stripped from every backup and export.

Checking a word without saving it

Clicking a blue word grades it to level 1 straight away, so to inspect one first, hover it and press A. That opens the panel and runs the check with the word left untouched at New. Grade it afterwards if it turns out to be worth keeping. The same key works on a drag-selected phrase and on an already-open word.

This is the only feature that sends anything off your machine. Nothing is sent until you press the button. Each check costs roughly one US cent on Opus 5, billed to your own Anthropic account, and verdicts are cached per page so reopening a word costs nothing.

Readings

Readings above the characters

Chinese, Cantonese and Japanese can print each word's reading over the text itself: pinyin or zhuyin over Chinese, jyutping or Yale over Cantonese, furigana over kanji. Turn it on under Settings → Reading and pick the notation in the language's own card.

By default only the words you are still working on carry a reading, so the annotation thins out as you learn instead of staying there to be leaned on. Marking a word known takes its reading off the page at once. Every word and new words only are the other two settings. Lines grow taller to make room, which is the one thing in Sluka that changes a page's layout, and why it is off until asked for.

The Chinese article with pinyin printed in small type above every highlighted word, one syllable aligned over each character.
Pinyin over every word still being learned, one syllable per character. Shift+H hides the readings along with the highlights.

Video

Videos

On YouTube, Netflix and most players with captions, the caption line is highlighted and looked up like any other text. A button labelled SlukaCC sits in the player's own controls. It is off until you press it, and remembered once you do.

With SlukaCC on, looking up a caption word pauses the video just before that line would disappear, so you can finish reading the meaning. Leave the panel and the caption, and it plays on. The arrow keys step through the line: and move between the caption's words, marks one known, puts the video back on. A subtitled video can be read through with one hand on the arrows, which is the only speed that keeps up with speech.

YouTube exposes the caption timings, so the line plays out and then pauses. Netflix and similar overlays often do not, so there the video pauses as soon as a meaning is open, which is the only way to keep the sentence on screen.

Chatbots

Chatbots

ChatGPT, Claude, Gemini, Grok and the like work with nothing to configure. Chat in the language you are learning and both the replies and your own sent messages are highlighted and tracked like any page.

Two things look different from an article and are both the feature working. Highlights appear a beat after a reply finishes, because a reply streams in a token at a time and wrapping it mid-stream would highlight half a word. And while there is text in the message box, the reader's shortcuts step aside so your typing is never eaten. Send the message and hover-grading works again immediately.

Books

Books

Read a book, top right of the dashboard, opens a reader for PDF, EPUB and plain text. Drop a file in or choose one. The book keeps its own layout and everything from a web page works on it: hover for the reading, click to grade, hover and press a number, arrows to jump.

The book reader's start screen: Read a Chinese book, Drop a book here or choose one, PDF EPUB and plain text, with a Choose a book button.
The start screen. Books you have opened stay on a shelf below it, with the place you reached.
  • PDF shows the printed page as typeset, with highlight boxes over the glyphs. The Fit button in the toolbar reflows the text into ordinary paragraphs for a phone-sized screen; on a phone that is the default.
  • EPUB keeps the book's own stylesheet and images, reflowed to the screen.
  • Plain text gets its paragraphs rebuilt, so a hard-wrapped Chinese text file does not leave words split across line ends, and its encoding is guessed rather than assumed to be UTF-8.

A book is identified by its contents, not its filename, so the same file on your phone is the same book with the same place in it. Scanned PDFs are photographs and do nothing; Sluka says so on opening rather than showing a page that never highlights.

Listening

Listening time

Reading is half of the method. Sluka also counts time spent listening to the language you are learning, and only that. Turn it on under Listening → Smart tracking; it is off until you do.

Once a minute it asks which browser tab is making sound, reads what that tab says is playing, and decides whether it is your language. Time is credited by the track's own clock, so a paused tab or a sleeping laptop earns nothing and a podcast at 1.5× credits the minutes you actually spent.

  • It sees browser tabs only: YouTube, the Spotify web player, podcast sites. The Spotify desktop app is invisible to an extension. The phone has no such limit and counts whatever is playing.
  • A title it cannot read, such as a Chinese podcast with English episode names, makes the track unsure. Its minutes are measured and held, and you are asked once the track ends. Say yes and they land on the days they were heard; say no and they are dropped. Either answer is remembered for that show.
  • Everything heard is listed under History with what it earned, including the tracks that earned nothing, so a wrong guess can be seen and fixed.

Statistics

Statistics, and how reading is counted

The Statistics tab shows a calendar, the totals, and graphs, per language, and keeps its own language switcher so two languages can be compared without leaving one. The numbers are worth trusting because of how they are made.

Words read are credited for text that was on screen long enough to have been read, capped by the time you actually spent there. A paragraph counts once it has been at least half visible for a second, and the words it is worth are then paid for by the seconds on the page, up to a ceiling well above a comfortable reading pace. Both halves have to agree: scrolling an article to the bottom in two seconds credits two seconds, and a tab left open on one paragraph credits one paragraph.

  • Only the article counts. Navigation, headers, bylines and lists of headlines are skipped.
  • Nothing accrues while you are away: the tab has to be visible and focused, with something scrolled or moved in the last two minutes.
  • Captions are counted by the video's clock instead, once per line.
  • Re-reading counts again, because you did read it again.

Words known is a reading of a gauge rather than a sum, so it never double-counts across devices. Daily counters are kept per device and added up only on screen.

Sync

Sync between computer and phone

Your words, statistics, book shelf and listening history keep themselves up to date between the computer and the Android app whenever both are on the same wifi. The two talk to each other directly; nothing goes near the internet and there is no account.

  1. On the computer, open the dashboard and go to Settings → Sync with your other device. It shows an eight-character code.
  2. On the phone, open Sluka → Stats → Sync and type the code in.
  3. Back on the computer, press Find my phone. It searches the local network for a few seconds, finds the one device holding that code, and pairs.
The Sync with your other device settings card: instructions to type the code into the phone, the pairing code 72PXH5Z3, Find my phone and New code buttons, a collapsed The phone can't be found section, a Send book files too toggle, and Largest book to send set to 100 MB.
The computer's half of pairing. The code is short because it carries only the secret; the computer finds the phone's address by asking the network.

After that it is automatic: on browser start, when the dashboard opens, and every minute. If the router gives the phone a new address, the computer notices and finds it again. If the two are on networks that cannot see each other, a guest wifi or a VPN in the way, the phone offers its own full code under This phone's own code, and the computer accepts that instead under The phone can't be found.

What travelsHow conflicts resolve
Words and levelsNewest edit wins; a tie keeps the higher level.
Deleted words, booksStay deleted on both.
Daily statisticsKept per device, added up for display. Never doubled.
BooksYour place first, then the file itself, in pieces, up to the size limit in the card.
Listening historyPer track, keeping the longer total.
Settings, API keyNever sent.

Your place in a book is newest-wins, not furthest-wins, so turning back to chapter three on the phone on purpose is not undone by the laptop.

Backup

Backup

Everything Sluka knows lives where the operating system deletes it if the app goes, so a second copy is written somewhere else, by itself, as you read. Under Settings → Automatic backup, pick a folder once, Documents/Sluka say, and it is written there within a minute of anything changing. The phone does the same into a folder you pick with Android's own picker.

Brave ships the folder picker switched off. Open brave://flags/#file-system-access-api, set File System Access API to Enabled, and relaunch. The card tells you this rather than offering a button that cannot work. If you would rather not, it can write to Downloads/Sluka instead, about once an hour.

  • Restoring is a merge, not a replacement. Reinstall, point at the same folder, and the backups in it are listed; pick one and it merges in. Reading done since the file was written survives, and a word deleted since stays deleted.
  • Two computers sync through the folder. Put it somewhere a file-syncing service already keeps up to date, point both machines at it, and press Sync with this device once on each device you recognise. From then on their words and statistics arrive by themselves, a minute or so behind. Sluka never talks to the syncing service; it is a folder.
  • The API key is never written to a backup.

Keyboard

Every keyboard shortcut

Grading keys act on the pinned word if there is one, otherwise on whatever the cursor is over. All of them can be rebound under Settings → Keyboard: click a shortcut, press the keys you want.

KeysDoes
1 2 3 4Grade the word to that level. Hover, or open, then press.
KMark known. The highlight disappears. On a green Chinese word, files both scripts as one known word.
XIgnore for ever: names, numbers, things that are not vocabulary.
AOpen the word under the cursor and run the AI check, without grading it.
ClickPin the panel. On a blue word, also start learning it at level 1.
Shift+clickOpen a word that sits inside a link or a button, instead of following it.
Drag across charactersOffer them as one word (Chinese, Cantonese, Japanese).
Jump to the next or previous word still worth studying. In a video, step through the caption line.
With a word open: mark it known. In a video with SlukaCC on: same.
With a word open: close it. In a video: resume playing.
EscClose the panel, or cancel a selection without saving anything.
Shift+AMark every new word on the page as known.
Shift+HHighlights off, to read clean. Again to bring them back. Takes the readings with it.
Ctrl+clickNever intercepted: the browser's own open-in-new-tab.
The Keyboard settings card listing every shortcut with its current key: levels 1 to 4, K, X, ArrowRight, ArrowLeft, A, Escape, Shift A, Shift H, and the video and open-word arrow bindings.
Settings → Keyboard. Page-wide actions need Shift so they cannot collide with sites that bind single letters.

Phone

On a phone

The Android app is a browser with the reader inside it, and the same vocabulary, so a word learned on the laptop is known on the phone a minute later. A touch screen has no hover and no Shift key, so the input changes shape:

  • Tap a word to open it. Tap a word inside a link and the link is followed.
  • Press and hold a word to open it even inside a link.
  • The panel has the same six grade buttons, and a where the desktop has Esc.
  • Pinch to zoom and the page grows while the panel, the island and the book toolbar hold their size and place. Everything you can tap is at least 44 screen pixels.

The phone also runs the listening tracker for anything playing on the device, not just browser tabs, and is the end of the sync connection that listens, which is what its one permanent notification is for.

Settings

Settings worth knowing about

SettingWhat it is for
Never run onHostnames where the reader never starts. Your mail and your documents are in it by default.
Only highlight text that looks ItalianItalian shares an alphabet with the Subscribe button, so a run of text is only highlighted if enough of its words are Italian. On by default; the same switch appears for other languages that offer the test.
Hover delayHow long the cursor rests on a word before the preview appears.
Clicking a new word starts learning itThe LingQ rule. Off, a click only opens the panel.
Links stay clickableOff, every click opens the word, links included.
Language switcher while readingPuts the flag in the counter island on every page.
Read simplified and traditional as one languageChinese. On by default; gives you the green words.
ColoursThe highlight colours, if the defaults clash with a site you read a lot.
Your dataExport everything to a file, import one, or wipe a language.

Licence

Free words, and the licence

The first 1,000 words are free, with every feature switched on and no time limit. Once you are tracking a thousand words Sluka stops saving new ones; everything already saved keeps working, and so does every page, book and language. A licence is fifteen dollars, once, and the key goes into Settings → Licence on every device you read on. Lose it and it can be emailed again, because it is derived from your purchase.