diff --git a/resources/lang/de_DE/default.po b/resources/lang/de_DE/default.po
index 3f26681..97547e0 100644
--- a/resources/lang/de_DE/default.po
+++ b/resources/lang/de_DE/default.po
@@ -69,7 +69,7 @@ msgid "footer.eventinfo.start_end"
msgstr "Event vom %1$s bis %2$s"
msgid "footer.issues"
-msgstr "Bugs / Features"
+msgstr "Bugs/Features"
msgid "footer.github"
msgstr "Entwicklerplattform"
@@ -89,6 +89,9 @@ msgstr "Bitte melde dich an."
msgid "form.submit"
msgstr "Absenden"
+msgid "form.password.placeholder"
+msgstr "**********"
+
msgid "form.send_notification"
msgstr "%d Benachrichtigungen versenden"
@@ -192,6 +195,9 @@ msgstr "Team %s"
msgid "%s (not \"%s\")"
msgstr "%s (kein \"%s\")"
+msgid "%s (unconfirmed \"%s\")"
+msgstr "%s (\"%s\" unbestätigt)"
+
msgid "%s (already in shift)"
msgstr "%s (bereits eingetragen)"
@@ -252,7 +258,7 @@ msgstr "Schichteintrag gelöscht."
msgid "This shift was imported from a schedule so some changes will be overwritten with the next import."
msgstr ""
-"Diese Schicht wurde aus einem Fahrplan importiert. "
+"Diese Schicht wurde aus einem Programm importiert. "
"Dadurch werden einige Änderungen beim nächsten Import überschrieben."
msgid "Please select a location."
@@ -386,18 +392,9 @@ msgstr "Elf gelöscht."
msgid "Delete %s"
msgstr "%s löschen"
-msgid "Please enter a valid number of vouchers."
-msgstr "Bitte gib eine korrekte Anzahl von Gutscheinen ein."
-
-msgid "Saved the number of vouchers."
-msgstr "Anzahl der Gutscheine gespeichert."
-
msgid "User not found."
msgstr "Benutzer nicht gefunden."
-msgid "Enough"
-msgstr "Genug"
-
msgid "All users"
msgstr "Alle Benutzer"
@@ -461,12 +458,6 @@ msgstr "Elf nicht gefunden."
msgid "Angel has been marked as not active."
msgstr "Elf wurde als nicht aktiv markiert."
-msgid "Angel has got a T-shirt."
-msgstr "Elf hat ein T-Shirt bekommen."
-
-msgid "Angel has got no T-shirt."
-msgstr "Elf hat kein T-Shirt bekommen."
-
msgid "Angel has no valid T-shirt size. T-shirt was not set."
msgstr "Elf hat keine valide T-Shirt Größe. T-Shirt wurde nicht gespeichert."
@@ -479,15 +470,9 @@ msgstr "Setze aktiv"
msgid "Remove active"
msgstr "Entferne aktiv"
-msgid "Remove T-shirt"
-msgstr "Entferne T-Shirt"
-
msgid "Goodie actions"
msgstr "Goodie Aktionen"
-msgid "T-shirt actions"
-msgstr "T-Shirt Aktionen"
-
msgid "Sum"
msgstr "Summe"
@@ -497,6 +482,9 @@ msgstr "Suche Elfen:"
msgid "Show all shifts"
msgstr "Alle Schichten anzeigen"
+msgid "Show free shifts"
+msgstr "Freie Schichten anzeigen"
+
msgid "How many angels should be active?"
msgstr "Wie viele Elfen sollten aktiv sein?"
@@ -509,6 +497,9 @@ msgstr "Nr."
msgid "general.shifts"
msgstr "Schichten"
+msgid "general.info"
+msgstr "Info"
+
msgid "Length"
msgstr "Länge"
@@ -519,13 +510,10 @@ msgid "Active"
msgstr "Aktiv"
msgid "Forced"
-msgstr "Erzwungen"
-
-msgid "T-shirt"
-msgstr "T-Shirt"
+msgstr "Dauerhaft aktiv"
-msgid "T-shirt statistic"
-msgstr "T-Shirt Statistik"
+msgid "Food"
+msgstr "Essen"
msgid "Given T-shirts"
msgstr "Ausgegebene T-Shirts"
@@ -581,6 +569,9 @@ msgstr "Elfentyp"
msgid "shift.next"
msgstr "Nächste Schicht"
+msgid "shift.previous"
+msgstr "Vorherige Schicht"
+
msgid "general.shift"
msgstr "Schicht"
@@ -723,7 +714,10 @@ msgid "No"
msgstr "Nein"
msgid "Force active"
-msgstr "Aktiv erzwingen"
+msgstr "Dauerhaft aktiv"
+
+msgid "Force food"
+msgstr "Unbegrenzt Essen"
msgid "Edit user"
msgstr "User bearbeiten"
@@ -731,6 +725,9 @@ msgstr "User bearbeiten"
msgid "general.datetime"
msgstr "d.m.Y H:i"
+msgid "general.duration"
+msgstr "%dh %02dmin"
+
msgid "API Settings"
msgstr "API Einstellungen"
@@ -740,9 +737,6 @@ msgstr "Gib bitte einen Schwänz-Kommentar ein!"
msgid "Shift saved."
msgstr "Schicht gespeichert."
-msgid "Ask the Heaven"
-msgstr "Fragen an den Infodesk"
-
msgid "The administration has not configured any locations yet."
msgstr "Die Administratoren habe noch keine Orte eingerichtet."
@@ -774,8 +768,8 @@ msgstr ""
"Die Schichten, die hier angezeigt werden, sind von Deinen Einstellungen "
"(Elfentypen/Aufgaben) abhängig!"
-msgid "Filter"
-msgstr "Filter"
+msgid "Filter shifts"
+msgstr "Schichten filtern"
msgid "Yesterday"
msgstr "Gestern"
@@ -810,6 +804,9 @@ msgstr ""
"\" target=\"_blank\">JSON Format (Link bitte geheimhalten, sonst musst du den API-Key in "
"deinen Einstellungen zurücksetzen)."
+msgid "Per page"
+msgstr "Pro Seite"
+
msgid "All"
msgstr "Alle"
@@ -908,9 +905,6 @@ msgstr "Fahrer"
msgid "Has car"
msgstr "Hat Auto"
-msgid "Info"
-msgstr "Info"
-
msgid "Supporters"
msgstr "Supporter"
@@ -956,8 +950,8 @@ msgstr "Meine Schicht"
msgid "Help needed"
msgstr "Hilfe benötigt"
-msgid "Other angel type needed / collides with my shifts"
-msgstr "Andere Elfentypen benötigt / kollidiert mit meinen Schichten"
+msgid "Other angel type needed/collides with my shifts"
+msgstr "Andere Elfentypen benötigt/kollidiert mit meinen Schichten"
msgid "Shift is full"
msgstr "Schicht ist voll"
@@ -971,7 +965,7 @@ msgstr "Mehr Elfen hinzufügen"
msgid "%d helper needed"
msgid_plural "%d helpers needed"
msgstr[0] "%d Helfer benötigt"
-msgstr[1] "%d Helfer benötigt"
+msgstr[1] "%d Helfende benötigt"
msgid "Sign up"
msgstr "Eintragen"
@@ -1094,17 +1088,29 @@ msgstr ""
msgid "Your password"
msgstr "Dein Passwort"
-msgid "Angel can receive another %d vouchers."
+msgid "voucher.vouchers"
+msgstr "Gutscheine"
+
+msgid "voucher.edit"
+msgstr "Gutscheine bearbeiten"
+
+msgid "voucher.eligible"
msgstr "Elf kann noch %d Gutscheine bekommen."
-msgid "Angel can receive another %d vouchers and is FA."
-msgstr "Elf kann noch %d Gutscheine bekommen und ist FA."
+msgid "voucher.eligible.force"
+msgstr "Elf kann %d unbegrenzt Gutscheine bekommen."
-msgid "Number of vouchers given out"
+msgid "voucher.count"
msgstr "Anzahl Gutscheine bekommen"
+msgid "user.state.vouchers"
+msgstr "%s von %s Gutscheinen bekommen"
+
+msgid "user.state.vouchers.force"
+msgstr " %d unendlich"
+
msgid "Freeloads"
-msgstr "Schwänzereien"
+msgstr "Geschwänzt"
msgid "Last login"
msgstr "Letzter Login"
@@ -1127,9 +1133,6 @@ msgstr "Austragen"
msgid "Sum:"
msgstr "Summe:"
-msgid "T-shirt score"
-msgstr "T-Shirt Score"
-
msgid "Work log entry"
msgstr "Arbeitseinsatz"
@@ -1151,17 +1154,14 @@ msgstr "Du hast genug gemacht."
msgid "%s has done enough."
msgstr "%s hat genug gemacht."
-msgid "Vouchers"
-msgstr "Gutscheine"
-
msgid "iCal Export"
msgstr "iCal Export"
msgid "JSON Export"
msgstr "JSON Export"
-msgid "Night shifts between %d and %d am are multiplied by %d for the %s score."
-msgstr "Nachtschichten zwischen %d und %d Uhr werden für den %4$s Score mit %3$d multipliziert."
+msgid "Night shifts between %d and %d am are multiplied by %d for the goodie score."
+msgstr "Nachtschichten zwischen %d und %d Uhr werden für den Goodie Score mit %3$d multipliziert."
msgid ""
"Go to the shifts table to sign yourself up for some "
@@ -1185,12 +1185,6 @@ msgstr "Angekommen am %s"
msgid "Not arrived (Planned: %s)"
msgstr "Nicht angekommen (Geplant: %s)"
-msgid "Got %s of %s vouchers"
-msgstr "%s von %s Gutscheinen bekommen"
-
-msgid "Got no vouchers"
-msgstr "Keine Gutscheine bekommen"
-
msgid "out of %s"
msgstr "von %s"
@@ -1238,18 +1232,18 @@ msgstr ""
"Hier kannst du den Benutzer Eintrag ändern. Unter dem Punkt 'Angekommen' wird der Elf als anwesend markiert, "
"ein Ja bei Aktiv bedeutet, dass der Elf aktiv war."
-msgid ""
-"If the angel is active, it can claim a T-shirt. If T-shirt is set to 'Yes', the angel already got their T-shirt."
-msgstr ""
-"Ist der Elf Aktiv, hat er damit Anspruch auf ein T-Shirt. Wenn T-Shirt ein 'Ja' enthält, bedeutet dies, "
-"dass der Elf bereits sein T-Shirt erhalten hat."
-
msgid "Here you can reset the password of this angel:"
-msgstr "Hier kannst du das Passwort für diesen Elfen zurücksetzen:"
+msgstr "Hier kannst du das Passwort für diesen Elf zurücksetzen:"
msgid "Here you can define the user groups of the angel:"
msgstr "Hier kannst du die Benutzergruppen des Elfs definieren:"
+msgid "You cannot remove the default group."
+msgstr "Du kannst die Standard-Benutzergruppe nicht entfernen."
+
+msgid "You removed the default group, this has unintended side effects!"
+msgstr "Du hast die Standard-Benutzergruppe entfernt, dies führt zu unerwarteten Nebeneffekten!"
+
msgid "User groups saved."
msgstr "Benutzergruppen gespeichert."
@@ -1296,10 +1290,10 @@ msgstr "Goodie Statistik"
msgid "Remove goodie"
msgstr "Goodie entfernen"
-msgid "Angel has got a goodie."
+msgid "Angel got a goodie."
msgstr "Elf hat ein Goodie bekommen."
-msgid "Angel has got no goodie."
+msgid "Angel got no goodie."
msgstr "Elf hat kein Goodie bekommen."
msgid "page.404.text"
@@ -1334,6 +1328,9 @@ msgstr "Alle löschen"
msgid "form.updated"
msgstr "Aktualisiert"
+msgid "form.generate"
+msgstr "Generieren"
+
msgid "form.cancel"
msgstr "Abbrechen"
@@ -1468,7 +1465,7 @@ msgid "news.edit.message"
msgstr "Nachricht"
msgid "news.edit.hint"
-msgstr "Du kannst Markdown und den [more] Tag benutzen"
+msgstr "Du kannst Markdown verwenden sowie den [more] Tag um die Vorschau vom Text zu trennen."
msgid "news.delete.title"
msgstr "News \"%s\" löschen"
@@ -1485,6 +1482,9 @@ msgstr "Du kannst sie dir unter %3$s anschauen."
msgid "form.search"
msgstr "Suchen"
+msgid "form.exact_match"
+msgstr "Genaue Übereinstimmung"
+
msgid "log.log"
msgstr "Logs"
@@ -1577,9 +1577,6 @@ msgstr ""
"Diese Zustimmung kann während des Events in den Profil-Einstellungen, sowie, auch nach dem Event, "
"per E-Mail an %1$s, widerrufen werden."
-msgid "settings.profile.shirt_size"
-msgstr "T-Shirt-Größe"
-
msgid "settings.profile.shirt_size.hint"
msgstr "Ein straight-cut T-Shirt hat breite Schultern und einen fast quadratischen Körper. "
"Ein fitted-cut (tailliertes) T-Shirt hat eine geschwungene Seitennaht, die an der Taille schmaler "
@@ -1702,7 +1699,7 @@ msgid "settings.certificates.drive_confirmed.hint"
msgstr "Dein Führerschein wurde bestätigt, du kannst deine Angaben nicht mehr selber ändern."
msgid "settings.certificates.confirmation.info"
-msgstr "Du hast persönlich überprüft, dass die Zertifizierung / Bescheinigung den Anforderungen genügt."
+msgstr "Du hast persönlich überprüft, dass die Zertifizierung/Bescheinigung den Anforderungen genügt."
msgid "settings.certificates.success"
msgstr "Zertifikate wurden erfolgreich aktualisiert."
@@ -1793,6 +1790,9 @@ msgstr "Login mit %s"
msgid "form.connect"
msgstr "Verbinden"
+msgid "form.all"
+msgstr "Alle"
+
msgid "form.disconnect"
msgstr "Trennen"
@@ -1850,23 +1850,29 @@ msgstr "Tag erstellen"
msgid "tag.delete.title"
msgstr "Tag \"%s\" löschen"
-msgid "user.edit.shirt"
-msgstr "T-Shirt bearbeiten"
-
msgid "user.edit.goodie"
msgstr "Goodie bearbeiten"
-msgid "form.shirt"
-msgstr "T-Shirt"
+msgid "user.goodie_score.enough"
+msgstr "Genug"
+
+msgid "user.goodie_score"
+msgstr "Goodie Score: %s"
msgid "user.shirt_size"
-msgstr "T-Shirt größe"
+msgstr "T-Shirt-Größe"
msgid "user.active"
msgstr "Aktiv"
msgid "user.force_active"
-msgstr "Aktiv (erzwungen)"
+msgstr "Dauerhaft aktiv"
+
+msgid "user.by"
+msgstr "(durch %s)"
+
+msgid "user.force_food"
+msgstr "Unbegrenzt Essen"
msgid "user.arrived"
msgstr "Angekommen"
@@ -1874,9 +1880,6 @@ msgstr "Angekommen"
msgid "user.arrive"
msgstr "Ankommen"
-msgid "user.got_shirt"
-msgstr "T-Shirt bekommen"
-
msgid "user.got_goodie"
msgstr "Goodie bekommen"
@@ -1907,8 +1910,11 @@ msgstr "Einsatzdatum"
msgid "worklog.hours"
msgstr "Arbeitsstunden"
-msgid "worklog.comment"
-msgstr "Kommentar"
+msgid "worklog.description"
+msgstr "Beschreibung"
+
+msgid "worklog.night_shift"
+msgstr "Arbeitseinsatz ist eine Nachtschicht"
msgid "worklog.delete"
msgstr "Arbeitseinsatz löschen"
@@ -1940,6 +1946,21 @@ msgid "angeltypes.hide_on_shift_view.info"
msgstr "Wenn ausgewählt, können nur Admins und Mitglieder des Elfentyps auf der "
"Schicht Seite die Filteroption für diesen Elfentyp sehen."
+msgid "angeltypes.qr"
+msgstr "Elfentyp \"%s\" beitreten QR Code"
+
+msgid "angeltypes.qr.expires"
+msgstr "Läuft ab %c"
+
+msgid "angeltypes.qr.expired"
+msgstr "Abgelaufen"
+
+msgid "angeltypes.qr.time"
+msgstr "Lebensdauer (Minuten)"
+
+msgid "angeltypes.qr.time.info"
+msgstr "Der Link ist für die gesamte angegebene Zeitspanne gültig und kann nicht zurückgezogen werden!"
+
msgid "location.location"
msgstr "Ort"
@@ -1950,7 +1971,7 @@ msgid "location.map_url"
msgstr "Karte"
msgid "location.required_angels"
-msgstr "Benötigte Elfen (bei Fahrplan import)"
+msgstr "Benötigte Elfen (bei Programmimport/-kopie)"
msgid "location.map_url.info"
msgstr "Die Karte wird auf der Ort-Seite als iframe eingebettet."
@@ -1977,7 +1998,7 @@ msgid "shifttype.delete.title"
msgstr "Schichttyp \"%s\" löschen"
msgid "shifttype.required_angels"
-msgstr "Benötigte Elfen (bei Fahrplan import)"
+msgstr "Benötigte Elfen (bei Programmimport/-kopie)"
msgid "shifttype.edit.signup_advance_hours"
msgstr "Selbsteintragen im voraus in Stunden"
@@ -2026,6 +2047,12 @@ msgstr "Anzahl"
msgid "general.created_at"
msgstr "Erstellt am"
+msgid "general.url"
+msgstr "URL"
+
+msgid "general.qr"
+msgstr "QR Code"
+
msgid "shifts.history"
msgstr "Schichten Historie"
@@ -2126,3 +2153,9 @@ msgstr "Konfiguration"
msgid "config.edit.success"
msgstr "Konfiguration erfolgreich angepasst"
+
+msgid "config.warning_from_env"
+msgstr "Konfiguration wird aus ENV variable überschrieben!"
+
+msgid "config.warning_file_not_writable"
+msgstr "Konfigurationsdatei config.local.php ist nicht beschreibbar!"