Building a Karachay-English Dictionary

Let me start by saying that I am not an expert in Karachay, and it is not my first language. Although I am Karachay, I grew up speaking English. I understand much of what I hear in a Karachay conversation, but I still struggle to speak it. I begin with this because it is where the whole project started. The karachay.com dictionary was not built by a linguist or a native speaker. I built it because I needed it. I'm a software engineer, so building it was the part I knew how to do. For what I could not have known myself, I relied on native speakers in my circle. In this essay I describe how the project began, how the dictionary is built and checked, what I have learned along the way, and where it is going next.

Earlier this year, I decided to improve my Karachay to be able to communicate better with family members who speak it natively, but that turned out to be harder than I thought. There are very few Karachay language resources for someone who learns through English. There are dozens of Karachay dictionaries, written in Russian, in Turkish and in Karachay itself, but until now there was no comprehensive dictionary between Karachay and English. Beyond dictionaries, I could find almost no learning materials in English, such as workbooks, phrasebooks or conversation guides.

I started doing research and preparing my own notes. Then it occurred to me that if I organized my notes well enough, others like me could benefit from them too. At first I thought of sharing them as PDF files, but at some point I began to think about putting them online instead. Out of curiosity, I checked whether karachay.com was available, and to my surprise it was. I bought the domain the same day and began planning what the end product would look like. As I planned, I realized that I was getting ahead of myself. Every lesson, every vocabulary card and every example sentence would have to come from somewhere reliable. The most natural source for that was a dictionary, yet there was no comprehensive Karachay-English dictionary. I could have gone straight to building lessons, but instead I decided to take a step back, put the learning platform aside, and build the dictionary first. I started work on it in July 2026. The plan was, and still is, that a good enough dictionary becomes the source the learning platform is built on.

As I worked on the dictionary, I came to define the primary audience as English-speaking Karachay people like me, who want to learn the language of our families and hold on to our heritage. Most of us are where I am: we understand some of the language, speak little of it, and find almost no material for us to learn from.

One dilemma I faced early on was deciding which Karachay the dictionary would describe. Most Karachays live in Russia, the largest diaspora lives in Turkey, and a smaller one lives in the United States. Each community has absorbed some vocabulary from the society around it, so the Karachay spoken in one place is not quite the same as in another.

The word for "zero" is a good example. Karachay has no native word for it, to the best of my knowledge. I checked this against the major published sources the project relies on, and none of the fifty-one dictionaries or the grammar books I examined lists a native word for zero. I suspect there was simply no need for one. People did not say "I have zero sheep." They said "I don't have any sheep." When a word for zero became necessary, each community borrowed one from its neighbors. Karachays in Russia usually say ноль (nol), from Russian. Karachays in Turkey usually say сыфыр (sıfır), from Turkish sıfır, which Turkish took from Arabic. To an outsider this is a small detail. To a reader from one Karachay community who finds only the other community's word in a dictionary, it can look like a statement about whose Karachay is the real one. I have seen it start real arguments. So I realized that I needed to take a position.

The dictionary follows the Karachay literary standard, the written form taught in schools and used in books and newspapers, rather than any one region or family. That standard is a choice too, and I want to be open about it. The dictionary also includes the loanwords Karachays commonly use in speech, whether they live in Russia or in Turkey, each labeled with the language it came from. Both words for zero are in it. Some loans are less obvious. For example, few people know that сабий (sabiy), "child," is a loan from Arabic, where it means "boy" or "young child." The native Karachay word for a child is бала (bala). I find this approach a reasonable middle ground. I know I can't settle arguments about identity, but I can try not to take sides in them.

Even writing the language involved choices. Karachay is officially written in Cyrillic, but many readers, especially in Turkey and the United States, read Latin script more easily, so the site shows both. Early on I made a rule that has saved me more trouble than any other: Cyrillic is the source. I store all dictionary words, example sentences, idioms and expressions in Cyrillic. The Latin spelling is generated from the Cyrillic automatically, by the same software that builds word forms. This process goes one way, from Cyrillic to Latin, and there is deliberately no way back, because the Latin spelling doesn't keep every distinction the Cyrillic makes. A reverse system would need either a hand-kept list of exceptions, which would grow into an unmaintainable mess, or guesswork, which would introduce errors.

The Latin script itself required several decisions, and I went back and forth on some of them. For a while the site wrote the sound of Cyrillic нг, the ng in English sing, as two letters, because ng is easy to type. At some point, I received feedback that this was the only consonant in the Karachay Latin script written with two letters rather than one. That inconsistency was convincing enough for me to change the spelling of нг to ŋ. The site now writes ŋ, but the search still treats a typed ng as the same thing. This detail may not matter to many readers, but I mention it because evaluating new information, reversing decisions and changing direction have become part of how this project is maintained.

Yet, in retrospect, deciding how to write a word was the easy part. Deciding what a word means, and whether it belongs in the dictionary at all, proved to be much harder. Beyond the words already on the site, the project holds more than ten thousand candidate words that are still waiting for review. At that scale, I needed a way to put all the evidence for a word in front of a reviewer, so that time goes to judgment rather than to looking things up. That is what the review process does. It begins with research. With the help of an AI research assistant, I put together an inventory of the Karachay and Karachay-Balkar dictionaries, grammars and word lists that have been published, and gathered as many of them as I could for study.

Most of these books exist only in print or as scans, so each one was converted to text and every entry was extracted: the word itself, its part of speech, its definitions and its examples. Scanned text contains reading errors, so a suspicious spelling is checked against the page image before it is trusted. The dictionaries also use different spellings, abbreviations and layouts, so each one is converted into a common format. This makes it possible to compare them directly, entry by entry. That comparison matters because the dictionaries often disagree with one another, some reflect Soviet-era ideology, and many describe Karachay and Balkar together without always saying which is which. The highest level of confidence comes from the entries that several dictionaries agree on.

For each word, everything known about it is then gathered into a single packet of evidence: what each dictionary says and, when available, examples from real Karachay writing and my own notes on how native speakers use the word. The writing comes from a collection of Karachay texts, including fiction, poetry, textbooks, language books and academic works.

Next, an AI model reads each packet and drafts an entry: the word's meanings, an English definition and examples for each, and the dictionary citations behind them. It works under strict rules. Every new meaning must be backed by a quoted dictionary statement. Anything uncertain is put on hold, with the reason written down.

Because many people are wary of AI-generated content, I want to be clear about how I used AI. I used it to get much more done than I could on my own. AI did much of the research work described above, and it helped write much of the code, including the website. Without it, a project of this size would have taken many years. Still, AI is a research assistant in this project, not an authority, and the project is designed around its weaknesses. AI models write fluently, and that fluency makes their mistakes easy to believe. A model can read its sources faithfully and still get the answer wrong.

That is why a model can't publish a new meaning by itself. Every proposed change is checked by a program against the dictionary's rules, which applies what passes and holds what doesn't. A new meaning goes on the site only after I approve it, and wherever a native speaker's judgment matters, I check with native speakers first. Smaller changes to meanings that are already published, such as a clearer definition or a new example, are checked by the program rather than by me one at a time. Every step keeps a record of what went in, what came out and why, so when something goes wrong, I can see where it happened. This process is tedious, and many words are still on hold because the evidence for them is limited. Still, a word on hold costs nothing. A wrong word stays on the site until somebody notices, and in a community this small, nobody may notice at all.

The second major piece of the project is the engine that builds word forms. Karachay builds words by adding endings, and a single verb can have thousands of forms. Early on, I realized that a dictionary entry couldn't be just a single word. A noun needs its plural, its cases and its possessive forms, and a verb needs its conjugations. Typing all of these in by hand would have been an enormous job, and every form would need to be individually reviewed for correctness. So instead, I wrote the engine to build the derived forms automatically. It knows the sound rules of the language, such as vowel harmony, and the way consonants change where a word meets its ending. It also knows the rules for adding new endings to words. Given the dictionary form of a word, it produces every form the word has. It is the source of the tables of conjugations, cases and possessive forms on each word page.

The engine also works the other way. Given a form found in a text, it finds the word the form came from. This is what powers the search: type any form of a word, endings and all, and the search leads you back to the word itself. For example, юйлерибизден (üyleribizden) means "from our houses." The engine recognizes it as юй (üy, "house") with three endings added: -лер (-ler) for the plural, -ибиз (-ibiz) for "our" and -ден (-den) for "from." Searching for it leads you to the entry for юй (üy). For a learner, this is very important, because the form you come across in a sentence is rarely the form a dictionary lists.

That said, an engine like this can only be trusted if it is thoroughly tested. It's for this reason that much of the engineering work has gone into testing. The test suite has more than fourteen hundred tests, some of which check every word file. A second check builds every form of 85 sample words, more than 228,000 lines in total, and compares the result line by line with a saved copy, so any change that affects an existing form shows up right away. A third check tests the engine against itself. It takes the forms the engine builds and reads each one back, the way the search would, to make sure it leads back to the word it was built from. If the engine builds юйлерибизден (üyleribizden) from юй (üy), then reading юйлерибизден (üyleribizden) must lead back to юй (üy). The site can't be published unless all of these checks pass.

Furthermore, some of the hardest problems are specific to Karachay morphology. For example, the stem of a verb can't always be reliably derived from its dictionary form (the infinitive), because that form can often be split in more than one way. Take барыргъа (barırğa, "to go"). In theory, its stem could be бар- (bar-) or бары- (barı-), and each would produce different forms. "He goes" would be барады (baradı) in one case and барыйды (barıydı) in the other. Only one of these is real Karachay, and the spelling alone can't tell you which. So the engine relies on how the verb is actually used in writing, where people write барады (baradı). Similarly, the ending -ргъа (-rğa) marks most verbs in their dictionary form, but it also appears at the end of ordinary nouns like къабыргъа (qabırğa, "wall") and сыргъа (sırğa, "earring"). A program that doesn't account for this will try to incorrectly conjugate these words as verbs.

When I started, I didn't know exactly what I was building or how long it would take. I knew I wanted to build a learning platform, but I had no idea what that would involve. The scope grew as the project went on. A word could have several meanings, so a single definition became a list of meanings, each with its own part of speech and example sentences. Loanwords needed labels. After the engine came related words, themed word lists, and idioms and expressions. Not everything I started made it. At one point I began building a database of Karachay personal names, but I set it aside because it was too large a project and it was pulling me away from the dictionary. Deciding what not to do has mattered as much as deciding what to do.

The project is independent and self-funded, and it has no institutional affiliation. As of October 2026, three months in, the dictionary has nearly ten thousand words and more than twenty thousand meanings, and its meanings cite 27 published dictionaries. It also has tables of forms for the words that have them, related words, themed word lists, idioms and expressions, and a search that works in Karachay or English, in either script, and recognizes any form of a word.

The dictionary's content is licensed under Creative Commons Attribution 4.0 (CC BY 4.0). Anyone may quote it, teach from it and build on it, commercially or not, as long as they credit it, link to the license and note any changes. The source dictionaries are not mine. They are cited, their definitions are never copied, and the license doesn't cover them.

My goal from the start has been to build a learning platform, and the dictionary exists to support it. I want it to be the resource I wish I'd had. I picture it in two parts. Vocabulary will be learned through spaced repetition, which combines the two study methods best supported by research on memory: spreading reviews out over time, and testing yourself rather than rereading. Grammar will be taught as small, individual topics, each building on the ones before it. This is because grammar is where many learners lose motivation, and small steps make it easier to keep going. Both parts will draw on the dictionary, so every word, form and example a learner sees will come from entries that have already been through the review process.

The dictionary is a work in progress. I continue to work on it, and it will keep getting better over time. If you speak Karachay, the most helpful thing you can send me is a correction, such as a wrong definition, a form nobody uses, a missing meaning, or a word that isn't in the dictionary. Every page has a link for sending feedback. If you would like to contribute more than that, please write to me at contact@karachay.com. And if you want to learn Karachay, keep an eye on karachay.com for the upcoming learning platform.

Many people helped with this project: native speakers who answered my questions, corrected me and argued with me, and family who put up with all of it. I'm grateful to every one of them.