diff --git a/locales/de.json b/locales/de.json new file mode 100644 index 00000000..b4c03fa9 --- /dev/null +++ b/locales/de.json @@ -0,0 +1,95 @@ +{ + "common.close": "Schließen", + "common.copied": "Kopiert!", + "common.copy": "Kopieren", + "common.coverimg": "Titelbild", + "common.create": "Erstellen", + "common.creating": "Wird erstellt...", + "common.datetimeformat": "dddd D MMMM YYYY H:mm", + "common.emailaddr": "E-Mail-Adresse", + "common.eventend": "Endet", + "common.eventgroupid": "Veranstaltungsgruppen-ID", + "common.eventgroupname": "Name der Veranstaltungsgruppe", + "common.eventgroups": "Veranstaltungsgruppen", + "common.eventlocation": "Ort", + "common.eventname": "Veranstaltungsname", + "common.eventstart": "Beginnt", + "common.timezone": "Zeitzone", + "common.year-month-format": "MMMM YYYY", + "common.youremail": "Deine E-Mail", + "config.defaultinstancedesc": "**{{ siteName }}** läuft auf Gathio — einer einfachen, föderierten, datenschutzfreundlichen Plattform zum Hosten von Veranstaltungen.", + "config.instancerule.creatoremail-false": "Jeder kann Veranstaltungen und Gruppen erstellen", + "config.instancerule.creatoremail-true": "Nur bestimmte Personen können Veranstaltungen und Gruppen erstellen", + "config.instancerule.deleteafterdays-false": "Veranstaltungen sind dauerhaft und werden nie automatisch gelöscht", + "config.instancerule.deleteafterdays-true": "Veranstaltungen werden automatisch {{ days }} Tage nach ihrem Ende gelöscht", + "config.instancerule.isfederated-false": "Diese Instanz föderiert nicht mit anderen Instanzen", + "config.instancerule.isfederated-true": "Diese Instanz föderiert mit anderen Instanzen über ActivityPub", + "config.instancerule.showpubliceventlist-false": "Veranstaltungen und Gruppen sind nur über Direktlink zugänglich", + "config.instancerule.showpubliceventlist-true": "Öffentliche Veranstaltungen und Gruppen werden auf der Startseite angezeigt", + "frontend.dateformat": "dddd D MMMM YYYY", + "frontend.displaydate-days": "{{ startdate }} um {{ starttime }} - {{ enddate }} um {{ endtime }} {{ timezone }}", + "frontend.displaydate-sameday": "{{ startdate }} von {{ starttime }} bis {{ endtime }} {{ timezone }}", + "frontend.elnumber": "({{count}} Personen)", + "frontend.eventattendees": "Teilnehmer", + "frontend.newevent": "Neue Veranstaltung", + "frontend.publicevents": "Öffentliche Veranstaltungen", + "frontend.timeformat": "H:mm", + "routes.addeventattendeesubject": "Du hast für {{ eventName }} zugesagt", + "routes.addeventcommentsubject": "Neuer Kommentar in {{eventName}}", + "routes.deleteeventsubject": "{{ eventName }} wurde gelöscht", + "routes.event.datetimeformat": "{{thedate, intlDate}}", + "routes.event.descriptionchanged": "die Veranstaltungsbeschreibung wurde geändert", + "routes.event.difftext": "Diese Veranstaltung wurde gerade mit neuen Informationen aktualisiert.", + "routes.event.editedsubject": "{{ eventname }} wurde gerade bearbeitet", + "routes.event.endtimechanged": "die Endzeit wurde auf {{ endtime }} geändert", + "routes.event.locationchanged": "der Veranstaltungsort wurde auf {{ location }} geändert", + "routes.event.namechanged": "der Veranstaltungsname wurde auf {{ eventname }} geändert", + "routes.event.starttimechanged": "die Startzeit wurde auf {{ starttime }} geändert", + "routes.event.timezonechanged": "die Zeitzone wurde auf {{ timezone }} geändert", + "routes.magiclink-invalid": "Dieser magische Link ist ungültig oder abgelaufen. Bitte fordere hier einen neuen an.", + "routes.magiclink.mailsubject": "Magischer Link zur Erstellung einer Veranstaltung", + "routes.magiclink.provideemail": "Bitte gib eine E-Mail-Adresse an.", + "routes.magiclink.requestmlbutton": "Magischen Link anfordern", + "routes.magiclink.thanks": "Danke! Wenn diese E-Mail-Adresse Veranstaltungen erstellen darf, solltest du eine E-Mail mit einem magischen Link erhalten.", + "routes.removeeventattendeesubject": "Du wurdest von einer Veranstaltung entfernt", + "routes.subscribedsubject": "Du hast eine Veranstaltungsgruppe abonniert", + "util.validation.eventdata.creatoremail": "E-Mail-Adresse ist ungültig.", + "util.validation.eventdata.eventdescription": "Veranstaltungsbeschreibung ist erforderlich.", + "util.validation.eventdata.eventend": "Endzeit der Veranstaltung ist erforderlich.", + "util.validation.eventdata.eventgroupboolean": "Veranstaltungsgruppen-ID ist erforderlich.", + "util.validation.eventdata.eventgroupedittoken": "Bearbeitungscode der Veranstaltungsgruppe ist erforderlich.", + "util.validation.eventdata.eventlocation": "Veranstaltungsort ist erforderlich.", + "util.validation.eventdata.eventname": "Veranstaltungsname ist erforderlich.", + "util.validation.eventdata.eventstart": "Startzeit der Veranstaltung ist erforderlich.", + "util.validation.eventdata.eventurl": "Veranstaltungslink ist ungültig.", + "util.validation.eventdata.maxattendees": "Maximale Teilnehmerzahl muss eine Zahl sein.", + "util.validation.eventdata.maxattendeesboolean": "Maximale Teilnehmerzahl ist erforderlich.", + "util.validation.eventdata.timezone": "Zeitzone der Veranstaltung ist erforderlich.", + "util.validation.eventtime.endisbefore": "Die Endzeit muss in der Zukunft liegen.", + "util.validation.eventtime.endyears": "Die Dauer einer Veranstaltung darf nicht länger als 1 Jahr sein.", + "util.validation.eventtime.startisafter": "Die Startzeit muss vor der Endzeit liegen.", + "util.validation.eventtime.startisbefore": "Die Startzeit muss in der Zukunft liegen.", + "util.validation.groupdata.creatoremail": "E-Mail-Adresse ist ungültig.", + "util.validation.groupdata.eventgroupdescription": "Beschreibung der Veranstaltungsgruppe ist erforderlich.", + "util.validation.groupdata.eventgroupname": "Name der Veranstaltungsgruppe ist erforderlich.", + "util.validation.groupdata.eventgroupurl": "Gruppenlink ist ungültig.", + "views.404desc": "Sie hat vielleicht nie existiert oder wurde vom Server entfernt. Nicht verzweifeln – warum nicht eine neue erstellen? Ich würde zu deinem Okarina-Konzert kommen.", + "views.404notfound": "Veranstaltung nicht gefunden!", + "views.createeventmagiclink.requestmlcontact": "Wenn du auf Probleme stößt, kontaktiere bitte den Administrator der Instanz.", + "views.createeventmagiclink.requestmldesc": "Der Administrator dieser Instanz hat das Erstellen von Veranstaltungen auf bestimmte E-Mail-Adressen beschränkt. Wenn deine E-Mail-Adresse berechtigt ist, erhältst du einen magischen Link. Wenn nicht, bekommst du nichts.", + "views.createeventmagiclink.requestmltitle": "Fordere einen Link zur Erstellung einer neuen Veranstaltung an", + "views.del": "Löschen", + "views.edittoken": "Bearbeitungspasswort eingeben", + "views.edittokendesc": "Gib das Bearbeitungspasswort ein, das du per E-Mail erhalten hast oder das dir bei der Erstellung der Veranstaltung angezeigt wurde.", + "views.emails.addeventattendee.clicktocancel": "Klicke auf diesen Link", + "views.emails.addeventattendee.dontknowhtml": "Falls du dich nicht auf {{ siteName }} zu einer Veranstaltung angemeldet hast, könnte jemand versehentlich deine E-Mail anstelle seiner eigenen eingegeben haben. Wenn du nicht teilnehmen möchtest, nutze das obenstehende Löschpasswort, um dich von der Veranstaltungsseite zu entfernen.", + "views.emails.addeventattendee.eventlink": "Folge diesem Link, um die Veranstaltungsseite jederzeit zu öffnen", + "views.emails.addeventattendee.preface": "Du hast dich gerade auf {{ siteName }} zu einer Veranstaltung angemeldet. Vielen Dank! Wir senden dir eine weitere E-Mail, falls es Aktualisierungen gibt. Deine E-Mail wird automatisch aus der Datenbank entfernt, sobald die Veranstaltung beendet ist.", + "views.emails.addeventattendee.removapasswordhtml": "Du kannst auch zur Veranstaltungsseite gehen und dieses Löschpasswort verwenden", + "views.emails.addeventattendee.removelink": "Möchtest du dich von dieser Veranstaltung entfernen? Klicke auf diesen Link", + "views.emails.addeventattendee.removepassword": "Du kannst auch zur Veranstaltungsseite gehen und dieses Löschpasswort verwenden", + "views.emails.addeventattendee.toremove": "Möchtest du dich von dieser Veranstaltung entfernen?", + "views.emails.addeventcomment.link": "Hier klicken, um den Kommentar zu sehen", + "views.emails.addeventcomment.preface": "{{ commentAuthor }} hat gerade einen Kommentar zu einer Veranstaltung gepostet, an der du auf {{ siteName }} teilnimmst.", + "views.emails.addeventcomment.prefacehtml": "{{ commentAuthor }} hat gerade einen Kommentar zu einer Veranstaltung gepostet, an der du auf {{ siteName }} teilnimmst." +} diff --git a/src/app.ts b/src/app.ts index a649552a..2b1e5498 100755 --- a/src/app.ts +++ b/src/app.ts @@ -47,8 +47,8 @@ async function initializeApp() { loadPath: path.join(getLocalesPath(), "{{lng}}.json"), }, fallbackLng: "en", - preload: ["en", "ja"], - supportedLngs: ["en", "ja"], + preload: ["en", "ja", "de"], + supportedLngs: ["en", "ja", "de"], nonExplicitSupportedLngs: true, load: "languageOnly", debug: false,