diff --git a/Rules/Languages/de/ClearSpeak_Rules.yaml b/Rules/Languages/de/ClearSpeak_Rules.yaml index a4953b95..4c8f1d27 100644 --- a/Rules/Languages/de/ClearSpeak_Rules.yaml +++ b/Rules/Languages/de/ClearSpeak_Rules.yaml @@ -228,11 +228,11 @@ replace: - test: if: $ClearSpeak_Trig = 'TrigInverse' - then: [x: "*[1]", bookmark: "*[2]/@id", T: "umgekehrte"] + then: [bookmark: "*[2]/@id", T: "umgekehrter", x: "*[1]"] else_test: if: $ClearSpeak_Trig = 'ArcTrig' then: [bookmark: "*[2]/@id", T: "ark", x: "*[1]"] - else: [bookmark: "*[2]/@id", T: "umgekehrte", x: "*[1]"] # default/Auto + else: [bookmark: "*[2]/@id", T: "umgekehrter", x: "*[1]"] # default/Auto - name: function-squared-or-cubed tag: power diff --git a/Rules/Languages/de/SharedRules/geometry.yaml b/Rules/Languages/de/SharedRules/geometry.yaml index 4ac49066..3d1003c1 100644 --- a/Rules/Languages/de/SharedRules/geometry.yaml +++ b/Rules/Languages/de/SharedRules/geometry.yaml @@ -28,7 +28,7 @@ - T: "nach" # phrase(the ray from A 'to' B) - x: "*[2]" else: - - T: "ray" # phrase(the 'ray'A B) + - T: "strahl" # phrase(the 'ray' A B) - x: "*[1]" - x: "*[2]" diff --git a/Rules/Languages/de/SimpleSpeak_Rules.yaml b/Rules/Languages/de/SimpleSpeak_Rules.yaml index cf634351..e0474988 100644 --- a/Rules/Languages/de/SimpleSpeak_Rules.yaml +++ b/Rules/Languages/de/SimpleSpeak_Rules.yaml @@ -159,7 +159,7 @@ tag: inverse-function match: "." replace: - - T: "umgekehrte" # phrase(the 'inverse' of f) + - T: "umgekehrter" # phrase(the 'inverse' of f) - x: "*[1]" - name: function-squared-or-cubed diff --git a/Rules/Languages/de/definitions.yaml b/Rules/Languages/de/definitions.yaml index 0783d946..94ac8233 100644 --- a/Rules/Languages/de/definitions.yaml +++ b/Rules/Languages/de/definitions.yaml @@ -158,6 +158,11 @@ "mpg": "meile pro gallone", } +- CurrencySymbols: { + "$": "dollar", "¢": "cent", "€": "euro", "£": "pfund", "₡": "colón", "₤": "lira", "₨": "rupie", + "₩": "won", "₪": "schekel", "₱": "peso", "₹": "rupie", "₺": "lira", "₿": "bitcoin" + } + - PluralForms: { "ampere": "ampere", "candela": "candela", "kelvin": "kelvin", "gramm": "gramm", "meter": "meter", "mol": "mol", "sekunde": "sekunden", diff --git a/Rules/Languages/de/unicode-full.yaml b/Rules/Languages/de/unicode-full.yaml index 4c9b4db3..5e941c61 100644 --- a/Rules/Languages/de/unicode-full.yaml +++ b/Rules/Languages/de/unicode-full.yaml @@ -1992,8 +1992,8 @@ - "⪎": [T: "Größer als oben ähnlich oder gleich"] # 0x2a8e (en: 'greater than above similar or equal', MathPlayer: 'greater than above similar or equal', google: 'größer als über ähnlich oder gleich') - "⪏": [T: "Weniger als oben ähnlich oben größer als"] # 0x2a8f (en: 'less than above similar above greater than', MathPlayer: 'less than above similar above greater than', google: 'weniger als über ähnlich oben höher als größer als') - "⪐": [T: "Größer als oben Ähnlich oben"] # 0x2a90 (en: 'greater than above similar above less than', MathPlayer: 'greater than above similar above less than', google: 'größer als über ähnlich über ähnlichem') - - "⪑": [T: "less than greater than or equal to"] # 0x2a91 (en: 'less than above greater than above double line equal') - - "⪒": [T: "greater than less than or equal to"] # 0x2a92 (en: 'greater than above less than above double line equal') + - "⪑": [T: "kleiner als über größer als über doppelter Gleichheitslinie"] # 0x2a91 (en: 'less than above greater than above double line equal') + - "⪒": [T: "größer als über kleiner als über doppelter Gleichheitslinie"] # 0x2a92 (en: 'greater than above less than above double line equal') - "⪓": [T: "Weniger als oben schräg gleich oben Größer als oben schräg gleich"] # 0x2a93 (en: 'less than above slanted equal above greater than above slanted equal', MathPlayer: 'less than above slanted equal above greater than above slanted equal', google: 'weniger als über dem überdurchschnittlich überdurchschnittlich überdurchschnittlich ist es gleich') - "⪔": [T: "Größer als oben schräg gleich oben kleiner als oben schräg gleich groß"] # 0x2a94 (en: 'greater than above slanted equal above less than above slanted equal', MathPlayer: 'greater than above slanted equal above less than above slanted equal', google: 'größer als über dem schrägen gleich über dem gleichen schrägen gleich') - "⪕": [T: "Schräg gleich oder kleiner als"] # 0x2a95 (en: 'slanted equal to or less than', google: 'schräg gleich oder weniger als') @@ -2011,7 +2011,7 @@ - "⪡": [T: "Verschachteltes kleiner als"] # 0x2aa1 (en: 'double nested less than', MathPlayer: 'nested less than', google: 'doppelt weniger verschachtelt als') - "⪢": [T: "Verschachteltes größer als"] # 0x2aa2 (en: 'double nested greater than', MathPlayer: 'nested greater than', google: 'doppelt verschachtelt größer als') - "⪣": [T: "Doppelt verschachtelt, weniger als mit Unterleiste"] # 0x2aa3 (en: 'double nested less than with underbar', google: 'doppelte verschachtel weniger als mit underbar') - - "⪤": [T: "less than greater than overlay"] # 0x2aa4 (en: 'greater than overlapping less than') + - "⪤": [T: "größer als überlappend mit kleiner als"] # 0x2aa4 (en: 'greater than overlapping less than') - "⪥": [T: "Größer als weniger als"] # 0x2aa5 (en: 'greater than beside less than', MathPlayer: 'greater than beside less than', google: 'größer als weniger als weniger als') - "⪦": [T: "Weniger als durch Kurve geschlossen"] # 0x2aa6 (en: 'less than closed by curve', MathPlayer: 'less than closed by curve', google: 'weniger als durch kurve geschlossen') - "⪧": [T: "Größer als durch Kurve geschlossen"] # 0x2aa7 (en: 'greater than closed by curve', MathPlayer: 'greater than closed by curve', google: 'größer als durch kurve geschlossen') @@ -2077,15 +2077,15 @@ - "⫣": [T: "Doppelter vertikaler Balken linkes Drehkreuz"] # 0x2ae3 (en: 'double vertical bar left turnstile', google: 'doppelte vertikale balken linke drehkreuze') - "⫤": [T: "vertikaler Strich mit doppeltem linkem Drehkreuz"] # 0x2ae4 (en: 'vertical bar double left turnstile') - "⫥": [T: "Doppelter vertikaler Balken Doppelter linker Drehkreuz"] # 0x2ae5 (en: 'double vertical bar double left turnstile', google: 'doppelte vertikale balken doppelte linke drehkreuze') - - "⫦": [T: "Long Dash von Left Member von Double Vertical"] # 0x2ae6 (en: 'long dash from left member of double vertical', MathPlayer: 'long dash from left member of double vertical', google: 'langer dash vom linken mitglied des doppel vertikalen') + - "⫦": [T: "langer Strich vom linken Teil eines doppelten Vertikalstrichs"] # 0x2ae6 (en: 'long dash from left member of double vertical', MathPlayer: 'long dash from left member of double vertical', google: 'langer dash vom linken mitglied des doppel vertikalen') - "⫧": [T: "kurzer Abwärtshaken mit Überstrich"] # 0x2ae7 (en: 'short down tack with overbar', MathPlayer: 'short down tack with overbar', google: 'kurzer tack mit overbar') - "⫨": [T: "kurzer Aufwärtshaken mit Unterstrich"] # 0x2ae8 (en: 'short up tack with underbar') - "⫩": [T: "kurzer Aufwärtshaken über kurzem Abwärtshaken"] # 0x2ae9 (en: 'short up tack above short down tack', MathPlayer: 'short up tack above short down tack', google: 'kurzschluss über kurzer tack') - "⫪": [T: "doppelter Abwärtshaken"] # 0x2aea (en: 'double down tack', google: 'double down tack') - - "⫫": [T: "Verdoppeln Sie Tack"] # 0x2aeb (en: 'double up tack', MathPlayer: 'double up tack', google: 'doppelte tack') + - "⫫": [T: "doppelter Aufwärtshaken"] # 0x2aeb (en: 'double up tack', MathPlayer: 'double up tack', google: 'doppelte tack') - "⫬": [T: "Doppelstrich nicht unterschreiben"] # 0x2aec (en: 'double stroke not sign', MathPlayer: 'double stroke not sign', google: 'doppelhub nicht unterschreiben') - "⫭": [T: "Umgekehrter Doppelstrich nicht unterschrieben"] # 0x2aed (en: 'reversed double stroke not sign', MathPlayer: 'reversed double stroke not sign', google: 'umgekehrter doppelstrich nicht unterschreiben') - - "⫮": [T: "Teilt sich nicht mit umgekehrten Negationsschrägstrich"] # 0x2aee (en: 'does not divide with reversed negation slash', MathPlayer: 'does not divide with reversed negation slash', google: 'teilt sich nicht mit umgekehrter negationsschrägung') + - "⫮": [T: "teilt nicht mit umgekehrtem Negationsschrägstrich"] # 0x2aee (en: 'does not divide with reversed negation slash', MathPlayer: 'does not divide with reversed negation slash', google: 'teilt sich nicht mit umgekehrter negationsschrägung') - "⫯": [T: "Vertikale Linie mit Kreis oben"] # 0x2aef (en: 'vertical line with circle above', MathPlayer: 'vertical line with circle above', google: 'vertikale linie mit dem obigen kreis') - "⫰": [T: "Vertikale Linie mit Kreis unten"] # 0x2af0 (en: 'vertical line with circle below', MathPlayer: 'vertical line with circle below', google: 'vertikale linie mit kreis unten') - "⫱": [T: "Down Tack mit Kreis unten"] # 0x2af1 (en: 'down tack with circle below', MathPlayer: 'down tack with circle below', google: 'down tack mit kreis unten') @@ -2236,7 +2236,7 @@ - "⸫": [T: "ein punkt über zwei punkte"] # 0x2e2b (en: 'one dot over two dots punctuation', google translation) - "⸬": [T: "quadratische vier punkt -interpunktion"] # 0x2e2c (en: 'squared four dot punctuation', google translation) - "⸭": [T: "fünf punkt mark"] # 0x2e2d (en: 'five dot mark', google translation) - - "⸮": [T: "umgekehrter fragezeichen"] # 0x2e2e (en: 'reversed question mark', google translation) + - "⸮": [T: "umgekehrtes Fragezeichen"] # 0x2e2e (en: 'reversed question mark', google translation) - "ⸯ": [T: "vertikale tilde"] # 0x2e2f (en: 'vertical tilde', google translation) - "⸰": [T: "ringpunkt"] # 0x2e30 (en: 'ring point', google translation) - "⸱": [T: "wortseparator mittlerer punkt"] # 0x2e31 (en: 'word separator middle dot', google translation) diff --git a/tests/Languages/de/ClearSpeak/functions.rs b/tests/Languages/de/ClearSpeak/functions.rs index aa856036..6cb30e25 100644 --- a/tests/Languages/de/ClearSpeak/functions.rs +++ b/tests/Languages/de/ClearSpeak/functions.rs @@ -40,7 +40,7 @@ fn hyperbolic_trig_names() -> Result<()> { #[test] fn inverse_trig() -> Result<()> { let expr = "sin-1x"; - test("de", "ClearSpeak", expr, "umgekehrte sinus von x")?; + test("de", "ClearSpeak", expr, "umgekehrter sinus von x")?; return Ok(()); } @@ -49,7 +49,7 @@ fn inverse_trig() -> Result<()> { fn inverse_trig_trig_inverse() -> Result<()> { let expr = "tan-1x"; test_ClearSpeak("de", "ClearSpeak_Trig", "TrigInverse",expr, - "tangens umgekehrte von x")?; + "umgekehrter tangens von x")?; return Ok(()); } diff --git a/tests/Languages/de/ClearSpeak/symbols_and_adornments.rs b/tests/Languages/de/ClearSpeak/symbols_and_adornments.rs index ac1f7c2f..330776c9 100644 --- a/tests/Languages/de/ClearSpeak/symbols_and_adornments.rs +++ b/tests/Languages/de/ClearSpeak/symbols_and_adornments.rs @@ -39,6 +39,23 @@ fn quotation_mark() -> Result<()> { Ok(()) } +/// Compound relation symbols must use German descriptions rather than English fallbacks. +#[test] +fn compound_relation_symbols_are_localized() -> Result<()> { + let expr = ""; + test("de", "ClearSpeak", expr, + "kleiner als über größer als über doppelter Gleichheitslinie; größer als über kleiner als über doppelter Gleichheitslinie; größer als überlappend mit kleiner als")?; + Ok(()) +} + +/// A geometric ray uses the German term rather than the English fallback. +#[test] +fn geometric_ray_is_localized() -> Result<()> { + let expr = "XY"; + test("de", "ClearSpeak", expr, "strahl groß x groß y")?; + Ok(()) +} + #[test] fn absolute_value_end_regression() -> Result<()> { let expr = "|x+1|";