-
-
Notifications
You must be signed in to change notification settings - Fork 614
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
In Hindi, NVDA will not read anymore punctuation symbols whatever the punctuation level (2nd attempt) #14558
Conversation
… punctuation level Fixes nvaccess#14417 Update nvda-cldr repository to get the changes implemented in nvaccess/nvda-cldr#4
See test results for failed build of commit 58c7b80c81 |
5be0a4e
to
26e925b
Compare
I have run NVDA in Turkish with eSpeak Turkish. Could you try this build? Please try to read "😄" as well as all you have tried in #14473. In case you are not able to have emojis reported (as described in #14473), could you please indicate the emojis you are trying to read and overall provide a full log in debug mode? If the log contains sensitive information (but it should not if you take care to it), you may want to send it to me in private rather than putting it here. Many thanks for your help. |
I'm still reproducing the issue. One possible solution I can think of: Copy the English symbol file into untranslated languages. Thus, the reading experience of untranslated languages can be enhanced without touching the translated languages. |
Thanks. That was expected since I have not modified anything else except merging from last master branch.
Before talking of a solution, I would like to understand the issue, i.e. why do you have this issue and why cannot I reproduce with Turkish NVDA and with Turkish eSpeak on my side. For that, as asked in #14558 (comment), could you please provide a full log in debug mode making your emoji tests with this build? Thanks in advance. |
Unfortunately this is not an issue where the log file can be provided. Emojis are not announced by NVDA. I can't hear anything when navigating with the arrow keys. |
The point is that this PR causes an issue on your side and that I cannot reproduce it on my side, even with NVDA and synthesizer in Turkish. Since the issue seems to be 100% reproducible on your side, it's very likely that there is something that I do differently than you. Even if the emoji are not spoken on your side, I hope that a full log in debug mode from you will help me to understand the conditions in which the issue occurs so that I can finally reproduce it on my side. So please, if you do not mind, could you provide a full log in debug mode when reproducing the issue? Thanks. |
@OzancanKaratas just a reminder: could you please provide a full log in debug mode? As explained in my previous message (pasted again below), it may be useful in any case for me to reproduce the issue that you have found. Many thanks.
|
Setting this PR as ready to merge as per #14417 (comment). Note for @OzancanKaratas or any other tester: |
@CyrilleB79 would an accurate alternative changelog description be: "In Hindi, punctuation will be reported according to the default English symbol level"? |
@seanbudd, there are two paths:
We may also add the two entries if you want. |
Is "In Hindi, NVDA will no longer read punctuation symbols whatever the punctuation level." also accurate? I've found it hard to understand the current message and it's use of anymore. |
@seanbudd, you write:
Sorry, I do not understand this last comment. To be clearer (if it's just a matter of understandability), I can rephrase as follows: Also regarding #14558 (comment), it's not clear to me if you want to use one change log entry (and which one) or both. |
How about just saying: |
No, that's not true because:
Not true in the case of English symbols reported at "none" level. And in part 2:
That's only true until Indian translators complete the translation work. |
Ok this seems a tricky one. "for the Hindi language, NVDA now reports less punctuation symbols than before when the symbol level is set to none." |
"for the Hindi language, NVDA now reports less punctuation symbols than before when the symbol level is set to none."
The PR description is a little confusing about what is actually being done here.
At least to me. It is hard to make a good changelog description, when the PR
description is easily misunderstood.
For example, what does this mean?
"
This is not adapted and it would be better to take advantage of the symbol levels that are defined in the English symbol file.
"
What is not adapted? Is "adapted" the right word?
|
It sounds from the PR description, though as I said I find it a little hard to
understand, that:
For languages that have a "stub" symbol translation (a file with no symbols), or
no file at all, symbols are treated as CLDR are treated.
Since that is not ideal, this PR causes untranslated symbols to follow the
English rules for symbol level.
If all of that is a correct understanding, then it's not that symbols in Hindi
will go unannounced, or that less of them will be announced (since none were
before).
It's that:
Punctuation in languages without a symbol translation file, will be spoken as
it is in the English language, and will follow the punctuation levels from the
English symbol file.
That's my best guess of what was done, based on the description of the PR. :)
|
Correct.
No, actually, too much symbols were announced before (as described in #14417). Since there is a level defined on None in
This is correct and is the second change log proposal that I tried to phrase in #14558 (comment), i.e.:
Note: I have updated the description of the PR. Hope that it is clearer. |
@@ -33,6 +33,7 @@ This only worked for Bluetooth Serial ports before. (#14524) | |||
- NVDA no longer occasionally causes Mozilla Firefox to crash or stop responding. (#14647) | |||
- In Mozilla Firefox and Google Chrome, typed characters are no longer reported in some text boxes even when speak typed characters is disabled. (#14666) | |||
- You can now use browse mode in Chromium Embedded Controls where it was not possible previously. (#13493, #8553) | |||
- For symbols which do not have a symbol description in the current locale, the default English symbol level will be used. (#14558, #14417) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've rewritten your alternative proposal, can this be merged with this changelog entry?
Punctuation will be reported according to the default English symbol level for symbols which do not have a symbol description in the current locale. (, #14558, #14417)
Yes, this description is correct; this PR can be merged. Thanks.
Context
A first PR (#14459) had been merged to fix #14417. Unfortunately an issue was found (see #14473) so it has been reverted in #14477.
This PR is a second attempt to fix #14417 without causing #14473. It will remain a draft until I can have more information on #14473 from @OzancanKaratas, as requested in #14473 (comment), or from anyone else able to reproduce.
Link to issue number:
Fixes #14417
Summary of the issue:
Preliminary note for review
Keep in mind the following: in NVDA with CLDR enabled and with no custom user symbol defined, symbol level for symbol X is defined as follows:
If X is defined in this file and a symbol level is defined for X, then this level applies for X. Else, look at next file.
If X is defined in this file and a symbol level is defined for X, then this level applies for X. Else, look at next file.
If X is defined in this file and a symbol level is defined for X, then this level applies for X. Else, look at next file.
If X is defined in this file and a symbol level is defined for X, then this level applies for X. Else, use default symbol level (don't remember if it is None or All).
Description of the issue
Hindi has no symbol defined in its symbol file, only copyright header; seems that the file was prepared for translation but no actual symbol translation took place. But there is a Hindi CLDR file.
Currently, CLDR files are generated with level "None" for all symbols.
Usually, in locales with a CLDR file and a normal symbol files, less common characters that are only in CLDR are reported at level None, i.e. whatever the punctuation level setting of the user. But common punctuation symbols (dot, question marke, etc.) are added by translators in the locale symbol file what allows to have these symbols reported at a higher punctuation level.
For Hindi (or any language with no current symbol translated), all the characters present in CLDR file are reported at "None" level and above (i.e. at any level), because the level is not redefined in the locale (Hindi) symbol file.
In such situation, using the level of the locale CLDR (None) is not a good strategy. It would be better to take advantage of the levels defined for the symbols in the English symbol file.
Description of user facing changes
CLDR data will be available for languages which had no symbol file (am, et, kk, ne, th, ur) or empty symbol file (hi). For these languages, since there are no locale symbol file definition, the level defined in the English symbol file will be honoured.
Description of development approach
Update nvda-cldr repository to get the changes implemented in nvaccess/nvda-cldr#4.
Testing strategy:
Note: I do not speak these languages, so I just check that the reported word is not English; in Hindi however, "comma" is pronounced the same way as in English but written with Hindi characters.
Note2: Hindi is a language with existing symbol file but empty; Amharic is a language with no symbol file.
Known issues with pull request:
None
Change log entries:
Note: currently being discussed in the comments.
Bug fixes
In Hindi, NVDA will not read anymore punctuation symbols whatever the punctuation level (#14417)
Code Review Checklist: