# 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. `categoryvalue`; 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-.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_stemstemexp`. 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})[ъь][а-яё]|[ъь][ъь]