Skip to content

Language wrongly reported as unsupported #18876

@CyrilleB79

Description

@CyrilleB79

Steps to reproduce:

  • In the input gesture dialog, assign a gesture to "Reports the language for the text under the caret. If pressed twice, presents the information in browse mode"
  • Switch to eSpeak
  • Open the following URI:
    data:text/html,<p>Text in <span lang="fr-ca">Francais</span> and in <span lang="it">Italiano</span><p>
  • In the page that open, go on "Francais" and execute the command to know the language of the text
  • Go on "Italiano" and execute the command to know the language of the text

Actual behavior:

  • French (Canada) is reported as unsupported
  • Italiano is normally reported, i.e. supported

Expected behavior:

  • Italiano should still be normally reported, i.e. supported
  • French (Canada) should be normally reported, i.e. do not indicate "unsupported".

Indeed when reading the sentence, the synthesizer switches language to French and Italian when needed. Reporting that French (Canada) is unsupported is quite misleading. eSpeak has no French (Canada) voice, but it supports reading "fr-ca" text falling back to generic French (French France).

I guess that all synth fall back switching to the non-dialect version of the language in case the language with dialect is not supported.

To be precise, we should report "Supported as a fallback". But this is probably unuseful and makes the feature much more complex.

NVDA logs, crash dumps and other attachments:

N/A

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2025.3beta3

Windows version:

Windows 11 24H2 (AMD64) build 26100.4946

Name and version of other software in use when reproducing the issue:

N/A

Other information about your system:

N/A

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

No.

If NVDA add-ons are disabled, is your problem still occurring?

Not tested. I only know IBMTTS as TTS using voices with language without country specified. On the contrary, TTS available without add-on (OneCore, eSpeak) have voices language including the country code.

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

No tested, unrelated

Metadata

Metadata

Assignees

No one assigned

    Labels

    component/speechp4https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions