The public profile was already one per person for every service of an instance (the register, ADR 0016); its app side was Learn's alone. It moves into halkyon_app: the model, the repository on the module's endpoints, the form, the avatar drawn on the device and the sheet with someone's profile. They take the Public prefix (PublicProfileRepository, BasePublicProfileGateway), as Train's own ProfileRepository holds the body's figures. AppDependencies gains profiles and files, the picker the avatar is chosen with, which moves out of Learn too. HalkyonProfile is every app's Profile screen: the person's own tab first, the same in every app (the account and the ways they sign in, the app's own cards, then the public profile), then the app's own tabs, folding into the title. Learn adds its inbox and Statistics. Train adds Progress, Days and, where nothing records, Plans, and so opens on the person's tab, no longer on Progress. Todo, which has no Profile tab, opens it from a row at the top of Browse, where Todoist keeps the account. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
238 lines
11 KiB
Text
238 lines
11 KiB
Text
{
|
|
"@@locale": "de",
|
|
"appTitle": "Halkyon Todo",
|
|
"launchProduct": "Todo",
|
|
"instanceFirstStartSubtitle": "Wähle die Instanz, auf der deine Aufgaben liegen sollen. Jede betreibt jemand; weitere kannst du später hinzufügen.",
|
|
"accountTitle": "Konto",
|
|
"accountDeleteMessage": "Dein Konto wird auf dem Server und auf all deinen Geräten gelöscht. Dies kann nicht rückgängig gemacht werden.",
|
|
"aboutTitle": "Über Halkyon Todo",
|
|
"shellTabToday": "Heute",
|
|
"shellTabUpcoming": "Demnächst",
|
|
"shellTabInbox": "Eingang",
|
|
"browseProfile": "Profil",
|
|
"browseProfileHint": "Dein Konto, wie du dich anmeldest, und dein öffentliches Profil",
|
|
"shellTabBrowse": "Übersicht",
|
|
"settingsTitle": "Einstellungen",
|
|
"settingsVersion": "Version {version} (Build {build})",
|
|
"clear": "Entfernen",
|
|
"colorLabel": "Farbe",
|
|
"dateTitle": "Datum",
|
|
"dateNextWeek": "Nächste Woche",
|
|
"dateWeekend": "Dieses Wochenende",
|
|
"datePick": "Tag wählen",
|
|
"dateTime": "Uhrzeit",
|
|
"dateNone": "Kein Datum",
|
|
"dateNoneYet": "Kein Datum",
|
|
"dayToday": "Heute",
|
|
"dayTomorrow": "Morgen",
|
|
"dayYesterday": "Gestern",
|
|
"dayHeadingNamed": "{date} · {name}",
|
|
"deadlineOn": "Frist {day}",
|
|
"deadlineNone": "Keine Frist",
|
|
"keysMissing": "Dieses Gerät kann nichts speichern: Es hat die Schlüssel deines Kontos nicht. Melde dich mit deinem Passwort oder deiner Wiederherstellungsphrase an, um sie hinzuzufügen.",
|
|
"labelsTitle": "Labels",
|
|
"labelsNone": "Noch keine Labels.",
|
|
"labelsNoneSet": "Keine Labels",
|
|
"labelsCount": "{count, plural, =1{1 Label} other{{count} Labels}}",
|
|
"labelAdd": "Neues Label",
|
|
"labelEdit": "Label bearbeiten",
|
|
"labelDelete": "Label löschen",
|
|
"labelDeleteTitle": "Label löschen?",
|
|
"labelDeleteMessage": "„{name}“ wird von jeder Aufgabe entfernt, die es hat.",
|
|
"nameLabel": "Name",
|
|
"save": "Speichern",
|
|
"overdue": "Überfällig",
|
|
"reschedule": "Verschieben",
|
|
"priorityTitle": "Priorität",
|
|
"priority1": "Priorität 1",
|
|
"priority2": "Priorität 2",
|
|
"priority3": "Priorität 3",
|
|
"priority4": "Keine Priorität",
|
|
"projectsTitle": "Projekte",
|
|
"projectsNone": "Noch keine eigenen Projekte.",
|
|
"projectAdd": "Neues Projekt",
|
|
"projectEdit": "Projekt bearbeiten",
|
|
"projectDelete": "Projekt löschen",
|
|
"projectDeleteTitle": "Projekt löschen?",
|
|
"projectDeleteMessage": "„{name}“ wird mit seinen Abschnitten und Aufgaben auf all deinen Geräten gelöscht.",
|
|
"projectEmptyTitle": "Hier ist nichts zu tun",
|
|
"projectEmptyHint": "Füge mit dem Plus eine Aufgabe hinzu.",
|
|
"projectGone": "Dieses Projekt wurde gelöscht.",
|
|
"projectMenu": "Mehr",
|
|
"projectPickTitle": "Projekt",
|
|
"sectionAdd": "Neuer Abschnitt",
|
|
"sectionEdit": "Abschnitt umbenennen",
|
|
"sectionDelete": "Abschnitt löschen",
|
|
"sectionDeleteTitle": "Abschnitt löschen?",
|
|
"sectionDeleteMessage": "„{name}“ wird mit seinen Aufgaben gelöscht.",
|
|
"sectionMenu": "Abschnitt",
|
|
"subTasks": "Unteraufgaben",
|
|
"subTasksDone": "Unteraufgaben {done}/{count}",
|
|
"subTaskAdd": "Unteraufgabe hinzufügen",
|
|
"taskTitle": "Aufgabe",
|
|
"taskAddTitle": "Aufgabe hinzufügen",
|
|
"taskAdd": "Hinzufügen",
|
|
"taskAddOn": "Aufgabe für {day} hinzufügen",
|
|
"taskTitleHint": "Was ist zu tun?",
|
|
"taskDescription": "Beschreibung",
|
|
"taskDescriptionHint": "Beschreibung",
|
|
"taskComplete": "Als erledigt markieren",
|
|
"taskReopen": "Als unerledigt markieren",
|
|
"taskCompleted": "Aufgabe erledigt",
|
|
"taskDelete": "Aufgabe löschen",
|
|
"taskDeleteTitle": "Aufgabe löschen?",
|
|
"taskDeleteMessage": "„{title}“ wird auf all deinen Geräten gelöscht.",
|
|
"taskDeleteWithSubTasks": "„{title}“ wird mit {count, plural, =1{seiner Unteraufgabe} other{seinen {count} Unteraufgaben}} auf all deinen Geräten gelöscht.",
|
|
"taskGone": "Diese Aufgabe wurde gelöscht.",
|
|
"todayEmptyTitle": "Heute ist nichts fällig",
|
|
"todayEmptyHint": "Aufgaben mit dem heutigen Datum und überfällige erscheinen hier.",
|
|
"lockedRows": "{count, plural, =1{1 Eintrag lässt sich auf diesem Gerät nicht öffnen.} other{{count} Einträge lassen sich auf diesem Gerät nicht öffnen.}}",
|
|
"inboxMissingTitle": "Noch kein Eingang",
|
|
"inboxMissingHint": "Dein Eingang kommt mit dem nächsten Abgleich, oder sobald dieses Gerät die Schlüssel deines Kontos hat.",
|
|
"repeatTitle": "Wiederholen",
|
|
"repeatNone": "Keine Wiederholung",
|
|
"repeatCustom": "Eigene Regel",
|
|
"repeatEveryDay": "{count, plural, =1{Jeden Tag} other{Alle {count} Tage}}",
|
|
"repeatEveryWeek": "{count, plural, =1{Jede Woche} other{Alle {count} Wochen}}",
|
|
"repeatEveryMonth": "{count, plural, =1{Jeden Monat} other{Alle {count} Monate}}",
|
|
"repeatEveryYear": "{count, plural, =1{Jedes Jahr} other{Alle {count} Jahre}}",
|
|
"repeatWeekdays": "Jeden Werktag",
|
|
"repeatOn": "{rule} am {on}",
|
|
"repeatMonthDay": "{day}.",
|
|
"repeatMonthWeek": "{nth, select, 1{ersten} 2{zweiten} 3{dritten} 4{vierten} other{letzten}} {weekday}",
|
|
"repeatFromCompletion": "{rule}, ab Erledigung",
|
|
"repeatUntil": "{rule}, bis {day}",
|
|
"repeatLeft": "{rule}, {count, plural, =0{nur noch diesmal} =1{noch einmal} other{noch {count}-mal}}",
|
|
"repeatEvery": "Alle",
|
|
"repeatUnitDays": "Tage",
|
|
"repeatUnitWeeks": "Wochen",
|
|
"repeatUnitMonths": "Monate",
|
|
"repeatUnitYears": "Jahre",
|
|
"repeatCountFromCompletion": "Ab Erledigung zählen",
|
|
"repeatCountFromCompletionHint": "Nicht ab ihrem Datum: später erledigt, kommt sie entsprechend später wieder.",
|
|
"repeatEnds": "Endet",
|
|
"repeatEndsNever": "Nie",
|
|
"repeatEndsOn": "An einem Tag",
|
|
"repeatEndsAfter": "{count, plural, =1{Nach einem Mal} other{Nach {count} Malen}}",
|
|
"remindersTitle": "Erinnerungen",
|
|
"remindersNone": "Keine Erinnerungen",
|
|
"reminderAtTime": "Zur Uhrzeit",
|
|
"reminderMinutesBefore": "{count, plural, =1{1 Minute vorher} other{{count} Minuten vorher}}",
|
|
"reminderHoursBefore": "{count, plural, =1{1 Stunde vorher} other{{count} Stunden vorher}}",
|
|
"reminderDaysBefore": "{count, plural, =1{1 Tag vorher} other{{count} Tage vorher}}",
|
|
"reminderDue": "Fällig um {time}",
|
|
"remindersChannel": "Erinnerungen an Aufgaben",
|
|
"remindersNotAllowed": "Benachrichtigungen sind für Halkyon Todo aus: Erinnerungen erscheinen, sobald du sie in den Systemeinstellungen erlaubst.",
|
|
"remindersOnThisDevice": "Erinnerungen kommen auf jedem deiner Geräte, das deine Aufgaben öffnet.",
|
|
"weekPrevious": "Vorige Woche",
|
|
"weekNext": "Folgende Woche",
|
|
"searchTitle": "Suchen",
|
|
"searchHint": "Aufgaben und Projekte suchen",
|
|
"searchEmpty": "Finde eine Aufgabe über die Wörter in ihrem Titel, ihrer Beschreibung oder ihren Labels. Die Suche läuft auf diesem Gerät: deine Instanz kann deine Aufgaben nicht lesen.",
|
|
"searchNone": "Nichts gefunden für „{query}“.",
|
|
"searchProjects": "Projekte",
|
|
"searchTasks": "Aufgaben",
|
|
"taskMore": "Optionen der Aufgabe",
|
|
"taskAddedOn": "Hinzugefügt am {when}",
|
|
"taskDuplicate": "Duplizieren",
|
|
"taskDuplicated": "Aufgabe dupliziert",
|
|
"subTasksHideDone": "Erledigte Unteraufgaben ausblenden",
|
|
"subTasksShowDone": "Erledigte Unteraufgaben zeigen",
|
|
"taskClose": "Schließen",
|
|
"taskPath": "Wo die Aufgabe liegt",
|
|
"weekToday": "Zurück zu heute",
|
|
"monthPrevious": "Voriger Monat",
|
|
"monthNext": "Folgender Monat",
|
|
"monthShow": "Ganzen Monat zeigen",
|
|
"monthHide": "Eine Woche zeigen",
|
|
"selectTasks": "Aufgaben auswählen",
|
|
"selectionCount": "{count, plural, =0{Aufgaben auswählen} =1{1 Aufgabe ausgewählt} other{{count} Aufgaben ausgewählt}}",
|
|
"selectionEnd": "Auswahl beenden",
|
|
"selectionDate": "Datum",
|
|
"selectionMove": "Verschieben nach",
|
|
"selectionLabels": "Labels",
|
|
"selectionPriority": "Priorität",
|
|
"selectionMore": "Mehr",
|
|
"selectionDelete": "{count, plural, =1{1 Aufgabe löschen} other{{count} Aufgaben löschen}}",
|
|
"selectionDeleteTitle": "Die Aufgaben löschen?",
|
|
"selectionDeleteMessage": "{count, plural, =1{1 Aufgabe wird mit ihren Unteraufgaben auf all deinen Geräten gelöscht.} other{{count} Aufgaben werden mit ihren Unteraufgaben auf all deinen Geräten gelöscht.}}",
|
|
"selectionDuplicate": "{count, plural, =1{1 Aufgabe duplizieren} other{{count} Aufgaben duplizieren}}",
|
|
"selectionComplete": "{count, plural, =1{1 Aufgabe erledigen} other{{count} Aufgaben erledigen}}",
|
|
"selectionDeadline": "Frist",
|
|
"tasksCompleted": "{count, plural, =1{Aufgabe erledigt} other{{count} Aufgaben erledigt}}",
|
|
"swipeSelect": "Auswählen",
|
|
"swipeDate": "Datum",
|
|
"tasksMenu": "Mehr",
|
|
"quickAddMore": "Mehr",
|
|
"quickAddTokenHint": "Tippe ein hervorgehobenes Wort an, um es als Text zu behalten.",
|
|
"deadlineTitle": "Frist",
|
|
"orderChanged": "Reihenfolge geändert",
|
|
"addTaskCancel": "Hier ablegen zum Abbrechen",
|
|
"taskMovedTo": "Verschoben auf {day}",
|
|
"display": "Anzeige",
|
|
"displayCompleted": "Erledigte Aufgaben",
|
|
"displaySort": "Sortieren",
|
|
"displayGrouping": "Gruppierung",
|
|
"displaySorting": "Sortierung",
|
|
"displayFilter": "Filter",
|
|
"displayDeadline": "Frist",
|
|
"displayLabel": "Label",
|
|
"displayReset": "Alles zurücksetzen",
|
|
"displayDone": "Fertig",
|
|
"displayAll": "Alle",
|
|
"displayAny": "Beliebig",
|
|
"groupingNone": "Keine",
|
|
"groupingDate": "Datum",
|
|
"groupingDeadline": "Frist",
|
|
"groupingAdded": "Hinzugefügt am",
|
|
"groupingPriority": "Priorität",
|
|
"groupingLabel": "Label",
|
|
"sortingManual": "Manuell",
|
|
"sortingName": "Name",
|
|
"sortingDate": "Datum",
|
|
"sortingDeadline": "Frist",
|
|
"sortingAdded": "Hinzugefügt am",
|
|
"sortingPriority": "Priorität",
|
|
"rangeToday": "Heute",
|
|
"rangeThisWeek": "Diese Woche",
|
|
"rangeNext7": "Nächste 7 Tage",
|
|
"rangeThisMonth": "Dieser Monat",
|
|
"rangeNext30": "Nächste 30 Tage",
|
|
"rangeNoDate": "Kein Datum",
|
|
"rangeNoDeadline": "Keine Frist",
|
|
"viewNothingTitle": "Nichts passt",
|
|
"viewNothingHint": "Die Filter dieser Ansicht lassen hier jede Aufgabe aus. Unter Anzeige änderst du sie.",
|
|
"displaySave": "Speichern",
|
|
"displayCancel": "Abbrechen",
|
|
"groupNoLabel": "Ohne Label",
|
|
"layoutTitle": "Layout",
|
|
"layoutList": "Liste",
|
|
"layoutBoard": "Board",
|
|
"boardNoSection": "(Kein Abschnitt)",
|
|
"layoutCalendar": "Kalender",
|
|
"displayOccurrences": "Künftige Wiederholungen",
|
|
"calendarNoDate": "Ohne Datum",
|
|
"calendarNoDateEmpty": "Jede Aufgabe hier hat ein Datum",
|
|
"calendarNoDateHint": "Aufgaben dieses Projekts ohne Datum stehen hier.",
|
|
"taskLater": "Eine spätere Wiederholung",
|
|
"sortingSmart": "Smart",
|
|
"layoutAgenda": "Agenda",
|
|
"layoutThreeDay": "3 Tage",
|
|
"displayColoring": "Farben",
|
|
"coloringProject": "Projekt",
|
|
"allDay": "Ganztägig",
|
|
"daysPrevious": "Frühere Tage",
|
|
"daysNext": "Spätere Tage",
|
|
"settingsTasks": "Aufgaben",
|
|
"weekStartTitle": "Woche beginnt am",
|
|
"weekStartLanguage": "Wie in der Sprache",
|
|
"resetSubTasksTitle": "Unteraufgaben zurücksetzen",
|
|
"resetSubTasksHint": "Wieder öffnen, wenn eine wiederkehrende Aufgabe erledigt ist",
|
|
"automaticReminderTitle": "Automatische Erinnerung",
|
|
"automaticReminderHint": "Für eine Aufgabe mit Uhrzeit, wenn sie keine eigene Erinnerung hat",
|
|
"automaticReminderNone": "Keine",
|
|
"snoozeTitle": "Schlummern für",
|
|
"snoozeMinutes": "{count, plural, =1{1 Minute} other{{count} Minuten}}",
|
|
"reminderSnooze": "{count} Min. schlummern",
|
|
"monthMore": "{count} weitere"
|
|
}
|