feat(faith): add 6 prayers (Marian devotions + meal blessings)
Six new prayers from the German prayer book images, with Latin and
English where canonical versions exist:
43 Jungfrau, Mutter Gottes mein — German Marian devotional. No
canonical Latin/English; best-effort EN translation provided so
the EN route renders rather than blanking. bilingue: false.
40 O meine Gebieterin / O Domina Mea / O My Queen — Marian act of
self-dedication with the standard Latin and English forms.
41 Memorare — attributed to St. Bernard. Standard Latin
(Memento O piissima Virgo Maria) and the traditional English
translation.
42 Hilf, Maria, es ist Zeit — German Marian invocation. No
canonical Latin; EN follows the user-provided translation
("Help, Blessed Mother, it is highest time…"). bilingue: false.
37 Tischgebet vor dem Essen — composite of four sub-prayers:
"O Gott von dem wir alles haben" (DE rhyme, EN best-effort),
"Komm Herr Jesus sei unser Gast" (DE rhyme + standard EN
"Come Lord Jesus be our guest"), Psalm 144:15-16 with Gloria
Patri (full Latin/EN), and Benedic Domine (full Latin/EN).
38 Tischgebet nach dem Essen — three sub-prayers: "Dir sei o Gott"
(DE rhyme + best-effort EN), Agimus tibi gratias (full Latin/EN),
and Retribuere (full Latin/EN).
New 'meal' prayer category (Tischgebete / Meal / Mensae) added to the
filter pills on the prayers index. Replaces the long-standing TODO
that gated meal prayers on the existence of a category for them.
Wiring:
- prayerSlugs.ts gets DE+EN slugs for each prayer (validates
/faith/prayers/<slug> URLs and feeds the offline sync precache list
+ sitemap).
- de/en/la i18n files get six new prayer-name keys plus category_meal.
- [prayer]/+page.svelte: imports, prayerDefs entries, render block.
- [prayers]/+page.svelte: imports, labels, categories array (new meal
pill), prayerCategories, prayers list with searchTerms, getPrayerName
map, prayerMeta, render block.
Eastertide seasonal badge on the prayers index (Regina Cæli card)
moved from a bottom inline-block to absolute top-right, matching the
placement of the same badge on the rosary mystery cards. Adds a
position:relative anchor on the gebet_wrapper.
Bump 1.66.0 -> 1.67.0.
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "homepage",
|
||||
"version": "1.66.0",
|
||||
"version": "1.67.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
<script>
|
||||
import Prayer from './Prayer.svelte';
|
||||
</script>
|
||||
|
||||
<Prayer hasLatin={false}>
|
||||
{#snippet children(showLatin, urlLang)}
|
||||
<p>
|
||||
{#if urlLang === 'de'}<v lang="de">Hilf, Maria, es ist Zeit, hilf, Mutter der Barmherzigkeit.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Help, Blessed Mother, it is highest time, help Mother of Mercy.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Du bist berufen, uns aus Nöten und Gefahren zu erretten,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">You are mighty, deliver us from distress and danger,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">denn wo Menschenhilf' gebricht, mangelt doch die deine nicht.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">for where human help is lacking, yours is not.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Nein, du kannst das heiße Flehen deiner Kinder nicht verschmähen.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">No, you cannot spurn the fervent supplication of your children.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Zeige, dass du Mutter bist, wo die Not am größten ist.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Show that you are our mother where the need is greatest.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Hilf, Maria, es ist Zeit, hilf, Mutter der Barmherzigkeit.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Help, Blessed Mother, it is highest time, help Mother of Mercy.</v>{/if}
|
||||
<v lang="und">Amen.</v>
|
||||
</p>
|
||||
{/snippet}
|
||||
</Prayer>
|
||||
@@ -0,0 +1,84 @@
|
||||
<script>
|
||||
import Prayer from './Prayer.svelte';
|
||||
</script>
|
||||
|
||||
<Prayer hasLatin={false}>
|
||||
{#snippet children(showLatin, urlLang)}
|
||||
<p>
|
||||
{#if urlLang === 'de'}<v lang="de">Jungfrau, Mutter Gottes mein,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Virgin, Mother of God of mine,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">lass mich ganz dein Eigen sein!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">let me be wholly thine own!</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Dein im Leben, dein im Tod,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Thine in life, thine in death,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">dein in Unglück, Angst und Not;</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">thine in misfortune, fear and need;</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">dein in Kreuz und bitt'rem Leid,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">thine in cross and bitter sorrow,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">dein für Zeit und Ewigkeit.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">thine for time and eternity.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Jungfrau, Mutter Gottes mein,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Virgin, Mother of God of mine,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">lass mich ganz dein Eigen sein!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">let me be wholly thine own!</v>{/if}
|
||||
</p>
|
||||
<p>
|
||||
{#if urlLang === 'de'}<v lang="de">Mutter, auf dich hoff' und baue ich!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Mother, in thee I hope and trust!</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Mutter, zu dir ruf' und seufze ich!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Mother, to thee I call and sigh!</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Mutter, du Gütigste, steh mir bei!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Mother, most kind, stand by me!</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Mutter, du Mächtigste, Schutz mir verleih!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Mother, most mighty, grant me protection!</v>{/if}
|
||||
</p>
|
||||
<p>
|
||||
{#if urlLang === 'de'}<v lang="de">O Mutter, so komm, hilf beten mir!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">O Mother, come and help me pray!</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">O Mutter, so komm, hilf streiten mir!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">O Mother, come and help me strive!</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">O Mutter, so komm, hilf leiden mir!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">O Mother, come and help me suffer!</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">O Mutter, so komm und bleib bei mir!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">O Mother, come and stay with me!</v>{/if}
|
||||
</p>
|
||||
<p>
|
||||
{#if urlLang === 'de'}<v lang="de">Du kannst mir ja helfen, o Mächtigste!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Thou canst help me, O most mighty!</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Du willst mir ja helfen, o Gütigste!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Thou wilt help me, O most kind!</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Du musst mir nun helfen, o Treueste!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Thou must help me now, O most faithful!</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Du wirst mir auch helfen, Barmherzigste!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Thou wilt help me also, O most merciful!</v>{/if}
|
||||
</p>
|
||||
<p>
|
||||
{#if urlLang === 'de'}<v lang="de">O Mutter der Gnade, der Christen Hort,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">O Mother of grace, refuge of Christians,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">du Zuflucht der Sünder, des Heiles Pfort',</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">refuge of sinners, gate of salvation,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">du Hoffnung der Erde, des Himmels Zier,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">hope of the earth, ornament of heaven,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">du Trost der Betrübten, ihr Schutzpanier.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">comfort of the afflicted, their shielding banner.</v>{/if}
|
||||
</p>
|
||||
<p>
|
||||
{#if urlLang === 'de'}<v lang="de">Wer hat je umsonst deine Hilf' angefleht?</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Who has ever begged thy help in vain?</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Wann hast du vergessen ein kindlich' Gebet?</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">When hast thou forgotten a childlike prayer?</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Drum ruf' ich beharrlich in Kreuz und in Leid:</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Therefore I call out steadfastly in cross and sorrow:</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">„Maria hilft immer! Sie hilft jederzeit!"</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">"Mary helps always! She helps at all times!"</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Ich ruf' voll Vertrauen in Leiden und Tod:</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">I call full of trust in suffering and death:</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">„Maria hilft immer, in jeglicher Not!"</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">"Mary helps always, in every distress!"</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">So glaub' ich und lebe und sterbe darauf:</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">So I believe and live and die upon it:</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">„Maria hilft mir in den Himmel hinauf."</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">"Mary helps me up into heaven."</v>{/if}
|
||||
</p>
|
||||
{/snippet}
|
||||
</Prayer>
|
||||
@@ -0,0 +1,32 @@
|
||||
<script>
|
||||
import Prayer from './Prayer.svelte';
|
||||
</script>
|
||||
|
||||
<Prayer>
|
||||
{#snippet children(showLatin, urlLang)}
|
||||
<p>
|
||||
{#if showLatin}<v lang="la">Meménto, o piíssima Virgo María, non esse audítum a sǽculo,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Gedenke, o gütigste Jungfrau Maria, es ist noch nie gehört worden,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Remember, O most gracious Virgin Mary, that never was it known</v>{/if}
|
||||
{#if showLatin}<v lang="la">quemquam ad tua curréntem præsídia, tua implorántem auxília,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">dass jemand, der zu dir seine Zuflucht nahm, deine Hilfe anrief</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">that anyone who fled to thy protection, implored thy help,</v>{/if}
|
||||
{#if showLatin}<v lang="la">tua peténtem suffrágia, esse derelíctum.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">und um deine Fürbitte flehte, von dir verlassen worden ist.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">or sought thine intercession, was left unaided.</v>{/if}
|
||||
{#if showLatin}<v lang="la">Ego tali animátus confidéntia, ad te, Virgo Vírginum, Mater, curro,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Von diesem Vertrauen beseelt, nehme ich meine Zuflucht zu dir, o Jungfrau der Jungfrauen, meine Mutter.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Inspired by this confidence, I fly unto thee, O Virgin of virgins, my Mother;</v>{/if}
|
||||
{#if showLatin}<v lang="la">ad te vénio, coram te gemens peccátor assísto.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Zu dir komme ich, vor dir stehe ich als ein sündiger Mensch.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">to thee do I come, before thee I stand, sinful and sorrowful.</v>{/if}
|
||||
{#if showLatin}<v lang="la">Noli, Mater Verbi, verba mea despícere;</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">O Mutter des Ewigen Wortes, verschmähe nicht meine Worte,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">O Mother of the Word Incarnate, despise not my petitions,</v>{/if}
|
||||
{#if showLatin}<v lang="la">sed audi propítia et exáudi.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">sondern höre sie gnädig an und erhöre mich.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">but in thy mercy hear and answer me.</v>{/if}
|
||||
<v lang="und">Amen.</v>
|
||||
</p>
|
||||
{/snippet}
|
||||
</Prayer>
|
||||
@@ -0,0 +1,29 @@
|
||||
<script>
|
||||
import Prayer from './Prayer.svelte';
|
||||
</script>
|
||||
|
||||
<Prayer>
|
||||
{#snippet children(showLatin, urlLang)}
|
||||
<p>
|
||||
{#if showLatin}<v lang="la">O Dómina mea, o Mater mea, tibi me totum óffero,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">O meine Gebieterin, o meine Mutter! Dir bringe ich mich ganz dar;</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">O my Queen, O my Mother, I give myself entirely to thee;</v>{/if}
|
||||
{#if showLatin}<v lang="la">atque, ut me tibi probem devótum,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">und um dir meine Hingabe zu bezeigen,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">and to show my devotion to thee,</v>{/if}
|
||||
{#if showLatin}<v lang="la">cónsecro tibi hódie óculos meos, aures meas, os meum,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">weihe ich dir heute meine Augen, meine Ohren, meinen Mund,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">I consecrate to thee this day my eyes, my ears, my mouth,</v>{/if}
|
||||
{#if showLatin}<v lang="la">cor meum, plane me totum.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">mein Herz, mich selber ganz und gar.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">my heart, my whole being without reserve.</v>{/if}
|
||||
{#if showLatin}<v lang="la">Quóniam ítaque tuus sum, o bona Mater,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Weil ich also dir gehöre, o gute Mutter,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Wherefore, good Mother, as I am thine own,</v>{/if}
|
||||
{#if showLatin}<v lang="la">serva me, defénde me, ut rem ac possessiónem tuam.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">bewahre mich und beschütze mich als dein Gut und dein Eigentum.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">keep me, defend me, as thy property and possession.</v>{/if}
|
||||
<v lang="und">Amen.</v>
|
||||
</p>
|
||||
{/snippet}
|
||||
</Prayer>
|
||||
@@ -0,0 +1,65 @@
|
||||
<script>
|
||||
import Prayer from './Prayer.svelte';
|
||||
</script>
|
||||
|
||||
<Prayer hasLatin={false}>
|
||||
{#snippet children(showLatin, urlLang)}
|
||||
<p>
|
||||
{#if urlLang === 'de'}<v lang="de">Dir sei, o Gott, für Speis' und Trank,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">To Thee, O God, for food and drink,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">für alles Gute Lob und Dank.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">for all good things, be praise and thanks.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Du gabst, Du wirst auch ferner geben,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Thou hast given, Thou wilt give still more,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Dich preise unser ganzes Leben! Amen.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">may our whole life praise Thee! Amen.</v>{/if}
|
||||
</p>
|
||||
{/snippet}
|
||||
</Prayer>
|
||||
|
||||
<p class="prayer-divider"><i>· · ·</i></p>
|
||||
|
||||
<Prayer>
|
||||
{#snippet children(showLatin, urlLang)}
|
||||
<p>
|
||||
{#if showLatin}<v lang="la">Ágimus tibi grátias, omnípotens Deus,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Wir danken Dir, allmächtiger Gott,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">We give Thee thanks, almighty God,</v>{/if}
|
||||
{#if showLatin}<v lang="la">pro univérsis benefíciis tuis:</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">für all Deine Wohltaten,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">for all Thy benefits:</v>{/if}
|
||||
{#if showLatin}<v lang="la">Qui vivis et regnas in sǽcula sæculórum.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">der Du lebst und herrschest von Ewigkeit zu Ewigkeit.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Who livest and reignest, world without end.</v>{/if}
|
||||
<v lang="und">Amen.</v>
|
||||
</p>
|
||||
{/snippet}
|
||||
</Prayer>
|
||||
|
||||
<p class="prayer-divider"><i>· · ·</i></p>
|
||||
|
||||
<Prayer>
|
||||
{#snippet children(showLatin, urlLang)}
|
||||
<p>
|
||||
{#if showLatin}<v lang="la">Retribúere dignáre, Dómine,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Herr, vergilt allen,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Vouchsafe, O Lord, to reward</v>{/if}
|
||||
{#if showLatin}<v lang="la">ómnibus, nobis bona faciéntibus propter nomen tuum,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">die uns um Deines Namens willen Gutes getan haben,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">all those who do good to us for Thy name's sake</v>{/if}
|
||||
{#if showLatin}<v lang="la">vitam ætérnam.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">mit dem ewigen Leben.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">with eternal life.</v>{/if}
|
||||
<v lang="und">Amen.</v>
|
||||
</p>
|
||||
{/snippet}
|
||||
</Prayer>
|
||||
|
||||
<style>
|
||||
.prayer-divider {
|
||||
text-align: center;
|
||||
color: grey;
|
||||
margin: 0.5em 0;
|
||||
letter-spacing: 0.5em;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,83 @@
|
||||
<script>
|
||||
import Prayer from './Prayer.svelte';
|
||||
import GloriaPatri from './GloriaPatri.svelte';
|
||||
</script>
|
||||
|
||||
<Prayer hasLatin={false}>
|
||||
{#snippet children(showLatin, urlLang)}
|
||||
<p>
|
||||
{#if urlLang === 'de'}<v lang="de">O Gott, von dem wir alles haben,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">O God, from whom we have all things,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">wir preisen Dich für Deine Gaben!</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">we praise Thee for Thy gifts!</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Du speisest uns, weil Du uns liebst,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Thou feedest us because Thou lovest us;</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">drum segne auch, was Du uns gibst. Amen.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">so bless what Thou hast given us. Amen.</v>{/if}
|
||||
</p>
|
||||
{/snippet}
|
||||
</Prayer>
|
||||
|
||||
<p class="prayer-divider"><i>· · ·</i></p>
|
||||
|
||||
<Prayer hasLatin={false}>
|
||||
{#snippet children(showLatin, urlLang)}
|
||||
<p>
|
||||
{#if urlLang === 'de'}<v lang="de">Komm, Herr Jesus, sei unser Gast,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Come, Lord Jesus, be our guest,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">und segne, was Du uns bescheret hast. Amen.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">and let these gifts to us be blessed. Amen.</v>{/if}
|
||||
</p>
|
||||
{/snippet}
|
||||
</Prayer>
|
||||
|
||||
<p class="prayer-divider"><i>· · ·</i></p>
|
||||
|
||||
<Prayer>
|
||||
{#snippet children(showLatin, urlLang)}
|
||||
<p>
|
||||
{#if showLatin}<v lang="la">Óculi ómnium in te sperant, Dómine,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Aller Augen warten auf Dich, o Herr,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">The eyes of all hope in Thee, O Lord,</v>{/if}
|
||||
{#if showLatin}<v lang="la">et tu das escam illórum in témpore opportúno.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Du gibst ihnen Speise zur rechten Zeit.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">and Thou givest them meat in due season.</v>{/if}
|
||||
{#if showLatin}<v lang="la">Áperis tu manum tuam,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Du öffnest Deine milde Hand</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Thou openest Thy hand,</v>{/if}
|
||||
{#if showLatin}<v lang="la">et imples omne ánimal benedictióne.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">und erfüllest alles, was da lebt, mit Segen.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">and fillest every living creature with blessing.</v>{/if}
|
||||
</p>
|
||||
{/snippet}
|
||||
</Prayer>
|
||||
|
||||
<GloriaPatri />
|
||||
|
||||
<p class="prayer-divider"><i>· · ·</i></p>
|
||||
|
||||
<Prayer>
|
||||
{#snippet children(showLatin, urlLang)}
|
||||
<p>
|
||||
{#if showLatin}<v lang="la">Bénedic, Dómine, nos et hæc tua dona,</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">Herr, segne uns und diese Deine Gaben,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Bless us, O Lord, and these Thy gifts,</v>{/if}
|
||||
{#if showLatin}<v lang="la">quæ de tua largitáte sumus sumptúri.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">die wir von Deiner Güte nun empfangen werden,</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">which we are about to receive from Thy bounty.</v>{/if}
|
||||
{#if showLatin}<v lang="la">Per Christum Dóminum nostrum.</v>{/if}
|
||||
{#if urlLang === 'de'}<v lang="de">durch Christus, unseren Herrn.</v>{/if}
|
||||
{#if urlLang === 'en'}<v lang="en">Through Christ our Lord.</v>{/if}
|
||||
<v lang="und">Amen.</v>
|
||||
</p>
|
||||
{/snippet}
|
||||
</Prayer>
|
||||
|
||||
<style>
|
||||
.prayer-divider {
|
||||
text-align: center;
|
||||
color: grey;
|
||||
margin: 0.5em 0;
|
||||
letter-spacing: 0.5em;
|
||||
}
|
||||
</style>
|
||||
@@ -21,4 +21,10 @@ export const validPrayerSlugs = new Set([
|
||||
'tantum-ergo',
|
||||
'angelus',
|
||||
'regina-caeli',
|
||||
'jungfrau-mutter-gottes-mein', 'virgin-mother-of-god',
|
||||
'o-meine-gebieterin', 'o-my-queen',
|
||||
'gedenke-o-guetigste-jungfrau-maria', 'memorare',
|
||||
'hilf-maria-es-ist-zeit', 'help-mary',
|
||||
'tischgebet-vor-dem-essen', 'grace-before-meals',
|
||||
'tischgebet-nach-dem-essen', 'grace-after-meals',
|
||||
]);
|
||||
|
||||
@@ -56,6 +56,13 @@ export const de = {
|
||||
prayer_before_crucifix: 'Gebet vor einem Kruzifix',
|
||||
guardian_angel_prayer: 'Schutzengel-Gebet',
|
||||
apostles_creed: 'Apostolisches Glaubensbekenntnis',
|
||||
jungfrau_mutter_prayer: 'Jungfrau, Mutter Gottes mein',
|
||||
o_my_queen_prayer: 'O meine Gebieterin',
|
||||
memorare_prayer: 'Gedenke, o gütigste Jungfrau Maria',
|
||||
hilf_maria_prayer: 'Hilf, Maria, es ist Zeit',
|
||||
grace_before_meals: 'Tischgebet vor dem Essen',
|
||||
grace_after_meals: 'Tischgebet nach dem Essen',
|
||||
category_meal: 'Tischgebete',
|
||||
search_prayers: 'Gebete suchen…',
|
||||
clear_search: 'Suche löschen',
|
||||
text_match: 'Treffer im Gebetstext',
|
||||
|
||||
@@ -56,6 +56,13 @@ export const en = {
|
||||
prayer_before_crucifix: 'Prayer Before a Crucifix',
|
||||
guardian_angel_prayer: 'Guardian Angel Prayer',
|
||||
apostles_creed: "Apostles' Creed",
|
||||
jungfrau_mutter_prayer: 'Virgin, Mother of God',
|
||||
o_my_queen_prayer: 'O My Queen',
|
||||
memorare_prayer: 'Memorare',
|
||||
hilf_maria_prayer: 'Help, Mary, it is Time',
|
||||
grace_before_meals: 'Grace Before Meals',
|
||||
grace_after_meals: 'Grace After Meals',
|
||||
category_meal: 'Meal Prayers',
|
||||
search_prayers: 'Search prayers…',
|
||||
clear_search: 'Clear search',
|
||||
text_match: 'Match in prayer text',
|
||||
|
||||
@@ -56,6 +56,13 @@ export const la = {
|
||||
prayer_before_crucifix: 'Oratio ante Crucifixum',
|
||||
guardian_angel_prayer: 'Angele Dei',
|
||||
apostles_creed: 'Symbolum Apostolorum',
|
||||
jungfrau_mutter_prayer: 'Jungfrau, Mutter Gottes mein',
|
||||
o_my_queen_prayer: 'O Domina Mea',
|
||||
memorare_prayer: 'Memorare',
|
||||
hilf_maria_prayer: 'Hilf, Maria, es ist Zeit',
|
||||
grace_before_meals: 'Benedictio Mensae',
|
||||
grace_after_meals: 'Gratiarum Actio post Mensam',
|
||||
category_meal: 'Mensae',
|
||||
search_prayers: 'Orationes quaerere…',
|
||||
clear_search: 'Quaestionem delere',
|
||||
text_match: 'In textu orationis',
|
||||
|
||||
@@ -28,6 +28,12 @@
|
||||
import AnimaChristi from "$lib/components/faith/prayers/AnimaChristi.svelte";
|
||||
import PrayerBeforeACrucifix from "$lib/components/faith/prayers/PrayerBeforeACrucifix.svelte";
|
||||
import Postcommunio from "$lib/components/faith/prayers/Postcommunio.svelte";
|
||||
import JungfrauMutterGottes from "$lib/components/faith/prayers/JungfrauMutterGottes.svelte";
|
||||
import ODominaMea from "$lib/components/faith/prayers/ODominaMea.svelte";
|
||||
import Memorare from "$lib/components/faith/prayers/Memorare.svelte";
|
||||
import HilfMaria from "$lib/components/faith/prayers/HilfMaria.svelte";
|
||||
import TischgebetVor from "$lib/components/faith/prayers/TischgebetVor.svelte";
|
||||
import TischgebetNach from "$lib/components/faith/prayers/TischgebetNach.svelte";
|
||||
import Prayer from "$lib/components/faith/prayers/Prayer.svelte";
|
||||
import { isEastertide as checkEastertide } from "$lib/js/easter.svelte";
|
||||
|
||||
@@ -79,17 +85,24 @@
|
||||
apostlesCreed: t.apostles_creed,
|
||||
tantumErgo: 'Tantum Ergo',
|
||||
angelus: 'Angelus',
|
||||
reginaCaeli: 'Regína Cæli'
|
||||
reginaCaeli: 'Regína Cæli',
|
||||
jungfrauMutter: t.jungfrau_mutter_prayer,
|
||||
oMyQueen: t.o_my_queen_prayer,
|
||||
memorare: t.memorare_prayer,
|
||||
hilfMaria: t.hilf_maria_prayer,
|
||||
tischgebetVor: t.grace_before_meals,
|
||||
tischgebetNach: t.grace_after_meals
|
||||
});
|
||||
|
||||
// TODO: Add categories: 'meal' (Tischgebete/Meal) and 'morning_evening' (Morgen-/Abendgebete/Morning & Evening)
|
||||
// when corresponding prayers are added to the collection
|
||||
// TODO: Add 'morning_evening' (Morgen-/Abendgebete/Morning & Evening)
|
||||
// category when corresponding prayers are added to the collection
|
||||
|
||||
const categories = [
|
||||
{ id: 'essential', de: 'Grundgebete', en: 'Essential', la: 'Fundamentales' },
|
||||
{ id: 'marian', de: 'Marianisch', en: 'Marian', la: 'Mariana' },
|
||||
{ id: 'saints', de: 'Heilige', en: 'Saints', la: 'Sancti' },
|
||||
{ id: 'eucharistic', de: 'Eucharistie', en: 'Eucharistic', la: 'Eucharistica' },
|
||||
{ id: 'meal', de: 'Tischgebete', en: 'Meal', la: 'Mensae' },
|
||||
{ id: 'praise', de: 'Lobpreis', en: 'Praise', la: 'Laudatio' },
|
||||
{ id: 'penitential', de: 'Busse', en: 'Penitential', la: 'Paenitentialia' },
|
||||
];
|
||||
@@ -115,6 +128,12 @@
|
||||
animachristi: ['eucharistic'],
|
||||
prayerbeforeacrucifix: ['eucharistic', 'penitential'],
|
||||
postcommunio: ['eucharistic'],
|
||||
jungfrauMutter: ['marian'],
|
||||
oMyQueen: ['marian'],
|
||||
memorare: ['marian'],
|
||||
hilfMaria: ['marian'],
|
||||
tischgebetVor: ['meal'],
|
||||
tischgebetNach: ['meal'],
|
||||
};
|
||||
|
||||
// svelte-ignore state_referenced_locally
|
||||
@@ -170,7 +189,13 @@
|
||||
{ id: 'reginaCaeli', searchTerms: ['regina caeli', 'regina coeli', 'himmelskönigin', 'queen of heaven'], slug: 'regina-caeli' },
|
||||
{ id: 'animachristi', searchTerms: ['anima christi', 'seele christi', 'soul of christ'], slug: 'anima-christi' },
|
||||
{ id: 'prayerbeforeacrucifix', searchTerms: ['kruzifix', 'crucifix', 'kreuz', 'cross', 'en ego'], slug: isEnglish ? 'prayer-before-a-crucifix' : 'gebet-vor-einem-kruzifix' },
|
||||
{ id: 'postcommunio', searchTerms: ['postcommunio', 'nachkommunion', 'kommunion', 'communion'], slug: 'postcommunio' }
|
||||
{ id: 'postcommunio', searchTerms: ['postcommunio', 'nachkommunion', 'kommunion', 'communion'], slug: 'postcommunio' },
|
||||
{ id: 'jungfrauMutter', searchTerms: ['jungfrau mutter gottes', 'maria hilft immer', 'virgin mother of god'], slug: isEnglish ? 'virgin-mother-of-god' : 'jungfrau-mutter-gottes-mein' },
|
||||
{ id: 'oMyQueen', searchTerms: ['o domina mea', 'gebieterin', 'o my queen', 'queen mother'], slug: isEnglish ? 'o-my-queen' : 'o-meine-gebieterin' },
|
||||
{ id: 'memorare', searchTerms: ['memorare', 'gedenke', 'remember o most gracious', 'bernard'], slug: isEnglish ? 'memorare' : 'gedenke-o-guetigste-jungfrau-maria' },
|
||||
{ id: 'hilfMaria', searchTerms: ['hilf maria', 'help mary', 'mutter der barmherzigkeit'], slug: isEnglish ? 'help-mary' : 'hilf-maria-es-ist-zeit' },
|
||||
{ id: 'tischgebetVor', searchTerms: ['tischgebet vor', 'grace before meals', 'benedic domine', 'aller augen', 'komm herr jesus'], slug: isEnglish ? 'grace-before-meals' : 'tischgebet-vor-dem-essen' },
|
||||
{ id: 'tischgebetNach', searchTerms: ['tischgebet nach', 'grace after meals', 'agimus tibi gratias', 'wir danken dir'], slug: isEnglish ? 'grace-after-meals' : 'tischgebet-nach-dem-essen' }
|
||||
]);
|
||||
|
||||
// Base URL for prayer links
|
||||
@@ -202,7 +227,13 @@
|
||||
reginaCaeli: labels.reginaCaeli,
|
||||
animachristi: labels.animachristi,
|
||||
prayerbeforeacrucifix: labels.prayerbeforeacrucifix,
|
||||
postcommunio: labels.postcommunio
|
||||
postcommunio: labels.postcommunio,
|
||||
jungfrauMutter: labels.jungfrauMutter,
|
||||
oMyQueen: labels.oMyQueen,
|
||||
memorare: labels.memorare,
|
||||
hilfMaria: labels.hilfMaria,
|
||||
tischgebetVor: labels.tischgebetVor,
|
||||
tischgebetNach: labels.tischgebetNach
|
||||
};
|
||||
return /** @type {Record<string, string>} */(nameMap)[id] || id;
|
||||
}
|
||||
@@ -325,7 +356,13 @@
|
||||
reginaCaeli: { bilingue: true },
|
||||
animachristi: { bilingue: true },
|
||||
prayerbeforeacrucifix: { bilingue: true },
|
||||
postcommunio: { bilingue: true }
|
||||
postcommunio: { bilingue: true },
|
||||
jungfrauMutter: { bilingue: false },
|
||||
oMyQueen: { bilingue: true },
|
||||
memorare: { bilingue: true },
|
||||
hilfMaria: { bilingue: false },
|
||||
tischgebetVor: { bilingue: true },
|
||||
tischgebetNach: { bilingue: true }
|
||||
};
|
||||
|
||||
const isEastertide = $derived(checkEastertide());
|
||||
@@ -471,15 +508,23 @@ h1{
|
||||
:global(:root[data-theme="light"]) .postcommunio-section {
|
||||
background-color: var(--nord5);
|
||||
}
|
||||
/* Seasonal badge */
|
||||
/* Anchor for the absolute-positioned seasonal-badge below */
|
||||
:global(.prayer-wrapper .gebet_wrapper) {
|
||||
position: relative;
|
||||
}
|
||||
/* Seasonal badge — pinned top-right of the prayer card to match the
|
||||
placement of the same badge on the rosary mystery cards */
|
||||
.seasonal-badge {
|
||||
display: inline-block;
|
||||
margin-top: 0.5em;
|
||||
padding: 0.2em 0.7em;
|
||||
position: absolute;
|
||||
top: 0.75rem;
|
||||
right: 0.75rem;
|
||||
padding: 0.25em 0.7em;
|
||||
font-size: 0.75em;
|
||||
border-radius: 999px;
|
||||
font-weight: 700;
|
||||
border-radius: var(--radius-sm);
|
||||
background-color: var(--nord14);
|
||||
color: var(--nord0);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* Search is hidden without JS */
|
||||
@@ -575,6 +620,18 @@ h1{
|
||||
<Gloria intro={true} />
|
||||
{:else if prayer.id === 'postcommunio'}
|
||||
<Postcommunio onlyIntro={true} />
|
||||
{:else if prayer.id === 'jungfrauMutter'}
|
||||
<JungfrauMutterGottes />
|
||||
{:else if prayer.id === 'oMyQueen'}
|
||||
<ODominaMea />
|
||||
{:else if prayer.id === 'memorare'}
|
||||
<Memorare />
|
||||
{:else if prayer.id === 'hilfMaria'}
|
||||
<HilfMaria />
|
||||
{:else if prayer.id === 'tischgebetVor'}
|
||||
<TischgebetVor />
|
||||
{:else if prayer.id === 'tischgebetNach'}
|
||||
<TischgebetNach />
|
||||
{/if}
|
||||
{#if prayer.id === 'reginaCaeli' && isEastertide}
|
||||
<span class="seasonal-badge">{t.eastertide_badge}</span>
|
||||
|
||||
@@ -22,6 +22,12 @@
|
||||
import TantumErgo from "$lib/components/faith/prayers/TantumErgo.svelte";
|
||||
import AngelusComponent from "$lib/components/faith/prayers/Angelus.svelte";
|
||||
import ReginaCaeli from "$lib/components/faith/prayers/ReginaCaeli.svelte";
|
||||
import JungfrauMutterGottes from "$lib/components/faith/prayers/JungfrauMutterGottes.svelte";
|
||||
import ODominaMea from "$lib/components/faith/prayers/ODominaMea.svelte";
|
||||
import Memorare from "$lib/components/faith/prayers/Memorare.svelte";
|
||||
import HilfMaria from "$lib/components/faith/prayers/HilfMaria.svelte";
|
||||
import TischgebetVor from "$lib/components/faith/prayers/TischgebetVor.svelte";
|
||||
import TischgebetNach from "$lib/components/faith/prayers/TischgebetNach.svelte";
|
||||
import StickyImage from "$lib/components/faith/StickyImage.svelte";
|
||||
import AngelusStreakCounter from "$lib/components/faith/AngelusStreakCounter.svelte";
|
||||
import { m, faithSlugFromLang, prayersSlug } from '$lib/js/faithI18n';
|
||||
@@ -79,7 +85,19 @@
|
||||
'apostles-creed': { id: 'apostlesCreed', name: t.apostles_creed, bilingue: true },
|
||||
'tantum-ergo': { id: 'tantumErgo', name: 'Tantum Ergo', bilingue: true },
|
||||
'angelus': { id: 'angelus', name: 'Angelus', bilingue: true },
|
||||
'regina-caeli': { id: 'reginaCaeli', name: 'Regína Cæli', bilingue: true }
|
||||
'regina-caeli': { id: 'reginaCaeli', name: 'Regína Cæli', bilingue: true },
|
||||
'jungfrau-mutter-gottes-mein': { id: 'jungfrauMutter', name: t.jungfrau_mutter_prayer, bilingue: false },
|
||||
'virgin-mother-of-god': { id: 'jungfrauMutter', name: t.jungfrau_mutter_prayer, bilingue: false },
|
||||
'o-meine-gebieterin': { id: 'oMyQueen', name: t.o_my_queen_prayer, bilingue: true },
|
||||
'o-my-queen': { id: 'oMyQueen', name: t.o_my_queen_prayer, bilingue: true },
|
||||
'gedenke-o-guetigste-jungfrau-maria': { id: 'memorare', name: t.memorare_prayer, bilingue: true },
|
||||
'memorare': { id: 'memorare', name: t.memorare_prayer, bilingue: true },
|
||||
'hilf-maria-es-ist-zeit': { id: 'hilfMaria', name: t.hilf_maria_prayer, bilingue: false },
|
||||
'help-mary': { id: 'hilfMaria', name: t.hilf_maria_prayer, bilingue: false },
|
||||
'tischgebet-vor-dem-essen': { id: 'tischgebetVor', name: t.grace_before_meals, bilingue: true },
|
||||
'grace-before-meals': { id: 'tischgebetVor', name: t.grace_before_meals, bilingue: true },
|
||||
'tischgebet-nach-dem-essen': { id: 'tischgebetNach', name: t.grace_after_meals, bilingue: true },
|
||||
'grace-after-meals': { id: 'tischgebetNach', name: t.grace_after_meals, bilingue: true }
|
||||
});
|
||||
|
||||
const prayer = $derived(/** @type {Record<string, {id: string, name: string, bilingue: boolean}>} */(prayerDefs)[data.prayer]);
|
||||
@@ -279,6 +297,18 @@ h1 {
|
||||
<AngelusComponent verbose={true} />
|
||||
{:else if prayerId === 'reginaCaeli'}
|
||||
<ReginaCaeli />
|
||||
{:else if prayerId === 'jungfrauMutter'}
|
||||
<JungfrauMutterGottes />
|
||||
{:else if prayerId === 'oMyQueen'}
|
||||
<ODominaMea />
|
||||
{:else if prayerId === 'memorare'}
|
||||
<Memorare />
|
||||
{:else if prayerId === 'hilfMaria'}
|
||||
<HilfMaria />
|
||||
{:else if prayerId === 'tischgebetVor'}
|
||||
<TischgebetVor />
|
||||
{:else if prayerId === 'tischgebetNach'}
|
||||
<TischgebetNach />
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user