Repository navigation
Direct download link - #79
Closed
CyrilleB79 wants to merge 37 commits into
Closed
CyrilleB79 wants to merge 37 commits into
CyrilleB79 wants to merge 37 commits into
Conversation
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v5...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This pull request introduces a new pyproject.toml configuration for the addonTemplate project, establishing modern Python project metadata, build settings, and development dependencies. It also updates and refines linting and static analysis configurations to improve code quality and development workflow.
Fix ruff in pyproject
Fix pyproject excluding siteScons from pyright
…tifact from 5 to 6 (nvdaaddons#12)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 7 to 8. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v7...v8) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@v6...v7) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the uv group with 3 updates in the / directory: [filelock](https://github.com/tox-dev/py-filelock), [urllib3](https://github.com/urllib3/urllib3) and [virtualenv](https://github.com/pypa/virtualenv). Updates `filelock` from 3.20.1 to 3.20.3 - [Release notes](https://github.com/tox-dev/py-filelock/releases) - [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst) - [Commits](tox-dev/filelock@3.20.1...3.20.3) Updates `urllib3` from 2.6.2 to 2.6.3 - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](urllib3/urllib3@2.6.2...2.6.3) Updates `virtualenv` from 20.35.4 to 20.36.1 - [Release notes](https://github.com/pypa/virtualenv/releases) - [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst) - [Commits](pypa/virtualenv@20.35.4...20.36.1) --- updated-dependencies: - dependency-name: filelock dependency-version: 3.20.3 dependency-type: indirect dependency-group: uv - dependency-name: urllib3 dependency-version: 2.6.3 dependency-type: indirect dependency-group: uv - dependency-name: virtualenv dependency-version: 20.36.1 dependency-type: indirect dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ries (NVDA 2026.2) (nvdaaddons#19) Closes nvdaaddons#15 This pull request add support for building custom speech pronunciation dictionaries via the add-on template. Changes made: Adds "speechDictionraies" sectoin to buildVars Adds speech dictionaries manifest key type and generation rules (borrowing custom symbol dictionaries)
…ons#21) Currently, checks are run with GitHub Actions regardless of files which have been changed. This PR makes checks to be run just for add-ons. Additionally, Python and dependencies are installed using uv and pyproject.toml.
Co-authored-by: Cyrille Bougot <cyrille.bougot@laposte.net>
Various CI fixes and improvements:
Do not try to build / make release if the workflow is run from this add-on template repo, since it fails and the template is not meant to be used as a release. Fixes: Do not restrict workflow triggers to addon path nvdaaddons#22 (comment).
Modernized uv usage with "uv sync", fixing the failure on previously used "uv pip install". Discussed in Do not restrict workflow triggers to addon path nvdaaddons#22 (comment).
Use uv for each command using Python so that the correct environment is used
Added .egg-info to .git-ignore
Updated readme
nvdaaddons#25) Bumps the uv group with 1 update in the / directory: [requests](https://github.com/psf/requests). Updates `requests` from 2.32.5 to 2.33.0 - [Release notes](https://github.com/psf/requests/releases) - [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md) - [Commits](psf/requests@v2.32.5...v2.33.0) --- updated-dependencies: - dependency-name: requests dependency-version: 2.33.0 dependency-type: direct:production dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…aaddons#26) Bumps the uv group with 1 update in the / directory: [uv](https://github.com/astral-sh/uv). Updates `uv` from 0.9.11 to 0.11.6 - [Release notes](https://github.com/astral-sh/uv/releases) - [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG.md) - [Commits](astral-sh/uv@0.9.11...0.11.6) --- updated-dependencies: - dependency-name: uv dependency-version: 0.11.6 dependency-type: direct:production dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2 to 3. - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](softprops/action-gh-release@v2...v3) --- updated-dependencies: - dependency-name: softprops/action-gh-release dependency-version: '3' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…aaddons#29) Bumps the uv group with 1 update in the / directory: [lxml](https://github.com/lxml/lxml). Updates `lxml` from 6.0.2 to 6.1.0 - [Release notes](https://github.com/lxml/lxml/releases) - [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt) - [Commits](lxml/lxml@lxml-6.0.2...lxml-6.1.0) --- updated-dependencies: - dependency-name: lxml dependency-version: 6.1.0 dependency-type: direct:production dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update link to the GetText build for Windows * Apply suggestion from @seanbudd --------- Co-authored-by: Sean Budd <seanbudd123@gmail.com>
…vdaaddons#32) Bumps the uv group with 1 update in the / directory: [urllib3](https://github.com/urllib3/urllib3). Updates `urllib3` from 2.6.3 to 2.7.0 - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](urllib3/urllib3@2.6.3...2.7.0) --- updated-dependencies: - dependency-name: urllib3 dependency-version: 2.7.0 dependency-type: indirect dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ddons#33) Bumps the uv group with 1 update in the / directory: [idna](https://github.com/kjd/idna). Updates `idna` from 3.11 to 3.15 - [Release notes](https://github.com/kjd/idna/releases) - [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md) - [Commits](kjd/idna@v3.11...v3.15) --- updated-dependencies: - dependency-name: idna dependency-version: '3.15' dependency-type: indirect dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…daaddons#34) Bumps the uv group with 1 update in the / directory: [uv](https://github.com/astral-sh/uv). Updates `uv` from 0.11.6 to 0.11.15 - [Release notes](https://github.com/astral-sh/uv/releases) - [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG.md) - [Commits](astral-sh/uv@0.11.6...0.11.15) --- updated-dependencies: - dependency-name: uv dependency-version: 0.11.15 dependency-type: direct:production dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…th Crowdin (nvdaaddons#1) This pull request introduces a complete, automated workflow for synchronizing translations with Crowdin, including new scripts, a scheduled GitHub Actions workflow, and supporting documentation. The main changes add Python and PowerShell scripts for translation status checking and synchronization, a workflow for scheduled and manual Crowdin sync, language mapping configuration, and documentation updates. These improvements enable seamless translation management for add-on projects. Specifically: The .github/scripts folder includes: setOutputs.py: Allows to write the addonId, extracted from buildVars.py, to the github output environment variable in GitHub Actions. checkTranslation.py: Makes possible to calculate the score (percentage of translated strings) of files (.po, .xliff or .md), using the Crowdin API. This is useful to prevent untranslated files to be included in the add-on folder, reducing the add-on size and avoiding that poor documentation can be accessed when the Help button is pressed from the store. crowdinSync.ps1: This script generates/updates an xliff file from the readme.md, creates the pot file and upload these updated source files to Crowdin; commits the updated xliff file to the add-on repo; exports translations from Crowdin, imports translated files with a score/percentage of 50 % or more including these to the addon/locale/lc_messages (po files) or addon/doc (documentation) in the corresponding languages. If translatied files are poor (with low percentages), and a translated file is available inside the add-on, it's considered caming from an old translation produced with the legacy translation system, and it's uploaded to Crowdin. Then changes in the add-on repo are commited to a dedicated branch. languageMappings.json: these are mappings between folders used in the add-on, like es, and Crowdin languages, like es-ES (this may need reviewed with advice from NV Access, since for example ne or ga aren't well mapped). markdownTranslate.py: Used to generate the xliff file.
Description This PR adds two separate files explaining how to translate add-ons, one for add-on authors, and the other one for add-on translators.
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Summary of the issue: The locale mapping used during Crowdin synchronization is missing an entry for Nepali. NVDA uses the locale code ne, while Crowdin identifies the same locale as ne-NP. As a result, the Nepali locale cannot be matched during synchronization. Description of user facing changes: None. Description of developer facing changes: The Crowdin synchronization workflow can now correctly map the NVDA locale ne to the corresponding Crowdin locale ne-NP. Description of development approach Added the missing entry to languageMappings.json, which is used by crowdinSync.ps1 in the crowdinL10n.yml workflow to translate NVDA locale identifiers into their corresponding Crowdin locale identifiers during translation synchronization. This follows the existing approach used for other locale identifiers whose naming differs between NVDA and Crowdin (for example af_ZA → af and pt_BR → pt-BR).
Description Documentation about integration of the add-on template in add-ons using git. Related issues Fixes nvdaaddons#37
Closes nvdaaddons#28. Summary Switches the template from pre-commit + the pre-commit.ci service to prek, a fast, drop-in alternative written in Rust. As discussed in nvdaaddons#28, this goes further than NVDA's swap by also migrating the config from .pre-commit-config.yaml to prek's native prek.toml. Maintainers confirmed disabling pre-commit.ci on this repo is preferred. Changes pyproject.toml: dev dependency pre-commit==4.2.0 -> prek==0.4.8 (+ uv.lock). Config: .pre-commit-config.yaml removed, replaced by prek.toml (generated with prek util yaml-to-toml, then hand-adjusted). Dropped the pre-commit.ci ci: block and the check-pre-commit-ci-config hook. Moved the file-oriented pre-commit-hooks to prek's builtin repo (no clone / no rev). Kept check-ast, debug-statements and check-illegal-windows-names on the upstream pre-commit-hooks repo: the first two have no builtin equivalent, and the builtin check-illegal-windows-names only matches files that already have illegal names, which check-hooks-apply flags as unused on a clean repo. CI (build_addon.yml): the "Code checks" step now runs uv run prek run --all-files (the SKIP env var is still honored). readme.md: replaced the pre-commit.ci recommendation with prek usage (uv run prek install / uv run prek run --all-files).
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@v6...v7) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ddons#45) Summary of the issue: The repository lacked an organized unit testing directory structure and initial test execution setup for template development. Description of developer facing changes: Adds a minimal unit testing structure under tests/unit/template/. Includes a basic sanity test (test_sanity.py) verifying both passing and failing test detection. Excludes tests/ from static analysis in pyproject.toml (ruff and pyright). Adds dedicated unit testing documentation in docs/unitTesting.md. Description of development approach: Structured the tests/ directory into tests/unit/template/ to support future unit and system/integration test expansion without conflicting with user-defined tests. Added a basic unittest.TestCase in tests/unit/template/test_sanity.py using @unittest.expectedFailure for failure verification. Added a dedicated documentation file docs/unitTesting.md with test execution commands using uv. Testing strategy: Executed unit tests locally using uv: uv run python -m unittest discover -s tests -v Verified that the test runner correctly executes test_sanity.py and that ruff / pyright ignore the tests/ directory.
…daaddons#47) * docs: add Crowdin token scope requirements and secret setup guide - Add 'Required Token Scope & Permissions' section detailing minimal Crowdin API token settings: - Limit to selected project - Grant: projects (read), source-files (read/write), translations (read/write) - Advise leaving other scopes unchecked for security. - Replace brief secret note with step-by-step instructions for adding the CROWDIN_TOKEN repository secret. * Apply suggestions from code review Co-authored-by: Sean Budd <seanbudd123@gmail.com> * Apply suggestion from @seanbudd --------- Co-authored-by: Sean Budd <seanbudd123@gmail.com>
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 9.0.0 to 10.0.1. - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@v9.0.0...v10.0.1) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-version: 10.0.1 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Contributor
Contributor
Author
|
Oops. Thanks for advising me. The default target repo is still this one since nvaccess one is a fork of this one unfortunately and I had not checked it. I've just opened a new PR there. |
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.
Issue
The link for l10nUtils.exe in translators documentation leads to a GitHub release webpage. Translators may not be used to GitHub and may have difficulties to find the tool in the page, among the assets to download.
Solution
Rather provide a direct link to the file to download, as documented on GitHub's Linking to releases page.
Cc @nvdaes, @abdel792