aboutsummaryrefslogtreecommitdiff
path: root/internal/naming
Commit message (Collapse)AuthorAgeFilesLines
* naming(pl): localise the Christmas-season name in composed ferial namesLukasz Kasprzak2026-07-291-0/+2
| | | | | | | | | | | | EF ferials in the Christmas season rendered with an English season word in a Polish UI -- "Poniedziałek Christmas" (2026-01-05) -- because the Polish [seasons] table had no "christmas" key, so season() fell back to the English title-cased slug. Add christmas = "Narodzenia Pańskiego" (and the empty season_prep entry), matching the existing genitive style (Adwentu, Wielkiego Postu). Now "Poniedziałek Narodzenia Pańskiego". Verified across the whole Christmas-Epiphany window for both forms; English output unchanged.
* naming: localise liturgical day names in any languageLukasz Kasprzak2026-07-283-0/+609
Add internal/naming, which renders temporal day names and celebration display names from the calendar engine's slugs in any language. English is the built-in baseline; a language is data -- an embedded lang/<code>.ini (pl shipped) and/or a user file at <config dir>/names/<code>.ini that overrides it key by key. Names compose from a small vocabulary plus per-language format templates, so word order and grammatical case can differ (e.g. Polish genitive "3. Niedziela Okresu Zwykłego"); any string a language omits falls back to English. - Move day-name generation out of calendar (calendar.HumanizeSlug removed, calendar stays a pure engine) into naming.DayName; the English golden cases carry over verbatim. - naming.CelebrationName unifies the three duplicated resolvers (cli/readings/calfeed): name.<lang> -> English -> Latin -> humanized slug. Saint names stay in the calendar data (name.<lang>), overridable via calendar layers. - config: ui_language now accepts any code (lower-cased, not clamped to en/pl) so names/<code>.ini applies; UI chrome still resolves en/pl and falls back to English. Add NamesDir(); wire naming.SetUserDir (and the previously unwired bible.SetUserCorporaDir) in the TUI and web mains too, so external corpora and name files work across all three binaries.