Skip to content

[Ru] - Update Russian Unicode speech rules#568

Merged
NSoiffer merged 46 commits intodaisy:rufrom
Kostenkov-2021:ru
Apr 29, 2026
Merged

[Ru] - Update Russian Unicode speech rules#568
NSoiffer merged 46 commits intodaisy:rufrom
Kostenkov-2021:ru

Conversation

@Kostenkov-2021
Copy link
Copy Markdown

This commit refines and expands Russian entries in unicode-full.yaml: many symbol translations were updated for clarity.

moritz-gross and others added 30 commits April 2, 2026 22:44
Fix HTML entities in the README file.
re-fixes daisy#485
Fixes daisy#544

Added/fixed tests for these.
Small cleanup for dealing with U+2212 -> '-': something was fixed but code was left and commented out. Removing that simplifes the check.
re-fixes daisy#485
Fixes daisy#544

Added/fixed tests for these.
I went over the English user guide for MathCAT and created a new version to replace the current one. I aimed to make it less technical and easier to read. See the file User_guide_for_MathCAT_en.md. Note that it was written a while ago, so it needs revising to account for 
- MathCAT now being native to NVDA, 
- an up-to-date means of contact, and
- possibly new navigation features? (I decided it caused confusion to mention features not developed yet so I removed them at the time of writing).
Please feel free to edit or add to it in any way.

Anvandarguide_till_MathCAT_sv.md is a Swedish translation of the new, easy-to-read English user guide. Please notify me of changes to the English one and I can keep the Swedish one updated accordingly.

nvda.mo is a Swedish translation of the NVDA settings dialogue.
* Change `isize` to `i32` for better consistency and alignment with expected use cases.

* fix clippy
A revised translator's guide to replace the old one. Written by me, @MartheGjelstad and @AndersEkl. Proofread and verified by @NSoiffer.
Fix extra "the" in expression by converting many `t:`s to `ot:`s.
However, I still needed to fix up the handling of them in speech.rs by allowing for an optional `ot` marker. I took this opportunity to clean up the function a little now that I know Rust better (it was over 5 years old).
…for Language, BrailleCode, or SpeechStyle. I limited those to letters and '-' and '_' ( e.g., en-us ). Added tests.
Improved Russian translations in ClearSpeak_Rules.yaml for mathematical terms related to fractions and exponents, ensuring more accurate and natural phrasing. Updated unicode-full.yaml to refine translations for the Apple logo, arrow symbols, and unknown character descriptions.
Replaces several Russian translations for mathematical terms with more accurate or standard equivalents, such as changing 'реальные числа' to 'действительные числа' and 'негативных' to 'отрицательных'. Also updates the translation for 'imaginary part' to 'комплексная часть'.
Improved and corrected Russian translations for various Unicode symbols in unicode-full.yaml and unicode.yaml. Changes include more accurate mathematical and typographical terms, such as replacing 'dot dot dot' with 'точка точка точка', updating power-related terms to 'степени', and refining translations for punctuation and mathematical operators.
Update Russian ClearSpeak rules and shared language resources: adjust terminology, grammar and verbosity across multiple rule files. Key changes include: proper Russian translations for roots (e.g. "конец корня"), powers/exponents ("степень", "возведено в степень", "в" for '^' connectors), fractions ("дробь"), sets/interval wording ("множество", "включая"), navigation labels (use "строка"/"к началу строки"/"к концу строки", "лево"/"текущий"), Unicode symbol names (more natural bracket/brace/tilde/caret terms), log and calculus terms ("логарифм", "натуральный логарифм", "ротор"), intent mappings and function names localized, and fixes to ordinal/plural forms and other lexical corrections. Affected files: Rules/Languages/ru/ClearSpeak_Rules.yaml, Rules/Languages/ru/SharedRules/calculus.yaml, Rules/Languages/ru/SharedRules/default.yaml, Rules/Languages/ru/definitions.yaml, Rules/Languages/ru/navigate.yaml, Rules/Languages/ru/unicode.yaml.
This commitadds fixes at Russian translation of Unicode symbols list.
This commit includes fixed Russian translations of Unicode symbols at unicode-full.yaml file.
Add a Russian language test suite for ClearSpeak and SimpleSpeak. New test modules cover functions, large operators, menclose, fractions (mfrac), roots (mroot), superscripts (msup), multiline, sets, symbols/adornments, geometry, linear algebra, subscripts, and more (alphabets, chemistry, intent, mtable, shared, units). Update tests/languages.rs to include the new "ru" tests. These tests exercise many speech patterns (logs, trig, intervals, sums/products/unions/intersections, integrals, mixed/nested fractions, implied/explicit multiplication, parentheses handling, and menclose notations).
Revise and correct Russian phrases in Rules/Languages/ru/navigate.yaml for navigation, zoom, movement and index terminology. Replaces English transliterations and incorrect terms, fixes grammar/wording for verbose/terse messages, and improves consistency across related prompts.
Replace incorrect "над" with "на" in Rules/Languages/ru/ClearSpeak_Rules.yaml for fraction phrasing. Two occurrences updated (phrase and replace sections) to improve naturalness and accuracy when speaking fractions in Russian.
Adjust Russian SimpleSpeak rule strings and comments for clearer, more natural phrasing and better alignment with English references. Changes include removing redundant article tokens for terse verbosity, updating terms (e.g. 'корень', 'дробь', 'конец корня/дроби', 'в квадрате/в кубе', 'степень', 'в', 'на', 'множество', 'умножить'), switching pronunciation suffixes from '-th' to '-й', and converting many inline comments to concise English annotations.
Correct various Russian terms and wording in Rules/Languages/ru/overview.yaml: replace incorrect prepositions and nouns (e.g. 'над'→'на', 'фракция'→'дробь', 'куб корень'→'кубический корень', 'определяющий'→'определитель', 'стол'→'таблица'), adjust pronunciation for ordinal marker to Russian '-й' with IPA, and refine mtable count/selectors. These changes standardize terminology and improve readability of the Russian speech rules.
Update Rules/Languages/ru/definitions.yaml to improve Russian localization: translate SI prefixes and unit names from English to Russian, localize units-without-prefixes and (previously) EnglishUnits entries, change OperatorIntentRenaming for "dimension-product" to "на", and adjust limit/lim-sup/lim-inf phrasings. Also fix ordinal spellings and correct gender/number forms for large ordinals. These changes refine translations and orthography for better Russian support.
Refactor Russian ClearSpeak absolute-value rule to remove the WordToSay variable and use inline tests to choose between «мощность» (cardinality) and «модуль». Reordered elements to output «из» then the operand, and when AbsEnd is set emit «конец» followed by the chosen label; preserves pauses. Also fix malformed quoting in Rules/Languages/ru/navigate.yaml for MoveEnd/MoveLineEnd messages (remove stray extra quotes) so the Russian navigation phrases are emitted correctly and the YAML is valid.
Import crate::common::* and anyhow::Result at the top of tests/Languages/ru.rs and inside the ClearSpeak and SimpleSpeak modules so those test modules can use shared utilities and Result types. Also include minor whitespace/formatting adjustments.
Adjust Russian ClearSpeak rules: correct grammar and wording across many rules (negativity adjectives, root/fraction/interval/set wording), standardize exponent phrasing (use "в степени", explicit "во вторую/в третью степень" and "конец степени"), replace English pronunciation markers with Russian ("-й"), improve log/function wording (e.g. "натуральный логарифм", "от", "арка"), and change implied-times wording to "умножить на". Also tidy up various comments/whitespace and minor test/pause adjustments to make speech output more natural and consistent.
Update Rules/Languages/ru/unicode-full.yaml with a large set of new and corrected entries. Adds many diacritics, combining marks, phonetic modifiers, superscripts/subscripts, punctuation, currency symbols and enclosing marks; introduces handling (tests/audio/pitch) for Greek and Cyrillic capital letters and refines several translations and spell/replace rules. This expands coverage and clarifies vocalization rules for numerous Unicode characters.
Replace many occurrences of the lowercase 't' action key with uppercase 'T' in Rules/Languages/ru/ClearSpeak_Rules.yaml (and related case changes like ct -> CT) to align with the expected rule schema/consumer. Also apply minor Russian text corrections (e.g. "деленное на" → "делённое на"). No other logic changes.
Refine and expand Russian entries in unicode-full.yaml: many symbol translations were updated for clarity.
@NSoiffer
Copy link
Copy Markdown
Collaborator

I'll do the merge and fix the errors.

@NSoiffer NSoiffer merged commit d99c5bd into daisy:ru Apr 29, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants