A bug-fix release. One reported bug.
Get it
docker pull ghcr.io/new-usemame/calibre-web-nextgen:v4.0.24
Same volume layout as v4.0.23; no migration.
Fixed
-
Interface-language picker now lists all 28 supported languages (was 6) and English appears once in the dropdown (was twice). Reported by @droM4X in #71.
Two combined inherited-from-upstream bugs caused the symptom:
scripts/compile_translations.shaborted on the first.pofile with a fatalmsgfmterror and silently stranded every locale that came after it in filesystem order; andcps/cw_babel.get_available_locale()prependedLocale('en')on top ofbabel.list_translations(), which already auto-appends the default locale in modern flask_babel. Both had been carried over from upstreamcrocodilestick/Calibre-Web-Automatedunchanged. PR #77.Also repaired two
.pofiles that were silently masking the rest:eshad unescaped quotes in two Send-to-eReader strings,ruhad threemsgid-where-msgstrtypos in duplicate-scan task descriptions.
Validation
- Live container after the fix:
<select name="locale">reports 29 entries (28 .po-backed + 'en'),enCount: 1, sorted alphabetically by display name. scripts/compile_translations.shnow exits0withCompiled 28/28 locales successfully.on the current .po set.- New regression coverage:
tests/smoke/test_locale_dropdown_smoke.pyplus the autopilot-leveltests/autopilot/test_compile_translations.shto anchor the script's shape.