From 46b88cc03e8bd283ba5d58613517ca0f744c34e8 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Sat, 10 Oct 2026 12:02:34 +0200 Subject: [PATCH 01/26] ci: route jobs to the gradle and light runners (#385) Moves Gradle jobs to the dedicated `gradle` runner (capacity 1, 8g per job) and the cheap gate/lint jobs to `light`. Two runners used to share the `docker` label, so two Gradle builds could run at once and the VPS ran out of memory. Only `runs-on` lines change. Co-authored-by: Jean-Luc Makiola Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/385 --- .gitea/workflows/beta.yaml | 4 ++-- .gitea/workflows/release.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/beta.yaml b/.gitea/workflows/beta.yaml index 46e33ba..fe452a9 100644 --- a/.gitea/workflows/beta.yaml +++ b/.gitea/workflows/beta.yaml @@ -15,7 +15,7 @@ jobs: detect: # Gitea only; see the same guard in release.yaml. if: github.repository_owner == 'makiolaj' - runs-on: docker + runs-on: light outputs: is_beta: ${{ steps.v.outputs.is_beta }} version: ${{ steps.v.outputs.version }} @@ -41,7 +41,7 @@ jobs: beta: needs: detect if: needs.detect.outputs.is_beta == 'true' - runs-on: docker + runs-on: gradle env: ANDROID_HOME: /opt/android-sdk ANDROID_SDK_ROOT: /opt/android-sdk diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index 5d2d4b2..1bdb69e 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -43,7 +43,7 @@ jobs: # secrets. repository_owner differs between the two forges regardless of # URL, proxy or instance rename, so this closes it permanently. if: github.repository_owner == 'makiolaj' - runs-on: docker + runs-on: light outputs: is_release: ${{ steps.v.outputs.is_release }} version: ${{ steps.v.outputs.version }} @@ -85,7 +85,7 @@ jobs: release: needs: detect if: needs.detect.outputs.is_release == 'true' || github.event_name == 'workflow_dispatch' - runs-on: docker + runs-on: gradle env: ANDROID_HOME: /opt/android-sdk ANDROID_SDK_ROOT: /opt/android-sdk From 8078fb4f10c5d1fb31f90d3ccfbe2f076848fab5 Mon Sep 17 00:00:00 2001 From: Weblate Date: Thu, 1 Oct 2026 04:44:18 +0000 Subject: [PATCH 02/26] Translated using Weblate (Czech) Currently translated at 100.0% (633 of 633 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/ --- app/src/main/res/values-cs/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 81e6000..06da432 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -719,7 +719,7 @@ Vaše kalendáře jsou vypnuté Calendula zobrazuje kalendáře, které má tento telefon zapnuté, což není momentálně žádný. Zapněte si kalendáře, které chcete vidět – vaše ostatní aplikace kalendáře je pak také zobrazí. Zapnout všechny kalendáře - Teď ne + Později To se nepodařilo zapnout. V Nastavení → Kalendáře jsou stejné přepínače. Kalendář se nepodařilo vytvořit. Úložiště kalendáře ve vašem telefonu jej odmítlo vytvořit. Popis From 450b8b010774abe406f5de90b0c21cb6668fbb5c Mon Sep 17 00:00:00 2001 From: Sup99999 Date: Thu, 1 Oct 2026 19:57:35 +0000 Subject: [PATCH 03/26] Translated using Weblate (Arabic) Currently translated at 100.0% (649 of 649 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/ar/ --- app/src/main/res/values-ar/strings.xml | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index ba291d0..d3e93ab 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -302,7 +302,7 @@ ٣٠ يومًا القادمة نمط عرض الشهر صفحات - الشهر الواحد يملأ الشاشة. اسحب لليسار أو لليمين لتغيير الشهر. + الشهر الواحد يملأ الشاشة. اسحب لليسار أو لليمين لتغيير الشهر، أو اسحب للأعلى لعرض جدول الشهر. تقسيم السماح بالألوان في التقويمات غير المدعومة بعض التقويمات (مثل البعض من CalDAV) لا تنشر أي مجموعة ألوان؛ لون حدث مخصص قد يزال أو يستبدل في مزامنته التالية. هذا قيد على تلك التقويمات، وليس شيئًا يمكن لـ Calendula إصلاحه. @@ -778,4 +778,27 @@ أصفر كهرماني لا تقويم يمكنه استيعاب الأحداث المستوردة بعد. الوصف + التقويم + + %d يوم + %d يوم + %d يومان + %d أيام + %d يوم + %d يوم + + من + حتى + عرض الأيام المتعدّدة + كم عدد الأيام التي يعرضها طريقة العرض متعدد الأيام جنبًا إلى جنب. اليوم يُفتح في العمود الأول. + الساعات الظاهرة + حدّد مدى من الساعات للشاشة عند فتح طريقة عرض الأسبوع، متعددة الأيام أو اليوم + %1$s – %2$s يملأ الشاشة عند فتح طريقة عرض + الساعة في أعلى الشاشة عند فتح طريقة عرض الأسبوع، متعددة الأيام أو اليوم. لا تزال الساعات السابقة على بُعد تمرير. + الساعة في أسفل الشاشة عند فتح طريقة عرض. لا تزال الساعات اللاحقة على بُعد تمرير، و عمليات التكبير بالضّم حتى يتم فتح طريقة العرض مرة أخرى. + فتح الأسبوع %1$d + ضبط بواسطة الساعات الظاهرة + إظهار جدول الشهر كامل + أحداث سابقة + أحداث لاحقة From 84fd51baf670b976f62e4d2c51d03361e8abcb30 Mon Sep 17 00:00:00 2001 From: Weblate Date: Thu, 1 Oct 2026 18:57:02 +0000 Subject: [PATCH 04/26] Translated using Weblate (Arabic) Currently translated at 100.0% (649 of 649 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/ar/ --- app/src/main/res/values-ar/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index d3e93ab..c314525 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -801,4 +801,5 @@ إظهار جدول الشهر كامل أحداث سابقة أحداث لاحقة + اليوم From 678a526cb9da6943394c95b5528d473b668d698f Mon Sep 17 00:00:00 2001 From: Sup99999 Date: Fri, 2 Oct 2026 23:37:58 +0000 Subject: [PATCH 05/26] Translated using Weblate (Arabic) Currently translated at 100.0% (651 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/ar/ --- app/src/main/res/values-ar/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index c314525..e4f6963 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -802,4 +802,6 @@ أحداث سابقة أحداث لاحقة اليوم + فتح في الخرائط + لا تطبيق يمكنه فتح هذا الرابط From 236372d74034fd55148df5d95374ebe25b8b5320 Mon Sep 17 00:00:00 2001 From: VinCap Date: Mon, 5 Oct 2026 17:32:16 +0000 Subject: [PATCH 06/26] Translated using Weblate (Italian) Currently translated at 99.5% (648 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/it/ --- app/src/main/res/values-it/strings.xml | 85 +++++++++++++++++++++++++- 1 file changed, 82 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 5adb742..0c65517 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -243,7 +243,7 @@ Automatico 12 ore 24 ore - Righe per le ore + Grglia oraria Mostra una riga separatrice per ogni ora nella vista Settimana e Giorno Attenua gli eventi completati Attenua gli eventi conclusi nella vista Mese e Settimana @@ -413,7 +413,7 @@ Promemoria per eventi standard Promemoria Nuovo evento - Gestito da “%1$s” - titolo, data e ripetizioni sono sincronizzate dai tuoi contatti. Promemoria e note sono modificabili dall\'utente. + Gestito da “%1$s” — titolo, data e ripetizioni sono sincronizzate dai tuoi contatti. Promemoria e note sono modificabili dall\'utente. Carattere del titolo Carattere del corpo Lingua di sistema @@ -503,7 +503,7 @@ Ripianificazione annullata Impossibile ripianificare l\'evento Calendula ha bisogno dei permessi di scrittura per ripianificare gli eventi - Questo evento è stato eliminato. + Questo evento è stato eliminato Non è possibile ripianificare un evento oltre la data di fine della sua serie Fuso orario del dispositivo Segue il fuso orario in cui ti trovi @@ -657,4 +657,83 @@ Non aggiunto Alcuni eventi non possono essere aggiunti e sono stati esclusi. Importazione interrotta + Calendario + Calendula legge i tuoi eventi direttamente dal calendario di sistema, per questo ha bisogno dell\'accesso al calendario per poterli visualizzare. + Aggiungi un account a questo dispositivo e i relativi calendari verranno visualizzati qui. + Tutti i tuoi calendari sono disattivati. + Riattiva almeno un calendario per visualizzarne gli eventi. + Nessun calendario può accettare nuovi eventi. + I calendari attivi sono di sola lettura, gestiti da un\'altra app o non sincronizzati con questo dispositivo. Attiva un calendario in cui è possibile inserire eventi oppure aggiungine uno locale. + Questo evento non è più disponibile. + Potrebbe essere stato cancellato oppure spostato in un calendario disattivato. + Il calendario di sistema non ha risposto. Riprova a breve. + Eventi precedenti + Eventi successivi + Settimana aperta %1$d + Visualizza il calendario completo del mese + Apri su Maps + Nessuna app è in grado di aprire questo link + (Senza nome) + Un posto dove inserire i tuoi eventi + Questo dispositivo non ha ancora un calendario. Calendula scrive sui calendari già presenti sul telefono — ne serve almeno uno. + Crea un calendario su questo dispositivo + Sincronizzazione con un server CalDAV + Non ora + Rimane su questo telefono + Il calendario del dispositivo non si sincronizza con nessun altro dispositivo, quindi esegui un backup se gli eventi sono importanti. + Oppure sincronizza da un account + Calendula mostra quali account sono già sincronizzati. I server CalDAV necessitano di DAVx⁵ per eseguire la sincronizzazione. + “%1$s” è pronto + Si trova su questo dispositivo e gli eventi nuovi vengono inseriti lì, a meno che non si scelga un altro calendario. + C\'è spazio per altro + Da Impostazioni → Calendari puoi crearne quanti ne vuoi e rinominare o cambiare il colore di quelli già presenti. + Continua + I vostri calendari sono disattivati + Calendula mostra i calendari attivi su questo telefono e, al momento, non ce n’è nessuno. Attiva quelli che desideri visualizzare: anche le altre app di calendario li mostreranno nuovamente. + Attivali tutti + Non ora + Non sono riuscito ad attivarlo. In Impostazioni → Calendari ci sono gli stessi pulsanti di attivazione. + Impossibile creare il calendario. La memoria del calendario del tuo telefono non lo ha accettato. + Oggi + + Giorno + Giorni + Giorno + + Visualizzazione su più giorni + La vista più giorni mostra, affiancati, i giorni. La data odierna è visualizzata nella prima colonna. + Imposta in base alle ore di visibilità + Orari di apertura + Adatta la gamma di ore alla schermata all\'apertura della visualizzazione settimanale, plurigiornaliera o giornaliera + %1$s – %2$s riempie lo schermo all’apertura di una vista + Da + Fino a + L\'ora visualizzata nella parte superiore dello schermo quando si apre la vista settimanale, plurigiornaliera o giornaliera. Le ore precedenti sono comunque accessibili scorrendo la schermata. + L\'ora visualizzata nella parte inferiore dello schermo quando si apre una schermata. Le ore successive sono ancora raggiungibili scorrendo lo schermo, mentre pizzicando lo schermo si esegue lo zoom fino a quando la schermata non viene riaperta. + Licenze open source + I progetti su cui si basa Calendula + Descrizione + Rosa malva + Rosso + Arancione + Ambra + Oliva + Verde + Verde acqua + Ciano + Blu + Indaco + Viola + Rosa + Al momento nessun calendario è in grado di gestire gli eventi importati. + + Il calendario ha smesso di accettare eventi a metà dell\'operazione. L\'evento %d presente nel file non è stato aggiunto. + Il calendari hanno smesso di accettare eventi a metà dell\'operazione. Gli eventi %d presenti nel file non sono stati aggiunti. + Il calendario ha smesso di accettare eventi a metà dell\'operazione. L\'evento %d presente nel file non è stato aggiunto. + + + Non è stato possibile aggiungere l\'evento %d. + Non è stato possibile aggiungere gli eventi %d. + Non è stato possibile aggiungere l\'evento %d. + From 8834884d4e267369715c881d0c0ff92e9d067deb Mon Sep 17 00:00:00 2001 From: N Donkersloot Date: Tue, 6 Oct 2026 06:31:33 +0000 Subject: [PATCH 07/26] Translated using Weblate (Dutch) Currently translated at 97.0% (632 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/nl/ --- app/src/main/res/values-nl/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 1024d58..e657736 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -441,7 +441,7 @@ Maandweergave Stijl van maandweergave Pagina\'s - Eén maand vult het scherm. Veeg naar links of rechts om van maand te wisselen. + Eén maand vult het scherm. Veeg naar links of rechts om van maand te wisselen, of veeg omhoog om de agenda van deze maand te tonen. Doorlopende maanden Elke maand staat onder een eigen kop, met wat ruimte tot de volgende maand. Naadloze weken From 632155c016eca1f2df7868bf4b6909acb652fe0a Mon Sep 17 00:00:00 2001 From: N Donkersloot Date: Tue, 6 Oct 2026 06:40:03 +0000 Subject: [PATCH 08/26] Translated using Weblate (Dutch) Currently translated at 100.0% (651 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/nl/ --- app/src/main/res/values-nl/strings.xml | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index e657736..57fbe85 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -377,7 +377,7 @@ Knop Vandaag in werkbalk Een knop om naar vandaag te gaan tonen in de werkbalk, in plaats van een zwevende knop Appnaam - Calendula als “Calendar” tonen in je launcher. Alleen de naam in de launcher verandert; het pictogram kan na het wisselen op een andere plek komen te staan. + Calendula als “Agenda” tonen in je launcher. Alleen de naam in de launcher verandert; het pictogram kan na het wisselen op een andere plek komen te staan. Tijdnotatie Automatisch 12-uursnotatie (2:00 PM) @@ -694,4 +694,26 @@ Verjaardag van {name} ({year}) Jubileum van {name} ({year}) {name} + Agenda + Week %1$d openen + Agenda van de hele maand tonen + Eerdere gebeurtenissen + Latere gebeurtenissen + Op kaart tonen + Er is geen app die deze link kan openen + Vandaag + + %d dag + %d dagen + + Meerdaagse weergave + Hoeveel dagen de meerdaagse weergave naast elkaar toont. Vandaag staat in de eerste kolom. + Ingesteld via Zichtbare uren + Zichtbare uren + Een reeks uren passend op het scherm tonen bij het openen van de week-, meerdaagse of dagweergave + %1$s – %2$s vult het scherm bij het openen van een weergave + Van + Tot + Het uur bovenaan het scherm bij het openen van de week-, meerdaagse of dagweergave. Eerdere uren blijven bereikbaar door te scrollen. + Het uur onderaan het scherm bij het openen van een weergave. Latere uren blijven bereikbaar door te scrollen, en in- of uitzoomen met twee vingers geldt totdat de weergave opnieuw wordt geopend. From 7f977971ed29b03aae9e0295735356a9949c4e70 Mon Sep 17 00:00:00 2001 From: MaxrregMustermann Date: Tue, 6 Oct 2026 18:54:54 +0000 Subject: [PATCH 09/26] Translated using Weblate (German) Currently translated at 98.0% (638 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/de/ --- app/src/main/res/values-de/strings.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index f9b82aa..be432c6 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -715,4 +715,16 @@ %d Termin konnte nicht hinzugefügt werden. %d Termine konnten nicht hinzugefügt werden. + Kalender + Frühere Termine + Spätere Termine + Keine App kann diesen Link öffnen + Heute + + %d Tag + %d Tage + + Sichtbare Stunden + Von + Bis From 8a15325fdc50fec931aec266d045eec771843356 Mon Sep 17 00:00:00 2001 From: Dmitri Gabinski Date: Tue, 6 Oct 2026 14:59:53 +0000 Subject: [PATCH 10/26] Translated using Weblate (Belarusian) Currently translated at 87.0% (567 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/be/ --- app/src/main/res/values-be/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 1fc1485..e3a27be 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -671,4 +671,5 @@ Кіраваньне календарамі Ніводны з календароў ня можа прымаць новыя падзеі. Календары адключаныя, у рэжыме «толькі чытаньне», знаходзяцца пад кіраваньнем іншай праграмы, або не сынхранізуюцца на гэтай прыладзе. Уключэце каляндар, які можа прымаць падзеі, або дадайце лякальны. + Каляндар From 1cc7f40f7e140198b717c29ad3d3bba7924e54a1 Mon Sep 17 00:00:00 2001 From: James Trivette Date: Thu, 8 Oct 2026 12:54:38 +0000 Subject: [PATCH 11/26] Translated using Weblate (Czech) Currently translated at 98.7% (643 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/ --- app/src/main/res/values-cs/strings.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 06da432..5aafbaf 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -736,4 +736,21 @@ Purpurová Růžová Žádný z kalendářů zatím nedokáže importované události přijmout. + Kalendář + Otevřít týden %1$d + Zobrazit celou měsíční agendu + Dřívější události + Pozdější události + Otevřít na mapě + Žádná aplikace nemůže tento odkaz otevřít + Dnes + + %d den + %d dny + %d dnů + %d dnů + + Vícedenní zobrazení + Počet dní zobrazujících se ve vícedenním přehledu vedle sebe. Dnešek se otevírá v prvním sloupci. + Nastaveno v části Viditelné hodiny From 39e13e86d2d9c9e1fc1fabdc1126c12d30549d27 Mon Sep 17 00:00:00 2001 From: Admin Date: Fri, 9 Oct 2026 13:59:54 +0000 Subject: [PATCH 12/26] Translated using Weblate (French) Currently translated at 90.4% (589 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/fr/ --- app/src/main/res/values-fr/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index b396282..4449f28 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -672,4 +672,5 @@ Les événements %d n\'ont pas pu être ajoutés. Les événements %d n\'ont pas pu être ajoutés. + Calendrier From 68c0a262fadd77987de868a6fc09782f3ecfa7df Mon Sep 17 00:00:00 2001 From: Sup99999 Date: Sat, 10 Oct 2026 18:15:45 +0000 Subject: [PATCH 13/26] Translated using Weblate (Arabic) Currently translated at 100.0% (651 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/ar/ --- app/src/main/res/values-ar/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index e4f6963..22755fb 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -732,7 +732,7 @@ العنوان تراخيص مفتوحة المصدر المشاريع التي بنيت ‌‌Calendula عليها - تراخيص مفتوحة المصدر + التراخيص مفتوحة المصدر يتضمن Calendula العمل أدناه. اضغط على أي إدخال للحصول على شفرة المصدر الخاصة به. يتم تضمين كل مشروع هنا دون تعديل، بموجب الترخيص الموضح. يقرأ Calendula أحداثك مباشرةً من تقويم النظام، لذلك فأنه يحتاج للوصول إلى التقويم لعرض أي شيء. From 32801913095efb2b3c404b48c7e6603e5046714a Mon Sep 17 00:00:00 2001 From: Dmitri Gabinski Date: Tue, 13 Oct 2026 09:49:31 +0000 Subject: [PATCH 14/26] Translated using Weblate (Belarusian) Currently translated at 90.3% (588 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/be/ --- app/src/main/res/values-be/strings.xml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index e3a27be..c7b3c9e 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -672,4 +672,25 @@ Ніводны з календароў ня можа прымаць новыя падзеі. Календары адключаныя, у рэжыме «толькі чытаньне», знаходзяцца пад кіраваньнем іншай праграмы, або не сынхранізуюцца на гэтай прыладзе. Уключэце каляндар, які можа прымаць падзеі, або дадайце лякальны. Каляндар + Гэтай падзеі больш тут няма. + Магчыма яна выдалена ці перамешчана ў адключаны каляндар. + Сыстэмны каляндар не адказвае. Паўтарэце спробу празь нейкі час. + Капіяваць + Скапіявана ў буфэр абмену + Не атрымалася скапіяваць + Адкрыць тыдзень %1$d + Паказваць расклад на цэлы месяц + Ранейшыя падзеі + Пазьнейшыя падзеі + Загаловак + Адкрыць на картах + Гэтую спасылку ня можа адкрыць ніводны дадатак + праз %1$s + (Бяз назвы) + Месца для запісу вашых падзеяў + На гэтай прыладзе пакуль няма календара. Calendula выконвае запіс у календары, якія ўжо ёсьць на тэлефоне, і патрабуецца прынамсі адзін. + Стварыць каляндар на гэтай прыладзе + Сынхранізацыя з сэрвэрам CalDAV + Ня зараз + Застаецца на гэтым тэлефоне From af34f014a7e2ece79e5b49193624dd8e6828e3d4 Mon Sep 17 00:00:00 2001 From: Dmitri Gabinski Date: Tue, 13 Oct 2026 09:51:49 +0000 Subject: [PATCH 15/26] Translated using Weblate (Belarusian) Currently translated at 90.6% (590 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/be/ --- app/src/main/res/values-be/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index c7b3c9e..7810b09 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -693,4 +693,6 @@ Сынхранізацыя з сэрвэрам CalDAV Ня зараз Застаецца на гэтым тэлефоне + Каляндар на прыладзе ні з чым не сынхранізуецца, таму рабеце рэзэрвовыя копіі, каб захоўваць важныя падзеі. + Або наладзьце сынхранізацыю з уліковым запісам From 56763f58da234248175e6feaa0db13a0f60b0630 Mon Sep 17 00:00:00 2001 From: Dmitri Gabinski Date: Tue, 13 Oct 2026 12:06:53 +0000 Subject: [PATCH 16/26] Translated using Weblate (Russian) Currently translated at 39.1% (255 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/ru/ --- app/src/main/res/values-ru/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index e043ac9..336f0b2 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -355,4 +355,8 @@ Автоматически 12-часовой формат времени 24-часовой формат времени + Calendula отображает учетные записи, которые уже синхронизируются. Для синхронизации серверам CalDAV требуется DAVx⁵. + «%1$s» готов + Он остаётся на данном устройстве. В него будут записываться новые события, пока не будет выбран иной календарь. + Место для других From 49f604bdc2b66c43c4c5f39a637911b1e3c232ba Mon Sep 17 00:00:00 2001 From: Dmitri Gabinski Date: Tue, 13 Oct 2026 12:21:32 +0000 Subject: [PATCH 17/26] Translated using Weblate (Belarusian) Currently translated at 92.6% (603 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/be/ --- app/src/main/res/values-be/strings.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 7810b09..0d54e65 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -695,4 +695,17 @@ Застаецца на гэтым тэлефоне Каляндар на прыладзе ні з чым не сынхранізуецца, таму рабеце рэзэрвовыя копіі, каб захоўваць важныя падзеі. Або наладзьце сынхранізацыю з уліковым запісам + Прастора для іншых + «%1$s» гатовы + Calendula паказвае ўліковыя запісы, якія ўжо сынхранізуюцца. Для выкананьня сынхранізацыі сэрвэры CalDAV патрабуець DAVx\\u2075. + Ён застаецца на гэтай прыладзе. У ім будуць запісвацца новыя падзеі, пакуль ня будзе выбраны іншы каляндар. + Праз мэню Налады → Календары можна задаць колькасьць, назвы і колеры наяўных календароў. + Далей + Вашыя календары адключаныя + Calendula паказвае календары, уключаныя на гэтай прыладзе, але цяпер няма ніводнага ўключанага. Уключэце тыя, якія вы хочаце бачыць, і яны зноў зьявяцца і ў іншых дадатках календароў. + Уключыць усе + Ня зараз + Гэты не атрымалася ўключыць. У мэню Налады → Календары знаходзяцца такія самыя перамыкачы. + Не атрымалася стварыць каляндар з-за адмовы сховішча вашай прылады. + Сёньня From 10414fcf05cdb22e75d508020c447cdb5500b476 Mon Sep 17 00:00:00 2001 From: mirai yamada Date: Thu, 15 Oct 2026 02:55:26 +0000 Subject: [PATCH 18/26] Translated using Weblate (Japanese) Currently translated at 13.2% (86 of 651 strings) Translation: Calendula/Strings Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/ja/ --- app/src/main/res/values-ja/strings.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 487b810..33f752e 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -79,4 +79,11 @@ テーマ システム ダイナミックカラー + 予定リスト + 今日 + 明日 + Calendula 予定リスト + 予定リスト + 予定リストの範囲 + 外観 From 5d10f773ca68ed3fa470a7f8a00cd52b932f3bd5 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Tue, 20 Oct 2026 11:09:52 +0200 Subject: [PATCH 19/26] Add Liberapay alongside Ko-fi for donations (#430) Adds Liberapay as a second donation option next to Ko-fi. - Settings: "Support development" now opens a full-screen picker with Ko-fi (one-off tips) and Liberapay (recurring donations) instead of linking straight to Ko-fi. - README: Liberapay badge next to the Ko-fi badge, plus a short Support section. No issue for this one. Co-authored-by: Jean-Luc Makiola Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/430 --- README.md | 9 +++++ .../calendula/ui/settings/SettingsScreen.kt | 38 +++++++++++++++++-- app/src/main/res/values/strings.xml | 7 +++- 3 files changed, 50 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 7378026..3802834 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,8 @@ It works on top of the system calendar and has no network access.

Get it on Obtainium   Support me on Ko-fi +  +Donate using Liberapay

@@ -203,6 +205,13 @@ anywhere. Your events stay in Android's own calendar store. [Privacy policy](https://jeanlucmakiola.de/calendula/privacy), written in [`docs/PRIVACY.md`](docs/PRIVACY.md), which is what that page renders. +## Support + +Calendula is free and has no ads. If you'd like to support its development, +you can tip once on [Ko-fi](https://ko-fi.com/jeanlucmakiola) or donate +regularly on [Liberapay](https://liberapay.com/Jean-Luc_Makiola/donate). Both +are linked in the app under *Settings → Support development*. + ## License [MIT](LICENSE), Jean-Luc Makiola, 2026 diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsScreen.kt index a24d9e3..b53ee69 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsScreen.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsScreen.kt @@ -15,6 +15,7 @@ import androidx.compose.foundation.layout.requiredSize import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Autorenew import androidx.compose.material.icons.filled.Backup import androidx.compose.material.icons.filled.BugReport import androidx.compose.material.icons.filled.Cake @@ -23,6 +24,7 @@ import androidx.compose.material.icons.filled.Code import androidx.compose.material.icons.filled.Favorite import androidx.compose.material.icons.filled.Gavel import androidx.compose.material.icons.filled.Language +import androidx.compose.material.icons.filled.LocalCafe import androidx.compose.material.icons.filled.Notifications import androidx.compose.material.icons.filled.Palette import androidx.compose.material.icons.filled.PrivacyTip @@ -56,6 +58,7 @@ import de.jeanlucmakiola.calendula.ui.common.rememberCalendarSlideSpec import de.jeanlucmakiola.calendula.ui.licences.LicencesScreen import de.jeanlucmakiola.floret.components.AboutCard import de.jeanlucmakiola.floret.components.CollapsingScaffold +import de.jeanlucmakiola.floret.components.FullScreenPicker import de.jeanlucmakiola.floret.components.GroupedListInset import de.jeanlucmakiola.floret.components.GroupedRow import de.jeanlucmakiola.floret.components.OptionPicker @@ -392,17 +395,46 @@ private fun AboutCard() { ) } -/** "Support development", as the closing row of the About card's group. */ +/** + * "Support development", as the closing row of the About card's group. Opens a + * picker of the donation platforms. + */ @Composable private fun SupportRow() { val context = LocalContext.current - val url = stringResource(R.string.about_support_url) + var showPicker by rememberSaveable { mutableStateOf(false) } + GroupedRow( title = stringResource(R.string.settings_about_support), position = Position.Bottom, leading = { CategoryIcon(Icons.Default.Favorite, ChipAccent.Primary) }, - onClick = { openUrl(context, url) }, + onClick = { showPicker = true }, ) + + if (showPicker) { + val kofiUrl = stringResource(R.string.about_support_kofi_url) + val liberapayUrl = stringResource(R.string.about_support_liberapay_url) + FullScreenPicker( + title = stringResource(R.string.settings_about_support), + onDismiss = { showPicker = false }, + predictiveBack = true, + ) { + GroupedRow( + title = stringResource(R.string.settings_support_kofi), + summary = stringResource(R.string.settings_support_kofi_hint), + position = Position.Top, + leading = { CategoryIcon(Icons.Default.LocalCafe, ChipAccent.Primary) }, + onClick = { openUrl(context, kofiUrl) }, + ) + GroupedRow( + title = stringResource(R.string.settings_support_liberapay), + summary = stringResource(R.string.settings_support_liberapay_hint), + position = Position.Bottom, + leading = { CategoryIcon(Icons.Default.Autorenew, ChipAccent.Primary) }, + onClick = { openUrl(context, liberapayUrl) }, + ) + } + } } /** diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 52c5050..d414085 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -681,6 +681,10 @@ The projects Calendula is built on Privacy policy Support development + Ko-fi + One-off tips + Liberapay + Recurring donations Version %1$s Calendula app icon Report a problem @@ -834,7 +838,8 @@ https://codeberg.org/jlmakiola/calendula https://codeberg.org/jlmakiola/calendula/src/branch/main/LICENSE https://jeanlucmakiola.de/calendula/privacy - https://ko-fi.com/jeanlucmakiola + https://ko-fi.com/jeanlucmakiola + https://liberapay.com/Jean-Luc_Makiola/donate https://weblate.dev.jeanlucmakiola.de/engage/calendula/