From 4855ef2a667b7ea71092e0582db5aff1838a0d63 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Wed, 5 Aug 2026 22:24:53 +0200 Subject: calendar/readings: report Sunday as its own display rank, not solemnity The Ordinary Form's Table of Liturgical Days treats Sunday as its own category, never a solemnity. temporal.go's sundayDay() already marks these days distinctly from named solemnities (Class stays unset, unlike solemn()'s ClassLord); internal/readings/offline.go now reads that existing signal to relabel the REPORTED rank to "sunday" for ordinary and privileged-season Sundays alike, leaving Celebration.Rank, ofRankOrder and all precedence untouched. Named solemnities landing on a Sunday (Easter, Pentecost, ...) and feasts of the Lord (Holy Family) keep reporting their own rank. The 1962 form is untouched. Added calendar.RankSunday (display-only, deliberately excluded from ofRankOrder), the i18n Sunday/niedziela words, and a test pinning the exact dates from the original bug report. --- internal/i18n/golden_test.go | 4 ++-- internal/i18n/lang/en.ini | 1 + internal/i18n/lang/pl.ini | 1 + internal/i18n/vocab_test.go | 6 +++--- 4 files changed, 7 insertions(+), 5 deletions(-) (limited to 'internal/i18n') diff --git a/internal/i18n/golden_test.go b/internal/i18n/golden_test.go index b32a259..d06d63b 100644 --- a/internal/i18n/golden_test.go +++ b/internal/i18n/golden_test.go @@ -27,7 +27,7 @@ var enUI = UI{ }, Rank: map[string]string{ "solemnity": "solemnity", "feast": "feast", "memorial": "memorial", - "optional": "optional memorial", "ferial": "feria", + "optional": "optional memorial", "ferial": "feria", "sunday": "Sunday", "class-1": "I class", "class-2": "II class", "class-3": "III class", "class-4": "IV class", "commemoration": "commemoration", @@ -125,7 +125,7 @@ var plUI = UI{ Rank: map[string]string{ "solemnity": "uroczystość", "feast": "święto", "memorial": "wspomnienie obowiązkowe", "optional": "wspomnienie dowolne", - "ferial": "dzień powszedni", + "ferial": "dzień powszedni", "sunday": "niedziela", "class-1": "I klasy", "class-2": "II klasy", "class-3": "III klasy", "class-4": "IV klasy", "commemoration": "komemoracja", diff --git a/internal/i18n/lang/en.ini b/internal/i18n/lang/en.ini index 60a5f32..4abd5d1 100644 --- a/internal/i18n/lang/en.ini +++ b/internal/i18n/lang/en.ini @@ -19,6 +19,7 @@ rank.ferial = feria rank.memorial = memorial rank.optional = optional memorial rank.solemnity = solemnity +rank.sunday = Sunday footer_keys = tab/⇧tab version ←/→ day d date j/k scroll space/b page g/G top/bottom q quit loading = loading… no_readings_for = "no readings for " diff --git a/internal/i18n/lang/pl.ini b/internal/i18n/lang/pl.ini index 5991938..4ae4ebf 100644 --- a/internal/i18n/lang/pl.ini +++ b/internal/i18n/lang/pl.ini @@ -19,6 +19,7 @@ rank.ferial = dzień powszedni rank.memorial = wspomnienie obowiązkowe rank.optional = wspomnienie dowolne rank.solemnity = uroczystość +rank.sunday = niedziela footer_keys = tab/⇧tab wersja ←/→ dzień d data j/k przewiń spacja/b strona g/G góra/dół q wyjście loading = ładowanie… no_readings_for = "brak czytań na " diff --git a/internal/i18n/vocab_test.go b/internal/i18n/vocab_test.go index 97c09d6..d0fd603 100644 --- a/internal/i18n/vocab_test.go +++ b/internal/i18n/vocab_test.go @@ -12,7 +12,7 @@ import ( func TestVocabularyCoversEveryConstant(t *testing.T) { ranks := []calendar.Rank{ calendar.RankFerial, calendar.RankOptional, calendar.RankMemorial, - calendar.RankFeast, calendar.RankSolemnity, + calendar.RankFeast, calendar.RankSolemnity, calendar.RankSunday, calendar.RankClass1, calendar.RankClass2, calendar.RankClass3, calendar.RankClass4, calendar.RankCommemoration, } @@ -31,7 +31,7 @@ func TestVocabularyCoversEveryConstant(t *testing.T) { func TestEnglishRankWordingUnchanged(t *testing.T) { want := map[string]string{ "solemnity": "solemnity", "feast": "feast", "memorial": "memorial", - "optional": "optional memorial", "ferial": "feria", + "optional": "optional memorial", "ferial": "feria", "sunday": "Sunday", "class-1": "I class", "class-2": "II class", "class-3": "III class", "class-4": "IV class", "commemoration": "commemoration", @@ -53,7 +53,7 @@ func TestPolishRankWordingUnchanged(t *testing.T) { want := map[string]string{ "solemnity": "uroczystość", "feast": "święto", "memorial": "wspomnienie obowiązkowe", "optional": "wspomnienie dowolne", - "ferial": "dzień powszedni", + "ferial": "dzień powszedni", "sunday": "niedziela", "class-1": "I klasy", "class-2": "II klasy", "class-3": "III klasy", "class-4": "IV klasy", "commemoration": "komemoracja", -- cgit v1.3