This add-on detects the language that NVDA is currently reading, and switches between different speech engines based on the detected language. Currently, it supports Japanese and non-Japanese identification only. We are willing to add detectable languages and improve the detection logic based on user contributions / suggestions.
Minimum supported NVDA version is 2021.1.
Settings included in "Settings of Universal Multilingual" menu will be described below.
Set the language which is prioritized the most. Currently, it does not affect the behavior much.
Sentence: Checks the eintirety of the reading sentence. If it contains at least one Japanese character, it stops scanning and reads everything in Japanese. When Japanese is not included in the sentence, it reads using the non-Japanese speech engine.
Word: Checks the reading sentence character by character. Even if Japanese and non-Japanese are mixed, it reads the Japanese part using the Japanese speech engine, and reads non-Japanese part using the non-Japanese speech engine.
Set speech engines which will be used as Japanese and non-Japanese speeches, respectively. The listview displays pairs of a language and a speech engine. Pressing "Select engine" allows you to change speech engine for the currently selected language.
Currently, it is not supported to use the same speech engine for different languages. For example, when you are using SAPI5 speech engine for non-Japanese, you cannot use SAPI5 for Japanese.
It is strongly recommended to check the "Trust voice's language when processing characters and symbols" checkbox, which is located under NVDA's speech settings. It is a bit hard to describe, but it results in better reading.
Some combinations of speech engines will not work properly. In most cases, it is due to the synthDriver's incorrect implementations, and it is not fixable no matter how Universal Multilingual tries its best.
In order to change settings of each speech engine, you need to switch to the speech engine from NVDA's speech settings first, then modify to your preference there. Universal Multilingual is responsible only for switching speech engines, and does not support any features which hook into the behaviors of speech engines under its control.
Some events like cap pitch changing have not been supported yet. The support is planned in a near future.
It is possible to add supported languages in the future, but it only supports Japanese and non-Japanese detection at the moment since there's no developers who use other languages natively. If you want additional language support, please contact ACT Laboratory.
If you have a GitHub account, Universal Multilingual's issues page is the fastest path to reach us.
For email support, please send an email to "support@actlab.org".