Guide
How to use Sluka.
Every feature, in the order you will meet it. The screenshots are of the real reader running on a test page, not mock-ups. If you only read one section, read Look up and grade a word: everything else is a variation on it.
- Install
- Pick a language
- What the colours mean
- Look up and grade a word
- Words inside links and buttons
- Get past the wall of blue
- Fix a badly split word
- The AI check
- Readings above the characters
- Read aloud, and voices
- Videos
- Chatbots
- Read in Sluka
- Books
- Listening time
- Statistics, and how reading is counted
- Sync between computer and phone
- Backup
- Every keyboard shortcut
- Game controller
- On a phone
- Settings worth knowing about
- Free words, and the licence
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. Both are on the download page, with the install steps beside each. The extension comes from the Chrome Web Store and updates by itself:
- Open Sluka in the Chrome Web Store.
- Press Add to Chrome (Brave says Add to Brave). In Edge, press Allow extensions from other stores at the top first.
- Confirm with Add extension.
It also comes as a zip, for a browser that can't reach the store; the download page has it with its own steps.
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's menu opens it any time. There is nothing to build and no account to make.
The first thing it asks is which language Sluka itself should be in. Its menus, buttons and messages come in thirteen languages, and the one your browser or phone is set to is picked to begin with. Change it any time under Settings → Appearance → Language. That is only the language of Sluka's own words; the language you read is chosen next.
Language
Pick a language
Sluka reads twenty-four languages and is in one of them at a time. The switcher is top right of the dashboard, beside Read a book and Watch a video, with the languages you are learning at the top of its list. The toolbar icon's menu has the same list, so you can switch without opening the dashboard. 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 under Settings → Reading and the language badge also appears in the counter island on every page.
Every language ships with its dictionary, with English meanings inside, so looking a word up needs no connection. 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 word the dictionary does not have, and a phrase or sentence you drag across, is sent to Google Translate, and its guess appears in the panel as a starting point for a meaning of your own. Settings → Languages → Dictionary → Translate words into picks the language those translations come back in, for each language you read. If you would rather none of this went to Google, switch off Settings → Reading → Translate words the dictionary doesn't have; SlukaCC has a switch of its own (see Videos).
It also asks how to count words in a language whose words change form. As one word treats книга, книги and книгу as one Russian word, and marking any of them known marks them all. Every form separately makes each form a word of its own, with its own colour and its own place in the count, so knowing книга does not make книгой look known. Clicking a word shows its dictionary entry either way. A language you start some other way asks on the first word you click, and Settings → Languages → Counting words changes it later, after saying what the change does to the words you have saved.
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.
- 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. Level 1 is the strongest yellow and level 2 a lighter one; level 3 adds a line under the word, and level 4 is the line alone, 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).
What the levels mean is up to you. Sluka gives them no meaning of its own: all four count as learning, and the level only changes how the word looks. One way to use them: level 1 for a word you have just met, level 3 for one you almost had in your head, and Known once you are sure. 2 and 4 are there if you want finer steps.
Nothing moves a word but you. That is on purpose. A word should not be filed as nearly known while you still don't know it, and some words take far more meetings than others, which no rule that counts them could predict. The one exception is one you switch on yourself: Settings → Anki can make a word Known once its card matures in Anki. It is off to begin with.
Chinese and Cantonese have 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.
Names and places can have a colour of their own too, so you don't take them for words to learn: switch on Special words under Settings → Appearance. It is off to begin with.
Bottom right of every page is the counter island: how many new and learning words are on this page, how many words you know in the language altogether, and a Know all button for the rare page where everything blue is something you already knew. The arrow at its left end opens today's tally: how many words you marked known today, over every word or only the frequent ones. The book button opens the page in Sluka's own reader (Read in Sluka).
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.
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.
Clicked a word only to see what it means, and not ready to learn it yet? 0 puts it back to new, blue again, and nothing is saved. With the mouse, click the level that is lit in the panel; on a phone, tap the lit key on the bar at the bottom.
Click a word to pin the panel. The pinned panel has the same six grades as buttons, a ✦ key in its corner to have the AI double-check the word, and the keys along the bottom for your first ten words; after that, each button names its key when you point at it. Esc closes it. Clicking a blue word also starts learning it at level 1; that can be switched off under Settings → Reading → Clicking a new word starts learning it.
The panel does more than grade. Beside the reading it says how common the word is (3,418th most common). ✎ (M) keeps a meaning in your own words, shown first and tagged Yours. The translate key (G) asks Google Translate. The book button opens Look up, a menu of other dictionaries, and T opens the first of them. Settings → Languages → Dictionary links picks which; Settings → Appearance → Word panel → Dictionary links puts them on a line above the grade buttons instead. The speaker, or V, says the word aloud. In Korean and Japanese a word in a grammatical form also shows Parts of …: the word and each ending, one per row, with what each is for.
Dictionaries of your own go in Settings → Languages → Your own dictionaries: a Yomitan dictionary (.zip), or a table (.csv, .tsv, .txt) with a word and its meaning on each line. For a word one of them has, the panel shows its meanings, under the dictionary's name, in place of Sluka's — or under or above them, as you choose there. They stay on the device you add them on.
Settings → Appearance → Word panel sets its size, from Small to Extra large, whether the reading shows under the word, where the dictionary links go, the spacing, and, on a computer, whether the grade buttons show; the keys grade without them. The panel keeps its size when you zoom the page.
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.
To read without the colours, switch off Highlight words under Settings → Appearance, or press Shift+H on the page. It is also under Aa in the book reader, and under ⋮ on a web page in the phone app. Only the colour goes: every word is still tracked, and still opens to its meaning with a click or a tap. It stays off, on every page, until you switch it back.
Links
Words inside links and buttons
On a news site, the headlines and half the body are links, and a reader that swallowed every click would leave you unable to open an article. So a normal click on a word inside a link follows the link, exactly as it would without Sluka. The word is still highlighted and still shows its meaning on hover.
To open the word instead, Shift+click it. On a phone, where there is no Shift key, press and hold the word. Hover grading with 1 to 4 works on linked words like any others, so most of the time you never need the click at all.
The same rule covers buttons, for the same reason: a cookie banner whose accept button reads 可以,我同意 still has to be pressable. If you would rather every click opened the word, turn off Settings → Reading → Links stay clickable.
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. Six ways past it:
- Mark common words known, under Words → Mark known. Drag the slider to a number and the wall under it shows that many of the most common words in the language, in their colours: the blue ones are the words you have never graded, and those are what the button marks. Click any of them you don't know and give it a level first, then press the button and the rest 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, and an Undo follows it if you went too far.
- Grade straight from the list, under Words → Most common: the commonest words in the language, in bands of a hundred, in their page colours (or with known words in green). Click one for its meaning and its grades.
- Shift+K on a page where you genuinely know every blue word. Same as the Know all button on the island.
- Bring your words from LingQ. Words → Tools → Import from LingQ. On a computer, Import known words from my LingQ account reads every word you marked as known there, including the ones you never saved as a LingQ, in a LingQ tab where you are signed in. It is not an official LingQ export and can stop working, and Sluka is not affiliated with LingQ. The panel also takes a LingQ vocabulary export (CSV), on the phone too. That file has no levels, so everything in it is filed as known, with the meanings you gave it: export a known-words list, not your whole vocabulary.
- Bring your words from Language Reactor. Words → Tools → Import from Language Reactor takes a Saved items export, meanings included. Use JSON: it keeps your levels, so known words arrive as known and learning words at level 1. A CSV export (open the .zip it comes in) has no levels, so you are asked whether its words are learning or known.
- Bring your words from HanziHero. Words → Tools → Import from HanziHero reads HanziHero's CSV export into Chinese, each word at its stage: Novice as level 1, Apprentice 2, Journeyman I 3, Journeyman II 4, and Expert, Master and skipped words as Known.
Segmentation
Fix a badly split word
Chinese, Cantonese, Japanese and Thai 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.
Or without a drag, which is the only way on a phone: open one of the pieces, press the panel's ↔ key (Longer or shorter word) and extend it a character at a time with ◀ ▶. It is there on a computer too, and in SlukaCC's subtitles once you click a word. Korean works the same way inside a word, and Vietnamese a syllable at a time. Settings → Languages → Look up what you select switches both off.
A word cut too long works the other way round: drag across just the characters you want inside it, 图书馆 out of 图书馆学习, and the panel opens on those alone. Or press the ↔ key: its inner arrows take a character off either end. Saved, a shorter word takes the place of a longer one you built yourself. A word you built has Split into words in its panel, which takes it apart again.
In a language with spaces, such as Russian, English or French, drag across up to twelve words to save a set phrase: что-то, в общем, in spite of. Pick a level or write your own meaning and it is lit up as one word wherever it appears, with the dictionary's entry when it has one, Google's translation when not, and each word's own meaning under it. A phrase with a comma inside is only looked up, and a longer stretch, up to 300 characters, gets a card with Google's translation. The selected text is sent to Google.
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 if you allow it, to the AI provider you picked and comes back with one of four verdicts. On a word the dictionary does know, the ✦ key in the panel's corner asks the same question as a second opinion.
| Verdict | Means |
|---|---|
| Real word | An established word. Meaning shown, with an example sentence and its translation. |
| Real, but narrow | Genuine but restricted: slang, a coinage, journalese, a proper noun. It says which, with an example sentence. |
| Not a word | Not a word at all. It says what the characters actually are, and shows no meaning. |
| Uncertain | It does not know, and says so rather than guessing. |
A verdict on a real word carries a short meaning, and ✦ Save as its meaning keeps it as the word's meaning, tagged ✦ AI so you can tell it from the dictionary's and your own. Answers come back in the language set under Settings → Languages → Dictionary → Translate words into.
Switching it on
It is off until you give it a key. Under Settings → AI check, pick who answers, follow the three steps for getting that provider's key, paste it in, and press Test. Entering a key switches the check on.
| Provider | Cost |
|---|---|
| Gemini (Google), the default | Free, with no credit card: make a key at aistudio.google.com. The free tier covers roughly a thousand checks a day, and on it Google may use what is sent to improve its products. A Gemini key already saved for the voice under Settings → Voice is used without asking for another. |
| Claude (Anthropic) | Roughly a US cent a check on Opus 5, billed to your own account. If a check asks for a workspace ID, paste the wrkspc_… value from the console into Workspace ID, under Advanced; most keys need nothing. |
| OpenAI | Well under a tenth of a cent a check on the cheaper model. |
| DeepSeek | Well under a tenth of a cent a check, from a balance you top up. Strong on Chinese. |
Each provider has a choice of two models, picked under Model.
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.
Nothing is sent until you press the button, and then only to the provider you picked. Include the surrounding sentence, on by default, decides whether the sentence goes along with the word. A paid check is billed to your own account with that provider; Sluka never sees it.
Readings
Readings above the characters
Chinese, Cantonese, Japanese, Thai, Korean and Arabic can print each word's reading over the text itself: pinyin or zhuyin over Chinese, jyutping or Yale over Cantonese, furigana over kanji or romaji over every Japanese word, Paiboon over Thai, over Korean its romanization as it is said there, so 밥을 reads ba·beul, and over Arabic the word in Latin letters with the vowels print leaves out, so والكتاب reads wa-l-kitāb. Turn it on under Settings → Languages → Readings; the notation for each language is right under the switch, and the reading shown in the word panel just above it. Each language has a switch of its own, so furigana can stay on in Japanese while Chinese goes without. The switch and which words carry a reading are also where you read: under Aa in the book reader, and in the phone app under ⋮ on a web page.
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.
Voice
Read aloud, and voices
The speaker in the word panel, or V, says the word. With a cloud voice set up (below), the sentence key in the panel, or Shift+V, reads the whole sentence it is in. Read aloud reads a page or a book from the top of the screen, or from the word you have open, underlining the sentence and marking each word as it is said: press Shift+R or choose Read page aloud from the toolbar icon's menu; on the phone it is under ⋮ on a web page and under Aa in a book. Its bar pauses, changes speed and sets the volume. Read-aloud minutes count as listening.
Which voice speaks:
- Recordings. Chinese, Cantonese, Japanese and Swedish have recordings to download, free and offline. They always say the reading the panel shows.
- The device's own voice, for everything else, with nothing to set up. How good it is depends on your computer or phone.
- A cloud voice, natural and in every language, on a key of your own from Gemini, ElevenLabs, Google Cloud, Azure or OpenAI. Set it up under Settings → Voice, where you also pick the speed, the volume, and which goes first when a word has a recording too. The key stays on your devices, and the text is sent only to the provider you pick. A Gemini key saved here also works for the AI check.
Say a word when you open it, under Settings → Voice, says each word as you click it.
Video
Videos
On YouTube, on the computer, SlukaCC draws Sluka's own subtitles. On a video with subtitles in the language you are learning, YouTube's captions step aside and two lines take their place:
- The subtitle, in the language you are learning, coloured and clickable like any page. Hover a word for its meaning, even one you know, click it to open and grade it.
- Under it, smaller, the translation into your own language: the video's own subtitles in that language if it has them, YouTube's machine translation if it does not (the transcript and the menu say which). When YouTube has none, or one that covers under 60% of the lines, Sluka asks Google Translate for the lines and the menu says English · Google. That sends the subtitle lines to Google; switch it off under Settings → SlukaCC → Translate with Google when the video has no translation. No key is needed.
Open a word and the video stops when its line ends, so the line is still there while you read. Put the word away and it plays on: close one you clicked with ↓, Esc, ✕ or a click elsewhere. A word, hovered or clicked, also closes once the mouse leaves its panel and the subtitles. The gap between the line and the panel does not count as leaving, so the mouse can go from the word to its panel, which opens under the subtitles and their translation, or above them in full screen.
Hovering a word shows a card with the word and its meaning, large, and up to two more meanings under it; the full definitions are a click away. Right-click a word to mark it known without opening it (a faint, rarer word goes to level 1 first, and a second right-click makes it known), and right-click a known word to send it back to level 1.
The button
SlukaCC is on by default. Its button sits in the player's controls, just before YouTube's own subtitles button: a gear, then Sluka's icon with ON or OFF beside it. Click the icon to turn it off, and YouTube's subtitles come back as you had them; click it again to turn SlukaCC back on. The choice is remembered. C and YouTube's subtitles button do the same on a video SlukaCC has subtitles for, and stay YouTube's on every other video.
When there is nothing to show, the button says why: no 中文 (or whichever language you are learning) when the video has no subtitles in it, and ! when they failed to load, with Try again in the menu.
The menu
The gear opens the menu, where YouTube's own settings open. Every change shows on the subtitles at once. At the top, Language switches the language you are reading, without leaving the video.
- Subtitle and Translation: Show, Blur or Hide, each on its own. The translation starts blurred, so it is there when you need it and not read by reflex. Point at a blurred translation to read it, or at a word of a blurred subtitle to read just that word; or press E to peek. Blur or hide the subtitle to practise listening.
- Word meanings: Off (to begin with), Show, Blur or Hide. Each word of the subtitle with its meaning in small type over it, from the dictionary the word panel shows, or the meaning you wrote yourself; over new and learning words, or every word, as you choose in Settings. With the subtitle blurred and the word meanings on Show, the words that have a meaning stay sharp and the rest of the line is blurred (switch it off with Sharp words with a meaning). E uncovers the subtitle, then the word meanings, then the translation, a press each. Blurred, point at a word to read its own.
- Translation language picks what the translation line is in: your own languages come first; type to find the rest. Subtitle track, there when the video has more than one, switches between traditional and simplified, or a human track and an auto-generated one.
- Auto-pause after each line (Q): the video stops at the end of every line. Space or D carries on.
- Only at new words, under it while auto-pause is on, off to begin with: the video stops only at the end of a line with a new or learning word in it, and lines whose words you all know play straight through. Words drawn faint by Colour new words don't count.
- Auto-resume, on to begin with: when the video has stopped at the end of a line, marking the last new or learning word in it Known or Ignore plays it on, once the mouse is off the subtitles. Off, it waits for you. A pause you made yourself always waits.
- Transcript and Words in this video: see below.
Three more pages sit under the main menu:
- Word colours ›: SlukaCC's own, apart from the colours pages and books use. Colours through the blur, on to begin with: a blurred line still shows where its new and learning words are, so you know which word to listen for. Sharp words with a meaning, on to begin with: under a blurred subtitle, the words with a meaning stay sharp while the meanings are on Show. Hide lines you know, off to begin with: with the subtitle shown or blurred, a line whose words are all known doesn't show at all; E shows it, and H switches it from the video. Colour new words: all of them, or only the suggested ones: the new words up to 0.25x, 0.5x, 1x, 2x, 4x or 8x stages of 500 words past the number you've marked Known, in the language's frequency list (mark 800 Known, and 1x keeps the new words among the 1,300 most common coloured); R steps through them. Rarer words are drawn faint, and the arrows pass them by; words Sluka can't rank keep their colour. Special words: names, places and numbers in a colour of their own, off to begin with. Your own colours: the words themselves in colours you pick, instead of Sluka's highlights; in Chinese and Cantonese that includes a colour for words known in the other script.
- Text & background ›: Subtitle size and Translation size, each S, M, L or XL, measured against the player, so the subtitles grow with it in theatre mode and full screen. Font: Sans, Serif or Monospace, for the subtitle and the translation both, or a font of your own typed in by its name; switch off Use this font for every language and each language keeps a font of its own. In Serif, a Chinese, Japanese or Korean subtitle gets its own script's serif. Brave lets websites use only the system's basic fonts, so there the Chinese serifs and fonts you installed yourself need Block fingerprinting switched off in Brave's Shields for YouTube. The menu says when that is what's in the way. Background: how solid the dark box behind the subtitles is, from 0% to 100%. Lower, more of the picture shows through; under 60%, the letters get a dark edge of their own so they stay readable on a bright picture.
- More ›: Readings above the characters, the same switch as readings on pages. Follow the video's language: Sluka switches to the language of the video you open, if it is one you are learning. Progress card, in the picture's top left corner while the controls show: folded, the video's word counts; opened with its arrow, your level, how much of what is said in the video you know and the words you made known today. Subtitle timing: − and + move this video's subtitles a quarter of a second earlier or later, as , and . do; Reset puts them back. On a computer, Popup on hover and Popup with the arrows: the small card or the big panel. On video sites other than YouTube and Netflix, Load subtitle file…, or drop one on the video. Then a link to all of SlukaCC's settings, and the list of keys.
Just right of the line, faint until the mouse comes near, is a column of buttons: previous line, replay this line, next line, loop this line. Point at one and it shows its key. Drag the grip with them to move the subtitles up or down the picture, even below YouTube's controls, where they move up out of the way whenever the controls show. The height is remembered.
Word counts. Every YouTube video in a language you are learning, with subtitles in it, shows on its thumbnail which language it is and what share of its words are new to you, so you can pick videos at your level. The arrow on a thumbnail's counts opens them out: how much of what is said in the video you know, and how hard that makes it. The video you are watching shows its counts beside the like button. Both are off until you switch them on under Settings → Watch & Listen, which says first how they ask YouTube for the subtitles.
"Counted after 14:32". Counting a video means asking YouTube for its subtitles, and YouTube only answers each connection so much. The subtitles of the video you're watching come out of the same allowance. So Sluka counts at most 30 videos every 10 minutes and 120 an hour, and a thumbnail that has to wait says when its turn comes. Scroll quickly through a busy home page and you reach that within a couple of minutes. It isn't an error, and a video counted once keeps its counts for a month, so it happens less as you go. If YouTube itself refuses, which is likelier on a VPN where many people share one connection, the counts pause for 10 minutes (longer if it keeps refusing) and the thumbnails say "Word counts paused until 14:32". A notice says so; Tell me when word counts pause, under Settings → Watch & Listen, turns it off, and that page shows why the counts are waiting.
The transcript
The whole video's subtitles, in the column beside the player, above YouTube's recommendations. The line being said is marked, and the list follows it without jumping under what you are reading. Its words are coloured and looked up like any others. Click a line's time, or the line anywhere but on a word, to play from there. Scroll away and Back to the current line takes you back.
It follows the Subtitle setting. Blur or hide the subtitle, and the line being said and the ones still to come are blurred or hidden here too, while the lines already said stay readable. ✕ closes it; the menu brings it back. In theatre mode and in a narrow window it moves under the video. Full screen has no column, so no transcript.
Words in this video (W) is a tab beside the transcript listing the video's new and learning words, the most said first. The chips at the top show New, Learning, both, or every word. Click a word for its panel, right-click to mark it, and ▶ jumps to the next line that has it. Opening it pauses the video, and while it is open and in sight it has the keys: the arrows step through its words, ↑ marks one known, the number keys grade it, and the line keys (A S D and the rest) wait until W closes it. In theatre mode or a narrow window the list sits under the video; scrolled out of sight, it leaves the keys to the video.
Keys
A S D: previous line, replay, next line. A and D pressed together replay the line from its start, covered again, even with the mouse resting on it: move off the subtitles and back to read it. Q switches auto-pause, E peeks (Z the translation first), W opens the word list, R steps through how many new words are coloured, C turns SlukaCC off and on. The arrows step through the line's words in the small card, ↑ marks the open one known and ↓ closes it and plays on. Shift+A and Shift+D jump to the previous and next line with a frequent new word in it, and Shift+K marks the whole line known. With A taken, the AI check on a video is the ✦ at the top of the word panel. The full list has the details.
On the phone
In the phone app's YouTube tab, SlukaCC draws the same two lines: just under the picture while the phone is upright, on it in full screen. Tap a word to open it, and tap beside it to close it again. There are no keys, so the sides of the picture step through the line's words:
- Right side: tap for the next word, swipe up to mark the open one known, swipe down to close it and play on.
- Left side: tap for the word before, swipe up to ignore the open one, swipe down to unblur the line.
- A long press: twice the speed until you let go, as on YouTube.
A known or ignored word can be taken back: the chip that says so has an Undo for a few seconds. The middle of the picture stays YouTube's: tap it for YouTube's controls. SlukaCC's button is first in their top row; while a video's "Includes paid promotion" label takes its place, the ⋯ beside the subtitles opens its menu instead. Turn on Frequent-word buttons in its More for ‹F and F› beside the subtitles, which jump to the previous or next line with a frequent word. The first time, a short guide shows where to press; the ? in SlukaCC's menu, or Show me where to tap under Settings → SlukaCC, brings it back.
The menu's settings are also under Settings → SlukaCC, with the translation language set per language you are learning. What it does not do:
- On the phone, the YouTube tab and Your videos only. Its other videos keep the simpler behaviour below. There is no transcript on the phone yet; Words in this video opens as a sheet under the picture.
- Only videos with subtitles in the language you are learning. A Chinese video with only English subtitles gets nothing: the button says no 中文, and YouTube carries on as usual.
- The translation is YouTube's, or Google's. YouTube's machine translation is rough, worst on lines that an auto-generated track has run together. When YouTube has none, or its machine translation leaves most lines bare, SlukaCC asks Google Translate for the lines and the menu says · Google. That sends the subtitle lines to Google; switch it off under Settings → SlukaCC.
Netflix, other players, and the phone
- Netflix gets the same two lines, menu, keys and transcript as YouTube. The button sits in Netflix's controls, just before Audio & Subtitles. The transcript is a panel down the right side: the picture narrows to make room for it, and it stays in full screen. Some titles have their subtitles as pictures, which Sluka cannot read, and the button says so.
- Most other players get them too: TED, Vimeo, Dailymotion, archive.org, players built on hls.js, video.js or Shaka, and videos embedded in other pages. YouTube and Netflix have code of their own; the rest share one general method, so some will not work. The button is a small pill at the top of the picture, there while the pointer moves over the video, and the menu opens under it. The transcript is the same panel as on Netflix, in full screen or beside a player that fills the window. On a page the video is only part of, it waits for full screen.
- YouTube embedded in another page gets the pill as well, and no transcript.
- Elsewhere the translation is another of the video's own subtitle tracks. Where a video has none in your language, Google Translate fills the line, on every player. Switch that off under Settings → SlukaCC.
On other players SlukaCC finds the subtitles wherever the page keeps them, and as a last resort reads the player's own captions off the screen. Read off the screen, it only has the lines already shown: the transcript fills in as you watch, and D goes no further than the last line seen. If a player only fetches its subtitles once they are switched on, switch them on there once, and SlukaCC takes over from then on. Out of reach: subtitles drawn as pictures, captions carried inside the video stream itself, and a plain video in the browser's own full screen, which nothing can be drawn over.
A video with no subtitles you can use takes your own: drop a subtitle file (SRT, VTT, ASS or TTML) on it, or use More → Load subtitle file in SlukaCC's menu, and a second file in another language becomes the translation. Not on YouTube or Netflix. Computer only.
One switch covers every player: turn SlukaCC off on Netflix and it is off on YouTube too. A video with subtitles in the language you are learning starts Sluka even on a page that is not in it, such as a TED talk on an English page; a video with nothing in the language leaves such a page alone. All of that is on the computer.
Everywhere else, including the phone app's web videos, the player's own captions are highlighted and looked up like any other text. Look up a word and the video stops just before that line disappears, so you can finish reading. Leave the panel and the line, and it plays on. This has a switch of its own in the phone app, off until you turn it on: Settings → Watch & Listen → Pause while reading subtitles, or the small SlukaCC button in the player's controls.
Where the player exposes its captions' timings, the line plays out before the video stops. Where it only draws them, the video stops as soon as a meaning is open, which is the only way to keep the sentence on screen.
Your own video files
A film or series you have on disk plays with SlukaCC too. Watch a video, top right of the dashboard, opens a player: drop in a video (MP4 or WebM, and MKV if the browser plays it) and its subtitle file (SRT, VTT or ASS), plus a second subtitle file for the translation line if you have one. SlukaCC works there as on YouTube, and nothing is uploaded. The last 10 videos are listed with where you stopped, and picking one again brings its subtitles back. On the phone the same player is under Watch & Listen → Your videos, and keeps playing past Home and the lock 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.
Read in Sluka
Read in Sluka
Shift+L, the book button on the island, Read in Sluka in the toolbar icon's menu, or ⋮ in the app opens the page's article on its own, with its pictures, over the site. White, light yellow or dark, and A− and A+ for the size. Esc or Back closes it, and the site is where you left it. Every article you open goes on the shelf.
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 language picker at the top right switches the language you are reading in, and the shelf shows how many books it holds in that language. 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.
☰ opens the book's contents, your bookmarks, and the words in the chapter. The ribbon bookmarks the place you are at, and the corner shows how far through the book you are. A book reopens on the line you left it at. Aa holds the Page colour (white, light yellow or dark paper, whatever Sluka's theme), the text size, Read aloud, Highlight words and the readings. Articles you open in Read in Sluka go on the same shelf.
- PDF shows the printed page as typeset, with highlight boxes over the glyphs. Fit to screen, under Aa, 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. On a computer, a scanned PDF, a picture or a .cbz comic is read by OCR on your own machine, after you press the button to download its reading model. In the phone app a scan has no text, and 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 Settings → Watch & Listen → Smart tracking; it is off until you do. Read aloud counts either way. What it has counted is under Progress → Listening.
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, once you allow it with Grant notification access under Settings → Watch & Listen.
- 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. On the computer the question can be switched off (Ask when a title does not say which language it is); on the phone the answers wait under Home and Progress → Listening.
- Everything heard is listed under Progress → Listening, in its History, with what it earned, including the tracks that earned nothing, so a wrong guess can be seen and fixed. It keeps a year; removing a track from it does not change the time counted.
Statistics
Statistics, and how reading is counted
Progress shows a calendar, the totals, graphs, listening and the scoreboard, per language, and keeps its own language switcher so two languages can be compared without leaving one. Polyglot stats puts every language side by side, and Your level estimates where you stand from A0 to C2, with how it is worked out. The daily goals and streak sit beside the calendar, and Day ends at there moves the end of the day past midnight for late readers. The numbers are worth trusting because of how they are made.
Words read are paid for word by word, in the order they are written, at your own reading pace, which Sluka measures as you read and starts at 150 words a minute. A screen left half way credits half a screen; text scrolled past before you could read it credits nothing, 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 showing, with something scrolled or moved in the last two minutes.
- Captions are counted by the video's clock instead, once per line.
- An article read again the same day counts once; read again another day, it counts again.
- Settings → Reading → Count words read can limit it to Sluka's reader and books.
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.
To start a language over, Settings → Languages → Delete progress wipes its words, meanings, statistics, streak and goals once you type DELETE. Books, settings and other languages stay. Your other devices ask at their next sync whether to delete it there too or send their copy back.
Sync
Sync between computer and phone
Your words and meanings, statistics, goals, book shelf and bookmarks, listening history, licence and API keys 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.
- On the computer, open the dashboard and go to Settings → Sync & backup. It shows an eight-character code.
- On the phone, open Sluka → Settings → Sync & backup, type the code in and press Use this code.
- That is it. While the card is open the computer looks for the phone by itself, and has usually found it by the time you look back.
Another computer? Press Change on its card and type the
code the first one uses. Nothing to do on the phone. A code you choose
yourself needs 8 to 32 letters and digits, with both in it;
12345678 and PASSWORD are turned down.
After that it is automatic, and quick: a grade on the phone reaches the computer in about half a second, one on the computer reaches the phone in about three. 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.
The phone lists every computer that syncs with it, with a Remove beside each. Remove is tidying, not a lock: a computer that still has the code comes back the next time it syncs. To keep one out, change the code on the phone with Change code…, and type the new one into the computers you want to keep. For syncing to work with the phone locked in your pocket, leave Let my computer reach this phone on. A computer guessing codes gets ten tries a minute, then the phone ignores it for one.
A second phone pairs the same way: type the code the computer shows into it while the computer's Sync & backup page is open. The computer then lists each phone with its own status and Remove, and passes what one phone sends on to the other within a second or so. The phones only sync through the computer, so the computer has to be on for them to catch up with each other.
| What travels | How conflicts resolve |
|---|---|
| Words and levels | Newest edit wins; a tie keeps the higher level. |
| Deleted words, books | Stay deleted on both. |
| Daily statistics | Kept per device, added up for display. Never doubled. |
| Books | Your place first, then the file itself, in pieces, up to the size limit in the card. |
| Listening history | Per track, keeping the longer total. |
| Bookmarks | Added together; one removed on either side is removed on both. |
| A language's deleted progress | The other device asks first: delete it there too, or keep its copy and send it back. |
| API keys and the backup passphrase | To every device. Newest change wins. |
| Settings | Between your computers, newest change wins per setting. The language you are in and the sync switches stay on each device. |
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 → Sync & 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;
to bring that one back, use Import under Settings → Your data and
pick the file there. Back up now, at the top of the card, writes a
backup this minute, whichever way it is set up.
- Restoring is a merge, not a replacement. Reinstall, point at the same folder, and the backups in it are listed; press Restore on 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.
API keys in backups
Your AI and voice keys are left out of backups until you set a passphrase, and then go in locked with it, so the file alone is no use to anyone who finds it. The order matters:
- Under Settings → Sync & backup → API keys in backups, type a passphrase of at least 8 characters.
- Press Lock keys into backups. Typing it is not enough: nothing is saved until you press it.
- Press Back up now, or wait for the next automatic backup. Only backups written after that carry your keys.
- On the new device, restore that backup. A box asks for the passphrase: type the same one and press Unlock the keys.
Only the automatic backup carries the keys. A file saved with Export never does, not even locked, because those files get emailed and shared. Your paired devices get the passphrase when they sync, so it only needs setting once. Nobody can recover a forgotten passphrase, so write it down somewhere safe; Change passphrase and Leave keys out are on the same card.
Keyboard
Every keyboard shortcut
Grading keys act on the pinned word if there is one, otherwise on whatever the cursor is over (switch that off with Settings → Reading → Grade by hovering). All of them can be rebound under Settings → Reading → Keyboard: click a shortcut, press the keys you want.
| Keys | Does |
|---|---|
| 1 2 3 4 | Grade the word to that level. Hover, or open, then press. |
| K | Mark known. The highlight disappears. On a green Chinese word, files both scripts as one known word. |
| X | Ignore for ever: names, numbers, things that are not vocabulary. |
| A | Open the word under the cursor and run the AI check, without grading it. Not on a video while SlukaCC's subtitles are showing: see below. |
| Click | Pin the panel. On a blue word, also start learning it at level 1. |
| Shift+click | Open a word that sits inside a link or a button, instead of following it. |
| V | Say the word. |
| Shift+V | Read the word's whole sentence aloud. Needs a cloud voice (Settings → Voice). |
| M | Write a meaning of your own for the open word. Enter saves it. |
| G | Translate the open word with Google Translate, in the panel. |
| T | Look the open word up in the first of your dictionary links. |
| Drag across characters | Offer them as one word (Chinese, Cantonese, Japanese, Korean, Thai, and syllables in Vietnamese). Inside one word, offer just those characters. |
| Drag across words | Up to twelve words: look the phrase up, and pick a level to save it as one word (languages with spaces). Longer, up to 300 characters, gets a Google translation card. The text is sent to Google. |
| The panel's ↔ key, then ◀ ▶ | The same without a drag: make the open word a character longer or shorter at a time (a syllable in Vietnamese, a whole word in a language with spaces). See Fix a badly split word. |
| → ← | Jump to the next or previous word still worth studying. |
| ↑ | With a word open: mark it known. |
| ↓ | With a word open: close it. |
| Esc | Close the panel, or cancel a selection without saving anything. With nothing open, stop reading aloud. |
| Shift+K | Mark every new word on the page as known. Not on a video while SlukaCC's subtitles are showing: see below. |
| Shift+H | Highlights off, to read clean, on every page until pressed again. Words still open with a click. |
| Shift+R | Read the page aloud from the top of the screen, or from the open word. Again pauses, and again goes on. |
| Shift+L | Read in Sluka: the page's article on its own, over the site. Again, or Esc, goes back. |
| Ctrl+click | Never intercepted: the browser's own open-in-new-tab. |
On a video
The letters and the arrows work wherever SlukaCC's subtitles are showing, on Netflix and the other players as on YouTube, and C also while they are off. They are under Videos in the same settings card.
| Keys | Does |
|---|---|
| Right-click a word | Mark it known without opening it; a faint word goes to level 1 first. On a known word, back to level 1. |
| A and D together | Replay the line from its start, covered again. |
| C | Turn SlukaCC off, and on again. YouTube's own subtitles key, taken over on videos SlukaCC has subtitles for. |
| A | Previous line. |
| S | Replay this line. |
| D | Next line. Also carries on after an auto-pause. |
| Q | Auto-pause after each line, on or off. |
| E | Uncover a blurred or hidden line a layer at a time: the subtitle, then the word meanings, then the translation. Also shows a line hidden by Hide lines you know. |
| Z | Peek the other way round: the translation first, then the word meanings, then the subtitle. Mixed with E, each takes the next covered layer from its own end. |
| H | Hide lines you know, on or off. |
| R | Colour new words: All, 0.25x, 0.5x, 1x, 2x, 4x and 8x in turn. |
| , . | Subtitles a quarter of a second earlier or later, for a video whose subtitles run behind or ahead of the voice. Remembered for that video. |
| W | Open or close Words in this video. Opening it pauses the video. While it is open and in sight, the arrows, ↑, ↓ and the grades work on its words instead of the line's, and the line keys do nothing until it is closed again. |
| → | Open the next new or learning word in the line, in the small card hover shows (Settings → SlukaCC → Popup with the arrows): the video plays on and stops at the end of the line. Past the last, the next line. |
| ← | Open the previous new or learning word. Past the first, the previous line. |
| ↑ | Mark the open word known. The video stays where it is, unless it was the line's last new word and the video had stopped at the line's end: then, with Auto-resume on, it plays on once the mouse leaves the subtitles. |
| ↓ | Close the word and play on. |
| Shift+D | Straight to the next line with a frequent word in it: one on the language's frequency list you don't know yet, new or learning, and not drawn faint by Colour new words. Lines without one are skipped, however many. The line plays from its start; the word doesn't open and a blurred line stays blurred, so it's yours to find. |
| Shift+A | Back to the previous line with a frequent word. |
| Shift+E | Straight to the next line with a new or learning word SlukaCC colours, frequency list or not. Same feel as Shift+D. |
| Shift+Q | Back to the previous line with a new or learning word. |
| Shift+K | Pressed at the video (click the picture first, or watch full screen): mark the new words of the line on screen known, and nothing else; with Auto-resume on, the video then plays on. Pressed at the page around it: ask first, then mark every new word on the page, the transcript included. |
Controller
Game controller
A small Bluetooth controller, such as the 8BitDo Zero 2 or Micro, can step through words and subtitle lines from the sofa, with no key-mapping app in between. Under Settings → Game controller, Use a game controller is on to begin with; follow the steps on that page to turn it on as a controller and pair it; the row for each button lights up as you press it.
On a page the D-pad steps through the words: → the next, ↑ marks it known, ↓ puts it away. With SlukaCC on a video, A and Y go to the next and previous line, and B plays and pauses. There is one layout for reading and one for SlukaCC. Holding R or L gives every other button a second job: with R held, B steps the open word through New, 1, 2, 3, 4 and Known, and the level you stop on is saved 1.2 seconds after the last press; with L held, the D-pad moves round the word panel's buttons and A presses one, and X adds the word to Anki. After a card with the video's sound, L and the D-pad move round the clip bar over the video instead. Any button can be changed under Buttons. It works on the phone too. The feature is marked experimental: on some controllers two buttons come out swapped, which the same page lets you fix.
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 few seconds 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.
- A badly split word is fixed with the panel's ↔ key instead of a drag, as it can be on a computer too; see Fix a badly split word.
- The ⋮ menu on a web page holds Never run on, Read in Sluka, the readings and Read aloud.
- SlukaCC in the YouTube tab is worked with taps and swipes on the sides of the picture; see Videos.
- 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
Settings is in eleven parts: Licence, Reading, Appearance, Languages, Voice, Watch & Listen, SlukaCC, Game controller, AI check, Sync & backup and Your data. The box above them finds a single setting by name, and the things kept elsewhere as well: the daily goals and streak beside the calendar, the word tools under Words → Tools and Mark known, and the listening history. Reading ends with a link to the goals, for anyone who looks for them there. Under Languages, the Options for buttons pick which language's options are shown.
Your computers share their settings when they sync, and a phone passes its own to a new phone in its backup. API keys go to every device.
| Setting | What it is for |
|---|---|
| Reading → Run Sluka on web pages | Off, Sluka does nothing on any page or video. To hide only the colours, use Appearance → Highlight words. |
| Reading → Translate words the dictionary doesn't have | On by default: a word not in the dictionary, or a phrase or sentence you drag across, is sent to Google Translate as it opens. Off, nothing is sent unless you press Translate. |
| Reading → Count words read | Everywhere, or only in Sluka's reader and books. |
| Reading → Never run on | Sites where the reader never starts, each with its subdomains. Type a site or paste a link to add one, or, on the site itself, choose Never run on from the toolbar icon's menu (the ⋮ menu on the phone). Your mail and your documents are on it by default. |
| Languages → Only highlight text that looks Italian | Italian 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. |
| Reading → Hover delay | How long the cursor rests on a word before the preview appears. |
| Reading → Clicking a new word starts learning it | On by default: clicking a blue word puts it at level 1. Off, a click only opens the panel. |
| Reading → Links stay clickable | Off, every click opens the word, links included. |
| Reading → Language switcher while reading | Puts the language badge in the counter island on every page. |
| Languages → Read simplified and traditional as one language | Chinese and Cantonese. On by default; gives you the green words. |
| Languages → Counting words | Every form of a word as one word, or each form separately. Counting by one word, each word takes the highest level of its forms. Every form is kept as you marked it, so switching back loses nothing. |
| Languages → Dictionary | The language meanings are written in, and Translate words into. |
| Languages → Your own dictionaries | Yomitan dictionaries and tables of words you add, switched on and off and put in order; and whether the panel shows their meanings in place of Sluka's, under them or above them. |
| Languages → Dictionary links | The sites in the Look up menu; T opens the first. |
| Languages → Delete progress | Start a language over. Asks you to type DELETE first. |
| Appearance | Theme (Match system, Light or Dark) and Language, the one Sluka's own words are in. Highlight words, off to read without the colours while words still open on a click. Special words, underline instead of fill, the highlight strength, and the colours themselves, if the defaults clash with a site you read a lot. Word panel: its size, the pronunciation line, the dictionary links in a menu or as a line, the spacing, and the grade buttons. |
| Voice | A cloud voice on your own key, the speed and the volume; see Read aloud, and voices. |
| SlukaCC | Everything in SlukaCC's menu, the translation language per language you are learning, and whether Google Translate fills a missing translation line. |
| AI check | Who answers, their key and model; see The AI check. |
| Sync & backup | Pairing with the phone, the backup folder, and the passphrase that puts API keys in backups. |
| Your data | Export everything to a file, import one, or reset every setting. The LingQ, Language Reactor and HanziHero imports are under Words → Tools. |
| Licence → Scoreboard | Claim a name and share your daily numbers on the public scoreboard. Off until you switch it on. |
Licence
Free words, and the licence
The first 1,000 words in each language are free, with every feature switched on and no time limit. Once you are tracking a thousand words in a language Sluka stops saving new ones there; a second language starts from zero, and words imported from LingQ, Language Reactor or HanziHero do not count towards them. In a language counting every form separately, each form is one of the thousand. Reading, lookups, statistics and sync are never limited, and everything already saved keeps working. A licence is fifteen dollars, once. Type the key into Settings → Licence on one device and your others pick it up the next time they sync. Lose it and it can be emailed again, because it is derived from your purchase.