Fix Russian speech rules and expand tests - #767
Merged
Merged
Conversation
To clarify the Russian mathematical terminology, the names of letters, the reading of rare symbols, integrals and geometric objects. Correct the matching of service words, numerical forms of units of measurement, and phrases for reviewing matrices and tables. Add compatibility with 19 character groups and fix MathJax arrow matches. Extend SimpleSpeak and ClearSpeak checks in the following modes Terse, Medium, and Verbose, including designed alphabets, MathType symbols, chemical designations, and capital letter settings. Update markers of confirmed transfers to T, OT, and SPELL. To keep the MathType U+F220–U+F236 table unconfirmed: a reliable character match has not yet been established.
Correct the Russian unicode-full rule entry by changing the key from `spell` to `SPELL`. This aligns the mapping with the expected rule format and preserves the Greek-letter pronunciation for the affected Unicode range.
Refactor several functions to use tuple assignments and pattern matching for clearer, immutable bindings: canonicalize.rs (first/last child), chemistry.rs (prescripts/postscripts), and tts.rs (before/after lengths). Also update Russian navigation tests in navigate.rs (expected speech strings and a clarifying comment) to reflect the changed phrasing/cue for fractions inside square roots. These are purely refactors and test expectation updates to match the new output wording.
Collaborator
|
this PR has multiple changes in the core Rust code, in addition to changes on the Russian localization: Can you open those changes in a new PR, and keep this PR focused on files within I'm pretty sure there is a way to do this with fancy git moves, but personally I'd just copy-paste the changes I want, most likely. |
Replace tuple-based temporary returns with explicit variable bindings for clarity and to avoid borrow/lifetime issues. Changes: - canonicalize.rs: declare first_child/last_child before branch and then convert to elements; simplifies fence-detection logic. - chemistry.rs: assign prescripts/postscripts to named slices instead of returning a tuple. - tts.rs: compute before_len/after_len via separate assignments inside match instead of returning a tuple. No behavioral changes intended; purely refactors for readability and safety.
This change refreshes the Russian user and helper documentation, expanding the translator guidance and improving the structure of the setup, navigation, and settings sections. It also standardizes the MathCAT branding in the Russian titles and wording.
Collaborator
|
Thanks for cleaning up the PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
To clarify the Russian mathematical terminology, the names of letters, the reading of rare symbols, integrals and geometric objects.