Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
0e9dbca
Refine matrix rule handling by adding support for augmented matrices;…
moritz-gross May 31, 2026
9ba3b3d
remove logging statement
NSoiffer May 31, 2026
9dc9d89
removed uneeded eprintlin!()
NSoiffer Jun 1, 2026
7044d40
Alternative fix to PR #540.
NSoiffer Jun 1, 2026
cec6805
Merge branch 'main' of https://github.com/daisy/MathCAT
NSoiffer Jun 1, 2026
a8f58d1
Merge branch 'ru'
NSoiffer Jun 1, 2026
278dcf5
Add Russian translation
NSoiffer Jun 1, 2026
4740065
Fix #585 -- SSML was being escaped.
NSoiffer Jun 2, 2026
63a688b
bump beta number
NSoiffer Jun 3, 2026
f595f8d
The range for MATHEMATICAL SANS-SERIF DIGITs had MATHEMATICAL MONOSPA…
NSoiffer Jun 3, 2026
cf0fb14
comment out some debug statements
NSoiffer Jun 3, 2026
0c2c668
Add 02DA (˚) to list of circle-like chars -- I thought I had done thi…
NSoiffer Jun 3, 2026
dec778f
Add source language option to translation audit tool
moritz-gross Jun 5, 2026
7ee775a
fix ruff
moritz-gross Jun 5, 2026
d86d7e5
fix ruff
moritz-gross Jun 5, 2026
454d0a9
Merge remote-tracking branch 'origin/audit-tool-compare-any-language'…
moritz-gross Jun 5, 2026
e0180a3
fix ruff
moritz-gross Jun 5, 2026
cd48925
Core concept names additions and tests -- issue 381 (#592)
ttpyorre Jun 8, 2026
80438d6
fix clippy warnings
NSoiffer Jun 8, 2026
78dfa58
Merge pull request #593 from moritz-gross/audit-tool-compare-any-lang…
moritz-gross Jun 8, 2026
f3796a9
use "ruamel.yaml>=0.19.1" in uv.lock and pyproject.toml
moritz-gross Jun 8, 2026
6f95dad
Merge pull request #595 from moritz-gross/fix/update-ruamal.yaml-version
moritz-gross Jun 8, 2026
fc0a327
handle canonicalize failure in containerized environments (#574)
venkatesh6114 Jun 11, 2026
6cfd4a1
add 1 week dependency cooldown for uv (#599)
moritz-gross Jun 12, 2026
dc9e535
fix rules for digits in german (#596)
moritz-gross Jun 12, 2026
fc4bf93
update navigation rules for traditional chinese (#588)
hjy1210 Jun 12, 2026
939be4a
Internally in definitions.yaml, MathCAT uses "nofix", but that's not
Jun 12, 2026
282ff43
Merge branch 'main' of https://github.com/daisy/MathCAT
Jun 12, 2026
6dd4f6c
don't say "indexed by", say "sub"
Jun 12, 2026
82a1cb4
add some terse and verbose forms of speech
Jun 13, 2026
33b88ec
fix typo
Jun 13, 2026
d96d6cd
Added an html file with all the test exprs so that translators have e…
NSoiffer Jun 14, 2026
12bcca9
Fix remaining erros after `definitions.yaml` was updated -- needed to…
NSoiffer Jun 14, 2026
2769905
fix clippy warning
NSoiffer Jun 14, 2026
7cd9d01
minor cleanup: remove ASCIIMath-fi reference
NSoiffer Jun 14, 2026
8ed33a1
Refactor braille.rs to a BrailleCode trait + registry
NSoiffer Jun 16, 2026
09c161a
improved counting for (likey) 8 bit codes when figuring out braille p…
NSoiffer Jun 16, 2026
1d6896f
make sure this is part of repo
NSoiffer Jun 22, 2026
49a23a8
add BrailleDocs to repo (stop ignoring)
NSoiffer Jun 22, 2026
8d0ae2c
updated data, does not include ASCII letters/digits
NSoiffer Jun 22, 2026
0728f54
First version of Russian Braille
Kostenkov-2021 Jun 1, 2026
8dbff73
typo in example
NSoiffer Jun 1, 2026
6c166d7
Russian Braille fixes
Kostenkov-2021 Jun 3, 2026
7fb107f
Braille - Latin and Greek letters fixes
Kostenkov-2021 Jun 3, 2026
5d8b293
Braille - Roots, powers and scripts
Kostenkov-2021 Jun 3, 2026
cfba39a
Update Russian Braille rules and mappings
Kostenkov-2021 Jun 3, 2026
3c84414
Add Russian language to docs
Kostenkov-2021 Jun 11, 2026
15b35ec
Refactor Russian function braille mapping
Kostenkov-2021 Jun 12, 2026
162af7d
Refine Russian wording in translators guide
Kostenkov-2021 Jun 24, 2026
c2c48a6
Merge branch 'ru' of https://github.com/Kostenkov-2021/MathCAT into ru
Kostenkov-2021 Jun 25, 2026
db01386
Add alphabet indicators in russian_cleanup
Kostenkov-2021 Jun 25, 2026
8b4331d
Russian braille: add GOST symbols and decimals
Kostenkov-2021 Jun 25, 2026
29a7588
Add vector/bar/arc mover rules and tests
Kostenkov-2021 Jun 25, 2026
1f5eaad
Add Russian braille math functions and limits
Kostenkov-2021 Jun 25, 2026
103b3f0
Support system left brace in Russian braille
Kostenkov-2021 Jun 25, 2026
847257a
Add Russian chemistry braille rules and tests
Kostenkov-2021 Jun 25, 2026
ade84d4
Merge branch 'daisy:ru' into ru
Kostenkov-2021 Jun 25, 2026
62103b1
Add signed-integer and nested-fraction rules
Kostenkov-2021 Jun 25, 2026
1bbe33c
Merge branch 'ru' of https://github.com/Kostenkov-2021/MathCAT into ru
Kostenkov-2021 Jun 25, 2026
3b65d5e
Merge branch 'daisy:ru' into ru
Kostenkov-2021 Jun 26, 2026
cf6e8f5
Add Russian braille label marks and tests
Kostenkov-2021 Jun 29, 2026
615e4b3
Add Russian braille support for periodic decimals and mixed numbers
Kostenkov-2021 Jun 29, 2026
d2836c6
Add Russian braille rules for geometry operators
Kostenkov-2021 Jun 29, 2026
8898786
Adjust Russian braille union handling and add tests
Kostenkov-2021 Jun 29, 2026
ee8fb94
Improve Russian braille typeform and mathvariant handling
Kostenkov-2021 Jun 29, 2026
94afaa4
Add Russian Braille chemistry notation rules
Kostenkov-2021 Jun 29, 2026
42ea238
Add Russian braille mappings and tests
Kostenkov-2021 Jun 29, 2026
7155a86
Add column arithmetic and enhance Russian braille rules
Kostenkov-2021 Jun 30, 2026
1d65380
Optimize braille string operations for single chars
Kostenkov-2021 Jul 2, 2026
b898aa6
Verify RU speech strings; add nav & unit rules
Kostenkov-2021 Jul 3, 2026
9b8d83a
Add Russian braille rules for geometry accents
Kostenkov-2021 Jul 5, 2026
027fe21
Add vector and long-division Russian braille rules
Kostenkov-2021 Jul 5, 2026
f7eb7df
Add postscripts and new label marks for Russian Braille
Kostenkov-2021 Jul 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
965 changes: 957 additions & 8 deletions Rules/Braille/Russian/Russian_Rules.yaml

Large diffs are not rendered by default.

27 changes: 27 additions & 0 deletions Rules/Braille/Russian/definitions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,30 @@
"grad": "\uE11B", "gradient": "\uE11B", "rot": "\uE11C", "div": "\uE11D",
"gcd": "\uE11E", "lcm": "\uE11F"
}

- RussianLabelMarks: {
"′": "\uE130", "″": "\uE130\uE130", "‴": "\uE130\uE130\uE130", "'": "\uE130",
"*": "\uE131", "∗": "\uE131", "⋆": "\uE131",
"×": "\uE132", "✕": "\uE132", "✖": "\uE132",
"∘": "\uE133", "○": "\uE133", "◦": "\uE133", "°": "\uE133",
"□": "\uE134", "◻": "\uE134",
"~": "\uE135", "∼": "\uE135", "˜": "\uE135", "̃": "\uE135",
"^": "\uE136", "∧": "\uE136", "ˆ": "\uE136", "̂": "\uE136",
"∨": "\uE137", "˅": "\uE137", "ˇ": "\uE137", "̌": "\uE137",
"+": "\uE138", "-": "\uE139", "−": "\uE139",
"?": "\uE13A", "⍰": "\uE13A",
"←": "\uE13B", "⟵": "\uE13B", "⃖": "\uE13B"
}

- RussianExactOverLabelMarksWithoutIndicator: {
"~": "\uE135", "∼": "\uE135", "˜": "\uE135", "̃": "\uE135",
"^": "\uE136", "∧": "\uE136", "ˆ": "\uE136", "̂": "\uE136",
"∨": "\uE137", "˅": "\uE137", "ˇ": "\uE137", "̌": "\uE137"
}

- RussianUpperRightLabelMarksWithoutIndicator: {
"′": "\uE130", "″": "\uE130\uE130", "‴": "\uE130\uE130\uE130", "'": "\uE130",
"*": "\uE131", "∗": "\uE131", "⋆": "\uE131",
"×": "\uE132", "✕": "\uE132", "✖": "\uE132",
"+": "\uE138", "-": "\uE139", "−": "\uE139"
}
14 changes: 7 additions & 7 deletions Rules/Braille/Russian/unicode-full.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -107,35 +107,35 @@

# bold script chars in math alphabetic block
- "𝓐-𝓩": # 0x1d4d0 - 0x1d4e9
- tc: "BTs"
- tc: "BTsC"
- spell: "translate('.', '𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩', 'abcdefghijklmnopqrstuvwxyz')"

- "𝓪-𝔃": # 0x1d4ea - 0x1d503
- tc: "BTs"
- spell: "translate('.', '𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃', 'abcdefghijklmnopqrstuvwxyz')"

- "𝐀-𝐙": # 0x1d400 - 0x1d419
- tc: "B"
- tc: "BC"
- spell: "translate('.', '𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙', 'abcdefghijklmnopqrstuvwxyz')"

- "𝐚-𝐳": # 0x1d41a - 0x1d433
- tc: "B"
- spell: "translate('.', '𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐭𝐮𝐯𝐰𝐱𝐲𝐳', 'abcdefghijklmnopqrstuvwxyz')"

- "𝐴-𝑍": # 0x1d434 - 0x1d44d
# don't include italics
- tc: "C"
- tc: "IC"
- spell: "translate('.', '𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍', 'abcdefghijklmnopqrstuvwxyz')"

- "𝑎-𝑧": # 0x1d44e - 0x1d467
# don't include italics
- tc: "I"
- spell: "translate('.', '𝑎𝑏𝑐𝑑𝑒𝑓𝑔𝑕𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧', 'abcdefghijklmnopqrstuvwxyz')"

- "𝑨-𝒁": # 0x1d468 - 0x1d481
- tc: "BIC"
- spell: "translate('.', '𝑨𝑩𝑪𝑫𝑬𝑭𝑮𝑯𝑰𝑱𝑲𝑳𝑴𝑵𝑶𝑷𝑸𝑹𝑺𝑻𝑼𝑽𝑾𝑿𝒀𝒁', 'abcdefghijklmnopqrstuvwxyz')"

- "𝒂-𝒛": # 0x1d482 - 0x1d49b
- tc: "BI"
- spell: "translate('.', '𝒂𝒃𝒄𝒅𝒆𝒇𝒈𝒉𝒊𝒋𝒌𝒍𝒎𝒏𝒐𝒑𝒒𝒓𝒔𝒕𝒖𝒗𝒘𝒙𝒚𝒛', 'abcdefghijklmnopqrstuvwxyz')"

- "𝖠-𝖹": # 0x1d5a0 - 0x1d5b9
Expand All @@ -157,11 +157,11 @@
- spell: "translate('.', '𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇', 'abcdefghijklmnopqrstuvwxyz')"

- "𝘈-𝘡": # 0x1d608 - 0x1d621
# - tc: "italic"
- tc: "IC"
- spell: "translate('.', '𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"

- "𝘢-𝘻": # 0x1d622 - 0x1d63b
# - tc: "italic"
- tc: "I"
- spell: "translate('.', '𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻', 'abcdefghijklmnopqrstuvwxyz')"

- "𝘼-𝙕": # 0x1d63c - 0x1d655
Expand Down
26 changes: 20 additions & 6 deletions Rules/Braille/Russian/unicode.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@
- "?": [t: "⠠⠢"]
- ":": [t: "⠀⠲"]
- ";": [t: "⠠⠆"]
- "№": [t: "⠝"]
- "§": [t: "⠬"]
- "…": [t: "⠠⠄"]
- "↵": [t: "⠐"]
- "⏎": [t: "⠠"]
- "⍰": [t: "⠐"]
- "[": [t: "⠷"]
- "]": [t: "⠾"]
- "{": [t: "⠪"]
Expand All @@ -20,7 +26,7 @@
- ")": [t: "⠜"]
- ">": [t: "⠀⠕⠀"]
- "<": [t: "⠀⠪⠀"]
- "%": [t: "⠼⠴"]
- "%": [t: "⠼⠴"]
- "±": [t: "⠀⠖⠤"]
- ";": [t: "⠠⠢"]
- "Ϳ": [t: "⠰⠊"]
Expand Down Expand Up @@ -148,6 +154,18 @@
- "\uE11D": [t: "⠫⠙⠊⠧#"]
- "\uE11E": [t: "⠫⠛⠉⠙#"]
- "\uE11F": [t: "⠫⠇⠉⠍#"]
- "\uE130": [t: "⠔"]
- "\uE131": [t: "⠆"]
- "\uE132": [t: "⠦"]
- "\uE133": [t: "⠴"]
- "\uE134": [t: "⠶"]
- "\uE135": [t: "⠢"]
- "\uE136": [t: "⠲"]
- "\uE137": [t: "⠰⠔"]
- "\uE138": [t: "⠖"]
- "\uE139": [t: "⠤"]
- "\uE13A": [t: "⠠⠢"]
- "\uE13B": [t: "⠦⠶"]
- "\ue020": [t: "⠚"]
- "\ue021": [t: "⠁"]
- "\ue022": [t: "⠃"]
Expand All @@ -170,11 +188,7 @@
- "∧": [t: "⠀⠰⠢"]
- "∨": [t: "⠀⠰⠔"]
- "∩": [t: "⠀⠰⠲"]
- "∪":
- test:
if: "following-sibling::*[1][self::m:mi]"
then: [t: "⠸⠜"]
else: [t: "⠀⠰⠴"]
- "∪": [t: "⠀⠰⠴"]
- "∫": [t: "⠮"]
- "∬": [t: "⠮⠮"]
- "∭": [t: "⠮⠮⠮"]
Expand Down
20 changes: 10 additions & 10 deletions Rules/Languages/ru/SharedRules/calculus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
tag: laplacian
match: "count(*) <= 1" # can be on ∇^2 or on enclosing mrow
replace:
- t: "лапласиан" # phrase('laplacian' of x) -- "LahPlahsian" sounds better with speech engines tested
- T: "лапласиан" # phrase('laplacian' of x) -- "LahPlahsian" sounds better with speech engines tested
- test:
if: "count(*) = 1"
then:
- test:
if: "$Verbosity!='Terse'"
then: [t: "от"] # phrase(function 'of' one variable) -- note OneCore voices spell out "div"
then: [T: "от"] # phrase(function 'of' one variable) -- note OneCore voices spell out "div"
- test:
if: "not(IsNode(*[1], 'leaf'))"
then: [pause: short]
Expand All @@ -22,11 +22,11 @@
replace:
- test:
if: "$Verbosity='Terse'"
then: [t: "див"] # phrase('div' is short for divergence)
else: [t: "дивергенция"] # phrase('divergence of' this function from the mean)
then: [T: "див"] # phrase('div' is short for divergence)
else: [T: "дивергенция"] # phrase('divergence of' this function from the mean)
- test:
if: "$Verbosity!='Terse' and *[1][self::m:mi[contains('ABCDEFGHIJKLMNOPQRSTUVWXYZ', text())]]"
then: [t: "заглавной"]
then: [T: "заглавной"]
- test:
if: "not(IsNode(*[1], 'leaf'))"
then: [pause: short]
Expand All @@ -39,10 +39,10 @@
tag: curl
match: "count(*) = 1"
replace:
- t: "ротор" # phrase(the 'curl of' a field)
- T: "ротор" # phrase(the 'curl of' a field)
- test:
if: "$Verbosity!='Terse' and *[1][self::m:mi[contains('ABCDEFGHIJKLMNOPQRSTUVWXYZ', text())]]"
then: [t: "заглавной"]
then: [T: "заглавной"]
- test:
if: "not(IsNode(*[1], 'leaf'))"
then: [pause: short]
Expand All @@ -57,11 +57,11 @@
replace:
- test:
if: "$Verbosity!='Terse'"
then: [t: "градиент"] # phrase(the hill has a 'gradient of' five percent)
else: [t: "набла"] # phrase(the delete key is labeled 'del')
then: [T: "градиент"] # phrase(the hill has a 'gradient of' five percent)
else: [T: "набла"] # phrase(the delete key is labeled 'del')
- test:
if: "$Verbosity!='Terse' and *[1][self::m:mi[contains('ABCDEFGHIJKLMNOPQRSTUVWXYZ', text())]]"
then: [t: "заглавной"]
then: [T: "заглавной"]
- test:
if: "not(IsNode(*[1], 'leaf'))"
then: [pause: short]
Expand Down
9 changes: 9 additions & 0 deletions Rules/Languages/ru/SharedRules/default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -680,6 +680,15 @@
- x: "*[2]"
- pause: short

- name: power-indexed-by
tag: power-indexed-by
match: "."
replace:
- x: "*[1]"
- T: "нижний индекс"
- x: "*[2]"
- pause: short

# otherwise let definitions/default infix handle it

- name: literal
Expand Down
29 changes: 29 additions & 0 deletions Rules/Languages/ru/SharedRules/general.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,15 @@
- pause: short


# in terse mode, we just say "m" or "s", etc., not meters or seconds
- name: unit-terse
tag: unit
# audit-ignore: spell text() is an operation, not untranslated speech text.
match: "$Verbosity = 'Terse' and string-length(.)=1"
replace:
- bookmark: "@id"
- spell: "text()"

# the order of matching is
# 1. does it match the base of an SI unit
# 2. does it match an English unit (if in an English language)
Expand Down Expand Up @@ -421,6 +430,26 @@
then: [x: "concat('\uF8FE', DefinitionValue($Word, 'Speech', 'PluralForms'))"]
else: [x: "concat('\uF8FE', $Word)", ct: "с"]

# need to reverse the order of speech: $ 3 -> 3 dollars
- name: currency
tag: mrow
# audit-ignore: parity placeholder; ru definitions.yaml does not define
# CurrencySymbols yet, so enabling this would change runtime behavior.
match: "false()"
variables:
# If the amount is singular, we don't add the plural ending.
- IsSingular: "*[3][self::m:mn and .=1] and *[2]='\u2062'"
- CurrencyWord: "DefinitionValue(*[1], 'Speech', 'CurrencySymbols')"
replace:
- bookmark: "*[3]/@id"
- x: "*[3]"
- test:
- if: "$IsSingular"
then: [x: "$CurrencyWord"]
- else_if: "DefinitionValue($CurrencyWord, 'Speech', 'PluralForms') != ''"
then: [x: "DefinitionValue($CurrencyWord, 'Speech', 'PluralForms')"]
else: [x: "DefinitionValue(*[1], 'Speech', 'CurrencySymbols')"]

- name: sin
tag: mi
match: ".='sin'"
Expand Down
42 changes: 21 additions & 21 deletions Rules/Languages/ru/SharedRules/geometry.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@
- test:
if: "$Verbosity='Verbose'"
then:
- t: "линейный сегмент от" # phrase('the line segment from' A to B)
- T: "линейный сегмент от" # phrase('the line segment from' A to B)
- x: "*[1]"
- t: "до" # phrase(the line segment from A 'to' B)
- T: "до" # phrase(the line segment from A 'to' B)
- x: "*[2]"
else:
- t: "отрезок" # phrase(the 'line segment' A B)
- T: "отрезок" # phrase(the 'line segment' A B)
- x: "translate(*[1], 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"
- t: "большое"
- T: "большое"
- x: "translate(*[2], 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"
- t: "большое"
- T: "большое"

- name: geometry-ray
tag: ray
Expand All @@ -25,29 +25,29 @@
- test:
if: "$Verbosity='Verbose'"
then:
- t: "луч от " # phrase('the ray from' A to B)
- T: "луч от " # phrase('the ray from' A to B)
- x: "*[1]"
- t: "до" # phrase(the ray from A 'to' B)
- T: "до" # phrase(the ray from A 'to' B)
- x: "*[2]"
else:
- t: "луч" # phrase(the 'ray'A B)
- T: "луч" # phrase(the 'ray'A B)
- x: "translate(*[1], 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"
- t: "большое"
- T: "большое"
- x: "translate(*[2], 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"
- t: "большое"
- T: "большое"

- name: geometry-arc
tag: arc
match: "count(*)=2"
replace:
- test:
if: "$Verbosity='Verbose'"
then: [t: "а"] # phrase('the' arc A B C)
- t: "дуга" # phrase(the 'arc' A B C)
then: [T: "а"] # phrase('the' arc A B C)
- T: "дуга" # phrase(the 'arc' A B C)
- x: "translate(*[1], 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"
- t: "большое"
- T: "большое"
- x: "translate(*[2], 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"
- t: "большое"
- T: "большое"

- name: measure-of-angle
tag: measure-of-angle
Expand All @@ -56,9 +56,9 @@
- test:
if: "$Verbosity='Verbose'"
then:
- t: "мера угла" # phrase('the measure of the angle' ABC)
- T: "мера угла" # phrase('the measure of the angle' ABC)
else:
- t: "мера угла" # phrase('measure of angle' ABC)
- T: "мера угла" # phrase('measure of angle' ABC)
- x: "*[1]"
- x: "*[2]"
- x: "*[3]"
Expand All @@ -70,16 +70,16 @@
replace:
- test:
if: "$Verbosity='Verbose'"
then: [t: "а"] # phrase('the' point at 1, 2)
- t: "точка" # phrase(the 'point' at 1, 2)
then: [T: "а"] # phrase('the' point at 1, 2)
- T: "точка" # phrase(the 'point' at 1, 2)
- test:
if: "$Verbosity='Verbose'"
then: [t: "в"] # phrase('the' point at 1, 2)
then: [T: "в"] # phrase('the' point at 1, 2)
- pause: short
- insert:
nodes: "*"
replace: [t: "запятая", pause: auto] # phrase(f of x 'comma' y)
replace: [T: "запятая", pause: auto] # phrase(f of x 'comma' y)
- pause: short
- test:
if: "($SpeechStyle='ClearSpeak' and $Verbosity='Verbose') or not(IsNode(*[last()],'leaf'))"
then: [t: "конечная точка"] # phrase(start point, 'end point')
then: [T: "конечная точка"] # phrase(start point, 'end point')
14 changes: 7 additions & 7 deletions Rules/Languages/ru/SharedRules/linear-algebra.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@
- test:
if: "$Verbosity='Verbose'"
then:
- t: "а" # phrase('the' square root of 25 equals 5)
- t: "определяющий" # phrase(the 'determinant' of a matrix)
- T: "а" # phrase('the' square root of 25 equals 5)
- T: "определяющий" # phrase(the 'determinant' of a matrix)
- test:
if: "$Verbosity!='Terse'"
then:
- t: "из" # phrase(systems 'of' linear equations)
- T: "из" # phrase(systems 'of' linear equations)
- x: "*[1]"
- test:
if: "not(IsNode(*[1], 'simple')) and $Impairment = 'Blindness'"
then: [t: "конец определителя"] # phrase('end determinant' of a matrix)
then: [T: "конец определителя"] # phrase('end determinant' of a matrix)


- name: subscripted-norm
Expand All @@ -26,11 +26,11 @@
- test:
if: "$Verbosity='Verbose'"
then:
- t: "а" # phrase('the' square root of 25 equals 5)
- T: "а" # phrase('the' square root of 25 equals 5)
- x: "*[2]"
- t: "норма" # phrase(the 'norm' can be a measure of distance)
- T: "норма" # phrase(the 'norm' can be a measure of distance)
- test:
if: "$Verbosity!='Terse'"
then:
- t: "из" # phrase(systems 'of' linear equations)
- T: "из" # phrase(systems 'of' linear equations)
- x: "*[1]"
Loading
Loading