Skip to content

Add Italian comics support - #599

Merged
bpepple merged 11 commits into
masterfrom
italian-support
Aug 15, 2026
Merged

Add Italian comics support#599
bpepple merged 11 commits into
masterfrom
italian-support

Conversation

@bpepple

@bpepple bpepple commented Aug 15, 2026

Copy link
Copy Markdown
Member

Description

Adds initial support for Italian comics, as discussed in #595:

Schema

  • Publisher.alt_names — array field for alternative publisher names (mirrors Series.alt_names), with a matching GIN trigram index
  • Series.language — ISO 639-1 language code, defaults to "en"
  • Issue.price / Variant.pricemax_digits widened from 5 to 8 to support larger cover price amounts
  • CURRENCIES (settings) — adds EUR and ITL alongside USD/GBP; this is a project-wide djmoney setting, so CollectionItem.purchase_price_currency and WishListItem.max_price_currency picked up matching migrations too
  • COUNTRIES (settings) — new setting (US, GB, IT) backing PublisherForm's country validation, replacing a hardcoded set

Admin / forms / filters

  • alt_names and language wired into PublisherAdmin/SeriesAdmin and their forms
  • SeriesForm.clean_language and PublisherForm.clean_country restrict the web UI to the currently-supported set (en/it, US/GB/IT) — the API itself is intentionally left unrestricted, since existing data already includes publishers outside that set (e.g. CA, FR)
  • New PublisherFilter (API) with alt_names and a q quick-search filter across name/alt_names, mirroring SeriesFilter
  • Web publisher search box extended to also match alt_names
  • language filter added to SeriesFilter/SeriesViewFilter, including the web UI's advanced-filters dropdown and active-filter chips

Templates

  • Publisher detail page shows alternative names; Series detail page shows language

API

  • alt_names exposed on PublisherSerializer; language exposed on SeriesSerializer and the nested series object in IssueSerializer (so MetronInfo.xml writers can read it from the issue detail endpoint)
  • api/README.md updated throughout (new fields/filters, corrected a stale claim that the API restricted country to US/GB, documented previously-undocumented Variant price/price_currency fields, new "Version 1.10" changelog entry)

i18n

  • locale/it/LC_MESSAGES/django.po updated with the new/changed strings this branch introduces

Checklist

  • Tests pass locally (pytest)
  • Linted (ruff check . --fix && ruff format .)
  • New/changed user-facing strings in templates, forms, and views are wrapped for translation, and locale/it/LC_MESSAGES/django.po was updated
  • Migrations included

@bpepple bpepple self-assigned this Aug 15, 2026
@bpepple bpepple added enhancement New feature or request api An API bug/feature labels Aug 15, 2026
@bpepple
bpepple merged commit b084994 into master Aug 15, 2026
2 checks passed
@bpepple
bpepple deleted the italian-support branch August 15, 2026 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api An API bug/feature enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant