Skip to content

Indonesian (id): square root speaks no word at Terse verbosity in SimpleSpeak #668

Description

@PaulBlenkhorn

Version: 0.7.6-beta.9 (also present in 0.7.6-beta.5)
Language: id · SpeechStyle: SimpleSpeak · Verbosity: Terse

What happens

With Language=id and Verbosity=Terse, a square root speaks no root word at all — only the pause and the operand:

input Terse Medium (correct)
<msqrt><mn>9</mn></msqrt> , 9 akar kuadrat dari 9
<msqrt>x+1</msqrt> , x tambah 1 akhir akar akar kuadrat dari x tambah 1 akhir akar

mroot is unaffected — ∛27 correctly gives akar pangkat tiga 27 at Terse.

For comparison, English at Terse keeps the word: square root, 9.

Cause

In Rules/Languages/id/SimpleSpeak_Rules.yaml, the square-root rule puts the
root word itself inside the verbosity test, so at Terse nothing is emitted:

- name: default
  tag: square-root
  match: "."
  replace:
  - test:
      if: "$Verbosity!='Terse'"
      then: [T: "akar kuadrat"]     # <-- the word is gated on verbosity
  - test:
      if: "$Verbosity!='Terse'"
      then: [T: dari]

The English rule gates only the surrounding words (the, of) and speaks the
root word unconditionally:

  - test:
      if: "$Verbosity!='Terse'"
      then: [ot: "the"]
  - t: "square root"                # <-- unconditional
  - test:
      if: "$Verbosity!='Terse'"
      then: [t: "of"]
      else: [pause: short]

Suggested fix

Move T: "akar kuadrat" out of the test so it is always spoken, leaving only
dari ("of") verbosity-gated — mirroring the English rule and the Indonesian
root rule, which already emits its word unconditionally.

How it was found

Comparing spoken output across all embedded languages while evaluating MathCAT
speech for a braille literacy app for blind children. Indonesian was the only
language of the fourteen where a construct spoke no word at all.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions