From 53e7bc2140d3443920cfbf1b6974faac48d1e359 Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Fri, 23 Oct 2026 23:40:17 +0200 Subject: [PATCH 01/19] core pages german translation --- .../static/ftl/de-de/error.ftl | 29 +++++++++++++++++++ .../static/ftl/de-de/ui.ftl | 9 ++++++ 2 files changed, 38 insertions(+) create mode 100644 pointercrate-core-pages/static/ftl/de-de/error.ftl create mode 100644 pointercrate-core-pages/static/ftl/de-de/ui.ftl diff --git a/pointercrate-core-pages/static/ftl/de-de/error.ftl b/pointercrate-core-pages/static/ftl/de-de/error.ftl new file mode 100644 index 00000000..c39b1828 --- /dev/null +++ b/pointercrate-core-pages/static/ftl/de-de/error.ftl @@ -0,0 +1,29 @@ +error-contact = Glaubst du, dass dir dieser Fehler irrtümlich angezeigt wurde? + .contact-link = Kontaktier uns! + +error-core-badrequest = Der Browser (oder Proxy) hat eine Anfrage gesendet, welcher der Server nicht verstehen konnte. +error-core-invalidheadervalue = Der Header-Wert '{ $header }' konnte nicht verarbeitet werden. +error-core-unauthorized = Der Server konnte nicht feststellen, dass du Zugriff auf die angeforderte URL hast. Du hast entweder falsche Login-Daten eingegeben (z.B. ein falsches Passwort) oder dein Browser kann die Daten nicht verarbeiten. +error-core-forbidden = Du hast keinen Zugriff auf die Ressource. Sie ist entweder Lesegeschützt oder vom Server nicht lesbar. +error-core-missingpermissions Du hast keine ausreichenden pointercrate Rechte um diese Anfrage auszuführen. Benötigt ist: { $required-permission }, welche nicht in deinen vorhandenen Rechten existiert. +error-core-notfound = Die angeforderte URL konnte nicht gefunden werden. Falls du die URL manuell eingegeben hast, prüfe die Rechtschreibung und probiere es erneut. +error-core-methodnotallowed = Diese Methode ist für die angeforderte URL nicht erlaubt. +error-core-conflict = Bei der Bearbeitung der Anfrage ist ein Fehler aufgetreten. Die Ressource wurde wohlmöglich während deiner Anfrage modifiziert. +error-core-lengthrequired = Eine Anfrage mit dieser Methode benötigt einen gültigen 'Content-Length' header. +error-core-preconditionfailed = Die Vorbedingung der URL-Anfrage hat keinen positiven Wert geliefert. +error-core-payloadtoolarge = Der übertragene Datenmenge überschreitet die maximal zulässige Kapazität. +error-core-unsupportedmediatype = Der Server unterstützt den übertragenen Medientyp in der Anfrage nicht / Kein Medientyp wurde spezifiziert. Erwartet wurde '{ $expected-type }'. +error-core-unprocessableentity = Die Anfrage ist aufgrund von semantischen Fehlern gescheitert. +error-core-invalidpaginationlimit = Ungültiger Wert für 'limit'. Der Wert muss zwischen 1 und 100 liegen. +error-core-invalidurlscheme = Ungültiges URL Schema. Nur 'http' und 'https' sind erlaubt. +error-core-urlauthenticated = Die angegebene URL enthält Authentifizierungsinformationen. Aus Sicherheitsgründen wurde sie abgelehnt. +error-core-invalidurlformat = Die angegebene URL enthält kein Video. Das URL Format für den gegebenen Host muss '{ $expected-format }' entsprechen. +error-core-aftersmallerbefore = Der 'after'-Wert für die Seitennummerierung ist kleiner als der 'before'-Wert. Dies würde in einer leeren Antwort resultieren und ist höchstwahrscheinlich ein Fehler. +error-core-mutuallyexclusive = Deine Anfrage enthält Felder, welche nicht zusammen verwendet werden können. Bitte verwende nur eins. +error-core-preconditionrequired = Diese Anfrage muss bedingt sein; versuche "If-Match" zu benutzen. +error-core-ratelimited = { $message }. Versuche erneut in { $remaining-duration }. +error-core-internalservererror = Der Server ist einem internen Fehler unterlaufen und die Anfrage konnte nicht bearbeitet werden. Der Server ist entweder überlastet oder es existiert ein Fehler in der Anwendung. Bitte melde dies einem Serveradministrator! +error-core-databaseerror = Eine ungültige Datenbankabfrage ist intern aufgetreten. Bitte melde dies einem Serveradministrator! +error-core-querytimeout = Bei einer internen Datenbankabfrage ist ein Timeout aufgetreten. Dies kann aufgrund hoher Serverlast, oder einem logischen Fehler der zu einem Deadlock führt, liegen. Sollte der Fehler nach erneuten Versuchen weiter bestehen, melde dies einem Serveradministrator! +error-core-databaseconnectionerror = Verbindung zur Datenbank konnte nicht hergestellt werden. Der Server könnte überlastet sein. +error-core-readonlymaintenance = Die Webseite ist zurzeit Lesegeschützt aufgrund von Wartungsarbeiten. diff --git a/pointercrate-core-pages/static/ftl/de-de/ui.ftl b/pointercrate-core-pages/static/ftl/de-de/ui.ftl new file mode 100644 index 00000000..1bb91e64 --- /dev/null +++ b/pointercrate-core-pages/static/ftl/de-de/ui.ftl @@ -0,0 +1,9 @@ +edit-success = Bearbeitung erfolgreich! +edit-notmodified = Keine Bearbeitung fand statt. + +dropdown-placeholder = Klicke, um auszuwählen + +filtered-paginator-placeholder = Enter, zum suchen... + +paginator-previous = Vorherige +paginator-next = Nächste \ No newline at end of file From d33ad54e2bd3029fc09b2c163062d4b17fece5dc Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 00:07:43 +0200 Subject: [PATCH 02/19] demonlist pages - german `demon` translation --- .../static/ftl/de-de/demon.ftl | 207 ++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl new file mode 100644 index 00000000..f6b41b78 --- /dev/null +++ b/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl @@ -0,0 +1,207 @@ +## Demon information, including information fetched by dash-rs +## Fields included in forms may have validators +demon-name = Demon Name + .validator-valuemissing = Bitte spezifiziere einen Namen + +demon-password = Level Passwort + +demon-id = Level ID + .validator-rangeunderflow = Level ID muss positiv sein + +demon-length = Level Länge + +demon-objects = Objektanzahl + +demon-difficulty = Schwierigkeitsgrad + +demon-gdversion = Erstellt in + +demon-ngsong = Newgrounds Song + +demon-score = Demonlist Punkte ({$percent}%) + +demon-video = Verifizierungsvideo + .validator-typemismatch = Bitte gebe eine gültige URL ein + +demon-thumbnail = Thumbnail + .validator-typemismatch = Bitte gebe eine gültige URL ein + .validator-valuemissing = Bitte gebe eine URL ein + +demon-position = Position + .validator-rangeunderflow = Demon Position muss mindestens 1 sein + .validator-badinput = Demon Position muss eine gültige Zahl sein + .validator-stepmismatch = Demon Position darf keine Kommazahl sein + .validator-valuemissing = Bitte gebe eine Position an + +# still very icky about this word +demon-requirement = Mindestanforderung + .validator-rangeunderflow = Mindestanforderung darf nicht negativ sein + .validator-rangeoverflow = Mindestanforderung darf nicht größer als 100% sein + .validator-badinput = Mindestanforderung muss eine gültige Zahl sein + .validator-stepmismatch = Mindestanforderung darf keine Kommazahl sein + .validator-valuemissing = Bitte gebe eine Mindestanforderung an + +demon-publisher = Veröffentlicher + .validator-valuemissing = Bitte gebe einen Veröffentlicher an + +demon-verifier = Verifier + .validator-valuemissing = Bitte gebe eine Verifizierer an + +# leave rated not translated? +demon-rated = Rated + .yes = Ja (Rated) + .no = Nein (Nicht Rated) + +demon-creators = Ersteller + +demon-headline-by = von { $creator } +demon-headline-verified-by = verifiziert von { $verifier } +demon-headline-published-by = veröffentlicht von { $publisher } + +# { $verified-and-published } represents two possible variations of text +# either .same-verifier-publisher OR .unique-verifier-publisher +# +# { $more } in .more-creators is transformed into a tooltip listing all of +# a demon's creators, with the text being .more-creators-tooltip +demon-headline = von { $creator } + .same-verifier-publisher = verifiziert und veröffentlicht von { $publisher } + .unique-verifier-publisher = { demon-headline-published-by }, { demon-headline-verified-by } + + .no-creators = von Unbekannt, { $verified-and-published } + + .one-creator = { demon-headline-by }, { $verified-and-published } + .one-creator-is-publisher = { demon-headline-by }, verifiziert von { $verifier } + .one-creator-is-verifier = { demon-headline-by }, veröffentlicht von { $publisher } + + .two-creators = von { $creator1 } und { $creator2 }, { $verified-and-published } + + .more-creators = { demon-headline-by } und { $more }, { $verified-and-published } + .more-creators-tooltip = mehr + +## Position history table +movements = Positionsgeschichte + .date = Datum + .change = Änderung + +movements-newposition = Neue Position + .legacy = Legacy +# probably also not translatable + +movements-reason = Grund + .added = Zur Liste hinzugefügt + .addedabove = { $demon } wurde darüber platziert + .moved = Bewegt + .movedabove = { $demon } wurde über diesen Demon bewegt + .movedbelow = { $demon } wurde unter diesen Demon bewegt + .rated = Rated + .unrated = Nicht Rated + .otherrated = { $demon } wurde Gerated + .otherunrated = { $demon } wurde Entrated + # entrated? + +## Records table +demon-records = Rekorde + .none = Keine Rekorde! + .none-yet = Keine Rekorde bisher! Sei der erste! + +demon-records-qualify = {$percent}% { $percent -> + [100] benötigt, um sich zu qualifizieren + *[other] oder mehr, um sich zu qualifizieren +} + +demon-records-total = {$num-records} { $num-records -> + [one] Rekord registriert + *[other] Rekorde registriert +}, von denen {$num-completions} { $num-completions -> + [one] 100% ist + *[other] 100% sind +} + +## Demons tab in user area +demons = Demons +demon-manager = Demon Verwaltung + +demon-listed = {$demon} (ID: {$demon-id}) + .publisher = von {$publisher} + +demon-viewer = Demon # + .welcome = Klicke auf einen Demon links um zu starten! + + .video-field = { demon-video }: + .thumbnail-field = { demon-thumbnail }: + .position-field = { demon-position }: + .requirement-field = { demon-requirement }: + .publisher-field = { demon-publisher }: + .verifier-field = { demon-verifier }: + .rated-field = { demon-rated }: + .creators-field = { demon-creators }: + .levelid-field = { demon-id }: + +demon-add-panel = Demon hinzufügen + .button = Füge einen Demon hinzu! + +# Demon addition form +demon-add-form = Demon hinzufügen + .name-field = { demon-name }: + .name-validator-valuemissing = Bitte gebe einen Demonnamen an + + .levelid-field = Geometry Dash Level ID: + .position-field = { demon-position } ({ list-ratedplus }): + .requirement-field = { demon-requirement }: + .verifier-field = { demon-verifier }: + .publisher-field = { demon-publisher }: + .video-field = { demon-video }: + .rated-field = { demon-rated } + .creators-field = { demon-creators }: + + .submit = Demon hinzufügen + + .edit-success = Demon erfolgreich hinzugefügt! + +# Demon viewer dialogs +demon-video-dialog = Verifikationsvideo ändern + .info = Ändere das Verifikationsvideo für diesen Rekord. Lasse das Feld leer um es zu entfernen. + .video-field = Video link: + .submit = Bearbeite + +demon-name-dialog = Demon Namen ändern + .info = Ändere den Demon Namen. Mehrere Demons mit den selben Namen SIND unterstützt! + .name-field = Name: + .submit = Bearbeite + +# { $video-id } will be replaced by https://i.ytimg.com/vi/{.info-videoid}/mqdefault.jpg but italicized +# in english, this looks like https://i.ytimg.com/vi/VIDEO_ID/mqdefault.jpg +demon-thumbnail-dialog = Thumbnail ändern + .info = Ändere den Thumbnail Link für diesen Rekord. Um es auf ein Youtube-Thumbnail zu ändern, setze es zu { $video-id }. + .info-videoid = VIDEO_ID + + .thumbnail-field = Thumbnail link: + .submit = Bearbeite + +demon-position-dialog = Position ändern + .info = Ändere die Position vom Demon. Muss größer als 0 und mindestens so groß wie die zurzeitige Listengröße sein. + .position-field = Position ({ list-ratedplus }): + .submit = Bearbeite + +demon-requirement-dialog = Mindestanforderung ändern + .info = Ändere die Mindestanforderung für diesen Demon. Muss zwischen 0 und 100 (einschließlich) liegen. + .requirement-field = Mindestanforderung: + .submit = Bearbeite + +demon-publisher-dialog = Veröffentlicher ändern + .info = Schreibe den neuen Veröffentlicher in das untere Textfeld. Sollte der Spieler bereits existieren, so wird er dir vorgeschlagen und du kannst draufdrücken. + .submit = Bearbeite + +demon-verifier-dialog = Verifizierer ändern + .info = Schreibe den neuen Verifizierer in das untere Textfeld. Sollte der Spieler bereits existieren, so wird er dir vorgeschlagen und du kannst draufdrücken. + .submit = Bearbeite + +demon-levelid-dialog = Level ID ändern + .info = Leer lassen um die Level ID zu entfernen. + .submit = Bearbeite + +demon-creator-dialog = Ersteller hinzufügen + .info = Schreibe den neuen Ersteller in das untere Textfeld. Sollte der Spieler bereits existieren, so wird er dir vorgeschlagen und du kannst draufdrücken. + .submit = Ersteller hinzufügen + + .edit-success = Ersteller erfolgreich hinzugefügt! \ No newline at end of file From 6330591439ba5f98947911417b0e15d949f89a22 Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 00:16:55 +0200 Subject: [PATCH 03/19] small changes to grammar --- .../static/ftl/de-de/demon.ftl | 27 +++++-------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl index f6b41b78..5715bdd0 100644 --- a/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl +++ b/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl @@ -1,5 +1,3 @@ -## Demon information, including information fetched by dash-rs -## Fields included in forms may have validators demon-name = Demon Name .validator-valuemissing = Bitte spezifiziere einen Namen @@ -48,9 +46,9 @@ demon-verifier = Verifier .validator-valuemissing = Bitte gebe eine Verifizierer an # leave rated not translated? -demon-rated = Rated - .yes = Ja (Rated) - .no = Nein (Nicht Rated) +demon-rated = Bewertung + .yes = Ja (bewertet) + .no = Nein (nicht bewertet) demon-creators = Ersteller @@ -58,11 +56,6 @@ demon-headline-by = von { $creator } demon-headline-verified-by = verifiziert von { $verifier } demon-headline-published-by = veröffentlicht von { $publisher } -# { $verified-and-published } represents two possible variations of text -# either .same-verifier-publisher OR .unique-verifier-publisher -# -# { $more } in .more-creators is transformed into a tooltip listing all of -# a demon's creators, with the text being .more-creators-tooltip demon-headline = von { $creator } .same-verifier-publisher = verifiziert und veröffentlicht von { $publisher } .unique-verifier-publisher = { demon-headline-published-by }, { demon-headline-verified-by } @@ -78,7 +71,6 @@ demon-headline = von { $creator } .more-creators = { demon-headline-by } und { $more }, { $verified-and-published } .more-creators-tooltip = mehr -## Position history table movements = Positionsgeschichte .date = Datum .change = Änderung @@ -95,11 +87,11 @@ movements-reason = Grund .movedbelow = { $demon } wurde unter diesen Demon bewegt .rated = Rated .unrated = Nicht Rated - .otherrated = { $demon } wurde Gerated - .otherunrated = { $demon } wurde Entrated - # entrated? + .otherrated = { $demon } wurde bewertet + .otherunrated = { $demon } wurde der Bewertung entzogen + # entwertet ist hier falsch + # genitiv spricht sich hier aber auch sehr komisch? -## Records table demon-records = Rekorde .none = Keine Rekorde! .none-yet = Keine Rekorde bisher! Sei der erste! @@ -117,7 +109,6 @@ demon-records-total = {$num-records} { $num-records -> *[other] 100% sind } -## Demons tab in user area demons = Demons demon-manager = Demon Verwaltung @@ -140,7 +131,6 @@ demon-viewer = Demon # demon-add-panel = Demon hinzufügen .button = Füge einen Demon hinzu! -# Demon addition form demon-add-form = Demon hinzufügen .name-field = { demon-name }: .name-validator-valuemissing = Bitte gebe einen Demonnamen an @@ -158,7 +148,6 @@ demon-add-form = Demon hinzufügen .edit-success = Demon erfolgreich hinzugefügt! -# Demon viewer dialogs demon-video-dialog = Verifikationsvideo ändern .info = Ändere das Verifikationsvideo für diesen Rekord. Lasse das Feld leer um es zu entfernen. .video-field = Video link: @@ -169,8 +158,6 @@ demon-name-dialog = Demon Namen ändern .name-field = Name: .submit = Bearbeite -# { $video-id } will be replaced by https://i.ytimg.com/vi/{.info-videoid}/mqdefault.jpg but italicized -# in english, this looks like https://i.ytimg.com/vi/VIDEO_ID/mqdefault.jpg demon-thumbnail-dialog = Thumbnail ändern .info = Ändere den Thumbnail Link für diesen Rekord. Um es auf ein Youtube-Thumbnail zu ändern, setze es zu { $video-id }. .info-videoid = VIDEO_ID From 1951ed38b8fe56507fb8c534e8c76925be2421a3 Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 00:17:13 +0200 Subject: [PATCH 04/19] footer & nav - german translation --- pointercrate-example/static/ftl/de-de/footer.ftl | 12 ++++++++++++ pointercrate-example/static/ftl/de-de/nav.ftl | 11 +++++++++++ 2 files changed, 23 insertions(+) create mode 100644 pointercrate-example/static/ftl/de-de/footer.ftl create mode 100644 pointercrate-example/static/ftl/de-de/nav.ftl diff --git a/pointercrate-example/static/ftl/de-de/footer.ftl b/pointercrate-example/static/ftl/de-de/footer.ftl new file mode 100644 index 00000000..8c747442 --- /dev/null +++ b/pointercrate-example/static/ftl/de-de/footer.ftl @@ -0,0 +1,12 @@ +footer-demonlist = Demonliste + .top-demon = Aktueller Top Demon + .extended-list = { extended-list } + .legacy-list = { legacy-list } + +footer-ratedplus = Rated+ Liste + .top-demon = Aktueller Top Rated+ Demon + .extended-list = { extended-list } + .legacy-list = { legacy-list } + +footer-tweet = Tweete uns: + .developer = Developer \ No newline at end of file diff --git a/pointercrate-example/static/ftl/de-de/nav.ftl b/pointercrate-example/static/ftl/de-de/nav.ftl new file mode 100644 index 00000000..2d93bf87 --- /dev/null +++ b/pointercrate-example/static/ftl/de-de/nav.ftl @@ -0,0 +1,11 @@ +nav-demonlist = Demonlist + .stats-viewer = Stats anschauen + .record-submitter = Rekord einreichen + .time-machine = Zeitmaschine + +nav-ratedplus = Rated+ List + .stats-viewer = Stats anschauen + .record-submitter = Rekord einreichen + .time-machine = Zeitmaschine + +nav-userarea = Nutzerbereich \ No newline at end of file From 603f38b10d72bd06bef7e504e5481fb1d2c7cef7 Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 00:27:20 +0200 Subject: [PATCH 05/19] small grammar change --- pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl index 5715bdd0..41130f91 100644 --- a/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl +++ b/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl @@ -116,7 +116,7 @@ demon-listed = {$demon} (ID: {$demon-id}) .publisher = von {$publisher} demon-viewer = Demon # - .welcome = Klicke auf einen Demon links um zu starten! + .welcome = Klicke auf einen Demon links um anzufangen! .video-field = { demon-video }: .thumbnail-field = { demon-thumbnail }: From 6fd96d6dc4bd19e5a34adfec1211b7ea8b149a7b Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 00:28:29 +0200 Subject: [PATCH 06/19] small wording change --- pointercrate-core-pages/static/ftl/de-de/ui.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pointercrate-core-pages/static/ftl/de-de/ui.ftl b/pointercrate-core-pages/static/ftl/de-de/ui.ftl index 1bb91e64..e47443f7 100644 --- a/pointercrate-core-pages/static/ftl/de-de/ui.ftl +++ b/pointercrate-core-pages/static/ftl/de-de/ui.ftl @@ -1,5 +1,5 @@ edit-success = Bearbeitung erfolgreich! -edit-notmodified = Keine Bearbeitung fand statt. +edit-notmodified = Keine Bearbeitung vorgenommen. dropdown-placeholder = Klicke, um auszuwählen From d0c319f46c4c329926bb4e8e6590028424e3eceb Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 00:34:58 +0200 Subject: [PATCH 07/19] rechte -> berechtigungen --- pointercrate-core-pages/static/ftl/de-de/error.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pointercrate-core-pages/static/ftl/de-de/error.ftl b/pointercrate-core-pages/static/ftl/de-de/error.ftl index c39b1828..cf1b6ce9 100644 --- a/pointercrate-core-pages/static/ftl/de-de/error.ftl +++ b/pointercrate-core-pages/static/ftl/de-de/error.ftl @@ -5,7 +5,7 @@ error-core-badrequest = Der Browser (oder Proxy) hat eine Anfrage gesendet, welc error-core-invalidheadervalue = Der Header-Wert '{ $header }' konnte nicht verarbeitet werden. error-core-unauthorized = Der Server konnte nicht feststellen, dass du Zugriff auf die angeforderte URL hast. Du hast entweder falsche Login-Daten eingegeben (z.B. ein falsches Passwort) oder dein Browser kann die Daten nicht verarbeiten. error-core-forbidden = Du hast keinen Zugriff auf die Ressource. Sie ist entweder Lesegeschützt oder vom Server nicht lesbar. -error-core-missingpermissions Du hast keine ausreichenden pointercrate Rechte um diese Anfrage auszuführen. Benötigt ist: { $required-permission }, welche nicht in deinen vorhandenen Rechten existiert. +error-core-missingpermissions Du hast keine ausreichenden Pointercrate Berechtigungen um diese Anfrage auszuführen. Benötigt ist: { $required-permission }, welche nicht in deinen vorhandenen Rechten existiert. error-core-notfound = Die angeforderte URL konnte nicht gefunden werden. Falls du die URL manuell eingegeben hast, prüfe die Rechtschreibung und probiere es erneut. error-core-methodnotallowed = Diese Methode ist für die angeforderte URL nicht erlaubt. error-core-conflict = Bei der Bearbeitung der Anfrage ist ein Fehler aufgetreten. Die Ressource wurde wohlmöglich während deiner Anfrage modifiziert. From c50927f77733365e3b3aa4fc87cca9593a9055ee Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 00:37:36 +0200 Subject: [PATCH 08/19] change back to english spelling of 'demonlist' --- pointercrate-example/static/ftl/de-de/footer.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pointercrate-example/static/ftl/de-de/footer.ftl b/pointercrate-example/static/ftl/de-de/footer.ftl index 8c747442..9df32ee8 100644 --- a/pointercrate-example/static/ftl/de-de/footer.ftl +++ b/pointercrate-example/static/ftl/de-de/footer.ftl @@ -1,4 +1,4 @@ -footer-demonlist = Demonliste +footer-demonlist = Demonlist .top-demon = Aktueller Top Demon .extended-list = { extended-list } .legacy-list = { legacy-list } From fdb7763c80e00c25f3e975eb07897f7024bb75b9 Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 00:39:53 +0200 Subject: [PATCH 09/19] wrong case --- .../static/ftl/de-de/demon.ftl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl index 41130f91..e81569d8 100644 --- a/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl +++ b/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl @@ -151,41 +151,41 @@ demon-add-form = Demon hinzufügen demon-video-dialog = Verifikationsvideo ändern .info = Ändere das Verifikationsvideo für diesen Rekord. Lasse das Feld leer um es zu entfernen. .video-field = Video link: - .submit = Bearbeite + .submit = Bearbeiten demon-name-dialog = Demon Namen ändern .info = Ändere den Demon Namen. Mehrere Demons mit den selben Namen SIND unterstützt! .name-field = Name: - .submit = Bearbeite + .submit = Bearbeiten demon-thumbnail-dialog = Thumbnail ändern .info = Ändere den Thumbnail Link für diesen Rekord. Um es auf ein Youtube-Thumbnail zu ändern, setze es zu { $video-id }. .info-videoid = VIDEO_ID .thumbnail-field = Thumbnail link: - .submit = Bearbeite + .submit = Bearbeiten demon-position-dialog = Position ändern .info = Ändere die Position vom Demon. Muss größer als 0 und mindestens so groß wie die zurzeitige Listengröße sein. .position-field = Position ({ list-ratedplus }): - .submit = Bearbeite + .submit = Bearbeiten demon-requirement-dialog = Mindestanforderung ändern .info = Ändere die Mindestanforderung für diesen Demon. Muss zwischen 0 und 100 (einschließlich) liegen. .requirement-field = Mindestanforderung: - .submit = Bearbeite + .submit = Bearbeiten demon-publisher-dialog = Veröffentlicher ändern .info = Schreibe den neuen Veröffentlicher in das untere Textfeld. Sollte der Spieler bereits existieren, so wird er dir vorgeschlagen und du kannst draufdrücken. - .submit = Bearbeite + .submit = Bearbeiten demon-verifier-dialog = Verifizierer ändern .info = Schreibe den neuen Verifizierer in das untere Textfeld. Sollte der Spieler bereits existieren, so wird er dir vorgeschlagen und du kannst draufdrücken. - .submit = Bearbeite + .submit = Bearbeiten demon-levelid-dialog = Level ID ändern .info = Leer lassen um die Level ID zu entfernen. - .submit = Bearbeite + .submit = Bearbeiten demon-creator-dialog = Ersteller hinzufügen .info = Schreibe den neuen Ersteller in das untere Textfeld. Sollte der Spieler bereits existieren, so wird er dir vorgeschlagen und du kannst draufdrücken. From 9675df787407f3468a439721303c502a515f5f69 Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 00:49:32 +0200 Subject: [PATCH 10/19] user pages - user.ftl german translation --- .../static/ftl/de-de/user.ftl | 145 ++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 pointercrate-user-pages/static/ftl/de-de/user.ftl diff --git a/pointercrate-user-pages/static/ftl/de-de/user.ftl b/pointercrate-user-pages/static/ftl/de-de/user.ftl new file mode 100644 index 00000000..b67b2184 --- /dev/null +++ b/pointercrate-user-pages/static/ftl/de-de/user.ftl @@ -0,0 +1,145 @@ +user-username = Benutzername: +user-displayname = Anzeigename: + .none = Nichts +user-id = Benutzer ID: + +user-permissions = Berechtigungen: + .moderator = Moderator + .administrator = Administrator + + .list-helper = Listenhelfer + .list-moderator = Listenmoderator + .list-administrator = Listenadministrator + +## Auth input fields +auth-username = Benutzername: + .validator-valuemissing = Benutzername erforderlich + .validator-tooshort = Benutzername zu kurz. Es muss mindestens 3 Zeichen lang sein. + .error-alreadytaken = Dieser Benutzername ist bereits vergeben. Bitte wähle einen anderen. +auth-password = Passwort: + .validator-valuemissing = Passwort benötigt + .validator-tooshort = Password zu kurz. Es muss mindestens 10 Zeichen lang sein. +auth-repeatpassword = Password wiederholen: + .validator-notmatching = Passwords stimmen nicht überein! + +## Login/registration forms +# +# The .redirect-link attributes will be turned into +# clickable link, which will replace { $redirect-link } +# in the .redirect attributes +# If you have linked your pointercrate account with a Google account, you must sign in via Google oauth by clicking the button below: +login = Einloggen +.oauth-info = Solltest du deinen Pointercrate Konto mit einem Google Konto verlinkt haben, musst du dich mit dem unteren Google oauth Knopf einloggen: + + .methods-separator = sonst + + .info = Logge dich mit Benutzername und Passwort ein. Loginversuche sind auf 3 alle 30 Minuten beschränkt. + .submit = Einloggen + + .error-invalidcredentials = Invalid credentials + + .redirect = Hast du bereits ein Pointercrate Konto? { $redirect-link } stattdessen. + .redirect-link = Einloggen + +register = Registrierung + .info = Erstelle ein neues Konto. Bitte achte darauf, dass der Benutzername nach der Registrierung NICHT mehr geändert werden kann! + .submit = Registriere + + .redirect = Noch kein Pointercrate Konto? { $redirect-link } für eins! + .redirect-link = Registriere + +register-oauth = Wähle deinen Benutzername: + .submit = Registriere! + +## Users tab +users = Benutzer + +user-viewer = Pointercrate Kontoverwaltung + .welcome = Klicke auf einen User links um anzufangen! + .delete-user = Nutzer löschen + .edit-user = Nutzer bearbeiten + + .edit-success = Nutzer erfolgreich bearbeitet! + .edit-notmodified = Keine Änderungen vorgenommen! + .delete-success = Nutzer erfolgreich gelöscht! + + .own-account = Dies ist dein Konto. Du kannst dein eigenes Konto mithilfe diesem Dashboard nicht ändern! + +user-listed = ID: { $user-id } + .displayname = Anzeigename: + +user-idsearch-panel = Nutzer suchen + .info = Nutzer können eindeutig durch Name und ID gefunden werden. Um ein Nutzerkonto zu ändern, brauchst du ihre ID. Kennst du weder noch, suche in der Liste unten! + .id-field = Nutzer ID: + + .submit = Per ID suchen + + .id-validator-valuemissing = Nutzer ID benötigt + +## Profile tab +profile = Profil + .header = Profil - {$username} + +profile-username = Benutzername + .info = Der Name unter dem zu registriert bist und dich bei Pointercrate mit einloggst. Dieser Name ist einzigartig und kann nicht verändert werden. + +profile-display-name = Anzeigename + .info = Falls gesetzt, wird dieser Name anstatt dein Benutzername gezeigt. Anzeigenamen sind nicht einzigartig und können nicht zum einloggen verwendet werden. + + .dialog-header = Anzeigename ändern + .dialog-newname = Neuer Anzeigename: + + .dialog-submit = Ändern + +profile-youtube = YouTube Kanal + .info = Ein Link zu deinem YouTube Kanal, falls du einen hast. Falls gesetzt, werden alle Erwähnungen deines Names zu deinem YouTube Kanal umgeleitet. + + .dialog-header = Youtube Kanal Link ändern + .dialog-newlink = Neuer YouTube Kanal Link: + + .dialog-submit = Ändern + + .newlink-validator-typemismatch = Bitte gebe eine gültige URL ein + +profile-permissions = Berechtigungen + .info = Die Berechtigungen, welche du auf Pointercrate hast. 'Listen...' bedeutet, dass du Teil des Demonlist Teams bist. 'Moderator' und 'Administrator' bedeutet, dass du Teil des Pointercrate Mitarbeiterteam bist. + +profile-delete-account = Konto löschen + .dialog-header = Konto löschen + .dialog-info = Dein Konto zu löschen ist unwiderruflich! + .dialog-submit = Löschen + +profile-change-password = Passwort ändern + .dialog-header = Passwort ändern + .dialog-info = Um Änderungen an deinem Profil vorzunehmen, musst du dein Passwort erneut eingeben. Falls du dein Passwort änderst, musst du dich neu anmelden. Desweiteren werden alle deine Zugrifftokens ungültg. + + .dialog-newpassword = Neues Passwort: + .dialog-repeatnewpassword = Passwort wiederholen: + .dialog-authenticate = Authentifiziere: + + .dialog-submit = Ändern + + .authenticate-validator-valuemissing = Passwort benötigt + .authenticate-validator-tooshort = Password zu kurz. Es muss mindestens 10 Zeichen lang sein. + + .newpassword-validator-tooshort = Password zu kurz. Es muss mindestens 10 Zeichen lang sein. + + .repeatnewpassword-validator-tooshort = Password zu kurz. Es muss mindestens 10 Zeichen lang sein. + .repeatnewpassword-validator-notmatching = Passwörter stimmen nicht überein! + +profile-logout = Ausloggen + .info = Logge dich aus deinem Pointercrate Konto von diesem Browser aus. + .button = Ausloggen + +profile-get-token = Erhalte Zugriffstoken + .info = Dein Zugriffstoken erlaubt dir (oder authentifizierte Programme), API Anfragen zu stellen. Sie erlauben jedoch keine Änderungen an deinem Konto. + .button = Erhalte Zugriffstoken + + .view-header = Dein Zugriffstoken ist + +profile-invalidate-tokens = Token ungültig machen + .info = Sollten deine Zugriffstoken veröffentlicht worden sein, kannst du sie hier ungültig machen. Das ungültig machen all deiner Zugriffstoken, lässt sie aufhören zu funktionieren. Du musst dich hiernach erneut einloggen! + .button = Mache alle Zugriffstoken ungültig + +profile-oauth = Mit Google verlinken + .info = Aktiviere das Einloggen in dein Konto via Google oauth. Google oauth ist sicherer als das herkömmliche einloggen mit deinem Passwort und präventiert das Vergessen und die subsequente Aussperrung aus deinem Konto. Ein Google Account zu verlinken ist unwiderruflich und kann später NICHT geändert werden! From 797892bc6ec8a33bb9b0d1cc6c13bf5f49c7f43b Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 01:10:23 +0200 Subject: [PATCH 11/19] user pages - error.ftl german translation --- pointercrate-example/static/ftl/de-de/nav.ftl | 2 +- .../static/ftl/de-de/error.ftl | 15 +++++++++++++++ .../static/ftl/de-de/user.ftl | 18 +++++++++--------- 3 files changed, 25 insertions(+), 10 deletions(-) create mode 100644 pointercrate-user-pages/static/ftl/de-de/error.ftl diff --git a/pointercrate-example/static/ftl/de-de/nav.ftl b/pointercrate-example/static/ftl/de-de/nav.ftl index 2d93bf87..76b60034 100644 --- a/pointercrate-example/static/ftl/de-de/nav.ftl +++ b/pointercrate-example/static/ftl/de-de/nav.ftl @@ -8,4 +8,4 @@ nav-ratedplus = Rated+ List .record-submitter = Rekord einreichen .time-machine = Zeitmaschine -nav-userarea = Nutzerbereich \ No newline at end of file +nav-userarea = Benutzerbereich \ No newline at end of file diff --git a/pointercrate-user-pages/static/ftl/de-de/error.ftl b/pointercrate-user-pages/static/ftl/de-de/error.ftl new file mode 100644 index 00000000..4d664355 --- /dev/null +++ b/pointercrate-user-pages/static/ftl/de-de/error.ftl @@ -0,0 +1,15 @@ +error-user-malformedchannelurl = Fehlerhafte Kanal URL +error-user-deleteself = Du kannst dein Konto nicht mit diesem Endpoint löschen. Benutze DELETE /api/v1/auth/me/ +error-user-patchself = Du kannst dein Konto nicht mit diesem Endpoint bearbeiten. Benutze PATCH /api/v1/auth/me/ +error-user-permissionnotassignable = Du kannst die folgenden Berechtigungen nicht vergeben: { $non-assignable } +error-user-usernotfound = Benutzer mit Benutzer ID { $user-id } nicht gefunden. +error-user-usernotfoundname = Benutzer mit Benutzername { $user-name } nicht gefunden. +error-user-nametaken = Der ausgewählte Benutzername ist bereits vergeben. +error-user-invalidusername = Ungültiger Benutzer- oder Anzeigename! Der Name muss mindestens 3 Zeichen lang sein und darf nicht mit einem Leerzeichen anfangen oder enden. +error-user-invalidpassword = Ungültiges Passwort! Das Passwort muss mindestens 10 Zeichen lang sein. +error-user-notyoutube = Die gegebene URL ist keine gültige YouTube URL. +error-user-nonlegacyaccount = Die gegebene Operation (Password ändern) ist ungültig für Nicht-Legacy Konton, da Passwort Login für jene nicht unterstützt ist. + +error-user-ratelimit-registration = Zuviele Registrierungen! +error-user-ratelimit-soft-registration = Zuviele fehlgeschlagene Registrierungsversuche! +error-user-ratelimit-login = Zuviele Login Versuche! \ No newline at end of file diff --git a/pointercrate-user-pages/static/ftl/de-de/user.ftl b/pointercrate-user-pages/static/ftl/de-de/user.ftl index b67b2184..65987269 100644 --- a/pointercrate-user-pages/static/ftl/de-de/user.ftl +++ b/pointercrate-user-pages/static/ftl/de-de/user.ftl @@ -36,7 +36,7 @@ login = Einloggen .info = Logge dich mit Benutzername und Passwort ein. Loginversuche sind auf 3 alle 30 Minuten beschränkt. .submit = Einloggen - .error-invalidcredentials = Invalid credentials + .error-invalidcredentials = Falsche Login Daten .redirect = Hast du bereits ein Pointercrate Konto? { $redirect-link } stattdessen. .redirect-link = Einloggen @@ -56,25 +56,25 @@ users = Benutzer user-viewer = Pointercrate Kontoverwaltung .welcome = Klicke auf einen User links um anzufangen! - .delete-user = Nutzer löschen - .edit-user = Nutzer bearbeiten + .delete-user = Benutzer löschen + .edit-user = Benutzer bearbeiten - .edit-success = Nutzer erfolgreich bearbeitet! + .edit-success = Benutzer erfolgreich bearbeitet! .edit-notmodified = Keine Änderungen vorgenommen! - .delete-success = Nutzer erfolgreich gelöscht! + .delete-success = Benutzer erfolgreich gelöscht! .own-account = Dies ist dein Konto. Du kannst dein eigenes Konto mithilfe diesem Dashboard nicht ändern! user-listed = ID: { $user-id } .displayname = Anzeigename: -user-idsearch-panel = Nutzer suchen - .info = Nutzer können eindeutig durch Name und ID gefunden werden. Um ein Nutzerkonto zu ändern, brauchst du ihre ID. Kennst du weder noch, suche in der Liste unten! - .id-field = Nutzer ID: +user-idsearch-panel = Benutzer suchen + .info = Benutzer können eindeutig durch Name und ID gefunden werden. Um ein Benutzerkonto zu ändern, brauchst du ihre ID. Kennst du weder noch, suche in der Liste unten! + .id-field = Benutzer ID: .submit = Per ID suchen - .id-validator-valuemissing = Nutzer ID benötigt + .id-validator-valuemissing = Benutzer ID benötigt ## Profile tab profile = Profil From 6bcef1958bfd56ce702e224cd47243f5c180bb99 Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 15:54:58 +0200 Subject: [PATCH 12/19] demonlist pages - error.ftl german translation --- .../static/ftl/de-de/error.ftl | 2 +- .../static/ftl/de-de/error.ftl | 42 +++++++++++++++++++ .../static/ftl/de-de/user.ftl | 4 +- 3 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 pointercrate-demonlist-pages/static/ftl/de-de/error.ftl diff --git a/pointercrate-core-pages/static/ftl/de-de/error.ftl b/pointercrate-core-pages/static/ftl/de-de/error.ftl index cf1b6ce9..ccae7b94 100644 --- a/pointercrate-core-pages/static/ftl/de-de/error.ftl +++ b/pointercrate-core-pages/static/ftl/de-de/error.ftl @@ -5,7 +5,7 @@ error-core-badrequest = Der Browser (oder Proxy) hat eine Anfrage gesendet, welc error-core-invalidheadervalue = Der Header-Wert '{ $header }' konnte nicht verarbeitet werden. error-core-unauthorized = Der Server konnte nicht feststellen, dass du Zugriff auf die angeforderte URL hast. Du hast entweder falsche Login-Daten eingegeben (z.B. ein falsches Passwort) oder dein Browser kann die Daten nicht verarbeiten. error-core-forbidden = Du hast keinen Zugriff auf die Ressource. Sie ist entweder Lesegeschützt oder vom Server nicht lesbar. -error-core-missingpermissions Du hast keine ausreichenden Pointercrate Berechtigungen um diese Anfrage auszuführen. Benötigt ist: { $required-permission }, welche nicht in deinen vorhandenen Rechten existiert. +error-core-missingpermissions = Du hast keine ausreichenden Pointercrate Berechtigungen um diese Anfrage auszuführen. Benötigt ist: { $required-permission }, welche nicht in deinen vorhandenen Rechten existiert. error-core-notfound = Die angeforderte URL konnte nicht gefunden werden. Falls du die URL manuell eingegeben hast, prüfe die Rechtschreibung und probiere es erneut. error-core-methodnotallowed = Diese Methode ist für die angeforderte URL nicht erlaubt. error-core-conflict = Bei der Bearbeitung der Anfrage ist ein Fehler aufgetreten. Die Ressource wurde wohlmöglich während deiner Anfrage modifiziert. diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl new file mode 100644 index 00000000..1a691cd2 --- /dev/null +++ b/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl @@ -0,0 +1,42 @@ +error-demonlist-geolocationfailed = Geolocation fehlgeschlagen! +error-demonlist-malformedvideourl = Fehlerhafte Video URL +error-demonlist-bannedfromsubmissions = Du bist ausgeschlossen, Rekorde an die Demonlist einzureichen! +error-demonlist-claimunverified = Dein Anspruch auf diesen Spieler ist nicht verifiziert +error-demonlist-vpsdetected = IP Geolocation Versuch durch VPS erkannt +error-demonlist-nothirdpartysubmissions = Dieser Spieler hat darum gebeten, dass nur er selbst seine Rekorde einreichen darf +error-demonlist-submitternotfound = Ersteller mit ID { $id } nicht gefunden +error-demonlist-notenotfound = Keine Notiz mit ID { $note-id } auf Rekord ID { $record-id } gefunden +error-demonlist-creatornotfound = Spieler ID { $player-id } ist kein Ersteller der Demon ID { demon-id } +error-demonlist-nationalitynotfound = Keine Nationalität mit ISO Code { $iso-code } gefunden +error-demonlist-subdivisionnotfound = Keine Unterteilung mit Code { $subdivision-code } im Land { $nation-code } gefunden +error-demonlist-playernotfound = Spieler ID { $player-id } konnte nicht gefunden werden +error-demonlist-playernotfoundname = Spieler Name { $player-name } konnte nicht gefunden werden +error-demonlist-demonnotfound = Demon ID { $demon-id } konnte nicht gefunden werden +error-demonlist-demonnotfoundname = Demon "{ $demon-name }" konnte nicht gefunden werden +error-demonlist-demonnotfoundposition = Kein Demon wurde bei Position { $demon-position } gefunden +error-demonlist-listnotfound = Diese Liste existiert nicht +error-demonlist-recordnotfound = Rekord ID { $record-id } konnte nicht gefunden werden +error-demonlist-claimnotfound = Anspruch von { $member-id } auf Spieler ID { $player-id } konnte nicht gefunden werden +error-demonlist-creatorexists = Dieser Spieler ist bereits ein Ersteller von diesem Demon +error-demonlist-duplicatevideo = Dieses Video wird bereits von Rekord ID #{ $record-id } verwendet +error-demonlist-nonationset = Unterteilung ohne ausgewähltes Land festzulegen ist fehlgeschlagen +error-demonlist-conflictingclaims = Spieler '{ $player-1 }' und '{ $player-2 }' haben verifizierte Ansprüche von verschiedenen Pointercrate Benutzern +error-demonlist-invalidrequirement = Mindestanforderung muss größer als -1 und kleiner als 101 sein +error-demonlist-invalidposition = Demon Position darf nicht kleiner als 1 und nicht größer als { $maximal } sein +error-demonlist-invalidprogress = Rekord Fortschritt muss zwischen { $requirement } und 100% liegen! +error-demonlist-submissionexists = Dieser Rekord ist bereits { $record-status } (Rekord ID: { $record-id }) +error-demonlist-playerbanned = Der angegebene Spieler ist von der Demonliste ausgeschlossen und darf keine Rekorde auf der Liste haben! +error-demonlist-submitlegacy = Legacy Demons erlauben keine neuen Rekorde +error-demonlist-non100extended = Nur Rekorde mit 100% dürfen als Rekord an die Erweiterte Liste eingereicht werden. +error-demonlist-unsupportedvideohost = Der angegebene Video Host ist nicht unterstützt. Unterstützt sind: 'youtube', 'vimeo', 'everyplay', 'twitch' und 'bilibili' +error-demonlist-demonnamenotunique = Es existieren mehrere Demons mit dem selben Namen +error-demonlist-noteempty = Notizen dürfen nicht leer sein! +error-demonlist-alreadyclaimed = Dieser Spieler hat bereits einen verifizierten Anspruch +error-demonlist-rawrequired = Rohaufnahme muss eingereicht werden, um den Rekord einzureichen +error-demonlist-malformedrawurl = Rohaufnahme muss eine gültige URL besitzen +error-demonlist-invalidlevelid = Level ID muss positiv sein + +error-demonlist-ratelimit-record-submit = Du reichst zuviele Rekorde zu schnell ein! +error-demonlist-ratelimit-record-submit-global = Zuviele Rekorde werden derzeit eingereicht! +error-demonlist-ratelimit-new-submitters = Ratenbegrenzung durch DDoS-Schutz +error-demonlist-ratelimit-add-demon = Bitte spamme diesen Knopf nicht, rSteel \ No newline at end of file diff --git a/pointercrate-user-pages/static/ftl/de-de/user.ftl b/pointercrate-user-pages/static/ftl/de-de/user.ftl index 65987269..80b92fdf 100644 --- a/pointercrate-user-pages/static/ftl/de-de/user.ftl +++ b/pointercrate-user-pages/static/ftl/de-de/user.ftl @@ -1,6 +1,6 @@ user-username = Benutzername: user-displayname = Anzeigename: - .none = Nichts + .none = Keinen user-id = Benutzer ID: user-permissions = Berechtigungen: @@ -33,7 +33,7 @@ login = Einloggen .methods-separator = sonst - .info = Logge dich mit Benutzername und Passwort ein. Loginversuche sind auf 3 alle 30 Minuten beschränkt. + .info = Logge dich mit Benutzername und Passwort ein. Logins sind auf 3 Versuche alle 30 Minuten beschränkt. .submit = Einloggen .error-invalidcredentials = Falsche Login Daten From 60b02314badafbf8bdd448bc6455f5c8bfed81f4 Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 15:57:00 +0200 Subject: [PATCH 13/19] demonlist pages - list.ftl german translation (nothing lol) --- pointercrate-demonlist-pages/static/ftl/de-de/list.ftl | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 pointercrate-demonlist-pages/static/ftl/de-de/list.ftl diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/list.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/list.ftl new file mode 100644 index 00000000..0c114c05 --- /dev/null +++ b/pointercrate-demonlist-pages/static/ftl/de-de/list.ftl @@ -0,0 +1,2 @@ +list-demonlist = Demonlist +list-ratedplus = Rated+ From 7a70cb6e4e620746e34e141e74dafffa6a0b6701 Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 17:23:53 +0200 Subject: [PATCH 14/19] demonlist pages - overview.ftl german translation --- .../static/ftl/de-de/error.ftl | 10 ++-- .../static/ftl/de-de/overview.ftl | 50 +++++++++++++++++++ pointercrate-example/static/ftl/de-de/nav.ftl | 2 +- 3 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 pointercrate-demonlist-pages/static/ftl/de-de/overview.ftl diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl index 1a691cd2..a41fa5f8 100644 --- a/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl +++ b/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl @@ -25,18 +25,18 @@ error-demonlist-invalidrequirement = Mindestanforderung muss größer als -1 und error-demonlist-invalidposition = Demon Position darf nicht kleiner als 1 und nicht größer als { $maximal } sein error-demonlist-invalidprogress = Rekord Fortschritt muss zwischen { $requirement } und 100% liegen! error-demonlist-submissionexists = Dieser Rekord ist bereits { $record-status } (Rekord ID: { $record-id }) -error-demonlist-playerbanned = Der angegebene Spieler ist von der Demonliste ausgeschlossen und darf keine Rekorde auf der Liste haben! +error-demonlist-playerbanned = Der angegebene Spieler ist von der Demonlist ausgeschlossen und darf keine Rekorde auf der Liste haben! error-demonlist-submitlegacy = Legacy Demons erlauben keine neuen Rekorde error-demonlist-non100extended = Nur Rekorde mit 100% dürfen als Rekord an die Erweiterte Liste eingereicht werden. -error-demonlist-unsupportedvideohost = Der angegebene Video Host ist nicht unterstützt. Unterstützt sind: 'youtube', 'vimeo', 'everyplay', 'twitch' und 'bilibili' -error-demonlist-demonnamenotunique = Es existieren mehrere Demons mit dem selben Namen +error-demonlist-unsupportedvideohost = Der angegebene Videohost ist nicht unterstützt. Unterstützt sind: 'youtube', 'vimeo', 'everyplay', 'twitch' und 'bilibili' +error-demonlist-demonnamenotunique = Es existieren mehrere Demons mit demselben Namen error-demonlist-noteempty = Notizen dürfen nicht leer sein! error-demonlist-alreadyclaimed = Dieser Spieler hat bereits einen verifizierten Anspruch error-demonlist-rawrequired = Rohaufnahme muss eingereicht werden, um den Rekord einzureichen error-demonlist-malformedrawurl = Rohaufnahme muss eine gültige URL besitzen error-demonlist-invalidlevelid = Level ID muss positiv sein -error-demonlist-ratelimit-record-submit = Du reichst zuviele Rekorde zu schnell ein! -error-demonlist-ratelimit-record-submit-global = Zuviele Rekorde werden derzeit eingereicht! +error-demonlist-ratelimit-record-submit = Du reichst zu viele Rekorde zu schnell ein! +error-demonlist-ratelimit-record-submit-global = Zu viele Rekorde werden derzeit eingereicht! error-demonlist-ratelimit-new-submitters = Ratenbegrenzung durch DDoS-Schutz error-demonlist-ratelimit-add-demon = Bitte spamme diesen Knopf nicht, rSteel \ No newline at end of file diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/overview.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/overview.ftl new file mode 100644 index 00000000..1c3b49ad --- /dev/null +++ b/pointercrate-demonlist-pages/static/ftl/de-de/overview.ftl @@ -0,0 +1,50 @@ +main-list = Hauptliste + .info = Der Hauptbereich der Demonlist. Diese Demons sind die herausforderndsten im Spiel. Rekorde werden über einer Mindestanforderung angenommen und mit einer großen Anzahl an Punkten belohnt! + +extended-list = Erweiterte Liste + .info = Diese Demons qualifizieren sich nicht mehr für die Hauptliste, aber sind dennoch von hoher Relevanz. Nur 100%-Rekorde werden hier angenommen! Beachte, dass non 100%-Rekorde welche eingereicht wurden bevor der Demon von der Hauptliste gefallen ist, beibehalten werden. + +legacy-list = Legacy Liste + .info = Diese Demons waren ursprünglich auf der Liste, aber sind runtergefallen, je mehr neue Demons über sie hinzugefügt wurden. Diese sind aus nostalgischen Gründen hier. Sie besitzt keine Reihenfolge, wird nicht mehr Instandgehalten und neu eingereichte Rekorde werden für diese Demons nicht akzeptiert. + +demon-info = Veröffentlicht von { $publisher } + .score = { $minimal-score } ({ $requirement }%) — { $total-score } (100%) Punkte + .score-short = { $score } Punkte + +## Time machine +time-machine = Zeitmaschine + .info = Gib das Datum ein, für das du die Demonlist ansehen willst. Aus technischen Gründen ist das früheste Datum der 4. Januar 2017. Beachte jedoch, dass alle Daten vor dem 4. August 2017 nicht eindeutig akkurat ist, und eine 100%ige Genauigkeit nicht garantiert werden kann. Insbesondere enthalten Daten vor dem 4. April 2017 erhebliche Fehler! + + .destination-field = Ziel: + .submit = Los! + + .destination-validator-valuemissing = Bitte gebe einen Wert an + .destination-validator-rangeunderflow = Soweit zurück kannst du nicht reisen! + + .active-position = Zurzeit #{ $position } + .active-position-legacy = Zurzeit Legacy + .active-position-none = Zurzeit nicht auf der Liste vorhanden + + .active-info = Die Demonliste, so wie sie war am + .return = Zurück zur Gegenwart + +## Sidebar panels +editors-panel = Listenbearbeiter + .info = Wende dich an eine dieser Personen, falls du Probleme mit der Liste hast oder etwas verändert sehen willst. + +helpers-panel = Listenhelfer + .info = Wende dich an eine dieser Personen, falls du Fragen dazu hast, warum ein bestimmter Rekord abgelehnt wurde. Belästige sie jedoch nicht unnötig mit Anfragen, warum ein bestimmer Rekord noch nicht eingetragen wurde! + +guidelines-panel = Richtlinien + .info = Alle Demonlistabläufe erfolgen gemäß unserer Richtlinien. Bitte lies dir diese vor dem Einreichen eines Rekords durch, um einen reibungslosen Ablauf zu haben! + .button = Lese die Richtlinien! + +submission-panel = Rekorde einreichen + .info = Bitte reiche keinen Blödsinn ein, das macht es für uns alle nur schwieriger und führt potenziell zu einem Ausschluss von der Demonlist. Beachte ebenfalls, dass das Formula mehrfach gestellte Rekorde automatisch ablehnt. + .button = Rekord einreichen! + +statsviewer-panel = Stats anschauen + .info = Erhalte einen detaillierten Überblick darüber, wer die meisten oder schwersten Demons geschafft / erstellt hat! Es gibt sogar eine Rangliste wo du dich mit den besten Benutzern vergleichen kannst! + .button = Schau die Stats an! + +discord-panel-info = Tritt dem offiziellen Discord-Server der Demonlist bei, wo du in Kontakt mit dem Demonlist Team treten kannst! diff --git a/pointercrate-example/static/ftl/de-de/nav.ftl b/pointercrate-example/static/ftl/de-de/nav.ftl index 76b60034..9a3c9dc7 100644 --- a/pointercrate-example/static/ftl/de-de/nav.ftl +++ b/pointercrate-example/static/ftl/de-de/nav.ftl @@ -3,7 +3,7 @@ nav-demonlist = Demonlist .record-submitter = Rekord einreichen .time-machine = Zeitmaschine -nav-ratedplus = Rated+ List +nav-ratedplus = Rated+ Liste .stats-viewer = Stats anschauen .record-submitter = Rekord einreichen .time-machine = Zeitmaschine From f3c348571c467cad62546125c1dba706f12ac15b Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 17:42:38 +0200 Subject: [PATCH 15/19] demonlist pages - statsviewer.ftl german translation --- .../static/ftl/de-de/statsviewer.ftl | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 pointercrate-demonlist-pages/static/ftl/de-de/statsviewer.ftl diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/statsviewer.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/statsviewer.ftl new file mode 100644 index 00000000..3ff6707d --- /dev/null +++ b/pointercrate-demonlist-pages/static/ftl/de-de/statsviewer.ftl @@ -0,0 +1,76 @@ +statsviewer = Stats anschauen + .rank = { $list } Rang + .score = { $list } Punkte + .stats = { $list } Stats + .hardest = Schwerster Demon + + .completed = Demons geschafft + .completed-main = Hauptliste Demons geschafft + .completed-extended = Erweiterte Liste Demons geschafft + .completed-legacy = Legacy Liste Demons geschafft + + .created = Demons erstellt + .published = Demons veröffentlich + .verified = Demons verifiziert + .progress = Fortschritt auf + + .stats-value = { $main } Haupt, { $extended } Erweitert, { $legacy } Legacy + .value-none = Keine + +statsviewer-individual = Individuell + .welcome = Klicke auf einen Benutzernamen links um anzufangen! + + .option-international = International + +statsviewer-nation = National + .welcome = Klicke auf einen Land links um anzufangen! + + .players = Spieler + .unbeaten = Nicht geschaffte Demons + + .created-tooltip = (Co-)erstellt von { $players } { $players -> + [one] player + *[other] players + } in diesem Land: + .published-tooltip = Veröffentlicht von: + .verified-tooltip = Verifiziert von: + .beaten-tooltip = Geschafft von { $players } { $players -> + [one] player + *[other] players + } in diesem Land: + .progress-tooltip = Fortschritt von { $players } { $players -> + [one] player + *[other] players + } in diesem Land: + +demon-sorting-panel = Demonreihenfolge + .info = Die Reihenfolge der hier aufgelisteten Demons + + .option-alphabetical = Alphabetisch + .option-position = Position + +continent-panel = Kontinent + .info = Wähle einen Kontinent aus, um die Stats darauf zu fokussieren. Wähle 'Alle' aus um die Auswahl zurückzusetzen. + + .option-all = Alle + + .option-asia = Asien + .option-europe = Europa + .option-australia = Australien + .option-africa = Afrika + .option-northamerica = Nordamerika + .option-southamerica = Südamerika + .option-centralamerica = Mittelamerika + +toggle-subdivision-panel = Zeige Unterteilungen + .info = Ob die Karte politische Unterteilungen darstellen soll. + + .option-toggle = Zeige Unterteilungen + +# { $countries } will be replaced with .info-countries, which will be +# turned into a tooltip listing all of the selectable countries +subdivision-panel = Politische Unterteilung + .info = Für die { $countries } kannst du einen Staat / Provinz / Land auswählen, um die Stats darauf zu fokussieren. + .info-countries = folgenden Länder + + .option-none = Keine From fcb87fbab7d0aad8f408511904c323a2d6a103af Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 18:14:57 +0200 Subject: [PATCH 16/19] demonlist pages - player.ftl german translation --- .../static/ftl/de-de/error.ftl | 4 +- .../static/ftl/de-de/player.ftl | 92 +++++++++++++++++++ .../static/ftl/de-de/user.ftl | 2 +- 3 files changed, 95 insertions(+), 3 deletions(-) create mode 100644 pointercrate-demonlist-pages/static/ftl/de-de/player.ftl diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl index a41fa5f8..4d2b6c3c 100644 --- a/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl +++ b/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl @@ -1,6 +1,6 @@ error-demonlist-geolocationfailed = Geolocation fehlgeschlagen! error-demonlist-malformedvideourl = Fehlerhafte Video URL -error-demonlist-bannedfromsubmissions = Du bist ausgeschlossen, Rekorde an die Demonlist einzureichen! +error-demonlist-bannedfromsubmissions = Du bist davon gebannt, Rekorde an die Demonlist einzureichen! error-demonlist-claimunverified = Dein Anspruch auf diesen Spieler ist nicht verifiziert error-demonlist-vpsdetected = IP Geolocation Versuch durch VPS erkannt error-demonlist-nothirdpartysubmissions = Dieser Spieler hat darum gebeten, dass nur er selbst seine Rekorde einreichen darf @@ -25,7 +25,7 @@ error-demonlist-invalidrequirement = Mindestanforderung muss größer als -1 und error-demonlist-invalidposition = Demon Position darf nicht kleiner als 1 und nicht größer als { $maximal } sein error-demonlist-invalidprogress = Rekord Fortschritt muss zwischen { $requirement } und 100% liegen! error-demonlist-submissionexists = Dieser Rekord ist bereits { $record-status } (Rekord ID: { $record-id }) -error-demonlist-playerbanned = Der angegebene Spieler ist von der Demonlist ausgeschlossen und darf keine Rekorde auf der Liste haben! +error-demonlist-playerbanned = Der angegebene Spieler ist von der Demonlist gebannt und darf keine Rekorde auf der Liste haben! error-demonlist-submitlegacy = Legacy Demons erlauben keine neuen Rekorde error-demonlist-non100extended = Nur Rekorde mit 100% dürfen als Rekord an die Erweiterte Liste eingereicht werden. error-demonlist-unsupportedvideohost = Der angegebene Videohost ist nicht unterstützt. Unterstützt sind: 'youtube', 'vimeo', 'everyplay', 'twitch' und 'bilibili' diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/player.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/player.ftl new file mode 100644 index 00000000..d0db7977 --- /dev/null +++ b/pointercrate-demonlist-pages/static/ftl/de-de/player.ftl @@ -0,0 +1,92 @@ +player-banned = Gebannt + .yes = Ja + .no = Nein + +player-nationality = Nationalität + .info = Beachte, dass dies ausschließlich als "Land mit rechtsmäßigem Wohnsitz" gilt, ohne Ausnahmen! + .none = Keine + +player-subdivision = Politische Unterteilung + .none = Keine + +## Players tab +players = Spieler + +player-manager = Spielerverwaltung + +player-viewer = Spieler # + .welcome = Klick auf einen Spieler links um anzufangen! + + .info = Willkommen zur Spielerverwaltung. Hier kannst du Spieler bannen / entbannen. Einen Spieler bannen entfernt alle seine eingereichten oder ausstehenden Rekorde. Alle bereits angenommen Rekorde werden stattdessen auf den Status "abgelehnt" gesetzt. + .records-redirect = Zeige Rekorde an + +player-idsearch-panel = Spieler nach ID suchen + .info = Spieler können durch ihre ID eindeutig identifiziert werden. Durch die Eingabe der Spieler ID wird dieser links ausgewählt (sofern er existiert) + .id-field = Spieler ID: + + .submit = Suche nach ID + + .id-validator-valuemissing = Spieler ID benötigt + +player-name-dialog = Spielername ändern + .info = Ändere diesen Spielernamen. Dies wird den Namen des Spielers auf jedem Rekord aktualisieren. Sollte ein Spieler bereits mit diesem Namen existieren, so werden alle seine Objekte zusammengefasst, wobei das neue Objekt die ID des Spielers erhält, welches gerade bearbeitet wird. In diesem Fall werden die Rekorde der Spieler zusammengefasst und ihre Ersteller- / Verifizierer- / Veröffentlicherinformationen werden aktualisiert. Intern wird jeder Rekord zum neuen Spieler verschoben und bei Konflikten gelten dieselben Regeln wie beim Bearbeiten eines Spielers von einem Rekord. + .name-field = Name: + + .submit = Ändern + + .name-validator-valuemissing = Bitte gebe einen Namen für den Spieler an + +## List integration tab +list-integration = Listenintegration + +claimed-player = Spieleranspruch + .verified = Verifiziert + .unverified = Nicht verifiziert + +# .info-api-link is turned into a clickable link to the geolocation API +# pointercrate uses, and replaces { $info-api-link } +claim-geolocate = Flagge geolocaten + .info = Durch das Drücken des Knopfes, lässt sich die Flagge des ausgewählten Spielers IP-Geolocaten. Damit dies funktioniert, wird deine IP möglicherweise an Drittanbieter weitergegeben. Weitere Informationen findest du in der Datenschutzerklärung (Privacy Policy)! + + .submit = Los + + .edit-success = Setze Nationalität auf: { $nationality } + .edit-success-subdivision = Setze Nationalität auf: { $nationality }/{ $subdivision } + +claim-lock-submissions = Einreichungen sperren + .info = Ob Einreichungen für deinen beanspruchten Spieler gesperrt werden sollen, sodass nur du Rekorde einreichen kannst (solange du mit dem Konto angemeldet bist, welche den Anspruch besitzt) + + .edit-success = Änderung erfolgreich durchgeführt + +claim-records = Rekorde deines beanspruchten Spielers + .info = Eine Liste der Rekorde deines beanspruchten Spielers, inklusive aller ausstehenden und abgelehnten Einreichungen. Nutze dies, um deine Einreichungen zu verfolgen. Durch Anklicken auf ein Rekord werden alle öffentlichen Notizen angezeigt, die ein Listenmoderator hinterlassen hat. Die Hintergrundfarbe eines Rekordes zeigt an, ob dieser { $record-approved-styled }, { $record-submitted-styled }, { $record-rejected-styled } wurde, oder { $record-underconsideration-styled } ist. + + .record-notes = Notizen für Rekord ID { $record-id }: + .record-notes-none = Keine öffentlichen Notizen vorhanden! + +claim-manager = Ansprüche verwalten + .info-a = Verwalte deine Ansprüche hier. Die Liste kann mithilfe der Felder auf der rechten Seite entweder nach Spieler oder Benutzer gefiltert werden. Ungültige Ansprüche sollten mit dem Papierkorbsymbol gelöscht werden. + .info-b = Um einen Anspruch zu verifizieren, klicke auf das Häkchen. Verifiziere nur Ansprüche, von denen du belegen kannst, dass sie richtig sind (dies bedeutet höchstwahrscheinlich mit dem Spieler in Kontakt zu treten und zu fragen ob der Anspruch selbst gestellt wurde oder nicht). + .info-c = Sobald ein Anspruch auf einen Spieler verifiziert wurde, werden alle anderen nicht verifizierten Ansprüche auf diesem Spieler automatisch gelöscht. Benutzer können danach, keine neuen Ansprüche auf diesen Spieler erheben. + .info-d = Ein Anspruch mit grüner Hintergrundfarbe ist verifiziert, ein Anspruch mit blauem Hintergrund ist nicht verifiziert bzw. ungeprüft. + + .claim-no-records = Der beanspruchte Spieler ({ $player-id }) hat keinen genehmigten Eintrag auf der Liste. + +claim-listed-user = Anspruch von Nutzer: +claim-listed-player = Anspruch auf Spieler: + +claim-initiate-panel = Anspruch einreichen + .info = Wähle den beanspruchten Spieler aus + +# { $discord } is replaced by .info-discord, which is turned into a +# clickable link to Pointercrate Central by default (this can be modified +# in pointercrate-example/src/main.rs) +claim-info-panel = Anspruch einreichen 101 + .info-a = Spielerbeanspruchung ist der Prozess, einen Demonlistspieler mit einem Pointercrate Benutzerkonto zu verbinden. + .info-b = Um einen Anspruch einzureichen, klicke auf den Stift links neben "Spieleranspruch". Sobald ausgewählt, besteht ein unverifizierter Anspruch auf einen Spieler. Diese Ansprüche werden anschließend manuell von Mitgliedern des Pointercrate-Teams überprüft. Die Überprüfung kann im Discord-Server beantragt werden. + .info-c = Du kannst keinen Anspruch auf einen Spieler erheben, welcher bereits einen verifizierten Anspruch von einem anderen Benutzer hat. + + .info-discord = dieser Discord-Server + +claim-video-panel = Rekordvideo + .info = Durch Anklicken eines Anspruchs in "Ansprüche verwalten" wird ein ein zufällig ausgewähltes Video eines angenommenen Rekords des Spielers angezeigt. \ No newline at end of file diff --git a/pointercrate-user-pages/static/ftl/de-de/user.ftl b/pointercrate-user-pages/static/ftl/de-de/user.ftl index 80b92fdf..9bc9987f 100644 --- a/pointercrate-user-pages/static/ftl/de-de/user.ftl +++ b/pointercrate-user-pages/static/ftl/de-de/user.ftl @@ -102,7 +102,7 @@ profile-youtube = YouTube Kanal .newlink-validator-typemismatch = Bitte gebe eine gültige URL ein profile-permissions = Berechtigungen - .info = Die Berechtigungen, welche du auf Pointercrate hast. 'Listen...' bedeutet, dass du Teil des Demonlist Teams bist. 'Moderator' und 'Administrator' bedeutet, dass du Teil des Pointercrate Mitarbeiterteam bist. + .info = Die Berechtigungen, welche du auf Pointercrate hast. 'Listen...' bedeutet, dass du Teil des Demonlist Teams bist. 'Moderator' und 'Administrator' bedeutet, dass du Mitglied vom Pointercrate-Team bist. profile-delete-account = Konto löschen .dialog-header = Konto löschen From 7deb1d30c78bafc049b833fc6085d8550a49db75 Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 18:50:21 +0200 Subject: [PATCH 17/19] demonlist pages - submitter.ftl german translation --- .../static/ftl/de-de/player.ftl | 2 +- .../static/ftl/de-de/submitter.ftl | 88 +++++++++++++++++++ .../static/ftl/de-de/user.ftl | 10 +-- 3 files changed, 94 insertions(+), 6 deletions(-) create mode 100644 pointercrate-demonlist-pages/static/ftl/de-de/submitter.ftl diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/player.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/player.ftl index d0db7977..ae11e288 100644 --- a/pointercrate-demonlist-pages/static/ftl/de-de/player.ftl +++ b/pointercrate-demonlist-pages/static/ftl/de-de/player.ftl @@ -24,7 +24,7 @@ player-idsearch-panel = Spieler nach ID suchen .info = Spieler können durch ihre ID eindeutig identifiziert werden. Durch die Eingabe der Spieler ID wird dieser links ausgewählt (sofern er existiert) .id-field = Spieler ID: - .submit = Suche nach ID + .submit = Finde nach ID .id-validator-valuemissing = Spieler ID benötigt diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/submitter.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/submitter.ftl new file mode 100644 index 00000000..05b9ce7c --- /dev/null +++ b/pointercrate-demonlist-pages/static/ftl/de-de/submitter.ftl @@ -0,0 +1,88 @@ +submitter-banned = Gebannt + .yes = Ja + .no = Nein + +## Record submitter +record-submission-panel = Rekorde einreichen + .info = Bitte reiche keinen Blödsinn ein, das macht es für uns alle nur schwieriger und führt potenziell zu einem Ausschluss von der Demonlist. Beachte ebenfalls, dass das Formula mehrfach gestellte Rekorde automatisch ablehnt. + .button = Rekord einreichen! + +# .note will prefix all notes in the record submission panel +# (not to be confused with record notes) +# +# { $guidelines-link } will be replaced by .guidelines-link, +# which is turned into a clickable link to the submission guidelines +record-submission = Rekord einreichen + .note = Beachte + + .demon = Demon + .demon-info = Der Demon, auf dem der Rekord erreicht wurde. Nur Demons in der Top {$list-size} werden angenommen. Dies schließt Legacy Demons aus! + + .demon-validator-valuemissing = Bitte gebe einen Demon an + + .holder = Rekordhalter + .holder-info = Der Rekordhalter. Beginn mit der Eingabe, um Vorschläge für bestehende Spieler zu sehen. Sollte dies deine erste Einreichung sein, trage deinen Namen so in das Textfeld ein, wie er auf der Webseite erscheinen soll (und ignoriere dabei alle Vorschläge) + + .holder-input-placeholder = Fange an zu schreiben... + + .holder-validator-valuemissing = Aufgrund von Geometry Dash's technischen Einschränkungen, weiß ich, dass keiner einen so langen Namen hat + + .progress = Fortschritt + .progress-info = Fortschritt als Prozentanzahl. Nur Werte größer oder gleich der Mindestanforderungen und kleiner oder gleich 100 werden akzeptiert! + .progress-placeholder = z.B. '50', '98' + + .progress-validator-valuemissing = Bitte gebe den Rekordfortschritt an + .progress-validator-rangeunderflow = Rekordfortschritt kann nicht negativ sein + .progress-validator-rangeoverflow = Rekordfortscchritt kann nicht größer als 100% sein + .progress-validator-badinput = Rekordfortschritt muss eine ganze Zahl sein + .progress-validator-stepmismatch = Rekordfortschritt darf keine Kommazahl sein + + .video = Video + .video-info = Ein Beweisvideo, dass die Legitimität des Rekords bestätigt. Wurde der Rekord in einem Stream erzielt, aber nirgendwo anders hochgeladen, gebe bitte einen Twitch-Link zu diesem Stream an + .video-note = Achte bitte darauf, nur gültige URL's einzureichen! + .video-placeholder = z.B. https://youtu.be/cHEGAqOgddA + + .video-validator-valuemissing = Bitte gebe ein Video an + .video-validator-typemismatch = Bitte gebe eine valide Video URL an + + .raw-footage = Rohaufnahmen + .raw-footage-info-a = Das unbearbeitet und ungeschittene Video für diesen Rekord, auf ein nicht-komprimierenden Host wie Google Drive hochgeladen (also nicht YouTube!). Hinweis: Spielern kann eine einmalige Ausnahme gewährt werden, sodass ein Stream-VOD als Rohaufnahme gilt. + .raw-footage-info-b = Alle in den Rohaufnahmen möglicherweise enthaltenen personenbezogenen Daten (z.B. Namen, vertrauliche Gespräche) werden streng vertraulich behandelt und nicht außerhalb des Demonlist-Teams geteilt. Du erkennst an, dass durch die Bereitstellung von der Rohaufnahme unbeabsichtigt solche Informationen weitergegeben werden könnten. Du hast das Recht, die Löschung deines Rekordes zu beantragen, indem du dich an einen Listenadministrator wendest. + .raw-footage-note = Dies ist für jede Einreichung in die Liste erforderlich! + + .raw-footage-validator-typemismatch = Bitte gebe eine valide URL an + + .notes = Notizen oder Kommentarde + .notes-info = Füge jegliche zusätzliche Anmerkungen hinzu, die du dem Listenmoderator mitteilen möchstest. + .notes-placeholder = Deine Hoffnungen und Träume für diese Einreichung... oder so + + .guidelines = Mit der Einreichung dieses Rekordes, nimmst du die { $guidelines-link } wahr. + .guidelines-link = Einreichungsrichtlinien + + .submit = Rekord einreichen + + .submission-success = Rekord wurde erfolgreich eingereicht. + .submission-success-queue = Rekord wurde erfolgreich eingereicht. Es ist Platz { $queue-position } in der Warteschlange! + +## Submitters tab +submitters = Einreichen + +submitter-manager = Einreicherverwaltung + +submitter-viewer = Einreicher # + .welcome = Klicke links auf einen Einreicher um anzufangen! + + .info-a = Willkommen zum Einreicherverwalter. Hier kannst du Einreicher bannen / entbannen mit einer absolut revolutionären Benutzeroberfläche, welche definitiv KEINE Kopie der Spielerverwaltung (aber noch leerer) ist. + .info-b = Einen Einreicher bannen, löscht alle seine Rekorde, welche er bereits eingereicht hat und sich im Status "Eingereicht" befinden. Jegliche Rekorde im Bereich "Angenommen", "Abgelehnt" oder "Ausstehend" bleiben unberührt. + + .records-redirect = Rekord in Rekordverwaltung anzeigen + +submitter-listed = Einreicher #{ $submitter-id } + +submitter-idsearch-panel = Einricher nach ID suchen + .info = Spieler können durch ihre ID eindeutig identifiziert werden. Durch die Eingabe der Einreicher ID wird dieser links ausgewählt (sofern er existiert) + .id-field = Einreicher ID: + + .submit = Finde nach ID + + .id-validator-valuemissing = Einricher ID erforderlich \ No newline at end of file diff --git a/pointercrate-user-pages/static/ftl/de-de/user.ftl b/pointercrate-user-pages/static/ftl/de-de/user.ftl index 9bc9987f..8e9973de 100644 --- a/pointercrate-user-pages/static/ftl/de-de/user.ftl +++ b/pointercrate-user-pages/static/ftl/de-de/user.ftl @@ -31,7 +31,7 @@ auth-repeatpassword = Password wiederholen: login = Einloggen .oauth-info = Solltest du deinen Pointercrate Konto mit einem Google Konto verlinkt haben, musst du dich mit dem unteren Google oauth Knopf einloggen: - .methods-separator = sonst + .methods-separator = Stattdessen .info = Logge dich mit Benutzername und Passwort ein. Logins sind auf 3 Versuche alle 30 Minuten beschränkt. .submit = Einloggen @@ -43,13 +43,13 @@ login = Einloggen register = Registrierung .info = Erstelle ein neues Konto. Bitte achte darauf, dass der Benutzername nach der Registrierung NICHT mehr geändert werden kann! - .submit = Registriere + .submit = Registrieren .redirect = Noch kein Pointercrate Konto? { $redirect-link } für eins! - .redirect-link = Registriere + .redirect-link = Registrieren register-oauth = Wähle deinen Benutzername: - .submit = Registriere! + .submit = Registrieren! ## Users tab users = Benutzer @@ -81,7 +81,7 @@ profile = Profil .header = Profil - {$username} profile-username = Benutzername - .info = Der Name unter dem zu registriert bist und dich bei Pointercrate mit einloggst. Dieser Name ist einzigartig und kann nicht verändert werden. + .info = Der Name unter dem du registriert bist und dich bei Pointercrate mit einloggst. Dieser Name ist einzigartig und kann nicht verändert werden. profile-display-name = Anzeigename .info = Falls gesetzt, wird dieser Name anstatt dein Benutzername gezeigt. Anzeigenamen sind nicht einzigartig und können nicht zum einloggen verwendet werden. From 614e0896d5d13a1494a1653ae06705a99ebc96ed Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 19:23:06 +0200 Subject: [PATCH 18/19] demonlist pages - record.ftl german translation --- .../static/ftl/de-de/ui.ftl | 2 +- .../static/ftl/de-de/record.ftl | 130 ++++++++++++++++++ .../static/ftl/de-de/submitter.ftl | 2 +- 3 files changed, 132 insertions(+), 2 deletions(-) create mode 100644 pointercrate-demonlist-pages/static/ftl/de-de/record.ftl diff --git a/pointercrate-core-pages/static/ftl/de-de/ui.ftl b/pointercrate-core-pages/static/ftl/de-de/ui.ftl index e47443f7..897a99fb 100644 --- a/pointercrate-core-pages/static/ftl/de-de/ui.ftl +++ b/pointercrate-core-pages/static/ftl/de-de/ui.ftl @@ -3,7 +3,7 @@ edit-notmodified = Keine Bearbeitung vorgenommen. dropdown-placeholder = Klicke, um auszuwählen -filtered-paginator-placeholder = Enter, zum suchen... +filtered-paginator-placeholder = Suche... paginator-previous = Vorherige paginator-next = Nächste \ No newline at end of file diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/record.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/record.ftl new file mode 100644 index 00000000..91995675 --- /dev/null +++ b/pointercrate-demonlist-pages/static/ftl/de-de/record.ftl @@ -0,0 +1,130 @@ +## Commonly referenced record data +record-submitted = Eingereicht +record-underconsideration = Ausstehend +record-approved = Angenommen +record-rejected = Abgelehnt + +record-videolink = Video Link +record-videoproof = Videobeweis +record-rawfootage = Rohaufnahme +record-demon = Demon +record-holder = Rekordhalter +record-progress = Fortschritt +record-submitter = Einreicher ID +record-date = Einreichungsdatum + +## Records tab (user area) +records = Rekorde +record-manager = Rekordverwalter + .all-option = Alle Demons + +record-listed = Rekord #{ $record-id } + .progress = { $percent }% auf { $demon } + +record-viewer = Rekord # + .welcome = Klicke auf einen Rekord links um anzufangen! + .delete = Rekord löschen + + .copy-data-success = Rekorddaten in Zwischenablage kopiert! + .copy-data-error = Fehler beim Kopieren in Zwischenablage + + .confirm-delete = Bist du sicher? Der Rekord und seine Notizen werden unwiderruflich gelöscht! + +record-note = Notiz hinzufügen + .placeholder = Füge eine Notiz hier hinzu. Drücke auf 'Hinzufügen' wenn fertig! + .public-checkbox = Öffentliche Notiz + + .submit = Hinzufügen + +record-note-listed = Rekordnotiz #{ $note-id } + .confirm-delete = Diese Aktion löscht die Notiz unwiderruflich. Fortfahren? + + .author = Diese Notiz wurde von { $author } verfasst. + .author-submitter = Diese Notiz wurde als Kommentar vom Einreicher verfasst. + .editors = Die Notiz wurde daraufhin von folgenden Person bearbeitet: { $editors }. + .transferred = Diese Notiz wurde ursprünglich nicht auf diesem Rekord hinterlasssen. + .public = Diese Notiz ist public. + +record-status-filter-panel = Filter + .info = Filter nach Rekordstatus + +record-status-filter-all = Alle + +record-idsearch-panel = Rekord nach ID suchen + .info = Rekorde können durch ihre ID eindeutig identifiziert werden. Durch die Eingabe der Rekord ID wird dieser links ausgewählt (sofern er existiert) + .id-field = Rekord ID: + + .submit = Finde nach ID + + .id-validator-valuemissing = Rekord ID erforderlich + +record-playersearch-panel = Nach Spieler filtern + .info = Spieler können durch ihre ID und ihren Namen eindeutig identifiziert werden. Durch Eingabe eines dieser Felder an der entsprechenden Stelle wird die Ansicht links gefiltert. "Finde ..." setzt die Ansicht zurück, sofern das Textfeld leer ist. + + .id-field = Spieler ID: + .id-submit = Finde nach ID + + .name-field = Spielername: + .name-submit = Finde nach Name + +# Record viewer dialogs +record-videolink-dialog = Video Link ändern + .info = Ändere den Video Link für diesen Rekord. Beachte, dass du als Listenmoderator, das Textfeld leer lassen kannst, um das Video von diesem Rekord zu entfernen. + .videolink-field = Video Link: + + .submit = Ändern + + .videolink-validator-typemismatch = Gebe eine gültige URL ein + +record-demon-dialog = Rekorddemon ändern + .info = Ändere den assoziierten Demon von diesem Rekord. Suche den Demon unten, dem dieser Rekord zugeordnet werden sollte. Klicke es, um den Rekord zu bearbeiten + +record-holder-dialog = Rekordhalter ändern + .info = Gebe den neuen Rekordhalter unten ein. Sollte der Spieler bereits existieren, wird er unten vorgeschlagen. + .submit = Ändern + +record-progress-dialog = Rekordfortschritt ändern + .info = Ändere den Rekordfortschritt von diesem Rekord. Dieser muss zwischen der Mindestanforderung des Demons, und 100 (inklusive) liegen. + .progress-field = Fortschritt: + + .submit = Ändern + + .progress-validator-rangeunderflow = Fortschritt darf nicht negativ sein + .progress-validator-rangeoverflow = Fortschritt darf nicht größer als 100% sein + .progress-validator-badinput = Fortschritt muss eine gültige Zahl sein + .progress-validator-stepmismatch = Fortschritt darf keine Kommazahl sein + .progress-validator-valuemissing = Bitte gebe einen Fortschritt an + +record-date-dialog = Einreichungsdatum ändern + .info = Ändere das Einreichungsdatum des Rekords. Dieser kann so angepasst werden, um Rekorde auf den Demonseiten anders anzuordnen. + .date-field = Datum: + + .submit = Ändern + +# The giant information box below the record manager, split +# into different sections here +# +# Each section (except .a and .b) will begin with a bolded version of +# the appropriate record state, or a bolded version of .note for .note-a/b +# attributes +# +record-manager-help = Rekorde verwalten + .a = Verwende die Liste links, um Rekorde anzusehen / zu bearbeiten. Verwende den Bereich rechts, um nach Status, Spieler, etc. zu filtern. Durch "{ record-status-filter-all }" kann nach Demon gefiltert werden. + + .b = Ein Rekord kann sich in vier möglichen Zuständen befinden: { record-rejected }, { record-approved }, { record-submitted } und { record-underconsideration }. Der Einfachheit halber gehen wir davon aus, dass Kevin ein Spieler ist und Cataclysm ein Demon ist, auf dem er ein Rekord hat. + + .rejected = Sollte der Rekord { record-rejected } sein, heißt das, dass Kevin keinen anderen Rekord auf Cataclysm hat und Kevin keine weiteren Rekorde auf Cataclysm einreichen kann. Umgekehrt bedeutet das, dass falls Kevin einen Rekord auf Cataclysm hat, welcher nicht abgelehnt wurde, wir direkt wissen, dass kein abgelehnter Rekord für Kevin auf Cataclysm existiert. + Sollte ein Rekord von Kevin auf Cataclysm abgelehnt werden, werden alle anderen Rekorde von Kevin auf Cataclysm gelöscht, um die oben genannte Eindeutigkeit zu gewährleisten. + + .approved = Sollte der Rekord { record-approved } sein, bedeutet das, dass keine Rekorde mit weniger Fortschritt als der { record-approved }e Rekord existieren oder erlaubt sind. + Einen Rekord auf den Status { record-approved } zu ändern, löscht alle anderen Einreichungen für Kevin auf Cataclysm mit weniger Fortschritt. + + .submitted = Ist der Rekord { record-submitted }, bestehen keine weiteren Einschränkungen hinsichtlich der Eindeutigkeit. Dies bedeutet, dass mehrere Einreichungen von Kevin auf Cataclysm möglich sind, solange diese alle verschiedene Video Links besitzen. Aus den oben genannten Gründen, werden jedoch alle Duplikate gelöscht, sobald einer der Einreichungen angenommen oder abgelehnt wurde. + + .underconsideration = Sollte der Rekord noch { record-underconsideration } sein, ist er im Prinzip immer noch eine Einreichung. Jedoch sind keine weiteren Einreichungen von Kevin auf Cataclysm erlaubt. + + .note = Beachte + + .note-a = Sollte ein Spieler gebannt sein, darf er keine { record-approved }en / { record-submitted }e Rekorde haben. Alle Rekorde mit dem Status { record-submitted } werden gelöscht, und alle anderen werden auf { record-rejected } verändert. + + .note-b = Ein Einreicher zu bannen, löscht alle seine Einreichungen mit dem Status { record-submitted }. Rekorde, welche von ihm mit dem Status { record-approved }/{ record-rejected } eingereicht wurden, bleiben unberührt. \ No newline at end of file diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/submitter.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/submitter.ftl index 05b9ce7c..2456c570 100644 --- a/pointercrate-demonlist-pages/static/ftl/de-de/submitter.ftl +++ b/pointercrate-demonlist-pages/static/ftl/de-de/submitter.ftl @@ -80,7 +80,7 @@ submitter-viewer = Einreicher # submitter-listed = Einreicher #{ $submitter-id } submitter-idsearch-panel = Einricher nach ID suchen - .info = Spieler können durch ihre ID eindeutig identifiziert werden. Durch die Eingabe der Einreicher ID wird dieser links ausgewählt (sofern er existiert) + .info = Einreicher können durch ihre ID eindeutig identifiziert werden. Durch die Eingabe der Einreicher ID wird dieser links ausgewählt (sofern er existiert) .id-field = Einreicher ID: .submit = Finde nach ID From d3752a961ccf3e1cb3300e5c59a2183ade8fecef Mon Sep 17 00:00:00 2001 From: mjzpeanut Date: Sat, 24 Oct 2026 19:37:36 +0200 Subject: [PATCH 19/19] grammar and typo fixes --- .../static/ftl/de-de/error.ftl | 12 +++++------ .../static/ftl/de-de/demon.ftl | 2 +- .../static/ftl/de-de/error.ftl | 6 +++--- .../static/ftl/de-de/player.ftl | 6 +++--- .../static/ftl/de-de/record.ftl | 14 ++++++------- .../static/ftl/de-de/statsviewer.ftl | 12 +++++------ .../static/ftl/de-de/submitter.ftl | 20 +++++++++---------- 7 files changed, 36 insertions(+), 36 deletions(-) diff --git a/pointercrate-core-pages/static/ftl/de-de/error.ftl b/pointercrate-core-pages/static/ftl/de-de/error.ftl index ccae7b94..89586a8f 100644 --- a/pointercrate-core-pages/static/ftl/de-de/error.ftl +++ b/pointercrate-core-pages/static/ftl/de-de/error.ftl @@ -4,26 +4,26 @@ error-contact = Glaubst du, dass dir dieser Fehler irrtümlich angezeigt wurde? error-core-badrequest = Der Browser (oder Proxy) hat eine Anfrage gesendet, welcher der Server nicht verstehen konnte. error-core-invalidheadervalue = Der Header-Wert '{ $header }' konnte nicht verarbeitet werden. error-core-unauthorized = Der Server konnte nicht feststellen, dass du Zugriff auf die angeforderte URL hast. Du hast entweder falsche Login-Daten eingegeben (z.B. ein falsches Passwort) oder dein Browser kann die Daten nicht verarbeiten. -error-core-forbidden = Du hast keinen Zugriff auf die Ressource. Sie ist entweder Lesegeschützt oder vom Server nicht lesbar. +error-core-forbidden = Du hast keinen Zugriff auf die Ressource. Sie ist entweder lesegeschützt oder vom Server nicht lesbar. error-core-missingpermissions = Du hast keine ausreichenden Pointercrate Berechtigungen um diese Anfrage auszuführen. Benötigt ist: { $required-permission }, welche nicht in deinen vorhandenen Rechten existiert. error-core-notfound = Die angeforderte URL konnte nicht gefunden werden. Falls du die URL manuell eingegeben hast, prüfe die Rechtschreibung und probiere es erneut. error-core-methodnotallowed = Diese Methode ist für die angeforderte URL nicht erlaubt. error-core-conflict = Bei der Bearbeitung der Anfrage ist ein Fehler aufgetreten. Die Ressource wurde wohlmöglich während deiner Anfrage modifiziert. error-core-lengthrequired = Eine Anfrage mit dieser Methode benötigt einen gültigen 'Content-Length' header. error-core-preconditionfailed = Die Vorbedingung der URL-Anfrage hat keinen positiven Wert geliefert. -error-core-payloadtoolarge = Der übertragene Datenmenge überschreitet die maximal zulässige Kapazität. +error-core-payloadtoolarge = Die übertragene Datenmenge überschreitet die maximal zulässige Kapazität. error-core-unsupportedmediatype = Der Server unterstützt den übertragenen Medientyp in der Anfrage nicht / Kein Medientyp wurde spezifiziert. Erwartet wurde '{ $expected-type }'. error-core-unprocessableentity = Die Anfrage ist aufgrund von semantischen Fehlern gescheitert. error-core-invalidpaginationlimit = Ungültiger Wert für 'limit'. Der Wert muss zwischen 1 und 100 liegen. error-core-invalidurlscheme = Ungültiges URL Schema. Nur 'http' und 'https' sind erlaubt. error-core-urlauthenticated = Die angegebene URL enthält Authentifizierungsinformationen. Aus Sicherheitsgründen wurde sie abgelehnt. -error-core-invalidurlformat = Die angegebene URL enthält kein Video. Das URL Format für den gegebenen Host muss '{ $expected-format }' entsprechen. +error-core-invalidurlformat = Die angegebene URL enthält kein Video. Das URL-Format für den gegebenen Host muss '{ $expected-format }' entsprechen. error-core-aftersmallerbefore = Der 'after'-Wert für die Seitennummerierung ist kleiner als der 'before'-Wert. Dies würde in einer leeren Antwort resultieren und ist höchstwahrscheinlich ein Fehler. error-core-mutuallyexclusive = Deine Anfrage enthält Felder, welche nicht zusammen verwendet werden können. Bitte verwende nur eins. -error-core-preconditionrequired = Diese Anfrage muss bedingt sein; versuche "If-Match" zu benutzen. +error-core-preconditionrequired = Diese Anfrage muss bedingt sein. Versuche "If-Match" zu benutzen. error-core-ratelimited = { $message }. Versuche erneut in { $remaining-duration }. error-core-internalservererror = Der Server ist einem internen Fehler unterlaufen und die Anfrage konnte nicht bearbeitet werden. Der Server ist entweder überlastet oder es existiert ein Fehler in der Anwendung. Bitte melde dies einem Serveradministrator! error-core-databaseerror = Eine ungültige Datenbankabfrage ist intern aufgetreten. Bitte melde dies einem Serveradministrator! -error-core-querytimeout = Bei einer internen Datenbankabfrage ist ein Timeout aufgetreten. Dies kann aufgrund hoher Serverlast, oder einem logischen Fehler der zu einem Deadlock führt, liegen. Sollte der Fehler nach erneuten Versuchen weiter bestehen, melde dies einem Serveradministrator! +error-core-querytimeout = Bei einer internen Datenbankabfrage ist ein Timeout aufgetreten. Dies kann aufgrund hoher Serverlast, oder einem logischen Fehler, der zu einem Deadlock führt, liegen. Sollte der Fehler nach erneuten Versuchen weiter bestehen, melde dies einem Serveradministrator! error-core-databaseconnectionerror = Verbindung zur Datenbank konnte nicht hergestellt werden. Der Server könnte überlastet sein. -error-core-readonlymaintenance = Die Webseite ist zurzeit Lesegeschützt aufgrund von Wartungsarbeiten. +error-core-readonlymaintenance = Die Webseite ist zurzeit lesegeschützt aufgrund von Wartungsarbeiten. diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl index e81569d8..9bf39906 100644 --- a/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl +++ b/pointercrate-demonlist-pages/static/ftl/de-de/demon.ftl @@ -150,7 +150,7 @@ demon-add-form = Demon hinzufügen demon-video-dialog = Verifikationsvideo ändern .info = Ändere das Verifikationsvideo für diesen Rekord. Lasse das Feld leer um es zu entfernen. - .video-field = Video link: + .video-field = Videolink: .submit = Bearbeiten demon-name-dialog = Demon Namen ändern diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl index 4d2b6c3c..45b166b2 100644 --- a/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl +++ b/pointercrate-demonlist-pages/static/ftl/de-de/error.ftl @@ -8,7 +8,7 @@ error-demonlist-submitternotfound = Ersteller mit ID { $id } nicht gefunden error-demonlist-notenotfound = Keine Notiz mit ID { $note-id } auf Rekord ID { $record-id } gefunden error-demonlist-creatornotfound = Spieler ID { $player-id } ist kein Ersteller der Demon ID { demon-id } error-demonlist-nationalitynotfound = Keine Nationalität mit ISO Code { $iso-code } gefunden -error-demonlist-subdivisionnotfound = Keine Unterteilung mit Code { $subdivision-code } im Land { $nation-code } gefunden +error-demonlist-subdivisionnotfound = Keine Gliederung mit Code { $subdivision-code } im Land { $nation-code } gefunden error-demonlist-playernotfound = Spieler ID { $player-id } konnte nicht gefunden werden error-demonlist-playernotfoundname = Spieler Name { $player-name } konnte nicht gefunden werden error-demonlist-demonnotfound = Demon ID { $demon-id } konnte nicht gefunden werden @@ -19,7 +19,7 @@ error-demonlist-recordnotfound = Rekord ID { $record-id } konnte nicht gefunden error-demonlist-claimnotfound = Anspruch von { $member-id } auf Spieler ID { $player-id } konnte nicht gefunden werden error-demonlist-creatorexists = Dieser Spieler ist bereits ein Ersteller von diesem Demon error-demonlist-duplicatevideo = Dieses Video wird bereits von Rekord ID #{ $record-id } verwendet -error-demonlist-nonationset = Unterteilung ohne ausgewähltes Land festzulegen ist fehlgeschlagen +error-demonlist-nonationset = Gliederung ohne ausgewähltes Land festzulegen ist fehlgeschlagen error-demonlist-conflictingclaims = Spieler '{ $player-1 }' und '{ $player-2 }' haben verifizierte Ansprüche von verschiedenen Pointercrate Benutzern error-demonlist-invalidrequirement = Mindestanforderung muss größer als -1 und kleiner als 101 sein error-demonlist-invalidposition = Demon Position darf nicht kleiner als 1 und nicht größer als { $maximal } sein @@ -28,7 +28,7 @@ error-demonlist-submissionexists = Dieser Rekord ist bereits { $record-status } error-demonlist-playerbanned = Der angegebene Spieler ist von der Demonlist gebannt und darf keine Rekorde auf der Liste haben! error-demonlist-submitlegacy = Legacy Demons erlauben keine neuen Rekorde error-demonlist-non100extended = Nur Rekorde mit 100% dürfen als Rekord an die Erweiterte Liste eingereicht werden. -error-demonlist-unsupportedvideohost = Der angegebene Videohost ist nicht unterstützt. Unterstützt sind: 'youtube', 'vimeo', 'everyplay', 'twitch' und 'bilibili' +error-demonlist-unsupportedvideohost = Der angegebene Videohost ist nicht unterstützt. Unterstützt sind: 'youtube', 'vimeo', 'twitch' und 'bilibili' error-demonlist-demonnamenotunique = Es existieren mehrere Demons mit demselben Namen error-demonlist-noteempty = Notizen dürfen nicht leer sein! error-demonlist-alreadyclaimed = Dieser Spieler hat bereits einen verifizierten Anspruch diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/player.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/player.ftl index ae11e288..80d10d22 100644 --- a/pointercrate-demonlist-pages/static/ftl/de-de/player.ftl +++ b/pointercrate-demonlist-pages/static/ftl/de-de/player.ftl @@ -6,7 +6,7 @@ player-nationality = Nationalität .info = Beachte, dass dies ausschließlich als "Land mit rechtsmäßigem Wohnsitz" gilt, ohne Ausnahmen! .none = Keine -player-subdivision = Politische Unterteilung +player-subdivision = Politische Gliederung .none = Keine ## Players tab @@ -82,11 +82,11 @@ claim-initiate-panel = Anspruch einreichen # clickable link to Pointercrate Central by default (this can be modified # in pointercrate-example/src/main.rs) claim-info-panel = Anspruch einreichen 101 - .info-a = Spielerbeanspruchung ist der Prozess, einen Demonlistspieler mit einem Pointercrate Benutzerkonto zu verbinden. + .info-a = Spielerbeanspruchung ist der Prozess, einen Demonlist Spieler mit einem Pointercrate Benutzerkonto zu verbinden. .info-b = Um einen Anspruch einzureichen, klicke auf den Stift links neben "Spieleranspruch". Sobald ausgewählt, besteht ein unverifizierter Anspruch auf einen Spieler. Diese Ansprüche werden anschließend manuell von Mitgliedern des Pointercrate-Teams überprüft. Die Überprüfung kann im Discord-Server beantragt werden. .info-c = Du kannst keinen Anspruch auf einen Spieler erheben, welcher bereits einen verifizierten Anspruch von einem anderen Benutzer hat. .info-discord = dieser Discord-Server claim-video-panel = Rekordvideo - .info = Durch Anklicken eines Anspruchs in "Ansprüche verwalten" wird ein ein zufällig ausgewähltes Video eines angenommenen Rekords des Spielers angezeigt. \ No newline at end of file + .info = Durch Anklicken eines Anspruchs in "Ansprüche verwalten" wird ein zufällig ausgewähltes Video eines angenommenen Rekords des Spielers angezeigt. \ No newline at end of file diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/record.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/record.ftl index 91995675..d5e42b2f 100644 --- a/pointercrate-demonlist-pages/static/ftl/de-de/record.ftl +++ b/pointercrate-demonlist-pages/static/ftl/de-de/record.ftl @@ -4,7 +4,7 @@ record-underconsideration = Ausstehend record-approved = Angenommen record-rejected = Abgelehnt -record-videolink = Video Link +record-videolink = Videolink record-videoproof = Videobeweis record-rawfootage = Rohaufnahme record-demon = Demon @@ -41,8 +41,8 @@ record-note-listed = Rekordnotiz #{ $note-id } .author = Diese Notiz wurde von { $author } verfasst. .author-submitter = Diese Notiz wurde als Kommentar vom Einreicher verfasst. - .editors = Die Notiz wurde daraufhin von folgenden Person bearbeitet: { $editors }. - .transferred = Diese Notiz wurde ursprünglich nicht auf diesem Rekord hinterlasssen. + .editors = Die Notiz wurde daraufhin von folgenden Personen bearbeitet: { $editors }. + .transferred = Diese Notiz wurde ursprünglich nicht auf diesem Rekord hinterlassen. .public = Diese Notiz ist public. record-status-filter-panel = Filter @@ -68,9 +68,9 @@ record-playersearch-panel = Nach Spieler filtern .name-submit = Finde nach Name # Record viewer dialogs -record-videolink-dialog = Video Link ändern - .info = Ändere den Video Link für diesen Rekord. Beachte, dass du als Listenmoderator, das Textfeld leer lassen kannst, um das Video von diesem Rekord zu entfernen. - .videolink-field = Video Link: +record-videolink-dialog = Videolink ändern + .info = Ändere den Videolink für diesen Rekord. Beachte, dass du als Listenmoderator, das Textfeld leer lassen kannst, um das Video von diesem Rekord zu entfernen. + .videolink-field = Videolink: .submit = Ändern @@ -119,7 +119,7 @@ record-manager-help = Rekorde verwalten .approved = Sollte der Rekord { record-approved } sein, bedeutet das, dass keine Rekorde mit weniger Fortschritt als der { record-approved }e Rekord existieren oder erlaubt sind. Einen Rekord auf den Status { record-approved } zu ändern, löscht alle anderen Einreichungen für Kevin auf Cataclysm mit weniger Fortschritt. - .submitted = Ist der Rekord { record-submitted }, bestehen keine weiteren Einschränkungen hinsichtlich der Eindeutigkeit. Dies bedeutet, dass mehrere Einreichungen von Kevin auf Cataclysm möglich sind, solange diese alle verschiedene Video Links besitzen. Aus den oben genannten Gründen, werden jedoch alle Duplikate gelöscht, sobald einer der Einreichungen angenommen oder abgelehnt wurde. + .submitted = Ist der Rekord { record-submitted }, bestehen keine weiteren Einschränkungen hinsichtlich der Eindeutigkeit. Dies bedeutet, dass mehrere Einreichungen von Kevin auf Cataclysm möglich sind, solange diese alle verschiedene Videolinks besitzen. Aus den oben genannten Gründen, werden jedoch alle Duplikate gelöscht, sobald einer der Einreichungen angenommen oder abgelehnt wurde. .underconsideration = Sollte der Rekord noch { record-underconsideration } sein, ist er im Prinzip immer noch eine Einreichung. Jedoch sind keine weiteren Einreichungen von Kevin auf Cataclysm erlaubt. diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/statsviewer.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/statsviewer.ftl index 3ff6707d..b01a53ba 100644 --- a/pointercrate-demonlist-pages/static/ftl/de-de/statsviewer.ftl +++ b/pointercrate-demonlist-pages/static/ftl/de-de/statsviewer.ftl @@ -10,7 +10,7 @@ statsviewer = Stats anschauen .completed-legacy = Legacy Liste Demons geschafft .created = Demons erstellt - .published = Demons veröffentlich + .published = Demons veröffentlicht .verified = Demons verifiziert .progress = Fortschritt auf @@ -28,7 +28,7 @@ statsviewer-nation = National .players = Spieler .unbeaten = Nicht geschaffte Demons - .created-tooltip = (Co-)erstellt von { $players } { $players -> + .created-tooltip = (Co-)Erstellt von { $players } { $players -> [one] player *[other] players } in diesem Land: @@ -62,14 +62,14 @@ continent-panel = Kontinent .option-southamerica = Südamerika .option-centralamerica = Mittelamerika -toggle-subdivision-panel = Zeige Unterteilungen - .info = Ob die Karte politische Unterteilungen darstellen soll. +toggle-subdivision-panel = Zeige Gliederung + .info = Ob die Karte politische Gliederung darstellen soll. - .option-toggle = Zeige Unterteilungen + .option-toggle = Zeige Gliederung # { $countries } will be replaced with .info-countries, which will be # turned into a tooltip listing all of the selectable countries -subdivision-panel = Politische Unterteilung +subdivision-panel = Politische Gliederung .info = Für die { $countries } kannst du einen Staat / Provinz / Land auswählen, um die Stats darauf zu fokussieren. .info-countries = folgenden Länder diff --git a/pointercrate-demonlist-pages/static/ftl/de-de/submitter.ftl b/pointercrate-demonlist-pages/static/ftl/de-de/submitter.ftl index 2456c570..6aee8f07 100644 --- a/pointercrate-demonlist-pages/static/ftl/de-de/submitter.ftl +++ b/pointercrate-demonlist-pages/static/ftl/de-de/submitter.ftl @@ -4,7 +4,7 @@ submitter-banned = Gebannt ## Record submitter record-submission-panel = Rekorde einreichen - .info = Bitte reiche keinen Blödsinn ein, das macht es für uns alle nur schwieriger und führt potenziell zu einem Ausschluss von der Demonlist. Beachte ebenfalls, dass das Formula mehrfach gestellte Rekorde automatisch ablehnt. + .info = Bitte reiche keinen Blödsinn ein, das macht es für uns alle nur schwieriger und führt potenziell zu einem Bann von der Demonlist. Beachte ebenfalls, dass das Formular mehrfach gestellte Rekorde automatisch ablehnt. .button = Rekord einreichen! # .note will prefix all notes in the record submission panel @@ -23,38 +23,38 @@ record-submission = Rekord einreichen .holder = Rekordhalter .holder-info = Der Rekordhalter. Beginn mit der Eingabe, um Vorschläge für bestehende Spieler zu sehen. Sollte dies deine erste Einreichung sein, trage deinen Namen so in das Textfeld ein, wie er auf der Webseite erscheinen soll (und ignoriere dabei alle Vorschläge) - .holder-input-placeholder = Fange an zu schreiben... + .holder-input-placeholder = Fange an, zu schreiben... .holder-validator-valuemissing = Aufgrund von Geometry Dash's technischen Einschränkungen, weiß ich, dass keiner einen so langen Namen hat .progress = Fortschritt - .progress-info = Fortschritt als Prozentanzahl. Nur Werte größer oder gleich der Mindestanforderungen und kleiner oder gleich 100 werden akzeptiert! + .progress-info = Fortschritt als Prozentzahl. Nur Werte größer oder gleich der Mindestanforderungen und kleiner oder gleich 100 werden akzeptiert! .progress-placeholder = z.B. '50', '98' .progress-validator-valuemissing = Bitte gebe den Rekordfortschritt an .progress-validator-rangeunderflow = Rekordfortschritt kann nicht negativ sein - .progress-validator-rangeoverflow = Rekordfortscchritt kann nicht größer als 100% sein + .progress-validator-rangeoverflow = Rekordfortschritt kann nicht größer als 100% sein .progress-validator-badinput = Rekordfortschritt muss eine ganze Zahl sein .progress-validator-stepmismatch = Rekordfortschritt darf keine Kommazahl sein .video = Video .video-info = Ein Beweisvideo, dass die Legitimität des Rekords bestätigt. Wurde der Rekord in einem Stream erzielt, aber nirgendwo anders hochgeladen, gebe bitte einen Twitch-Link zu diesem Stream an - .video-note = Achte bitte darauf, nur gültige URL's einzureichen! + .video-note = Achte bitte darauf, nur gültige URLs einzureichen! .video-placeholder = z.B. https://youtu.be/cHEGAqOgddA .video-validator-valuemissing = Bitte gebe ein Video an .video-validator-typemismatch = Bitte gebe eine valide Video URL an .raw-footage = Rohaufnahmen - .raw-footage-info-a = Das unbearbeitet und ungeschittene Video für diesen Rekord, auf ein nicht-komprimierenden Host wie Google Drive hochgeladen (also nicht YouTube!). Hinweis: Spielern kann eine einmalige Ausnahme gewährt werden, sodass ein Stream-VOD als Rohaufnahme gilt. + .raw-footage-info-a = Das unbearbeitet und ungeschnittene Video für diesen Rekord, auf ein nicht-komprimierenden Host wie Google Drive hochgeladen (also nicht YouTube!). Hinweis: Spielern kann eine einmalige Ausnahme gewährt werden, sodass ein Stream-VOD als Rohaufnahme gilt. .raw-footage-info-b = Alle in den Rohaufnahmen möglicherweise enthaltenen personenbezogenen Daten (z.B. Namen, vertrauliche Gespräche) werden streng vertraulich behandelt und nicht außerhalb des Demonlist-Teams geteilt. Du erkennst an, dass durch die Bereitstellung von der Rohaufnahme unbeabsichtigt solche Informationen weitergegeben werden könnten. Du hast das Recht, die Löschung deines Rekordes zu beantragen, indem du dich an einen Listenadministrator wendest. .raw-footage-note = Dies ist für jede Einreichung in die Liste erforderlich! .raw-footage-validator-typemismatch = Bitte gebe eine valide URL an .notes = Notizen oder Kommentarde - .notes-info = Füge jegliche zusätzliche Anmerkungen hinzu, die du dem Listenmoderator mitteilen möchstest. - .notes-placeholder = Deine Hoffnungen und Träume für diese Einreichung... oder so + .notes-info = Füge jegliche zusätzliche Anmerkungen hinzu, die du dem Listenmoderator mitteilen möchtest. + .notes-placeholder = deine Hoffnungen und Träume für diese Einreichung... oder so .guidelines = Mit der Einreichung dieses Rekordes, nimmst du die { $guidelines-link } wahr. .guidelines-link = Einreichungsrichtlinien @@ -79,10 +79,10 @@ submitter-viewer = Einreicher # submitter-listed = Einreicher #{ $submitter-id } -submitter-idsearch-panel = Einricher nach ID suchen +submitter-idsearch-panel = Einreicher nach ID suchen .info = Einreicher können durch ihre ID eindeutig identifiziert werden. Durch die Eingabe der Einreicher ID wird dieser links ausgewählt (sofern er existiert) .id-field = Einreicher ID: .submit = Finde nach ID - .id-validator-valuemissing = Einricher ID erforderlich \ No newline at end of file + .id-validator-valuemissing = Einreicher ID erforderlich \ No newline at end of file