Module:User:Ssvb/ru-accentdict/documentation

Introduction
This module provides a simple interface for testing whether a Russian word exists or not. The function  simply returns either true or false. The words are stored with acute accents to indicate the stressed syllables. Single syllable words don't have accent. A stressed letter ё doesn't have acute accent if that's the only letter ё in the word. Examples: "стол" (single syllable), "табуре́тка" (many syllables), "трёхэтажный" (a word with ё). Much more advanced modules can be developed on top of this basic functionality.

Building the dictionary
Below is the information how to develop and upgrade this module itself.

Obtaining the list of Russian words
English Wiktionary dumps are parsed by https://kaikki.org and converted into reasonably machine readable JSON files.

Ruby script for parsing the kaikki's JSON to extract the list of Russian words:

Converting the list of words into a Lua module
The Lua module code can be generated automatically from a list of words. Ruby script for generating a Lua module from the supplied list of words:

If the produced Lua file is larger than the 2MB limit, and for the Russian dictionary that's how it is, then the Lua file needs to be split into multiple parts: