feat(app): one Profile for every app, the person's own tab first, then each app's (ADR 0014)
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>
This commit is contained in:
parent
a0bb75f1ad
commit
b7b0b937fe
1 changed files with 1668 additions and 1293 deletions
|
|
@ -447,8 +447,6 @@
|
|||
"exploreTitle": "Entdecken",
|
||||
"exploreEmpty": "Lernsets, die andere teilen, erscheinen hier.",
|
||||
|
||||
"profileTitle": "Profil",
|
||||
"profileTabProfile": "Profil",
|
||||
"profileTabStatistics": "Statistik",
|
||||
"statisticsDays": "Tage",
|
||||
"statisticsWeeks": "Wochen",
|
||||
|
|
@ -467,75 +465,9 @@
|
|||
"statisticsWeekOf": "Woche ab {date}",
|
||||
"@statisticsWeekOf": {"placeholders": {"date": {"type": "String"}}},
|
||||
"statisticsNothingYet": "Noch nichts gelernt. Deine Lernzeit und Bewertungen erscheinen hier, sobald du Karteikarten lernst.",
|
||||
"profileSettingsTooltip": "Einstellungen",
|
||||
"profileIdentified": "Dein Fortschritt wird in deinem Konto gespeichert.",
|
||||
"profileSignInWays": "Anmeldewege",
|
||||
"profileWayEmail": "E-Mail-Adresse",
|
||||
"profileWayLinked": "Meldet dich an",
|
||||
"publicProfileTitle": "Öffentliches Profil",
|
||||
"profileSheetTitle": "Profil",
|
||||
"profileSheetNotFound": "Niemand auf dieser Instanz hat diesen Handle.",
|
||||
"profileSheetLinkVerified": "Verlinkt zurück auf dieses Profil",
|
||||
"profileSheetUnreachable": "Das Profil konnte nicht geladen werden. Prüfe deine Verbindung.",
|
||||
"publicProfileIntro": "Wie andere dich sehen, sobald du veröffentlichst: das Handle, unter dem sie dich finden, dein Name, ein paar Worte und Links. Es speichert sich beim Schreiben, sobald du dein Handle gewählt hast.",
|
||||
"publicProfileDisplayName": "Anzeigename",
|
||||
"publicProfileDisplayNameHint": "Der Name neben deinem Handle",
|
||||
"publicProfileHandle": "Handle",
|
||||
"publicProfileHandleHint": "Buchstaben, Ziffern und Unterstriche, bis zu 30",
|
||||
"publicProfileAddress": "Andere finden dich als @{address}",
|
||||
"@publicProfileAddress": {"placeholders": {"address": {"type": "String"}}},
|
||||
"publicProfileAddressPrivate": "Privat, bis du dein Profil ausfüllst oder etwas veröffentlichst; dann finden dich andere als @{address}.",
|
||||
"@publicProfileAddressPrivate": {"placeholders": {"address": {"type": "String"}}},
|
||||
"publicProfileHandleFixed": "Fest, seit du veröffentlicht hast: Andere verweisen darauf.",
|
||||
"publicProfileBio": "Über dich",
|
||||
"publicProfileLinks": "Links",
|
||||
"publicProfileLinksHint": "Deine Website oder andere Konten, bis zu 4.",
|
||||
"publicProfileLinkHint": "https://…",
|
||||
"publicProfileAddLink": "Link hinzufügen",
|
||||
"publicProfilePage": "Deine Profilseite: {url}",
|
||||
"publicProfilePageCopy": "Adresse kopieren",
|
||||
"publicProfilePageCopied": "Adresse kopiert.",
|
||||
"publicProfileVerifyHint": "Ein Link bekommt ein Häkchen, sobald seine Seite mit rel=\"me\" auf deine Profilseite zurückverlinkt, wie Mastodon Links prüft.",
|
||||
"publicProfileCheckLinks": "Links prüfen",
|
||||
"publicProfileLinkVerified": "Verlinkt zurück auf dein Profil",
|
||||
"publicProfileLinksChecked": "{count, plural, =1{Geprüft: {verified} von 1 Link verlinkt zurück auf dein Profil.} other{Geprüft: {verified} von {count} Links verlinken zurück auf dein Profil.}}",
|
||||
"publicProfileRemoveLink": "Link entfernen",
|
||||
"publicProfileSaving": "Wird gespeichert …",
|
||||
"publicProfileSavedNow": "Gespeichert",
|
||||
"publicProfileHandleChoose": "Wähle ein Handle",
|
||||
"publicProfileHandleFirst": "Wähle zuerst dein Handle: Damit wird dein Profil angelegt, und ab dann speichert es sich beim Schreiben.",
|
||||
"publicProfileHandleChooseTitle": "Wähle dein Handle",
|
||||
"publicProfileHandleChangeTitle": "Ändere dein Handle",
|
||||
"publicProfileHandleDialogText": "Andere finden dich unter deinem Handle. Du kannst es ändern, bis du zum ersten Mal ein Lernset veröffentlichst.",
|
||||
"publicProfileHandleChecking": "Wird geprüft …",
|
||||
"publicProfileHandleFree": "@{handle} ist frei",
|
||||
"@publicProfileHandleFree": {"placeholders": {"handle": {"type": "String"}}},
|
||||
"publicProfileHandleYours": "Das ist dein Handle",
|
||||
"publicProfileHandleConfirmChoose": "Wählen",
|
||||
"publicProfileHandleConfirmChange": "Ändern",
|
||||
"publicProfileRemove": "Profil entfernen",
|
||||
"publicProfileRemoveTitle": "Dein öffentliches Profil entfernen?",
|
||||
"publicProfileRemoveMessage": "Anzeigename, Text über dich, Links und Bild werden entfernt. Dein Handle bleibt deins und privat, bis du dein Profil wieder ausfüllst oder etwas veröffentlichst.",
|
||||
"publicProfileRemoved": "Profil entfernt.",
|
||||
"publicProfileFailed": "Die Instanz ist nicht erreichbar. Versuche es erneut.",
|
||||
"publicProfileUnreachable": "Dein öffentliches Profil ist gerade nicht erreichbar.",
|
||||
"publicProfileRetry": "Erneut versuchen",
|
||||
"profileProblemHandleInvalid": "Ein Handle besteht aus 1 bis 30 Buchstaben (a bis z), Ziffern oder Unterstrichen.",
|
||||
"profileProblemHandleReserved": "Dieses Handle ist der Instanz vorbehalten.",
|
||||
"profileProblemHandleTaken": "Dieses Handle hat schon jemand anderes.",
|
||||
"profileProblemPublished": "Du hast veröffentlicht: Dein Handle kann sich nicht mehr ändern und dein Profil nicht mehr gehen.",
|
||||
"profileProblemDisplayNameTooLong": "Höchstens 30 Zeichen.",
|
||||
"profileProblemBioTooLong": "Höchstens 500 Zeichen.",
|
||||
"profileProblemTooManyLinks": "Höchstens 4 Links.",
|
||||
"profileProblemLinkInvalid": "Links beginnen mit https:// oder http://.",
|
||||
"profileProblemAvatarInvalid": "Dieses Bild lässt sich nicht verwenden: Wähle ein PNG-, JPEG-, WebP- oder GIF-Bild.",
|
||||
"profileProblemTooManyLinkChecks": "Die Links wurden zu oft geprüft. Versuche es in einer Stunde noch einmal.",
|
||||
"profileProblemTooManyHandleChecks": "Es wurden zu viele Handles ausprobiert. Versuche es in einer Stunde noch einmal.",
|
||||
"publicProfilePicture": "Bild",
|
||||
"publicProfileChoosePicture": "Bild wählen",
|
||||
"publicProfileRemovePicture": "Bild entfernen",
|
||||
"publicProfilePictureType": "Bilder",
|
||||
"publicProfilePictureLater": "Wähle dein Handle, um ein Bild hinzuzufügen.",
|
||||
|
||||
"settingsTitle": "Einstellungen",
|
||||
"settingsAccount": "Konto",
|
||||
|
|
|
|||
Loading…
Reference in a new issue