Add an accent-tinted 'Free and open source' band between the app preview and the feature grid — a short line about reading the code / self-hosting / filing an issue, linking to the public repo. The compact footer link stays. Trilingual.
80 lines
4.3 KiB
JSON
80 lines
4.3 KiB
JSON
{
|
|
"hero": {
|
|
"title": "Deine YouTube-Abos, so wie ein Feed funktionieren sollte.",
|
|
"subtitle": "Jeder Upload der Kanäle, denen du folgst, in einem aufgeräumten, filterbaren Feed — kein Algorithmus entscheidet, was du siehst, und kein Shorts- oder Livestream-Lärm, außer du willst es.",
|
|
"trust": "Selbst gehostet und privat. Melde dich per E-Mail an oder fahre mit Google fort."
|
|
},
|
|
"openSource": {
|
|
"title": "Kostenlos und quelloffen",
|
|
"body": "Der Code von Siftlode ist öffentlich — sieh nach, wie es funktioniert, betreibe deine eigene private Instanz oder melde ein Problem.",
|
|
"link": "Quellcode ansehen"
|
|
},
|
|
"preview": {
|
|
"feed": "Der Feed — filtern nach Kanal, Sprache, Thema, Länge und Datum.",
|
|
"channels": "Kanal-Verwaltung",
|
|
"playlists": "Wiedergabelisten"
|
|
},
|
|
"features": {
|
|
"heading": "Warum Siftlode",
|
|
"readable": {
|
|
"title": "Deine Abos, endlich lesbar",
|
|
"body": "Sortiere und filtere nach Kanal, Tag, Sprache, Thema, Länge oder Datum und speichere deine Einstellungen als Ansichten. Du entscheidest, was erscheint, nicht ein Algorithmus."
|
|
},
|
|
"neverMiss": {
|
|
"title": "Verpasse keinen Upload",
|
|
"body": "Jedes Video jedes Kanals landet in einem Feed; Shorts und Livestreams bleiben standardmäßig ausgeblendet."
|
|
},
|
|
"search": {
|
|
"title": "Durchsuche ganz YouTube",
|
|
"body": "Durchsuche YouTube direkt aus deinem Feed — Ergebnisse lassen sich abspielen, speichern und wie jedes andere Video zu Playlists hinzufügen."
|
|
},
|
|
"playlists": {
|
|
"title": "Playlists, die in beide Richtungen synchronisieren",
|
|
"body": "Erstelle Playlists lokal und halte sie in beidseitiger Synchronisation mit YouTube."
|
|
},
|
|
"player": {
|
|
"title": "Schau in der App, mach überall weiter",
|
|
"body": "Ein In-App-Player setzt jedes Video genau dort fort, wo du aufgehört hast — kein Empfehlungs-Strudel."
|
|
},
|
|
"private": {
|
|
"title": "Selbst gehostet und privat",
|
|
"body": "Betreibe es selbst, mehrbenutzerfähig, auf Englisch, Ungarisch und Deutsch. Deine Daten bleiben deine."
|
|
}
|
|
},
|
|
"auth": {
|
|
"signinTitle": "Anmelden",
|
|
"createTitle": "Konto erstellen",
|
|
"forgotTitle": "Passwort zurücksetzen",
|
|
"resetTitle": "Neues Passwort festlegen",
|
|
"email": "E-Mail",
|
|
"password": "Passwort",
|
|
"newPassword": "Neues Passwort (min. {{min}} Zeichen)",
|
|
"invalidEmail": "Gib eine gültige E-Mail-Adresse ein.",
|
|
"weakPassword": "Das Passwort muss mindestens {{min}} Zeichen lang sein.",
|
|
"genericError": "Etwas ist schiefgelaufen. Bitte versuche es erneut.",
|
|
"working": "Einen Moment…",
|
|
"signinButton": "Anmelden",
|
|
"createButton": "Konto erstellen",
|
|
"forgotButton": "Reset-Link senden",
|
|
"resetButton": "Passwort festlegen",
|
|
"createLink": "Konto erstellen",
|
|
"forgotLink": "Passwort vergessen?",
|
|
"backToSignin": "Zurück zur Anmeldung",
|
|
"or": "oder",
|
|
"google": "Mit Google fortfahren",
|
|
"tryDemo": "Demo ausprobieren",
|
|
"demoHint": "Gib eine E-Mail ein, die für das Demo-Konto freigeschaltet ist.",
|
|
"demoEmail": "Demo-E-Mail",
|
|
"demoEnter": "Eintreten",
|
|
"demoDenied": "Diese E-Mail ist nicht für die Demo freigeschaltet. Bitte den Admin, sie hinzuzufügen.",
|
|
"registerDone": "Fast geschafft — prüfe deine E-Mails auf den Bestätigungslink. Nach der Bestätigung gibt ein Admin dein Konto frei, bevor du dich anmelden kannst.",
|
|
"forgotDone": "Falls zu dieser E-Mail ein Konto gehört, haben wir einen Reset-Link gesendet. Prüfe dein Postfach.",
|
|
"resetDone": "Dein Passwort wurde festgelegt — du kannst dich jetzt anmelden.",
|
|
"verifyOk": "E-Mail bestätigt. Sobald ein Admin dein Konto freigibt, kannst du dich anmelden.",
|
|
"verifyInvalid": "Dieser Bestätigungslink ist ungültig oder abgelaufen.",
|
|
"accessRequested": "Danke — wir haben deine Anfrage erfasst. Ein Admin wird sie prüfen.",
|
|
"accessDenied": "Dieses Konto ist für diese Instanz noch nicht freigegeben — registriere dich unten oder bitte den Admin um Zugang.",
|
|
"suspended": "Dieses Konto wurde gesperrt und kann sich nicht anmelden. Falls das ein Irrtum ist, wende dich an den Betreiber (Details in deiner E-Mail).",
|
|
"deleted": "Dein Konto und alle Daten wurden endgültig gelöscht. Eine Bestätigung haben wir dir per E-Mail geschickt."
|
|
}
|
|
}
|