diff --git a/Rules/Languages/hu/SharedRules/default.yaml b/Rules/Languages/hu/SharedRules/default.yaml
index 89aae5c0..b218667d 100644
--- a/Rules/Languages/hu/SharedRules/default.yaml
+++ b/Rules/Languages/hu/SharedRules/default.yaml
@@ -62,7 +62,7 @@
- test:
- if: "string-length(.) = 1 and text() != '_'" # need unicode.tdl to kick in for single letter tokens
then: [x: "text()"]
- - else_if: "@data-chem-element or @data-roman-numeral" # NavMode=Character needs this
+ - else_if: "@data-chem-element > 0 or @data-roman-numeral" # NavMode=Character needs this
then: [SPELL: "text()", pause: "short"]
else: [x: "translate(., '-_\u00A0', ' ')"] # from intent literals or from extra spaces added (which get deleted)
@@ -237,12 +237,26 @@
- x: "*[2]"
- T: "alatt" # phrase(x with z 'below' it)
+# FIX: this only works for up to four dots (which is realistically all we need)
+- name: dot-over
+ tag: modified-variable
+ match: "*[1][self::m:mi] and (*[2][translate(., '.', '')=''])"
+ replace:
+ - x: "*[1]"
+ - x: "IfThenElse(string-length(*[2])=1, 'pont',
+ IfThenElse(string-length(*[2])=2, 'pont pont',
+ IfThenElse(string-length(*[2])=3, 'pont pont pont', 'pont pont pont pont')
+ ))"
+ - pause: short
+
+# FIX: the 'translate' list is a little different from 'modified-variable', so we also include 'mover' (unify?)
- name: diacriticals
- tag: mover
+ tag: [mover, modified-variable]
match: "*[1][self::m:mi] and *[2][translate(., '\u0306\u030c.\u00A8\u02D9\u20DB\u20DC`^ˇ~→¯_', '')='']"
replace:
- x: "*[1]"
- x: "*[2]"
+ - pause: short
- name: default
tag: mover
diff --git a/Rules/Languages/hu/SharedRules/general.yaml b/Rules/Languages/hu/SharedRules/general.yaml
index a5363878..0637bf6e 100644
--- a/Rules/Languages/hu/SharedRules/general.yaml
+++ b/Rules/Languages/hu/SharedRules/general.yaml
@@ -469,15 +469,17 @@
-
name: log # handle both log and ln (if in an mrow, 'intents' are used)
tag: mi
- match: ".='log' or .='ln'"
+ match: ".='log' or .='Log' or .='ln'"
replace:
- bookmark: "@id"
- test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # phrase('the' logarithm function is used in mathematics)
+ then: [OT: ""] # phrase('the' logarithm function is used in mathematics)
- test:
- if: ".= 'log'"
then: [T: "logaritmus"] # phrase(the 'log' function is used in mathematics)
+ - else_if: ".= 'Log'"
+ then: [T: "logaritmus főértéke"]
- else_if: "$Verbosity='Terse'"
then: [SPELL: "'ln'"]
else: [T: "természetes alapú logaritmus"] # phrase(the 'natural log' function is used in mathematics)
diff --git a/Rules/Languages/hu/unicode-full.yaml b/Rules/Languages/hu/unicode-full.yaml
index c45035bf..1d9d940a 100644
--- a/Rules/Languages/hu/unicode-full.yaml
+++ b/Rules/Languages/hu/unicode-full.yaml
@@ -1,6 +1,5 @@
---
-
- "¢": [T: "centiméter"] # 0xa2 (en: 'cents', DeepL translation)
- "£": [T: "font"] # 0xa3 (en: 'pounds', DeepL translation)
- "¤": [T: "valuta jel"] # 0xa4 (en: 'currency sign', DeepL translation)
diff --git a/Rules/Languages/hu/unicode.yaml b/Rules/Languages/hu/unicode.yaml
index b184a627..3d8bcdfa 100644
--- a/Rules/Languages/hu/unicode.yaml
+++ b/Rules/Languages/hu/unicode.yaml
@@ -1,575 +1,547 @@
----
- - "a":
- - test:
- if: "$TTS='none'"
- then: [T: "a"] # long "a" sound in all speech engines I tested (espeak, MS SAPI, eloquence,
- else: [SPELL: "'a'"] # AWS Polly, ReadSpeaker, NaturalReader, google cloud, nuance, ibm watson)
- - "b-z":
- - test:
- if: "$TTS='none'"
- then: [T: "."]
- else: [SPELL: "'.'"]
- # Note to translators:
- # most languages don't have two ways to pronounce 'a' -- if not need, remove the rules and change "B-Z" to "A-Z"
- # some languages say the word for "uppercase" after the letter. Make sure to change that where appropriate by moving some code around
- # Capital letters are a little tricky: users can pick their favorite word (something that was requested) and
- # screen readers have options to use pitch changes or beeps instead of or in addition to say "cap"
- # Also, if a user can see the screen, they probably don't need to hear "cap", but if they specified an override, they must want to hear the override.
- # Some languages say the word for "uppercase" after the letter. Make sure to change that where appropriate by moving some code around
- - "A":
- - test:
- if: "$CapitalLetters_Beep"
- then:
- - audio:
- value: "beep.mp4"
- replace: []
- - test:
- if: "$CapitalLetters_UseWord"
- then_test:
- if: "$SpeechOverrides_CapitalLetters = ''"
- then_test:
- if: "$Impairment = 'Blindness'"
- then: [T: "nagy"]
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace:
- - test:
- if: "$TTS='none'"
- then: [T: "a"]
- else: [SPELL: "'a'"]
-
- - "B-Z":
- - test:
- if: "$CapitalLetters_Beep"
- then:
- - audio:
- value: "beep.mp4"
- replace: []
- - test:
- if: "$CapitalLetters_UseWord"
- then_test:
- if: "$SpeechOverrides_CapitalLetters = ''"
- then_test:
- if: "$Impairment = 'Blindness'"
- then: [T: "nagy"]
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
- replace: [SPELL: "translate('.', 'BCDEFGHIJKLMNOPQRSTUVWXYZ', 'bcdefghijklmnopqrstuvwxyz')"]
-
- - "0-9": [T: "."] # (en: '.', DeepL translation)
-
- - " ": [T: " "] # 0x20 (DeepL translation)
-
- - "!": # 0x21
- - test:
- if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
- then_test:
- if: "$Verbosity = 'Terse'"
- then: [T: "felkiáltójel"] # 0x21 (DeepL translation)
- else: [T: "felkiáltójel"] # 0x21 (en: 'exclamation point', DeepL translation)
- else: [T: "faktoriális"] # 0x21 (en: 'factorial', DeepL translation)
-
- - "\"": [T: "idézőjel"] # 0x22 (en: 'quotation mark', DeepL translation)
- - "#": [T: "kettőskereszt"] # 0x23 (DeepL translation)
- - "$": [T: "dollár"] # 0x24 (en: 'dollars', DeepL translation)
- - "%": [T: "százalék"] # 0x25 (en: 'percent', DeepL translation)
- - "&": [T: "zárójel"] # 0x26 (en: 'ampersand', DeepL translation)
- - "'": [T: "aposztróf"] # 0x27 (en: 'apostrophe', DeepL translation)
- - "(": # 0x28
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then_test:
- if: "$Verbosity='Terse'"
- then: [T: "nyitott zárójel"] # 0x28 (DeepL translation)
- else: [T: "nyitott zárójel"] # 0x28 (en: 'open paren', DeepL translation)
- else: [T: "bal zárójel"] # 0x28 (en: 'left paren', DeepL translation)
- - ")": # 0x29
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then_test:
- if: "$Verbosity='Terse'"
- then: [T: "zárt zárójel"] # 0x29 (en: 'close', DeepL translation)
- else: [T: "zárt zárójel"] # 0x29 (en: 'close paren', DeepL translation)
- else: [T: "jobb zárójel"] # 0x29 (en: 'right paren', DeepL translation)
-
- - "*": # 0x2a
- test:
- if: "parent::*[name(.)='msup' or name(.)='msubsup' or name(.)='skip-super']"
- then: [T: "csillag"] # 0x2a (en: 'star', DeepL translation)
- else: [T: "szorozva"] # 0x2a (DeepL translation)
- - "+": [T: "plusz"] # 0x2b (en: 'plus', DeepL translation)
- - ",": # 0x2c
- # the following deals with the interaction of "," with "…" which sometimes wants the ',' to be silent
- # that this test is here and not with "…" is not ideal, but seems simplest
- test:
- if:
- - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or "
- # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
- # speak "comma" when not adjacent to '…'
- - "( following-sibling::*[1][text()!= '…'] and preceding-sibling::*[1][text()!='…'] ) or "
- # except if expression starts with '…'
- - "../*[1][.='…'] "
- then:
- - T: "vessző" # (en: 'comma', google translation)
- - test:
- if: "$Verbosity != Terse"
- then: [pause: short]
- # else silent
-
- - "-": [T: "mínusz"] # 0x2d (en: 'minus', DeepL translation)
- - ".": # 0x2e
- - test:
- if: "parent::*[1][self::m:mn]"
- then: [T: "pont"] # (en: 'point', DeepL translation)
- else: [T: "pont"] # (en: 'dot', DeepL translation)
- - "/": # 0x2f
- - test:
- if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
- then: [T: "per"] # 0x2f (DeepL translation)
- else: [T: "osztva"] # 0x2f (en: 'divided by', DeepL translation)
-
- - ":": [T: "kettőspont"] # 0x3a (en: 'colon', DeepL translation)
- - ";": [T: "pontosvessző"] # 0x3b (en: 'semicolon', DeepL translation)
- - "<": # 0x3c
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', DeepL translation)
- - T: "kisebb, mint" # (en: 'less than', DeepL translation)
- - "=": # 0x3d
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "egyenlő"] # (en: 'is equal to', DeepL translation)
- else: [T: "egyenlő"] # (en: 'equals', DeepL translation)
-
- - ">": # 0x3e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', DeepL translation)
- - T: "nagyobb, mint" # (en: 'greater than', DeepL translation)
- - "?": [T: "kérdőjel"] # 0x3f (en: 'question mark', DeepL translation)
- - "@": [T: "kukac"] # 0x40 (en: 'at sign', DeepL translation)
- - "[": # 0x5b
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "nyitott zárójel"] # (en: 'open bracket', DeepL translation)
- else: [T: "bal oldali zárójel"] # (en: 'left bracket', DeepL translation)
- - "\\": [T: "bexles"] # 0x5c (en: 'back slash', DeepL translation)
- - "]": # 0x5d
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "zárójel"] # (en: 'close bracket', DeepL translation)
- else: [T: "jobb oldali zárójel"] # (en: 'right bracket', DeepL translation)
- - "^": # 0x5e
- - test:
- if: "parent::m:modified-variable or parent::m:mover"
- then: [T: "kalap"] # (en: 'hat', DeepL translation)
- else: [T: "fölfelényíl"] # (DeepL translation)
- - "_": [T: "aláhúzás"] # 0x5f (en: 'under bar', DeepL translation)
- - "`": [T: "súlyozott"] # 0x60 (en: 'grave', DeepL translation)
- - "{": # 0x7b
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "nyitott zárójel"] # (en: 'open brace', DeepL translation)
- else: [T: "bal oldali zárójel"] # (en: 'left brace', DeepL translation)
- - "|": # 0x7c
- # note: for ClearSpeak and SimpleSpeak, "|" inside of sets is handled at the mrow level, same for 'sets'
- - with:
- variables: [DefaultToGiven: "count(preceding-sibling::*)=1 and count(following-sibling::*)=1 and ../../../*[1][.='P']"] # P(A|B)
- replace:
- - test:
- - if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
- then: [T: "függőleges vonal"] # (en: 'vertical line', DeepL translation)
- - else_if: "$SpeechStyle != 'ClearSpeak'"
- then_test:
- - if: "$DefaultToGiven"
- then: [T: "adott"] # (en: 'given', DeepL translation)
- - else_if: "preceding-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))] and
- following-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))]"
- then: [T: "osztja"] # (en: 'divides', DeepL translation)
- else: [T: "függőleges vonal"] # (en: 'vertical line', DeepL translation)
- - else_if: "not(preceding-sibling::*) or not(following-sibling::*)"
- then: [T: "függőleges vonal"] # (en: 'vertical line', DeepL translation)
- - else_if: "$ClearSpeak_VerticalLine = 'SuchThat'"
- then: [T: "olyan, hogy"] # (en: 'such that', DeepL translation)
- - else_if: "$ClearSpeak_VerticalLine = 'Given' or $DefaultToGiven"
- then: [T: "adott"] # (en: 'given', DeepL translation)
- - else: [T: "osztja"] # (en: 'divides', DeepL translation)
-
- - "}": # 0x7d
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "zárt zárójel"] # (en: 'close brace', DeepL translation)
- else: [T: "jobb oldali zárójel"] # (en: 'right brace', DeepL translation)
-
- - "~": [T: "tilde"] # 0x7e (DeepL translation)
- - " ": # 0xa0
- - test:
- # could be mtext in mtd or mtext in an mrow that is a concatenation of mtd's. Is there a better solution?
- if: "@data-empty-in-2D and not(ancestor::*[self::m:piecewise or self::m:system-of-equations or self::m:lines])"
- then: [T: "üres"] # want to say something for fraction (etc) with empty child (en: 'empty', DeepL translation)
- else: [T: ""]
-
- - "¬": [T: "logikai nem"] # 0xac (en: 'not', DeepL translation)
- - "°": [T: "fok"] # 0xb0 (en: 'degrees', DeepL translation)
- - "±": [T: "plusz vagy mínusz"] # 0xb1 (en: 'plus or minus', DeepL translation)
- - "´": [T: "éles ékezet"] # 0xb4 (en: 'acute', DeepL translation)
- - "·": # 0xB7
- - test:
- if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')] or not($SpeechStyle = 'ClearSpeak' and $ClearSpeak_MultSymbolDot = 'Auto')"
- then: [T: "pont"] # (en: 'dot', DeepL translation)
- else: [T: "szorozva"] # (DeepL translation)
- - "×": # 0xd7
- - test:
- if: "$SpeechStyle = 'ClearSpeak'"
- then_test:
- - if: "$ClearSpeak_MultSymbolX = 'Auto'"
- then: [T: "szorozva"] # (DeepL translation)
- - else_if: "$ClearSpeak_MultSymbolX = 'By'"
- then: [T: "szorozva"] # (DeepL translation)
- else: [T: "kereszt"] # (en: 'cross', DeepL translation)
- else_test:
- if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
- then: [T: "kereszt"] # (en: 'cross', DeepL translation)
- else: [T: "szorozva"] # (DeepL translation)
-
- - "÷": [T: "osztva"] # 0xf7 (en: 'divided by', DeepL translation)
- - "̀": [T: "súlyos ékezet díszítés"] # 0x300 (en: 'grave accent embellishment', DeepL translation)
- - "́": [T: "akut ékezet díszítés"] # 0x301 (en: 'acute accent embellishment', DeepL translation)
- - "̂": [T: "cirkumflex ékezet díszítés"] # 0x302 (en: 'circumflex accent embellishment', DeepL translation)
- - "̃": [T: "tilde"] # 0x303 (en: 'tilde embellishment', DeepL translation)
- - "̄": [T: "makron"] # 0x304 (en: 'macron embellishment', DeepL translation)
- - "̅": [T: "túlszárnyaló díszítés"] # 0x305 (en: 'overbar embellishment', DeepL translation)
- - "̆": [T: "rövid"] # 0x306 (DeepL translation)
- - "̇": [T: "pont a díszítés felett"] # 0x307 (en: 'dot above embellishment', DeepL translation)
-
- # Note: ClearSpeak has pref TriangleSymbol for "Δ", but that is wrong
- - "Α-Ω":
- - test:
- if: "$CapitalLetters_Beep"
- then:
- - audio:
- value: "beep.mp4"
- replace: []
- - test:
- if: "$CapitalLetters_UseWord"
- then_test:
- if: "$SpeechOverrides_CapitalLetters = ''"
- then_test:
- if: "$Impairment = 'Blindness'"
- then: [T: "nagy"] # (en: 'cap', DeepL translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
- replace: [SPELL: "translate('.', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ', 'αβγδεζηθικλμνξοπρςστυφχψω')"]
-
- - "α": [T: "alfa"] # 0x3b1 (en: 'alpha', DeepL translation)
- - "β": [T: "béta"] # 0x3b2 (en: 'beta', DeepL translation)
- - "γ": [T: "gamma"] # 0x3b3 (DeepL translation)
- - "δ": [T: "delta"] # 0x3b4 (DeepL translation)
- - "ε": [T: "epszilon"] # 0x3b5 (DeepL translation)
- - "ζ": [T: "zéta"] # 0x3b6 (en: 'zeta', DeepL translation)
- - "η": [T: "éta"] # 0x3b7 (DeepL translation)
- - "θ": [T: "théta"] # 0x3b8 (en: 'theta', DeepL translation)
- - "ι": [T: "ióta"] # 0x3b9 (DeepL translation)
- - "κ": [T: "kappa"] # 0x3ba (DeepL translation)
- - "λ": [T: "lambda"] # 0x3bb (DeepL translation)
- - "μ": [T: "mű"] # 0x3bc (DeepL translation)
- - "ν": [T: "nű"] # 0x3bd (DeepL translation)
- - "ξ": [T: "kszí"] # 0x3be (DeepL translation)
- - "ο": [T: "omikron"] # 0x3bf (en: 'omicron', DeepL translation)
- - "π": [T: "pí"] # 0x3c0 (DeepL translation)
- - "ρ": [T: "ró"] # 0x3c1 (DeepL translation)
- - "ς": [T: "szóvégi szigma"] # 0x3c2 (en: 'final sigma', DeepL translation)
- - "σ": [T: "szigma"] # 0x3c3 (DeepL translation)
- - "τ": [T: "tau"] # 0x3c4 (DeepL translation)
- - "υ": [T: "üpszilon"] # 0x3c5 (DeepL translation)
- - "φ": [T: "fí"] # 0x3c6 (DeepL translation)
- - "χ": [T: "khí"] # 0x3c7 (DeepL translation)
- - "ψ": [T: "pszí"] # 0x3c8 (DeepL translation)
- - "ω": [T: "omega"] # 0x3c9 (DeepL translation)
- - "ϕ": [T: "phi"] # 0x3d5 (DeepL translation)
- - "ϖ": [T: "pí"] # 0x3d6 (DeepL translation)
- - "ϵ": [T: "holdkóros epszilon"] # 0x3f5 (DeepL translation)
- - "϶": [T: "félhold alakú tükrözött görög epszilon"] # 0x3f6 (en: 'reversed epsilon', DeepL translation)
-
- - "–": [T: "en kötőjel"] # 0x2013 (en: 'en dash', DeepL translation)
- - "—": [T: "em kötőjel"] # 0x2014 (en: 'em dash', DeepL translation)
- - "―": [T: "vízszintes sáv"] # 0x2015 (en: 'horizontal bar', DeepL translation)
- - "‖": [T: "dupla függőleges vonal"] # 0x2016 (en: 'double vertical line', DeepL translation)
- - "…": # 0x2026
- test:
- if:
- - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or"
- # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
- # speak '…' as 'and so on...' unless expr starts with '…'
- - "../*[1][.='…']"
- then: [T: "pont pont pont"] # (en: 'dot dot dot', DeepL translation)
- else_test: # must have $ClearSpeak_Ellipses = 'AndSoOn'
- if: "count(following-sibling::*) = 0"
- then: [T: "és így tovább"] # (en: 'and so on', DeepL translation)
- else: [T: "és így tovább egészen az alábbi értékig:"] # (en: 'and so on up to', DeepL translation)
-
- - "": # 0x2061
- - test:
- # skip saying "of" when Terse and a trig function, when it is a shape (does this happen?), or we are in :literal mode
- if: "not(
- ( $Verbosity='Terse' or ($SpeechStyle = 'ClearSpeak' and IsNode(following-sibling::*[1],'simple')) and
- preceding-sibling::*[1][IfThenElse($SpeechStyle='ClearSpeak',
- IsInDefinition(., 'ClearSpeakTrigFunctionNames'),
- IsInDefinition(., 'TrigFunctionNames') )]
- ) or
- preceding-sibling::*[1][IsInDefinition(., 'GeometryShapes')] or
- (@data-changed='added' and ancestor-or-self::*[contains(@data-intent-property, ':literal:')])
- )"
- then: [T: ""] # (DeepL translation)
- - "": [T: ""] # 0x2062
- - "": [T: "láthatatlan elválasztó"] # 0x2063
- - "": [T: "és"] # 0x2064 (en: 'and', DeepL translation)
- - "′": [T: "prím"] # 0x2032 (en: 'prime', DeepL translation)
- - "″": [T: "dupla prím"] # 0x2033 (en: 'double prime', DeepL translation)
- - "‴": [T: "hármas prím"] # 0x2034 (en: 'triple prime', DeepL translation)
-
- - "ℂℕℚℝℤ": # here we rely on this running through the table again to speak "cap xxx"
- - T: "duplán leütött" # (en: 'double-struck', DeepL translation)
- - SPELL: "translate('.', 'ℂℕℚℝℤ', 'CNQRZ')"
-
- - "℃": [T: "celsius fok"] # 0x2103 (en: 'degrees celsius', DeepL translation)
- - "℉": [T: "fahrenheit fok"] # 0x2109 (en: 'degrees fahrenheit', DeepL translation)
- - "ℋℛℓ": # 0x210b
- - T: "alsó index" # (DeepL translation)
- - SPELL: "translate('.', 'ℋℛℓ', 'HRl')"
- - "ℎ": [T: "planck-állandó"] # 0x210e (en: 'planck constant', DeepL translation)
- - "ℜ": # 0x211c
- - T: "fraktur" # (DeepL translation)
- - SPELL: "'R'"
-
- - "Ω": [T: "ohm"] # 0x2126 (en: 'ohms', DeepL translation)
- - "K": [T: "kelvin"] # 0x212a (DeepL translation)
- - "Å": [T: "angström"] # 0x212b (en: 'angstroms', DeepL translation)
- - "ⅆⅇⅈⅉ": # 0x2146-9
- - T: "duplán dőlt betűs" # (en: 'double-struck italic', DeepL translation)
- - SPELL: "translate('.', 'ⅆⅇⅈⅉ', 'deij')"
-
- - "←": [T: "balra nyíl"] # 0x2190 (en: 'left arrow', DeepL translation)
- - "↑": [T: "felfelé nyíl"] # 0x2191 (en: 'up arrow', DeepL translation)
- - "→": # 0x2192
- - test:
- if: "ancestor::*[2][self::m:limit]"
- then: [T: "megközelítések"] # (en: 'approaches', DeepL translation)
- else: [T: "jobbra nyíl"] # (en: 'right arrow', DeepL translation)
-
- - "↓": [T: "lefelé nyíl"] # 0x2193 (en: 'down arrow', DeepL translation)
- - "⇒": [T: "dupla jobbranyíl"] # 0x21d2 (en: 'right double arrow', DeepL translation)
- - "∀": [T: "minden"] # 0x2200 (en: 'for all', DeepL translation)
- - "∂": # 0x2202
- - test:
- if: "$Verbosity='Terse'"
- then: [T: "részleges"] # (en: 'partial', DeepL translation)
- else: [T: "parciális derivált"] # (en: 'partial derivative', DeepL translation)
- - "∃": [T: "létezik"] # 0x2203 (en: 'there exists', DeepL translation)
- - "∄": [T: "nem létezik"] # 0x2204 (en: 'there does not exist', DeepL translation)
- - "∅": [T: "üres halmaz"] # 0x2205 (en: 'empty set', DeepL translation)
- - "∆": # 0x2206
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "a"] # (en: 'the', DeepL translation)
- - T: "növekménye" # (en: 'laplacian of', DeepL translation)
- - "∈": # 0x2208
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then:
- - test:
- if: "$Verbosity!='Terse' and not(ancestor::*[self::m:set])" # "the set x is an element of ..." sounds bad"
- then: [T: ""] # (en: 'is', DeepL translation)
- - T: "eleme ennek:" # (en: 'an element of', DeepL translation)
- # Several options for speaking elements in ClearSpeak -- they split between being inside a set or not and then the option
- else_test:
- if: "../../self::m:set or ../../../self::m:set" # inside a set
- then_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: ""] # (DeepL translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "tagja"] # (en: 'member of', DeepL translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "eleme ennek:"] # (en: 'element of', DeepL translation)
- - else: [T: "hozzátartozó eleme ennek:"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to', DeepL translation)
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "tagja az alábbi halmaznak:"] # (en: 'is a member of', DeepL translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "egy eleme ennek:"] # (en: 'is an element of', DeepL translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "benne van ebben:"] # (en: 'is in', DeepL translation)
- - else: [T: "ebbe a halmazba tartozik:"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to', DeepL translation)
- - "∉": # 0x2209
- # rule is identical to 0x2208
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then:
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', DeepL translation)
- - T: "nem eleme ennek:" # (en: 'not an element of', DeepL translation)
- # Several options for speaking elements in ClearSpeak -- they split between being inside a set or not and then the option
- else_test:
- if: "../../self::m:set or ../../../self::m:set" # inside a set
- then_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "nincs benne ebben:"] # (en: 'not in', DeepL translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "nem tagja az alábbi halmaznak:"] # (en: 'not member of', DeepL translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "nem eleme ennek:"] # (en: 'not element of', DeepL translation)
- - else: [T: "nem tartozik ebbe:"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'not belonging to', DeepL translation)
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "nem tagja az alábbi halmaznak:"] # (en: 'is not a member of', DeepL translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "nem eleme ennek:"] # (en: 'is not an element of', DeepL translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "nincs benne az alábbi halmazban:"] # (en: 'is not in', DeepL translation)
- - else: [T: "nem tartozik ebbe:"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'does not belong to', DeepL translation)
- - "∊": # 0x220a
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then:
- - test:
- if: "$Verbosity!='Terse' and not(ancestor::*[self::m:set])" # "the set x is an element of ..." sounds bad"
- then: [T: "van"] # (en: 'is', DeepL translation)
- - T: "egy eleme" # (en: 'an element of', DeepL translation)
- # Several options for speaking elements in ClearSpeak -- they split between being inside a set or not and then the option
- else_test:
- if: "../../self::m:set or ../../../self::m:set" # inside a set
- then_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: ""] # (DeepL translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "tagja ennek:"] # (en: 'member of', DeepL translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "kisbetűs eleme ennek:"] # (en: 'element of', DeepL translation)
- - else: [T: "hozzátartozó eleme ennek:"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to', DeepL translation)
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "nem tagja az alábbi halmaznak:"] # (en: 'is a member of', DeepL translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "egy eleme ennek:"] # (en: 'is an element of', DeepL translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "benne van ebben:"] # (en: 'is in', DeepL translation)
- - else: [T: "ebbe a halmazba tartozik:"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to', DeepL translation)
- - "∏": [T: "produktum"] # 0x220f (en: 'product', DeepL translation)
- - "∐": [T: "diszjunkt unió"] # 0x2210 (en: 'co-product', DeepL translation)
- - "∑": [T: "összeg"] # 0x2211 (DeepL translation)
- - "−": [T: "mínusz"] # 0x2212 (en: 'minus', DeepL translation)
- - "∓": [T: "mínusz vagy plusz"] # 0x2213 (en: 'minus or plus', DeepL translation)
- - "∗": [T: "csillag operátortimes"] # 0x2217 (DeepL translation)
- - "∘": [T: "gyűrű operátor"] # 0x2218 (en: 'composed with', DeepL translation)
- - "√": # 0x221a
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "a"] # (en: 'the', DeepL translation)
- - T: "négyzetgyöke" # (en: 'square root of', DeepL translation)
- - "∝": # 0x221d
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', DeepL translation)
- - T: "arányos" # (en: 'proportional to', DeepL translation)
- - "∞": [T: "végtelen"] # 0x221e (en: 'infinity', DeepL translation)
- - "∟": [T: "derékszög"] # 0x221f (en: 'right angle', DeepL translation)
- - "∠": [T: "szög"] # 0x2220 (en: 'angle', DeepL translation)
- - "∡": [T: "mért szög"] # 0x2221 (en: 'measured angle', DeepL translation)
- - "∣": [T: "osztója"] # 0x2223 (en: 'divides', DeepL translation)
- - "∤": [T: "nem osztója"] # 0x2224 (en: 'does not divide', DeepL translation)
- - "∥": # 0x2225
- - test:
- if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
- then: [T: "dupla függőleges vonal"] # (en: 'double vertical line', DeepL translation)
- else:
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "van"] # (en: 'is', DeepL translation)
- - T: "párhuzamos" # (en: 'parallel to', DeepL translation)
- - "∦": # 0x2226
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "van"] # (en: 'is', DeepL translation)
- - T: "nem párhuzamos" # (en: 'not parallel to', DeepL translation)
- - "∧": [T: "logikai és"] # 0x2227 (en: 'and', DeepL translation)
- - "∨": [T: "logikai vagy"] # 0x2228 (en: 'or', DeepL translation)
- - "∩": [T: "metszéspont"] # 0x2229 (en: 'intersection', DeepL translation)
- - "∪": [T: "unió"] # 0x222a (en: 'union', DeepL translation)
- - "∫": [T: "integrál"] # 0x222b (en: 'integral', DeepL translation)
- - "∬": [T: "kettős integrál"] # 0x222c (en: 'double integral', DeepL translation)
- - "∭": [T: "hármas integrál"] # 0x222d (en: 'triple integral', DeepL translation)
- - "∮": [T: "kontúr integrál"] # 0x222e (en: 'contour integral', DeepL translation)
- - "∶": # 0x2236
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "van"] # (en: 'is', DeepL translation)
- - T: "hogy" # (DeepL translation)
- - "∷": [T: "arány"] # 0x2237 (DeepL translation)
- - "∼": [T: "változik"] # 0x223c (en: 'varies with', DeepL translation)
- - "∽": [T: "fordított tilde"] # 0x223d (en: 'reversed tilde', DeepL translation)
- - "∾": # 0x223e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "van"] # (en: 'is', DeepL translation)
- - T: "legpozitívabb" # (en: 'most positive', DeepL translation)
- - "∿": [T: "szinuszhullám"] # 0x223f (en: 'sine wave', DeepL translation)
- - "≠": # 0x2260
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "van"] # (en: 'is', DeepL translation)
- - T: "nem egyenlő" # (en: 'not equal to', DeepL translation)
- - "≡": # 0x2261
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "van"] # (en: 'is', DeepL translation)
- - T: "azonos" # (en: 'identical to', DeepL translation)
- - "≤": # 0x2264
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', DeepL translation)
- - T: "kisebb vagy egyenlő" # (en: 'less than or equal to', DeepL translation)
- - "≥": # 0x2265
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', DeepL translation)
- - T: "nagyobb vagy egyenlő" # (en: 'greater than or equal to', DeepL translation)
- - "≦": [T: "kisebb, mint egyenlő"] # 0x2266 (en: 'less than over equal to', DeepL translation)
- - "≧": [T: "nagyobb, mint az egyenlő"] # 0x2267 (en: 'greater than over equal to', DeepL translation)
- - "≺": [T: "megelőzi"] # 0x227a (en: 'precedes', DeepL translation)
- - "≻": [T: "követi"] # 0x227b (en: 'succeeds', DeepL translation)
- - "⊂": # 0x2282
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "egy"] # (DeepL translation)
- - T: "részhalmaza" # (en: 'subset of', DeepL translation)
- - "⊃": # 0x2283
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "egy"] # (DeepL translation)
- - T: "szuperhalmaza ennek:" # (en: 'superset of', DeepL translation)
- - "⊄": # 0x2284
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "egy"] # (en: 'is', DeepL translation)
- - T: "nem részhalmaza ennek:" # (en: 'not a subset of', DeepL translation)
- - "⊅": # 0x2285
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "egy"] # (en: 'is', DeepL translation)
- - T: "nem szuperhalmaza ennek:" # (DeepL translation)
- - "⊆": # 0x2286
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "egy"] # (DeepL translation)
- - T: "részhalmaza vagy egyenlő" # (en: 'subset of or equal to', DeepL translation)
- - "⊇": # 0x2287
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "egy"] # (DeepL translation)
- - T: "szuperhalmaza vagy egyenlő" # (en: 'superset of or equal to', DeepL translation)
+---
+ - "a-z":
+ - test:
+ if: "$TTS='none'"
+ then: [T: "."]
+ else: [SPELL: "'.'"]
+ # Note to translators:
+ # most languages don't have two ways to pronounce 'a' -- if not need, remove the rules and change "B-Z" to "A-Z"
+ # some languages say the word for "uppercase" after the letter. Make sure to change that where appropriate by moving some code around
+ # Capital letters are a little tricky: users can pick their favorite word (something that was requested) and
+ # screen readers have options to use pitch changes or beeps instead of or in addition to say "cap"
+ # Also, if a user can see the screen, they probably don't need to hear "cap", but if they specified an override, they must want to hear the override.
+ # Some languages say the word for "uppercase" after the letter. Make sure to change that where appropriate by moving some code around
+ - "AB-Z":
+ - test:
+ if: "$CapitalLetters_Beep"
+ then:
+ - audio:
+ value: "beep.mp4"
+ replace: []
+ - test:
+ if: "$CapitalLetters_UseWord"
+ then_test:
+ if: "$SpeechOverrides_CapitalLetters = ''"
+ then_test:
+ if: "$Impairment = 'Blindness'"
+ then: [T: "nagy"]
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
+ replace: [SPELL: "translate('.', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"]
+
+ - "0-9": [T: "."] # (en: '.', DeepL translation)
+
+ - " ": [T: " "] # 0x20 (DeepL translation)
+
+ - "!": # 0x21
+ - test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
+ then_test:
+ if: "$Verbosity = 'Terse'"
+ then: [T: "felkiáltójel"] # 0x21 (DeepL translation)
+ else: [T: "felkiáltójel"] # 0x21 (en: 'exclamation point', DeepL translation)
+ else: [T: "faktoriális"] # 0x21 (en: 'factorial', DeepL translation)
+
+ - "\"": [T: "idézőjel"] # 0x22 (en: 'quotation mark', DeepL translation)
+ - "#": [T: "kettőskereszt"] # 0x23 (DeepL translation)
+ - "$": [T: "dollár"] # 0x24 (en: 'dollars', DeepL translation)
+ - "%": [T: "százalék"] # 0x25 (en: 'percent', DeepL translation)
+ - "&": [T: "zárójel"] # 0x26 (en: 'ampersand', DeepL translation)
+ - "'": [T: "aposztróf"] # 0x27 (en: 'apostrophe', DeepL translation)
+ - "(": # 0x28
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then_test:
+ if: "$Verbosity='Terse'"
+ then: [T: "nyitott zárójel"] # 0x28 (DeepL translation)
+ else: [T: "nyitott zárójel"] # 0x28 (en: 'open paren', DeepL translation)
+ else: [T: "bal zárójel"] # 0x28 (en: 'left paren', DeepL translation)
+ - ")": # 0x29
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then_test:
+ if: "$Verbosity='Terse'"
+ then: [T: "zárt zárójel"] # 0x29 (en: 'close', DeepL translation)
+ else: [T: "zárt zárójel"] # 0x29 (en: 'close paren', DeepL translation)
+ else: [T: "jobb zárójel"] # 0x29 (en: 'right paren', DeepL translation)
+
+ - "*": # 0x2a
+ test:
+ if: "parent::*[name(.)='msup' or name(.)='msubsup' or name(.)='skip-super']"
+ then: [T: "csillag"] # 0x2a (en: 'star', DeepL translation)
+ else: [T: "szorozva"] # 0x2a (DeepL translation)
+ - "+": [T: "plusz"] # 0x2b (en: 'plus', DeepL translation)
+ - ",": # 0x2c
+ # the following deals with the interaction of "," with "…" which sometimes wants the ',' to be silent
+ # that this test is here and not with "…" is not ideal, but seems simplest
+ test:
+ if:
+ - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or "
+ # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
+ # speak "comma" when not adjacent to '…'
+ - "( following-sibling::*[1][text()!= '…'] and preceding-sibling::*[1][text()!='…'] ) or "
+ # except if expression starts with '…'
+ - "../*[1][.='…'] "
+ then:
+ - T: "vessző" # (en: 'comma', google translation)
+ - test:
+ if: "$Verbosity != Terse"
+ then: [pause: short]
+ # else silent
+
+ - "-": [T: "mínusz"] # 0x2d (en: 'minus', DeepL translation)
+ - ".": # 0x2e
+ - test:
+ if: "parent::*[1][self::m:mn]"
+ then: [T: "pont"] # (en: 'point', DeepL translation)
+ else: [T: "pont"] # (en: 'dot', DeepL translation)
+ - "/": # 0x2f
+ - test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
+ then: [T: "per"] # 0x2f (DeepL translation)
+ else: [T: "osztva"] # 0x2f (en: 'divided by', DeepL translation)
+
+ - ":": [T: "kettőspont"] # 0x3a (en: 'colon', DeepL translation)
+ - ";": [T: "pontosvessző"] # 0x3b (en: 'semicolon', DeepL translation)
+ - "<": # 0x3c
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', DeepL translation)
+ - T: "kisebb, mint" # (en: 'less than', DeepL translation)
+ - "=": # 0x3d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "egyenlő"] # (en: 'is equal to', DeepL translation)
+ else: [T: "egyenlő"] # (en: 'equals', DeepL translation)
+
+ - ">": # 0x3e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', DeepL translation)
+ - T: "nagyobb, mint" # (en: 'greater than', DeepL translation)
+ - "?": [T: "kérdőjel"] # 0x3f (en: 'question mark', DeepL translation)
+ - "@": [T: "kukac"] # 0x40 (en: 'at sign', DeepL translation)
+ - "[": # 0x5b
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "nyitott zárójel"] # (en: 'open bracket', DeepL translation)
+ else: [T: "bal oldali zárójel"] # (en: 'left bracket', DeepL translation)
+ - "\\": [T: "bexles"] # 0x5c (en: 'back slash', DeepL translation)
+ - "]": # 0x5d
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "zárójel"] # (en: 'close bracket', DeepL translation)
+ else: [T: "jobb oldali zárójel"] # (en: 'right bracket', DeepL translation)
+ - "^": # 0x5e
+ - test:
+ if: "parent::m:modified-variable or parent::m:mover"
+ then: [T: "kalap"] # (en: 'hat', DeepL translation)
+ else: [T: "fölfelényíl"] # (DeepL translation)
+ - "_": [T: "aláhúzás"] # 0x5f (en: 'under bar', DeepL translation)
+ - "`": [T: "súlyozott"] # 0x60 (en: 'grave', DeepL translation)
+ - "{": # 0x7b
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "nyitott zárójel"] # (en: 'open brace', DeepL translation)
+ else: [T: "bal oldali zárójel"] # (en: 'left brace', DeepL translation)
+ - "|": # 0x7c
+ # note: for ClearSpeak and SimpleSpeak, "|" inside of sets is handled at the mrow level, same for 'sets'
+ - with:
+ variables: [DefaultToGiven: "count(preceding-sibling::*)=1 and count(following-sibling::*)=1 and ../../../*[1][.='P']"] # P(A|B)
+ replace:
+ - test:
+ - if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
+ then: [T: "függőleges vonal"] # (en: 'vertical line', DeepL translation)
+ - else_if: "$SpeechStyle != 'ClearSpeak'"
+ then_test:
+ - if: "$DefaultToGiven"
+ then: [T: "adott"] # (en: 'given', DeepL translation)
+ - else_if: "preceding-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))] and
+ following-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))]"
+ then: [T: "osztja"] # (en: 'divides', DeepL translation)
+ else: [T: "függőleges vonal"] # (en: 'vertical line', DeepL translation)
+ - else_if: "not(preceding-sibling::*) or not(following-sibling::*)"
+ then: [T: "függőleges vonal"] # (en: 'vertical line', DeepL translation)
+ - else_if: "$ClearSpeak_VerticalLine = 'SuchThat'"
+ then: [T: "olyan, hogy"] # (en: 'such that', DeepL translation)
+ - else_if: "$ClearSpeak_VerticalLine = 'Given' or $DefaultToGiven"
+ then: [T: "adott"] # (en: 'given', DeepL translation)
+ - else: [T: "osztja"] # (en: 'divides', DeepL translation)
+
+ - "}": # 0x7d
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "zárt zárójel"] # (en: 'close brace', DeepL translation)
+ else: [T: "jobb oldali zárójel"] # (en: 'right brace', DeepL translation)
+
+ - "~": [T: "tilde"] # 0x7e (DeepL translation)
+ - " ": # 0xa0
+ - test:
+ # could be mtext in mtd or mtext in an mrow that is a concatenation of mtd's. Is there a better solution?
+ if: "@data-empty-in-2D and not(ancestor::*[self::m:piecewise or self::m:system-of-equations or self::m:lines])"
+ then: [T: "üres"] # want to say something for fraction (etc) with empty child (en: 'empty', DeepL translation)
+ else: [T: ""]
+
+ - "¬": [T: "logikai nem"] # 0xac (en: 'not', DeepL translation)
+ - "°": [T: "fok"] # 0xb0 (en: 'degrees', DeepL translation)
+ - "±": [T: "plusz vagy mínusz"] # 0xb1 (en: 'plus or minus', DeepL translation)
+ - "´": [T: "éles ékezet"] # 0xb4 (en: 'acute', DeepL translation)
+ - "·": # 0xB7
+ - test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')] or not($SpeechStyle = 'ClearSpeak' and $ClearSpeak_MultSymbolDot = 'Auto')"
+ then: [T: "pont"] # (en: 'dot', DeepL translation)
+ else: [T: "szorozva"] # (DeepL translation)
+ - "×": # 0xd7
+ - test:
+ if: "$SpeechStyle = 'ClearSpeak'"
+ then_test:
+ - if: "$ClearSpeak_MultSymbolX = 'Auto'"
+ then: [T: "szorozva"] # (DeepL translation)
+ - else_if: "$ClearSpeak_MultSymbolX = 'By'"
+ then: [T: "szorozva"] # (DeepL translation)
+ else: [T: "kereszt"] # (en: 'cross', DeepL translation)
+ else_test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
+ then: [T: "kereszt"] # (en: 'cross', DeepL translation)
+ else: [T: "szorozva"] # (DeepL translation)
+
+ - "÷": [T: "osztva"] # 0xf7 (en: 'divided by', DeepL translation)
+ - "̀": [T: "súlyos ékezet díszítés"] # 0x300 (en: 'grave accent embellishment', DeepL translation)
+ - "́": [T: "akut ékezet díszítés"] # 0x301 (en: 'acute accent embellishment', DeepL translation)
+ - "̂": [T: "cirkumflex ékezet díszítés"] # 0x302 (en: 'circumflex accent embellishment', DeepL translation)
+ - "̃": [T: "tilde"] # 0x303 (en: 'tilde embellishment', DeepL translation)
+ - "̄": [T: "makron"] # 0x304 (en: 'macron embellishment', DeepL translation)
+ - "̅": [T: "túlszárnyaló díszítés"] # 0x305 (en: 'overbar embellishment', DeepL translation)
+ - "̆": [T: "rövid"] # 0x306 (DeepL translation)
+ - "̇": [T: "pont a díszítés felett"] # 0x307 (en: 'dot above embellishment', DeepL translation)
+
+ # Note: ClearSpeak has pref TriangleSymbol for "Δ", but that is wrong
+ - "Α-Ω":
+ - test:
+ if: "$CapitalLetters_Beep"
+ then:
+ - audio:
+ value: "beep.mp4"
+ replace: []
+ - test:
+ if: "$CapitalLetters_UseWord"
+ then_test:
+ if: "$SpeechOverrides_CapitalLetters = ''"
+ then_test:
+ if: "$Impairment = 'Blindness'"
+ then: [T: "nagy"] # (en: 'cap', DeepL translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
+ replace: [SPELL: "translate('.', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ', 'αβγδεζηθικλμνξοπρςστυφχψω')"]
+
+ - "α": [T: "alfa"] # 0x3b1 (en: 'alpha', DeepL translation)
+ - "β": [T: "béta"] # 0x3b2 (en: 'beta', DeepL translation)
+ - "γ": [T: "gamma"] # 0x3b3 (DeepL translation)
+ - "δ": [T: "delta"] # 0x3b4 (DeepL translation)
+ - "ε": [T: "epszilon"] # 0x3b5 (DeepL translation)
+ - "ζ": [T: "zéta"] # 0x3b6 (en: 'zeta', DeepL translation)
+ - "η": [T: "éta"] # 0x3b7 (DeepL translation)
+ - "θ": [T: "théta"] # 0x3b8 (en: 'theta', DeepL translation)
+ - "ι": [T: "ióta"] # 0x3b9 (DeepL translation)
+ - "κ": [T: "kappa"] # 0x3ba (DeepL translation)
+ - "λ": [T: "lambda"] # 0x3bb (DeepL translation)
+ - "μ": [T: "mű"] # 0x3bc (DeepL translation)
+ - "ν": [T: "nű"] # 0x3bd (DeepL translation)
+ - "ξ": [T: "kszí"] # 0x3be (DeepL translation)
+ - "ο": [T: "omikron"] # 0x3bf (en: 'omicron', DeepL translation)
+ - "π": [T: "pí"] # 0x3c0 (DeepL translation)
+ - "ρ": [T: "ró"] # 0x3c1 (DeepL translation)
+ - "ς": [T: "szóvégi szigma"] # 0x3c2 (en: 'final sigma', DeepL translation)
+ - "σ": [T: "szigma"] # 0x3c3 (DeepL translation)
+ - "τ": [T: "tau"] # 0x3c4 (DeepL translation)
+ - "υ": [T: "üpszilon"] # 0x3c5 (DeepL translation)
+ - "φ": [T: "fí"] # 0x3c6 (DeepL translation)
+ - "χ": [T: "khí"] # 0x3c7 (DeepL translation)
+ - "ψ": [T: "pszí"] # 0x3c8 (DeepL translation)
+ - "ω": [T: "omega"] # 0x3c9 (DeepL translation)
+ - "ϕ": [T: "phi"] # 0x3d5 (DeepL translation)
+ - "ϖ": [T: "pí"] # 0x3d6 (DeepL translation)
+ - "ϵ": [T: "holdkóros epszilon"] # 0x3f5 (DeepL translation)
+ - "϶": [T: "félhold alakú tükrözött görög epszilon"] # 0x3f6 (en: 'reversed epsilon', DeepL translation)
+
+ - "–": [T: "en kötőjel"] # 0x2013 (en: 'en dash', DeepL translation)
+ - "—": [T: "em kötőjel"] # 0x2014 (en: 'em dash', DeepL translation)
+ - "―": [T: "vízszintes sáv"] # 0x2015 (en: 'horizontal bar', DeepL translation)
+ - "‖": [T: "dupla függőleges vonal"] # 0x2016 (en: 'double vertical line', DeepL translation)
+ - "…": # 0x2026
+ test:
+ if:
+ - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or"
+ # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
+ # speak '…' as 'and so on...' unless expr starts with '…'
+ - "../*[1][.='…']"
+ then: [T: "pont pont pont"] # (en: 'dot dot dot', DeepL translation)
+ else_test: # must have $ClearSpeak_Ellipses = 'AndSoOn'
+ if: "count(following-sibling::*) = 0"
+ then: [T: "és így tovább"] # (en: 'and so on', DeepL translation)
+ else: [T: "és így tovább egészen az alábbi értékig:"] # (en: 'and so on up to', DeepL translation)
+
+ - "": # 0x2061
+ - test:
+ # skip saying "of" when Terse and a trig function, when it is a shape (does this happen?), or we are in :literal mode
+ if: "not(
+ ( $Verbosity='Terse' or ($SpeechStyle = 'ClearSpeak' and IsNode(following-sibling::*[1],'simple')) and
+ preceding-sibling::*[1][IfThenElse($SpeechStyle='ClearSpeak',
+ IsInDefinition(., 'ClearSpeakTrigFunctionNames'),
+ IsInDefinition(., 'TrigFunctionNames') )]
+ ) or
+ preceding-sibling::*[1][IsInDefinition(., 'GeometryShapes')] or
+ (@data-changed='added' and ancestor-or-self::*[contains(@data-intent-property, ':literal:')])
+ )"
+ then: [T: ""] # (DeepL translation)
+ - "": [T: ""] # 0x2062
+ - "": [T: "láthatatlan elválasztó"] # 0x2063
+ - "": [T: "és"] # 0x2064 (en: 'and', DeepL translation)
+ - "′": [T: "prím"] # 0x2032 (en: 'prime', DeepL translation)
+ - "″": [T: "dupla prím"] # 0x2033 (en: 'double prime', DeepL translation)
+ - "‴": [T: "hármas prím"] # 0x2034 (en: 'triple prime', DeepL translation)
+
+ - "ℂℕℚℝℤ": # here we rely on this running through the table again to speak "cap xxx"
+ - T: "duplán leütött" # (en: 'double-struck', DeepL translation)
+ - SPELL: "translate('.', 'ℂℕℚℝℤ', 'CNQRZ')"
+
+ - "℃": [T: "celsius fok"] # 0x2103 (en: 'degrees celsius', DeepL translation)
+ - "℉": [T: "fahrenheit fok"] # 0x2109 (en: 'degrees fahrenheit', DeepL translation)
+ - "ℋℛℓ": # 0x210b
+ - T: "alsó index" # (DeepL translation)
+ - SPELL: "translate('.', 'ℋℛℓ', 'HRl')"
+ - "ℎ": [T: "planck-állandó"] # 0x210e (en: 'planck constant', DeepL translation)
+ - "ℜ": # 0x211c
+ - T: "fraktur" # (DeepL translation)
+ - SPELL: "'R'"
+
+ - "Ω": [T: "ohm"] # 0x2126 (en: 'ohms', DeepL translation)
+ - "K": [T: "kelvin"] # 0x212a (DeepL translation)
+ - "Å": [T: "angström"] # 0x212b (en: 'angstroms', DeepL translation)
+ - "ⅆⅇⅈⅉ": # 0x2146-9
+ - T: "duplán dőlt betűs" # (en: 'double-struck italic', DeepL translation)
+ - SPELL: "translate('.', 'ⅆⅇⅈⅉ', 'deij')"
+
+ - "←": [T: "balra nyíl"] # 0x2190 (en: 'left arrow', DeepL translation)
+ - "↑": [T: "felfelé nyíl"] # 0x2191 (en: 'up arrow', DeepL translation)
+ - "→": # 0x2192
+ - test:
+ if: "ancestor::*[2][self::m:limit]"
+ then: [T: "megközelítések"] # (en: 'approaches', DeepL translation)
+ else: [T: "jobbra nyíl"] # (en: 'right arrow', DeepL translation)
+
+ - "↓": [T: "lefelé nyíl"] # 0x2193 (en: 'down arrow', DeepL translation)
+ - "⇒": [T: "dupla jobbranyíl"] # 0x21d2 (en: 'right double arrow', DeepL translation)
+ - "∀": [T: "minden"] # 0x2200 (en: 'for all', DeepL translation)
+ - "∂": # 0x2202
+ - test:
+ if: "$Verbosity='Terse'"
+ then: [T: "részleges"] # (en: 'partial', DeepL translation)
+ else: [T: "parciális derivált"] # (en: 'partial derivative', DeepL translation)
+ - "∃": [T: "létezik"] # 0x2203 (en: 'there exists', DeepL translation)
+ - "∄": [T: "nem létezik"] # 0x2204 (en: 'there does not exist', DeepL translation)
+ - "∅": [T: "üres halmaz"] # 0x2205 (en: 'empty set', DeepL translation)
+ - "∆": # 0x2206
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "a"] # (en: 'the', DeepL translation)
+ - T: "növekménye" # (en: 'laplacian of', DeepL translation)
+ - "∈": # 0x2208
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then:
+ - test:
+ if: "$Verbosity!='Terse' and not(ancestor::*[self::m:set])" # "the set x is an element of ..." sounds bad"
+ then: [T: ""] # (en: 'is', DeepL translation)
+ - T: "eleme ennek:" # (en: 'an element of', DeepL translation)
+ # Several options for speaking elements in ClearSpeak -- they split between being inside a set or not and then the option
+ else_test:
+ if: "../../self::m:set or ../../../self::m:set" # inside a set
+ then_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: ""] # (DeepL translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "tagja"] # (en: 'member of', DeepL translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "eleme ennek:"] # (en: 'element of', DeepL translation)
+ - else: [T: "hozzátartozó eleme ennek:"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to', DeepL translation)
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "tagja az alábbi halmaznak:"] # (en: 'is a member of', DeepL translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "egy eleme ennek:"] # (en: 'is an element of', DeepL translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "benne van ebben:"] # (en: 'is in', DeepL translation)
+ - else: [T: "ebbe a halmazba tartozik:"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to', DeepL translation)
+ - "∉": # 0x2209
+ # rule is identical to 0x2208
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then:
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', DeepL translation)
+ - T: "nem eleme ennek:" # (en: 'not an element of', DeepL translation)
+ # Several options for speaking elements in ClearSpeak -- they split between being inside a set or not and then the option
+ else_test:
+ if: "../../self::m:set or ../../../self::m:set" # inside a set
+ then_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "nincs benne ebben:"] # (en: 'not in', DeepL translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "nem tagja az alábbi halmaznak:"] # (en: 'not member of', DeepL translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "nem eleme ennek:"] # (en: 'not element of', DeepL translation)
+ - else: [T: "nem tartozik ebbe:"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'not belonging to', DeepL translation)
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "nem tagja az alábbi halmaznak:"] # (en: 'is not a member of', DeepL translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "nem eleme ennek:"] # (en: 'is not an element of', DeepL translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "nincs benne az alábbi halmazban:"] # (en: 'is not in', DeepL translation)
+ - else: [T: "nem tartozik ebbe:"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'does not belong to', DeepL translation)
+ - "∊": # 0x220a
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then:
+ - test:
+ if: "$Verbosity!='Terse' and not(ancestor::*[self::m:set])" # "the set x is an element of ..." sounds bad"
+ then: [T: "van"] # (en: 'is', DeepL translation)
+ - T: "egy eleme" # (en: 'an element of', DeepL translation)
+ # Several options for speaking elements in ClearSpeak -- they split between being inside a set or not and then the option
+ else_test:
+ if: "../../self::m:set or ../../../self::m:set" # inside a set
+ then_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: ""] # (DeepL translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "tagja ennek:"] # (en: 'member of', DeepL translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "kisbetűs eleme ennek:"] # (en: 'element of', DeepL translation)
+ - else: [T: "hozzátartozó eleme ennek:"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to', DeepL translation)
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "nem tagja az alábbi halmaznak:"] # (en: 'is a member of', DeepL translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "egy eleme ennek:"] # (en: 'is an element of', DeepL translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "benne van ebben:"] # (en: 'is in', DeepL translation)
+ - else: [T: "ebbe a halmazba tartozik:"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to', DeepL translation)
+ - "∏": [T: "produktum"] # 0x220f (en: 'product', DeepL translation)
+ - "∐": [T: "diszjunkt unió"] # 0x2210 (en: 'co-product', DeepL translation)
+ - "∑": [T: "összeg"] # 0x2211 (DeepL translation)
+ - "−": [T: "mínusz"] # 0x2212 (en: 'minus', DeepL translation)
+ - "∓": [T: "mínusz vagy plusz"] # 0x2213 (en: 'minus or plus', DeepL translation)
+ - "∗": [T: "csillag operátortimes"] # 0x2217 (DeepL translation)
+ - "∘": [T: "gyűrű operátor"] # 0x2218 (en: 'composed with', DeepL translation)
+ - "√": # 0x221a
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "a"] # (en: 'the', DeepL translation)
+ - T: "négyzetgyöke" # (en: 'square root of', DeepL translation)
+ - "∝": # 0x221d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', DeepL translation)
+ - T: "arányos" # (en: 'proportional to', DeepL translation)
+ - "∞": [T: "végtelen"] # 0x221e (en: 'infinity', DeepL translation)
+ - "∟": [T: "derékszög"] # 0x221f (en: 'right angle', DeepL translation)
+ - "∠": [T: "szög"] # 0x2220 (en: 'angle', DeepL translation)
+ - "∡": [T: "mért szög"] # 0x2221 (en: 'measured angle', DeepL translation)
+ - "∣": [T: "osztója"] # 0x2223 (en: 'divides', DeepL translation)
+ - "∤": [T: "nem osztója"] # 0x2224 (en: 'does not divide', DeepL translation)
+ - "∥": # 0x2225
+ - test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
+ then: [T: "dupla függőleges vonal"] # (en: 'double vertical line', DeepL translation)
+ else:
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "van"] # (en: 'is', DeepL translation)
+ - T: "párhuzamos" # (en: 'parallel to', DeepL translation)
+ - "∦": # 0x2226
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "van"] # (en: 'is', DeepL translation)
+ - T: "nem párhuzamos" # (en: 'not parallel to', DeepL translation)
+ - "∧": [T: "logikai és"] # 0x2227 (en: 'and', DeepL translation)
+ - "∨": [T: "logikai vagy"] # 0x2228 (en: 'or', DeepL translation)
+ - "∩": [T: "metszéspont"] # 0x2229 (en: 'intersection', DeepL translation)
+ - "∪": [T: "unió"] # 0x222a (en: 'union', DeepL translation)
+ - "∫": [T: "integrál"] # 0x222b (en: 'integral', DeepL translation)
+ - "∬": [T: "kettős integrál"] # 0x222c (en: 'double integral', DeepL translation)
+ - "∭": [T: "hármas integrál"] # 0x222d (en: 'triple integral', DeepL translation)
+ - "∮": [T: "kontúr integrál"] # 0x222e (en: 'contour integral', DeepL translation)
+ - "∶": # 0x2236
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "van"] # (en: 'is', DeepL translation)
+ - T: "hogy" # (DeepL translation)
+ - "∷": [T: "arány"] # 0x2237 (DeepL translation)
+ - "∼": [T: "változik"] # 0x223c (en: 'varies with', DeepL translation)
+ - "∽": [T: "fordított tilde"] # 0x223d (en: 'reversed tilde', DeepL translation)
+ - "∾": # 0x223e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "van"] # (en: 'is', DeepL translation)
+ - T: "legpozitívabb" # (en: 'most positive', DeepL translation)
+ - "∿": [T: "szinuszhullám"] # 0x223f (en: 'sine wave', DeepL translation)
+ - "≠": # 0x2260
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "van"] # (en: 'is', DeepL translation)
+ - T: "nem egyenlő" # (en: 'not equal to', DeepL translation)
+ - "≡": # 0x2261
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "van"] # (en: 'is', DeepL translation)
+ - T: "azonos" # (en: 'identical to', DeepL translation)
+ - "≤": # 0x2264
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', DeepL translation)
+ - T: "kisebb vagy egyenlő" # (en: 'less than or equal to', DeepL translation)
+ - "≥": # 0x2265
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', DeepL translation)
+ - T: "nagyobb vagy egyenlő" # (en: 'greater than or equal to', DeepL translation)
+ - "≦": [T: "kisebb, mint egyenlő"] # 0x2266 (en: 'less than over equal to', DeepL translation)
+ - "≧": [T: "nagyobb, mint az egyenlő"] # 0x2267 (en: 'greater than over equal to', DeepL translation)
+ - "≺": [T: "megelőzi"] # 0x227a (en: 'precedes', DeepL translation)
+ - "≻": [T: "követi"] # 0x227b (en: 'succeeds', DeepL translation)
+ - "⊂": # 0x2282
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "egy"] # (DeepL translation)
+ - T: "részhalmaza" # (en: 'subset of', DeepL translation)
+ - "⊃": # 0x2283
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "egy"] # (DeepL translation)
+ - T: "szuperhalmaza ennek:" # (en: 'superset of', DeepL translation)
+ - "⊄": # 0x2284
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "egy"] # (en: 'is', DeepL translation)
+ - T: "nem részhalmaza ennek:" # (en: 'not a subset of', DeepL translation)
+ - "⊅": # 0x2285
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "egy"] # (en: 'is', DeepL translation)
+ - T: "nem szuperhalmaza ennek:" # (DeepL translation)
+ - "⊆": # 0x2286
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "egy"] # (DeepL translation)
+ - T: "részhalmaza vagy egyenlő" # (en: 'subset of or equal to', DeepL translation)
+ - "⊇": # 0x2287
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "egy"] # (DeepL translation)
+ - T: "szuperhalmaza vagy egyenlő" # (en: 'superset of or equal to', DeepL translation)
diff --git a/tests/Languages/hu/ClearSpeak/large_ops.rs b/tests/Languages/hu/ClearSpeak/large_ops.rs
index 994dafff..d2c70157 100644
--- a/tests/Languages/hu/ClearSpeak/large_ops.rs
+++ b/tests/Languages/hu/ClearSpeak/large_ops.rs
@@ -128,7 +128,7 @@ fn intersection_both() -> Result<()> {
Si
";
- test("hu", "ClearSpeak", expr, "kereszteződés ettől: i egyenlő 1, eddig: 10 értéke:; nagy s alsó index i")?;
+ test("hu", "ClearSpeak", expr, "metszet ettől: i egyenlő 1, eddig: 10 értéke:; nagy s alsó index i")?;
return Ok(());
}
@@ -143,7 +143,7 @@ fn intersection_under() -> Result<()> {
Si
";
- test("hu", "ClearSpeak", expr, "kereszteződés alatta nagy c, nagy s alsó index i")?;
+ test("hu", "ClearSpeak", expr, "metszet alatta nagy c, nagy s alsó index i")?;
return Ok(());
}
@@ -155,7 +155,7 @@ fn intersection() -> Result<()> {
⋂
Si
";
- test("hu", "ClearSpeak", expr, "kereszteződés nagy s alsó index i")?;
+ test("hu", "ClearSpeak", expr, "metszet nagy s alsó index i")?;
return Ok(());
}
@@ -217,7 +217,7 @@ fn integral_both() -> Result<()> {
dx
";
- test("hu", "ClearSpeak", expr, "integrál ettől: 0, eddig: 1 értéke:; f x; d x")?;
+ test("hu", "ClearSpeak", expr, "integrált ettől: 0, eddig: 1 értéke:; f x; d x")?;
return Ok(());
}
@@ -233,7 +233,7 @@ fn integral_under() -> Result<()> {
f(x )
dx
";
- test("hu", "ClearSpeak", expr, "integrál alatta a valós számok halmaza; f x d x")?;
+ test("hu", "ClearSpeak", expr, "integrált alatta a valós számok halmaza; f x d x")?;
return Ok(());
}
@@ -246,7 +246,7 @@ fn integral() -> Result<()> {
f(x )
dx
";
- test("hu", "ClearSpeak", expr, "integrál f x d x")?;
+ test("hu", "ClearSpeak", expr, "integrált f x d x")?;
return Ok(());
}
diff --git a/tests/Languages/hu/SimpleSpeak/large_ops.rs b/tests/Languages/hu/SimpleSpeak/large_ops.rs
index 1d798202..c76ce150 100644
--- a/tests/Languages/hu/SimpleSpeak/large_ops.rs
+++ b/tests/Languages/hu/SimpleSpeak/large_ops.rs
@@ -128,7 +128,7 @@ fn intersection_both() -> Result<()> {
Si
";
- test("hu", "SimpleSpeak", expr, "kereszteződés ettől: i egyenlő 1, eddig: 10 értéke:; nagy s alsó index i")?;
+ test("hu", "SimpleSpeak", expr, "metszet ettől: i egyenlő 1, eddig: 10 értéke:; nagy s alsó index i")?;
return Ok(());
}
@@ -143,7 +143,7 @@ fn intersection_under() -> Result<()> {
Si
";
- test("hu", "SimpleSpeak", expr, "kereszteződés alatta nagy c, nagy s alsó index i")?;
+ test("hu", "SimpleSpeak", expr, "metszet alatta nagy c, nagy s alsó index i")?;
return Ok(());
}
@@ -155,7 +155,7 @@ fn intersection() -> Result<()> {
⋂
Si
";
- test("hu", "SimpleSpeak", expr, "kereszteződés nagy s alsó index i")?;
+ test("hu", "SimpleSpeak", expr, "metszet nagy s alsó index i")?;
return Ok(());
}
@@ -217,7 +217,7 @@ fn integral_both() -> Result<()> {
dx
";
- test("hu", "SimpleSpeak", expr, "integrál ettől: 0, eddig: 1 értéke:; f x; d x")?;
+ test("hu", "SimpleSpeak", expr, "integrált ettől: 0, eddig: 1 értéke:; f x; d x")?;
return Ok(());
}
@@ -233,7 +233,7 @@ fn integral_under() -> Result<()> {
f(x )
dx
";
- test("hu", "SimpleSpeak", expr, "integrál alatta a valós számok halmaza; f x d x")?;
+ test("hu", "SimpleSpeak", expr, "integrált alatta a valós számok halmaza; f x d x")?;
return Ok(());
}
@@ -246,7 +246,7 @@ fn integral() -> Result<()> {
f(x )
dx
";
- test("hu", "SimpleSpeak", expr, "integrál f x d x")?;
+ test("hu", "SimpleSpeak", expr, "integrált f x d x")?;
return Ok(());
}
diff --git a/tests/Languages/hu/alphabets.rs b/tests/Languages/hu/alphabets.rs
index 7fcdecbd..b6ff080e 100644
--- a/tests/Languages/hu/alphabets.rs
+++ b/tests/Languages/hu/alphabets.rs
@@ -12,7 +12,7 @@ fn special_alphabet_chars() -> Result<()> {
let expr = "";
test("hu", "SimpleSpeak", expr, "dupla leütésű nagy h, vessző; dupla leütésű nagy pí")?;
let expr = "";
- test("hu", "SimpleSpeak", expr, "script nagy i vessző, script nagy m")?;
+ test("hu", "SimpleSpeak", expr, "alsó index nagy i, vessző, alsó index nagy m")?;
return Ok(());
}
@@ -37,7 +37,7 @@ fn greek() -> Result<()> {
#[test]
fn cap_cyrillic() -> Result<()> {
let expr = "";
- test("hu", "SimpleSpeak", expr, "nagybetű а vessző, nagybetű ya")?;
+ test("hu", "SimpleSpeak", expr, "nagy а vessző, nagy ciril ya")?;
return Ok(());
}
@@ -120,14 +120,14 @@ fn double_struck() -> Result<()> {
#[test]
fn script() -> Result<()> {
let expr = "";
- test("hu", "SimpleSpeak", expr, "script nagy a vessző, script nagy z")?;
+ test("hu", "SimpleSpeak", expr, "alsó index nagy a, vessző, alsó index nagy z")?;
let expr = "";
- test("hu", "SimpleSpeak", expr, "script a vessző, script z")?;
+ test("hu", "SimpleSpeak", expr, "alsó index a vessző, alsó index z")?;
// MathType private space versions
let expr = "";
- test("hu", "SimpleSpeak", expr, "script nagy a vessző, script nagy z")?;
+ test("hu", "SimpleSpeak", expr, "alsó index nagy a, vessző, alsó index nagy z")?;
let expr = "";
- test("hu", "SimpleSpeak", expr, "script a vessző, script z")?;
+ test("hu", "SimpleSpeak", expr, "alsó index a vessző, alsó index z")?;
return Ok(());
}
@@ -136,14 +136,14 @@ fn script() -> Result<()> {
#[test]
fn bold_script() -> Result<()> {
let expr = "";
- test("hu", "SimpleSpeak", expr, "script félkövér nagy a, vessző; script félkövér nagy z")?;
+ test("hu", "SimpleSpeak", expr, "alsó index félkövér nagy a, vessző; alsó index félkövér nagy z")?;
let expr = "";
- test("hu", "SimpleSpeak", expr, "script félkövér a, vessző, script félkövér z")?;
+ test("hu", "SimpleSpeak", expr, "alsó index félkövér a, vessző; alsó index félkövér z")?;
// MathType private space versions
let expr = "";
- test("hu", "SimpleSpeak", expr, "script félkövér nagy a, vessző; script félkövér nagy z")?;
+ test("hu", "SimpleSpeak", expr, "alsó index félkövér nagy a, vessző; alsó index félkövér nagy z")?;
let expr = "";
- test("hu", "SimpleSpeak", expr, "script félkövér a, vessző, script félkövér z")?;
+ test("hu", "SimpleSpeak", expr, "alsó index félkövér a, vessző; alsó index félkövér z")?;
return Ok(());
}
@@ -434,7 +434,7 @@ fn enclosed_numbers() -> Result<()> {
let expr = "";
test("hu", "SimpleSpeak", expr, "bekarikázott 1 vessző, bekarikázott 9")?;
let expr = "";
- test("hu", "SimpleSpeak", expr, "fekete bekarikázott egy, vessző; bekarikázott szám ötven")?;
+ test("hu", "SimpleSpeak", expr, "fekete bekarikázott egy, vessző; bekarikázott ötvenes szám")?;
let expr = "";
test("hu", "SimpleSpeak", expr, "zárójeles 1 vessző, zárójeles 9")?;
let expr = "";
diff --git a/tests/Languages/hu/intent.rs b/tests/Languages/hu/intent.rs
index c5c2fa3e..65993668 100644
--- a/tests/Languages/hu/intent.rs
+++ b/tests/Languages/hu/intent.rs
@@ -7,18 +7,44 @@ use anyhow::Result;
// AI generated
#[test]
fn silent_intent() -> Result<()> {
- let expr = "";
+ let expr = "";
test("hu", "SimpleSpeak", expr, "2 x")?;
test("hu", "LiteralSpeak", expr, "2 x")?;
return Ok(());
}
+#[test]
+fn silent_intent_underscore() -> Result<()> {
+ let expr = "";
+ test("hu", "SimpleSpeak", expr, "nagy h vessző, 2")?;
+ test("hu", "ClearSpeak", expr, "nagy h vessző, 2")?;
+ return Ok(());
+
+}
+
+#[test]
+fn intent_prob_x() -> Result<()> {
+ //init_logger();
+ let expr = "";
+ test("hu", "ClearSpeak", expr, "valószínűség x")?;
+ return Ok(());
+
+}
+
// AI generated
#[test]
fn prefix_intent() -> Result<()> {
- let expr = r#""#;
- test("hu", "SimpleSpeak", expr, "testing x")?;
+ let expr = r#""#;
+ test("hu", "SimpleSpeak", expr, "tesztelés x")?;
return Ok(());
}
@@ -26,8 +52,8 @@ fn prefix_intent() -> Result<()> {
// AI generated
#[test]
fn postfix_intent() -> Result<()> {
- let expr = r#""#;
- test("hu", "SimpleSpeak", expr, "x testing")?;
+ let expr = r#""#;
+ test("hu", "SimpleSpeak", expr, "x tesztelése")?;
return Ok(());
}
@@ -35,12 +61,12 @@ fn postfix_intent() -> Result<()> {
// AI generated
#[test]
fn infix_intent() -> Result<()> {
- let expr = r#"