8 Commits
Author SHA1 Message Date
Jean-Luc Makiola 53d5e2c5aa Translations update from Weblate (#26)
Release — F-Droid repo + Gitea/Codeberg release + Play / detect (push) Successful in 6s
Release — F-Droid repo + Gitea/Codeberg release + Play / release (push) Skipped
Release — F-Droid repo + Gitea/Codeberg release + Play / play (push) Skipped
Reviewed-on: https://codeberg.org/jlmakiola/agendula/pulls/26
2026-10-02 18:13:09 +02:00
Robin Schanbacher 6888965f5a Translated using Weblate (German)
Currently translated at 62.4% (359 of 575 strings)

Translation: Agendula/agendula
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/agendula/agendula/de/
2026-10-01 21:35:13 +00:00
Robin Schanbacher f1ba21e7fa Translated using Weblate (German)
Currently translated at 57.3% (330 of 575 strings)

Translation: Agendula/agendula
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/agendula/agendula/de/
2026-10-01 19:19:02 +00:00
Robin Schanbacher 8abc44bbdf Translated using Weblate (German)
Currently translated at 57.0% (328 of 575 strings)

Translation: Agendula/agendula
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/agendula/agendula/de/
2026-09-30 20:57:48 +00:00
Robin Schanbacher a6e3a35f04 Translated using Weblate (German)
Currently translated at 45.0% (259 of 575 strings)

Translation: Agendula/agendula
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/agendula/agendula/de/
2026-09-29 20:37:10 +00:00
Jean-Luc Makiolaandmakiolaj a3de9f3d93 docs(readme): show the store screenshots (#24)
Release — F-Droid repo + Gitea/Codeberg release + Play / detect (push) Successful in 6s
Release — F-Droid repo + Gitea/Codeberg release + Play / release (push) Skipped
Release — F-Droid repo + Gitea/Codeberg release + Play / play (push) Skipped
Adds the five phone screenshots from `fastlane/metadata/android/en-US/images/phoneScreenshots/` to the README header, as a centered row beneath the badges.

The README references the fastlane files directly rather than copies, so the README and the store listings stay in sync. Each image has descriptive alt text.

Co-authored-by: Jean-Luc Makiola <business@jeanlucmakiola.de>
Reviewed-on: https://codeberg.org/jlmakiola/agendula/pulls/24
2026-09-28 14:11:27 +02:00
Jean-Luc Makiola c823243e53 Merge pull request 'docs: sync the F-Droid recipe with the submitted one' (#22) from docs/fdroid-recipe into main
Release — F-Droid repo + Gitea/Codeberg release + Play / detect (push) Successful in 6s
Release — F-Droid repo + Gitea/Codeberg release + Play / release (push) Skipped
Release — F-Droid repo + Gitea/Codeberg release + Play / play (push) Skipped
2026-09-24 22:35:14 +02:00
makiolaj d5a74213d6 docs: sync the F-Droid recipe with the submitted one
Pinned to the v1.0.0 commit hash as fdroiddata requires; the README now
tracks the submission (fdroiddata!49998) instead of the steps to make it.
2026-09-24 22:32:01 +02:00
4 changed files with 264 additions and 29 deletions
+8
View File
@@ -20,6 +20,14 @@ required.</p>
<a href="https://ko-fi.com/jeanlucmakiola"><img src="https://storage.ko-fi.com/cdn/brandasset/v2/support_me_on_kofi_badge_beige.png" alt="Support me on Ko-fi" height="56"></a> <a href="https://ko-fi.com/jeanlucmakiola"><img src="https://storage.ko-fi.com/cdn/brandasset/v2/support_me_on_kofi_badge_beige.png" alt="Support me on Ko-fi" height="56"></a>
</p> </p>
<p>
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/01.png" alt="Home screen: today's progress, overdue and upcoming tasks, and your lists" width="18%">
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/02.png" alt="Onboarding: sync with your own CalDAV server" width="18%">
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/03.png" alt="Upcoming list with a task expanded into its subtasks" width="18%">
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/04.png" alt="Task detail: a monthly recurring task with a reminder and priority" width="18%">
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/05.png" alt="Reminder notification with Done and Snooze actions" width="18%">
</p>
</div> </div>
Agendula is the task-list sibling to [Calendula](https://codeberg.org/jlmakiola/calendula). Agendula is the task-list sibling to [Calendula](https://codeberg.org/jlmakiola/calendula).
+246 -6
View File
@@ -82,7 +82,7 @@
<string name="lists_header">Listen</string> <string name="lists_header">Listen</string>
<string name="new_task">Neue Aufgabe</string> <string name="new_task">Neue Aufgabe</string>
<string name="lists_failure">Deine Aufgaben konnten nicht gelesen werden.</string> <string name="lists_failure">Deine Aufgaben konnten nicht gelesen werden.</string>
<string name="lists_empty">Keine Aufgaben-Listen bisher. Füge eine in deiner Aufgaben-App hinzu oder mit der + Schaltfläche.</string> <string name="lists_empty">Keine Aufgaben-Listen bisher.</string>
<string name="smart_today">Heute</string> <string name="smart_today">Heute</string>
<string name="smart_overdue">Überfällig</string> <string name="smart_overdue">Überfällig</string>
<string name="smart_upcoming">Anstehend</string> <string name="smart_upcoming">Anstehend</string>
@@ -99,23 +99,23 @@
<string name="reminder_channel_name">Aufgaben Erinnerungen</string> <string name="reminder_channel_name">Aufgaben Erinnerungen</string>
<string name="reminder_channel_desc">Benachrichtigungen für fällige Aufgaben.</string> <string name="reminder_channel_desc">Benachrichtigungen für fällige Aufgaben.</string>
<string name="onboarding_no_provider_title">Eine Task-App wird benötigt</string> <string name="onboarding_no_provider_title">Eine Task-App wird benötigt</string>
<string name="onboarding_no_provider_body">Agendula zeigt und bearbeitet die Aufgaben, die in OpenTasks oder tasks.org gespeichert sind und per DAVx5 synchronisiert werden. Installiere eine davon, um zu starten.</string> <string name="onboarding_no_provider_body">Es ist keine App installiert, in der man Aufgaben speichern könnte. Installieren OpenTasks oder tasks.org oder wechsel zu Agendulas eigenem Speicher.</string>
<string name="onboarding_permission_title">Erlaube Zugriff auf deine Aufgaben</string> <string name="onboarding_permission_title">Erlaube Zugriff auf deine Aufgaben</string>
<string name="onboarding_permission_body">Agendula benötigt die Berechtigung, deine Aufgaben zu lesen und zu schreiben. Das ist die einzige Berechtigung, die es jemals anfragt.</string> <string name="onboarding_permission_body">Agendula benötigt die Berechtigung, deine Aufgaben zu lesen und zu schreiben. Das ist die einzige Berechtigung, die es jemals anfragt.</string>
<string name="onboarding_permission_button">Zugriff gewähren</string> <string name="onboarding_permission_button">Zugriff gewähren</string>
<string name="reminder_onboarding_title">Verpasse nichts, was fällig ist</string> <string name="reminder_onboarding_title">Verpasse nichts, was fällig ist</string>
<string name="reminder_onboarding_body">Aufgaben-Apps senden selbst keine Erinnerungen, daher liefert Agendula sie für dich. Schalte sie ein, um eine Benachrichtigung zu erhalten, wenn eine Aufgabe fällig ist.</string> <string name="reminder_onboarding_body">Agendula benachrichtigt dich, wenn etwas fällig wird, also muss nichts in deinem Kopf leben.</string>
<string name="reminder_onboarding_enable_button">Erinnerungen aktivieren</string> <string name="reminder_onboarding_enable_button">Erinnerungen aktivieren</string>
<string name="reminder_onboarding_skip_button">Nicht jetzt</string> <string name="reminder_onboarding_skip_button">Nicht jetzt</string>
<string name="reminder_benefit_delivery_title">Agendula erinnert dich</string> <string name="reminder_benefit_delivery_title">Agendula erinnert dich</string>
<string name="reminder_benefit_delivery_body">Es plant eine Benachrichtigung für jede Aufgabe mit einem Fälligkeitsdatum.</string> <string name="reminder_benefit_delivery_body">Jede Aufgaben mit Fälligkeitsdatum bekommt seine eigene Benachrichtigung.</string>
<string name="reminder_benefit_timing_title">Auf deinem Zeitplan</string> <string name="reminder_benefit_timing_title">Auf deinem Zeitplan</string>
<string name="reminder_benefit_timing_body">Wähle in den Einstellungen, wie weit im Voraus du erinnert werden möchtest.</string> <string name="reminder_benefit_timing_body">Wähle, wie weit im Voraus du erinnert werden möchtest — für alles oder pro Liste.</string>
<string name="reminder_benefit_reversible_title">Jederzeit änderbar</string> <string name="reminder_benefit_reversible_title">Jederzeit änderbar</string>
<string name="reminder_benefit_reversible_body">Schalte Erinnerungen aus, wann immer du willst — es ist nur ein Schalter.</string> <string name="reminder_benefit_reversible_body">Schalte Erinnerungen aus, wann immer du willst — es ist nur ein Schalter.</string>
<string name="settings_title">Einstellungen</string> <string name="settings_title">Einstellungen</string>
<string name="settings_section_appearance">Darstellung</string> <string name="settings_section_appearance">Darstellung</string>
<string name="settings_appearance_subtitle">Theme und Farbe</string> <string name="settings_appearance_subtitle">Theme, Farbe und Zeitformat</string>
<string name="settings_section_task_form">Aufgaben-Formular</string> <string name="settings_section_task_form">Aufgaben-Formular</string>
<string name="settings_task_form_subtitle">Standard Felder, Liste und Unter-Aufgaben</string> <string name="settings_task_form_subtitle">Standard Felder, Liste und Unter-Aufgaben</string>
<string name="settings_reminders_subtitle">Benachrichtigungen für fällige Aufgaben</string> <string name="settings_reminders_subtitle">Benachrichtigungen für fällige Aufgaben</string>
@@ -169,4 +169,244 @@
</plurals> </plurals>
<string name="settings_translate">Hilf beim Übersetzen</string> <string name="settings_translate">Hilf beim Übersetzen</string>
<string name="settings_translate_hint">Füge eine Sprache auf Weblate hinzu oder verbessere sie</string> <string name="settings_translate_hint">Füge eine Sprache auf Weblate hinzu oder verbessere sie</string>
<string name="task_completed">Fertig</string>
<string name="cd_repeats">Wiederholt</string>
<string name="shortcut_new_task">Neue Aufgabe</string>
<string name="shortcut_today">Heute</string>
<string name="qs_tile_new_task">Neue Aufgabe</string>
<string name="lists_reorder">Liste umsortieren</string>
<string name="lists_reorder_done">Ferig umsortiert</string>
<string name="lists_reorder_handle">Ziehen zum Verschieben</string>
<string name="sort_title">Sortieren nach</string>
<string name="sort_due">Fälligkeitsdatum</string>
<string name="sort_priority">Priorität</string>
<string name="sort_title_alpha">Titel</string>
<string name="sort_created">Kürzlich hinzugefügt</string>
<plurals name="clear_completed_body">
<item quantity="one">%1$d erledigte Aufgabe in dieser Liste wird gelöscht.</item>
<item quantity="other">%1$d erledigte Aufgaben in dieser Liste werden gelöscht.</item>
</plurals>
<string name="clear_completed_confirm">Löschen</string>
<string name="settings_list_notifications">Benachrichtigungen</string>
<string name="settings_list_notifications_hint">Töne, Vibration und Wichtigkeit für Erinnerungen der Liste</string>
<string name="recurrence_generic">Wiederholende Aufgabe</string>
<string name="recurrence_daily">Jeden Tag</string>
<string name="recurrence_weekly">Jede Woche</string>
<string name="recurrence_monthly">Jedem Monat</string>
<string name="recurrence_yearly">Jedes Jahr</string>
<plurals name="recurrence_every_n_days">
<item quantity="one">Jeden Tag</item>
<item quantity="other">Alle %1$d Tage</item>
</plurals>
<plurals name="recurrence_every_n_weeks">
<item quantity="one">Jede Woche</item>
<item quantity="other">Alle %1$d Wochen</item>
</plurals>
<plurals name="recurrence_every_n_months">
<item quantity="one">Jeden Monat</item>
<item quantity="other">Allw %1$d Monate</item>
</plurals>
<plurals name="recurrence_every_n_years">
<item quantity="one">Jedes Jahr</item>
<item quantity="other">Alle %1$d Jahre</item>
</plurals>
<string name="recurrence_on_days">%1$s am %2$s</string>
<string name="recurrence_with_until">%1$s bis %2$s</string>
<string name="recurrence_none">Wiederholt sich nicht</string>
<string name="recurrence_custom">Benutzerdefiniert</string>
<string name="recurrence_unit_days">Tage</string>
<string name="recurrence_unit_weeks">Wochen</string>
<string name="recurrence_unit_months">Monate</string>
<string name="recurrence_unit_years">Jahre</string>
<string name="recurrence_incomplete">Gebe eine Nummer zwischen 1 und 999 ein</string>
<string name="recurrence_end_never">Nie</string>
<string name="recurring_scope_occurrence">Nur diese Aufgabe</string>
<string name="recurring_scope_following">Diese und folgende Aufgaben</string>
<string name="error_recurrence_without_date">Eine sich wiederholende Aufgabe braucht ein Start- oder Fälligkeitsdatum</string>
<string name="edit_location_label">Standort</string>
<string name="edit_url_label">Link</string>
<string name="edit_url_hint">https://…</string>
<string name="edit_discard_title">Änderungen verwerfen?</string>
<string name="edit_discard_body">Deine Änderungen an dieser Aufgabe wurden nicht gespeichert.</string>
<string name="edit_discard_confirm">Verwerfen</string>
<string name="edit_keep_editing">Weiter bearbeiten</string>
<string name="edit_reminder_add">Erinnerung hinzufügen</string>
<string name="edit_reminder_add_first">Erinnerung hinzufügen (sonst wird Standard angewendet)</string>
<string name="edit_reminder_remove">Erinnerung entfernen</string>
<string name="subtask_progress">%1$d / %2$d</string>
<string name="progress_fraction_compact">%1$d/%2$d</string>
<string name="detail_delete_title">Aufgabe löschen?</string>
<string name="detail_delete_body">Die Aufgabe wird gelöscht.</string>
<plurals name="detail_delete_body_subtasks">
<item quantity="one">Diese Aufgabe und ihre Unteraufgabe werden gelöscht.</item>
<item quantity="other">Diese Aufgabe und ihre %1$d Unteraufgaben werden gelöscht.</item>
</plurals>
<string name="detail_status_cancelled">Abgebrochen</string>
<string name="detail_status_in_process">In Bearbeitung</string>
<string name="more_options">Mehr Optionen</string>
<string name="detail_cancel_task">Aufgabe abbrechen</string>
<string name="detail_restore">Aufgabe wiederherstellen</string>
<string name="detail_duplicate">Duplizieren</string>
<string name="lists_empty_action">Liste erstellen</string>
<string name="list_add">Neue Liste</string>
<string name="list_new_title">Neue Liste</string>
<string name="list_edit_title">Liste bearbeiten</string>
<string name="list_name_hint">Listenname</string>
<string name="list_color">Farbe</string>
<string name="list_delete">Liste löschen</string>
<string name="list_delete_confirm_title">Liste löschen?</string>
<string name="list_where_device">Nur auf diesem Gerät</string>
<string name="detail_pane_empty">Wähle eine Aufgabe, um sie hier zu sehen</string>
<string name="percent_complete">%1$d%%</string>
<string name="reminder_on_the_day">Ab dem Tag</string>
<string name="recurrence_next">Als nächstes: %1$s</string>
<string name="recurrence_end_until">An einem Tag</string>
<plurals name="home_today_remaining_count">
<item quantity="one">%1$d übrig</item>
<item quantity="other">%1$d übrig</item>
</plurals>
<string name="reminder_day_today">heute</string>
<string name="reminder_day_tomorrow">morgen</string>
<string name="reminder_day_yesterday">gestern</string>
<string name="reminder_action_done">Fertig</string>
<string name="onboarding_welcome_title">Alles, was du machen wolltest</string>
<string name="onboarding_welcome_body">Ein ruhiger Ort für deine Aufgaben auf deinem Smartphone, das deins bleibt. Lass es uns einrichten, es braucht eine Minute.</string>
<string name="onboarding_welcome_button">Loslegen</string>
<string name="onboarding_welcome_lists_title">Listen und Unteraufgaben</string>
<string name="onboarding_welcome_reminders_title">Erinnerungen, die ankommen</string>
<string name="onboarding_welcome_reminders_body">Eine Benachrichtigung, wenn etwas fällig wird, nach deinem Plan</string>
<string name="onboarding_welcome_sync_body">Synchronisiere über CalDAV mit einem Server, den du wählst, oder behalte alles auf diesem Gerät.</string>
<string name="onboarding_sync_title">Mit deinem eigenen Server synchronisieren lassen?</string>
<string name="onboarding_sync_body">Agendula spricht CalDav — Nextcloud, Radicale, Posteo, Fastmail und alles, was auch CalDAV spricht. Keine Konten bei uns, nie.</string>
<string name="onboarding_sync_connect">Konto verbinden</string>
<string name="onboarding_sync_skip">Nicht jetzt</string>
<string name="onboarding_sync_devices_body">Hake etwas hier ab, und es wird Überfall abgehakt.</string>
<string name="onboarding_sync_copy_body">Deine Aufgaben leben auch auf dem Server, also ist ein verlorenes Gerät nicht verlorene Arbeit.</string>
<string name="onboarding_list_title">Deine erste Liste</string>
<string name="onboarding_list_default_name">Persönlich</string>
<string name="onboarding_list_create">Liste erstellen</string>
<string name="onboarding_backup_title">Eine Sicherung behalten</string>
<string name="onboarding_backup_continue">Fortsetzen</string>
<string name="onboarding_quick_add_title">Wie möchtest du Aufgaben hinzufügen?</string>
<string name="clear_completed_action">Löschen</string>
<string name="clear_completed_title">Erledigte Aufgaben löschen?</string>
<string name="sync_notice_retry">Wiederholen</string>
<string name="sync_notice_cause_server_newer">Durch die neuere Kopie vom Server ersetzt</string>
<string name="sync_sign_in_channel_name">Anmeldung nötig</string>
<string name="sync_sign_in_title">Bei %1$s wieder anmelden</string>
<string name="sync_notification_channel">Synchronisieren</string>
<string name="sync_notification_title">Aufgaben synchronisieren</string>
<string name="add_account_server_label">Server-Adresse</string>
<string name="add_account_server_hint">https://cloud.example.com</string>
<string name="add_account_username_label">Benutzername</string>
<string name="add_account_password_label">Passwort</string>
<string name="add_account_sign_in">Anmelden</string>
<string name="add_account_browser_title">Auf Browser warten</string>
<string name="add_account_browser_body">Bestätige Agendula im Browser, komme dann zurück hierher. Dein Passwort gelangt niemals zu dieser App, der Server vergibt ein seperates App-Passwort, das du jederzeit löschen kannst.</string>
<string name="add_account_browser_use_password">Stattdessen Passwort nutzen</string>
<string name="add_account_browser_retry">Nochmal versuchen</string>
<string name="add_account_browser_open">Öffne die Anmeldeseite</string>
<string name="add_account_browser_insecure">Diese Anmeldeseite ist unverschlüsselt (http). Alles, was du darin schreibst, auch dein Passwort, wird unverschlüsselt versendet.</string>
<string name="add_account_lists_title">Welche Listen sollen synchronisiert werden?</string>
<string name="add_account_lists_shared">Mit dir geteilt</string>
<string name="add_account_save">Konto hinzufügen</string>
<string name="add_account_no_lists_selected">Wähle mindestens eine Liste</string>
<string name="widget_tasks_label">Aufgaben</string>
<string name="widget_empty">Hier ist nichts zu tun</string>
<string name="widget_unavailable">Öffne Agendula und die Einrichtung abzuschließen</string>
<string name="widget_config_title">Im Widget zeigen</string>
<string name="widget_config_smart_lists">Intelligente Listen</string>
<string name="list_color_blue">Blau</string>
<string name="list_color_purple">Lila</string>
<string name="list_color_pink">Rosa</string>
<plurals name="home_today_progress_count">
<item quantity="one">%1$d von %2$d abgeschlossen</item>
<item quantity="other">%1$d von %2$d abgeschlossen</item>
</plurals>
<string name="settings_group_look">Aussehen und Verhalten</string>
<string name="settings_group_data">Daten</string>
<string name="settings_group_app">App</string>
<string name="settings_group_about">Über</string>
<string name="settings_autofocus_title">Fokusiere den Titel bei Erstellung neuer Aufgaben</string>
<plurals name="duration_minutes">
<item quantity="one">%d Minute</item>
<item quantity="other">%d Minuten</item>
</plurals>
<plurals name="duration_hours">
<item quantity="one">%d Stunde</item>
<item quantity="other">%d Stunden</item>
</plurals>
<string name="settings_section_accounts">Konten</string>
<string name="accounts_empty_title">Noch keine Konten</string>
<string name="accounts_add">Konto hinzufügen</string>
<string name="accounts_sync_interval">Automatisch synchronisieren</string>
<plurals name="accounts_sync_every_minutes">
<item quantity="one">Jede %d Minute</item>
<item quantity="other">Jede %d Minuten</item>
</plurals>
<string name="list_save_failed">Liste konnte nicht gespeichert werden.</string>
<string name="list_delete_failed">Liste konnte nicht gelöscht werden.</string>
<string name="list_save_failed_offline">Server konnte nicht erreicht werden. Versuche es bitte erneut, wenn du wieder online bist.</string>
<string name="list_save_failed_unsupported">Dieses Konto lässt Apps keine Aufgabenlisten erstellen.</string>
<string name="list_delete_confirm_message">\"%1$s\" und alle Aufgaben davon werden gelöscht. Das kann nicht rückgängig gemacht werden.</string>
<string name="list_color_red">Rot</string>
<string name="list_color_orange">Orange</string>
<string name="list_color_olive">Olive</string>
<string name="list_color_green">Grün</string>
<string name="list_color_cyan">Cyan</string>
<string name="settings_time_format">Zeitformat</string>
<string name="settings_time_format_auto">Automatisch</string>
<string name="settings_week_start">Woche startet am</string>
<string name="settings_week_start_auto">Automatisch</string>
<string name="settings_week_start_auto_summary">Momentan: %1$s</string>
<string name="settings_licences">Open-Source Lizenzen</string>
<string name="settings_licences_subtitle">Die Projekte, auf denen Agendula aufgebaut ist</string>
<string name="licences_title">Open-Source Lizenzen</string>
<string name="licences_intro">Agendula beinhaltet die unten gelistete Arbeit. Drücke eine, um ihren Quellcode zu erhalten.</string>
<string name="settings_privacy">Datenschutzbestimmungen</string>
<string name="settings_notifications_blocked">Benachrichtigungen sind deaktiviert</string>
<plurals name="import_done">
<item quantity="one">%1$d Aufgabe in %2$s importiert</item>
<item quantity="other">%1$d Aufgaben in %2$s importiert</item>
</plurals>
<plurals name="import_done_skipped_existing">
<item quantity="one">%1$d schon vorhanden. Wird übersprungen.</item>
<item quantity="other">%1$d schon vorhanden. Werden übersprungen.</item>
</plurals>
<string name="import_failed_unreadable">Die Datei konnte nicht als iCalendar eingelesen werden</string>
<string name="import_failed_no_tasks">Die Datei beinhaltet keine Aufgaben</string>
<string name="import_failed_write">Die Aufgabe konnte nicht gespeichert werden</string>
<plurals name="accounts_sync_every_hours">
<item quantity="one">Jede Stunde</item>
<item quantity="other">Alle %d Stunden</item>
</plurals>
<string name="accounts_remove">Konto entfernen</string>
<string name="accounts_generic_provider">CalDAV-Konto</string>
<string name="accounts_sync_now">Jetzt synchronisieren</string>
<string name="accounts_removing">Entfernen…</string>
<string name="accounts_lists">Listen</string>
<string name="add_account_step_of">Schritt %1$d von %2$d</string>
<string name="add_account_provider_other_summary">Baïkal, DAViCal, SOGo, Radicale oder einen, den du selber laufen lässt</string>
<string name="add_account_provider_other_header">Jeglichen CalDAV-Server</string>
<string name="add_account_provider_other">Andere CalDAV-Server</string>
<string name="add_account_email_title">Was ist dort deine Adresse?</string>
<string name="add_account_email_body">Die E-Mail-Adresse, mit der du diesen Dienst nutzt. Agendula findet den Server selbst.</string>
<string name="add_account_email_label">E-Mail-Adresse</string>
<string name="add_account_summary_title">Du bist eingerichtet</string>
<string name="add_account_summary_done">Fertig</string>
<string name="add_account_server_title">Wo sind deine Aufgaben?</string>
<string name="add_account_credentials_title">Anmelden</string>
<string name="add_account_error_not_an_address">Das scheint keine Web-Adresse zu sein. Versuche etwas wie cloud.example.com.</string>
<string name="add_account_working_signing_in">Anmelden</string>
<string name="add_account_working_reading_lists">Aufgaben auslesen</string>
<string name="add_account_working_saving">Konto hinzufügen</string>
<string name="add_account_error_google_unsupported">Google Kalendar unterstützt nach eigener Dokumentation nicht Aufgaben über CalDAV, also kann Agendula nicht damit synchronisieren.</string>
<string name="add_account_error_already_exists">Konto ist schon eingerichtet.</string>
<string name="add_account_error_credentials_rejected">Diser Benutzername oder dieses Passwort wurde nicht akzeptiert.</string>
<string name="add_account_browser_error_maintenance">Der Server befindet sich um Wartungsmodus. Versuche es erneut, wenn er wieder zurück ist.</string>
<string name="add_account_setup_icloud_title">iCloud braucht ein App-spezifisches Passwort</string>
<string name="accounts_sign_in_again">Erneut anmelden</string>
<string name="sync_notice_body">%1$s</string>
<string name="sync_notices_title">Änderungen durch letzte Synchronisierung</string>
<string name="sync_notices_dismiss">Verstanden</string>
</resources> </resources>
+9 -9
View File
@@ -34,17 +34,17 @@ Nothing listing-related goes in the recipe. F-Droid harvests
is fed from: title, descriptions, icon, feature graphic, screenshots and is fed from: title, descriptions, icon, feature graphic, screenshots and
`changelogs/<versionCode>.txt`. `title.txt` becomes the app name per locale. `changelogs/<versionCode>.txt`. `title.txt` becomes the app name per locale.
## Submitting ## Status
After `v1.0.0` is tagged and `agendula_v1.0.0.apk` is live on the self-hosted Submitted as [fdroiddata!49998](https://gitlab.com/fdroid/fdroiddata/-/merge_requests/49998)
repo: on 2026-09-24. Its CI rebuilt v1.0.0 and verified it against our published APK
("compared built binary to supplied reference binary successfully").
1. Fork `https://gitlab.com/fdroid/fdroiddata`, copy the recipe to The file here is a copy of the submitted recipe. fdroiddata's copy is the one
`metadata/de.jeanlucmakiola.agendula.yml`. that counts; after the merge F-Droid picks up new `vX.Y.Z` tags on its own
2. `fdroid readmeta && fdroid lint de.jeanlucmakiola.agendula`, then (`AutoUpdateMode`), so there is no per-release work there. Only a change to the
`fdroid build -v -l de.jeanlucmakiola.agendula` to rebuild and verify. recipe itself (a new submodule, a build flag) needs an MR, pinned to a full
3. Open the merge request. Later versions are picked up from new `vX.Y.Z` tags commit hash, never a tag.
(`AutoUpdateMode`), so there is no per-release work in fdroiddata.
The recipe says `License: MIT`; `:dav` is vendored MPL-2.0 (`dav/PROVENANCE.md`). The recipe says `License: MIT`; `:dav` is vendored MPL-2.0 (`dav/PROVENANCE.md`).
If the reviewer asks, change it to `MIT AND MPL-2.0`. If the reviewer asks, change it to `MIT AND MPL-2.0`.
@@ -1,11 +1,3 @@
# Draft fdroiddata recipe for the OFFICIAL F-Droid repository. Submitted as
# metadata/de.jeanlucmakiola.agendula.yml in fdroiddata; see README.md here.
# Not the self-hosted control file (that is ../../fdroid-metadata/).
#
# Reproducible build + developer-signed binary: F-Droid rebuilds from source,
# compares against our APK from `Binaries`, and on a match publishes OUR binary,
# so official and self-hosted installs share one signature.
Categories: Categories:
- Task - Task
License: MIT License: MIT
@@ -22,15 +14,10 @@ RepoType: git
Repo: https://codeberg.org/jlmakiola/agendula.git Repo: https://codeberg.org/jlmakiola/agendula.git
Binaries: https://apps.dev.jeanlucmakiola.de/dev/fdroid/repo/agendula_v%v.apk Binaries: https://apps.dev.jeanlucmakiola.de/dev/fdroid/repo/agendula_v%v.apk
# 1.0.0 is the first release that carries every reproducibility fix
# (scripts/check_reproducible_release.sh); 0.x releases strip datastore's .so
# files host-dependently and won't verify. submodules: floret-kit is an
# included build. No key.properties on the buildserver, so the release build
# comes out unsigned, which is what F-Droid compares.
Builds: Builds:
- versionName: 1.0.0 - versionName: 1.0.0
versionCode: 10000 versionCode: 10000
commit: v1.0.0 commit: 671910f54b097306ed83d69f910eb328cb07dc3d
subdir: app subdir: app
submodules: true submodules: true
gradle: gradle: