Skip to content
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

Improve announcing of input method of pinyin input in Chinese. #3983

Open
nvaccessAuto opened this issue Mar 16, 2014 · 16 comments
Open

Improve announcing of input method of pinyin input in Chinese. #3983

nvaccessAuto opened this issue Mar 16, 2014 · 16 comments

Comments

@nvaccessAuto
Copy link

Reported by vgjh2005 on 2014-03-16 00:29
My system is Windows 7 32 bit. The input method is QQ pinyin and Sougou Pinyin. The test software include notepad word excel etc.
I hope to change the candidate reading way of Chinese. If we make a word that have two characters one time, then read their short descriptions. If we type three or more characters, read the characters first, then read their short descriptions. This way is used by the other screen reader developed in China. Users like this way very much!
In the other hands,The reading of candidate is not always reading automatically. I make input three times, however, it can be read in the first time and the last time, the middle time may be not read at all.
The download link of the QQ pinyin input method is http://dl.qqpy.sogou.com/client/QQPinyin_Setup_4.6.2051.400.exe
Thanks!

@nvaccessAuto
Copy link
Author

Comment 1 by vgjh2005 on 2014-03-26 01:21
Hi:
I made some test after this feedback. I find the regular about that NVDA cannot read the InputMethod in Windows7. I hope I can hear the voiceback of any key I have pressed about the candidate list report. For example, I press the N key, the candidate item is 你(ni3), then I press the I key, the candidate is still 你. NVDA will interupt the reading at this time. I can not hear the voiceback. Thanks.

@nvaccessAuto
Copy link
Author

Comment 2 by vgjh2005 on 2014-04-15 03:23
Hi:
I hope to change candidate list reading way in Chinese. Here are advises:

  1. Remove Report changes to the reading string checkbox. Let NVDA determine if open it. If Report changes to the composition string checkbox is checked, open it.
  2. Add a combobox to define how many Characters should contain their descriptions.
  3. Add a checkbox to define if read the source characters.
    I am sorry for this changes.
    Thanks a lot.

@nvaccessAuto
Copy link
Author

Comment 3 by vgjh2005 on 2014-04-15 03:25
I don't know how to change ticket, so I submit in a new comment.
Thanks.

@nvaccessAuto
Copy link
Author

Comment 4 by vgjh2005 on 2014-05-03 13:52
Hi:
I find a new bug: when I check the checkbox Always include short character &description when announcing candidates, I will listen to a error sound when I press any keys each time. There is the error log:
ERROR - eventHandler.executeEvent (21:48:50):
error executing event: gainFocus on <NVDAObjects.inputComposition.CandidateItem object at 0x04B18350> with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 143, in executeEvent
File "eventHandler.pyc", line 91, in init
File "eventHandler.pyc", line 98, in next
File "appModules\explorer.pyc", line 218, in event_gainFocus
File "eventHandler.pyc", line 98, in next
File "NVDAObjects__init__.pyc", line 845, in event_gainFocus
File "NVDAObjects\behaviors.pyc", line 384, in reportFocus
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
ERROR - queueHandler.flushQueue (21:48:50):
Error in func handleInputCandidateListUpdate from eventQueue
Traceback (most recent call last):
File "queueHandler.pyc", line 50, in flushQueue
File "NVDAHelper.pyc", line 201, in handleInputCandidateListUpdate
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\behaviors.pyc", line 394, in _get_visibleCandidateItemsText
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\inputComposition.pyc", line 147, in _get_name
File "NVDAObjects\behaviors.pyc", line 361, in getFormattedCandidateName
KeyError: u'number'
Thanks.

@nvaccessAuto
Copy link
Author

Comment 5 by MHameed on 2014-05-03 14:10
Hi,
After you are logged in, you can create new tickets from this page:
http://community.nvda-project.org/newticket

Anyway, in zh_CN/nvda.po I see the following, which might relate to the traceback above:

#. Translators: a message announcing a candidate's character and description.
msgid "{symbol} as in {description}"
msgstr "{description}"

#. Translators: a formatted message announcing a candidate's number and candidate text.
msgid "{number} {candidate}"
msgstr "{candidate}"

please correct and try again.
thanks.
Mesar

@nvaccessAuto
Copy link
Author

Comment 6 by vgjh2005 (in reply to comment 5) on 2014-08-14 09:19
Replying to MHameed:

Hi,

After you are logged in, you can create new tickets from this page:

http://community.nvda-project.org/newticket

Anyway, in zh_CN/nvda.po I see the following, which might relate to the traceback above:

#. Translators: a message announcing a candidate's character and description.

msgid "{symbol} as in {description}"

msgstr "{description}"

#. Translators: a formatted message announcing a candidate's number and candidate text.

msgid "{number} {candidate}"

msgstr "{candidate}"

please correct and try again.

thanks.

Mesar

Hi Mesar:
This change is made by me. The source character and candidate number will no longer read for now when I Uncheck "Always include short character description when announcing candidates" Checkbox. There are no options to close the information, and it will let us slow to make the selecting.
Thanks.

@nvaccessAuto
Copy link
Author

Comment 7 by vgjh2005 on 2014-08-14 09:26
Hi:
This ticket will be closed. Because it could cause confuse. Sorry.

@nvaccessAuto
Copy link
Author

Comment 8 by jteh on 2014-08-14 10:43
Why do you want it closed? Is this fixed, invalid or something you don't want fixed any longer?

@nvaccessAuto
Copy link
Author

Comment 9 by vgjh2005 on 2014-08-14 14:34
Hi:
I commit some comments here. I am afraid of that you don't know what I said. I also collect some advise about this. I think I should rewrite the ticket. Need I create a new ticket again?
Thanks!

@nvaccessAuto
Copy link
Author

Comment 10 by jteh on 2014-08-14 14:35
Rather than creating a new ticket, please just provide a thorough summary of exactly what you're requesting in another comment. Thanks.

@nvaccessAuto
Copy link
Author

Comment 11 by vgjh2005 on 2015-02-01 19:36
Changes:
Changed title from "Can you change the reading way of input method in Chinese?" to "Improve announcing of input method of pinyin input in Chinese."

@nvaccessAuto
Copy link
Author

Comment 12 by vgjh2005 on 2015-02-01 19:45
Hi:
Change follow is that we want:

  1. If candidate item characters number is >=2, announce the character at first then their character descriptions.
  2. Put the candidate item number at the end of the announcing strings.
  3. Whenever and whatever key I press, NVDA will announce the selected candidate item. For example, I type nih, and the character 你好 is apeared, finally I add letter k, but the content of selected candidate item isn't changed, NVDA will not announce and will be interupted by the key press() input nihk is still characters 你好).
  4. Support TSF server as soon as possibility. It become more and more exigent according as windows 10 release. More computer will upgrade to windows 10 because of free upgrade from windows 7 above. Thanks!

@bhavyashah
Copy link

@vgjh2005 Do all four of the requested changes noted in #3983 (comment) still stand? The fourth pointer does not seem to related, so CC @josephsl to aid us in sharing updates on NVDA's current support for Windows 10 TSF servers. Also, I would appreciate thoughts from others on whether all four of the reported issues should be tackled under the ambit of this one ticket or separately.

@vgjh2005
Copy link

yes. Nothing had done.

@Adriani90
Copy link
Collaborator

it seems that there are many issues related to chinese input candidates. @josephsl, @nishimotz, @dineshkaushal if you have any suggestions, this would be very apreciated.

@cary-rowen
Copy link
Contributor

For now, the experience of the Chinese input method is still very bad. The four suggestions in this issue are still valid. If these improvements can be completed, it will be a leap forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants