How I built a Ukrainian explanatory dictionary for Kindle out of the Soviet SUM-11, the uneven Ukrainian Wiktionary and some 1,500 AI-written definitions, and why there is still no better source.
Four files, 139 thousand entries and 1,604 quotes from Lenin.
2026-10-2512 min2,600 wordsnotes / 04
Kindle shows a word's meaning when you press and hold it. For English that works out of the box. For Ukrainian it doesn't: there was no Ukrainian explanatory dictionary for Kindle. At least I couldn't find one.
Now there is one. You can download it from GitHub for free, install it in a few minutes and stop googling every unfamiliar word. This post is about how it came about, what it's built from, and why none of the sources we have can be used without caveats.
01Where the idea came from
I was reading Andrzej Sapkowski's «The Sword of Destiny» in Ukrainian [1]. The world is quasi-medieval and the translation matches it: lots of archaic and rare words whose meaning I either didn't know or guessed from context.
Googling every word gets old by page three. Put the e-reader down, pick up the phone, type the word, find a decent definition, come back and remember where you were. In English, on the same Kindle, you just press and hold the word.
How it works: Kindle picks a dictionary by the book's language, and when you press and hold a word it shows the entry in a popup over the text. You never leave the book, and any word you look up can be added to Vocabulary Builder to review later. English, German or Spanish dictionaries come built in. For Ukrainian there's nothing like that.
I looked for a ready-made dictionary. English-Ukrainian ones for Kindle exist, including Pavlo Liapin's build of the Balla dictionary, which later became my reference for how this should work. A Ukrainian-Ukrainian explanatory one I couldn't find. So I decided to build it myself.
My device is an 11th-generation Kindle from 2024 on firmware 5.20. That matters, because the firmware later caused the strangest problem of all.
02What came out of it
So now we have a dictionary that opens from any Ukrainian book with a long press on a word. The recommended file has 139,526 entries and weighs 199 MB (at the time of writing). What it can do:
Any form of a word. «абажуром», «писала», «кажучи», «найменшого» open «абажур», «писати», «казати», «менший». About 4 million forms in total.
Start of a sentence. «Ганком» with a capital letter is found too.
«ґ» and «г». «ґанок» is found in the old spelling «ганок» and the other way round.
Western forms. «войте», «шклисті» open «війт», «склистий».
No dead-end references. «хоругва» (old. «корогва») shows the meaning of «корогва» right away. About 9,500 entries are expanded like this.
Left: the popup over a book. Right: an expanded entry. Screenshots from my Kindle.
There are four files because the sources differ and each has its flaws. More on them below; in short, the recommended one takes everything from SUM-11 and adds Wiktionary and AI only where SUM-11 has no definition.
Four variants: SUM-11 and Wiktionary (recommended), Wiktionary and SUM-11, SUM-11 only, Wiktionary only.
Installing takes a few minutes. The instructions and the dictionary files are here.
The only complete academic explanatory dictionary of Ukrainian whose text you can actually take and process is SUM-11, the «Dictionary of the Ukrainian Language in 11 volumes». It was compiled at the Institute of Linguistics of the Ukrainian SSR Academy of Sciences and published in 1970-1980. It's an enormous piece of work: over 130 thousand entries and hundreds of thousands of literary examples. And it's a Soviet dictionary in every detail.
The very first word I poked to test the freshly built dictionary was «зверхність» (supremacy) from «The Sword of Destiny». Here is the first sense and its only example:
A dominant, leading role of someone or something. For us there can be no doubt in principle that there must be the supremacy of the Communist Party (Lenin, 31, 1951, 328).
Further down the same entry: the Genoese who had to recognise the supremacy of the Golden Horde khans, from the «History of the USSR», and Kyiv from the «History of the Ukrainian SSR». Not great company for someone reading fantasy in 2026.
I counted who SUM-11 quotes. The data the dictionary is built from holds 323,655 citations. Lenin appears 1,604 times, the «Programme of the CPSU» 398, the «Statute of the CPSU» 161, the newspaper «Radianska Ukraina» 3,711, the magazine «Komunist Ukrainy» 2,344. Together with Soviet history textbooks that's over 10 thousand citations in 8,336 entries [5].
And it's not only political words. Here are examples for ordinary, everyday ones:
word
SUM-11 example
source
релігія (religion)
«Religion is the opium of the people»
Lenin
школа (school)
«The Soviet school is the most advanced, most progressive school in the world»
«Radianska Ukraina», 1954
культура (culture)
«Leading figures of Russian culture paid great attention to the Ukrainian people…»
«Komunist Ukrainy», 1967
друг (friend)
«As a toiler, the peasant is a friend of the proletarian state…»
Lenin
демократія (democracy)
«The proletariat cannot win other than through democracy»
Lenin
щастя (happiness)
«— So you… saw comrade Lenin too? <…> — Such happiness!»
Holovko, 1957
And here is who isn't there at all: Khvylovy, Pidmohylny, Stus, Bahriany, Vynnychenko, Antonych. Zero quotes. The dictionary shows the language the way it was allowed to be seen in the 1970s. The SUM-20 editors themselves estimate that «remnants of the totalitarian era» made up to 20% of the 11-volume edition [2].
That doesn't make SUM-11 useless. Its definitions are precise and detailed, and its most-quoted authors are Kotsiubynsky, Panas Myrny, Honchar, Franko, Lesya Ukrainka and Nechuy-Levytsky. For the rare and archaic words people open a dictionary for, there's no better open source. But running into the Party in the middle of a fantasy novel is a legacy you have to live with, because there's no alternative.
04SUM-20: sixteen years, sixteen volumes
There was supposed to be one. In 2010 the first volume of the «Dictionary of the Ukrainian Language in 20 volumes», SUM-20, came out. It's made at the Ukrainian Language and Information Fund of the National Academy of Sciences on top of SUM-11: rewriting Soviet definitions and adding words and authors that used to be silenced. As of 2026, 16 of 20 volumes are out, from «А» to «ряхтливий» [2].
In 2016 the project's scientific lead Volodymyr Shyrokov said that «we already have the whole database of this 20-volume dictionary», but funding only allowed one volume a year. Printing 3-4 volumes a year would have taken about 10 million hryvnias annually [3]. Ten more years have passed since then.
The release years do show roughly a volume a year: the first in 2010, the tenth in 2019, the fifteenth in 2024, the sixteenth in 2026 [2]. Four to go. If nothing changes, the twentieth will come out in the early 2030s, twenty years after the first. Even the published volumes raise questions: in 2020 the philologist Orest Drul wrote about quotes carried over from SUM-11 with the wrong authors attached [2].
What hurts most is something else. The first volume of SUM-20 has a whole chapter on technology: how SUM-11 was scanned, proofread twice, converted to HTML and parsed into a lexicographic database. The database tables are described in detail, down to field types [4].
Table diagram of the SUM-20 database. SUM-20, volume 1 (2010), section 3.2.
Here is how they explain why the database was needed:
It should be noted that working with the lexicographic database as electronic text of such a large size (over 135 megabytes of disk space) is absolutely inefficient.
Even for 2010 the logic doesn't hold. The same first volume of SUM-20 describes software that needs the .NET Framework installed, and that alone weighs 232 MB! Today 135 MB is about 20 phone photos. My largest dictionary file is 199 MB and the Kindle searches it instantly. The database exists and its schema is printed in a book, yet there's still no open data. You can only read SUM-20 on its website, one word at a time.
And the website itself doesn't work. I've opened it about 20 times and always got an error.
There are attempts on GitHub to scrape SUM-20 into JSON from the website, but without a license, with the author's note that the dictionary «is not protected by copyright», and with only 16 volumes. So for now the Kindle dictionary is built from SUM-11.
05Whose license is it
A separate question I never found an answer to: under what terms can these dictionaries be used at all?
SUM-11 was published by Naukova Dumka in 1970-1980. I couldn't find an explicit license for the text anywhere.
The data my dictionary is built from sits on GitHub under AGPL-3.0. But that license was set by the repository's author, not by the compilers or the publisher.
SUM-20 is open to read online, but I couldn't find terms of use for its text on the website either.
So the main dictionaries of the language are made with public money, and nowhere does it say what people may do with them. I did what I could: the dictionary's code is open under AGPL-3.0, Wiktionary texts carry their CC BY-SA 4.0, and SUM-11 is credited in every entry. If a rights holder reads this and wants to talk, my contacts are on the home page.
06Wiktionary: modern but uneven
The second source is the Ukrainian Wiktionary. Volunteers write it; it's alive and free of the Soviet spirit, and it has «інтернет», «ґрунт» and «п’ять». But it's small and very uneven: next to full-screen entries with examples and synonyms there are entries of two words [6].
SUM-11
Wiktionary
entries
131,155
19,915
median entry length
223 characters
98 characters
shorter than 80 characters
22%
42%
with usage examples
71%
37%
A typical short Wiktionary entry looks like this:
вдалечінь - «same as вдалину» (into the distance)
правдомовність - «the quality of being правдомовний» (truthful)
бланя - «western dialect: fur»
It also has thousands of entries for surnames, first names and villages. Kindle tries the exact spelling first, so «Щастя» at the start of a sentence opened the entry for the town of Shchastia instead of the word «happiness». Proper names had to go.
Hence the four files. The recommended one takes everything from SUM-11 and uses Wiktionary only for words SUM-11 lacks. If Soviet wording bothers you more than short entries, there's the reverse: Wiktionary first, and SUM-11 only where Wiktionary is empty or just a cross-reference.
07Holes in the SUM-11 data
When I started testing the dictionary on real books, some ordinary words weren't found. About 0.5% of the words in a text, which sounds small, but these are words like «проти» (against) and «прямо» (straight) that show up on every page.
It turned out that the digital SUM-11 data is missing whole alphabetical blocks. It's not my parser: every format of the open release has about 127 thousand records instead of roughly 134 thousand in the printed dictionary. Missing:
from «прот…» to «пущ…»: проти, професор, процес, прямо, пташка, пустеля
part of «прост…»: простягти, просторий
from «замус…» to «зао…»: занадто, заняття, заодно
«п’я…»: п’ять, п’ятниця, п’яний
«об’…»: об’єкт, об’єднати, обов’язок
single words: ґрунт, ґудзик, дзиґа
In other words, the most complete open explanatory dictionary of Ukrainian has no entry for «проти». Wiktionary covers some of these holes («п’ять», «ґрунт», «професор»); the next source covers the rest.
08Claude where the sources have gaps
For words neither SUM-11 nor Wiktionary has, the definitions were written by Claude, Anthropic's model. There are about 1,500 of them: words from the holes («проти», «прямо», «пташка», «занадто»), modern vocabulary («процесор», «нейромережа», «ШІ», «дипфейк», «кринж») and rare bookish words I ran into while reading («ґлейт», «фактотум»).
They all live in one open file. The format is simple: word, headword with stress, grammar, senses:
~/claude.tsvtsv
дипфейк ДИПФЕ́ЙК -у, ч. Підроблене за допомогою штучного інтелекту відео, зображення чи запис голосу…ґлейт ҐЛЕЙТ -у, ч. іст. Охоронна грамота: документ, що гарантував власникові безпечний проїзд…фактотум ФАКТО́ТУМ -а, ч. книжн. Довірена особа, що виконує найрізноманітніші доручення свого господаря…
Every such entry in the dictionary is signed «— Claude (ШІ)». AI can make mistakes and I don't hide that: any definition can be checked in the file and a mistake reported through a GitHub issue. The «SUM-11 only» and «Wiktionary only» variants contain no AI definitions at all, so anyone who doesn't trust them can just use those files.
In my view, an honestly signed AI definition beats «no definition found» in the middle of a sentence.
09How we built it
I built the dictionary together with Claude Code. Roughly: it wrote the code, dug up formats and documentation and worked out why the Kindle behaves the way it does. I set the tasks, tested every build on my Kindle, asked questions and searched myself when something didn't add up. The first version came out on October 20; five days later there had been six releases.
version
date
what changed
v1.0
Oct 20
SUM-11 for Kindle
v2.0
Oct 21
Wiktionary added, four file variants
v2.1
Oct 21
new entry layout and more accurate lookup
v2.2
Oct 21
covers and short names
v2.3
Oct 21
Claude's definitions in the mixed dictionaries
v2.4
Oct 25
expanded cross-references, other spellings, new words
More time went into the Kindle than into the dictionary itself, because the Kindle is a damn closed box. A few things we had to figure out on the device:
kindlegen won't do. Amazon's official tool sorts the Ukrainian index in a different order from the one the Kindle searches in. The dictionary builds without errors, but nothing is found from a book. kindling, an open-source builder that sorts the way the device searches, fixed it.
The popup ignores CSS. So the whole entry layout is done with bold, italics, font size and line breaks.
Capital letters. The Kindle doesn't lowercase a word at the start of a sentence, so every capitalised form had to be indexed separately.
«мені» opened «мень». When a form belongs to two words, the Kindle opens the first one in index order, and «мені» (to me) led to «мень», a fish, instead of «я» (I). pymorphy3 has no word frequencies for Ukrainian, so we count them in the dictionary's own text: 7.6 million words, 5 million of them in quotes. A shared form goes to the more frequent word.
Blank cover. kindling writes an identifier into the file that looks like an ASIN. Seeing an ASIN, the Kindle goes to the Amazon store for the cover, doesn't find it, and shows a blank tile in the library. After the build those records are renamed and the cover appears.
Apostrophes on firmware 5.20. On my Kindle, words with an apostrophe inside («сум’яття», «здоров’я») aren't found. «з’явився» could be fixed with a separate index, the rest not yet.
The full list of pitfalls with explanations is in the repository's README.
10What people say
I posted the dictionary on Threads. A few of the replies (translated):
Oh, cool. I'm used to looking up any English word instantly, and then I was reading a book in Ukrainian and just didn't get some of the words.
Thank you! This is a really cool thing! Finally I don't have to google so much.
Thanks, installed it and already using it! Great!
What am I looking at? It's a treasure.
11What next
The best thing that could happen to this project is for something better from an official source to replace it. That doesn't take new grants or years of work:
Open the SUM-20 data under a clear license. The database exists, the schema is published, and 135 MB stopped being a problem long ago.
State plainly under what terms SUM-20 may be used.
More people in Wiktionary. Every detailed entry there makes it into the next build of the dictionary.
Until then: download it, install it, and if a word isn't found or an AI definition is wrong, open an issue on GitHub.
[1]A separate pain: no book of «The Witcher» series can currently be bought in Ukrainian as an ebook file. The paper books exist, but nobody sells the ebooks legally. It turns out ebooks can «sell out» too. As soon as they go on sale I'll buy them, even if I've finished them by then.
[2]Wikipedia (uk), «Словник української мови у 20 томах»: list of volumes and the editors' estimate of «remnants of the totalitarian era» in SUM-11.
[3]Interfax-Ukraine, October 24, 2016; reprinted on the website of the Ukrainian Language and Information Fund (ulif.org.ua).
[4]Dictionary of the Ukrainian Language in 20 volumes, vol. 1 (Kyiv: Naukova Dumka, 2010), chapter 3 «Technological aspects of the SUM-20 project».
[5]Counted in the SUM-11 data from the ukr-ukr_SUM-11_or_1 release: 127,071 records; a quote's source is the first word in the parentheses after the example. The data lacks about 5% of the printed dictionary's entries, so exact numbers may differ slightly.
[6]Lengths and shares are computed from the entry text in the built dictionary files, without word forms. Entry counts are from the «SUM-11 only» and «Wiktionary only» files.
AV
Andrii Volkov · @volkovskey
Software Engineer · Systems Builder · Dnipro / Ukraine