ultrasound1372 / NVDA-IBMTTS-Driver

This progect is to develop and maintain the NVDA IBMTTS driver. This repository is responsible for the x0_personal versions, which are continuing development even after it seems activity from the base repository has stopped.
GNU General Public License v2.0
1 stars 0 forks source link

Locale fix #22

Closed Mohamed00 closed 4 years ago

Mohamed00 commented 4 years ago

This PR implements the suggestion in davidacm/NVDA-IBMTTS-Driver#1. The Asian languages now have their locales set properly, which means that most of them will work with Trust voice's language when processing characters and symbols enabled. The exception is Japanese, however, since a lot of symbols are not preserved, which causes odd regressions, but in theory that could be solved with a custom symbols file.

ultrasound1372 commented 4 years ago

Was this already being done for languages that use the latin script? I'm not entirely sure what that setting does, does it localize symbol names when navigating?

Mohamed00 commented 4 years ago

Yes, latin-based languages worked normally. The idea behind that setting is that when you change languages in your synthesizer, character descriptions and symbols will follow along, for example enable the setting, switch to Spanish and type punctuation symbols. You'll notice that the punctuation descriptions change. This previously wasn't working because the Asian languages were using the wrong locale, now they do. On 10/3/2020 9:56 AM, Colton Hill wrote:

Was this already being done for languages that use the latin script? I'm not entirely sure what that setting does, does it localize symbol names when navigating?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ultrasound1372/NVDA-IBMTTS-Driver/pull/22#issuecomment-703107658, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADY4AYD22ZWT3UN57XLMOVTSI4UPLANCNFSM4R723ISQ.

tmthywynn8 commented 4 years ago

Performed the same battery of tests as found in davidacm#1, and these are the results:

  1. Chinese (Mandarin):
    • Sample text: 您好。我是李进。这是我的太太王燕。
    • Chinese text reads fine.
    • Pausing for Chinese punctuation, e.g., 。, works as expected, even if "Trust voice's language when processing characters and symbols" is checked as it properly uses the zh_CN locale.
  2. Japanese:
    • Sample text: はじめまして。私の名前は太郎です。前にお会いしたことがありますね?私の妹をご紹介しましょう。
    • Japanese text reads fine.
    • Pausing for Japanese punctuation, e.g., 。 or ?, will only work if "Trust voice's language when processing characters and symbols" is unchecked, as though it properly uses the ja locale, some Japanese symbols still do not have values in the preserve field (so defaults to never)—assume all Japanese users opt for NVDA-JP.
  3. Korean:
    • Sample text: 안녕하십니까? 반갑습니다. 저는 한기남이라고 합니다. 한국어 기계 음성의 남자목소리라는 뜻입니다. 제 여동생을 한번 만나 보시겠습니까?
    • Korean text reads fine.
    • Pausing for Korean punctuation (additional to European punctuation), e.g., ·, is inconclusive, but as it properly uses the ko locale, it should not matter if "Trust voice's language when processing characters and symbols" is checked. Note that the example Korean punctuation was not used in the sample text .
  4. Character descriptions and symbols read properly for Mandarin, Japanese, and Korean if "Trust voice's language when processing characters and symbols" is checked, as the right locale is used for each of the three languages.
Mohamed00 commented 4 years ago

I created a custom symbols file that passes the needed punctuation. The file might be a bit weird since I kind of stumbled around the interface a bit with trust voice's language enabled, so there might be some unneeded symbols, but the demo text reads properly. Revised with some more symbols I missed in the previous upload. symbols-ja.zip