Conversation
Beta to master
Merge beta to master
Merge beta to master
Merge beta to master
Merge beta to master
Merge beta to master
Fixes #15822. Summary of the issue: With "Handle keys from other applications" enabled, NVDA interferes with certain software which intercepts and re-transmits keyboard commands such as Nudi6.1. For example, this makes it impossible to use backspace while this software is running. Description of user facing changes Backspace now works correctly when using Nudi6.1 with NVDA's "Handle keys from other applications" setting enabled. Description of development approach Before #14708, we delayed slightly when sending keys, which would mean that any keys sent by an app which captured a key sent by NVDA would be ignored during that period. After #14708, we only ignore any keys received while NVDA is sending keys, but that doesn't include any keys captured and sent afterward by, for example, Nudi6.1. This could result in a loop where NVDA kept receiving the key it sent (re-transmitted by the other app) and sending it again. To fix this, we now explicitly wait for the key sent by NVDA (e.g. backspace) to be received by the keyboard hook before we stop ignoring keys and thus return from KeyboardInputGesture.send(). This means that if another application intercepts this key and re-transmits it, we will wait for that re-transmission and ignore it. We use a kernel event so that the notification from the keyboard hook can be handled as quickly as possible without being dependent on the system timer resolution. There is a chance that a key will be intercepted and never re-sent. To deal with this, we wait for a maximum timeout of 10 ms. This means that in the best case scenario, nothing intercepts a key sent by NVDA and we return almost immediately. In the worst case scenario, we wait between 10 and 30 ms (depending on the system timer resolution), which is no worse than the situation before #14708.
Fixes #8059 Summary of the issue: This issue seems to be because in the core pump, mouse movement events are being handled, but when executing the mouse movement event, there is no check for whether it is in sleep mode. And the function to play audio coordinates is executed accordingly. Description of user facing changes The audio coordinates are no longer played when the mouse moves over an application in sleep mode. Description of development approach Simultaneously determine whether to report audio coordinates and whether to be in sleep mode.
…tween add-ons (#15967) Fixes regression from PR #14481. Discovered due to intermittent failures occurring when installing add-ons, when working on #15852 and #15937 Summary of the issue: When installing and uninstalling add-ons bundling install tasks, installation either fails or behaves unexpectedly in the following scenarios: 1: User installs an add-on User removes it and restarts NVDA User tries to install the same add-on In this scenario when installing the install tasks included in the version of add-on which was just removed are used, which is unexpected. Note that this worked well before #14481, not sure why pkgutil.ImpImporter behaves better (I haven't investigated, as it is deprecated). 2: User installs an add-on, which imports its sub module in install tasks using loadModule and also imports a sub module in the same way inside global plugin / app module during normal operation User upgrades the add-on to a different version In this scenario after upgrade the add-on module from the uninstalled version is used during normal operation of NVDA. 3: User installs an add-on which imports one of its modules in install tasks by manipulating sys.path, for real life examples see Instant Translate and Mouse Wheel Scrolling User uninstalls this add-on, restarts NVDA, and tries to install the new version In this scenario installation fails since the imported module from the old version is used. A slight variation of this scenario is to try to install both Instant Translate and Mouse Wheel Scrolling the add-on installed last would fail to be installed, since they both bundle module named donate_dialog but with different functions Description of user facing changes Add-ons are successfully installed in all scenarios described above. Description of development approach All these problems exist because when importing modules in Python if module with the same name exists in sys.modules it is just used without importing it again. To ensure modules are always re-imported when needed, the following has been done: When importing modules we no longer use add-on name to create a name space package in which the module would be imported, the last segment of the add-on path is used instead. This ensures that the package for add-on which is installed would just be its name, and for add-on which is pending install it would end with the pending install suffix. This fixes issue 1. loadModule memorizes all modules it imported for a given add-on. After installation / removal is done they're removed from sys.modules. This fixes issue 2. To remove cached modules imported with the standard import command, we store names of all modules imported before installation / removal, perform it, create list of newly imported modules and remove all newly added modules which belong to the add-on from the cache. This fixes issue 3.
By performing pip freeze in the NVDA virtual environment, it appears we no longer use or depend on the library pywin32 - #9639 Pywin32 also has changed licence to the Python Software Foundation licence which is also included in our license file. Therefore, we should remove this custom license from our licence.
Co-authored-by: Łukasz Golonka <lukasz.golonka@mailbox.org>
Co-authored-by: Łukasz Golonka <lukasz.golonka@mailbox.org>
merge beta to master
Co-authored-by: Sean Budd <sean@nvaccess.org>
…d above 10.0.22000 is seen when instantiating (#15993) Closes #15992 Summary of the issue: When an unknown build above 10.0.22000 is instantiated, winVersion.WinVersion says "Windows 10 unknown". Description of user facing changes None Description of development approach Using structural pattern matching, say "Windows 11 unknown" if major == 10, minor == 0, build >= 22000 and the build is not recorded in builds to release names private map. This PR also includes modernized type hints and a unit test for this issue.
Remove and ignore English nvda.po as it is not needed, yet is provid…
See discussion in #14986 Summary of the issue: Switching tabs in add-on store with ctrl+tab announces "tab control panel", and moves the focus in a strange position. Description of user facing changes Users will be positioned on tab list, over the new current tab, that will be read by NVDA. Description of development approach Simply SetFocus on addonListTabs (wx.Notebook) if it's not already here, at the end of page change event handler.
Co-authored-by: Sean Budd <sean@nvaccess.org>
) The Liblouis braille transcriber was updated in #16259, but the newly added grc-international-es.utb table, as noted in the release notes at https://github.com/liblouis/liblouis/releases/tag/v3.29.0 (New features section), was not added to the NVDA's table list. Description of user facing changes New table in the table list called "Spanish for Greek text". Changelog entry added in #16259 has been also extended to reflect this update. Description of development approach Call addTable() as for all other tables.
Closes #16287 Summary of the issue: Disabling sound split still could touch channel volumes. Description of development approach 1. If sound split mode is disabled at startup, we're not touching any volumes. 2. If user toggles to disabled mode, then first we set mode to NVDA_BOTH_APPS_BOTH to effectively restore the volumes, then set sound pslit state to off.
This function is needed for both #8518 and #16050. Summary of the issue: Suppose we have TextInfo that represents a paragraph of text: ``` > s = paragraphInfo.text > s 'Hello, world!\r' ``` Suppose that we would like to put the cursor at the first letter of the word 'world'. That means jumping to index 7: ``` > s[7:] 'world!\r' ``` The problem is that calling paragraphInfo.move(UNIT_CHARACTER, 7, "start") is not guaranteed to achieve desired effect. There are two main reasons for that: 1. In Wide character encoding, some 4-byte unicode characters are represented as two surrogate characters, whereas in pythonic string they would be represented by a single character. 2. In non-offset TextInfos (e.g. UIATextInfo) there is no guarantee on the fact that TextInfos.move(UNIT_CHARACTER, 1)would actually move by exactly 1 character. A good illustration of this is in Microsoft Word with UIA enabled always, the first character of a bullet list item would be represented by three pythonic characters: ◦ Bullet character "•" ◦ Tab character \t ◦ And the first character of of list item per se. 3. The third problem of TextInfo.move(UNIT_CHARACTER) function is its performance in some implementations. In particular, moving by 10000 characters in Notepad++ takes over a second on a reasonably modern PC. I might not need to move by 10000 characters in my upcoming PRs, but I will need to move by a few thousands for sure since for sentence navigation I would need to move within a paragraph and some large paragraphs in typical texts can easily be few thousands characters. I need to find both beginning and end textInfos, and if each operation takes say 200ms, then we'd be wasting almost half a second on just moving by characters. Since there were previous concerns about sentence navigation being not fast enough, II would like to introduce this efficient implementation. Here is how this can be done efficiently using this PR: ``` > info = paragraphInfo.moveToPythonicOffset(7) > info.setEndPoint(paragraphInfo, "endToEnd") > info.text 'world!\r' ``` Description of development approach 1. For general case, I implemented binary-search-like algorithm. I explained it in great detail in the code. Please see def moveToPythonicOffset function in textInfos\__init__.py. 2. I provided optimized implementations for OffsetsTextInfo and CompoundTextInfo. 3. I refactored textUtils.py making it conformant to OOP style. I implemented UTF8OffsetConverter and dummy IdentityOffsetConverter as well as their abstract base class and a function getOffsetConverter that selects correct converter based on encoding. I renamed a couple of methods of WideStringOffsetConverter in order to remove the word wide - as now I would like to use similar methods for UTF8 converter, and it has nothing to do with wide strings.
Closes #16292 Summary of the issue: When sound split is enabled, if an application is closed while NVDA is still running, its channel volume would be preserved even after the app is restarted later without NVDA. Description of user facing changes N/A Description of development approach Catching on_state_changed notification and when new_state == "Expired" - this means that the application just exited - we restore both left and right channel to full volume.
Added some Kannada symbols
added Braille codes for each Kannada character discriptions
Summary of the issue: Update security policy to clarify when security issues are submitted, for each severity level, what is our SLA, how many resources do we allocate, when do we release the patch & advisory? Description of user facing changes Documentation only: Security policy
Fix-up of PR from GHSA-xg6w-23rw-39r8. Summary of the issue: A masking issue was found in ui.browseableMessage where we try to call the module level function message but it is masked by the local variable message which is an argument of ui.browseableMessage. Description of user facing changes In case an installation cannot create a Scripting.Dictionary COM object, a message will now be reported. Description of development approach I access the module level message function through globals() dictionary and store it in a new local variable to use it. It would have been cleaner to rename the argument of ui.browseableMessage but I have not done so because changing the signature of a function is API-breaking. I have also caught one more exception type because I have realized while testing that calling comtypes.client.CreateObject with an unknown class string raises OSError.
Closes #16387 Closes #16386 Summary of the issue: Exception when trying to use vertical quickNav in excel browse mode. Exception when trying to use vertical quickNav on an empty word document. Description of user facing changes Fixed exception. Now message "not available" is spoken in excel. In empty word document "no next paratgraph" message is spoken. Description of development approach Moved _iterSimilarParagraph() method from BrowseModeTreeInterceptor to BrowseModeDocumentTreeInterceptor class. Catching RuntimeError coming from MSWord textInfo when calling .collapse().
Closes #16382. Summary of the issue: Vertical navigation is too slow. Description of user facing changes N/A Description of development approach Retrieving x coordinate faster in Gecko textInfo by doing a direct IAccessible2 call - as opposed to creating an NVDAObject. According to my rough measurement, this speeds up vertical navigation about 10 times.
Closes #16052. Summary of the issue: Needd commands to adjust volume of all applications other than NVDA. Description of user facing changes Adding commands to adjust volume of all applications other than NVDA bound to nvda+alt+pageUp/pageDown. Also adding a command to mute all applications other than NVDA bound to nvda+alt+delete. Also adding corresponding settings to audio panel. Description of development approach Making use of sound split code - we already have code to set volume of all other apps, but it's only used to mute left or right channel. Reusing same code to adjust volume as well.
Closes #16000 Summary of the issue: Adding jump to same style and jump to different style QuickNav commands. Description of user facing changes Adding jump to same style and jump to different style QuickNav commands. They are not assigned to any keyboard gestures by default. Description of development approach Scanning document by paragraph in the desired direction and analyzing styles within each paragraph.
fixes #15898 Summary of the issue: Both in NVDA core, as well as some add-ons, have features that work with speech but don't work with braille Description of user facing changes Braille only users will be able to read NVDA speech in braille, thus get access to a lot more features then they would otherwise Description of development approach A new braille mode has been added, called "speech emulation". In this mode, NVDA will send all text that has been spoken since the last time speech was canceled, to the braille display. If the speech was canceled do to the user scrolling the braille display back or fourth, the speech output mode will treat it as if the speech was not canceled, so the user can read the text without erasing it accidentally. If braille.handler.rawText is grater then 100000 characters, it will not be sent, because in my experience, NVDA will freeze when that much text is sent to the braille display at once. The braille settings panel has been rearranged so that all settings not aplickable to speech emulation is grouped together. A new combo box has been added to the braille settings panel, and a new script with the gesture NVDA+alt+t have been added, that allows the user to change braille mode.
…ttings dialog (#16352) Summary of the issue: The settings dialog contains always more error message boxes appearing when the validation of a parameter fails: modes available in cycle speech mode command or in cycle sound split mode command and regex validation in advanced settings have been added recently. These messages do not formally mention the panel, nor the option which they are associated with. This may be difficult for the user to know which option is causing the error when the user has been modifying various settings in various setting panels (categories) before validating with "OK" or "Apply". Description of user facing changes The validation error messages now indicate the category and the name of the option which is causing the error so that the user can go to this option and modify it. Description of development approach Create a common dedicated error validation message with appropriate placeholders to be filled.
fixes #16323 Summary of the issue: When selecting columns to display in Thunderbird message list, column state (checked or not checked) is not automatically spoken or shown in braille when state changes. Description of user facing changes Column state is automatically spoken and shown in braille when it changes. Description of development approach Added nameChange event to thunderbird.AppModule.
…t supporting IAccessible2. (#16392) Summary of the issue: Users have to explicitly configure in NVDA advanced options to "use UIA for Edge and other chromium based browsers", for NVDA to work with HP Secure Browser. Description of user facing changes: Users won't have to explicitly configure UIA for all chromium-based browsers when they want to use HP Secure Browser Description of development approach: Detect browser with a process name of "brchrome" which represents HP Secure Browser and flag it as not supporting IAccecssible2. In this scenario, UIA will be used by default for HP SB. Co-authored-by: Tomasz Wroblewski <tomasz.wroblewski@hp.com>
…tection to cope with VT_EMPTY runtimeID. (#16393) Summary of the issue: When enough websites are open in separate tabs, SB will suspend some of the virtual machines hosting the websites to disk. This can cause UIA documents representing these websites to become dead. In this scenario querying UIA_RuntimeIdPropertyId of the dead document returns VT_EMPTY variant, causing uncaught exception raised from UIABrowseModeDocument.__contains__. This keeps repeating, preventing NVDA from working correctly, if at all. Description of user facing changes: NVDA works correctly regardless of vm suspensions or other scenarios where UIA documents can become dead. Description of development approach: UIABrowseModeDocument.__contains__ already has code to detect dead documents, however it relies on COMError being reported from UIA_RuntimeIdPropertyId property query. In my testing, even when the server side reports an error HRESULT from IRawElementProviderFragment::GetRuntimeID() uia method, UIA core appears to translate it into a successful property query, yet with a VT_EMPTY variant as the property value. It's possible this behaviour is different between various UIA core versions, my testing is primarily on Windows 11 build 22631. We amend the detection such that both COMError and VT_EMPTY variant are detected and treated equally, causing the dead document codepath to execute. Co-authored-by: Tomasz Wroblewski <tomasz.wroblewski@hp.com>
…ail sign-in fields when chromium (#16395) is using UIA text ranges (rather than IA2) Summary of the issue: When using Secure Browser, Backspace key is not working in gmail's signin fields (email address, password etc) Description of user facing changes: Backspace key works after the changes, but this is a partial fix only since the deleted character is still not spoken. Description of development approach: UIA exceptions are preventing codepaths such as reinjection of backspace event from working properly. Catch&log exceptions rather than letting them escape. Co-authored-by: Tomasz Wroblewski <tomasz.wroblewski@hp.com>
… iterUIARangeByUnit (#16394) Summary of the issue: We're experiencing NVDA locking up trying to infinitely split some text ranges, for example on www.bat.org when it tries to split the range representing "Submit" button into individual characters. NVDA hangs completely in this scenario and has to be forcibly killed. If the offending split is attempted, the hang always happens. Secure Browser seems to be provoking this split more, but we've also seen that in normal chromium-based browsers when using UIA instead of IAccessible2. This could be due to significant timing differences etc, as the virtualized browser has higher overhead. Typical repro scenario involves navigating to www.bat.org then duplicating the tab & closing some of the dupes, until NVDA attempts the split and hangs. Description of user facing changes: Detect & prevent the infinite loop so that NVDA remains responsive Description of development approach: This is likely a deficiency in UIA text range implementation on the chromium side, as I don't see anything obviously wrong with the algorithm in iterRangeByUnit which is doing the split. Rewriting this UIA algorithm in C++ and running against offending website also hangs, always, in regular Google Chrome, Edge, and Secure Browser. At the cost of extra Compare COM call we can detect that chromium is yielding same range infinitely, and therefore detect & shortcircuit the infinite loop on the NVDA side. Co-authored-by: Tomasz Wroblewski <tomasz.wroblewski@hp.com>
* Changelog entries for #16392 #16393 #16394 #16395 Summary of the issue: Changelog entries are missing for #16392 #16393 #16394 #16395 Description of user facing changes: Added Changelog entries Description of development approach: N/A * Apply suggestions from code review --------- Co-authored-by: Tomasz Wroblewski <tomasz.wroblewski@hp.com> Co-authored-by: Sean Budd <seanbudd123@gmail.com>
* L10n updates for: ar From translation svn revision: 78868 Authors: Fatma Mehanna <fatma.mehanna@gmail.com> Shaimaa Ibrahim <shamse1@gmail.com> Abdelkrim Bensaid <abdelkrim.bensaid@free.fr> Omar Alojaimi <amrahmad1995@gmail.com> Stats: 6 3 user_docs/ar/changes.t2t 1222 565 user_docs/ar/userGuide.t2t 2 files changed, 1228 insertions(+), 568 deletions(-) * L10n updates for: da From translation svn revision: 78868 Authors: Daniel K. Gartmann <kontakt@nvda.dk> Nicolai Svendsen <chojiro1990@gmail.com> bue@vester-andersen.dk Stats: 135 112 user_docs/da/userGuide.t2t 1 file changed, 135 insertions(+), 112 deletions(-) * L10n updates for: de From translation svn revision: 78868 Authors: Bernd Dorer <bdorer@mailbox.org> David Parduhn <xkill85@gmx.net> Rene Linke <rene.linke@hamburg.de> Adriani Botez <adriani.botez@gmail.com> Karl Eick <hozosch@web.de> Robert Hänggi <aarjay.robert@gmail.com> Astrid Waldschmetterling <a.r.waldschmetterling@gmx.de> Stats: 73 56 user_docs/de/changes.t2t 8 7 user_docs/de/userGuide.t2t 2 files changed, 81 insertions(+), 63 deletions(-) * L10n updates for: es From translation svn revision: 78868 Authors: Juan C. buno <oprisniki@gmail.com> Noelia Martinez <nrm1977@gmail.com> Remy Ruiz <remyruiz@gmail.com> Jose M. Delicado <jm.delicado@nvda.es> Stats: 13 4 user_docs/es/changes.t2t 21 20 user_docs/es/userGuide.t2t 2 files changed, 34 insertions(+), 24 deletions(-) * L10n updates for: fi From translation svn revision: 78868 Authors: Jani Kinnunen <janikinnunen340@gmail.com> Isak Sand <isak.sand@gmail.com> Stats: 2 2 user_docs/fi/changes.t2t 6 6 user_docs/fi/userGuide.t2t 2 files changed, 8 insertions(+), 8 deletions(-) * L10n updates for: fr From translation svn revision: 78868 Authors: Michel such <michel.such@free.fr> Remy Ruiz <remyruiz@gmail.com> Abdelkrim Bensaid <abdelkrim.bensaid@free.fr> Cyrille Bougot <cyrille.bougot2@laposte.net> Corentin Bacqué-Cazenave <corentin@progaccess.net> Sylvie Duchateau <sylvieduchateau@gmail.com> Sof <hellosof@gmail.com> Stats: 334 0 user_docs/fr/changes.t2t 5 4 user_docs/fr/userGuide.t2t 2 files changed, 339 insertions(+), 4 deletions(-) * L10n updates for: gl From translation svn revision: 78868 Authors: Juan C. buno <oprisniki@gmail.com> Ivan Novegil <ivan.novegil@nvda.es> Javier Curras <javier.curras@nvda.es> Jose M. Delicado <jm.delicado@nvda.es> Stats: 12 4 user_docs/gl/changes.t2t 21 20 user_docs/gl/userGuide.t2t 2 files changed, 33 insertions(+), 24 deletions(-) * L10n updates for: hr From translation svn revision: 78868 Authors: Hrvoje Katic <hrvojekatic@gmail.com> Zvonimir Stanecic <zvonimirek222@yandex.com> Milo Ivir <mail@milotype.de> Dejana Rakic <dejana.rakic.2@gmail.com> Stats: 13 4 user_docs/hr/changes.t2t 4 3 user_docs/hr/userGuide.t2t 2 files changed, 17 insertions(+), 7 deletions(-) * L10n updates for: it From translation svn revision: 78868 Authors: Simone Dal Maso <simone.dalmaso@gmail.com> Alberto Buffolino <a.buffolino@gmail.com> Stats: 334 0 user_docs/it/changes.t2t 1 file changed, 334 insertions(+) * L10n updates for: pl From translation svn revision: 78868 Authors: Grzegorz Zlotowicz <grzezlo@wp.pl> Patryk Faliszewski <patric3031@wp.pl> Zvonimir Stanecic <zvonimirek222@yandex.com> Dorota Krac <dorkakrac@yandex.com> Piotr Rakowski <kontakt@piotrrakowski.net> Hubert Meyer <hubmeyer1989@gmail.com> Arkadiusz Swietnicki <nuno69a@gmail.com> Stats: 179 0 user_docs/pl/changes.t2t 4 3 user_docs/pl/userGuide.t2t 2 files changed, 183 insertions(+), 3 deletions(-) * L10n updates for: pt_PT From translation svn revision: 78868 Authors: Diogo Costa <diogojoca@gmail.com> Rui Batista <ruiandrebatista@gmail.com> Rui Fontes <rui.fontes@tiflotecnia.com> Ângelo Abrantes <ampa4374@gmail.com> Stats: 192 10 user_docs/pt_PT/changes.t2t 6 5 user_docs/pt_PT/userGuide.t2t 2 files changed, 198 insertions(+), 15 deletions(-) * L10n updates for: ta From translation svn revision: 78868 Authors: Dinakar T.D. <td.dinkar@gmail.com> Stats: 6 5 user_docs/ta/userGuide.t2t 1 file changed, 6 insertions(+), 5 deletions(-) * L10n updates for: tr From translation svn revision: 78868 Authors: Cagri Dogan <cagrid@hotmail.com> Stats: 333 3 user_docs/tr/changes.t2t 275 122 user_docs/tr/userGuide.t2t 2 files changed, 608 insertions(+), 125 deletions(-) * L10n updates for: vi From translation svn revision: 78868 Authors: Dang Hoai Phuc <danghoaiphuc@gmail.com> Nguyen Van Dung <dungnv1984@gmail.com> Stats: 193 11 user_docs/vi/changes.t2t 1 file changed, 193 insertions(+), 11 deletions(-) * L10n updates for: zh_CN From translation svn revision: 78868 Authors: vgjh2005@gmail.com jiangtiandao901647@gmail.com manchen_0528@outlook.com dingpengyu06@gmail.com singer.mike.zhao@gmail.com 1872265132@qq.com Stats: 108 108 user_docs/zh_CN/changes.t2t 39 42 user_docs/zh_CN/userGuide.t2t 2 files changed, 147 insertions(+), 150 deletions(-) * L10n updates for: zh_TW From translation svn revision: 78868 Authors: wangjanli@gmail.com maro.zhang@gmail.com Aaron Wu <waaron2000@gmail.com> Victor Cai <surfer0627@gmail.com> haach111000@gmail.com Stats: 267 249 source/locale/zh_TW/symbols.dic 286 144 user_docs/zh_TW/userGuide.t2t 2 files changed, 553 insertions(+), 393 deletions(-) * L10n updates for: ar From translation svn revision: 79143 Authors: Fatma Mehanna <fatma.mehanna@gmail.com> Shaimaa Ibrahim <shamse1@gmail.com> Abdelkrim Bensaid <abdelkrim.bensaid@free.fr> Omar Alojaimi <amrahmad1995@gmail.com> Stats: 25 20 user_docs/ar/userGuide.t2t 1 file changed, 25 insertions(+), 20 deletions(-) * L10n updates for: bg From translation svn revision: 79143 Authors: Zahari Yurukov <zahari.yurukov@gmail.com> Kostadin Kolev <k.kolev1985@gmail.com> Stats: 340 6 user_docs/bg/changes.t2t 261 117 user_docs/bg/userGuide.t2t 2 files changed, 601 insertions(+), 123 deletions(-) * L10n updates for: da From translation svn revision: 79143 Authors: Daniel K. Gartmann <kontakt@nvda.dk> Nicolai Svendsen <chojiro1990@gmail.com> bue@vester-andersen.dk Stats: 118 71 user_docs/da/changes.t2t 1 file changed, 118 insertions(+), 71 deletions(-) * L10n updates for: fa From translation svn revision: 79143 Authors: Ali Aslani <aslani.ali@gmail.com> Mohammadreza Rashad <mohammadreza5712@gmail.com> Stats: 177 0 user_docs/fa/changes.t2t 1 file changed, 177 insertions(+) * L10n updates for: hu From translation svn revision: 79143 Authors: Aron OcsvAri <oaron@nvda.hu> Stats: 220 0 user_docs/hu/changes.t2t 1 file changed, 220 insertions(+) * L10n updates for: it From translation svn revision: 79143 Authors: Simone Dal Maso <simone.dalmaso@gmail.com> Alberto Buffolino <a.buffolino@gmail.com> Stats: 1 1 source/locale/it/symbols.dic 25 25 user_docs/it/changes.t2t 4 3 user_docs/it/userGuide.t2t 3 files changed, 30 insertions(+), 29 deletions(-) * L10n updates for: nl From translation svn revision: 79143 Authors: Bram Duvigneau <bram@bramd.nl> Bart Simons <bart@bartsimons.be> A Campen <a.campen@wxs.nl> Leonard de Ruijter <alderuijter@gmail.com> Stats: 236 211 user_docs/nl/userGuide.t2t 1 file changed, 236 insertions(+), 211 deletions(-) * L10n updates for: pt_BR From translation svn revision: 79143 Authors: Cleverson Casarin Uliana <nvdasrt@clul.router5.com> Marlin Rodrigues <marlincgrodrigues@yahoo.com.br> Tiago Melo Casal <tcasal@intervox.nce.ufrj.br> Lucas Antonio <lucasantoniocwb@gmail.com> Stats: 240 232 user_docs/pt_BR/changes.t2t 180 181 user_docs/pt_BR/userGuide.t2t 2 files changed, 420 insertions(+), 413 deletions(-) * L10n updates for: sk From translation svn revision: 79143 Authors: Ondrej Rosik <ondrej.rosik@gmail.com> Peter Vagner <peter.v@datagate.sk> Jan Kulik <jan.kulik.szsle@outlook.sk> Stats: 175 0 user_docs/sk/changes.t2t 269 123 user_docs/sk/userGuide.t2t 2 files changed, 444 insertions(+), 123 deletions(-) * L10n updates for: sr From translation svn revision: 79143 Authors: Nikola Jovic <wwenikola123@gmail.com> Janko Valencik <janko.valencik@alfanum.co.rs> Zvonimir <zvonimirek222@yandex.com> Danijela Popovic <vlajna95@gmail.com> Stats: 178 5 user_docs/sr/changes.t2t 301 149 user_docs/sr/userGuide.t2t 2 files changed, 479 insertions(+), 154 deletions(-) * L10n updates for: tr From translation svn revision: 79143 Authors: Cagri Dogan <cagrid@hotmail.com> Stats: 119 111 user_docs/tr/userGuide.t2t 1 file changed, 119 insertions(+), 111 deletions(-) * L10n updates for: uk From translation svn revision: 79143 Authors: Volodymyr Pyrig <vp88.mobile@gmail.com> Stats: 5 4 user_docs/uk/userGuide.t2t 1 file changed, 5 insertions(+), 4 deletions(-) * L10n updates for: vi From translation svn revision: 79143 Authors: Dang Hoai Phuc <danghoaiphuc@gmail.com> Nguyen Van Dung <dungnv1984@gmail.com> Stats: 1 1 user_docs/vi/changes.t2t 4 4 user_docs/vi/userGuide.t2t 2 files changed, 5 insertions(+), 5 deletions(-) * L10n updates for: zh_CN From translation svn revision: 79143 Authors: vgjh2005@gmail.com jiangtiandao901647@gmail.com manchen_0528@outlook.com dingpengyu06@gmail.com singer.mike.zhao@gmail.com 1872265132@qq.com Stats: 26 27 source/locale/zh_CN/characterDescriptions.dic 127 127 user_docs/zh_CN/changes.t2t 96 97 user_docs/zh_CN/userGuide.t2t 3 files changed, 249 insertions(+), 251 deletions(-) * L10n updates for: zh_TW From translation svn revision: 79143 Authors: wangjanli@gmail.com maro.zhang@gmail.com Aaron Wu <waaron2000@gmail.com> Victor Cai <surfer0627@gmail.com> haach111000@gmail.com Stats: 24 16 source/locale/zh_TW/characterDescriptions.dic 406 0 user_docs/zh_TW/changes.t2t 2 files changed, 430 insertions(+), 16 deletions(-) * Update translations (#16324) * L10n updates for: fa From translation svn revision: 79170 Authors: Ali Aslani <aslani.ali@gmail.com> Mohammadreza Rashad <mohammadreza5712@gmail.com> Stats: 273 126 user_docs/fa/userGuide.t2t 1 file changed, 273 insertions(+), 126 deletions(-) * L10n updates for: fr From translation svn revision: 79170 Authors: Michel such <michel.such@free.fr> Remy Ruiz <remyruiz@gmail.com> Abdelkrim Bensaid <abdelkrim.bensaid@free.fr> Cyrille Bougot <cyrille.bougot2@laposte.net> Corentin Bacqué-Cazenave <corentin@progaccess.net> Sylvie Duchateau <sylvieduchateau@gmail.com> Sof <hellosof@gmail.com> Stats: 2 2 user_docs/fr/userGuide.t2t 1 file changed, 2 insertions(+), 2 deletions(-) * L10n updates for: fr From translation svn revision: 79348 Authors: Michel such <michel.such@free.fr> Remy Ruiz <remyruiz@gmail.com> Abdelkrim Bensaid <abdelkrim.bensaid@free.fr> Cyrille Bougot <cyrille.bougot2@laposte.net> Corentin Bacqué-Cazenave <corentin@progaccess.net> Sylvie Duchateau <sylvieduchateau@gmail.com> Sof <hellosof@gmail.com> Stats: 93 82 user_docs/fr/changes.t2t 13 13 user_docs/fr/userGuide.t2t 2 files changed, 106 insertions(+), 95 deletions(-) * L10n updates for: nl From translation svn revision: 79348 Authors: Bram Duvigneau <bram@bramd.nl> Bart Simons <bart@bartsimons.be> A Campen <a.campen@wxs.nl> Leonard de Ruijter <alderuijter@gmail.com> Stats: 1 1 user_docs/nl/userGuide.t2t 1 file changed, 1 insertion(+), 1 deletion(-) * L10n updates for: ta From translation svn revision: 79348 Authors: Dinakar T.D. <td.dinkar@gmail.com> Stats: 2 2 user_docs/ta/userGuide.t2t 1 file changed, 2 insertions(+), 2 deletions(-) --------- Co-authored-by: NVDA translation automation <nvda-translations@groups.io> Co-authored-by: Michael Curran <mick@nvaccess.org>
Beta to master
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.