# Target-language (ru) readability checker DATA (pair-14 data-out): the wordlists and DETECTION patterns the
# TARGET-GENERAL checkers/sanitizer run on ANY →ru output (regardless of source pair). Engine/target data —
# a no-langpack →ru book (the ja→ru golden) still runs these — so it is embedded here, not a book pack; the
# checker/sanitizer ALGORITHMS stay generic Go. `category<TAB>value`; value VERBATIM (a regex or a literal);
# lines are grouped by category IN ORDER (order matters for the sanitizer preamble preview). Add a target =
# add data/target-<tgt>.txt + its accessor entry.
#
# broken-word: a Russian word ending in this suffix is a mangled infinitive (no valid word ends in «-йть»).
broken_suffix	йть
# yofikator homograph whitelist: е-spellings that are DISTINCT words from their ё-counterpart (все≠всё,
# небо≠нёбо, берет≠берёт …), so the inconsistency rule must NOT flag «все»+«всё» as one word two ways.
yo_homograph	все
yo_homograph	всех
yo_homograph	всем
yo_homograph	всеми
yo_homograph	небо
yo_homograph	небом
yo_homograph	узнаем
yo_homograph	узнаете
yo_homograph	узнает
yo_homograph	падеж
yo_homograph	падежа
yo_homograph	совершенный
yo_homograph	совершенное
yo_homograph	совершенная
yo_homograph	совершенно
yo_homograph	совершенны
yo_homograph	чем
yo_homograph	тем
yo_homograph	тема
yo_homograph	теме
yo_homograph	темы
yo_homograph	берет
yo_homograph	берете
yo_homograph	берета
yo_homograph	осел
yo_homograph	осла
yo_homograph	ослы
yo_homograph	ослов
yo_homograph	мел
yo_homograph	мела
yo_homograph	лен
yo_homograph	лена
yo_homograph	нес
yo_homograph	несем
yo_homograph	несет
yo_homograph	вел
yo_homograph	ведет
yo_homograph	ведем
# magnitude_stem: Russian magnitude WORD stem → base-10 exponent, for the number-magnitude gate (a stem
# covers [base, base+2] since an unseen multiplier can lift it two orders). `magnitude_stem<TAB>stem<TAB>exp`.
magnitude_stem	тысяч	3
magnitude_stem	миллион	6
magnitude_stem	миллиард	9
magnitude_stem	триллион	12
# sanitizer DETECTION patterns (pair-14 data-out). The sanitizer is isRuTarget-gated, so these are
# ru-target data; the strip/detect ALGORITHM stays in sanitizer.go. `sanitizer_preamble` is ORDERED
# (detectLeadingPreamble returns the FIRST match's preview). Values VERBATIM (regexes).
sanitizer_preamble	(?is)^\s*(?:вот|представляю|привожу|держите)\s+[^\n:]{0,40}?(?:отредактированн|исправленн|улучшенн)[а-яё]+\s+(?:перевод|текст|вариант)[а-яё]*[^\n:]{0,120}?:
sanitizer_preamble	(?is)^\s*(?:отредактированн|исправленн|улучшенн)[а-яё]+\s+(?:перевод|текст|вариант)[а-яё]*[^\n:]{0,120}?:
sanitizer_preamble	(?is)^\s*(?:вот\s+)?перевод\s+(?:фрагмента|текста|отрывка|главы|черновика)\s*:
sanitizer_preamble	(?is)^\s*ниже\s+(?:привед[её]н|представлен|дан|след)[а-яё]*\s+[^\n:]{0,40}?(?:перевод|отредактированн|текст)[а-яё]*[^\n:]{0,20}?:
sanitizer_trailing_note	(?i)^[*_>\s-]{0,4}(?:(?:примечани[ея]|заметк[аи]|комментари[йяю]|пояснени[ея]|сноск[аи])\s*:|(?:примечани[ея]|заметк[аи]|комментари[йяю])\s+(?:переводчик|редактор)[а-яё]*|прим\.\s*(?:перев|ред)\.?)
sanitizer_edit_meta	(?im)^[*_>\s-]{0,4}(?:(?:внесённ|внесен)[а-яё]+\s+правк|основн[а-яё]+\s+правк[а-яё]*(?:\s+для\s+справк[а-яё]+|\s*:)|что\s+(?:было\s+)?(?:изменен|исправлен)|список\s+(?:правок|изменений)|список\s+внесённых)
sanitizer_invalid_sign	(?i)(?:^|\P{L})[ъь][а-яё]|[ъь][ъь]
