diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6d973ab..32f6971 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
### Added
+- See your contacts' birthdays and anniversaries in your calendar. A new,
+ **optional** feature (Settings → Contact special dates) mirrors your contacts'
+ birthdays, anniversaries and other dates into local "Birthdays",
+ "Anniversaries" and "Other dates" calendars that stay in sync as your contacts
+ change. Each is a normal local calendar, so you set its colour, visibility and
+ reminders the usual way — new birthdays even start with a reminder a week before
+ *and* on the day. The title format is yours to customise (`{name}`, `{age}`).
+ This is the first feature to use the contacts permission: it is requested only
+ when you turn the feature on, everything stays on your device (Calendula has no
+ internet access), and your contacts are only ever read, never changed. Thanks
+ to @moonj for the suggestion ([#15]).
- Set more than one default reminder per calendar. A calendar's default
reminders — and the global defaults under Settings → Notifications — can now
hold several lead times instead of just one, so new events can start with, say,
@@ -752,5 +763,6 @@ automatically, with zero telemetry and no internet permission.
[#12]: https://codeberg.org/jlmakiola/calendula/issues/12
[#13]: https://codeberg.org/jlmakiola/calendula/issues/13
[#14]: https://codeberg.org/jlmakiola/calendula/issues/14
+[#15]: https://codeberg.org/jlmakiola/calendula/issues/15
[#16]: https://codeberg.org/jlmakiola/calendula/issues/16
[#17]: https://codeberg.org/jlmakiola/calendula/issues/17
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index d4f6945..9d00942 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -13,7 +13,7 @@
Alle Termine, schön im Blick
- Calendula braucht Zugriff auf deinen Kalender, um deine Termine zu zeigen und zu verwalten. Mehr verlangt die App nie.
+ Calendula braucht Zugriff auf deinen Kalender, um deine Termine zu zeigen und zu verwalten. Mehr verlangt die App zu Beginn nicht — und nichts verlässt je dein Gerät.
Kalender-Zugriff erlauben
Kalender-Zugriff abgelehnt
Ohne Kalender-Zugriff kann Calendula keine Termine anzeigen. Du kannst den Zugriff in den System-Einstellungen wieder erlauben.
@@ -410,4 +410,36 @@
Der Issue-Tracker konnte nicht geöffnet werden. Der Bericht ist in deiner Zwischenablage.
Danke, dass du einen Absturz in Calendula meldest. Bitte ergänze, was du gerade getan hast, und sende dann ab.\n\n### Was ist passiert\n\n\n### Absturzbericht\n%1$s\n
_(Der Bericht war zu lang für diesen Link — füge ihn aus deiner Zwischenablage hier ein.)_
+
+
+ Geburtstage
+ Jahrestage
+ Besondere Tage
+ {name}s Geburtstag ({age})
+ {name}s Jahrestag ({age})
+ {name}
+ Verwaltet von „%1$s“ — Titel, Datum und Wiederholung werden aus deinen Kontakten synchron gehalten. Erinnerungen, Ort und Notizen kannst du selbst bearbeiten.
+ Geburtstage & Jahrestage aus Kontakten
+ Besondere Kontakttage
+ Kontakttage anzeigen
+ Spiegelt Geburtstage und weitere Daten deiner Kontakte in lokale Kalender. Liest Kontakte nur auf diesem Gerät — nichts wird hochgeladen, und deine Kontakte werden nie verändert.
+ Geburtstage
+ Jahrestage
+ Weitere Tage
+ Titelformat
+ Verwende {name} für den Kontakt und {age} für das Alter (ausgeblendet, wenn das Jahr unbekannt ist).
+ Alter anzeigen
+ {age} in Titeln anzeigen, wenn das Geburtsjahr bekannt ist
+ Jetzt synchronisieren
+ Noch nicht synchronisiert
+ Zuletzt synchronisiert %1$s
+ Farbe, Sichtbarkeit und Erinnerungen jedes Kalenders legst du in den Kalender-Einstellungen fest.
+ Pausiert
+ Calendula kann deine Kontakte nicht mehr lesen, daher werden diese Kalender nicht aktualisiert.
+ Zugriff erlauben
+ Kontakttage deaktivieren?
+ Dadurch werden die Kontakttage-Kalender und ihre Termine gelöscht. Hinzugefügte Erinnerungen oder Notizen gehen verloren.
+ Dadurch werden der Kalender „%1$s“ und seine Termine gelöscht. Hinzugefügte Erinnerungen oder Notizen gehen verloren.
+ Deaktivieren
+ Speichern
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 48b6856..1a93edd 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -14,7 +14,7 @@
See all your events, beautifully
- Calendula needs access to your calendar to show and manage your events. That\'s the only thing it ever asks for.
+ Calendula needs access to your calendar to show and manage your events. That\'s all it asks for up front — and nothing ever leaves your device.
Grant calendar access
Calendar access denied
Calendula cannot show events without calendar access. You can grant it again in the system settings.
diff --git a/fastlane/metadata/android/de-DE/full_description.txt b/fastlane/metadata/android/de-DE/full_description.txt
index 5055210..96ec0e3 100644
--- a/fastlane/metadata/android/de-DE/full_description.txt
+++ b/fastlane/metadata/android/de-DE/full_description.txt
@@ -10,6 +10,12 @@ Serie) und einem einfachen Wiederholungs-Picker. Erinnerungen stellt
Calendula selbst als Benachrichtigung zu — ein Tipp darauf öffnet den
Termin.
+Optional lassen sich Geburtstage, Jahrestage und weitere besondere Tage
+deiner Kontakte im Kalender anzeigen. Du schaltest das selbst ein; Kontakte
+werden nur auf deinem Gerät gelesen, nie hochgeladen und nie verändert —
+Calendula spiegelt die Daten lediglich in lokale Kalender, die du voll
+kontrollierst.
+
Der Unterschied liegt im Design: echtes Material 3 Expressive durchgehend,
mit Dynamic Color, expressiven Animationen und neuen Shape-Sprachen.
diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt
index f59f242..2ebf536 100644
--- a/fastlane/metadata/android/en-US/full_description.txt
+++ b/fastlane/metadata/android/en-US/full_description.txt
@@ -8,6 +8,11 @@ changes (only this event / this and all following / the whole series) and a
simple repeat picker. Calendula also delivers your event reminders as
notifications — tap one and you're on the event.
+Optionally, show your contacts' birthdays, anniversaries and other special
+dates in your calendar. You turn this on yourself; contacts are read only on
+your device, are never uploaded, and are never changed — Calendula only
+mirrors the dates into local calendars you fully control.
+
The differentiator is the design: real Material 3 Expressive throughout,
with dynamic color, expressive motion, and expressive shapes.