diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-14 13:22:16 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-14 13:22:16 +0200 |
| commit | 913974b10a993af251b25125d1a417c452ad785c (patch) | |
| tree | 5dd82811c100de6daa995bebd115a12434296508 /internal/i18n/i18n.go | |
| parent | d7da4b09f7775276231d0241cfe2700d247728ee (diff) | |
| parent | 3b32c002d3eddda5ece9422442717657b9fee63b (diff) | |
| download | lectio-913974b10a993af251b25125d1a417c452ad785c.tar.gz lectio-913974b10a993af251b25125d1a417c452ad785c.zip | |
Merge branch 'polish-ui-and-calendar': the gomobile facade and the EF calendar fixes
Two bodies of work that shared a branch.
The gomobile facade (2026-08-03..05): mobile.PartLabels, Days, and the
observed rank on DayInfo, so dlectio stops hardcoding part IDs and rank
strings; the 1962 part labels become i18n data; the documented gomobile
bind command is corrected so it reproduces the shipped .aar.
The EF calendar fixes (2026-08-12): seven defects found by differencing
this engine against colitur, a second 1962 implementation built from the
Missal's General Rubrics rather than from this codebase. RG 96 transfers
were not skipping II-class days; a II-class privileged feria was not
yielding to a feast; Sunday ranks, the two Rose Sundays and Holy Thursday's
colour were wrong; and scripts/gen-sanctoral-ef inferred ranks, deduped
and tagged classes wrongly, which put 15 III-class feasts into the shipped
tridentine-calendar.ini as bare commemorations and dropped four entries
outright.
Holy Thursday was violet in both engines, which is how a shared lineage
hides a defect: this project's ini is generated from missalemeum and
colitur's data was bootstrapped from here, so an error inherited by both
is invisible to a differential. It took the Missal itself to see it.
The EF oracle test now asserts rank and colour, not season alone. One
known gap is recorded in the source rather than fixed, as out of scope:
RG 95 chained transfers (calendar.go).
Diffstat (limited to 'internal/i18n/i18n.go')
| -rw-r--r-- | internal/i18n/i18n.go | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/internal/i18n/i18n.go b/internal/i18n/i18n.go index fece4a8..6785705 100644 --- a/internal/i18n/i18n.go +++ b/internal/i18n/i18n.go @@ -15,14 +15,24 @@ type UI struct { // version code (wuj, vul, grb, drb). Version map[string]string - // PartLabel names each modern-lectionary section's heading label word, - // keyed by liturgy.Section.PartID (pierwsze_czytanie, psalm, + // PartLabel names each lectionary section's heading label word, keyed by + // liturgy.Section.PartID -- the modern IDs (pierwsze_czytanie, psalm, // drugie_czytanie, aklamacja, ewangelia). The pl entries are the exact // prefixes niedziela.pl's scraped headings carry, used by // render.LocalizeHeading to recognise and swap the label word while // keeping the citation untouched. PartLabel map[string]string + // Rank names each liturgical rank, keyed by the string form of + // calendar.Rank. Two vocabularies share the map: the Ordinary Form's + // ferial/optional/memorial/feast/solemnity and the 1962 form's + // class-1..class-4/commemoration. The English values are hand-synced to + // agree with internal/cli/liturgy.go's own rankLabel() switch, but the + // CLI does not read this map -- it renders rank independently, and the + // two are kept in sync by hand. The actual consumers of this map are the + // dlectio app's day banner and calendar rows. + Rank map[string]string + // TUI keybar and status messages. NoReadingsFor and ErrorPrefix each // carry their own single trailing space (the TUI concatenates a date or // error string directly onto them, no separator added at the call site). |
