Skip to content

fix: restore gettext plural-form support in lint-po#1725

Merged
davidpoblador merged 1 commit into
mainfrom
worktree-nifty-discovering-moler
Apr 28, 2026
Merged

fix: restore gettext plural-form support in lint-po#1725
davidpoblador merged 1 commit into
mainfrom
worktree-nifty-discovering-moler

Conversation

@davidpoblador

Copy link
Copy Markdown
Member

Summary

Test plan

  • Reproduced Scaffolding: lint-po rejects msgid_plural — can't use Babel plural forms #1719 locally with uvx lint-po against a Babel-generated plural .po (exit 1, "Unexpected input" warnings).
  • Verified the pinned SHA resolves and installs via uv lock + uv sync --frozen in a smoke-test project.
  • Verified the same plural fixture passes with uv run --frozen lint-po (exit 0).
  • Verified placeholder-mismatch detection still flags a deliberately-broken msgstr[1] in a plural entry (exit 1).
  • Smoke just lint-po and pre-commit lint-po hook on a real scaffolded project after merge.

🤖 Generated with Claude Code

Pin lint-po to himdel/lint-po@efadbca via [tool.uv.sources] so scaffolded
projects regain msgid_plural / msgstr[N] parsing. PyPI 0.1.4 (Nov 2022)
predates the upstream plural-support PRs (#3, #4) merged in March 2026,
and the previous switch to `uvx lint-po` (#1609) silently lost that
feature. Run the linter via `uv run --frozen lint-po` (justfile + pre-commit
hook) so resolution happens once at `uv sync` time instead of hitting
GitHub on every invocation — addresses the original transient-failure
motivation behind #1609 too.

Pin can be dropped for a normal version constraint once a new PyPI
release lands (tracked at himdel/lint-po#5).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@davidpoblador davidpoblador merged commit fe0dacb into main Apr 28, 2026
2 checks passed
@davidpoblador davidpoblador deleted the worktree-nifty-discovering-moler branch April 28, 2026 09:28
davidpoblador pushed a commit that referenced this pull request Apr 28, 2026
🤖 I have created a release *beep* *boop*
---


##
[10.8.0](v10.7.0...v10.8.0)
(2026-04-28)


### Features

* add BrandSettings env-var surface for favicon and email branding
([#1720](#1720))
([3d22717](3d22717))
* i18n primitives for per-tenant locale flows
([#1718](#1718))
([177fe5e](177fe5e))


### Bug Fixes

* restore gettext plural-form support in lint-po
([#1725](#1725))
([fe0dacb](fe0dacb))
* **template:** scope babel.cfg python extraction to src/
([#1722](#1722))
([b729964](b729964))
* theme default screens with DaisyUI semantic tokens
([#1714](#1714))
([4467168](4467168))


### Performance Improvements

* **testing:** share MongoDB across vibetuner_db tests
([#1726](#1726))
([c9064e4](c9064e4))


### Miscellaneous Chores

* **py:** use PEP 639 SPDX license expression
([#1727](#1727))
([855f9f4](855f9f4))


### Documentation Updates

* **i18n:** clarify locale_names vs language_picker overlap
([#1723](#1723))
([87733bd](87733bd))
* **template:** document i18n primitives in scaffolded agent rules
([#1724](#1724))
([27a3b98](27a3b98))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
davidpoblador added a commit that referenced this pull request May 5, 2026
## Summary

- `lint-po 0.1.5` shipped to PyPI on **2026-05-05** with gettext
plural-form support, resolving the upstream release request at
[himdel/lint-po#5](himdel/lint-po#5).
- Drops the temporary `[tool.uv.sources]` git pin introduced in #1725
(which closed #1719) and bumps the dev dep to `lint-po>=0.1.5`.
- The justfile recipe and pre-commit hook already use `uv run --frozen
lint-po`, so no other changes are needed.

## Test plan

- [x] Confirmed `lint-po==0.1.5` accepts a Babel-generated plural `.po`
(`msgid_plural` / `msgstr[0..1]`) — exit 0.
- [x] Confirmed `lint-po==0.1.5` still flags placeholder mismatches in
`msgstr[1]` — exit 1, same diagnostic as the pinned SHA.
- [ ] Smoke `just lint-po` and the pre-commit hook on a freshly
scaffolded project after merge.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Scaffolding: lint-po rejects msgid_plural — can't use Babel plural forms

1 participant